Object Modeling and User Interface Design: Designing Interactive Systems addresses the problem of designing interactive systems that are easy to learn and use, that augment human abilities by supporting users in their activities, and that are satisfying to their end users--topics that are highly significant for readers who design and specify interactive systems, object modelers, user interface designers, and software design methodologists.
This book showcases the vanguard of new methods for object-oriented and component-based interactive system development, incorporating contributions from international experts in object modeling and human computer interaction. It shows how object modeling approaches can be modified to bring user interface concerns into the earliest stages of the software design life cycle, where they have the greatest possible effect on the subsequent system design and on the end system usability. Adopting the perspective that system scope, contents, functionality, and detailed user interface are all inextricably related, this book provides methods for integrated and concurrent consideration of user requirements, analysis-level object models, interaction modeling, detailed user interface design, and interactive system usability. The methods integrate the best applicable user interface design practice with object modeling techniques that use the Unified Modeling Language (UML).
Four major themes are explored: participatory modeling, scenario- and task-based design, use case based design, and user-centered design. Within these broad overlapping areas, ten individual chapters cover specific topics, such as
- Participatory modeling of business concepts by users
- The use of scenarios and task descriptions to build object models of interactive systems
- New notations for Structured Essential Use Cases in the Software For Use method
- User interface design in the Rational Unified Process (RUP)
- User-centered design approaches for interactive system design
Object Modeling and User Interface Design merges theories with practical techniques to create methods for the design of today's systems. By reading this book you will gain an understanding of the benefits of integrating object-oriented analysis approaches with human computer interaction design, and learn how to systematically design interactive systems for their human users.
"synopsis" may belong to another edition of this title.
I am the author of Chapter 9, Toward Unified Models in User-Centered and Object-Oriented Design. In this chapter I present a lightweight approach to user-centred design based around the informal methods associated with UML. The chapter also includes a survey of user-centred techniques and methods currently in use. It should be of interest to anyone trying to develop interactive systems.
P.1 Introduction
Our basic premise is true: Many of the interactive systems that surround us either fail to work well for their users, do not do their job, or are simply unpleasant and frustrating to use. These problems are a result of inadequate methods for software development, particularly with respect to the design of system scope, contents, functionality, and interactivity.1 By contrast, usable systems allow their users to achieve their goals with effectiveness, efficiency, and satisfaction within a particular context of use.2 Highly usable systems have many positive benefits, especially productivity enhancements and user job satisfaction.3
While the design of usable interactive systems often remains a difficult endeavor, the human-computer interaction (HCI) field has made considerable progress in the creation of interactive system design methods that significantly contribute to increased end-system usability. These methods address the scope, content, functionality, and user interface of an interactive system according to a user-centered view that includes the users' understanding of the system and the users' envisioned behavior while using the system. Because object models are relatively central in the HCI field, appropriate HCI methods and method components can be integrated with object-oriented software engineering practice to create interactive system design methods that are specifically concerned with the design of usable systems. Methods that integrate object-oriented and HCI practice (oo&hci methods) apply HCI design techniques early in the design life cycle, when the first visions of the scope, content, and functionality are formed and developed into analysis-level object models. Oo&hci methods offer improved interactive system design capability and increased end-system usability by basing system design on the users' world, goals, and tasks; by the use of design techniques that provide well-founded ways of systematically developing important parts of the interactive system design; and by the use of notations that are designed to convey the design information that is required for effective interactive system design. The output of oo&hci methods is an interactive system design that includes, as a bare minimum, a model of anticipated user behavior, an analysis-level object model, and the design of the appearance and interactivity of the user interface (the concrete user interface design). Oo&hci methods can serve as front-ends to any suitable object-oriented lifecycle or analysis and design method, replacing much of the analysis activity and all user interface design in the back-end method. At least one oo&hci method has been used as a front end to 4GL-based development processes.
An Example of Usability Failure
To focus on the need for augmented methods that integrate the consideration of user issues, it is informative to consider a real-life example that fails on usability issues. The example is provided by a receptionist who is a regular user of a computerized booking system in a relatively expensive London restaurant. The restaurant is divided into an upstairs and a downstairs section, each with different seating characteristics and menus. For the downstairs section of the restaurant, the computer-allocated dining time is as follows: For parties of ten or less a table will be occupied for up to 1 3/4 hours. For parties of eleven or more a table will be occupied for up to 2 1/4 hours. This automatic time allocation is on first sight a performance-enhancing feature; in principle it saves time and effort for telephone operators and the reception staff who take bookings from four locations dispersed throughout the restaurant. However, there is a problem that was not anticipated by the system's designers: The largest tables downstairs have thirteen seats. Consequently, parties larger than thirteen are split across tables. Here the computer accepts the split booking and allocates dining periods for the two tables based on the number of customers sitting at each particular table, not on the total party size. For two-table bookings at least one wrong time is allocated for parties of 14 to 21 diners, leading to overbooking on busy nights. The system reveals so little about a booking when it is made and when it is subsequently accessed that for the first four years of operation no one could work out why the downstairs restaurant was overbooked on, typically, Thursday, Friday, and Saturday.
My informant expressed some of the knock-on effects of failing system usability as: "This isn't good for the host of a large party--the host can end up buying two rounds of drinks while the party waits to be seated . . . The additional cost and a forty-five minute wait aren't what you'd expect when you're already paying an average cover of £60."* Of equal severity, the booking system also changes the nature of the receptionists' work. First, due to the imposed wait, the downstairs receptionists have to deal with customers that are sometimes irate, aggressive, or rude. Second, the receptionists have to take over and try to correct the work of the system, juggling tables and parties as best as they can to minimize waiting time. As yet, several months after identification of the problem, the suppliers of the system have not returned with a solution. The audience of this book could easily imagine how the given dining times are, with the best intent, "cannily" built into the booking system in several places, making the change hard to implement without rewriting the system completely.
This example has been characterized as an example of a failure in requirements gathering. However, the example is more significant. On deeper examination it contains salutary lessons for interactive system design methods. These lessons include the following: Usability issues are significant and wide-ranging and often affect more than the immediate system users. Interactive system design impacts work and is perforce concerned with the design of future work. Failing systems require user accommodation to compensate for their failures; this is seldom desirable.
* For anyone not familiar with the term, "cover" is the dining cost per person. £60 = US$90.
Object Modeling and User Interface Design provides descriptions of nine such methods. Because all the methods use or are compatible with the Unified Modeling Language (UML), they integrate well with popular UML-based approaches to object- and component-based development. The final chapter provides details of relevant HCI theory and practice, a description of the methodological concerns relating to the integration of object modeling with user interface design, and a framework that describes oo&hci methods.
This book's groundbreaking contents are highly relevant to software engineers, user interface designers, and methodologists who work with either or both of object modeling and user interface design methods. P.2 Oo&hci Methods In more detail, the oo&hci methods in the book share many or most of the following characteristics: Interactive system design is an early, up-stream activity that determines the design of user work and/or leisure activities, the division of activities between users and the interactive system, the high-level design of system scope, contents and functionality, and the detailed design of the user interface. Design activities in these areas are often closely coupled; decisions in one area are likely to have an effect elsewhere. Described at a high level, interactive system design is an activity that is concerned with user activities, user understanding of the system, and the system's user interface. Interactive system design is predicated on information about users, their current activities, their needs, and the work and/or leisure context in which they will use the proposed system. This information is gathered in interviews and by observation, and is used as the basis for the design of the interactive system and its anticipated use. User-developer contact is vital to gather information, to ground the design of the system in the world of the user according to user (and therefore, where applicable, business) need, and for the evaluation and improvement of the developing interactive system design. Abstract models are constructed to convey the designers' understanding of how the users will view and use the interactive system. User behavior is expressed in a task model or an augmented use case model. System content is expressed in an object model. Sketches, storyboards, prototypes, scenarios, and other concrete design artifacts, together with users' reactions to them, will probably be used to inform the design of the abstract models. User evaluation of the models (presented in a user-understandable form) and of very early model-based prototypes may lead to model redesign. The abstract models are used in the design of the concrete user interface of the system. This model-based design may be performed in a systematic series of steps, or, less desirably, in a single, unstructured step. User evaluation of prototypes of the developing design may lead to either redesign of the user interface, or redesign of the abstract models and the derived user interface. Successive prototypes are tested by users to provide information for iterative redesign. This is formative evaluation, where the results of the test help form the subsequent design, and where change as a result of evaluation is expected and welcomed as a way of ensuring system usability. An iterative design-prototype-test-evaluate cycle ensures that deeper problems with models and functionality and shallower problems with the operation of the user interface are detected and ironed out before any technical implementation activities are undertaken. Use of inexpensive and malleable prototypes can be used for much or all of this activity. Typically, the interactive system design process provides at least a model of envisioned system use, an analysis-level object model of the system that is composed of objects of interest and relevance to users during task execution, and a concrete user interface design. Some methods may deliver additional models, mostly to express information about system interactivity. These design artifacts enable the output of the interactive system design process to be used as input to any remaining object-oriented analysis (OOA) activities before being used in object-oriented design (OOD).
As discussed in Chapter 10, many of these are made possible because of significant commonalities and points of linkage between user interface design practice performed by HCI designers4 and object modeling based approaches to analysis-level descriptions of interactive systems. P.3 Individual Contributions The structure of this book reflects four of the major themes to methods which integrate object-oriented and HCI (oo&hci) approaches, namely, participatory design, scenario- and task-based design, use case based design, and user-centered design. Each method is described in a chapter in one of these thematic categories. Inevitably, several methods could have been placed in different categories, because these methods overlap categories. The last chapter is in a section on its own, and provides a discussion of the foundations and components of oo&hci methods.
Participatory design is an approach that brings users into the design cycle as active contributors to the developing system design, either for model formulation, or for the design of the concrete user interface. The premise that underlies participatory design approaches is that users have expert knowledge about their work domains, their existing work practices, and the kinds of systems that will support their daily activities. Generally, participatory design involves users as partners in design with developers, such that the users' domain expertise complements specific developer skills in the technical aspects of system design and construction.
Participatory design of the kind in which users themselves form models of the applications and application areas of interest is addressed in the chapter by Simon McGinnes and Johnny Amos, who are responsible for the theoretical background to and commercial practice with Accelerated Business Concept (ABC) modeling. ABC is an application design approach that is facilitated by the use of a modeling tool that helps users formulate models of application domains and interactive systems. These models are abstract models that are expressed in such a way as to allow their creation, communicative use, and modification by normal end users and domain experts in business domains. The associated tool helps in the composition, examination, and modification of models. The tool is subsequently used to automatically generate user interface prototypes for evaluation by users. ABC is designed to be able to be used within the broad design and development framework provided by the Dynamic System Development Method (DSDM). DSDM Stapleton 1997 is a largely European development of a method framework that encourages participatory design within the DSDM approach to rapid application development. Some details of the DSDM approach are found in Chapters 1, 8, and 10.
Scenario- and task-based design methods constitute the second thematic section.
Scenario-based design is primarily concerned with how scenarios can contribute design information as a visualization of system use and context, and how scenarios can be used to determine the subsequent design of an interactive system. While scenarios are broadly defined elsewhere Carroll 1995, the scenarios used here are simple textual descriptions of specific instances of system use. One advantage of scenarios written in the language of the users is that they can be created, understood, and modified by both users and designers, thereby allowing for participatory system visualization (with its own aspects of system design) and participatory evaluation and redesign of the vision.
Task-based design is fundamental to object-oriented and HCI design. It involves the use of task models to articulate existing and envisioned user behavior. The existing task model is used as the basis upon which to consider the design of future user activities, work, and interaction with the proposed system. These latter concerns are expressed in an envisioned task model, which supplies a model of how users are intended to interact with the future system, and thus provides the basis of the design of the system's functionality.
Mary Beth Rosson and Jack Carroll, two ex-IBM researchers and practitioners who are now academics, describe how scenarios can be used for object identification and application structuring, together with their subsequent use in detailed concrete user interface design. The authors point to the use of objects in the design process as a way of considering the allocation of additional functionality to the system, thanks to the tendency of designers to anthropomorphize the objects under consideration. The method includes the formation of descriptions of objects relative to the objects themselves (Point-of-View analysis). This not only provides a description of how objects form a structure and collaborate in an interactive system, but it also provides a vision of the system and its constitue...
"About this title" may belong to another edition of this title.
Shipping:
FREE
Within U.S.A.
Seller: Better World Books, Mishawaka, IN, U.S.A.
Condition: Good. 1st. Used book that is in clean, average condition without any missing pages. Seller Inventory # 5589886-75
Quantity: 1 available
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Good. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00069083890
Quantity: 1 available
Seller: WorldofBooks, Goring-By-Sea, WS, United Kingdom
Paperback. Condition: Very Good. The book has been read, but is in excellent condition. Pages are intact and not marred by notes or highlighting. The spine remains undamaged. Seller Inventory # GOR004108246
Quantity: 2 available
Seller: Romtrade Corp., STERLING HEIGHTS, MI, U.S.A.
Condition: New. This is a Brand-new US Edition. This Item may be shipped from US or any other country as we have multiple locations worldwide. Seller Inventory # ABTA-291365
Quantity: 1 available
Seller: Basi6 International, Irving, TX, U.S.A.
Condition: Brand New. New. US edition. Expediting shipping for all USA and Europe orders excluding PO Box. Excellent Customer Service. Seller Inventory # ABEJUNE24-65637
Quantity: 1 available
Seller: Books Puddle, New York, NY, U.S.A.
Condition: Used. pp. xxvii + 452 1st Edition. Seller Inventory # 26269102
Quantity: 1 available
Seller: Majestic Books, Hounslow, United Kingdom
Condition: Used. pp. xxvii + 452 Illus. Seller Inventory # 7578865
Quantity: 1 available
Seller: Biblios, Frankfurt am main, HESSE, Germany
Condition: Used. pp. xxvii + 452. Seller Inventory # 18269092
Quantity: 1 available
Seller: The Book Spot, Sioux Falls, MN, U.S.A.
Paperback. Condition: New. Seller Inventory # Abebooks13476
Quantity: 1 available
Seller: BennettBooksLtd, North Las Vegas, NV, U.S.A.
paperback. Condition: New. In shrink wrap. Looks like an interesting title! Seller Inventory # Q-0201657899
Quantity: 1 available