Contents What is “RUP?” What are Requirement Types

Slides:



Advertisements
Similar presentations
Use Case & Use Case Diagram
Advertisements

Biller Direct Getting Started
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
USE CASE – ATM EXAMPLE Actors: ATM Customer ATM Operator Use Cases: The customer can withdraw funds from a checking or savings account query the balance.
SWE 214 (071) Use Case Diagrams Slide 1 Use Case Diagrams Examples.
Extending the Requirements Model - techniques for detailing use cases
Information System Engineering
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Interaction Diagrams Activity Diagram State Machine Diagram
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
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
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Project Analysis Course ( ) Week 2 Activities.
® 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.
Faculty of Computer & Information Software Engineering Third year
Chapter 6 A Use-Case-Driven Process. 2 Definitions The choice of models and the choice of techniques used to express them have a significant impact on.
Faculty of Computer & Information
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Structuring Systems Requirements Use Case Description and Diagrams.
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.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Systems Analysis and Design in a Changing World, Fourth Edition
UML (Unified Modeling Language)
UML - Development Process 1 Software Development Process Using UML.
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.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
1 Case Study and Use Cases for Case Study Lecture # 28.
Use Cases Discuss the what and how of use cases: Basics Examples Benefits Parts Stages Guidelines.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Systems Analysis and Design in a Changing World, Fourth Edition
Using Use Case Diagrams
Chapter 4: Business Process and Functional Modeling, continued
Chapter 5 System modeling
Paul Ammann & Jeff Offutt
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Modeling - II Lecture # 27.
ATM OO Design and Implementation Case Study
Use Cases Discuss the what and how of use cases: Basics Benefits
Storyboarding and Game Design SBG, MBG620 Full Sail University
Dynamic Modeling of Banking System Case Study - I
Object-Oriented Static Modeling of the Banking System - I
Business Models Modeling.
UML Use Case Diagrams.
SE-565 Software System Requirements IV. Use Cases
Use Case Modeling - techniques for detailing use cases
Concepts, Specifications, and Diagrams
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Paul Ammann & Jeff Offutt
Object Oriented Analysis and Design
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
Interaction Modeling Extracted from textbook:
Engineering Quality Software
Use Case Modeling Part of the unified modeling language (U M L)
Information Systems Engineering
Appendix 3 Object-Oriented Analysis and Design
Real-Time Structured Analysis and Design Technique (RSTAD)
Presentation transcript:

Contents What is “RUP?” What are Requirement Types What is a “Use Case”? How to Write a Use Case Use Case Example How to Diagram a Use Case Activity Diagram Example

What is RUP? The Rational Unified Process (RUP) is a process for building, deploying, and maintaining software Marketed by Rational, now owned by IBM A widely adopted software development method for building object-oriented systems

RUP is… Driven by the “Use-Case”: a conceptual framework to organize requirements specification, analysis, design, development, and testing Iterative and Incremental Divides a very large undertaking into small “mini-projects”; (iteration) through common workflows, prioritized by risk, that incrementally add to the scope of the product Architecture-Centric the early development of the software architecture provides drawings and models to visualize the form and structure of the system

Stages of RUP

Requirement Types Organizes requirements into specific groups. There can be many requirement types (needs, features, use cases, business rules, etc…)

Needs Needs are business objectives that the system must meet. Example: The system must be external to bank facility. The system must be secure. The system must be reliable.

Features Features are requirements that specify specific functionality the system must perform. Example: The ability to accept ATM cards. The ability to enter PIN for ATM cards. The ability to print receipts.

Use Case The specification of a system function From the user’s perspective Focused on the value to be obtained or goal to be accomplished Defined by the interaction that the user has with the system in performing the function Detailed sequence of the user’s actions and the system’s responses

Use Case (cont.) The set of scenarios that define how the user interacts with the system to accomplish the function, both main scenarios and alternate scenarios, make up a Use Case The set of use cases that specify the full functionality of a system make up the Use Case Model

How requirements trace together Requirements trace together based off their level of detail. Needs Features Use Cases Less Detail More Detail Must be secure. Ability to enter PIN through the ATM. Obtain cash from ATM Ex:

POP QUIZ What does the acronym ‘RUP’ represent? What is a Need? Provide an example. What is a Feature? Provide an example. What is a Use Case? What is the term for how Needs, Features, and Use Cases relate?

Using the Use Case Specification The Use Case specification has evolved into two distinct uses: The original intent – a System Use Case (or more typically just “Use Case”) A higher-level modeling technique of an overall Business Process – a Business Use Case

How To Write a Use Case 1. Focus on the User Technical Label: “Actor” Represents a “type” of user or user “role” Ask “What HAT would the user wear to perform this task?” The “user” may not be a person; it may be an external system that “interacts” with the system being specified Bank ATM Customer

How To Write a Use Case 2. Focus on a basic business process: a task performed by one person in one place at one time, in response to a business event, which adds measurable business value and Produces a ‘success guarantee’ (post-condition).

Use Case How To’s Outline for a Use Case Specification: Use-Case Name Description Actor Preconditions Triggering Events Basic Flow (RUP’s “Happy Path”) Requester: initiate a request. Approver: check money in budget, check price of goods, complete request for submission. … Alternative Flows 1a. Requester does not know price: Leave blank and continue. Post Conditions (Success Guarantees) Inclusion/Extension Points Functional Capabilities Business Rules Supplemental Requirements Outline for a Use Case Specification:

Use Case How-To’s Filling in the details: Name – The name should reflect the primary goal to be achieved by the use case, like “Obtain Cash from ATM”. Description – Documents the purpose of the use case. The purpose should be decomposed into the names of the flows included in the use case document.

Use Case How To’s Customer Filling in the details: Actors (users) – Actors having primary portions of system interaction Use Case Diagram – Depicts the relationship between the actors and use case OR use cases.

Sample Use Case Notation Use Case Diagram Print Receipt Obtain Cash from ATM Customer A system is a compilation of many use cases.

Use Case How To’s Filling in the details: Activity Diagram (optional) – picture of the steps that an actor takes to accomplish a work activity. (Section at end of this lesson) Preconditions – conditions which must be true before the system should allow the use case to start Example: “The customer must have an ATM, Debit, or Credit Card.” Triggering Events – events which get the use case started. Example: Customer swipes ATM card.

Use Case How To’s Filling in the details: Basic Flow – a sequence of action steps that proceed towards achieving the goal Three types of action steps: An interaction between two actors (including the system), like “customer enters address” A validation step, like “system validates PIN” An internal change, like “system deducts from balance” Alternative Flows – define particular conditions that can cause a branch in behavior and resulting action steps

Use Case How To’s Filling in the details: Post-Condition (Success Guarantee) – a condition that should be true when the main success scenario is completed (what happens after the use case is finished) Example: “The customer receives cash.“

Use Case How To’s Filling in the details: Inclusion/Extention Points – Narrative listing of the use cases related to the current use case. Business Rules – ‘IF…,THEN’ statements that state specific conditions that must be satisfied to complete a use case step. Example: If entering a ‘Date of Birth’, then date cannot be a future date. Supplemental Requirements – any other requirements that will be applied globally through the system. Example: When user cancels a step, system returns user to home page.

POP QUIZ What are the 2 focus points of a Use Case? Can you name two points from each Use Case focus? What is the outline of a use case? Define each section.

Let’s Develop the ‘Obtain Cash from ATM’ Use Case Case Study Let’s Develop the ‘Obtain Cash from ATM’ Use Case

Use Case Example Name: Obtain Cash from an ATM Actor: Customer Use Case Diagram: (on separate slide) Activity Diagram: (on separate slide) Triggering Events: Customer inserts card. Precondition: The customer must have an ATM, Debit, or Credit Card.

Use Case Example Basic Flow The user swipes his card through the card reader on the ATM. The ATM prompts the user to enter his PIN number. The user enters his PIN number. The ATM validates that the PIN number entered is correct. The user selects the option to retrieve money. The ATM prompts the user to enter the amount to retrieve. The user enters the amount to retrieve. The ATM validates that the user has sufficient funds available to retrieve. The ATM dispenses the funds. The ATM asks the user if he would like a receipt. The ATM prints a receipt. Use case ends.

Use Case Example Alternate Scenarios: 4a. If the card number and PIN do not match, the ATM presents an error message and returns to step 3. 8a. If the customer does not have sufficient funds, the ATM presents an error message and returns to step 7. 10a. If the customer does not want a receipt, skip to step 12.

Use Case Example Post Conditions – the customer has successfully retrieved money from the ATM. Inclusion/Extension Points – N/A Functional Capabilities – Ability to use ATM or credit card. Ability to enter PIN. Business Rules – If receipt printer is out of paper and ATM is on physical bank institution site, the customer must consult teller. Supplemental Requirements – the customer may cancel their transaction at any time. The ATM displays home page upon cancellation of transaction.

Example Register Use Case

Brief Description This business use case will allow a user to add a “person record” to the Master Person Index (MPI). The person can identified to the health department from various sources including self-referral, a referral from a medical provider, a contact investigation, targeted testing, etc. The person may need treatment, be part of a targeted testing, be part of a contact investigation, etc.

Actors Health Care Worker (HCW) Health Department Staff

Pre-Conditions The user must have proper security rights to enter a patient in the system. System is available and operable The user is notified that a person requires TB services and the person satisfies jurisdiction criteria for assessment and/or treatment. The person requires TB assessment and/or treatment needs to be added into the MPI. The person with special needs is provided assistance that may include translation services, transportation, etc.

Trigger The MPI search does not retrieve a person record that matches the search criteria and the person must added to the MPI.

Basic Flow The user searches the MPI. User selects register option 1.1 System displays zero (0) search results indicating that the person does not exist in the MPI. User selects register option System displays register screen 3.1 User enters basic patient information in the register screen. Basic information may include last name, first name, sex, date of birth, address and if a translator is needed. User enters the reason for adding the person to the MPI which may have the following values: suspect case, confirmed case, contact investigation, targeted testing, etc. User selects the save option System saves registration in the MPI End Use Case

Alternate Flow 1 Client resides outside health department jurisdiction. The original health department sends a notification (via secure e-mail, phone call, fax, or mail) to the appropriate health department. From Step 3.1: User enters associated system identifiers System links patient with other system identifiers as described in UC.110.MPI Search. Use case resumes at step 5. Use case ends.

Post conditions A person record is created in the MPI.

Optional Use Case Section Let’s Discuss How to Develop an Activity Diagram

Activity Diagram: How to Diagram a Use Case The action steps within a Use Case can be modeled in a Unified Modeling Language (UML) Activity Diagram We will normally use an Activity Diagram to diagram a Business Use Case (not a System Use Case)

Activity Diagram: Definition A picture of the steps that an actor takes to accomplish a work activity. Optional. (Optimal use is to pictorally represent use cases more easily transition into use case narrative.) Can be developed prior to use case, in parallel, or after use case has been developed.

Activity Diagram Notation: Activities Activities are the ‘steps’ of the process. User swipes card through ATM card reader ATM prompts for PIN Users enters PIN

Activity Diagram Notation: Decision Points A Decision Point is the place where a question is asked. The next activity is determined by the answer. Funds Available? Dispense Funds Positive Negative Notify User of Insufficient Funds

Activity Diagram Notation: Actors Actors are people or systems that initiate a use case. Bank Customer

Activity Diagram Notation: Synch Bars Synch Bars represent activities that can be done in parallel – there are no requirements for them to be performed in sequence. Get Balance Change PIN Get Stamps Transfer Funds

Activity Diagram Notation: Synch Bars The brackets ‘[xx]’ represent activities that are optional. In this example, the user must enter the child and provider information but may choose not to enter the address and/or laboratory information. [Change PIN} [Get Stamps] Get Balance Change PIN Get Stamps Transfer Funds

Activity Diagram Notation: Additional Notations Start Icon - Indicates the start of the activity. Stop Icon - Indicates the end of the activity flow. Send Signal - Indicates that the path leaves the current activity diagram and resumes in another activity diagram. This would indicate leaving the current flow and resuming in the Environmental Case Management flow.

Let’s Develop the Activity Diagram for ‘Obtain Cash from ATM Use Case’ Case Study Let’s Develop the Activity Diagram for ‘Obtain Cash from ATM Use Case’

Summary Rational Unified Modeling (RUP) Needs Features Iterations Needs Business Requirements Features Requirements the system must meet Use Cases (user requirements) Functional Requirements Activity Diagram