Use Case

advertisement
®
IBM Software Group
PRJ270: Essentials of Rational Unified Process
Module 4: RUP Content
1
Module 4 Objectives
Be introduced to the content of RUP and its
application by investigating:
 RUP disciplines
• Requirements
• Business Modeling
• Configuration & Change Management
• Environment
• Project Management
• Analysis & Design
• Implementation
• Test
• Deployment
2
Review: RUP Organization Based on Content
RUP content is organized into disciplines.
Discipline: a collection of activities that are all
related to a major “area of concern.”
The disciplines are:
Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
Configuration &
Change Management
Project Management
Environment
3
RUP Disciplines
RUP has disciplines.
Artifacts from each
discipline evolve over the
iterative process.
4
Disciplines Produce and Share Models
Various
disciplines
produce
Models …
Business
Modeling
Analysis &
Design
Requirements
Implementation
Input To
Business UseCase Model
B
B
B
B
Realized By
Use-Case
Model
Automated
By
Business
Object Model
… each of
those models
is Assessed
Design Model Implementation
Model
Verified By
Test
5
Validated By
Deployment
Realized
By
Implemented
By
Requirements Discipline
Purpose
 Establish and maintain agreement with the
customers and other stakeholders on what the
system should do
 Provide system developers with a better
understanding of the system requirements
 Define the boundaries of (delimit) the system
 Provide a basis for planning the technical
contents of iterations
 Provide a basis for estimating cost and time to
develop the system
 Define a user-interface for the system, focusing
on the needs and goals of the users
6
Requirements Types
 Features: used for scoping the project
 Main audience: Stakeholders
 Documented in the Vision artifact
 Functional Requirements: specifying interactions
with system users
 Main audience: users and project team
 Modeled in the Use-Case Model artifact
 Supplementary Requirements: specifying
functionality, usability, reliability, performance,
supportability requirements, and design constraints
 Main audience: architects and designers
 Documented in the Supplementary Specifications
artifact
7
Major Concepts in the Use-Case Model
An actor represents a
person or another
system that interacts
with the system.
Actor
A use case defines a
sequence of actions a
system performs that
yields a result of
observable value to an
actor.
Use Case
8
Actor
 Actors are not part of the
system. They represent
roles a user of the system
can play.
 An actor can actively
interchange information
with the system.
 An actor can be a passive
recipient of information.
 An actor can be a giver of
information.
 An actor can represent a
human, a machine or
another system.
Actor
System
9
A User Can Act as Several Actors
Charlie as depot
manager
Charlie
Depot Manager
Charlie as
depot staff
Depot Staff
10
Use Case
Use Case
 A use case specifies a dialogue between an
actor and the system.
 A use case is initiated by an actor to invoke
a certain functionality in the system.
 A use case is a complete and meaningful
flow of events.
 Taken together, all use cases constitute all
possible ways of using the system.
11
A Scenario - One Path Through a Use Case
 A use case can have many instances.
 A scenario is a described use-case
instance: a specific sequence of actions
that illustrates behaviors of the system.
Student
Register for
Courses
12
Course Catalog
A Sample UML Diagram: Use Cases
A University Course Registration System
Register for Courses
Student
Select Courses to Teach
Course Catalog
Professor
Maintain Professor Information
Registrar
Maintain Student Information
Close Registration
Billing System
13
What Is in a Use-Case Model?
 Actors and their descriptions
 Use-case diagrams showing relationships
 For each use case:
 Name and brief description
 Textual specification of:
• Flow of events
• Pre-conditions and post-conditions (optional)
• Special requirements
• Other diagrams, such as activity or state
diagrams
14
Review: Disciplines Produce and Share Models
Various
disciplines
produce
Models …
Business
Modeling
Analysis &
Design
Requirements
Implementation
Input To
Business UseCase Model
B
B
B
B
Realized By
Use-Case
Model
Automated
By
Business
Analysis Model
… each of
those models
is Assessed
Design Model Implementation
Model
Verified By
Test
15
Validated By
Deployment
Realized
By
Implemented
By
Use Cases as a Basis for Iteration Planning
Constraints
Use-Case Model
Project
Management
Iteration Plan
Fine-grained plan for
a single iteration
Supplementary
Specifications
During Elaboration, use
cases are implemented to
validate the architecture.
16
Use Cases as a Basis for System Modeling (1)
Use-Case Model
(requirements)
realizatio
n
influence
Design Model
Implementation Model
(classes and objects)
(source code)
17
verification
Test Scripts
Use Cases as a Basis for System Modeling (2)
Use Cases
Analysis Design
Classes Classes
18
Source
Code
Exec
Use Cases as a Basis for Test Planning
The complete behavior of a use case is tested using Test
Scripts and Test Suites.
Test Script
Test Suite
Test Script
Test Suite
19
Requirements Traceability
1
Vision
2
1
Stakeholder
Needs
3
Use-Case
Model
2
Design Model
Supplementary
Specifications
3
Test Suite
4
4
Trace product
requirements
(features) into
detailed requirements
Trace requirements
into design
Trace requirements
into test procedures
Trace requirements
into user
documentation and
training materials
End-User Documentation
Materials and Training
Materials
20
Business Modeling Discipline
 Purpose
 Understand problems in target organization and
identify potential improvements
 Ensure customer and end user have common
understanding of target organization
 Derive system requirements to support target
organization
 Understand structure and dynamics of
organization in which system is to be deployed
 This discipline uses an approach very
similar to that of system development
21
What Business Models Show
 Customers and
vendors
 Business processes
 Organizational
structure
 Roles and
responsibilities
 Products
 Internal deliverables
 Events
Two Business Models
Business
Use-Case Model
Business
Analysis Model
22
Business Modeling and Software Development
Business Modeling acts as:
 Input to Requirements
 Business Use-Case Models help you to
understand the requirements of the system and
identify system use cases
 Input to Analysis & Design
 Business entities from the Business Analysis
Model help identify entity classes in the Analysis
Model
23
Configuration & Change Management Discipline
Purpose: controls change to, and maintains
the integrity of, a project’s artifacts.
24
Configuration Management (CM)
Configuration Management tools
Support members of the project team (especially
those involved in development) by enabling:
 Baselining of versions and concurrent development
 Configuration identification and management
 Configuration status accounting and change tracking
 Version selection
 Software manufacture
 Measurement accounting by element
 A framework for Work Breakdown Structure design
The Product Directory Structure contains elements
of the product under development
25
Sample Product Directory Structure
The structure should be
initiated during Inception and
detailed as the product is
defined.
26
Change Request Management (CRM)
Two basic types of requests need to be
managed:
 Defects
 CRM supports all members of the team by
managing the processes to acquire, assign,
correct, and report defect-related activities.
 Enhancement Requests
 CRM supports the Change Control Board in the
administration of assessment and disposition of
product change proposals.
27
Change Request Management (CRM)
28
Measurement
 Quality:
 Describes the state of the product based on the
type, number, rate, and severity of defects
found and fixed during the course of product
development
 Progress:
 Measurements derived under this aspect, either
through audits or raw data, are useful in
determining the overall completeness status of
the project.
29
Environment Discipline
 Purpose: Focuses on the activities
necessary to configure the process for a
project. Defines what improvements are
realistic under the project’s circumstances:
• Current process
• Current tools
• Current staff skills and capabilities for change
• Current problems and possible improvement
objectives
30
Important Environment Artifacts
Development Process: is a configuration of
the underlying RUP framework that meets
the needs of the project following it.
Development Case: describes the
development process that you have chosen
to follow in your project.
31
Development Case
 Reflects decisions made by team leaders of
the project
 Describes the development process that
you have chosen to follow in your project
 Is contained in Environment discipline
 Is created early in Inception, and updated
during project
Select from
RUP knowledge base
Minimize cost
of process definition
32
Development
Case
Development Case (Partial Example)
Artifacts
How to Use
Review
Details
Tools Used / Templates /
Examples
Incep
Elab
Const Trans
Glossary
Must
Must
Must
Must
Formal –
External
MS Word/Template: Glossary
Requirements
Management Plan
Must
Must
Must
Must
Formal –
External
RequisitePro/Template: Requirements
Management
Software
Requirements
Specification
Must
Must
Must
Must
Formal –
External
MS Word/Template: Software
Requirements Specification
Supplementary
Specification
Must
Must
Must
Must
Formal –
External
RequisitePro/Template: Supplementary
Specification
Use-Case Model
Should
Must
Must
Must
Formal –
External
Rose/Template: Use-Case Model
Use-Case Package Could
Could
Could
Could
Informal
Rose/Embedded
Stakeholder
Requests
Must
Must
Must
Must
Formal –
External
ClearQuest/Template: Stakeholder
Requests
Vision
Must
Must
Must
Must
Formal –
External
RequisitePro/Template: Vision
33
Project Management Discipline
Purpose:
 Provide a framework for managing
software-intensive projects.
 Provide practical guidelines for planning,
staffing, executing, and monitoring projects.
 Provide a framework for managing risk.
Main artifacts are:
 Project Plan
 Risk Management Plan
 Business Case
 Iteration Plans
34
Business Case
 Involves estimation of development costs
based on:
 The current Product Directory Structure
 Make, buy, reuse decisions made by the
architect
 Estimation of project benefits to establish
ROI
 Estimation fidelity improves as the project
goes through phases (shown before)
 Typically the “justification” is made for the
next phase, with scoped estimates for the
rest.
35
Iteration Plan
 Focus during Inception and Elaboration
 Project scoping and risk reduction, especially
architectural risks
 Focus during Construction and Transition
 Development efficiency and product quality
36
Discussion: Strategies for Iterative Development
Incremental (1)
Incremental delivery (3)
ElaboInception ration
Prel.
Iteration
#1
Construction
#2
#n+1
#..
#m
#m+1 #m+2 . . Iter.
No.
Prel.
#1
Iteration
Co
nc
ep
tu a
Elaboration
#2
lp
r ot
o ty
pe
Transition
Prel.
#1
#2
#n+1
Iteration
Co
Ar
Re
ch
nc
lea
i te
ep
se
c
tu a
tur
al
lp
b
r ot
as
o ty
eli
pe
ne
#..
#m+1 #m+2 . . Iter.
No.
De
live
ry
#m
“Grand design” (4)
Evolutionary (2)
Inception
Inception
Transition
Construction
Elaboration
#n+1
#..
Construction
Inception
Transition
Elaboration
Construction
Transition
#1
#m+1 #m+2 . . Iter.
No.
Ar
Re
De
ch
lea
live
i te
se
ry
ctu
r al
ba
se
lin
e
#m
Co
37
nc
ep
tu
Ar
ch
al
pr o
i te
to t
#2
Re
ctu
ra
yp
e
lb
as
eli
ne
lea
#3 . .
De
se
Iter.
No.
live
ry
Planning for Iterative Development
Project Plan
Phase Plan
Iteration Plan (current)
Phases and major
milestones
What and when
Iterations for each phase
Number of iterations
Objectives
Duration
Iteration Plan (next)
“Roadmap”
Coarse-grained
Plan
38
Fine-grained
Plans
RUP Planning Guide for Microsoft® Project 2002
 Free download available on RDN
 Allows you to rightsize your project plan by
helping you to:
 plan the number of iterations to include in each
project phase
 incrementally plan each iteration by selecting
from a suggested list of:
• tasks to be undertaken
• potential deliverables and artifacts to be
produced
• roles to be responsible.
 Contains one-click access to RUP
39
What You Can Do in the RUP Planning Guide
Wizards allow you to
select how many
iterations you want in
each phase, as well
as which disciplinebased RUP activities
you want in each
iteration.
Wizards allow you
to select what
deliverables you
want in each
iteration, and to
attach activities or
roles to them.
40
Analysis & Design Discipline
Purpose:
 Transform the requirements into a design
of the system-to-be
 Evolve a robust architecture for the
system
 Adapt the design to match the
implementation environment
Primary artifact is the Design Model.
41
A Design Model:
 Is an object model describing the realization
of use cases
 Serves as an abstraction of the
implementation model and its source code
 Is used as essential input to activities in
implementation and test
42
Use Cases Drive Analysis & Design
Analysis Model (optional)
Use-Case Model
Analysis and
Design
Design Model
Supplementary
Specifications
Architecture
Document
43
Data Model
Use-Case Realization in Analysis & Design
<<realizes>>
Use Case
(Use-Case Model)
Use Case
Use-Case Realization
(Design Model)
Sequence Diagrams
Class Diagrams
44
Collaboration Diagrams
Use-Case Analysis & Design
 The complete behavior of a use case is
allocated to collaborating classes.
45
Sample UML Class Diagram
A University Course Registration System
<<boundary>>
MaintainScheduleForm
<<boundary>>
MainForm
// select maintain schedule()
1
0..1
+ // open()
+ // select 4 primary and 2 alternate offerings()
1
1
<<boundary>>
CourseCatalogSystem
1
0..*
<<control>>
RegistrationController
// add courses to schedule()
// get course offerings ()
// get course offerings()
0..1
1
<<entity>>
Schedule
// create with offerings()
46
Sample UML Sequence Diagram
:
: Student
:RegisterForCoursesForm
:
:RegistrationController
:
:CourseCatalogSystem
: Course Catalog
1: create schedule( )
2: get course offerings( )
3: get course offerings(forSemester)
4: get course offerings( )
5: display course offerings( )
6: display blank schedule( )
47
Implementation Discipline
Purpose:
 Implement classes and objects in terms of
components and source code
 Define the organization of the components
in terms of implementation subsystems
 Test the developed components as units
 Create an executable system
Primary artifact is Implementation Model.
48
What is an Implementation Model?
 An Implementation
Model consists of:
 Components
 Implementation
Subsystems
Telephone Banking
 Components include:
A
 Deliverable
components, such as
executables
 Components from
which the deliverables
are produced, such as
source code files
<<import>>
<<compilation>>
Trading Services
B
Components and implementation
subsystems in a Telephone Banking
System.
49
Build
A build:
 Is an operational version of a system or part
of a system.
 Demonstrates a subset of the capabilities
provided in the final product.
 Is an integral part of the iterative lifecycle.
 Provides review points.
 Helps uncover integration problems as soon
as they are introduced.
50
Test Discipline
Purpose:
 Finding and documenting defects in software quality
 Generally advising about perceived software quality
 Proving the validity of the assumptions made in design
and requirement specifications through concrete
demonstration
 Validating the software product functions as designed
 Validating that the requirements have been implemented
appropriately
The Test discipline:
 Focuses primarily on the evaluation or assessment of
quality realized through a number of core practices
 Acts in many respects as a service provider to the other
disciplines
51
Types of Test
Functionality
Performance
Function test
Benchmark test
Security test
Contention test
Volume test
Usability
Usability test
Reliability
Load test
Performance profile
Supportability
Configuration test
Integrity test
Installation test
Structure test
Stress test
Notice the match with Supplementary
Specifications Types.
52
Test Automation and Tools
 Data acquisition tools
 Static measurement tools
 Dynamic measurement tools
 Simulators or Drivers
 Test management tools
53
Deployment Discipline
 Purpose: Manage the activities associated
with ensuring that the software product is
available for its end users, such as:
 Product deployment
 Testing at the installation and target sites
 Beta testing
 Creating end-user support material
 Creating user training material
 Releasing to customer (in the form of shrinkwrapped package, download site, etc.)
54
Use Cases and End-User Documentation
Use-Case Model
Deployment
Supplementary
Specification
55
End-User Support Material
•User’s Guide
•Online Help
•Demos
•Tutorials
•Training Material
Review
 RUP content is organized into disciplines. A
discipline is a collection of related activities
that are related to a major “area of concern.”
 Disciplines group:
 Activities that are related
 The roles that perform those activities
 The artifacts that result from those activities
 Most disciplines produce models.
 Activities in disciplines have dependencies
that cross discipline boundaries.
56
Exercises
Complete Module 4 Exercise 1: Artifact
Evolution Through Phases in the
Exercises section of your student manual.
This exercise will allow you to become
familiar with some RUP artifacts and how
they evolve through phases.
Complete Discussion Points associated with
Exercise 2.
57
58
Download