Chapter 3
HCI in the Software Process
Design Rules
26 May 20161
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Human Computer Interaction
The software life cycle
 Software engineering
 provides the structure for applying techniques to develop software
systems
 The software life cycle
 An attempt to identify the activities that occur in software
development
 These activities must be ordered in time in any development
project and appropriate techniques must be adopted to carry them.
 In the development of a software product,
 consider two main parties: the customer who requires the use of
the product and the designer who must provide the product
26 May 20162
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
The software life cycle con…
26 May 20163
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
The software life cycle con…
 Requirements specification
 begins at the start of product development
 eliciting information from the customer about the work
environment, or domain, in which the final product will function.
 It concentrates on what the system is supposed to do.
 Architectural design
 concentrate on how the system provides the services expected
from the requirement specification.
 performs high-level decomposition of the system into components.
I
 determining which components provide which services. I
 describe the interdependencies between separate components
and the sharing of resources that will arise between components.
26 May 20164
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
The software life cycle con…
 Detailed design
 For immediate integration, the designer must provide a sufficiently
detailed description so that they may be implemented in some
programming language.
 A refinement of the component description provided by the
architectural design.
 Coding and unit testing
 The detailed design for a component of the system should be
implemented in some executable programming language.
 After coding, the component can be tested to verify that it performs
correctly, according to some test criteria.
26 May 20165
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
The software life cycle con…
 Integration and accepting testing
 Once enough components have been implemented and
individually tested, they must be integrated as described in
the architectural design.
 Further testing is done to ensure correct behavior and
acceptable use of any shared resources.
 perform some acceptance testing with the customers to
ensure that the system meets their requirements.
 after acceptance of the integrated system that the product is
finally released to the customer.
 Maintenance
 Maintenance involves the correction of errors in the
system which is discovered after release and the revision
of the system services to satisfy requirements that were
not realized during previous development.
 Therefore, maintenance provides feedback to all of the
other activities in the life cycle. 26 May 20166
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Usability Engineering
knowing exactly what criteria will be used to judge a product for its
usability Examples of usability metrics from ISO 9241
26 May 20167
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Iterative Design and Prototyping
 The essence of iterative design
 a purposeful design process which tries to overcome the
inherent problems of incomplete requirements specification
by cycling through several designs, incrementally improving
upon the final product with each pass.
 On the technical side, iterative design is described by the use
of prototypes, artifacts that simulate or animate some but not
all features of the intended system.
 There are three main approaches to prototyping:
1. Throw-away The prototype is built and tested. The design knowledge
gained from this exercise is used to build the final product, but the
actual prototype is discarded.
2. Incremental The final product is partitioned into independent and
smaller components. The final product is then released as a series of
products, each subsequent release including one more component.
3. Evolutionary Here the prototype is not discarded and serves as the
basis for the next iteration of design.
26 May 20168
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Design rationale
 The information that explains why a computer system is the way
it is, including its structural or architectural description and its
functional or behavioral description.
 relates to an activity of both reflection (doing design rationale) and
documentation (creating a design rationale) that occurs throughout
the entire life cycle.
 It is beneficial to have access to the design rationale for several
reasons:
 In an explicit form, a design rationale provides a communication
mechanism among the members of a design team. so that this
can help avoid incorrect assumptions later.
 Accumulated knowledge in the form of design rationales for a set
of products can be reused to transfer what has worked in one
situation to another situation which has similar needs.
 The process of deliberation can be assisted by the design
rationale technique.
26 May 20169
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Design Rules
 rules a designer can follow in order to increase the usability of the
eventual software product.
 different types of design rules.
 Principles
 Standards
 Guidelines
 Abstract principles offer a way of understanding usability
 Design rules in the form of standards and guidelines provide
direction for design, in both general and more concrete terms, in
order to enhance the interactive properties of the system.
 The essential characteristics of good design are often
summarized through ‘golden rules’ or heuristics.
 Design patterns provide a potentially generative approach to
capturing and reusing design knowledge.
26 May 201610
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Principles to support usability
 applied to the design of an interactive system in order to promote
its usability.
 The principles divided into three main categories:
1. Learnability – the ease with which new users can begin effective
interaction and achieve maximal performance.
2. Flexibility – the multiplicity of ways in which the user and system
exchange information.
3. Robustness – the level of support provided to the user in
determining successful achievement and assessment of goals.
26 May 201611
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Principles of Learnability
26 May 201612
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Principles of flexibility
26 May 201613
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Principles of robustness
26 May 201614
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Standards for interactive system
design
 set by national or international bodies to ensure compliance
with a set of design rules by a large community.
 Standards can apply specifically to either the hardware or the
software used to build the interactive system.
 British Standards Institution (BSI) or the International
Organization for Standardization (ISO) or a national military
agency, has had standards for hardware in place before any for
software.
 hardware standards more common than software high authority
and low level of detail
 ISO 9241 defines usability as effectiveness, efficiency and
satisfaction with which users accomplish tasks
26 May 201615
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Guidelines
 The majority of design rules for interactive systems are suggestive
and more general guidelines.
 Several books and technical reports contain huge catalogs of
guidelines.
 Abstract guidelines (principles) applicable during early life cycle
activities
 The detailed guidelines (style guides) applicable during later life
cycle activities
 The basic categories of the Smith and Mosier guidelines are:
1. Data Entry
2. Data Display
3. Sequence Control
4. User Guidance
5. Data Transmission
6. Data Protection
26 May 201616
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Golden rules and heuristics
 The sets of ‘golden rules’ or heuristics are ‘broad-brush’ design
rules, which may not be always be applicable to every situation,
 They do provide a useful checklist or summary of the essence of
design advice.
 Any designer following even these simple rules will produce a better
system than one who ignores them.
 Sets of heuristics, are Nielsen’s ten heuristics, Shneiderman’s eight
golden rules and Norman’s seven principles.
 Nielsen’s heuristics are intended to be used in evaluation.
Shneiderman’s 8 Golden Rules
1. Strive for consistency
2. Enable frequent users to use shortcuts
3. Offer informative feedback
4. Design dialogs to yield closure
5. Offer error prevention and simple error handling
6. Permit easy reversal of actions
7. Support internal locus of control
8. Reduce short-term memory load
26 May 201617
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
Golden rules and heuristics con…
Norman’s 7 Principles
 Norman’s seven principles provide a useful summary of his user-
centered design philosophy
1. Use both knowledge in the world and knowledge in the head.
2. Simplify the structure of tasks.
3. Make things visible: bridge the gulfs of Execution and Evaluation.
4. Get the mappings right.
5. Exploit the power of constraints, both natural and artificial.
6. Design for error.
7. When all else fails, standardize.
26 May 201618
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia
HCI Design Patterns
 An approach to reusing knowledge about successful design
solutions
 Originated in architecture: Alexander
 A pattern is an invariant solution to a recurrent problem within a
specific context.
 Patterns do not exist in isolation but are linked to other patterns
in languages which enable complete designs to be generated
 Characteristics of patterns
 capture design practice not theory
 capture the essential common properties of good examples of
design
 represent design knowledge at varying levels: social,
organisational, conceptual, detailed
 embody values and can express what is humane in interface
design
 are intuitive and readable and can therefore be used for
communication between all stakeholders
 a pattern language should be generative and assist in the
development of complete designs.
26 May 201619
Presented by Dr. J. VijiPriya,
Assistant Professor, Hawassa University,
Ethiopia

Human Computer Interaction Chapter 3 HCI in the Software Process and Design Rules - Dr. J. VijiPriya

  • 1.
    Chapter 3 HCI inthe Software Process Design Rules 26 May 20161 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia Human Computer Interaction
  • 2.
    The software lifecycle  Software engineering  provides the structure for applying techniques to develop software systems  The software life cycle  An attempt to identify the activities that occur in software development  These activities must be ordered in time in any development project and appropriate techniques must be adopted to carry them.  In the development of a software product,  consider two main parties: the customer who requires the use of the product and the designer who must provide the product 26 May 20162 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 3.
    The software lifecycle con… 26 May 20163 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 4.
    The software lifecycle con…  Requirements specification  begins at the start of product development  eliciting information from the customer about the work environment, or domain, in which the final product will function.  It concentrates on what the system is supposed to do.  Architectural design  concentrate on how the system provides the services expected from the requirement specification.  performs high-level decomposition of the system into components. I  determining which components provide which services. I  describe the interdependencies between separate components and the sharing of resources that will arise between components. 26 May 20164 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 5.
    The software lifecycle con…  Detailed design  For immediate integration, the designer must provide a sufficiently detailed description so that they may be implemented in some programming language.  A refinement of the component description provided by the architectural design.  Coding and unit testing  The detailed design for a component of the system should be implemented in some executable programming language.  After coding, the component can be tested to verify that it performs correctly, according to some test criteria. 26 May 20165 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 6.
    The software lifecycle con…  Integration and accepting testing  Once enough components have been implemented and individually tested, they must be integrated as described in the architectural design.  Further testing is done to ensure correct behavior and acceptable use of any shared resources.  perform some acceptance testing with the customers to ensure that the system meets their requirements.  after acceptance of the integrated system that the product is finally released to the customer.  Maintenance  Maintenance involves the correction of errors in the system which is discovered after release and the revision of the system services to satisfy requirements that were not realized during previous development.  Therefore, maintenance provides feedback to all of the other activities in the life cycle. 26 May 20166 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 7.
    Usability Engineering knowing exactlywhat criteria will be used to judge a product for its usability Examples of usability metrics from ISO 9241 26 May 20167 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 8.
    Iterative Design andPrototyping  The essence of iterative design  a purposeful design process which tries to overcome the inherent problems of incomplete requirements specification by cycling through several designs, incrementally improving upon the final product with each pass.  On the technical side, iterative design is described by the use of prototypes, artifacts that simulate or animate some but not all features of the intended system.  There are three main approaches to prototyping: 1. Throw-away The prototype is built and tested. The design knowledge gained from this exercise is used to build the final product, but the actual prototype is discarded. 2. Incremental The final product is partitioned into independent and smaller components. The final product is then released as a series of products, each subsequent release including one more component. 3. Evolutionary Here the prototype is not discarded and serves as the basis for the next iteration of design. 26 May 20168 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 9.
    Design rationale  Theinformation that explains why a computer system is the way it is, including its structural or architectural description and its functional or behavioral description.  relates to an activity of both reflection (doing design rationale) and documentation (creating a design rationale) that occurs throughout the entire life cycle.  It is beneficial to have access to the design rationale for several reasons:  In an explicit form, a design rationale provides a communication mechanism among the members of a design team. so that this can help avoid incorrect assumptions later.  Accumulated knowledge in the form of design rationales for a set of products can be reused to transfer what has worked in one situation to another situation which has similar needs.  The process of deliberation can be assisted by the design rationale technique. 26 May 20169 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 10.
    Design Rules  rulesa designer can follow in order to increase the usability of the eventual software product.  different types of design rules.  Principles  Standards  Guidelines  Abstract principles offer a way of understanding usability  Design rules in the form of standards and guidelines provide direction for design, in both general and more concrete terms, in order to enhance the interactive properties of the system.  The essential characteristics of good design are often summarized through ‘golden rules’ or heuristics.  Design patterns provide a potentially generative approach to capturing and reusing design knowledge. 26 May 201610 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 11.
    Principles to supportusability  applied to the design of an interactive system in order to promote its usability.  The principles divided into three main categories: 1. Learnability – the ease with which new users can begin effective interaction and achieve maximal performance. 2. Flexibility – the multiplicity of ways in which the user and system exchange information. 3. Robustness – the level of support provided to the user in determining successful achievement and assessment of goals. 26 May 201611 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 12.
    Principles of Learnability 26May 201612 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 13.
    Principles of flexibility 26May 201613 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 14.
    Principles of robustness 26May 201614 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 15.
    Standards for interactivesystem design  set by national or international bodies to ensure compliance with a set of design rules by a large community.  Standards can apply specifically to either the hardware or the software used to build the interactive system.  British Standards Institution (BSI) or the International Organization for Standardization (ISO) or a national military agency, has had standards for hardware in place before any for software.  hardware standards more common than software high authority and low level of detail  ISO 9241 defines usability as effectiveness, efficiency and satisfaction with which users accomplish tasks 26 May 201615 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 16.
    Guidelines  The majorityof design rules for interactive systems are suggestive and more general guidelines.  Several books and technical reports contain huge catalogs of guidelines.  Abstract guidelines (principles) applicable during early life cycle activities  The detailed guidelines (style guides) applicable during later life cycle activities  The basic categories of the Smith and Mosier guidelines are: 1. Data Entry 2. Data Display 3. Sequence Control 4. User Guidance 5. Data Transmission 6. Data Protection 26 May 201616 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 17.
    Golden rules andheuristics  The sets of ‘golden rules’ or heuristics are ‘broad-brush’ design rules, which may not be always be applicable to every situation,  They do provide a useful checklist or summary of the essence of design advice.  Any designer following even these simple rules will produce a better system than one who ignores them.  Sets of heuristics, are Nielsen’s ten heuristics, Shneiderman’s eight golden rules and Norman’s seven principles.  Nielsen’s heuristics are intended to be used in evaluation. Shneiderman’s 8 Golden Rules 1. Strive for consistency 2. Enable frequent users to use shortcuts 3. Offer informative feedback 4. Design dialogs to yield closure 5. Offer error prevention and simple error handling 6. Permit easy reversal of actions 7. Support internal locus of control 8. Reduce short-term memory load 26 May 201617 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 18.
    Golden rules andheuristics con… Norman’s 7 Principles  Norman’s seven principles provide a useful summary of his user- centered design philosophy 1. Use both knowledge in the world and knowledge in the head. 2. Simplify the structure of tasks. 3. Make things visible: bridge the gulfs of Execution and Evaluation. 4. Get the mappings right. 5. Exploit the power of constraints, both natural and artificial. 6. Design for error. 7. When all else fails, standardize. 26 May 201618 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
  • 19.
    HCI Design Patterns An approach to reusing knowledge about successful design solutions  Originated in architecture: Alexander  A pattern is an invariant solution to a recurrent problem within a specific context.  Patterns do not exist in isolation but are linked to other patterns in languages which enable complete designs to be generated  Characteristics of patterns  capture design practice not theory  capture the essential common properties of good examples of design  represent design knowledge at varying levels: social, organisational, conceptual, detailed  embody values and can express what is humane in interface design  are intuitive and readable and can therefore be used for communication between all stakeholders  a pattern language should be generative and assist in the development of complete designs. 26 May 201619 Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia