A software design process is first presented that's centered on usability (with terms like "user roles," "use cases," and "interaction contexts"). Early sections have much to say about inadequate interfaces (using a number of Windows examples) and how to improve them. The book presents an argument for creating innovative and intuitable interfaces (often by rethinking time-honored Windows conventions).
The most provocative material here is the coverage of the Internet--the book argues that many Web sites sacrifice usability for visual razzle-dazzle, and it offers ways to organize Web sites for better usability. (A section on embedded devices looks at UI issues for these systems too.) A full case study of a user interface design for a corporate address book is included.
Software for Use makes a good case that there is room for improvement in today's user interfaces. This book is sure to be a valuable resource for anyone serious about improving the user's experience of software or Web sites. --Richard Dragan
Topics covered: Design processes; help systems and error messages; and interface creation for novice, intermediate, and advanced users.
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