Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.

Slides:



Advertisements
Similar presentations
Use Case Diagrams Damian Gordon.
Advertisements

Use Case & Use Case Diagram
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
Information System Design IT60105
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Solid Palette Gradient Palette I Gradient Palette II APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Object Oriented Analysis Process
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
RUP Requirements RUP Artifacts and Deliverables
Requirements Management with Use Cases Module 6: Define the System Requirements Management with Use Cases Module 6: Define the System.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process (Part 1) CS3300 Fall 2015.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1Welcome! Rational Requirements Management.
Case Study :. Introduction The ATM network will consist of a large number of ATM machines distributed over a wide geographical area. The network must.
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
1 Source: IBM Academic Program IBM Software Group ® Mastering Requirements Management with Use Cases Module 3: Introduction to Use-Case Modeling.
Faculty of Computer & Information Software Engineering Third year
Software Requirements Engineering: What, Why, Who, When, and How
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Faculty of Computer & Information
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Software Requirements and Design Khalid Ishaq
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Requirements Management with Use Cases Module 9: Requirements Across The Product Lifecycle Requirements Management with Use Cases Module 9: Requirements.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Requirements Management with Use Cases Module 3: Analyze the Problem Requirements Management with Use Cases Module 3: Analyze the Problem.
RequisitePro Software Requirement Management Tool A peresentation by: Mojdeh Jalali-Heravi Maryam Daneshi.
1 LAB What is Collaboration diagram? 4 Collaboration diagrams illustrate the interaction between the objects, using static spatial structure. 4.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Rational Requirements Management with Use Cases v 5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirements Management Overview NIGMS Software Development.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Rational Requirements Management with Use Cases v 5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
Requirement Discipline Spring 2006/1385 Semester 1.
Requirements Management with Use Cases Module 5: Define The System To Be Built Requirements Management with Use Cases Module 5: Define The System To Be.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
Requirements Management with Use Cases Module 0: About this course Requirements Management with Use Cases Module 0: About this course.
Chapter 5 유스케이스 개요 Introduction to Use Cases
Recall The Team Skills Analyzing the Problem (with 5 steps)
Dynamic Modeling of Banking System Case Study - I
Object-Oriented Static Modeling of the Banking System - I
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Real-Time Structured Analysis and Design Technique (RSTAD)
Presentation transcript:

Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved About This Course 1 - Best Practices of Software Engineering 2 - Introduction to RMUC 3 - Analyze the Problem 4 - Understand Stakeholder Needs 5 - Define the System 6 - Manage the Scope of the System 7 - Refine the System Definition 8 - Manage Changing Requirements 9 - Requirements Across the Product Lifecycle RMUC: Course Outline

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 3 Introduction to RMUC: Overview Problem Solution Space Problem Space Needs Features Software Requirements Test Procedures DesignUser Docs The Product To Be Built Traceability

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 4 Introduction to RMUC: Module Objectives  Define requirements management terms  Gather information about why requirements management is crucial to project success  Learn how requirements management drives the entire development process  Begin use-case modeling of requirements

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 5 Why Are We Here? The GOAL is to deliver quality products on time and on budget which meet the customer’s real needs.

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 6 Agreement on What the System Should Do The Goal Surrogate Goal Requirements Verification Customer User Community Requirements System To Be Built Adapted from Al Davis

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 7 Definitions: Requirements and Their Management  A requirement is a condition or capability to which the system must conform  Requirements management is a systematic approach to  Eliciting, organizing, and documenting the requirements of the system, and  Establishing and maintaining agreement between the customer/user and the project team on the changing requirements of the system

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 8 Requirements Specifications User Documentation Specifications Design Specifications Test Specifications Use-Case Model Supplementary Specifications Vision Document Features Software Requirements Needs

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 9 What Do We Do in Requirements Management?

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 10 Workers and Artifacts in The Requirements Workflow

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 11 Linking Requirements

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 12 What Factors Contribute to Project Success? Standish Group, ‘95 ( Project Success Factors  Only 16% of projects completed on time and on budget (all companies)  9% (large companies)  28% (small companies)  53% of projects over-ran their original estimates  Average overrun: 189% (+$59 billion)  31% of projects canceled before completion ($81 billion) However... Why are these results so bad? 1) User Involvement 2) Executive Management Support 13.9% 3) Clear Statement of Requirements 11.8% 15.9%

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 13 What Factors Contribute to Project Failure? Standish Group, ‘95 ( Project Impaired (canceled) Factors Project Challenged (over-runs) Factors

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 14 How Can Use Cases Help Projects Succeed? The idea behind use cases is to decide what the system will be used for before defining what the system is supposed to do.  Show why the system is needed  Use cases: what users will be using the system for  Actors: who/what wants to use the system  Provide unifying thread for system development  Use cases are the behavior the system must provide  Use cases drive Analysis & Design, and Test

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 15 What Is a Use-Case Model? A Sample System Bank Consortium Bank Customer Deposit Funds Withdraw Cash An Automated Teller Machine (ATM) Transfer Funds Cashier Maintain ATM Maintenance Crew

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 16 Actor: someone/something outside the system that interacts with the system Use case: sequence of actions performed by a system that yields an observable result of value to an actor Actor Use Case Definitions and symbols: Actors and Use Cases

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 17 Communicates-association (Line or Arrow): an association between an actor and a use case, indicating that they interact Arrow: indicates who initiates communication with the use case Actor Use Case Definitions and symbols: Communicates-Association Actor 2

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 18 Each Communicates-Association Is A Whole Dialog Transmit request Send back approval Dispense cash Ask for Receipt Printed receipt Return bank card Insert Card Approve card Enter PIN Approve PIN Enter account, amount Withdraw Cash Bank Consortium Bank Customer

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 19 A Use-Case Model Is Mostly Text! Use-Case-Model Survey - survey description - list of all actors - list of all use cases Withdraw Cash - brief description - flow of events Transfer Funds - brief description - flow of events Deposit Funds - brief description - flow of events Maintain ATM - brief description - flow of events Bank Customer Transfer Funds Deposit Funds An ATM Maintain ATM Withdraw Cash Bank ConsortiumCashierMaintenance Crew

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 20 Sample System: Requested Features for An ATM  Design the software for an automated teller machine (ATM). The ATM requests necessary information from the bank by communicating with the bank consortium system.  The ATM accepts a cash card, interacts with the user via a display and a key pad, communicates with the bank consortium system to carry out the transaction, receives and dispenses cash, and prints out a receipt.  A user should be able to withdraw cash, transfer funds between two of her accounts, and deposit to an account.  When a transaction is finished, the card is ejected.  The system requires appropriate record keeping and security provisions.

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved ReadyUndoHelp Cash Dispenser Deposit Input Printer Card Reader Sample System: Sketch of User Interface

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 22 1.Look at ATM Use-Case Model in the Handouts  Use-Case-Model Survey for ATM in Handout UC 1  Use-Case Report for Withdraw Cash in Handout UC 3.1  Don’t try to understand all the details. We’ll revisit later. 2. Answer the following questions  What actors are humans? What actors are not human?  How many use cases are there?  If a Bank Customer withdraws cash, is a receipt always printed?  If a Bank Customer wants to withdraw cash and enters a wrong PIN, what is this ATM required to do? Exercise: A Sample Use-Case Model UC1 and UC3.1

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 23 Benefits of Use Cases  Use cases are easy to understand  Use terminology that customers and users understand  Verify developer understanding  Use cases give context for requirements  Identify users of the system  Identify system interfaces  Put system requirements in logical sequences  Help verify that all requirements are captured  Use cases facilitate agreement with the customer on system requirements

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 24 Customer A Use-Case Model Helps with ‘Scope Creep’  The customer is aware there is a change to the use-case model  Makes the cost impact visible to the customer I’ll need a new use case and change some existing use cases...

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 25 The High Cost of Requirement Errors Relative Cost to Repair Errors: When introduced vs. when repaired Requirements Time Design Coding Unit Test Acceptance Test Maintenance Stage “All together, the results show as much as a 200:1 cost ratio between finding errors in the requirements and maintenance stages of the software lifecycle.” Boehm 1988 Average cost ratio 14:1 Grady 1989 The Rule

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 26 Involve the Whole Team in Requirements  Developers, Testers, Writers  Help develop requirements management practices  Monitor adherence to practices  Verify elicitation process  Help document requirements  Participate in requirements reviews  Participate in or chair a CCB (Change Control Board)  Review traceability outcomes  Verify quality, testability, completeness

Requirements Management with Use Cases v2000 Copyright © 1998, 2000 Rational Software, all rights reserved 27 Review: Introduction to RMUC (Modules 0 and 2) 1. What is our goal? 2. How can we “measure” quality?  What are the FURPS categories of requirements?  What categories within each of these apply to your product? 3. Why is it important to establish a baseline? How is it done? 4. How can a Use-Case Model help a project succeed?  What is a use case? What is an actor?  What is the relationship from an actor to a use case?  How does a Use-Case Model help avoid scope creep? 5. What does the “ Rule” tell us about finding defects? 6. What are some ways to involve the development team early?