Professional Documents
Culture Documents
UML and RationalRose
UML and RationalRose
1
Objectives
To become familiar with the Unified Modeling
Language (UML) notation
To create UML diagrams
To review and critique UML models
To use the Rational Unified Process to do
2
Requirements
Introductory knowledge of object-oriented
terminology and concepts
Have used some techniques for finding
3
Organization
Introduction
◦ Requirements Gatherings Approaches
◦ Traditional Deliverables
Unified Modeling Language
◦ Rational Unified Process
◦ 4+1 Architectural Views and their Deliverables
Use Case Model
Logical View
Process View
Deployment View
Implementation View (Component View in Rose)
Using Rational Rose
◦ Case Study and Exercises
4
Requirements Gatherings Introduction
– Goals and Challenges
– Standard Approaches
– Example Requirements List
– Documenting Operational Requirements
Traditional Deliverables
– Requirements Specification Documents
– Analysis Diagrams:
Context Diagram,
Entity Relationship Diagram,
Data/Control Flow Diagram
– Prototype
5
Requirements Gathering
Specification
◦ Avoid premature design assumptions
◦ Resolve conflicting requirements
◦ Clarify ambiguous requirements
◦ Eliminate redundant requirements
◦ Discover incomplete or missing requirements
◦ Separate functional from nonfunctional
requirements
Ensure Requirements Traceability
© Dr. Maria M. Larrondo
Petrie, 2001 7
Requirement Specifications seldom clearly
capture customer needs
What user wanted How customer described it How analyst specified it How designer implemented it
For the calls that require access to system information, response "optical disk" is a design assumption.
times for the electronic files must be less than 20 seconds for the Response times are good non-functional
first image located on the optical disk, less than 3 seconds for requirements if not linked to design
electronic images on a server, and less than 1 second for data files. assumptions (hardware device types).
1
Daryl Kulak and Eamonn Guiney. Use Cases: Requirements in Context ,
Addison-Wesley, New York, NY, 2000.
[KG00p16-18]
© Dr. Maria M. Larrondo
Petrie, 2001 11
Example Requirements List 1 (2 of 3)
Table of Requirements with review comments by Kulak & Guiney
Requirement Kulak and Guiney Comments
The telephone system must be able to support voice recognition of Pretty good one. Can you find anything
menu selections, touch-tone menu selections, and default to a wrong?
human operator. The telephone menu will sequence caller choices
in order of most frequently requested information to the least
requested
The telephone system must be able to provide a voice response This seems to be trying to provide some
menu going from a general menu to a secondary menu. pretty obvious advice to a dumb designer
The system must allow for the caller to provide address information "Through a digital recording"? This is a
through a digital recording and to indicate whether it is permanent. design assumption
The system must allow for the caller to provide address information Sound familiar? (It's redundant)
through voice recognition and to indicate whether it is permanent.
The telephone system must be able to store and maintain processor Simplify it: "The system must be able to
IDs and personal identification numbers to identify callers and to identify callers and route calls to the
route calls properly to the appropriate internal response telephone. appropriate internal response telephone".
The telephone system must be able to inform callers of the Great!
anticipated wait time based on the number of calls, average duration
of calls, and the number of calls ahead of them.
[KG00p16-18]
© Dr. Maria M. Larrondo
Petrie, 2001 12
Example Requirements List 1 (3 of 3)
Table of Requirements with review comments by Kulak & Guiney
Requirement Kulak and Guiney Comments
The journal will contain entries for key events that have occurred This is a design for a journal. Why have
within the administration of an individual's account. The system it? What is its purpose?
will capture date, processor ID, and key event description. The
system will store pointers to images that are associated with a
journal entry as well as key data system screens that contain more
information regarding the entry.
If an individual double-clicks on an event in a member's journal, the Double-click is a user interface design
system will display the electronic information and the images assumption
associated with the event.
The system will restrict options on the information bar by processor This one has many user interface design
function. When an icon is clicked, the screen represented by the assumptions.
icon will be displayed and the system will display appropriate
participant information.
[KG00p16-18]
© Dr. Maria M. Larrondo
Petrie, 2001 13
Example Requirements List 2 (1 of 2)
Table of Requirements with review comments by Kulak & Guiney
Requirement Kulak and Guiney Comments
6.7.1.2 The system must Too vague. Implies fiscal year has some impact on how customer transactions
provide the capability to are organized, but does not specify what that is. Implies some data entry, but
capture all of the customer needs to be stated more specifically. May be trying to make a statement about
transactions for fiscal year volume, meaning old transactions can't be archived until they are a year old?
6.7.1.3 The system will Saying "restricted" is OK, but details about the restriction (who can, who can't)
provide restricted remote should be stated clearly in this context. Also vague is the reference to remote
inquiry access (via dial-in) to inquiry. How remote? Saying "remote access" when referring to mobile
view images and data employees working in the field but still within a couple of miles of the office or
separately or simultaneously worldwide access. Can have huge implications on system.
6.7.1.4 The system will Makes several technical design assumptions. Barcoding is a solution, not a
barcode documents requirement. This system probably needs a way to identify each document
automatically prior to uniquely, but it doesn't have to be barcodes. If all existing systems use document
distribution. At a minimum, barcoding (not the case with this system), should write a nonfunctional
the codes will be used to requirements that states, "Unique identification of all documents will be done
identify to which work through barcoding". By specifying barcoding in the functional specifications,
queue the documents should changing to glyphs, optical character recognition (OCR) will be more difficult.
be routed within the The reference to queues makes an assumption about a workflow-package-
organization when they are oriented system. Better to state: "At a minimum, the unique id will ensure
returned routing to a specific worker in the organization when documents are returned."
[KG00p3-7]
© Dr. Maria M. Larrondo
Petrie, 2001 14
Example Requirements List 2 (2 of 2)
Table of Requirements with review comments by Kulak & Guiney
Requirement Kulak and Guiney Comments
6.7.1.5 When a workflow is initiated, the Look at references to workflow. Requirements document has
system must be able to prefetch the specified a workflow solution! This whole entry is suspicious.
documents that are in electronic image Seems to be saying that we must cache documents by two different
format by document type or grouping of criteria: by type or by process. Criteria are good requirements, but
documents by process caching(prefetching) is a solution to address performance
problems.
6.7.1.6 The system must create an entry in Assumes presence of a journal file containing entries inserted when
the journal file whenever a letter is created a letter is created. Seems focused on front end ("do this") instead
of back end ("in order to get this"). Why put entries in a journal
file? To create a list of all letters created, when and by whom?
This would make a better, clearer requirement.
6.7.1.7 System must maintain list of Seems to be focused on how rather than what. Instead of
current, open work processes and identify specifying the steps a system must go through, clearly document
work process to be executed and workflow the end in mind. Example: "When a new document image is
queue for process. When documents are brought into the system, it should be routed to the worker who has
scanned, system determines whether there the account open for the same SSN as the new document and
is a process open for that SSN. If there is, should be made obvious to that worker. If no worker has an open
the system routes document to appropriate account, the document should be made available to any worker."
workflow queue, displays work process
script, and highlight current work process.
[KG00p3-7]
© Dr. Maria M. Larrondo
Petrie, 2001 15
Eliciting Operational Requirements
Problems with traditional ways of specifying problems:
1. customer may not adequately convey the needs of the user.
2. developer may not be an expert in the application domain,
which inhibits communications.
3. users and customers may not understand the requirements
produced by the developer
4. developer's requirements specifications typically specifies
system attributes such as
• functions, • performance factors,
• design constraints, • system interfaces and
• quality attributes,
but typically contains little or no information concerning
operational characteristics of the specified system.
[FT97] R. E. Fairley and R. H. Thayer, "The Concept of Operations: The Bridge from Operational Requirements to Technical
Specifications," Software Engineering, M. Dorfman and R. H. Thayer (eds.), IEEE Computer Society Press, Los Alamitos, CA,
1997.
[FT97]
© Dr. Maria M. Larrondo
Petrie, 2001 20
Rapid Prototype
[www.dilbert.com 2/24/2000]
Seller
interaction
Assumptions: Critical section for project manager. Things (out of scope of system) you assume to be true but might not be true
Preconditions: List things that must be in place before interaction can occur. (Part of contract between use case & outside world.
Postconditions: List things that will be satisfied if use case is completed successfully. Independent of alternative paths taken.
Related Business Rules: Written and unwritten company business rules that relate to requirements presented in this use case
Author: This is placed at the bottom, together with the date to allow critical information to be speed read
Date: Facade, Filled, Focused, Finished dates
[KG0042]
© Dr. Maria M. Larrondo
Petrie, 2001 30
Use Case Documentation Example
Use Case Number: 1 Use Case Name: Sell Property
Iteration: Filled (Four stages of iteration are Facade, Filled, Focused, and Finished)
Summary: System Context Use Case. The seller lists the property, a buyer purchases the property, and the agent guides them
through the process and offers advice, caution, and recommendations
Basic Course of Events: 9. System responds by notifying seller and seller's agent
10. Seller responds to the offer with a counteroffer.
1. Seller selects an agent
11. System responds by notifying buyer and buyer's agent.
2. System responds by assigning an agent and notifying the
seller's agent. 12. Buyer and seller agree to terms
3. Seller lists the property to sell. 13. System responds by recording the agreement
4. System responds by displaying this property in the property 14. Buyer indicates a loan is required
listing and linking it for searches 15. System responds by locating an appropriate loan provider
5. Buyer selects an agent. 16. Buyer and loan provider agree to loan terms.
6. Buyer reviews the property listings by entering search criteria 17. System responds by recording terms of loan
7. System displays properties matching buyer's search criteria 18. Buyer and seller close on property.
8. Buyer finds a property and makes an offer on it. 19. System responds by recording details of close.
[KG00p25-26]
© Dr. Maria M. Larrondo
Petrie, 2001 31
A Simpler Use Case Template
A simpler template for Use Case
documentation is recommended by Terry
Quatrani [TQ98]
For each use case:
Service Representative
[KG00p40]
Sell Property
Buyer
Triggers
Sell Property
Buyer
Transfer
<<uses>>
Identification
Schedule Recurring
Schedule Designer Customer Appointment
<<includes>>
[KG00p41]
[TQ98p17]
© Dr. Maria M. Larrondo
Petrie, 2001 38
Introduction to Rational Rose
Rational Rose 2000 (v6.5)
1 month trial version needs key
www.rational.com
Diagram toolbar
(unique to each
Browser window type of diagram)
(used to organize
Diagram
and navigate) window
Can be hidden,
docked or floating
Status bar
Documentation
window
in Rose:
Component View
[RR00]
© Dr. Maria M. Larrondo
Petrie, 2001 46
The Use-Case View
From end-users' perspective
Concerned with
◦ Understandability
◦ Communication
◦ Usability
Use Case Model
captures system's intended functions and
interactions with environment
◦ use case diagrams
◦ use case flow of events
◦ supplemental documentation
◦ activity diagrams (optional)
requirements specification.
Use Case Model can serve as a contract
between customer and developer instead of
the traditional text requirement specification
Include:
◦ Performance
◦ Scalability
◦ Availability
◦ Fault Tolerance
◦ Throughput
◦ Concurrency and synchronization
threads
processes
Note: Not necessarily a single processing environment
Elaboration Phase:
Elaboration • collect more detailed requirements
• do high-level analysis and design
• establish baseline architecture
Construction • create construction plan
Transition Phase:
Transition • beta-test
• tune performance
• train users
[TQ98p24-25]
© Dr. Maria M. Larrondo
Petrie, 2001 66
The Use Cases
Answering the questions to find use cases yields:
◦ The Student actor needs to use the system to register for courses
◦ After the course selection process is completed, the Billing System must
be supplied with billing information
◦ The Professor actor needs to use the system to select the courses to
teach for a semester, and must be able to receive a course roster from
the system
◦ The registrar is responsible for the generation of the course catalog for
a semester, and for the maintenance of all information about the
curriculum, the students, and the professors needed by the system
Based on the needs, the following cases are
identified:
1.Register for courses
2.Select courses to teach
3.Request course roster
4.Maintain course information
5.Maintain professor information
6.Maintain student information
7.Create course catalog
[TQ98p24-25]
© Dr. Maria M. Larrondo
Petrie, 2001 67
Add Use Cases to the System
Give a brief description of
each use case i the
Documentation window
[TQ98p28-29]
© Dr. Maria M. Larrondo
Petrie, 2001 68
The Flow of Events
Exercise: Form a team and agree on a standard
template to use for documenting flow of events
for the use cases.
◦ Look at Quatrani's recommended template [TQ98]
and
The following flow of event for the Select
Courses to Teach use case follows Quatrani's
recommended template [TQ98]
For each use case:
X Flow of Events for the <name> Use Case
X.1 Preconditions
X.2 Main Flow
X.3 Subflows (if applicable)
X.4 Alternative Flows
where X is a number from 1 to the number of the use case
[TQ98p30]
© Dr. Maria M. Larrondo
Petrie, 2001 70
The Flow of Events (2 of 4)
[TQ98p31]
© Dr. Maria M. Larrondo
Petrie, 2001 71
The Flow of Events (3 of 4)
[TQ98p31-2]
© Dr. Maria M. Larrondo
Petrie, 2001 72
The Flow of Events (4 of 4)
[TQ98p38]
© Dr. Maria M. Larrondo
Petrie, 2001 74
Use Case Diagram (2 of 2)
[TQ98p31]
© Dr. Maria M. Larrondo
Petrie, 2001 75
Exercises
Individually create a Problem Statement and Use Case
Diagram for one of the following Vending Machines:
1. Hot Drink Vending Machine that mixes and dispenses two
sizes of hot drinks (coffee, tea, hot chocolate) with/without
cream and sugar/sweetener.
2. Ice Cream Vending Machine that dispenses prepackaged ice
cream (individual cups, bars, cones, sandwiches – pre-
wrapped)
3. Carousel Vending Machine that dispenses a variety of food
(many with expiration date) on a stack of see-thru carousels
containing a number of individual food compartments. Each
carousel has a door. The customer turns the carousels until
the item is positioned in front of a door.. The action of
sliding open the door, selects and dispenses the food.
Meet in a team of 3-4, discuss each Problem Statement
and Use Case Diagram, features (such as sensors,
credit cards payment) that would enhance the
marketing of the product. Produce a group Problem
Statement and Use Case Diagram.
◦ Turn in all the statements/diagrams with the author's name,
clearly mark the group approved ones with all the team
members' names and initials. Select one
© Dr. Maria team member and
M. Larrondo
Scenario
[EP98p61]
© Dr. Maria M. Larrondo
Petrie, 2001 83
Relationship between Use
Case, Collaboration, and
Scenario
©
Petrie, 2001
Dr. Maria M. Larrondo
[EP98p63]
84
Identify Classes and Create
Packages
Identify Boundary Classes
Identify Entity Classes
Identify Control Classes
Create Packages