23
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design

User interface design

Embed Size (px)

DESCRIPTION

User interface design. The user interface. User interfaces should be designed to match the skills, experience and expectations of its anticipated users. System users often judge a system by its interface rather than its functionality. - PowerPoint PPT Presentation

Citation preview

Page 1: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1

User interface design

Page 2: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 2

The user interface

User interfaces should be designed to match the skills, experience and expectations of its anticipated users.

System users often judge a system by its interface rather than its functionality.

A poorly designed interface can cause a user to make catastrophic errors.

Poor user interface design is the reason why so many software systems are never used.

Page 3: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 3

Human factors in interface design

Limited short-term memory• People can instantaneously remember about 7 items of

information. If you present more than this, they are more liable to make mistakes.

People make mistakes• When people make mistakes and systems go wrong,

inappropriate alarms and messages can increase stress and hence the likelihood of more mistakes.

People are different• People have a wide range of physical capabilities. Designers

should not just design for their own capabilities. People have different interaction preferences

• Some like pictures, some like text.

Page 4: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 4

User interface design principles

Principle Description

User familiarity The interface should use terms and concepts which are drawnfrom the experience of the people who will make most use of thesystem.

Consistency The interface should be consistent in that, wherever possible,comparable operations should be activated in the same way.

Minimal surprise Users should never be surprised by the behaviour of a system.

Recoverability The interface should include mechanisms to allow users torecover from errors.

User guidance The interface should provide meaningful feedback when errorsoccur and provide context-sensitive user help facilities.

User diversity The interface should provide appropriate interaction facilities fordifferent types of system user.

Page 5: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 5

Design principles

User familiarity• The interface should be based on user-oriented

terms and concepts rather than computer concepts. For example, an office system should use concepts such as letters, documents, folders etc. rather than directories, file identifiers, etc.

Consistency• The system should display an appropriate level

of consistency. Commands and menus should have the same format, command punctuation should be similar, etc.

Minimal surprise• If a command operates in a known way, the user should be

able to predict the operation of comparable commands

Page 6: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 6

Design principles

Recoverability• The system should provide some resilience to

user errors and allow the user to recover from errors. This might include an undo facility, confirmation of destructive actions, 'soft' deletes, etc.

User guidance• Some user guidance such as help systems, on-line

manuals, etc. should be supplied User diversity

• Interaction facilities for different types of user should be supported. For example, some users have seeing difficulties and so larger text should be available

Page 7: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 7

Design issues in UIs

Two problems must be addressed in interactive systems design• How should information from the user be provided to the

computer system?• How should information from the computer system be

presented to the user? User interaction and information presentation may

be integrated through a coherent framework such as a user interface metaphor.

Page 8: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 8

Interaction styles

Direct manipulation Menu selection Form fill-in Command language Natural language

Page 9: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 9

Interaction styles

Interactionstyle

Main advantages Main disadvantages Applicationexamples

Directmanipulation

Fast and intuitiveinteractionEasy to learn

May be hard to implement.Only suitable where there is avisual metaphor for tasks andobjects.

Video gamesCAD systems

Menuselection

Avoids user errorLittle typing required

Slow for experienced users.Can become complex if manymenu options.

Most general-purpose systems

Form fill-in Simple data entryEasy to learnCheckable

Takes up a lot of screen space.Causes problems where useroptions do not match the formfields.

Stock control,Personal loanprocessing

Commandlanguage

Powerful and flexible Hard to learn.Poor error management.

Operating systems,Command andcontrol systems

Naturallanguage

Accessible to casualusersEasily extended

Requires more typing.Natural language understandingsystems are unreliable.

Informationretrieval systems

Page 10: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 10

Multiple user interfaces

Linux operating system

X-windows GUImanager

Graphical userinterface

(Gnome/KDE)

Commandlanguageinterpreter

Unix shellinterface(ksh/csh)

Page 11: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 11

Web-based interfaces

Many web-based systems have interfaces based on web forms.

Form field can be menus, free text input, radio buttons, etc.

In the LIBSYS example, users make a choice of where to search from a menu and type the search phrase into a free text field.

Page 12: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 12

LIBSYS search form

LIBSYS: Search

Choose collection

Keyword or phrase

Search using

Adjacent words

Search Reset Cancel

All

Title

Yes No

Page 13: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 13

The UI design process

UI design is an iterative process involving close liaisons between users and designers.

The 3 core activities in this process are:• User analysis. Understand what the users will

do with the system;• System prototyping. Develop a series of

prototypes for experiment;• Interface evaluation. Experiment with these

prototypes with users.

Page 14: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 14

Web Application User Interface Design Patterns

- Software patterns are reusable solutions to recurring problems that occur during software development

- Software patterns provide developers with a common vocabulary to discuss software development problems

Page 15: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 15

Web Application User Interface Design Patterns

- There are different kinds of software patterns. The ones that started the pattern revolution and the most well-known are called design patterns.

- Design patterns are reusable class combinations and algorithms for solving recurring design problems.

- The idea is to abstract the high level interactions between objects and reuse their behaviors from application to application

- Writing code is easy. Figuring out what kind to write is the challenge.

Page 16: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 16

Web Application User Interface Design Patterns

- Model-View-Controller (MVC) is an example of a design pattern.

- Problem: How do you separate input, processing, and output of an interactive application so that there is minimal impact on the overall system if the input mechanism changes or the output requirement changes.

- Solution: Separate the application into three components: model, view, and controller.

Page 17: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 17

Web Application User Interface Design Patterns

Model-View-Controller

Page 18: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 18

Web Application User Interface Design Patterns

There are many design patterns:

Factory

Builder

Iterator

Mediator

*

*

*

Page 19: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 19

Web Application User Interface Design Patterns

A pattern typically has:

- The motivation or context that this pattern applies to.

- Prerequisites that should be satisfied before deciding to use a pattern.

- A description of the program structure that the pattern will define.

- A list of the participants needed to complete a pattern.

- Consequences of using the pattern...both positive and negative.

- Examples

Page 20: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 20

Web Application User Interface Design Patterns

The notion of patterns has been applied to

various phases of the software life cycle –

analysis, design, testing– and has been applied

particular domains.

We will take a look at using patterns that have

been developed for user interaction for web

applications

Page 21: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 21

Web Application User Interface Design Patterns

The patterns we will use and discuss are

documented on the site

http://www.welie.com/patterns

Page 22: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 22

Page 23: User interface design

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 23