Download presentation
Presentation is loading. Please wait.
Published byAmie Tyler Modified over 9 years ago
1
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design
2
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 2 The user interface l User interfaces should be designed to match the skills, experience and expectations of its anticipated users. l System users often judge a system by its interface rather than its functionality. l A poorly designed interface can cause a user to make catastrophic errors. l Poor user interface design is the reason why so many software systems are never used.
3
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 3 Human factors in interface design l 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. l 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. l People are different People have a wide range of physical capabilities. Designers should not just design for their own capabilities. l People have different interaction preferences Some like pictures, some like text.
4
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 4 User interface design principles
5
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 5 Design principles l 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. l Consistency The system should display an appropriate level of consistency. Commands and menus should have the same format, command punctuation should be similar, etc. l Minimal surprise If a command operates in a known way, the user should be able to predict the operation of comparable commands
6
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 6 Design principles l 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. l User guidance Some user guidance such as help systems, on-line manuals, etc. should be supplied l 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
7
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 7 Design issues in UIs l 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? l User interaction and information presentation may be integrated through a coherent framework such as a user interface metaphor.
8
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 8 Interaction styles l Direct manipulation l Menu selection l Form fill-in l Command language l Natural language
9
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 9 Interaction styles
10
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 10 Multiple user interfaces
11
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 11 Web-based interfaces l Many web-based systems have interfaces based on web forms. l Form field can be menus, free text input, radio buttons, etc. l 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.
12
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 12 LIBSYS search form
13
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 13 The UI design process l UI design is an iterative process involving close liaisons between users and designers. l 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.
14
©Ian Sommerville 2004Software 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
15
©Ian Sommerville 2004Software 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.
16
©Ian Sommerville 2004Software 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.
17
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 17 Web Application User Interface Design Patterns Model-View-Controller
18
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 18 Web Application User Interface Design Patterns There are many design patterns: Factory Builder Iterator Mediator *
19
©Ian Sommerville 2004Software 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
20
©Ian Sommerville 2004Software 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
21
©Ian Sommerville 2004Software 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
22
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 22
23
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 23
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.