CMPT 275 Software Engineering

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

Requirements Engineering Processes – 2
Zhongxing Telecom Pakistan (Pvt.) Ltd
1
Chapter 7 System Models.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
Processes and Operating Systems
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
RXQ Customer Enrollment Using a Registration Agent (RA) Process Flow Diagram (Move-In) Customer Supplier Customer authorizes Enrollment ( )
MS Windows 2000 PRO Widely used version of the Microsoft windows operating system Designed for use on computer workstations and portable computers Workstation.
1 Hyades Command Routing Message flow and data translation.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Create an Application Title 1A - Adult Chapter 3.
Custom Statutory Programs Chapter 3. Customary Statutory Programs and Titles 3-2 Objectives Add Local Statutory Programs Create Customer Application For.
Making the System Operational
Agile Modeling Emitzá Guzmán Agile Modeling.
Rhesy S.ppt proRheo GmbH
Programming Language Concepts
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Microsoft®.
Excel Functions. Part 1. Introduction 2 An Excel function is a formula or a procedure that is performed in the Visual Basic environment, outside the.
© Tally Solutions Pvt. Ltd. All Rights Reserved 1 Control Centre December 09.
Course Objectives After completing this course, you should be able to:
Week 2 The Object-Oriented Approach to Requirements
2010 Labs & Tools for ITE 1 Gratitude Kudyachete, Manager - SSA CATC Lab Tools for IT E 4.1.
Turing Machines.
PP Test Review Sections 6-1 to 6-6
User Friendly Price Book Maintenance A Family of Enhancements For iSeries 400 DMAS from Copyright I/O International, 2006, 2007, 2008, 2010 Skip Intro.
EIS Bridge Tool and Staging Tables September 1, 2009 Instructor: Way Poteat Slide: 1.
Legacy Systems Older software systems that remain vital to an organisation.
CS 6143 COMPUTER ARCHITECTURE II SPRING 2014 ACM Principles and Practice of Parallel Programming, PPoPP, 2006 Panel Presentations Parallel Processing is.
INTRODUCTION Lesson 1 – Microsoft Word Word Basics
Chapter 18 Designing User Interfaces
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
1 Displaying Open Purchase Orders (F/Y 11). 2  At the end of this course, you should be able to: –Run a Location specific report of all Open Purchase.
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
Adding Up In Chunks.
Global Analysis and Distributed Systems Software Architecture Lecture # 5-6.
1 How Do I Order From.decimal? Rev 05/04/09 This instructional training document may be updated at anytime. Please visit and check the.
2004 EBSCO Publishing Presentation on EBSCOadmin.
Chapter 10: The Traditional Approach to Design
Analyzing Genes and Genomes
Systems Analysis and Design in a Changing World, Fifth Edition
© 2005 by Prentice Hall Chapter 12 Designing Interfaces and Dialogues Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 12 Designing Interfaces and Dialogues
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Chapter 12 Working with Forms Principles of Web Design, 4 th Edition.
Essential Cell Biology
PSSA Preparation.
Essential Cell Biology
Immunobiology: The Immune System in Health & Disease Sixth Edition
Energy Generation in Mitochondria and Chlorplasts
Chapter 14 Designing User Interfaces
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 16 Slide 1 User interface design.
From Model-based to Model-driven Design of User Interfaces.
What’s new in WebSpace Changes and improvements with Xythos 7.2 Effective June 24,
TCP/IP Protocol Suite 1 Chapter 18 Upon completion you will be able to: Remote Login: Telnet Understand how TELNET works Understand the role of NVT in.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
1 CMPT 275 High Level Design Phase Modularization.
Presentation transcript:

CMPT 275 Software Engineering Phase: Design High level design activity

Objectives of Design The design phase takes the results of the requirements analysis phase and evolves these results further The results of the design phase feeds directly into the implementation phase Requirements analysis → WHAT the system must do Next Goal: determine HOW the software system is to accomplish what it must do Janice Regan, 2008

Basis of System Design The design phase uses the analysis model Non-functional requirements / constraints Use case model: (from users point of view) Use cases and use case diagrams state diagrams Object model: Context diagram, class diagrams Janice Regan, 2008

Objectives of System Design The design phase produces a system model That is based on specific design goals for the designers That defines architecture and Subsystem design Identifying subsystems/modules (manageable parts) Identifying architecture (hardware/software) Data management / mapping Access control, flow control (sequencing operations) That describes boundary use cases: Initialization, termination, configuration, exception handling Janice Regan, 2008

System design activities Functional requirements Non Functional requirements Analysis Analysis dynamic model Analysis object model System design Design goals Subsystem decomposition Object design Janice Regan, 2008

Objectives of system design Transforms analysis model (from requirements analysis) into a system design model Identify, model system architecture Develop an efficient system decomposition Identify boundary use cases describing configuration, startup, shutdown, exceptional conditions. Janice Regan, 2008

Design goals, System decomposition Identify design goals (choose aspects of the system to be optimized) Design goals are often derived from non-functional requirements. Guide designers in assessing trade offs Develop and refine a subsystem decomposition that satisfies the maximum number of design goals and or the most critical design goals Refine the decomposition to better satisfy the design goals Janice Regan, 2008

Design goals When assessing design goals consider Selection of existing components (off the shelf modules or components ) Hardware / software mapping, Are there multiple nodes or systems What is each node responsible for selecting solutions for managing persistent data Access control policies Control flow on a solution wide basis Boundary conditions (startup, error, shutdown) Janice Regan, 2008

Map of design phase DESIGN LOW LEVEL (object) DESIGN HIGH LEVEL (system)DESIGN Data Persistence Subsystem Classes Class Interfaces Interaction Diagrams Module Interfaces Modularization architecture User Interface User Manual Implementation Janice Regan, 2008

Why a User Interface Module? Making the GUI a module Easy replacement/expansion of interface Can easily replace without changing functionality of the system ( What if you wanted a command line interface, or a modified version of the GUI) Janice Regan, 2008

User Interfaces Facilitate two-way communication with user It is a good idea to keep the user interface and the functionality of software system separate Functionality of software system determines what information is to be communicated (content) and user interface determines how that information is to be communicated (form) Janice Regan, 2008

Guidelines for User Interface Design A user interface should: Be simple Speak the user’s language Maximize user’s prior knowledge & minimize memorization Be intuitive Be consistent Provide feedback Give control to the user Prevent errors Accommodate multiple skill levels Janice Regan, 2008

Guidelines for UI Design Be simple Reduce clutter, make UI transparent Minimize number of mouse clicks / keyboard characters, levels of navigation Maximize user’s prior knowledge & minimize memorization Use interfaces similar to those a user will be familiar with from other applications on his/her platform Janice Regan, 2008

Guidelines for UI Design Speak the user’s language Use terms from the users application domain where appropriate Be intuitive Combine logically related options Use meaningful labels, names, icons Janice Regan, 2008

Guidelines for UI Design Be consistent Don’t make a labeled button do different things in different places Use the same approaches throughout Accommodate multiple skill levels Have multiple ways to complete a task (e.g. mouse click or keyboard shortcut) Janice Regan, 2008

Guidelines for UI Design Provide feedback Clear error messages. Include instructions on how to recover from the problem Explain what acceptable input is and if necessary why it is acceptable Indicate when the system is busy, the user should know if the system is working or has crashed (stopped) Context sensitive help Janice Regan, 2008

Guidelines for UI Design Give control to the user Allow the user to undo, redo, confirm, cancel, exit … as appropriate Warn the user if an operation cannot be undone Prevent errors Anticipate and disallow user actions that could lead to errors Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? The company claims this was just a joke and never meant to be seen by users. The programmer who did it no longer works for the company, and many thousands of letters of apology were sent to customers. Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Outlook actually has found the Calendar folder, it just lacks permission to read it. Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What is the problem? Janice Regan, 2008

What is the problem? Janice Regan, 2008

What is the problem? This window appears when you attempt to disconnect the secure file transmission tool during an file transfer Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

What’s the Problem? Janice Regan, 2008

User Interface Design The User interface is how your user interacts with your program Specifying which actions it should perform Evaluating, viewing, and saving results It should not be tied to how your program determines the results When designing your interface think in terms of how the user will see the system, make the system easy for the user (not the designer) to use and understand. Janice Regan, 2008

User-Centered Design 1. Analyse: who are the users, how are tasks currently performed, steps presently taken while doing task, how user knows if task was successful … 2. Design: draft your user interfaces using… UI descriptions from your SRS Guidelines for User Interface Design Janice Regan, 2008

User-Centered Design 3. Evaluate: Run your user interfaces by the users Do users know what to do at each step Do users know how to accomplish each step 4. Iterate: Goto step 1. Our goal -> User satisfaction, To the user the interface is the system Janice Regan, 2008

Users view of a system The users view of a system is the UI. The user does not know or need to know or care how the internals of the system functions. The users understanding of the system is based on their interaction with the UI and their knowledge of the application area Requirements analysis defines what the system does and collects information about how those tasks are normally done in the application area. Incorporate how it is done in the design of your UI. Janice Regan, 2008

UI Descriptions Describe the interaction between software system and actors Start with UI descriptions and use cases in requirements (remember these should contain only enough detail to be able to explain the behavior of the system) Refine use cases, add the ‘how’ to the UI descriptions Janice Regan, 2008

UI Descriptions Guideline: 1 interface per actor Each actor has their own initial screen That screen may lead to a series of screens performing all required tasks Later screen in the sequence may be common to multiple actors Janice Regan, 2008

User Interface Design: Project For requirements analysis UI screens were functional focused on purpose of screen, not its layout In Design, focus on screen layout. Many functions may be incorporated into one window. Multiple screens from requirements may be merged for simplicity Consider various types of widgets, select the best for each purpose (simplest?) Janice Regan, 2008