Object-Oriented Analysis and Design With UML2 and Rational Software Modeler

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 26

®

IBM Software Group Rational Software France

Object-Oriented Analysis and Design with UML2 and


Rational Software Modeler

06. Requirements Overview

© 2006 IBM Corporation


IBM Software Group | Rational software

Where Are We?


 Introduction to Use-Case Modeling
 Find Actors and Use Cases
 Other Requirements Management Artifacts
IBM Software Group | Rational software

Requirements in Context
 The purpose of
Requirements is to:
 Elicit stakeholder
requests and
transform them into a
set of requirements
work products that
scope the system to
be built and provide
detailed requirements
for what the system
must do
 RUP recommends a
use-case driven
approach
IBM Software Group | Rational software

What Is Use-Case Modeling?


 Links stakeholder needs to software requirements
 Defines clear boundaries of a system
 Captures and communicates the desired behavior of the system
 Identifies who or what interacts with the system
 Validates/verifies requirements
 Is a planning instrument Model

Use case 1

Actor 2
Use case 2

Use case 3
Use Case 2
Specification
IBM Software Group | Rational software

A Use-Case Model is Mostly Text


The System

Use case 1
Use-Case-Model Survey
Actor 1
- survey description
- list of all actors Actor 2
Use case 2
- list of all use cases

Use case 3

Actor 3

Use-Case 1 Spec Use-Case 2 Spec Use-Case 3 Spec


- brief description - brief description - brief description
- flow of events - flow of events - flow of events
IBM Software Group | Rational software

Major Concepts in Use-Case Modeling


 An actor represents anything that interacts with the system

Actor
 A use case is a sequence of actions a system performs that yields an
observable result of value to a particular actor

Use Case
IBM Software Group | Rational software

Use-Case Diagram
An Automated Teller Machine (ATM)

Withdraw Cash

Transfer Funds
Bank Bank
Customer Consortium
Deposit Funds

Cashier
Collect Deposits

Maintain ATM
Maintenance
Crew
IBM Software Group | Rational software

Use Cases Contain Software Requirements


 Each use case:
 Describes actions the system takes to deliver something of value to an actor
 Shows the system functionality an actor uses
 Models a dialog between the system and actors
 Is a complete and meaningful flow of events from the perspective of a
particular actor
IBM Software Group | Rational software

Benefits of Use Cases


 Give context for requirements
 Put system requirements in logical sequences
 Illustrate why the system is needed
 Help verify that all requirements are captured
 Are easy to understand
 Use terminology that customers and users understand
 Tell concrete stories of system use
 Verify stakeholder understanding
 Facilitate agreement with customers
 Facilitate reuse: test, documentation, and design
IBM Software Group | Rational software

Where Are We?


 Introduction to Use-Case Modeling
 Find Actors and Use Cases
 Other Requirements Management Artifacts
IBM Software Group | Rational software

Define Actors: Focus on the Roles


 An actor represents a role
that a human, hardware
device, or another system
can play in relation to the
system
 Actor names should
clearly denote the actor’s
role

?
IBM Software Group | Rational software

Case Study: Course Registration System


 Review the problem statement provided in the Course Registration
Requirements Document

Course Registration System

Student Register for Courses


Actor Y

Another Use Case


Actor X

Use Case 3
Actor Y
IBM Software Group | Rational software

How Should I Name a Use Case?


 Indicate the value or goal of the actor
 Use the active form; begin with a verb
 Imagine a to-do list
 Examples of variations
 Register for Courses
 Registering for Courses
 Acknowledge Registration
 Course Registration
 Use Registration System

Which variations show the value to the actor? Which do not?


Which would you choose as the use-case name? Why?
IBM Software Group | Rational software

Steps for Creating a Use-Case Model


1. Find actors and use cases
 Identify and briefly describe actors
 Identify and briefly describe use cases
2. Write the use cases
 Outline all use cases
Outside the scope of this course
 Prioritize the use-case flows
 Detail the flows in order of priority
IBM Software Group | Rational software

Find Actors
 Who is pressing the keys (interacting with the system)?

Student Registrar Registration System


The student never touches the system; the registrar operates it.
Or, are you building an Internet application?

Online Registration System


Student
(www.college.edu)
IBM Software Group | Rational software

Identify Actors
 Who/what uses the system?
 Who/what gets information from this system?
 Who/what provides information to the system?
 Where in the company is the system used?
 Who/what supports and maintains the system?
 What other systems use this system?
IBM Software Group | Rational software

Find Use Cases

What goal am I
trying to achieve by
using the system?

GOAL 1

Actor GOAL 2
IBM Software Group | Rational software

Identify Use Cases


 What are the goals of each actor?
 Why does the actor want to use the system?
 Will the actor create, store, change, remove, or read data in the system? If
so, why?
 Will the actor need to inform the system about external events or changes?
 Will the actor need to be informed about certain occurrences in the system?
 Does the system supply the business with all of the correct behavior?
IBM Software Group | Rational software

Group Exercise
 Identify the actors who interact with the Course Registration System
 Identify use cases for the system
 Sketch a use-case diagram
IBM Software Group | Rational software

Where Are We?


 Introduction to Use-Case Modeling
 Find Actors and Use Cases
 Other Requirements Management Artifacts
IBM Software Group | Rational software

Use-Case Specifications
Use-Case Model
 Name
 Brief description
 Flow of Events
 Relationships Actors
 Activity diagrams Use Cases
 Use-Case diagrams
 Special requirements
 Pre-conditions
 Post-conditions
...
 Other diagrams

Use-Case Specifications
IBM Software Group | Rational software

Use-Case Flow of Events


 Has one normal, basic flow
 Several alternative flows
 Regular variants
 Odd cases
 Exceptional flows for handling error situations
IBM Software Group | Rational software

A Scenario Is a Use-Case Instance

Register for
Courses Course Catalog
Student
System

Scenario 1 Scenario 2
Log on to system. Log on to system.
Approve log on. Approve log on.
Enter subject in search. Enter subject in search.
Get course list. Invalid subject.
Display course list. Re-enter subject.
Select courses. Get course list.
Confirm availability. Display course list.
Display final schedule. Select courses.
Confirm availability.
Display final schedule.
IBM Software Group | Rational software

Glossary
Course Registration System Glossary
1.        Introduction
This document is used to define terminology specific to the problem
domain, explaining terms, which may be unfamiliar to the reader of the
use-case descriptions or other project documents. Often, this document
can be used as an informal data dictionary, capturing data definitions so
that use-case descriptions and other project documents can focus on
what the system must do with the information.
2.         Definitions
The glossary contains the working definitions for the key concepts in the
Course Registration System.
2.1       Course: A class offered by the university.
2.2       Course Offering: A specific delivery of the course for a specific
Glossary semester – you could run the same course in parallel sessions in the
semester. Includes the days of the week and times it is offered.
2.3      Course Catalog: The unabridged catalog of all courses offered
by the university.
IBM Software Group | Rational software

Supplementary Specification
 Functionality
 Usability
 Reliability
 Performance
 Supportability
 Design constraints

Supplementary
Specification
IBM Software Group | Rational software

Exercise
 Perform the exercise provided by
the instructor

You might also like