HCI Designing Interface Objects. The presentation layer How prototyping can be used to try out different interface designs How to model boundary classes.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Advertisements

ZEIT2301 Design of Information Systems Behavioural Design: State Machines School of Engineering and Information Technology Dr Kathryn Merrick.
Objectives In this session, you will learn to:
Systems Analysis and Design in a Changing World, Fourth Edition
Summary Class responsibility cards can be used to help allocate responsibilities between different classes. The use of stereotype classes, such as entity,
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.
Slide 1 Systems Analysis & Design CS183 Spring Semester Dr. Jonathan Y. Clark Course Website:
© Bennett, McRobb and Farmer Designing Boundary Classes Based on Chapter 17 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
© 2005 Prentice Hall12-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
03/12/2001 © Bennett, McRobb and Farmer Designing Boundary Classes Based on Chapter 17 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Slide 1 Chapter 8 Behavioral Modeling. Slide 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports.
Logical Architecture and UML Package Diagrams
Case Study: Agate’s Information System
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
System Design Chapter 8. Objectives  Understand the verification and validation of the analysis models.  Understand the transition from analysis to.
The Design Discipline.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Systems Analysis and Design in a Changing World, Fifth Edition
Logical Architecture and UML Package Diagrams 徐迎晓 复旦大学软件学院.
An Introduction to Software Architecture
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Chapter 9 Moving to Design
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Behavioral Modeling Chapter 8.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
GRASP: Designing Objects with Responsibilities
2 Object-Oriented Analysis and Design and the Unified Process Objectives  Explain the purpose and objectives of object- oriented design  Develop design.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Moving On To Design Chapter 9. Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is.
A Student Guide to Object- Oriented Development Chapter 10 Designing objects and classes.
Example: object diagram for Scheduler, v What is wrong with this diagram? Seems like a lot of similarity between Task and UnplannedTask Can use.
© 2010 Bennett, McRobb and Farmer1 Requirements Analysis 2: Realizing Use Cases Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems.
1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Software Systems Design – 4 Class Diagrams (dynamic)
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
© Bennett, McRobb and Farmer 2005
Homework #8 - Deliverable 5 due: 2 December 1. Exec Summary 2. Revisit Use Cases 3. The Analysis Model Class Diagrams Interaction Diagrams 4. Non-Functional.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Object Oriented Analysis and Design Introduction to Rational Rose.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
11. Chapter 11: The Object-Oriented Approach to Design: Use Case Realization Systems Analysis and Design in a Changing World, Fourth Edition.
Design Review.
Case Study -- Weather system
Systems Analysis and Design with UML Version 2.0, Second Edition
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
The Process of Object Modeling
UML dynamic Modeling (Behavior Diagram)
The Object Oriented Approach to Design
Unified Modeling Language
University of Houston-Clear Lake
Software Design Lecture : 15.
An Introduction to Software Architecture
Presentation transcript:

HCI Designing Interface Objects

The presentation layer How prototyping can be used to try out different interface designs How to model boundary classes using sequence diagrams How to model the dynamic behaviour of the user interface using statechart diagrams

Presentation Layer A three-tier architecture is commonly used to separate the user interface classes from the business and application logic classes and from the classes that handle data storage – presentation layer, application logic layer, storage layer – boundary, control and entity classes – Model-View-Controller These approaches keep the behaviour of the interface separate from the behaviour of the classes that provide the main functionality of the system

Reasons for separating business and user interface classes Refer to figure 17.1 pg 411, Bennet

Prototyping the user interface A prototype is a model that looks like the finished product but is lacking in certain features – horizontal prototype – prototypes one layer of the system – vertical prototype – takes a subsystem and prototypes all of the layers – some prototypes are developed iteratively and become part of the finished system – others are used to test design ideas and are then thrown away – known as a throwaway prototype ● throwaway prototypes can be built using a visual programming environment

Prototype of the Check Camping Budget Interface

Prototyping the User Interface Visual programming environments – there is a danger of developing applications from the outside in ● the distinction between the presentation layer and business classes may become blurred ● interface objects may have a large amount of associated code – it is important to keep application logic components separate from the visual components Prototyping can be used to try out alternative interface styles and aid in developing style guidelines

Dialogue Window for the Use Case Check Camping Budget

Collaboration for the Use Case Check Campaign Budget During analysis the class Client does not participate in the main functionality of the use case However, in order to find the right campaign we need the client Further control classes can be added to the collaboration

Extended Collaboration for the Use case Check Campaign Budget

Alternative Collaboration for the Use Case Check Campaign Budget

Class Diagram Showing Dialogue Components

Class for Dialogue Window Showing Dialogue Components as Attributes

Class Diagram Showing Components from other Packages

Sequence Diagram Produced during Analysis for the Use Case Check Campaign Budget

First Part of Detailed Interaction for the Use Case Check Campaign Budget

A new instance of the control class CheckCampaignBudget is created which – creates a new instance of the boundary class CheckCampaignBudgetUI – creates an instance of the control class ListClients – passes to :ListClients a reference to the boundary class (ccbUI) – :ListClients then sets the name of each client in the boundary class by sending addClientName(name) repeatedly – :ListClients then destroys itself

Using Interface Many boundary classes will need to list clients – we therefore need to reuse the control class ListClients ListClients does not need to know how the boundary class lists clients Solution: define the interface ClientLister

Revised Second Part of Detailed Interaction for the Use Case Check Campaign Budget

Final Part of Detailed Interaction for the Use Case Check Campaign Budget

Class Diagram Showing CheckCampaignBudgetUI

Modelling the Interface Using Statecharts Statecharts – model the way that events affect instances of a class over its lifetime – model the short-term effects of events in the user interface Modelling the state of the user interface involves – describing the high-level requirements and main user tasks – describing the user interface behaviour – defining the user interface rules – drawing the statechart – preparing an event-action table

Revised First Part of Detailed Interaction for the Use Case Check Campaign Budget

Summary Prototyping may be used to build models of the interface and test how it will work Designing the interface objects involves modelling three important aspects – the classes that will participate in the interaction with the user (this may involve reusing interface classes) – the interaction with the user in sequence and collaboration diagrams – the state of the interface References – chapter 17, Bennett, McRobb and Farmer