Introduction to Software Engineering

Slides:



Advertisements
Similar presentations
Chapter 15 User Interface Design.
Advertisements

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 16 Slide 1 User interface design.
ESE Einführung in Software Engineering
Introduction to Software Engineering 7. Modeling Behaviour.
User Interface Design Yonsei University 2 nd Semester, 2013 Sanghyun Park.
User Interface Design Notes p7 T120B pavasario sem.
Chapter 13 User Interface Design.
11 HCI - Lesson 5.1 Heuristic Inspection (Nielsen’s Heuristics) Prof. Garzotto.
12. Summary, Trends, Research. © O. Nierstrasz PS — Summary, Trends, Research Roadmap  Summary: —Trends in programming paradigms  Research:...
Soft. Eng. II, Spr 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 4 Title: the user interface Reading: I. Sommerville, Chap. 15.
ESE Einführung in Software Engineering N. XXX Prof. O. Nierstrasz Fall Semester 2009.
Interface Design Instructor: Dr. Jerry Gao. Interface Design Jerry Gao, Ph.D. Jan Interface design - Internal and external interfaces - User interfaces.
1 SWE Introduction to Software Engineering Lecture 27 – User Interface Design (Chapter 16)
ESE Einführung in Software Engineering X. CHAPTER Prof. O. Nierstrasz Wintersemester 2005 / 2006.
7M701 1 User Interface Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 15
COMP365: DESIGN Information systems architecture
1 SWE Introduction to Software Engineering Lecture 26 – User Interface Design (Chapter 16)
1 / 31 CS 425/625 Software Engineering User Interface Design Based on Chapter 15 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed.,
User Interface Design: Methods of Interaction. Accepted design principles Interface design needs to consider the following issues: 1. Visual clarity 2.
ESE Einführung in Software Engineering X. CHAPTER Prof. O. Nierstrasz Wintersemester 2005 / 2006.
Today’s class Group Presentation More about principles, guidelines, style guides and standards In-class exercises More about usability Norman’s model of.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15Slide 1 User interface design l Designing effective interfaces for software systems.
ESE Einführung in Software Engineering
Principles and Methods
User Interface Design. Overview The Developer’s Responsibilities Goals and Considerations of UI Design Common UI Methods A UI Design Process Guidelines.
User interface design Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design.
User interface design. Recap User Interface GUI Characteristics (Windows, Icons, Menus, Pointing, Graphics) User Centered Design User Interface Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design.
User interface design.
Chapter 29 - Interaction design
Software Engineering User Interface
1 ISE 412 Human-Computer Interaction Design process Task and User Characteristics Guidelines Evaluation.
Object Oriented Programming 31465
Chapter 11: Interaction Styles. Interaction Styles Introduction: Interaction styles are primarily different ways in which a user and computer system can.
1 SWE 513: Software Engineering Usability II. 2 Usability and Cost Good usability may be expensive in hardware or special software development User interface.
1 Human-Computer Interaction  Design process  Task and User Characteristics  Guidelines  Evaluation.
User interface design. Recap OOD is an approach to design so that design components have their own private state and operations Objects should have constructor.
CSC 480 Software Engineering Lecture 19 Nov 11, 2002.
©RavichandranUser interface Slide 1 User interface design.
Computer Graphics Lecture 28 Fasih ur Rehman. Last Class GUI Attributes – Windows, icons, menus, pointing devices, graphics Advantages Design Process.
What is a sketch? Chapter 1.2 addendum Sketching User Experiences: The Workbook.
SWE205 Review Spring Why is software unusable? Users are no longer trained. Why? Feature creep Inherently hard: a problem of communication Designed.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Multimedia Specification Design and Production 2012 / Semester 1 / week 5 Lecturer: Dr. Nikos Gazepidis
SEG3120 User Interfaces Design and Implementation
Software Architecture
Software Engineering User Interface Design Slide 1 User Interface Design.
Developed by Tim Bell Department of Computer Science and Software Engineering University of Canterbury Human Computer Interaction.
Input Design Lecture 11 1 BTEC HNC Systems Support Castle College 2007/8.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15Slide 1 User interface design l Designing effective interfaces for software systems.
Ch16: User Interface Design Users often judge a system by its interface rather than its functionality Poorly designed interfaces can cause users to make.
Human Computer Interface INT211
Human-Computer Interaction Design process Task and User Characteristics Guidelines Evaluation ISE
Basic Elements.  Design is the process of collecting ideas, and aesthetically arranging and implementing them, guided by certain principles for a specific.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15Slide 1 Chapter 15 User Interface Design.
©Ian Sommerville 2004bzupages.com. Chapter 16 Slide 1 User interface design.
IT323 - Software Engineering 2 1 Tutorial 3.  Suggest ways in which the user interface to an e-commerce system such as an online stores might be adapted.
Chapter 2: Advanced programming concepts Part 3: The user interface Lecture 5 1.
Systems and User Interface Software. Types of Operating System  Single User  Multi User  Multi-tasking  Batch Processing  Interactive  Real Time.
© 2016 Cognizant. © 2016 Cognizant Introduction PREREQUISITES SCOPE Heuristic evaluation is a discount usability engineering method for quick, cheap,
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
Chapter 15 User Interface Design.
Chapter 6 : User interface design
Chapter 16: User Interface Design
User interface design.
Unit 2 User Interface Design.
Software engineering USER INTERFACE DESIGN.
Chapter 12 User Interface Design
User interface design.
ESE Einführung in Software Engineering 8. User Interface Design Prof. O. Nierstrasz.
Presentation transcript:

Introduction to Software Engineering 8. User Interface Design

Roadmap Interface design models Design principles GUI characteristics ESE — User Interface Design Roadmap Interface design models Design principles GUI characteristics Usability Testing © Oscar Nierstrasz

ESE — User Interface Design Literature Sources Software Engineering, I. Sommerville, 7th Edn., 2004. Software Engineering — A Practitioner’s Approach, R. Pressman, Mc-Graw Hill, 5th Edn., 2001. Recommended reading Mary Beth Rosson, John M. Carroll, Usability Engineering, 2002 Jakob Nielsen, Usability Engineering, Morgan Kaufmann, 1999. Alan Cooper, About Face — The Essentials of User Interface Design, Hungry Minds, 1995. Alan Cooper, The Inmates are running the Asylum, SAMS, 1999. Jef Raskin, The Humane Interface, Addison Wesley, 2000. Jeff Johnson, GUI Bloopers, Morgan Kaufmann, 2000. The Interface Hall of Shame, http://homepage.mac.com/bradster/iarchitect/shame.htm http://homepage.mac.com/bradster/iarchitect/shame.htm http://www.frankmahler.de/mshame/ © Oscar Nierstrasz

Roadmap Interface design models Design principles GUI characteristics ESE — User Interface Design Roadmap Interface design models Design principles GUI characteristics Usability Testing © Oscar Nierstrasz

ESE — User Interface Design 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. © Oscar Nierstrasz

The design process © Ian Sommerville 2004 © Oscar Nierstrasz ESE — User Interface Design The design process © Ian Sommerville 2004 © Oscar Nierstrasz

Interface Design Models ESE — User Interface Design Interface Design Models Four different models occur in HCI design: The design model expresses the software design. The user model describes the profile of the end users. (i.e., novices vs. experts, cultural background, etc.) The user’s model is the end users’ perception of the system. The system image is the external manifestation of the system (look and feel + documentation etc.) © Oscar Nierstrasz

UI Models … Implementation Model Mental Model Worse Manifest Models ESE — User Interface Design UI Models … Implementation Model Mental Model Worse Manifest Models Better Alan Cooper, About Face, 1995 © Oscar Nierstrasz

Roadmap Interface design models Design principles GUI characteristics ESE — User Interface Design Roadmap Interface design models Design principles GUI characteristics Usability Testing © Oscar Nierstrasz

User Interface Design Principles ESE — User Interface Design User Interface Design Principles Principle Description User familiarity Use terms and concepts familiar to the user. Consistency Comparable operations should be activated in the same way. Commands and menus should have the same format, etc. Minimal surprise If a command operates in a known way, the user should be able to predict the operation of comparable commands. Feedback Provide the user with visual and auditory feedback, maintaining two-way communication. © Oscar Nierstrasz

Principle Description ESE — User Interface Design Principle Description Memory load Reduce the amount of information that must be remembered between actions. Minimize the memory load. Efficiency Seek efficiency in dialogue, motion and thought. Minimize keystrokes and mouse movements. Recoverability Allow users to recover from their errors. Include undo facilities, confirmation of destructive actions, 'soft' deletes, etc. User guidance Incorporate some form of context-sensitive user guidance and assistance. © Oscar Nierstrasz

Roadmap Interface design models Design principles GUI characteristics ESE — User Interface Design Roadmap Interface design models Design principles GUI characteristics Usability Testing © Oscar Nierstrasz

GUI Characteristics Characteristic Description Windows ESE — User Interface Design GUI Characteristics Characteristic Description Windows Multiple windows allow different information to be displayed simultaneously on the user’s screen. Icons Usually icons represent files (including folders and applications), but they may also stand for processes (e.g., printer drivers). Menus Menus bundle and organize commands (eliminating the need for a command language). Pointing A pointing device such as a mouse is used for command choices from a menu or indicating items of interest in a window. Graphics Graphical elements can be commands on the same display. © Oscar Nierstrasz

GUIs Advantages Problems They are easy to learn and use. ESE — User Interface Design GUIs Advantages They are easy to learn and use. Users without experience can learn to use the system quickly. The user may switch attention between tasks and applications. Fast, full-screen interaction is possible with immediate access to the entire screen Problems A GUI is not automatically a good interface Many software systems are never used due to poor UI design A poorly designed UI can cause a user to make catastrophic errors © Oscar Nierstrasz

Direct Manipulation Advantages ESE — User Interface Design Direct Manipulation Advantages Users feel in control and are less likely to be intimidated by the system User learning time is relatively short Users get immediate feedback on their actions mistakes can be quickly detected and corrected Problems Finding the right user metaphor may be difficult It can be hard to navigate efficiently in a large information space. It can be complex to program and demanding to execute © Oscar Nierstrasz

Menu Systems Advantages Users don’t need to remember command names ESE — User Interface Design Menu Systems Advantages Users don’t need to remember command names Typing effort is minimal User errors are trapped by the interface Context-dependent help can be provided (based on the current menu selection) Problems Actions involving logical conjunction (and) or disjunction (or) are awkward to represent If there are many choices, some menu structuring facility must be used Experienced users find menus slower than command language © Oscar Nierstrasz

Menu Structuring Scrolling menus ESE — User Interface Design Menu Structuring Scrolling menus The menu can be scrolled to reveal additional choices Not practical if there is a very large number of choices Hierarchical menus Selecting a menu item causes the menu to be replaced by a sub-menu Walking menus A menu selection causes another menu to be revealed Associated control panels When a menu item is selected, a control panel pops-up with further options © Oscar Nierstrasz

ESE — User Interface Design Command Interfaces With a command language, the user types commands to give instructions to the system May be implemented using cheap terminals Easy to process using compiler techniques Commands of arbitrary complexity can be created by command combination Concise interfaces requiring minimal typing can be created © Oscar Nierstrasz

Command Interfaces Advantages ESE — User Interface Design Command Interfaces Advantages Allow experienced users to interact quickly with the system Commands can be scripted (!) Problems Users have to learn and remember a command language Not suitable for occasional or inexperienced users An error detection and recovery system is required Typing ability is required (!) © Oscar Nierstrasz

Analogue vs. Digital Presentation ESE — User Interface Design Analogue vs. Digital Presentation Digital presentation Compact — takes up little screen space Precise values can be communicated Analogue presentation Easier to get an 'at a glance' impression of a value Possible to show relative values Easier to see exceptional data values Ch 15 © Oscar Nierstrasz

ESE — User Interface Design Colour Use Guidelines Colour can help the user understand complex information structures. Don’t use (only) colour to communicate meaning! Open to misinterpretation (colour-blindness, cultural differences ...) Design for monochrome then add colour Use colour coding to support user tasks highlight exceptional events allow users to control colour coding Use colour change to show status change Don't use too many colours Avoid colour pairings which clash Use colour coding consistently which clash © Oscar Nierstrasz

Roadmap Interface design models Design principles GUI characteristics ESE — User Interface Design Roadmap Interface design models Design principles GUI characteristics Usability Testing © Oscar Nierstrasz

ESE — User Interface Design Usability Testing Observe a group of test subjects performing a pre-defined scenario Which test subjects? How many test subjects? Which scenarios? What to observe? Jakob Nielsen, Usability Engineering © Oscar Nierstrasz

User interface evaluation ESE — User Interface Design User interface evaluation Some evaluation of a user interface design should be carried out to assess its usability. Full scale evaluation is very expensive and impractical for most systems. Ideally, an interface should be evaluated against a usability specification. However, it is rare for such specifications to be produced. © Oscar Nierstrasz

Simple evaluation techniques ESE — User Interface Design Simple evaluation techniques Questionnaires for user feedback. Video recording of system use and subsequent tape evaluation. Instrumentation of code to collect information about facility use and user errors. The provision of code in the software to collect on-line user feedback. © Oscar Nierstrasz

Hints Establish concrete goals — what do you want to achieve? ESE — User Interface Design Hints Establish concrete goals — what do you want to achieve? What criteria will you use to establish “success”? What data will you collect? Choose representative test tasks. Carry out a pilot test first. Test users should truly represent the intended users. Use experienced experimenters. (Get trained!) Make the test subjects feel comfortable. Don’t bias the results. © Oscar Nierstrasz

Usability Attributes Attribute Description Learnability ESE — User Interface Design Usability Attributes Attribute Description Learnability How long does it take a new user to become productive with the system? Speed of operation How well does the system response match the user’s work practice? Robustness How tolerant is the system of user error? Recoverability How good is the system at recovering from user errors? Adaptability How closely is the system tied to a single model of work? © Oscar Nierstrasz

Why you only need to test with 5 users ESE — User Interface Design Why you only need to test with 5 users Nielsen, Jakob, and Landauer, Thomas K.: "A mathematical model of the finding of usability problems," Proceedings of ACM INTERCHI'93 Conference (Amsterdam, The Netherlands, 24-29 April 1993), pp. 206-213. http://www.useit.com/alertbox/20000319.html © Oscar Nierstrasz

Usability laboratories (!) ESE — User Interface Design Usability laboratories (!) Jakob Nielsen, Usability Engineering © Oscar Nierstrasz

ESE — User Interface Design Key points The user interface design process involves user analysis, system prototyping and prototype evaluation. User interface design principles should help guide the design of user interfaces. Interaction styles include direct manipulation, menu systems form fill-in, command languages and natural language. Graphical displays should be used to present trends and approximate values. Digital displays when precision is required. Colour should be used sparingly and consistently. The goals of UI evaluation are to obtain feedback on how to improve the interface design and to assess if the interface meets its usability requirements. © Oscar Nierstrasz

ESE — User Interface Design What you should know! What models are important to keep in mind in UI design? What is the principle of minimal surprise? What problems arise in designing a good direct manipulation interface? What are the trade-offs between menu systems and command languages? How can you use colour to improve a UI? In what way can a help system be context sensitive? © Oscar Nierstrasz

Can you answer the following questions? ESE — User Interface Design Can you answer the following questions? Why is it important to offer “keyboard short-cuts” for equivalent mouse actions? How would you present the current load on the system? Over time? What is the worst UI you every used? Which design principles did it violate? What’s the worst web site you’ve used recently? How would you fix it? What’s good or bad about the MS-Word help system? © Oscar Nierstrasz

Attribution-ShareAlike 3.0 Unported ESE — Introduction License Attribution-ShareAlike 3.0 Unported You are free: to Share — to copy, distribute and transmit the work to Remix — to adapt the work Under the following conditions: Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license. For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. Any of the above conditions can be waived if you get permission from the copyright holder. Nothing in this license impairs or restricts the author's moral rights. http://creativecommons.org/licenses/by-sa/3.0/ © Oscar Nierstrasz