0% found this document useful (0 votes)
11 views67 pages

09 OOADv2000 IM06

Uploaded by

rasiaziza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views67 pages

09 OOADv2000 IM06

Uploaded by

rasiaziza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

Object Oriented Analysis and Design

using the UML


Module 6: Use-Case Analysis
Objectives: Use-Case Analysis
Š Understand the purpose of Use-
Case Analysis and where in the
lifecycle it is performed
Š Identify the classes which perform
a use-case flow of events
Š Distribute the use-case behavior to
those classes, identifying
responsibilities of the classes
Š Develop use-case realizations that
model the collaborations between
instances of the identified classes
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 2
Use-Case Analysis in Context

Use-Case
Analysis Designer

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 3
Use-Case Analysis Overview

Software Architecture
Glossary Use-Case Document
Modeling Guidelines Analysis Classes
Supplementary
Specifications

Use-Case Use-Case Realization


Use-Case Realization
(identified) Analysis (developed)

Use-Case Model Design Model


Analysis Model (optional)
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 4
Use-Case Analysis Steps
Š Supplement the Use-Case Description
Š For each use-case realization
ƒ Find Classes from Use-Case Behavior
ƒ Distribute Use-Case Behavior to Classes
Š For each resulting analysis class
ƒ Describe Attributes and Associations
ƒ Describe Responsibilities
ƒ Qualify Analysis Mechanisms
Š Unify Analysis Classes
Š Checkpoints

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 5
Use-Case Analysis Steps
Š Supplement the Use-Case Description
Š For each use-case realization
ƒ Find Classes from Use-Case Behavior
ƒ Distribute Use-Case Behavior to Classes
Š For each resulting analysis class
ƒ Describe Responsibilities
ƒ Describe Attributes and Associations
ƒ Qualify Analysis Mechanisms
Š Unify Analysis Classes
Š Checkpoints

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 6
Supplement the Use-Case Description

• The system
• The system retrieves and
displays a displays a list of
list of current course
course offerings from the
offerings. course catalog
legacy database.

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 7
Use-Case Analysis Steps
Š Supplement the Use-Case Description
Š For each use-case realization
ƒ Find Classes from Use-Case Behavior
ƒ Distribute Use-Case Behavior to Classes
Š For each resulting analysis class
ƒ Describe Responsibilities
ƒ Describe Attributes and Associations
ƒ Qualify Analysis Mechanisms
Š Unify Analysis Classes
Š Checkpoints

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 8
Review: Class
Š An abstraction
Š Describes a group of objects with common:
ƒ Properties (attributes)
ƒ Behavior (operations)
ƒ Relationships
Class Name Professor
ƒ Semantics name
Attributes ProfessorId : UniqueId

create()
Operations save()
delete()
change()

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 9
Review: Use-Case Realization
Use-Case Model Design Model

Use Case Use-Case Realization

Sequence Diagrams Collaboration Diagrams

Use Case
Class Diagrams

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 10
Find Classes From Use-Case Behavior
Š The complete behavior of a use case has to
be distributed to analysis classes

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 11
What is an Analysis Class?

<<boundary>>

System <<control>>
boundary Use-case
behavior
coordination

System <<entity>>
information

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 12
Analysis Classes: A First Step Towards Executables

Use Cases Analysis Design Source Exec


Classes Elements Code
Use-Case Analysis
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 13
What is a Boundary Class?
Š Intermediates between the interface and
something outside the system
Š Several Types
ƒ User interface classes
ƒ System interface classes
ƒ Device interface classes
Š One boundary class per actor/use case pair
Analysis class
stereotype

Object Oriented Analysis and Design Using the UML v2000


Environment Dependent
Copyright © 2000 Rational Software, all rights reserved 14
The Role of a Boundary Class
<<boundary>>

<<control>>
<<boundary>>
Customer

<<boundary>>

<<entity>> <<entity>>

Model interaction between the system and its environment

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 15
Example: Finding Boundary Classes
Š One boundary class per actor/use case pair

Student Register for Courses Course Catalog System

RegisterForCoursesForm CourseCatalogSystem

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 16
Guidelines: Boundary Class
Š User Interface Classes
ƒ Concentrate on what information is presented to
the user
ƒ Do NOT concentrate on the UI details
Š System and Device Interface Classes
ƒ Concentrate on what protocols must be defined
ƒ Do NOT concentrate on how the protocols will
be implemented

Concentrate on the responsibilities, not the details!

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 17
What is an Entity Class?
Š Key abstractions of the system
Analysis class
stereotype

Glossary

Use Case

Business-Domain Model

Architectural Analysis
Abstractions
Environment Independent
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 18
The Role of an Entity Class
<<boundary>>

<<control>>
<<boundary>>
Customer

<<boundary>>

<<entity>> <<entity>>

Store and manage information in the system

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 19
Example: Finding Entity Classes
Š Use use-case flow of events as input
Š Key abstractions of the use case
Š Traditional, filtering nouns approach
ƒ Underline noun clauses in the use-case flow of
events
ƒ Remove redundant candidates
ƒ Remove vague candidates
ƒ Remove actors (out of scope)
ƒ Remove implementation constructs
ƒ Remove attributes (save for later)
ƒ Remove operations
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 20
Example: Candidate Entity Classes
Š Register for Courses (Create Schedule)

CourseOffering Schedule

Student

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 21
What is a Control Class?
Š Use-case behavior coordinator
Š One control class per use case

Use Case Analysis class


stereotype

Use-case dependent, Environment independent

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 22
The Role of a Control Class
<<boundary>>

<<control>>
<<boundary>>
Customer

<<boundary>>

<<entity>> <<entity>>

Coordinate the use-case behavior


Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 23
Example: Finding Control Classes
Š One control class per use case

Student Register for Courses Course Catalog System

RegistrationController

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 24
Example: Summary: Analysis Classes

Student Register for Courses Course Catalog System

Use-Case Model

Design Model

RegisterForCoursesForm CourseCatalogSystem Student Schedule

CourseOffering RegistrationController
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 25
Use-Case Analysis Steps
Š Supplement the Use-Case Descriptions
Š For each use-case realization
ƒ Find Classes from Use-Case Behavior
ƒ Distribute Use-Case Behavior to Classes
Š For each resulting analysis class
ƒ Describe Responsibilities
ƒ Describe Attributes and Associations
ƒ Qualify Analysis Mechanisms
Š Unify Analysis Classes
Š Checkpoints

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 26
Distribute Use-Case Behavior to Classes
Š For each use-case flow of events:
ƒ Identify analysis classes
ƒ Allocate use-case responsibilities to analysis
classes
ƒ Model analysis class interactions in interaction
diagrams

Sequence Diagrams Collaboration Diagrams


Use Case Use-Case Realization
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 27
Guidelines: Allocating Responsibilities to Classes
Š Use analysis class stereotypes as a guide
ƒ Boundary Classes
• Behavior that involves communication with
an actor
ƒ Entity Classes
• Behavior that involves the data encapsulated
within the abstraction
ƒ Control Classes
• Behavior specific to a use case or part of a
very important flow of events
(continued)
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 28
Guidelines: Allocating Responsibilities to Classes (cont.)

Š Who has the data needed to perform the


responsibility?
ƒ One class has the data, put the responsibility with
the data
ƒ Multiple classes have the data:
• Put the responsibility with one class and add a
relationship to the other
• Create a new class, put the responsibility in the
new class, and add relationships to classes
needed to perform the responsibility
• Put the responsibility in the control class, and add
relationships to classes needed to perform the
responsibility

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 29
The Anatomy of Sequence Diagrams
Client Object Supplier Object

:Client :Supplier

Object Lifeline
Reflexive Message
1: PerformResponsibility
This is a
sample script.
1.1: PerformAnother
Responsibility
Message

Hierarchical Message
Numbering
Focus of Control
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 30
Example: Sequence Diagram
: RegisterForCoursesForm : RegistrationController : CourseCatalogSystem : Schedule : Student : Course Catalog
: Student

1: // create schedule( )
2: // get course offerings( )

create a new 3: // get course offerings(forSemester)


schedule
4: // get course offerings( )

5: // display course offerings( )


A list of the available
course offerings for this
semester are displayed

A blank schedule
is displayed for the 6: // display blank schedule( )
students to select
offerings

7: // select 4 primary and 2 alternate offerings( )

8: // create schedule with offerings( ) 9: // create with offerings( )

10: // add schedule(Schedule)

Sequence Diagram: Register for


Courses / Register for Courses - Basic
At this, point the Submit Schedule sub-flow is executed. Flow (Submit Schedule)

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 31
The Anatomy of Collaboration Diagrams

Client Object
Link Supplier Object

:Client

:Supplier
1: PerformResponsibility

Message

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 32
Example: Collaboration Diagram
5: // display course offerings( )
6: // display blank schedule( )

: Course Catalog

4: // get course offerings( )


: RegisterForCoursesForm
: CourseCatalogSystem

2: // get course offerings( )


8: // create schedule with offerings( )

1: // create schedule( )
7: // select 4 primary and 2 alternate offerings( ) 3: // get course offerings(forSemester)

: RegistrationController

10: // add schedule(Schedule)


: Student

9: // create with offerings( )


:
Schedule

: Student

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 33
One Interaction Diagram Is Not Good Enough
Basic Flow
Alternate Flow 1 Alternate Flow 2 Alternate Flow 3

AF3
AF1

AF2
Alternate Flow 4 Alternate Flow 5 Alternate Flow n

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 34
Collaboration Diagrams Vs Sequence Diagrams
Š Collaboration Š Sequence Diagrams
Diagrams ƒ Show the explicit
ƒ Show relationships in sequence of messages
addition to interactions ƒ Better for visualizing
ƒ Better for visualizing overall flow
patterns of collaboration ƒ Better for real-time
ƒ Better for visualizing all specifications and for
of the effects on a given complex scenarios
object
ƒ Easier to use for
brainstorming sessions

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 35
Use-Case Analysis Steps
Š Supplement the Use-Case Descriptions
Š For each use-case realization
ƒ Find Classes from Use-Case Behavior
ƒ Distribute Use-Case Behavior to Classes
Š For each resulting analysis class
ƒ Describe Responsibilities
ƒ Describe Attributes and Associations
ƒ Qualify Analysis Mechanisms
Š Unify Analysis Classes
Š Checkpoints

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 36
Describe Responsibilities
Š What are responsibilities?
Š How do I find them?
Interaction Diagram

:Client :Supplier

// PerformResponsibility

Class Diagram
Supplier

// PerformResponsibility

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 37
Example: View of Participating Classes (VOPC) Class Diagram
<<control>>
RegistrationController
<<entity>>
Student
// get course offerings()
// get current schedule()
// get tuition()
// delete current schedule()
// add schedule()
// submit schedule()
// get schedule()
// is registration open?()
// delete schedule()
// save schedule()
// has pre-requisites()
// create schedule with offerings()
// update schedule with new selections()

<<boundary>>
CourseCatalogSystem
<<entity>>
Schedule
// get course offerings()
// commit()
// select alternate()
// remove offering()
// level()
// cancel()
// get cost() <<boundary>>
// delete() RegisterForCoursesForm
// submit()
// save() // display course offerings()
// any conflicts?() // display blank schedule()
// create with offerings() // update offering selections()
// update with new selections()

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 38
Maintaining Consistency: What to Look For
Š In order of criticality
ƒ Redundant responsibilities across classes
ƒ Disjoint responsibilities within classes
ƒ Class with one responsibility
ƒ Class with no responsibilities
ƒ Better distribution of behavior
ƒ Class that interacts with many other classes

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 39
Use-Case Analysis Steps
Š Supplement the Use-Case Descriptions
Š For each use-case realization
ƒ Find Classes from Use-Case Behavior
ƒ Distribute Use-Case Behavior to Classes
Š For each resulting analysis class
ƒ Describe Responsibilities
ƒ Describe Attributes and Associations
ƒ Qualify Analysis Mechanisms
Š Unify Analysis Classes
Š Checkpoints

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 40
Review: What is an Attribute?

<<stereotype>>
ClassName
Attribute : Type = InitValue
Attribute : Type = InitValue
Attribute : Type = InitValue

In analysis, do not spend


time on attribute signatures
<<entity>>
CourseOffering
number : String = "100"
startTime : Time
attribute endTime : Time
days : Enum
numStudents : Int

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 41
Finding Attributes
Š Properties/characteristics of identified
classes
Š Information retained by identified classes
Š “Nouns” that did not become classes
ƒ Information whose value is the important thing
ƒ Information that is uniquely "owned” by an
object
ƒ Information that has no behavior

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 42
Review: What Is an Association?
ŠThe semantic relationship between two or
more classifiers that specifies connections
among their instances
ƒ A structural relationship, specifying that objects
of one thing are connected to objects of another

<<entity>> <<entity>> <<entity>>


Student Schedule Course

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 43
Finding Relationships
1: PerformResponsibility

Collaboration :Client :Supplier


Diagram
Link
Client Supplier

Class
Diagram Client 0..* 0..* Supplier
Prime suppliers
PerformResponsibility()

Association

Relationship for every link!


Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 44
Review: What is Aggregation?
Š A special form of association that models a
whole-part relationship between an
aggregate (the whole) and its parts
Whole/aggregate part

<<entity>> <<entity>> 0..* <<entity>>


Student Schedule 0..2 CourseOffering
1 0..*

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 45
Association or Aggregation?
Š If two objects are tightly bound by a whole-part
relationship
ƒ The relationship is an aggregation.
Car Door
1 0..2,4

Š If two objects are usually considered as


independent, although they are often linked
ƒ The relationship is an association.

Car Door
1 0..2,4
When in doubt use association
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 46
What are Roles?
Š The “face” that a class plays in the
association
<<entity>> instructor
<<entity>> <<entity>>
CourseOffering Professor Department
Department Head

Role Name

<<entity>>
Course

preRequisites

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 47
Review: Multiplicity
Š Unspecified
Š Exactly one
1
Š Zero or more (many,
unlimited) 0..*

Š One or more 1..*

Š Zero or one (optional 0..1


scalar role)
2..4
Š Specified range
2, 4..6
Š Multiple, disjoint
ranges

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 48
What Does Multiplicity Mean?
Š Multiplicity answers two questions.
ƒ Is the association mandatory or optional?
ƒ What is the minimum and maximum number of
instances that can be linked to one instance?

<<entity>> 0..* 1 <<entity>>


CourseOffering Course
0..*
preRequisites
0..3

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 49
Example: Multiple Associations

primaryCourses
<<entity>> <<entity>>
Schedule CourseOffering

alternateCourses

add student to
<<entity>> <<entity>>
Schedule remove student from CourseOffering

Multiple associations must reflect multiple roles


Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 50
Example: VOPC: Finding Relationships

<<boundary>> <<control>>
RegisterForCoursesForm RegistrationController
1 1
0..1

currentSchedule
0..1
<<entity>> <<entity>> primaryCourses <<entity>>
Student Schedule CourseOffering
1 0..* 0..* 0..4

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 51
Use-Case Analysis Steps
Š Supplement the Use-Case Descriptions
Š For each use-case realization
ƒ Find Classes from Use-Case Behavior
ƒ Distribute Use-Case Behavior to Classes
Š For each resulting analysis class
ƒ Describe Responsibilities
ƒ Describe Attributes and Associations
ƒ Qualify Analysis Mechanisms
Š Unify Analysis Classes
Š Checkpoints

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 52
Review: Why Use Analysis Mechanisms?
Oh no! I found a group of classes that
has persistent data. How am I
supposed to design these things if I
don’t even know what database we are
going to be using?

That is why we have a


persistence analysis mechanism.
We don’t know enough yet, so we
can bookmark it and come back
to it later.

Analysis mechanisms are used during analysis to reduce the complexity of


analysis, and to improve its consistency by providing designers with a short-
hand representation for complex behavior.
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 53
Describing Analysis Mechanisms
Š Collect all analysis mechanisms in a list
Š Draw a map of the client classes to the
analysis mechanisms
Analysis Class Analysis Mechanism(s)

Š Identify characteristics of the Analysis


Mechanisms

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 54
Example: Describing Analysis Mechanisms
Š Analysis class to analysis mechanism map
Analysis Class Analysis Mechanism(s)

Student Persistency, Security


Schedule Persistency, Security
CourseOffering Persistency, Legacy Interface
Course Persistency, Legacy Interface
RegistrationController Distribution

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 55
Example: Describing Analysis Mechanisms (cont.)
Š Analysis mechanism characteristics
Š Persistency for Schedule class:
ƒ Granularity: 1 to 10 Kbytes per product
ƒ Volume: up to 2,000 schedules
ƒ Access frequency
• Create: 500 per day
• Read: 2,000 access per hour
• Update: 1,000 per day
• Delete: 50 per day
ƒ Etc.

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 56
Use-Case Analysis Steps
Š Supplement the Use-Case Descriptions
Š For each use-case realization
ƒ Find Classes from Use-Case Behavior
ƒ Distribute Use-Case Behavior to Classes
Š For each resulting analysis class
ƒ Describe Responsibilities
ƒ Describe Attributes and Associations
ƒ Qualify Analysis Mechanisms
Š Unify Analysis Classes
Š Checkpoints

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 57
Unify Analysis Classes

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 58
Evaluate Your Results

Glossary
Design Model

Supplementary
Specification

Use-Case Model
Analysis Classes

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 59
Use-Case Analysis Steps
Š Supplement the Use-Case Descriptions
Š For each use-case realization
ƒ Find Classes from Use-Case Behavior
ƒ Distribute Use-Case Behavior to Classes
Š For each resulting analysis class
ƒ Describe Responsibilities
ƒ Describe Attributes and Associations
ƒ Qualify Analysis Mechanisms
Š Unify Analysis Classes
Š Checkpoints

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 60
Checkpoints: Analysis Classes
Š Are the classes reasonable?
Š Does the name of each class
clearly reflect the role it plays?
Š Does the class represent a single
well-defined abstraction?
Š Are all attributes and
responsibilities functionally
coupled?
Š Does the class offer the required
behavior?
Š Are all specific requirements on
the class addressed?
(continued)
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 61
Checkpoints: Use-Case Realizations
Š Have all the main and/or sub-flows
been handled, including exceptional
cases?
Š Have all the required objects been
found?
Š Has all behavior been unambiguously
distributed to the participating objects?
Š Has behavior been distributed to the
right objects?
Š Where there are several interaction
diagrams, are their relationships clear
and consistent?

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 62
Review: Use-Case Analysis
Š What is the purpose of Use-Case Analysis?
Š What is an analysis class? Name and
describe the three analysis stereotypes.
Š What is a use-case realization?
Š Describe some considerations when
allocating responsibilities to analysis
classes.
Š How many interaction diagrams should be
produced during Use-Case Analysis?

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 63
Exercise: Use-Case Analysis
Š Given the following:
ƒ Use-Case Model, especially the
use-case flows of events
ƒ Key abstractions/classes
ƒ The Supplementary Specification
ƒ The possible analysis
mechanisms

(continued)
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 64
Exercise: Use-Case Analysis
Š Identify the following for a particular
use case:
ƒ The analysis classes, along with their:
• Brief descriptions
• Stereotypes
• Responsibilities
ƒ The collaborations needed to
implement the use case
ƒ Analysis class attributes and
relationships
ƒ Analysis class analysis mechanisms (continued)
Object Oriented Analysis and Design Using the UML v2000
Copyright © 2000 Rational Software, all rights reserved 65
Exercise: Use-Case Analysis
Š Produce the following for a
particular use case:
ƒ Use-case realization interaction
diagram for at least one of the use-
case flows of events
ƒ VOPC class diagram, containing
the analysis classes, their
stereotypes, responsibilities,
attributes, and relationships
ƒ Analysis class to analysis
mechanism map

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 66
Exercise: Review
Š Compare your use-case realization
with the rest of the class
ƒ Do the interaction diagrams carry out
the use-case flow of events?
ƒ Are the stereotypes behaving properly?
ƒ Is each association supported by a
link?
Payroll System
ƒ Does each association have multiplicity
assigned?
ƒ Have role names been assigned? Do
they accurately represent the face the
class plays in the relationship?

Object Oriented Analysis and Design Using the UML v2000


Copyright © 2000 Rational Software, all rights reserved 67

You might also like