1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model.

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

Use cases Use-cases are a scenario based technique in the UML which identify the actors in an interaction and which describe the interaction itself A set.
Use Case Diagrams Damian Gordon.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Use Case & Use Case Diagram
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Use-case Modeling.
Intro to Systems Requirements COMP1007 © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Systems Requirements Use-Cases.
Documenting Requirements using Use Case Diagrams
Use Cases Chapter 4. After Scenarios Find all the use cases in the scenario that specifies all possible instances of how to report a fire –Ex: “Report.
Bina Nusantara 7 C H A P T E R MODELING SYSTEM REQUIREMENTS WITH USE CASES.
Use Cases: The Technique
Use Case Analysis – continued
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Requirements Management with Use Cases Module 6: Define the System Requirements Management with Use Cases Module 6: Define the System.
CMIS 470 Structured Systems Design
1 Requirements Modeling using UML 2.0 Use Cases. 2 Requirements Engineering Software Lifecycle Activities System Engineering Requirements Analysis Software.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Managing Changing Requirements: Structure the Use Case Model PowerPoint Presentation derived from IBM/Rational course Mastering Requirements Management.
1 Objectives  Describe design constraints.  Identify methods of specifying functional requirements.  Describe techniques for writing and structuring.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1Welcome! Rational Requirements Management.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Use Cases 7/09. lnot part of the system lrepresents roles a user can play lrepresents a human, a machine or another system lactively exchanges information.
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.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Actors and Use Case Diagrams Month Day, Year. Agenda Training Plan Overview Review Detailing Requirements with Requisite Pro Concepts Setting Up XDE Integration.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
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.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Requirements Management with Use Cases Module 9: Requirements Across The Product Lifecycle Requirements Management with Use Cases Module 9: Requirements.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 3: Outlining Use Cases.
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
Requirements Management with Use Cases Module 0: About this course Requirements Management with Use Cases Module 0: About this course.
Chapter 4: Business Process and Functional Modeling, continued
Use Case Modeling - II Lecture # 27.
The Movement To Objects
Recall The Team Skills Refining the Use cases
Chapter 8 Advanced Interaction Modeling
Object Oriented Analysis and Design
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model

2 Objectives  Simplify the maintenance of the requirements without sacrificing clarity or comprehension for stakeholders.  Structure the use-case model.  Define and describe the relationships between use cases. Include, Extend, Generalization  Describe concrete and abstract use cases.  Define actor generalizations.  Describe concrete and abstract actors.

3 Where Are We in the Requirements Discipline?

4 Manage Change: Activities and Artifacts

5 Structure the Use-Case Model  What is model structuring?  Factoring out parts of use cases to make new use cases.  Why structure the use-case model?  Simplify the original use cases. Make easier to understand. Make easier to maintain.  Reuse requirements. Share among many use cases.

6 Relationships Between Use Cases  Include  Extend  Generalization «include» «extend» WP5: Structuring the Use-Case Model

7 What Is an I nclude Relationship?  A relationship from a base use case to an inclusion use case.  The behavior defined in the inclusion use case is explicitly included into the base use case. «include» Base Inclusion

8 Include Relationship: RU e-st Example Identify Customer Use Case 1. Log on 2. Validate logon 3. Enter password 4. Verify password A1: Not valid logon A2: Wrong password A3:... Get Quote Use Case 1. Include “Identify Customer” to verify customer’s identity 2. Display options. Customer selects “Get Quote” Execute Trade Get Quote Identify Customer Other Use Case «include» Trading Customer RUCS7: Structured Use- Case Reports

9 Execution of an Include Relationship  Fully executed when the inclusion point is reached. Use-Case Instance Base Use Case Included Use Case

10 Why Use an Include Relationship?  Factor out behavior common to two or more use cases. Avoid describing same behavior multiple times. Assure common behavior remains consistent.  Factor out and encapsulate behavior from a base use case. Simplify complex flow of events. Factor out behavior not part of primary purpose. «include» Base Inclusion Why?

11 What Is an Extend Relationship?  Connects from an extension use case to a base use case.  Insert extension use case’s behavior into base use case.  Insert only if the extending condition is true.  Insert into base use case at named extension point. «extend» Extension Base

12 Extend Relationship: RU e-st Example RUCS4: Structured Use- Case Reports Get Expert Predictions Get News Get Quote «extend» Trading CustomerExpert Quote System News System

13 Extend Relationship: RU e-st Example (cont.) Get Quote Use Case Basic Flow: 1. Include “Identify Customer” to verify customer’s identity. 2. Display options. 3. Customer selects “Get Quote.” 4. Customer gets quote. 5. Customer gets other quotes. 6. Customer logs off. A1. Quote System unavailable … Extension Points: The “Optional Services” extension point occurs at Step 3 in the Basic Flow and Step A1.7 in Quote System Unavailable alternative flow. Get News Use Case This use case extends the Get Quote Use Case, at extension point “Optional Services.” Basic Flow: 1. If Customer selects “Get News,” the system asks customer for time period and number of news items. 2. Customer enters time period and number of items. The system sends stock trading symbol to News System, receives reply, and displays the news to the customer. 3. The Get Quote Use Case continues. A1: News System Unavailable A2: No News About This Stock …

14 Execution of an Extend  Executed when the extension point is reached and the extending condition is true. Use-Case Instance Base Use Case Extension Use Case Extension Point

15 Why Use an Extend Relationship?  Factor out optional or exceptional behavior.  Executed only under certain conditions.  Factoring out simplifies flow of events in base use case.  Example: Triggering an alarm.  Add extending behavior.  Behavior developed separately, possibly in later version. « extend » Extension Base

16 Concrete Versus Abstract Use Cases Abstract use cases (A & D): Do not have to be complete. Exist only for other use cases. Are never instantiated on their own. A use case is either concrete or abstract. «extend» «include» Concrete use cases (B & C): Have to be complete and meaningful. Can be instantiated on their own. A D C B Hint: Cover up all abstract use cases and you should still be able to understand the main purpose of the system.

17 Why Wouldn’t You Structure The Model?  The solution is harder to see when the use case gets fragmented. Functionally decompose the requirements. Decrease understandability. Increase complexity. Increases effort for reviewers, implementers and testers. Not all stakeholders are comfortable with the format.  The use-case model looks like a design. «include» Base Inclusion Why not? «extend» Extension Child

18  Actors may have common characteristics.  Multiple actors may have common roles or purposes interacting with a use case. What Is Actor Generalization? Child 1 Child 2 Parent

19  Parent: Medical Worker  Medical Worker can read charts  Children: Doctor, Nurse, Aide  Doctor, Nurse, and Aide can read charts Actor Generalization: Hospital Example Read Chart Nurse Aide Medical Worker Doctor Schedule Operation

20 Why Use Actor Generalization?  Simplify associations between many actors and a use case.  Show that an instance of a child can perform all behavior described for the parent.  Represent different security levels. Child 1 Child 2 Parent

21 Abstract Versus Concrete Actors  An abstract actor contains the common part of the roles.  It cannot be instantiated itself.  Example: No person is hired to be a Medical Worker.  A concrete actor can be instantiated.  Example: Lauren is a Doctor. Daniel is a nurse. DoctorNurse Medical Worker

22 Use-Case-Modeling Guidelines  Notations to use and not use.  For example, whether to use generalization relationships.  Rules, recommendations, style issues, and how to describe each use case.  Recommendations for when to start structuring the use cases (not too early). RUCS11: Use- Case Modeling Guidelines

23 Discussion: Structuring the Use-Case Model  How should we structure the use-case model for our class project?  Include relationships?  Extend relationships?  Actor generalizations?

24 Review: Relationships in the Use-Case Model from to generalization «include» «extend» generalization communicates from to

25 Checkpoints for Use Cases  For an included use case: does it make assumptions about the use cases that include it? Such assumptions should be avoided so that the included use case is not affected by changes to the including use cases.  Are there some optional requirements that are not part of the standard product requirements? If so, you model this with an extend-relationship to the other use case.

26 Review: Structure the Use-Case Model 1.Why might you decide to structure your use-case model? 2.When is an extend-relationship used? 3.When is an include-relationship used? 4.What is an abstract actor? A concrete actor? An abstract use case? A concrete use case?

27 Summary (1 of 2)  Build the right system right by using a process to define and manage requirements to meet the customer’s needs.  Effective problem analysis helps avoid the “Yes, but…”  Elicitation helps you understand your stakeholders’ needs.  Use features and a use-case model to gain agreement with the customer on the definition of the system.

28 Summary (2 of 2)  Increase your chances to deliver on time and on budget by managing scope throughout the lifecycle of the project.  A use-case model of requirements helps refine the system definition to drive design, test, and user documentation.  Requirement attributes and traceability help you manage change and avoid “scope creep.”

29 MRMUC Handouts WP 1: The Five Levels of Requirements Management Maturity WP 2: Features, Use Cases, and Requirements, Oh My! WP 3: Using the RUP to Evolve a Legacy System WP 4: Generating Test Cases from Use Cases WP 5: Structuring the Use-Case Model WP 6: ACRE: Selecting Methods For Requirements Acquisition

30 Other Sources of Information  Rational Unified Process®  Other courses  Essentials of Rational Unified Process®  Essentials of Rational® RequisitePro® Web-based or Instructor-led training  Mastering Business Modeling with the UML  Web sites  Rational’s corporate site:  Rational Developer Network SM :  Books and articles about requirements management  See Reference list