Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Seeing data
Nội dung xem thử
Mô tả chi tiết
< Day Day Up >
•
Table of
Contents
• Index
Seeing Data: Designing User Interfaces for Database Systems Using .NET
By Rebecca M. Riordan
Publisher: Addison Wesley Professional
Pub Date: July 16, 2004
ISBN: 0-321-20561-8
Pages: 544
Nowadays, users and clients demand exceptionally usable software. But
few developers are trained to create high-quality user interfaces, and few
.NET books offer much help—until now.
In Seeing Data , Microsoft MVP Rebecca M. Riordan shows how to use
.NET's advanced UI tools to build applications that reflect today's
interface design best practices. She offers visual examples, code, and
techniques for every .NET project.
Writing for experienced .NET developers, Riordan introduces core
principles of effective interface design—including focus, flow, alignment,
proximity, contrast, and consistency. She demonstrates how to architect
databases for better usability, and how to build more effective form
layouts. Next, she systematically tackles user interaction, showing how
to:
Help users navigate DataSets, manipulate data, and generate
reports
Utilize menus, toolbars, buttons, and Help systems
Enforce data integrity
Simplify installation and customization
Riordan covers essential technical underpinnings ranging from GDI+
Managed Classes to ADO.NET data binding. She presents dozens of
Visual Basic .NET examples—all designed for easy, quick reuse, and
downloadable from the book's companion Web site, along with C#
equivalents.
< Day Day Up >
< Day Day Up >
•
Table of
Contents
• Index
Seeing Data: Designing User Interfaces for Database Systems Using .NET
By Rebecca M. Riordan
Publisher: Addison Wesley Professional
Pub Date: July 16, 2004
ISBN: 0-321-20561-8
Pages: 544
Nowadays, users and clients demand exceptionally usable software. But
few developers are trained to create high-quality user interfaces, and few
.NET books offer much help—until now.
In Seeing Data , Microsoft MVP Rebecca M. Riordan shows how to use
.NET's advanced UI tools to build applications that reflect today's
interface design best practices. She offers visual examples, code, and
techniques for every .NET project.
Writing for experienced .NET developers, Riordan introduces core
principles of effective interface design—including focus, flow, alignment,
proximity, contrast, and consistency. She demonstrates how to architect
databases for better usability, and how to build more effective form
layouts. Next, she systematically tackles user interaction, showing how
to:
Help users navigate DataSets, manipulate data, and generate
reports
Utilize menus, toolbars, buttons, and Help systems
Enforce data integrity
Simplify installation and customization
Riordan covers essential technical underpinnings ranging from GDI+
Managed Classes to ADO.NET data binding. She presents dozens of
Visual Basic .NET examples—all designed for easy, quick reuse, and
downloadable from the book's companion Web site, along with C#
equivalents.
< Day Day Up >
< Day Day Up >
•
Table of
Contents
• Index
Seeing Data: Designing User Interfaces for Database Systems Using .NET
By Rebecca M. Riordan
Publisher: Addison Wesley Professional
Pub Date: July 16, 2004
ISBN: 0-321-20561-8
Pages: 544
Copyright
Praise for Seeing Data
Foreword
Preface
Who Do I Think You Are?
What's in This Book
What Isn't in This Book
Acknowledgments
Part I. The Basics
Chapter 1. Interface Design
Terminology
The Principle of Interface Design
Graphic Design
Chapter 2. .NET Graphic Objects
GDI+ Primitives
Pens and Brushes
Using the Graphics Object
The ControlPaint Class
Chapter 3. Typography
The Architecture of Type
Families and Faces and Fonts (oh my)
Using Fonts
Windows Fonts
Chapeter 4. Color
Understanding Color
Using Color
Color Models
Color in the .NET Framework
Chapter 5. Images in the .NET Framework
Using Images
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
Images in the .NET Framework
Chapter 6. ADO .NET Data Binding
Binding Control Properties
Synchronized Binding
Part II. Representing Entities
Chapter 7. Entity Types
The Entity-Relationship Model
Simple Entities
Complex Entities
Displaying Multiple Entities
Chapter 8. Simple Layouts
Window Basics
Primary Windows
Secondary Windows
Chapter 9. Complex Layouts
Complex Form Design
Panel Structures
Coordinated Structures
Chapter 10. Displaying Forms
Laying Out Forms
Anchoring and Docking Controls
Resizing Forms
Displaying Forms
Part III. Representing Attributes
Chapter 11. Complex Attributes
Get it Right
Logical Values
Date and Time Values
Binary Objects
Chapter 12. Numbers and Text
Numeric and Monetary Values
Text Values
Chapter 13. List Controls
Using List Controls
ListBox and CheckedListBox Controls
The ComboBox Control
The DomainUpDown Control
TreeView
Chapter 14. Grid Controls
Using Grid Controls
The ListView Control
The DataGrid Control
Part IV. Interacting with the User
Chapter 15. Managing Data Display
Navigating through Data
Managing Data Entry
Managing Data Persistence
Chapter 16. Command Widgets
Button Widgets
Menus
Menu Conventions
Toolbars
Chapter 17. User Assistance
Types of User Assistance
Functional Principles
Providing Passive Assistance
Providing Reactive Assistance
Providing Proactive Assistance
Chapter 18. Database Integrity
Theoretical Foundations
Implementing Constraints and Rules
Validation Techniques
Using the ErrorProvider Control
Chapter 19. Sorting, Searching, and Filtering
Sorting
Searching
Filtering
Chapter 20. Reporting
Designing Reports
Managing Reports
Implementing Reports
Part V. Building Applications
Chapter 21. Interface Architectures
Architectural Paradigms
Implementation Architectures
Chapter 22. User Customization
Using Control Panel Settings
Implementing Customization
Persisting Application States
Chapter 23. Installation
Windows Conventions
Visual Studio Setup Projects
Glossary
Index
< Day Day Up >
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
< Day Day Up >
Copyright
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was
aware of a trademark claim, the designations have been printed with initial capital letters or in all
capitals.
The author and publisher have taken care in the preparation of this book, but make no expressed
or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is
assumed for incidental or consequential damages in connection with or arising out of the use of the
information or programs contained herein.
The publisher offers discounts on this book when ordered in quantity for bulk purchases and special
sales. For more information, please contact:
U.S. Corporate and Government Sales
(800) 382-3419
For sales outside of the U.S., please contact:
International Sales
(317) 581-3793
Visit Addison-Wesley on the Web: www.awprofessional.com
Library of Congress Cataloging-in-Publication Data
Riordan, Rebecca M.
Seeing data: designing user interfaces for database systems using .NET /
Rebecca M. Riordan
p. cm.
Includes index.
ISBN 0-321-20561-8 (alk. paper)
1. User interface (Computer systems). 2. Microsoft .NET. I. Title.
QA76.9.U83R56 2004
005.4'37—dc22
2004006538
Copyright © 2005 by Rebecca M. Riordan
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or
transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or
otherwise, without the prior consent of the publisher. Printed in the United States of America.
Published simultaneously in Canada.
For information on obtaining permission for use of material from this work, please submit a written
request to:
Pearson Education, Inc.
Rights and Contracts Department
75 Arlington Street, Suite 300
Boston, MA 02116
Fax: (617) 848-7047
Text printed on recycled paper
1 2 3 4 5 6 7 8 9 10—CRS—0807060504
First printing, July 2004
< Day Day Up >
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
< Day Day Up >
Praise for Seeing Data
"Riordan provides an invaluable resource to help developers focus on a commonly overlooked
but vital part of an application—the user experience."
—David Sceppa, Program Manager,
Microsoft Corporation
"Riordan has done it again, navigating the proverbial minefield of User Interface development
with her unique and entertaining style. She has delivered a clear, concise and practical view of
User Interface Development for the .NET Developer. This is a book that I believe .NET
developers must have; it provides guidance in both the technical and nontechnical areas of
User Interface design and implementation."
—Stephen W. Jeffries,
Principal Technical Specialist—Developer & E-Business,
Microsoft Corporation
"Rebecca Riordan takes UI programming and practices to new heights. She has gone beyond
simply explaining the theory behind UI programming practices but also provides code samples
that are practical, well-documented, and can be immediately incorporated into a development
project. This book is a definitive reference for UI development, and a must-have for an
application developer's bookshelf. Design UI's with confidence with this book!"
—Wendy Chun, AVP/Product Development,
Sungard Insurance Systems
"Riordan has produced what is THE reference guide on user interface design in .NET. Serious
developers and beginners alike will learn both design techniques that can put applications
over the top and pitfalls to avoid."
—Kelly J. Martens, Manager, Information Systems and Development,
JJ Koepsell Company
"Rebecca Riordan, expert UI designer, shares her insights in a solid mixture of code and
concepts."
—Cristof Falk, Developer/Consultant
"Rebecca Riordan's book, Seeing Data: Designing User Interfaces for Data Systems Using
.NET, is a significant new, technical work. Rebecca has a special gift for making very hard
topics easy to understand and enjoyable to read about. Her writing style is engaging and
informative. Ms. Riordan offers a perspective to user interface design that is real world,
competent, and refreshing. Her choice of topics will be of interest to all .NET developers, from
DBAs to front-end Web designers."
—Bob Reselman, Cognitive Arts and Technologies, author of Coding Slave
< Day Day Up >
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
< Day Day Up >
Foreword
Remember way back when you were younger, and had to take high school art classes on the basics
of color, layout, and form? And like so many of us you sat there thinking, "I am never going to use
this in my life," and promptly forgot what you might have learned. I know I sure do.
Many years down the track I built one of my first major applications with a significant user interface
(UI); a run-of-the-mill business application: some data entry, some editing, we all know the drill.
To this day, I still live in fear that the users of this application might find out where I live. If they
do, I will have an angry mob of people at my door, keyboards and therapy bills in hand…well, you
get the picture.
Why do I say that? Having had the privilege to review the book you are about to embark on, I
decided that I would dig up that old application—well, I have to admit that I would have been part
of that mob had I been using the application. It has the stale ring of "how many different doo-dahs
can I squeeze into a simple application?"
The point here—and yes, I do have one—is that over the years I have certainly learned some of the
essential user interface design techniques, but they had never been clearly solidified in my
conscious mind until I read this book.
Now, way back when I was young and innocent—Visual Basic 1.0 had just hit the shelves—building
a user interface was still a fairly rigid and noncreative task, and as such it wasn't possible to do a
lot of jiggling with the look and feel of applications. Then we experienced the Visual Basic wave,
and everyone could easily write a Windows application.
It was fairly clean to start with, people followed the established trends, but soon enough people
were bucking the system, and I have seen a wide range of unique and strange user interfaces,
menu structures, and interaction metaphors—some good and some I would rather not mention in
civilized company. Surely it couldn't get worse that that. But it did: HTML, the Web browser, and
easy-to-use design tools such as Microsoft FrontPage or HotDog or Insert your favorite Tool Here.
Now, if you can use a word processor, you can publish Web pages and Web applications.
One of the first chapters of this book covers color and its use—something I personally feel ought to
be required reading for anyone who will be designing user interfaces. Why? Personally, I have
observed a scary trend on the Web: The first time someone publishes some content, he or she
seems to find the maximum number of animated GIFs, hideous background colors, background
graphics, and text colors that will send you dyslexic.
Now the future is going to hold the capability to do some fantastic things with the user interface;
the announcements made at the Microsoft Professional Developers Conference for the next
generation of Windows, codenamed Longhorn, will give developers the capability to build and
deliver user interfaces that can make the user experience a pleasure.
As with any set of technologies and tools, it is your capability that will eventually show what can be
built and delivered. The next generation will provide some fantastic services, but also more than
enough rope for catastrophic disasters.
The majority of my time is spent with Microsoft Enterprise customers and ISVs, providing them
with assistance for the architecture and design of systems and the supporting technology to solve
their business problems. As part of this, I have had the privilege to explore some fantastic user
interfaces, and I am still getting therapy for some of the others!
Now, personally, I don't want to see you or your application UIs being used as a example of how
bad a user interface can be—although I can use it as a wonderful speaking example or story one
day. I would rather see you get your hands on some well thought-out tools, and information to
build a better UI—this book is an excellent place to start.
To be perfectly honest, if you are a professional user interface designer, this is not really the book
for you. However, if you are a typical overworked, deadline-constrained, feature-creeping software
developer, this book is going to make your life easier.
Now, when you get your cup of coffee/tea/Bonnox and settle down on the sofa to read this book,
there is something I would like to suggest. First, don't skip the introductory chapters. One of the
great strengths of Rebecca's writing is a clear, consistent structure, and this book is no exception.
By building on the basics of design—spacing, color, text, and so forth—you will get a solid set of
foundation topics that she discusses later. As you read further into the chapters, you will start to
auto-magically think and recognize the concepts that are described—but only if you read them.
The remainder of the book pulls from the wealth of Rebecca's experience as an architect and
designer. As I read the book, I caught myself flashing back to a tale of a customer project where a
UI blunder was about to happen (or worse still, had happened), as the advice and guidance in this
book has been pulled from years of solid experience and has been refined to the point where you
can use it as a guideline for your development projects.
I hope you enjoy reading this book as much as I have, and learn at least one new thing, although I
firmly believe that you will learn many more than one because I certainly have. (But please don't
tell Rebecca. She'll never let me live it down.)
If you learn nothing else, remember the number-one rule when putting an application together: It
is the end user out there who is using the application. End users don't give a left dingo biscuit
about your cool user interface widget; they care about getting the task done for their job. Your
prime driver is making sure they can—quickly, efficiently, and without tears of frustration. This
book is a step in the right direction.
Stephen W. Jeffries
Principal Technical Specialist—Developer & E-Business
Microsoft Corporation
< Day Day Up >
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
< Day Day Up >
Preface
I've been designing and implementing database applications for longer than I'd care to talk about.
For the last ten years or so, much of my work has involved helping organizations and other
developers improve their existing designs. Even if this weren't my line of work, like everyone else in
the twenty-first century, I spend a lot of time using systems. Whenever I shop or do my banking,
get a haircut or go to the doctor, I'm directly or indirectly dealing with a computer system
somebody, somewhere, designed and implemented...and most of these systems are just plain
awful.
Now, I'm never entirely comfortable speaking for other people, but I'd be prepared to bet an entire
year's worth of chai that nobody has ever intentionally built a "user antagonistic" software system,
so why are so many of the systems we use every day so far away from being "user friendly?"
Part of the answer is that we're all so new at this. Think about it: We've been designing agricultural
tools for thousands of years, but we're still fiddling with the shape of a shovel. We've been
designing computer programs for use by nonexperts for about twenty years. It's not reasonable to
expect us to have it quite figured out yet.
Another part of the answer is that none of us can be experts at everything. Given the complexity of
today's computer systems, is it reasonable to expect that any one person can be expert at business
analysis, interviewing users, systems design, database design, interface design, programming in
his or her chosen language (or, more likely these days, languages), testing, implementation,
writing documentation, and training users? Of course it isn't, and yet the realities of system
development often require that we have to take on, if not all, at least several of these roles.
So, welcome to Seeing Data. I'm not going to promise to make you an expert on designing
interfaces. I do promise to introduce you to the basic principles of designing user interfaces for
database applications. I'll show you the things you need to think about, the kinds of questions you
need to ask yourself, and some of the answers in the form of working code snippets.
Most of the principles, and much of the sample code, work equally well with any kind of system, not
just databases, but since that's my background, and since most business systems do manipulate
data in some way, those are the systems on which I've concentrated.
< Day Day Up >
< Day Day Up >
Who Do I Think You Are?
To make the subject manageable, I've had to make some assumptions about what you already
know. First, I assume that you have a basic understanding of database design. Specifically, I
assume that you understand how databases are structured in terms of tables, columns, and rows,
and the basics of database normalization. You should also understand the Structured Query
Language (SQL) at least well enough to read the snippets, even if you always build your queries
using an interactive tool.
I also assume that you have a basic understanding of the .NET Framework class hierarchy and the
Visual Studio environment. I discuss the .NET Framework data-binding architecture in Chapter 6,
"ADO .NET Data Binding," but I assume that you have a basic understanding of the primary
ADO.NET objects: the Connection, DataAdapter, DataSet, and DataTable.
The code examples in this book are in Visual Basic, since I believe it's the easiest of the Visual
Studio languages to read, but C# examples are available on the Web site for the book. I do not
assume that you're a professional programmer, only that you have some familiarity with the
process. Nor do I assume that you have an intimate knowledge of either the Windows API or the
internals of the .NET Framework CLR.
< Day Day Up >
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
< Day Day Up >
What's in This Book
In Section One of the book, we'll look at each of the fundamental areas of interface design
independently. We'll begin with a general overview of interface principles, and then look at
graphics, typography, color, and the use of images in the .NET Framework in some detail.
In the last chapter of the section, we'll examine data binding with ADO.NET. This isn't strictly part
of interface design, but it is fundamental to the rest of the book. If you're already an ADO.NET
wizard, you can probably skip this chapter with impunity.
In the next two sections, we'll look at how to build an interface from the perspective of the
database schema. In Section Two, we'll examine the canonical structures for entities, and how
those entities can be represented in the user interface. In Section Three, we'll examine each type of
attribute and map them to .NET Framework controls.
In Section Four, we tackle the mechanics of how the system interacts with the user. We'll examine
methods for allowing the user to navigate through a DataSet and manipulate the data it stores.
Then we'll examine the methods you provide for allowing the user to control the application:
menus, toolbars, and command buttons. After that we'll discuss two closely related topics: the
provision of user assistance and the maintenance of data integrity. In the last two chapters of the
section, we'll examine filtering and sorting data, and the provision of reports, both from the
perspective of user interaction.
In the final section, we'll look at the user interface from the point of view of the application itself.
We'll begin with an examination of the architecture of the application as a whole—how the
constituent forms are structure, and the navigation method(s) presented to the user. We'll follow
this with a discussion of the methods your application can provide for user customization, and
conclude with a brief discussion of the installation process, again from the point of view of how the
application interacts with the user.
Finally, downloadable code is available at www.awprofessional.com/titles/0321205618. Here you
will find all the Visual Basic .NET examples, along with C# equivalents.
< Day Day Up >
< Day Day Up >
What Isn't in This Book
As I've said, the principles we examine apply equally well to most types of applications running in
most environments, but this book focuses on desktop database applications running under
Microsoft Windows and built using the .NET Framework.
In particular, we won't discuss thin-client applications or applications deployed on Windows CE.
That said, all of the techniques, and many of the code snippets, can be directly transferred to
applications running in these environments (provided, of course, that the applications are
developed in Visual Studio).
In addition to the environment techniques, there is one subject area that we won't be discussing:
localization. There's a very simple reason for this. I know very little about it, and my mother always
said that a wise woman knows her limitations.
< Day Day Up >
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
UNREGISTERED VERSION OF CHM TO PDF CONVERTER By THETA-SOFTWARE
< Day Day Up >
Acknowledgments
Even though I've been through the process several times now, the number of people involved in
getting a book from my head to your hands still amazes me. Were it up to me, their names would
be in large, friendly letters on the front of the book. But that's one of the decisions I don't get to
make.
So let me go on record, right here, saying this book would never have made it to the shelves
without the assistance of these folks. In order of appearance…
First, Sondra Scott, who had faith in this book when I'd lost track of the number of people who'd
told me "great idea, dear, but nobody will buy it." (Please buy lots of copies, and prove her right!)
Several people read the book in manuscript and offered their suggestions. The generosity of these
folks and their contribution to the project cannot be overestimated: Sandra Daigle, Cristof Falk,
Stephen Jeffries, Kelly Martens, Bob Reselman, and David Sceppa.
Elizabeth Zdunich is one of those amazing people who just make things happen. (I confess: I'm
not.) If there were dramas, I never knew about them. Working with her has been, truly, a comfort.
And she's kind, too.
Karen Gettman took over the project at the last moment, mid-panic, and never faltered. Impressive
performance, that.
Julie Nahil and Dmitri Korzh are responsible for the production of the book itself. Their efforts have
been nothing less than heroic, dealing with my unorthodox work habits, multiple versions of every
graphic, color tip-ins…
Finally, Peter Vogel succeeded in finding the title for the book. Were it not for him, the volume you
hold in your hand might be called…well…if I knew what it might have been called, I wouldn't be so
grateful to him for "Seeing Data."
To all of you, my thanks.
Rebecca M. Riordan
Santa Fe, New Mexico
May, 2004
< Day Day Up >