37
CSC CSC 450 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

Embed Size (px)

Citation preview

Page 1: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

1

Devon M. SimmondsUniversity of North Carolina, Wilmington

CSC450Software

Engineering

User Interface Design

Page 2: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

2

Software Design – bridging the gap between requirements & Implementation

In this lecture we will provide an introduction to user interface design:

Definition of user interface Human factors in user interface design UI design principles UI design issues Interaction styles Summary

Requirements Analysis

Software Design

Implementation

TestingDeploymentEvolution

Systems Engineering

Page 3: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

3

Software Design – bridging the gap between requirements & Implementation

In this lecture we will provide an introduction to user interface design:

Definition of user interface Human factors in user interface design UI design principles UI design issues Interaction styles Summary

Requirements Analysis

Software Design

Implementation

TestingDeploymentEvolution

Systems Engineering

Page 4: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

4

What is a User Interface?

The aggregate of means by which users interact with a particular machine, device or computer program.

A user interface provides means of: Input, allowing the users to

manipulate a system Output, allowing the system to

produce the effects of the users' manipulation.

wikipedia.org

Page 5: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

5

Why is Software Design important ?

Page 6: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

6

Software Design – bridging the gap between requirements & Implementation

In this lecture we will provide an introduction to user interface design:

Definition of user interface Human factors in user interface design UI design principles UI design issues Interaction styles Summary

Requirements Analysis

Software Design

Implementation

TestingDeploymentEvolution

Systems Engineering

Page 7: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

7

What is the software architecture?

Page 8: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

8

Software Design – bridging the gap between requirements & Implementation

In this lecture we will provide an introduction to user interface design:

Definition of user interface Human factors in user interface design UI design principles UI design issues Interaction styles Summary

Requirements Analysis

Software Design

Implementation

TestingDeploymentEvolution

Systems Engineering

Page 9: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

9

Quality & Design

Page 10: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

10

Usability vs. Utility

Does the system provide the raw capabilities to allow the user to achieve their goal? This is utility or functionality.

Does the system allow the user to learn and to use the raw capabilities easily? This is usability.

Both utility and usability are essential They must be measured in the context of

particular types of users.

Page 11: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

11

Aspects of usability Usability can be divided into separate

aspects: Learnability

The speed with which a new user can become proficient with the system.

Efficiency of use How fast an expert user can do their work.

Error handling The extent to which it prevents the user from

making errors, detects errors, and helps to correct errors.

Acceptability. The extent to which users like the system.

Page 12: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

12

Usability Principles

1. Do not rely only on usability guidelines – always test with users.

Usability guidelines have exceptions; you can only be confident that a UI is good if you test it successfully with users.

2: Base UI designs on users’ tasks. Perform use case analysis to structure the UI.

3: Ensure that the sequences of actions to achieve a task are as simple as possible.

Reduce the amount of reading and manipulation the user has to do.

Ensure the user does not have to navigate anywhere to do subsequent steps of a task.

Page 13: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

13

Usability Principles

4: Ensure that the user always knows what he or she can and should do next.

Ensure that the user can see what commands are available and are not available.

Make the most important commands stand out.

5: Provide good feedback including effective error messages.

Inform users of the progress of operations and of their location as they navigate.

When something goes wrong explain the situation in adequate detail and help the user to resolve the problem.

Page 14: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

14

Usability Principles

6: Ensure that the user can always get out, go back or undo an action.

Ensure that all operations can be undone. Ensure it is easy to navigate back to where the

user came from.

7: Ensure that response time is adequate. Users are very sensitive to slow response time

They compare your system to others. Keep response time less than a second for

most operations. Warn users of longer delays and inform them

of progress.

Page 15: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

15

Usability Principles

8: Ensure that the UI’s appearance is uncluttered. Avoid displaying too much

information. Organize the information effectively.

Page 16: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

16

Usability Principles

9: Consider the needs of different groups of users. Accommodate people from different locales

and people with disabilities. Ensure that the system is usable by both

beginners and experts.

10: Provide all necessary help. Organize help well. Integrate help with the application. Ensure that the help is accurate.

Page 17: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

17

Usability Principles

11. Be consistent. Use similar layouts and graphic

designs throughout your application. Follow look-and-feel standards. Consider mimicking other

applications.

Page 18: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

18

Quality & DesignSummary

Page 19: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

19

Software Design – bridging the gap between requirements & Implementation

In this lecture we will provide an introduction to user interface design:

Definition of user interface Human factors in user interface design UI design principles UI design issues Interaction styles Summary

Requirements Analysis

Software Design

Implementation

TestingDeploymentEvolution

Systems Engineering

Page 20: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

20

Quality & Design

Page 21: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

21

Software Design – bridging the gap between requirements & Implementation

In this lecture we will provide an introduction to user interface design:

Definition of user interface Human factors in user interface design UI design principles UI design issues Interaction styles Summary

Requirements Analysis

Software Design

Implementation

TestingDeploymentEvolution

Systems Engineering

Page 22: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

22

Interaction Styles Command language

E.g. the DOS command prompt Form fill-in Menu selection

A set of options Direct manipulation

Of the object of interest Natural language

Page 23: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

23

Interaction Styles: Command language

Advantages Flexible. Appeals to expert users. Supports creation of user-

defined "scripts" or macros.

Is suitable for interacting with networked computers.

http://www.interaction-design.org/encyclopedia/interaction_styles.html.20

Page 24: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

24

Interaction Styles: Command language

Disadvantages Retention of commands is

generally very poor. Learnability of commands is

very poor. Error rates are high. Error messages and

assistance are hard to provide.

Not suitable for non-expert users.

http://www.interaction-design.org/encyclopedia/interaction_styles.html

Page 25: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

25

Interaction Styles: Form Fill-in

Advantages Simplifies data entry. Shortens learning in that

the fields are predefined and need only be 'recognized'.

Guides the user via the predefined rules.

http://www.interaction-design.org/encyclopedia/interaction_styles.html

Page 26: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

26

Interaction Styles: Form Fill-in

Disadvantages Consumes screen

space. Usually sets the scene

for rigid formalization of the business processes.

http://www.interaction-design.org/encyclopedia/interaction_styles.html

Page 27: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

27

Interaction Styles: Menu Selection Advantages

Ideal for novice or intermittent users. Can appeal to expert users if display and selection

mechanisms are rapid and if appropriate "shortcuts" are implemented.

Affords exploration (users can "look around" in the menus for the appropriate command, unlike having to remember the name of a command and its spelling when using command language.)

Structures decision making. Allows easy support of error handling as the user's

input does not have to be parsed (as with command language).

http://www.interaction-design.org/encyclopedia/interaction_styles.html

Page 28: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

28

Interaction Styles: Menu Selection

Disadvantages Too many menus may lead

to information overload or complexity of discouraging proportions.

May be slow for frequent users.

May not be suited for small graphic displays.

http://www.interaction-design.org/encyclopedia/interaction_styles.html

Page 29: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

29

Interaction Styles: Direct Manipulation

http://www.interaction-design.org/encyclopedia/interaction_styles.html

Windows file explorer- files are dragged and dropped

Page 30: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

30

Interaction Styles: Direct Manipulation

Characteristics Visibility of the object of

interest. Rapid, reversible,

incremental actions. Replacement of

complex command language syntax by direct manipulation of the object of interest.http://www.interaction-design.org/encyclopedia/interaction_styles.html

Page 31: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

31

Interaction Styles: Direct Manipulation

Advantages Visually presents task

concepts. Easy to learn. Errors can be avoided

more easily. Encourages exploration. High subjective

satisfaction. Recognition memory (as

opposed to cued or free recall memory)http://www.interaction-design.org/encyclopedia/interaction_styles.html

Page 32: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

32

Interaction Styles: Direct Manipulation

Disadvantages May be more difficult to

programme. Not suitable for small graphic

displays. Spatial and visual representation

is not always preferable. Metaphors can be misleading

since the “the essence of metaphor is understanding and experiencing one kind of thing in terms of another”

Compact notations may better suit expert users.

http://www.interaction-design.org/encyclopedia/interaction_styles.html

Page 33: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

33

Design phasesSummary:

Page 34: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

34

Lecture Summary

In this lecture an introduction to user interface design was presented:

Definition of user interface Human factors in user interface design UI design principles UI design issues Interaction styles

Requirements Analysis

Software Design

Implementation

TestingDeploymentEvolution

Systems Engineering

Page 35: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

35

______________________Devon M. Simmonds

Computer Science Department

University of North Carolina Wilmington

_____________________________________________________________

Qu es ti ons?

The End

Page 36: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

36

Completing the Software Design

Update requirements models Create design models

Architectural model, class diagrams, sequence diagrams, state machines

Update use cases Prepare design document Review the design within your

group. Design presentations / report due.

Page 37: 1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering User Interface Design

CSC450CSC450

37

Design Evaluation/Review Criteria These items pertain to the general design as

well as to each design artifact, e.g., the architectural model.

Traceability to requirements. Minimize the intellectual distance between software

and real-world problem. Uniformity and integration. Structured to accommodate change. Reviewed to minimize conceptual (semantic) errors –

omissions, ambiguity, inconsistencies). Modularity – good separation of concerns Coupling – module interconnection minimized Cohesion – high cohesion greater functional

independence.