Chapter 5: Functional Modeling Systems Analysis and Design with UML, 3rd Edition

Chapter 5:
Functional Modeling
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Objectives
• Understand the rules and style guidelines for
activity diagrams.
• Understand the rules and style guidelines for
use cases and use-case diagrams.
• Understand the process used to create use
cases and use-case diagrams
• Be able to create functional models using
activity diagrams, use cases, and use-case
diagrams.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
BUSINESS PROCESS MODELING WITH
ACTIVITY DIAGRAMS
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Business Process Modeling
• Business process models describe the
activities that collectively support a business
process
• A very powerful tool for communicating the
analyst’s current understanding of the
requirements with the user
• Activity diagrams are used to model the
behavior in a business process
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Activity Diagram Syntax
• Action or Activity
– Represents action or set of actions
• Control Flow
– Shows sequence of execution
• Initial Node
– The beginning of a set of actions
• Final Node
– Stops all flows in an activity
• Decision Node
– Represents a test condition
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Sample Activity Diagram
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Guidelines for Activity Diagrams
1. Set the scope of the activity being modeled
2. Identify the activities, control flows, and
object flows that occur between the activities
3. Identify any decisions that are part of the
process being modeled
4. Identify potential parallelism in the process
5. Draw the activity diagram
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
USE-CASE DESCRIPTIONS
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Use Cases
• A use case illustrates the activities that are
performed by users of a system.
• Describe basic functions of the system
– What the user can do
– How the system responds
• Use cases are building blocks for continued
design activities.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Types of Use Cases
Amount of information
Essential
Detail
High-level overview of issues Detailed description of issues
essential to understanding
essential to understanding
required functionality
required functionality
Real
Purpose
Overview
High-level overview of a
specific set of steps
performed on the real
system once implemented
Detailed description of a specific
set of steps performed on the real
system once implemented
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Use Case Elements: Overview
•
•
•
•
•
•
•
•
Name
ID Number
Type
Primary Actor
Brief Description
Importance Level
Stakeholder(s)
Trigger(s)
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Use Case Elements: Relationships
• Association
documents the communication between the use case
and the actors that use the use case
• Extend
represents the extension of the functionality of the
use case to incorporate optional behavior
• Include
shows the mandatory inclusion of another use case
• Generalization
allows use cases to support inheritance
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Use Case Elements: Flows
• Normal Flows
include only those steps that normally are
executed in a use case
• Sub-Flows
the normal flow of events decomposed to keep
the normal flow of events as simple as possible
• Alternate or Exceptional Flows
flows that do happen but are not considered to be
the norm
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Use Case Writing Guidelines
1.
2.
3.
4.
5.
6.
7.
Write in the form of subject-verb-direct object
Make sure it is clear who the initiator of the step is
Write from independent observer’s perspective
Write at about the same level of abstraction
Ensure the use case has a sensible set of steps
Apply the KISS principle liberally.
Write repeating instructions after the set of steps to
be repeated
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
USE-CASE DIAGRAMS
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Use Case Diagram Syntax
• Actor
– person or system that derives benefit
from and is external to the subject
• Use Case
– Represents a major piece of system
functionality
•
•
•
•
Association Relationship
Include Relationship
Extend Relationship
Generalization Relationship
<<includes>>
<<extends>>
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Sample Use Case
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
CREATING USE-CASE DESCRIPTIONS
AND USE-CASE DIAGRAMS
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Identify the Major Use Cases
1.
2.
3.
4.
Review the activity diagram
Find the subject’s boundaries
Identify the primary actors and their goals
Identify and write the overviews of the major
use cases for the above
5. Carefully review the current use cases. Revise
as needed
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Extend the Major Use Cases
6.
7.
8.
9.
Choose one of the use cases to expand
Start filling in the details of the chosen use case
Write the normal flow of events of the use case
If the normal flow of events is too complex or
long, decompose into sub flows
10.List the possible alternate or exceptional flows
11.For each alternate or exceptional flow, list how
the actor and/or system should react
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Confirm the Major Use Cases
12.Carefully review the current set of use cases.
Revise as needed
13.Start at the top again
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Create the Use Case Diagram
1.
2.
3.
4.
Draw the subject boundary
Place the use cases on the diagram
Place the actors on the diagram
Draw the associations
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
REFINING PROJECT SIZE AND EFFORT
ESTIMATION USING USE-CASE POINTS
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Use-Case Points
• A size and effort estimation technique that
was developed around use cases
– Better for OOSAD projects than function points
• Requires at a minimum:
– The set of essential use cases
– The use case diagram
– All actors and use cases classified as simple,
average, or complex
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Actor & Use Case Weighting Tables
Unadjusted Actor Weighting (UAW)
Actor Type Description
Weighting Factor
Simple
External System with well-defined API
1
Average
External System using a protocol-based 2
interface, e.g., HTTP, TCT/IP, or a database
2
Complex
Human
3
Unadjusted Use Case Weighting (UUCW)
Use-Case Type
Description
Weighting Factor
Simple
1-3 transactions
5
Average
4-7 transactions
10
Complex
More than 7 transactions
15
Unadjusted Use Case Points (UUCP) = UAW + UUCW
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Technical Complexity Factors
Factor
Description
Number
Weight
T1
Distributed system
2.0
T2
Response time or throughput performance objectives
1.0
T3
End-user online efficiency
1.0
T4
Complex internal processing
1.0
T5
Reusability of code
1.0
T6
Easy to install
0.5
T7
Ease of use
0.5
T8
Portability
2.0
T9
Ease of change
1.0
Technical Complexity Factor (TCF) = 0.6 + (0.01 * TFactor)
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Environmental Factors
Factor
Description
Number
Weight
E1
Familiarity with system development process in use
1.5
E2
Application experience
0.5
E3
Object-oriented experience
1.0
E4
Lead analyst capability
0.5
E5
Motivation
1.0
E6
Requirements stability
2.0
E7
Part time staff
-1.0
E8
Difficulty of programming language
-1.0
Environmental Factor (EF) = 1.4 + (-0.03 * EFactor)
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Person-Hours Multiplier
If the sum of (number of Efactors E1 through E6
assigned value < 3) and (number of Efactors E7
and E8 assigned value > 3) ≤ 2
PHM = 20
Else If the sum of (number of Efactors E1 through
E6 assigned value < 3) and (number of Efactors
E7 and E8 assigned value > 3) = 3 or 4
PHM 28
Else
Rethink project; it has too high of a risk for failure
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Computing Use-Case Points
• Adjusted Use Case Points (UCP) =
UUCP * TCF * ECF
• Effort in Person Hours =
UCP * PHM
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.
Summary
• Business Process Modeling with Activity
Diagrams
• Use-Case Descriptions
• Use-Case Diagrams
• Refining Project Size and Effort Estimation
with Use-Case Points
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition
Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.