software engg. pressman_ch-12

19
1 Chapter 12 User Interface Design Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman

Upload: dhairya-joshi

Post on 15-May-2015

155 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Software engg. pressman_ch-12

1

Chapter 12User Interface Design

Software Engineering: A Practitioner’s Approach, 6th editionby Roger S. Pressman

Page 2: Software engg. pressman_ch-12

2

Interface Design

Easy to use?Easy to use?

Easy to understand?Easy to understand?

Easy to learn?Easy to learn?

Page 3: Software engg. pressman_ch-12

3

Interface DesignInterface Design

Interface design focuses on three areas of concern:

1) The design of interface between software components

2) The design of interfaces between the software and other nonhuman producers and consumers of information.

3) The design of the interface between a human (ie the user) and the computer.

Focus on the third interface design category – User Interface Design.

Interface design focuses on three areas of concern:

1) The design of interface between software components

2) The design of interfaces between the software and other nonhuman producers and consumers of information.

3) The design of the interface between a human (ie the user) and the computer.

Focus on the third interface design category – User Interface Design.

Page 4: Software engg. pressman_ch-12

4

Golden RulesGolden Rules

Place the user in control Reduce the user’s memory load Make the interface consistent

Place the user in control Reduce the user’s memory load Make the interface consistent

Page 5: Software engg. pressman_ch-12

5

Place the User in ControlPlace the User in Control1.1. Define interaction modes in a way that does not Define interaction modes in a way that does not

force a user into unnecessary or undesired force a user into unnecessary or undesired actions. actions.

2.2. Provide for flexible interaction. Provide for flexible interaction.

3.3. Allow user interaction to be interruptible and Allow user interaction to be interruptible and undoable. undoable.

4.4. Streamline interaction as skill levels advance Streamline interaction as skill levels advance and allow the interaction to be customized. and allow the interaction to be customized.

5.5. Hide technical internals from the casual user. Hide technical internals from the casual user.

6.6. Design for direct interaction with objects that Design for direct interaction with objects that appear on the screen. appear on the screen.

Page 6: Software engg. pressman_ch-12

6

Reduce the User’s Memory LoadReduce the User’s Memory Load

1.1. Reduce demand on short-term Reduce demand on short-term memory. memory.

2.2. Establish meaningful defaults. Establish meaningful defaults.

3.3. Define shortcuts that are intuitive. Define shortcuts that are intuitive.

4.4. The visual layout of the interface The visual layout of the interface should be based on a real world should be based on a real world metaphor. metaphor.

5.5. Disclose information in a Disclose information in a progressive fashion.progressive fashion.

Page 7: Software engg. pressman_ch-12

7

Make the Interface ConsistentMake the Interface Consistent

1.1. Allow the user to put the current Allow the user to put the current task into a meaningful context. task into a meaningful context.

2.2. Maintain consistency across a Maintain consistency across a family of applications. family of applications.

3.3. If past interactive models have If past interactive models have created user expectations, do not created user expectations, do not make changes unless there is a make changes unless there is a compelling reason to do so. compelling reason to do so.

Page 8: Software engg. pressman_ch-12

8

User Interface Design ModelsUser Interface Design Models

Four models come into existence when a user interface is to be analyzed and designed.

1.Human engineer (or software engineer) establishes a user model.

2.Software engineer creates a design model.

3.End-users develops a mental image that is often called the user’s mental model or the system perception.

4.Implementers of the system create a implementation mode.

Four models come into existence when a user interface is to be analyzed and designed.

1.Human engineer (or software engineer) establishes a user model.

2.Software engineer creates a design model.

3.End-users develops a mental image that is often called the user’s mental model or the system perception.

4.Implementers of the system create a implementation mode.

Page 9: Software engg. pressman_ch-12

9

User Interface Design ModelsUser Interface Design Models

User model — a profile of all end users of the system

Design model — a design realization of the user model

Mental model (system perception) — the user’s mental image of what the interface is

Implementation model — the interface “look and feel” coupled with supporting information that describe interface syntax and semantics

User model — a profile of all end users of the system

Design model — a design realization of the user model

Mental model (system perception) — the user’s mental image of what the interface is

Implementation model — the interface “look and feel” coupled with supporting information that describe interface syntax and semantics

Page 10: Software engg. pressman_ch-12

10

User Interface Design ProcessUser Interface Design Process

Page 11: Software engg. pressman_ch-12

11

Interface AnalysisInterface Analysis

Interface analysis means understanding 1. the people (end-users) who will interact

with the system through the interface;

2. The tasks that end-users must perform to do their work,

3. The content that is presented as part of the interface

4. The environment in which these tasks will be conducted.

Interface analysis means understanding 1. the people (end-users) who will interact

with the system through the interface;

2. The tasks that end-users must perform to do their work,

3. The content that is presented as part of the interface

4. The environment in which these tasks will be conducted.

Page 12: Software engg. pressman_ch-12

12

User AnalysisUser Analysis

1. Are users trained professionals, technician, clerical, or manufacturing workers?2. What level of formal education does the average user have?3. Are the users capable of learning from written materials or have they expressed a desire for

classroom training?4. Are users expert typists or keyboard phobic?5. What is the age range of the user community?6. Will the users be represented predominately by one gender?7. How are users compensated for the work they perform? 8. Do users work normal office hours or do they work until the job is done?9. Is the software to be an integral part of the work users do or will it be used only occasionally?10. What is the primary spoken language among users?11. What are the consequences if a user makes a mistake using the system?12. Are users experts in the subject matter that is addressed by the system?13. Do users want to know about the technology the sits behind the interface?

1. Are users trained professionals, technician, clerical, or manufacturing workers?2. What level of formal education does the average user have?3. Are the users capable of learning from written materials or have they expressed a desire for

classroom training?4. Are users expert typists or keyboard phobic?5. What is the age range of the user community?6. Will the users be represented predominately by one gender?7. How are users compensated for the work they perform? 8. Do users work normal office hours or do they work until the job is done?9. Is the software to be an integral part of the work users do or will it be used only occasionally?10. What is the primary spoken language among users?11. What are the consequences if a user makes a mistake using the system?12. Are users experts in the subject matter that is addressed by the system?13. Do users want to know about the technology the sits behind the interface?

Page 13: Software engg. pressman_ch-12

13

Task Analysis and ModelingTask Analysis and Modeling

Task Analysis answers the following questions … What work will the user perform in specific circumstances? What tasks and subtasks will be performed as the user does the work? What specific problem domain objects will the user manipulate as work is

performed? What is the sequence of work tasks—the workflow? What is the hierarchy of tasks?

Use-cases define basic interaction Task elaboration refines interactive tasks Object elaboration identifies interface objects (classes) Workflow analysis defines how a work process is completed when several

people (and roles) are involved Hierarchical representation the hierarchy is derived by a stepwise elaboration

of each task identified for the user

Task Analysis answers the following questions … What work will the user perform in specific circumstances? What tasks and subtasks will be performed as the user does the work? What specific problem domain objects will the user manipulate as work is

performed? What is the sequence of work tasks—the workflow? What is the hierarchy of tasks?

Use-cases define basic interaction Task elaboration refines interactive tasks Object elaboration identifies interface objects (classes) Workflow analysis defines how a work process is completed when several

people (and roles) are involved Hierarchical representation the hierarchy is derived by a stepwise elaboration

of each task identified for the user

Page 14: Software engg. pressman_ch-12

14

Swimlane DiagramSwimlane Diagram

patient pharmacist physician

requests that a

prescription be re f illed

no refills remaining

checks patient

records

determines status o f

prescription

refills remaining

refill not allowed

approves refill

ev aluates alte rnativ e

medication

none

rece iv es request to

contact physician

alternative available

checks inv entory fo r

re f ill o r alternative

out of stockrece ives out o f stock

notif ication

rece ives t ime/ date

to p ick up

in stock

picks up prescription

f ills

prescription

Figure 12.2 Swimlane diagram for prescription refill function

Page 15: Software engg. pressman_ch-12

15

Analysis of Display ContentAnalysis of Display Content

1. Are different types of data assigned to consistent geographic locations on the screen (e.g., photos always appear in the upper right hand corner)?

2. Can the user customize the screen location for content?3. Is proper on-screen identification assigned to all content? 4. If a large report is to be presented, how should it be partitioned for ease of

understanding?5. Will mechanisms be available for moving directly to summary information

for large collections of data.6. Will graphical output be scaled to fit within the bounds of the display device

that is used?7. How will color to be used to enhance understanding?8. How will error messages and warning be presented to the user?

1. Are different types of data assigned to consistent geographic locations on the screen (e.g., photos always appear in the upper right hand corner)?

2. Can the user customize the screen location for content?3. Is proper on-screen identification assigned to all content? 4. If a large report is to be presented, how should it be partitioned for ease of

understanding?5. Will mechanisms be available for moving directly to summary information

for large collections of data.6. Will graphical output be scaled to fit within the bounds of the display device

that is used?7. How will color to be used to enhance understanding?8. How will error messages and warning be presented to the user?

Page 16: Software engg. pressman_ch-12

16

Interface Design StepsInterface Design Steps Using information developed during interface analysis,

define interface objects and actions (operations). Define events (user actions) that will cause the state of

the user interface to change. Model this behavior. Depict each interface state as it will actually look to the

end-user. Indicate how the user interprets the state of the system

from information provided through the interface.

Using information developed during interface analysis, define interface objects and actions (operations).

Define events (user actions) that will cause the state of the user interface to change. Model this behavior.

Depict each interface state as it will actually look to the end-user.

Indicate how the user interprets the state of the system from information provided through the interface.

Page 17: Software engg. pressman_ch-12

17

Interface Design PatternsInterface Design Patterns Patterns are available for

The complete UI Page layout Forms and input Tables Direct data manipulation Navigation Searching Page elements e-Commerce

Patterns are available for The complete UI Page layout Forms and input Tables Direct data manipulation Navigation Searching Page elements e-Commerce www.hcipatterns.org

Page 18: Software engg. pressman_ch-12

18

Design IssuesDesign Issues

Response time Help facilities Error handling Menu and command labeling Application accessibility Internationalization

Response time Help facilities Error handling Menu and command labeling Application accessibility Internationalization

Page 19: Software engg. pressman_ch-12

19

Design Evaluation Cycle preliminary

design

buildprototype #1

interface

evaluationis studied by

designer

designmodifications

are made

buildprototype # n

interface

userevaluate'sinterface

Interface designis complete