Requirements to Design Chapter 6. Moving from “lots of Requirements” to “organized Product Design” Product Design ? User/Market/Business “Requirements”

Slides:



Advertisements
Similar presentations
Requirements Elicitation and Use Case Diagrams
Advertisements

© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Karolina Muszyńska Based on:
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
Objectives Detailed Object-Oriented Requirements Definitions
CS3773 Software Engineering Lecture 03 UML Use Cases.
Systems Analysis and Design in a Changing World, Fourth Edition
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.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Software Design Processes and Management
USE Case Model.
Design Patterns Discussion of pages: xi-11 Sections: Preface, Forward, Chapter
RUP Requirements RUP Artifacts and Deliverables
Software Engineering CS B Prof. George Heineman.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Rational Unified Process (Part 1) CS3300 Fall 2015.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Approaching a Problem Where do we start? How do we proceed?
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
UML-1 3. Capturing Requirements and Use Case Model.
Chapter 7 Appendix A Object-Oriented Analysis and Design: Use Cases Modern Systems Analysis and Design Seventh Edition Jeffrey A. Hoffer Joey F. George.
UML-1 8. Capturing Requirements and Use Case Model.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Use Case Modeling Chapter 7 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 Structuring Systems Requirements Use Case Description and Diagrams.
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.
Drawing System Sequence Diagrams
Use Case Model Use case diagram.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Example: object diagram for Scheduler, v What is wrong with this diagram? Seems like a lot of similarity between Task and UnplannedTask Can use.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Moving from “lots of Requirements” to “organized Product Design” Product Design ? User/Market/Business “Requirements” May be in various forms May also.
4-1 © Prentice Hall, 2007 Topic 4: Structuring Systems Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Understanding Requirements
UML - Development Process 1 Software Development Process Using UML.
Dr D. Greer, Queens University Belfast Three 1 Chapter Three Requirements Engineering Software Engineering Objectives.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
1 Week 5 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Requirements Models Representing the Product in Ways Other than Text.
Use Case Analysis Chapter 6.
Systems Analysis and Design in a Changing World, Fourth Edition
Unified Modeling Language
Use Case Model Use case diagram.
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Software Development Process Using UML Recap
Presentation transcript:

Requirements to Design Chapter 6

Moving from “lots of Requirements” to “organized Product Design” Product Design ? User/Market/Business “Requirements” May be in various forms May also be in various forms --- But can we organize this a bit better --- ?

One Way to “Transform” - Functionalities - Data - Non-Functionality (constraints) - U. I. - System Interfaces - Business/Workflow - Input-process-output (Activity Diagram, DataFlowDiagram & ERD & Use Case) - Add functionalities/interfaces (e.g. security check; portability) - Shorten functional algorithm (e.g. performance) -Screen Looks; Dialogue sequence - Database/File Design - Pass Control and Data exchange One form of Requirements “transformed” form of Requirements

Where Do We Go with This? - Input-process-output (Activity Diagram, DataFlowDiagram & ERD & Use Case) - Add functionalities/interfaces (e.g. security check; portability) - Shorten functional algorithm (e.g. performance) -Screen Looks; Dialogue sequence - Database/File Design - Pass Control and Data exchange ? M-V-C screens process DB Layered U. I. PROCPROC proc DB How Do We “Decompose” & “Compose”......

Top-Down / Hierarchical “Structural Breakdown” inputs outputs inputs outputs

Assembling Parts/ OO Approach Class AClass B Class C Class D

Let’s Look to Your Assignment for Clues “Model the Klondike Solitaire Game” Students provided: –Picture(s) of the game being played –A description of what the pictures represent and how a user may interact with it to play the game (get more details): A picture of the more “detailed” descriptions of a specific pile Descriptions of interactions to see additional features –Move a card from/to various piles –Shuffle/deal the deck –See detailed information about how to win the game Another point --- many of you described how “users” would a) evoke the Solitaire game and how “users” may b) interact with it Some used Activity Diagram to depict user “interactions” with the “Klondike Game” and “pictures” and “sub-pictures” to show the functionalities of the Solitaire Game

A “Transitional Technique” for Requirements or Product Design Specification ---Use Case Modeling Requirements Document (pages of English Statements and Diagrams) Analyze & Organize the “function/features” Use Case Diagram Use Case Description

Scenarios & Use Cases in Use Case Modeling Many of the “function and features” in the Requirements Document or Product Design may be viewed as scenarios: –Scenario: describes an set of interactions between the system and a “particular” individual (e.g. Joe moves the cursor to the start button and presses it; then the system creates a deck of cards, shuffles them and deals them and displays the initial game board within in.1 seconds ) –A Use Case generalizes the scenarios: describes the interactions (in general form) between the system and an “actor” (abstract individual or another system or environment) (e.g. A user presses the start button and the solitaire system software displays the the initial game board within.1 second ) Note: Many use “scenario’ and “use-case” interchangeably but we won’t.

(activity diagram) for Use Case Development Process Study/rewrite scenarios Analyze the scenarios & pick the “actors” Use Case Diagram & Descriptions Initial Req. Document Use Case Development Initial Req. Document: Docs Use Case Diagram & Description : Docs Rewrite the scenarios Into Use Cases Associate Actors to the Use Cases “Abstract” the Use Cases And Draw Use Case Diagram

Use Case Diagram The diagram is made of the following: –Use cases (“functionality/feature” provided by the system) ---- in “bubble” diagram forms. –Actors (an external entity which interact with the use cases) ---- in a “stick figure” diagram forms –Association (relates the actors to the use case) ---- using lines –A frame (distinguishes the “system” and the external actors) ---- using a boundary line

UML: Use Case Diagram to represent Use Cases (this is a “static” model) High Level Steps (not necessarily always in sequence): Analyze the scenarios Decide on and create the system boundary Identify the actor(s) Convert the scenarios into abstract use cases Describe the threads of activities that are necessary to support the actors’ needs; these threads of activities “expands” into more detailed use-case descriptions Create the Deck users Klondike Solaritaire System Display Individual pile details > Start the Game In reality, we iterate over these steps! system admin & support System availability

Reviewing the Use Case Diagram Use Case Diagram should be “reviewed” for: –All major functionalities and features to be provided by the product is included (completeness) Check against the requirements list for completeness in coverage –Make sure that there is no duplication nor inconsistency within and among the use cases. –Make sure that all actors (completeness) are included.

UML: Use Case Descriptions (this provides a bit more “dynamic” model) A Use Case Description is a specification of the interaction between the actor(s) and the use case in system(product): –Specifies the actions by the actor –Specifies the system responses to the actions There is no one standard notation for Use Case Descriptions –We will use the one in the “text”

A Sample Use Case Description Template 1.Use Case Name or/number: (for identification purpose) 2.Actors: agents participating in the use case 3.Stakeholders & needs: identify those who have the needs for this use case (e.g. sources of this requirements) 4.Pre-Conditions: conditions that must be true prior to the activity or operation 5.Post-Conditions: conditions that must be true when the operation or activity completes 6.Trigger: an event that causes the use case to begin 7.Basic Flow: A description of the flow of interaction between the actor(s) and the product use case 8.Extensions : description of alternative flow of interaction from the normal flow, such as an error processing flow. Meat Of Descrip. Note: We may include diagrams (such as the activity diagram or the pictorial representation of the UI screens) in the Use Case Description. See example –page 170 of your text