Synopses & Reviews
In the quest for quality, software developers have long focused on improving the internal architecture of their products. Larry L. Constantine--who originally created structured design to effect such improvement--now joins with well-known consultant Lucy A. D. Lockwood to turn the focus of software development to the external architecture. In this book, they present the models and methods of a revolutionary approach to software that will help programmers deliver more usable software--software that will enable users to accomplish their tasks with greater ease and efficiency.
Recognizing usability as the key to successful software, Constantine and Lockwood provide concrete tools and techniques that programmers can employ to meet that end. Much more than just another set of rules for good user-interface design, this book guides readers through a systematic software development process. This process, called usage-centered design, weaves together two major threads in software development methods: use cases (also used with UML) and essential modeling. With numerous examples and case studies of both conventional and specialized software applications, the authors illustrate what has been shown in practice to work and what has proved to be of greatest practical value.
- Presents a streamlined process for developing highly usable software
- Describes practical methods and models successfully implemented in industry
- Complements modern development practices, including the Unified Process and other object-oriented software engineering approaches
The future of computing ever-increasingly lies in ever-increasing mobility
in which computers continue their network operations while physically
changing their location, and code moves from system to system
performing its designated tasks throughout a network.
This book brings together in one single resource the leading edge of
research and practice in three areas of mobility: process migration,
mobile computing, and mobile agents. Presented chronologically, the
papers in this book--each written by leading experts in that particular
area--track the development of critical technologies that have influenced
mobility. Introductions by the editors and original afterwords by many of
the papers' authors provide information on implementation and practical
application, technological context, and updates on the most recent
The book highlights many common challenges and solutions inherent in
various aspects of mobility: infrastructure, scalability, security, standards,
robustness, naming and locating mobile entities, and more. Individual
papers describe specific research and development in each of the three
major areas, covering such topics as:
An analysis of process migration from the earliest work to
contemporary commercial systems
Barriers to effective mobile connectivity, mobile IP, and ubiquitous
Descriptions of various mobile agent systems, such as Telescript,
Aglets, Agent TCL, and the mobile agent system standard
This selection of influential papers illustrates the evolution of mobile
technology as well as the state of the art of one of the most significant
trends in computing.
In this new book, Constantine and Lucy Lockwood, a well-known consultant on software development, shift their focus to models and methods that will help programmers deliver more usable software -- software that allows users to accomplish their own tasks with greater ease and efficiency. The authors provide concrete tools and techniques that programmers can employ to meet that end. The book guides readers through a systematic software development process. This process, called usage-centered design, weaves together two major threads in software-development: Use Cases and essential modeling -- the former giving this work particular appeal to readers of Jacobson and other object-oriented software-engineering books. The authors illustrate what has been shown in practice to work and what has proved to be of greatest practical value.
About the Author
Larry L. Constantine, a pioneer of modern software engineering practice, is highly regarded as an authority on the human side of software development. A leading international lecturer, author, editor, and consultant, he has ten books and more than 120 published papers to his credit. Under the pen name Lior Samson, Larry has just published his first novel, Bashert, a political thriller set against the backdrop of Israel’s emergence as a nuclear power.
Lucy A. D. Lockwood has more than a dozen years of experience in programming and project management. An international consultant, teacher, and writer, she chairs the User Interface Design Track of the Software Development Conference.
Table of Contents
I. TOWARD MORE USABLE SOFTWARE. 1. Software for Use: Usage, Usability, and User Interfaces.
Changing Contexts. 2. Built-in Usability: A Usage-Centered Design Approach.
Interfacing with Users.
Elements of a Usage-Centered Approach.
Coordinated Activity. 3. In Principle: Rules and Principles of Usage-Centered Design.
Design as Dialogue.
Rules and Principles.
User Interface Design Principles.
Details, Details, Details.
II. ESSENTIAL MODELS FOR USABILITY. 4. Users and Related Species: Understanding Users and User Roles.
Of Use and Users.
Real Users and Others.
User Role Models.
User Role Maps.
User Roles in Action.
Structured Role Models. 5. Working Structures: Task Modeling with Essential Use Cases.
Work, Work, Work.
The Use Case Map.
Building Essential Use Case Models.
Application. 6. Interface Architecture: Interface Contents and Navigation.
The Context Navigation Map.
III. CREATING THE VISUAL DESIGN. 7. Designing the Dialogue: Layout and Communication.
From Abstraction to Expression.
Screen Real Estate. 8. Practical Widgetry: Choosing and Designing Visual Components.
Buy or Build.
Selecting Selection Widgets. 9. Innovative Interfaces: Creative Interface Engineering and Custom Components.
The Process of Innovation.
IV. COMPLETING THE DESIGN. 10. Expressing Solutions: Implementation Modeling and Prototypes.
Prototypes and Prototyping.
Mapping the Models.
Implementation Modeling Illustrated. 11. Help Me if You Can: Designing Help and Helpful Messages.
Even Experts Need a Lift.
Use Cases for Help.
Access and Presentation Techniques.
Special Techniques and Modalities.
Helpful Messages. 12. Once a Beginner: Supporting Evolving Usage Patterns.
Skiing the Interface.
Designing for Progressive Usage.
Progressive Usage Applied. 13. In Place: Fitting the Operational Context.
Putting Context in Place. 14. Same Game, Different Fields: Special Applications, Special Issues.
Theme and Variation, Again.
Web Design for Use.
Web Wisdom Applied.
Embedded Systems Applications.
Other Special Interfaces. 15. Usage-Centered Design Applied: The TeleGuida Case.
TeleGuida Users and Uses.
Toward a TeleGuida Prototype.
V. ASSESSMENT AND IMPROVEMENT. 16. Better Next Time: Improvement by Inspection and Review.
Collaborative Usability Inspections.
Focused Inspections. 17. By the Numbers: Measuring Usability in Practice.
User Interface Design Metrics.
Essential Usability Metrics Suite.
Metrics in Practice. 18. Test Scores: Laboratory and Field Testing of Usability.
Testing, One, Two.
Why Test, Why Not.
VI. ORGANIZING AND MANAGING THE PROCESS. 19. Code and You're Done: Implementing Interfaces.
Objects and Interfaces.
Visual Development of Visual Designs. 20. Using Your Users: Users in the Development Process.
Use or Abuse of Users.
Requirements Dialogue, Requirements Dance.
Going to the Source.
Joint Essential Modeling. 21. Getting Organized: Usability in the Larger Context.
Standards and Style Guides.
Experts and Expertise.
Cultural Fit. Appendix A. Suggested Readings.
Appendix B. Eleven Ways to Make Software More Usable: General Principles of
Software Usability. Appendix C. Glossary.
Appendix D. Forms for Usage-Centered Design.
Appendix E. Subjective Usability Scales for Software (SUSS).