Chapter 12: User Interface Design

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

CMPT 275 Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Alternate Software Development Methodologies
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
Software Engineering COMP 201
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Design Creative Process of transferring the problem into a solution
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
UI Standards & Tools Khushroo Shaikh.
7M701 1 User Interface Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 15
1 SWE Introduction to Software Engineering Lecture 5.
© Lethbridge/Laganière 2001 Chapter 7: Focusing on Users and Their Tasks1 7.1 User Centred Design (UCD) Software development should focus on the needs.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Chapter 13: Designing the User Interface
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design.
Principles of Object Technology Module 1: Principles of Modeling.
Software Development Process
UML - Development Process 1 Software Development Process Using UML (2)
Use Cases Yonglei Tao.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
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.
Chapter 10: Applying Responsibility Assignment Patterns
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Chapter 8: Actor-System Interaction Modeling
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Chapter 4: Software Requirements Elicitation
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Chapter 14. Activity Modeling for Transformational Systems
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 18: Implementation Considerations
Systems Analysis and Design in a Changing World, 3rd Edition
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Software Engineering COSC 4460 Class 4 Cherry Owen.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Microsoft Office 2013: In Practice Chapter 4 Creating and Using Forms and Reports Copyright © 2014 by The McGraw-Hill Companies, Inc. All rights reserved.McGraw-Hill/Irwin.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
The principles of an object oriented software development process Week 04 1.
Conceptual design Tells the customer what the system will do Tells the customer what the system will do Answers: Answers: Where will the data come from?
The Systems Development Environment Systems Analysis and Design II.
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
10 key principles of agile software development
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Introduction to Software Engineering
Object Oriented Analysis and Design
Gathering Systems Requirements
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Gathering Systems Requirements
Chapter 6: Architectural Design
Chapter 14. Activity Modeling for Transformational Systems
Chapter 18: Implementation Considerations
Chapter 8: Actor-System Interaction Modeling
Presentation transcript:

Chapter 12: User Interface Design

Key Takeaway Points User interface design is concerned with the design of the look and feel of the user interfaces. The design for change, separation of concerns, information-hiding, high-cohesion, low-coupling, and keep-it-simple-and-stupid software design principles should be applied during user interface design.

UI Design in the Methodology Context Use case-iteration allocation matrix Business goals & needs Current situation Accommodating Requirements Change Customer feedback Acquiring Requirements Iteration use cases Domain Modeling Preliminary requirements Domain model Domain model Deriving Use Cases from Requirements Actor-System Interaction Modeling & UI Design Abstract & high level use cases, use case diagrams Expanded use cases & UI design Allocating Use Cases & Subsystems to Iterations Behavior Modeling & Responsibility Assignment Behavior models Use case-iteration allocation matrix Deriving Design Class Diagram Producing an Architecture Design Design class diagram Software architecture Test Driven Development, Integration, & Deployment (a) Planning Phase (b) Iterative Phase – activities during each iteration control flow data flow control flow & data flow

User Interface Design Activities Layout design for windows and dialog boxes. Design of interaction behavior. Design of information presentation schemes. Design of online support.

Importance of User Interface Design The user interface is the sole communication channel between the user and the system. Users’ feeling about the interface greatly influences the acceptance of the system and success of the project. User-friendly interfaces may improve an organization’s productivity and work quality, and reduce operating costs.

Graphical User Interface Widgets Container widgets window, dialog box, scroll pane, tabbed pane, and layered pane, and others. Input, output and information presentation widgets text-oriented I/O widgets, selection-oriented input widgets, featured widgets

User Interface Design Process (3) Specify interaction behavior Actor-System Interaction Modeling Expanded Use Cases (2) Produce a draft design of windows and dialogs (4) Implement a prototype if desired (1) Identify major system displays (5) Evaluate UI design with users

Edit State Diagram System Displays

Windows, Dialogs and Widgets

Layout Design of State Diagram Editor

State Diagram Editor Behavior (partial) add or delete a state or transition, File->Save, File->Close [!saved]/display warning message Editor Window w/a Blank Diagram click State button, click canvas File->New Diagram File->Save As Initial Editor Main Window File->Close Editor Window w/a State Diagram Save State Diagram As Dialog locate diagram, OK OK File->Open Diagram OK or Cancel State Diagram Selection Dialog double-click a state or transition Clear/clear all fields Edit State/ Transition Dialog

Prototypes are useful for obtaining user feedback. Types of prototypes Using Prototypes Prototypes are useful for obtaining user feedback. Types of prototypes Static approaches generate nonexecutable prototypes. Dynamic approaches generate executable prototypes. Hybrid approaches construct static prototypes during the initial stage of prototype development and switch to dynamic prototyping later.

Evaluating User Interfaces with Users User interface presentation. User interface demonstration. User interface experiment. User interface review meeting. User interface survey.

User Support Capabilities User support capabilities include online documentation, context-dependent help, error messages, and recovery. Online help should let the user find the needed information easily. Context-dependent help is a user-friendly design technique. Chain of responsibility supports this. Error messages should be user-oriented, rather than developer-oriented, and be easy to understand.

Recover from Undesired State Undo and redo operations (command pattern) Automatic backup and restore system states (memento pattern) Exception handling Software fault tolerance

Guidelines for User Interface Design User interface design should be user-centric. The user interface should be consistent. Minimize switching between mouse mode and keyboard mode. A nice feature may not be that nice. Eat your own cooking.

Applying Agile Principles Active user involvement is imperative. A collaborative and cooperative approach between all stakeholders is essential. Requirements evolve but the timescale is fixed. Develop small, incremental releases and iterate. In addition, focus on frequent delivery of software products. A good enough user interface design is enough. Value the working software over the design. Capture requirements at a high level; lightweight and visual.