19
November 18, 2022 Presented by Dr. J. VijiPriya, Assistant Professor, Hawas sa University, Ethiopia Chapter 3 HCI in the Software Process Design Rules 1 Human Computer Interaction

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

Embed Size (px)

Citation preview

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

May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia

Chapter 3HCI in the Software Process

Design Rules

1

Human Computer Interaction

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

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

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

May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia

The software life cycle con…

3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia

Principles of Learnability

12

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

May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia

Principles of flexibility

13

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

May 2, 2023Presented by Dr. J. VijiPriya, Assistant Professor, Hawassa University, Ethiopia

Principles of robustness

14

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

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

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

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

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

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

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

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

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

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