[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual.

Slides:



Advertisements
Similar presentations
Database Systems: Design, Implementation, and Management Tenth Edition
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Design Concepts and Principles
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
Introduction to Software Engineering 7. Modeling Behaviour.
Software Requirements Engineering
Software Design Deriving a solution which satisfies software requirements.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Design Modeling for Web Applications
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Software Requirements
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Chapter 10: Architectural Design
1 User Interface Design CIS 375 Bruce R. Maxim UM-Dearborn.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Process-oriented System Automation Executable Process Modeling & Process Automation.
Chapter 6: The Traditional Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
USE Case Model.
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 6 The Traditional Approach to Requirements
Chapter 10 Architectural Design
Systems Analysis and Design in a Changing World, Fifth Edition
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.
State Diagrams / System Sequence Diagrams (SSDs)
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
CS 310 Ch8: System models Abstract descriptions of systems being analyzed to help the analyst understand the system functionality communicate with customers.
Database Systems: Design, Implementation, and Management Ninth Edition
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Software Engineering INTRODUCTION TO SOFTWARE ENGINEERING.
Guide to State Transition Diagram. 2 Contents  What is state transition diagram?  When is state transition diagram used?  What are state transition.
CHAPTER TEN AUTHORING.
Approaching a Problem Where do we start? How do we proceed?
Conceptual Modelling – Behaviour
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Introduction Object oriented design is a method where developers think in terms of objects instead of procedures or functions. SA/SD approach is based.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
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?
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Importance of user interface design – Useful, useable, used Three golden rules – Place the user in control – Reduce the user’s memory load – Make the.
CS223: Software Engineering
6 Systems Analysis and Design in a Changing World, Fourth Edition.
CSC480 Software Engineering Lecture 7 September 16, 2002.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
I&C Lab Seminar Procedure for the Software Requirements Specification for Safety Critical Systems Seo Ryong Koo Korea Advanced Institute Science.
An Overview of Requirements Engineering Tools and Methodologies*
Requirements Techniques, cont.
Chapter 6 The Traditional Approach to Requirements.
Unified Modeling Language
Lecture 9- Design Concepts and Principles
Data Dictionaries ER Diagram.
Chapter 10: Process Implementation with Executable Models
Lecture 9- Design Concepts and Principles
Interface Design Easy to learn? Easy to use? Easy to understand?
Design Yaodong Bi.
Presentation transcript:

[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual

[ §6 : 2 ] 6.5 Dataflow Model Need to go past data modeling to discuss data storage, flow, etc. E.g., Process Control Applications Environment (abstract external interfaces) inputs (data and events) are stimuli outputs are externally visible responses System (software functionality) the system maintains a certain amount of data the system’s response to inputs is a complex set of internal actions and external outputs

[ §6 : 3 ] Model Dataflow diagrams notation functions—deterministic input/output transformations triggered by the presence of all needed inputs flows—unbounded queues stores—global system data terminators—interface models minispecs—semantics of the lowest level functions Top-down functional decomposition provides a complexity control mechanism Data dictionary tracks the (global) names and their interpretation Execution model fully concurrent interpretation (any change can occur asynchronously) explicitly marked critical sections (restricts concurrency) stimulus/response interpretation (reactive)

[ §6 : 4 ] Notation

[ §6 : 5 ] Documentation 1.Introduction 2.General description 3.Specific requirements … 4.Performance requirements 5.Design constraints 6.Attributes 7.Other requirements 3.1 Context diagram -system and its environment -terminator definitions 3.2 Dataflow diagrams -hierarchical decomposition of functions, inputs, outputs -minispecs for lowest-level functions (e.g., pseudocode) 3.3 Data dictionary -Layout of flows and stores

[ §6 : 6 ] Critique Semantics of dataflow is often left undefined atomicity (granularity of actions) fairness (scheduling) Concurrent semantics are complex and may allow race conditions to occur The lack of minispecs for the high-level functions makes analysis and precise understanding difficult The diagrams are easy to understand only when the complexity is low, the development cost is high, and the communication bandwidth may be low Improper abstraction for the terminators leads to complex specifications (e.g., repetition for related interface scenarios)

[ §6 : 7 ] Complexity Control Hierarchical decomposition Horizontal partitioning Terminators can become abstract objects Stores can become abstract data objects Messages can become objects All objects may be instances of classes Classes may be defined in terms of each other by employing inheritance Reduces repetition, duplication Inheritance and instance diagrams can by used to capture the relations among classes and objects

[ §6 : 8 ] Case Study: Train Routing Consider a system designed to route trains automatically Upon arrival at some light train is assigned a new route which takes it to the next light The system selects proper position for each switch along the route.

[ §6 : 9 ] Case Study: Train Routing Data stores network layout traffic Stimuli arrival at a light unlock side protection lights identify blocked trains reprocess their routes get new route lock side protection lights on red turn light green (if successful)

[ §6 : 10 ] 6.6 User Manual For Applications Involving Human Interfaces Effective specifications often require the integration of multiple related models Human/computer interactions are too complex for commonly used requirements techniques The User Manual can be used as a substitute for (and/or can grow out of) large sections of the SRS

[ §6 : 11 ] Documentation 1.Introduction 2.General description 3.Specific requirements … 4.Performance requirements 5.Design constraints 6.Attributes 7.Other requirements 3. Specific requirements -conceptual model 3.1 Navigation -screen/window types and flows among them -common interactions 3.2 Screens/windows -layout and information contents -command semantics

[ §6 : 12 ] Navigation Identify the screens/windows Define permitted transitions among them as a graph Identify the events that trigger moves from one screen/window to another Identify interactions common among screens/windows specific to the user interface paradigm in use

[ §6 : 13 ] Conceptual Model A mental map Helps the user anticipate system behavior (navigation, information, commands) “Principle of least surprise” Metaphors Effective tools for building conceptual models Draw on users’ previous experience

[ §6 : 14 ] Screen/Window Specifications Maximize readability (of both layout and structure) simplicity regularity of structure minimality Minimize potential for user errors (in both interactions and general feel) predictability uniformity forgiveness Optimize performance for the typical workflow Design for the common cases Ensure “happy path” works well Engineer each screen and also the entire ensemble Grid based design (next slides) Design for exceptional cases Allow out-of-order sequences (as appropriate)

[ §6 : 15 ] Ad-Hoc Solution

[ §6 : 16 ] A Grid-based Design

[ §6 : 17 ] Final Design

[ §6 : 18 ] Multiple Models If the user manual cannot capture all functional aspects of the system, then a second model is needed Consistency must be maintained The state representation should be that used in the SRS (common abstract state) User commands are specified only once (as state transitions over the abstract state of the system) State information needed for screen presentation is assumed to be directly available

[ §6 : 19 ] Multiple Models

[ §6 : 20 ] Building on the SRS User interface complexity if mainly due to navigation and interaction patterns, postpone development until SRS is completed Data and transition names Can be used directly as in the SRS when needed

[ §6 : 21 ] Case Study: Paint Dryer Consider a controller for a paint drying oven application Painted parts enter the oven one at a time Control software ensures that the part is dried at a specified temperature for a specified duration before leaving the oven The operator can override the duration or temperature for custom parts System monitors duration and temperature settings and allows for changes in these settings Only one setting is used at any one time Production costs may limit the interface to a simple display (e.g., data window + 2 buttons)