Upload
vijipriya-jeyamani
View
162
Download
1
Embed Size (px)
Citation preview
May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
Chapter 3HCI in the Software Process
Design Rules
1
Human Computer Interaction
May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
The software life cycle Software engineering
provides the structure for applying techniques to develop software systems
The software life cycleAn attempt to identify the activities that occur in software
developmentThese 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
2
May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
The software life cycle con…
3
May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
The software life cycle con… Requirements specification
begins at the start of product developmenteliciting 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. Idescribe the interdependencies between separate
components and the sharing of resources that will arise between components.
4
May 2, 2023Presented 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 testingThe 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.
5
May 2, 2023Presented 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.6
May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
Usability Engineeringknowing exactly what criteria will be used to judge a product for its usability Examples of usability metrics from ISO 9241
7
May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
Iterative Design and PrototypingThe 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.
8
May 2, 2023Presented 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.
9
May 2, 2023Presented 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.
10
May 2, 2023Presented 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.
11
May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
Principles of Learnability
12
May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
Principles of flexibility
13
May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia
Principles of robustness
14
May 2, 2023Presented 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
15
May 2, 2023Presented 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 Entry2. Data Display3. Sequence Control4. User Guidance5. Data Transmission6. Data Protection
16
May 2, 2023Presented 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 Rules1. Strive for consistency 2. Enable frequent users to use shortcuts3. 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
17
May 2, 2023Presented 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 philosophy1. 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.
18
May 2, 2023Presented 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 theorycapture the essential common properties of good examples of designrepresent design knowledge at varying levels: social, organisational,
conceptual, detailedembody values and can express what is humane in interface designare intuitive and readable and can therefore be used for
communication between all stakeholdersa pattern language should be generative and assist in the
development of complete designs.
19