Human-centered software engineering : software engineering models, patterns and architectures for HCI

cover image

Summary

Activity theory is a way of describing and characterizing the structure of human - tivity of all kinds. First introduced by Russian psychologists Rubinshtein, Leontiev, and Vigotsky in the early part of the last century, activity theory has more recently gained increasing attention among interaction designers and others in the hum- computer interaction and usability communities (see, for example, Gay and H- brooke, 2004). Interest was given a signi?cant boost when Donald Norman suggested activity-theory and activity-centered design as antidotes to some of the putative ills of "human-centered design" (Norman, 2005). Norman, who has been credited with coining the phrase "user-centered design," suggested that too much attention focused on human users may be harmful, that to design better tools designers need to focus not so much on users as on the activities in which users are engaged and the tasks they seek to perform within those activities. Although many researchers and practitioners claim to have used or been in?uenced by activity theory in their work (see, for example, Nardi, 1996), it is often dif?cult to trace precisely where or how the results have actually been shaped by activity theory. Inmanycases, evendetailedcasestudiesreportresultsthatseemonlydistantlyrelated, if at all, to the use of activity theory. Contributing to the lack of precise and traceable impact is that activity theory, - spite its name, is not truly a formal and proper theory.

Contents

  • List of Figures p. xi
  • List of Tables p. xvii
  • Contributing Authors p. xxi
  • 1 Human-Centered Software Engineering: Software Engineering Architectures, Patterns, and Models for Human Computer Interaction p. 1 Ahmed Seffah and Jean Vanderdonckt and Michel C. Desmarais
  • 1.1 Scope p. 1
  • 1.2 Specific Objectives of the CHISE Volume II p. 2
  • 1.3 Overview p. 2
  • 1.4 Chapter Summaries p. 3
  • References p. 6
  • Part I User Experiences, Usability Requirements, and Design
  • 2 What Drives Software Development: Bridging the Gap Between Software and Usability Engineering p. 9 Nuno J. Nunes
  • 2.1 Introduction p. 9
  • 2.2 Use Case Driven Software Development p. 11
  • 2.3 Architecture Centric p. 14
  • 2.4 From Essential Use Cases to the Conceptual Architecture p. 17
  • 2.5 Tool Issues p. 20
  • 2.6 Conclusion p. 23
  • References p. 24
  • 3 Human Activity Modeling: Toward a Pragmatic Integration of Activity Theory and Usage-Centered Design p. 27 Larry L. Constantine
  • 3.1 Introduction p. 28
  • 3.2 Activity Theory p. 29
  • 3.3 Usage-Centered Design p. 31
  • 3.4 Toward Integration p. 33
  • 3.5 Human Activity Modeling p. 35
  • 3.6 Design Implications p. 43
  • 3.7 Process Implications p. 44
  • 3.8 Application p. 45
  • 3.9 Discussion p. 47
  • References p. 50
  • 4 A User-Centered Framework for Deriving a Conceptual Design from User Experiences: Leveraging Personas and Patterns to Create Usable Designs p. 53 Homa Javahery and Alexander Deichman and Ahmed Seffah and Mohamed Taleb
  • 4.1 Introduction p. 54
  • 4.2 A First Look at the Proposed Framework p. 55
  • 4.3 Modeling User Experiences with Personas p. 56
  • 4.4 Creating a Conceptual Design Using Patterns p. 57
  • 4.5 An Illustrative Case Study p. 61
  • 4.6 A Detailed Description of UX-process p. 70
  • 4.7 Further Investigation: The P2P Mapper Tool p. 74
  • 4.8 Conclusion p. 76
  • References p. 79
  • 5 XML-Based Tools for Creating, Mapping, and Transforming Usability Engineering Requirements p. 83 Fei Huang and Jon Titus and Allan Wolinski and Kevin Schneider and Jim A. Carter
  • 5.1 Introduction p. 83
  • 5.2 Toolset Overview p. 85
  • 5.3 Using XML to Structure UE Specifications p. 89
  • 5.4 Mapping Between XML-based UE and SE Specifications p. 92
  • 5.5 Translating Between XML-based UE Requirements Into SE Specifications p. 99
  • 5.6 Conclusion p. 102
  • References p. 102
  • Part II Modeling and Model-Driven Engineering
  • 6 MultiPath Transformational Development of User Interfaces with Graph Transformations p. 107 Quentin Limbourg and Jean Vanderdonckt
  • 6.1 Introduction p. 108
  • 6.2 Related Work p. 110
  • 6.3 Expressing the UI Development Cycle with Graph Transformations p. 111
  • 6.4 Development Paths p. 118
  • 6.5 Conclusion p. 134
  • References p. 135
  • 7 Human-Centered Engineering with UIML p. 139 James Helms and Robbie Schaefer and Kris Luyten and Jo Vermeulen and Marc Abrams and Adrien Coyette and Jean Vanderdonckt
  • 7.1 Introduction p. 140
  • 7.2 UIML: An Overview p. 141
  • 7.3 Tools for and Extensions of UIML p. 148
  • 7.4 Improvements to UIML for Version 4.0 p. 156
  • 7.5 UIML-Related Standards p. 166
  • 7.6 Conclusion p. 169
  • References p. 170
  • 8 Megamodeling and Metamodel-Driven Engineering for Plastic User Interfaces: Mega-UI p. 173 Jean-Sébastien Sottet and Gaelle Calvary and Jean-Marie Favre and Jo&eumlet;lle Coutaz
  • 8.1 Introduction p. 174
  • 8.2 Plasticity: Case Study and Engineering Issues p. 175
  • 8.3 Modeling, Metamodeling, and Megamodeling p. 182
  • 8.4 MDE for Plasticity p. 190
  • 8.5 Conclusions and Perspectives p. 196
  • References p. 197
  • 9 Cause and Effect in User Interface Development p. 201 Ebba Thora Huannberg
  • 9.1 Introduction p. 201
  • 9.2 Research Study p. 205
  • 9.3 Eliciting Needs and Context p. 209
  • 9.4 Design p. 210
  • 9.5 Evaluation in Context p. 214
  • 9.6 Foundation and Context of an Evaluation Model p. 215
  • 9.7 Conclusion p. 218
  • References p. 219
  • Part III Interactive Systems Architectures
  • 10 From User Interface Usability to the Overall Usability of Interactive Systems: Adding Usability in System Architecture p. 225 Mohamed Taleb and Ahmed Seffah and Daniel Engleberg
  • 10.1 Introduction p. 226
  • 10.2 Background and Related Work p. 227
  • 10.3 Identifying and Categorizing Typical Scenarios p. 228
  • 10.4 Patterns as Solutions to the Problems Documented as Scenarios p. 230
  • 10.5 Modeling Cause-Effect Relationships Between Software Elements and Usability p. 237
  • 10.6 Conclusion and Future Investigations p. 242
  • References p. 243
  • 11 Toward a Refined Paradigm for Architecting Usable Systems p. 245 Tamer Rafla and Michel C. Desmarais and Pierre N. Robillard
  • 11.1 Introduction p. 245
  • 11.2 An Overview of Previous Work p. 246
  • 11.3 Usability at the Requirements Definition Stage p. 248
  • 11.4 Usability-Centered Software Development Process p. 251
  • 11.5 Conclusion p. 253
  • References p. 254
  • 12 Trace-Based Usability Evaluation Using Aspect-Oriented Programming and Agent-Based Software Architecture p. 257 Jean-Claude Tarby and Houcine Ezzedine and Christophe Kolski
  • 12.1 Introduction p. 257
  • 12.2 First Approach for Early Usability Evaluation: Injection of the Mechanism of Traces by Aspect-Oriented Programming p. 258
  • 12.3 Second Approach: Interactive Agent-Based Architecture and Evaluation Module p. 263
  • 12.4 Towards an Assistance System for the Evaluation of Agent-Based Interactive Systems p. 266
  • 12.5 Comparison Between the two Approaches p. 268
  • 12.6 Conclusion p. 273
  • References p. 274
  • 13 Achieving Usability of Adaptable Software: The AMF-Based Approach p. 277 Franck Tarpin-Bernard and Kinan Samaan and Bertrand David
  • 13.1 Introduction p. 277
  • 13.2 State-of-the-art p. 278
  • 13.3 AMF and Its Relationships With Other Models p. 281
  • 13.4 A Method for Designing Adaptable Applications p. 289
  • 13.5 Future Developments and Conclusion p. 294
  • References p. 295
  • Part IV Reengineering, Reverse Engineering, and Refactoring
  • 14 The Gains Design Process: How to do Structured Design of User Interfaces in any Software Environment p. 301 Martha J. Lindeman
  • 14.1 The Costs of Changing User Interfaces p. 302
  • 14.2 Overview of the Gains Process p. 304
  • 14.3 Overview of XP's Planning Levels p. 305
  • 14.4 Evaluations of Usability p. 313
  • 14.5 Difficulties With Two XP Assumptions p. 314
  • 14.6 Conclusions p. 315
  • References p. 315
  • 15 Legacy Systems Interaction Reengineering p. 317 Mohammad El-Ramly and Eleni Stroulia and Hani Samir
  • 15.1 Introduction p. 318
  • 15.2 Motivation for Interaction Engineers p. 318
  • 15.3 Generic Methodology p. 319
  • 15.4 Applications of Interaction Reengineering p. 323
  • 15.5 From Websites to Web Services p. 325
  • 15.6 Advantages and Limitations p. 331
  • References p. 332
  • 16 Reverse Engineering for Usability Evaluation p. 335 Atif M. Memon
  • 16.1 Introduction p. 335
  • 16.2 GUI Model p. 338
  • 16.3 Design of the GUI Ripper p. 345
  • 16.4 Implementation p. 347
  • 16.5 Empirical Evaluation p. 349
  • 16.6 Related Work p. 351
  • 16.7 Conclusions and Future Work p. 352
  • References p. 353
  • 17 Task Models and System Models as a Bridge between HCI and SE p. 357 David Navarre and Philippe Palanque and Marco Winckler
  • 17.1 Introduction p. 358
  • 17.2 Related Work p. 359
  • 17.3 Why a Task Model is Not Enough p. 359
  • 17.4 A Classical System Model p. 361
  • 17.5 The Improved System Model p. 362
  • 17.6 Scenarios as a Bridge Between Tasks and System Models p. 363
  • 17.7 A Case Study p. 365
  • 17.8 The Integration of the Models: CTT-ICO p. 375
  • 17.9 Conclusions p. 382
  • References p. 384
  • Authors Index p. 387
  • Subject Index p. 395

Subjects

Subject Headings A:

Other details