Chapter 4 Product Design. Objectives of Design  As all other aspects of object-oriented system development, design can be deployed in an iterative or.

Slides:



Advertisements
Similar presentations
Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Advertisements

Chapter 11 user support. Issues –different types of support at different times –implementation and presentation both important –all need careful design.
User Interface Design Yonsei University 2 nd Semester, 2013 Sanghyun Park.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
User Interface Design Notes p7 T120B pavasario sem.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Introduction To System Analysis and Design
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.
Interaction Styles Course 6, CMC, 07/10/03 Direct Manipulation
Dialog Styles. The Five Primary Styles of Interaction 4 Menu selection 4 Form fill-in 4 Command language 4 Natural language 4 Direct manipulation.
Human Computer Interface. HCI and Designing the User Interface The user interface is a critical part of an information system -- it is what the users.
Copyright © 2005, Pearson Education, Inc. Chapter 8 Command and Natural Languages.
Help and Documentation zUser support issues ydifferent types of support at different times yimplementation and presentation both important yall need careful.
Dialog Styles. The Six Primary Styles of Interaction n Q & A n Menu selection n Form fill-in n Command language n Natural language n Direct manipulation.
Computer ScienceSoftware Engineering Slide 1 Groups Paul Simmerlink Stephen Herbert Daniel Coming Ogechi Ugwulebo James King Jigna J. Bhatt Casey J. Powell.
User Interface Design: Methods of Interaction. Accepted design principles Interface design needs to consider the following issues: 1. Visual clarity 2.
Computer Science CS425/CS6258/23/20011 The Architecting Phase Class diagrams are further refined in this phase of development Object diagrams are created.
Today’s class Group Presentation More about principles, guidelines, style guides and standards In-class exercises More about usability Norman’s model of.
Interaction Styles Interface Widgets. What are Interaction Styles?  A Collection of interface objects and associated techniques from which an interaction.
Help and Documentation CSCI324, IACT403, IACT 931, MCS9324 Human Computer Interfaces.
Principles and Methods
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© 2005 by Prentice Hall Chapter 3c Designing Interfaces and Dialogues.
Dialogue Styles.
CSC450 Software Engineering
Object-Oriented Analysis and Design LECTURE 8: USER INTERFACE DESIGN.
Chapter 7: The Object-Oriented Approach to Requirements
Architectural Design.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
Introduction To System Analysis and design
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Chapter 10 Architectural Design
Chapter 11: Interaction Styles. Interaction Styles Introduction: Interaction styles are primarily different ways in which a user and computer system can.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Chapter 7 Structuring System Process Requirements
Product Design Phases. Design Structured Walk-Through marks the end of the Analysis phase and the beginning of the Design phase –Recall the Structure.
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.
Lecture 6 User Interface Design
Computer Graphics Lecture 28 Fasih ur Rehman. Last Class GUI Attributes – Windows, icons, menus, pointing devices, graphics Advantages Design Process.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Software Evaluation Catherine McKeveney Medical Informatics 1st March 2000.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
Introduction To System Analysis and Design
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.
Design Rules-Part B Standards and Guidelines
User Interface Structure Design Chapter 11. Key Definitions The user interface defines how the system will interact with external entities The system.
User Support Chapter 8. Overview Assumption/IDEALLY: If a system is properly design, it should be completely of ease to use, thus user will require little.
© 2005 Prentice Hall10-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
1 CMPT 275 High Level Design Phase Modularization.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 5:User Interface Design Concepts Of UI Interface Model Internal an External Design Evaluation Interaction Information Display Software.
User Interface Design Lecture #4 Part-A. 30 January, 2008Human Computer Interaction Spring 2008, Lecture #4A 2 Agenda Principles on User Interface Design.
CONTENT  Introduction Introduction  Operating System (OS) Operating System (OS) Operating System (OS)  Summary Summary  Application Software Application.
Copyright (c) 2014 Pearson Education, Inc. Introduction to DBMS.
Human-Computer Interaction Design process Task and User Characteristics Guidelines Evaluation ISE
UML - Development Process 1 Software Development Process Using UML.
CHAPTER
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Chapter 2 Hix & Hartson Guidelines.
Object-Oriented Analysis
Chapter 11 user support.
Proper functionality Good human computer interface Easy to maintain
Presentation transcript:

Chapter 4 Product Design

Objectives of Design  As all other aspects of object-oriented system development, design can be deployed in an iterative or top-down development context  The design phase takes the results of the analysis phase and evolves these results further  The results of the design phase feeds directly into the implementation phase

Product Design versus Class Design  Product design concerns itself with creating effective interactions  Between the system and human users  Between distributed elements of the system  Between software system and solutions for data persistence (e.g. database management systems)  Class design concerns itself with determining class definitions:  Attributes  Method signatures  Class semantics

Product Design Overview  Product design addresses the external structure of the software  External structure includes all software components that interact with external resources, such as  Solutions to data or object persistence  Means by which distributed processes interact over a network (process architecture)  User Interfaces

Object Persistence  Object persistence seeks to retain object information on some persistent storage medium as a file or through a DBMS  Object streaming solutions work for situations were all object information can reside in memory at once  Because most commercial DBMSs are relational in contrast to object-oriented, some translation between the object and relational representations must be made

Evaluating Object Persistence  Security  Hacker proof  Allows reconstruction in face of malicious use  Information growth  Solution still works with increased data volume  Concurrency  Concurrency solution allows for increased users

LMS Case Study: Object Persistence  LMS may contain hundreds of thousands of book entries as well as thousands of other library resources  Large volumes of data are not well suited to object streaming  A DBMS is called for to provide  Concurrent access by multiple users  Security enforcement of different access levels for various user categories  Allow for increased data capacity

LMS Case Study: Relational Representation of Data Relational TablesBook Resource List Patron Address Patron

Process Architecture  Software systems may consist of processes interacting over a network  Process architecture lays out the machines (nodes) that will host the processes making up the system  Process architecture determines the behavior of the distributed processes  Deployment diagrams are used to model distributed processes

Sample Deployment Diagram Game Client Game Server Internet

Modeling Interprocess Communication  Deployment diagrams show the distribution of process over multiple nodes but do not indicate how these processes communicate  State machines may be used to model communication between processes  The idea behind using state machines for modeling interprocess communication is that the system enters a new state when messages are exchanged between processes

UML Notation for State Machines State Name Intermediate State Initial State Final State Trigger State transition with event trigger State Name State with substates

Sample State Machine Showing Interprocess Communication Player Joining Game Get player name Select token { Client States} { Server State} Communicate remaining tokens player name available tokens selected token

Modeling Multiple Threads of Control  Classes that consist of a separate thread of control are modeled as active classes  Active classes are rendered with thick rectangles as shown below Active class Regular class

User Interfaces  The user interface enables users to interact with the software system to accomplish some set of tasks  The user interface consists of interaction techniques that facilitate this human-machine communication  It is a good idea to keep the design for the user interface and the design of the functionality of the remaining system separate

The Role of the User Interface Application Functionality Internal Representation User Interface External Representation User

User Interface Design  Five factors related to user interface quality  Ease of learning  Speed of use  Frequency of user errors  User satisfaction  Knowledge retention

Guidelines for User-Friendly Interfaces  Use easy to learn instructions  Make help functions context-sensitive  Present logically related functions together and consistently  Create graphical interfaces whenever possible  Allow actions to be activated quickly

Know the User  There are three broad categories of users  Novice  Rarely uses the computer  Knowledgeable intermittent user  Has sporadic experience with computer systems  Frequent user  Comfortable with computer systems in general

Rules for Interface Design  Be consistent  Provide shortcuts  Offer useful feedback  Design a beginning, middle and end for each sequence of actions  Prevent catastrophic mistakes  Verify deletion tasks

More Rules for Interface Design  Allow easy reversal of most actions  Allow user to focus on task not the interface  Do not rely on user memory  Display only currently relevant information

Interaction Styles  Menu Selection  Form Fill-in  Command Language  Natural Language  Direct Manipulation

Guidelines for Designing Menus  Be consistent  Use distinctive items  Be concise  Put keywords first in the item name  Create groups of logically similar items

Guidelines for Designing Effective Forms  Use a meaningful title  Give brief but clear instructions  Organize fields logically  Make form visually appealing  Use familiar labels  Create boundaries around data-entry fields  Allow the cursor to be moved conveniently

 Allow easy error correction  Prevent errors when possible  Provide error messages when invalid values are entered  Clearly mark optional fields  Explain individual fields  Clearly signal completion of data-entry More Guidelines for Designing Effective Forms

Design Guidelines for Command Languages  Limit the number of commands  Choose meaningful, distinctive command names  Abbreviate consistently  Select a consistent command syntax structure  Use prompts to help intermittent users  Consider using command menus to help intermittent users

Design Guidelines for Direct Manipulation Interfaces  Use easy to use icons  Avoid misleading analogies  E.g. Window’s trash bin allows retrieval for discarded items, otherwise this would be misleading  Do not violate cultural stereotypes  Use icons for appropriate purposes  Carefully design iconic interaction

Design Summary  Create solution for object persistence  Develop user interface designs  Determine process architecture

Working in Teams  To improve development team dynamics, engage an impartial observer  By meeting during class time and getting class feedback  By having the instructor observe all development teams during class time  By inviting another development team to observe one of your meetings

Possible Obstacles to Effective Meetings  Poor agendas  Dysfunctional communication during the meeting (silence or domination)  Not adhering to the agenda  Discussion may not sufficiently focus on meeting objectives specified by the agenda  Team members are not listening to each other during discussion