Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 77 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
77
Dung lượng
1,24 MB
Nội dung
1
Rational
Proprietary and Confidential
Object Oriented Analysis and Design
Using the UML
Module : Use-Case Analysis
Module : Use-Case Analysis
2
Rational
Proprietary and Confidential
Objectives: Use-Case Analysis
Understand the purpose of Use-CaseAnalysis and where in
Understand the purpose of Use-CaseAnalysis and where in
the lifecycle it is performed
the lifecycle it is performed
Identify the classes which perform a use- case flow of
Identify the classes which perform a use- case flow of
events
events
Distribute the use-case behavior to those classes, identifying
Distribute the use-case behavior to those classes, identifying
responsibilities of the classes
responsibilities of the classes
Develop use-case realizations that model the collaborations
Develop use-case realizations that model the collaborations
between instances of the identified classes
between instances of the identified classes
3
Rational
Proprietary and Confidential
Use-Case Analysis in Context
Designer
Use-Case
Analysis
4
Rational
Proprietary and Confidential
Use-Case Analysis in Context
we have made an initial attempt at defining our
we have made an initial attempt at defining our
architecture we have defined the upper layers of our
architecture we have defined the upper layers of our
architecture, the key abstractions, and some key analysis
architecture, the key abstractions, and some key analysis
mechanisms. This initial architecture, along with the
mechanisms. This initial architecture, along with the
software requirements defined in the Requirements
software requirements defined in the Requirements
workflow, guides and serves as input to the Use-Case
workflow, guides and serves as input to the Use-Case
Analysis activity.
Analysis activity.
In Use-Case Analysis, we identify the analysis classes
In Use-Case Analysis, we identify the analysis classes
and define their responsibilities. As the analysis classes
and define their responsibilities. As the analysis classes
and their responsibilities are defined, we will also note the
and their responsibilities are defined, we will also note the
usage of any architectural (more specifically, analysis)
usage of any architectural (more specifically, analysis)
patterns defined in Architectural Analysis. The
patterns defined in Architectural Analysis. The
architectural layers and their dependencies may affect the
architectural layers and their dependencies may affect the
allocation of responsibility to the defined analysis classes.
allocation of responsibility to the defined analysis classes.
5
Rational
Proprietary and Confidential
Supplementary
Specifications
Glossary
Use-Case Model
Use-Case
Analysis
Use-Case
Modeling Guidelines
Use-Case Realization
(identified)
Use-Case Realization
(developed)
Design Model
Analysis Classes
Analysis Model (optional)
Use-Case Analysis Overview
Software Architecture
Document
6
Rational
Proprietary and Confidential
Requirement Capture and Analysis –Conceptual Model
Conceptual Model
Conceptual Model
–
–
Concepts and Classes
Concepts and Classes
I
I
mportant and typical activity in object-oriented
mportant and typical activity in object-oriented
requirement
requirement
analysis
analysis
is to
is to
identify concepts
identify concepts
related to the requirements
related to the requirements
and to create a
and to create a
conceptual model
conceptual model
of the
of the
domain
domain
Conceptual Model or domain model
Conceptual Model or domain model
illustrates meaningful (to the modelers) conceptual classes in a
illustrates meaningful (to the modelers) conceptual classes in a
problem domain
problem domain
A
A
domain model OR conceptual models
domain model OR conceptual models
is a
is a
visual
visual
representation of conceptual classes or real-world objects in
representation of conceptual classes or real-world objects in
a domain of interest
a domain of interest
7
Rational
Proprietary and Confidential
Requirement Capture and Analysis –Conceptual Model (Cont.)
The aim of this step is to
The aim of this step is to
decompose the problem in terms of
decompose the problem in terms of
individual concepts or objects
individual concepts or objects
A central distinction between OOA and structured analysis is
A central distinction between OOA and structured analysis is
decomposition by concepts (
decomposition by concepts (
objects
objects
) rather than
) rather than
decomposition by
decomposition by
functions
functions
8
Rational
Proprietary and Confidential
Requirement Capture and Analysis –Conceptual Model (Cont.)
Problem word
modeling
Concept model
9
Rational
Proprietary and Confidential
Requirement Capture and Analysis –Conceptual Model (Cont.)
Conceptual Models Are not Models of Software
Conceptual Models Are not Models of Software
Components they models Conceptual Classes
Components they models Conceptual Classes
The conceptual modeling process is fundamentally an
The conceptual modeling process is fundamentally an
inside-out approach. Inside-out means that we’re starting
inside-out approach. Inside-out means that we’re starting
with the core objects in the system, then working from the
with the core objects in the system, then working from the
inside outward, to see how those objects are going to
inside outward, to see how those objects are going to
participate in the system we’re building.
participate in the system we’re building.
10
Rational
Proprietary and Confidential
Use-Case Analysis Steps
Supplement the Use-Case Description
Supplement the Use-Case Description
For each use-case realization
For each use-case realization
Find Classes from Use-Case Behavior
Distribute Use-Case Behavior to Classes
For each resulting analysis class
For each resulting analysis class
Describe Responsibilities
Describe Attributes and Associations
Qualify Analysis Mechanisms
Unify Analysis Classes
Unify Analysis Classes
Checkpoints
Checkpoints
[...].. .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 Rational Proprietary... For each resulting analysis class Describe Responsibilities Describe Attributes and Associations Qualify Analysis Mechanisms Unify Analysis Classes Checkpoints Rational Proprietary and Confidential 31 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... Example: Summary: Analysis Classes Register for Courses Course Catalog System Student Use-Case Model Design Model RegisterForCoursesForm CourseCatalogSystem CourseOffering Rational Proprietary and Confidential Schedule RegistrationController 30 Student Use-Case Analysis Steps Supplement the Use-Case Descriptions For each use-case realization Find Classes from Use-Case Behavior Distribute Use-Case Behavior... 11 Supplement the Use-Case Description • The system retrieves and displays a list of current course offerings from the course catalog legacy database • The system displays a list of course offerings Rational Proprietary and Confidential 12 Use-Case Analysis Steps Supplement the Use-Case Description For each use-case realization Find Classes from Use-Case Behavior Distribute Use-Case Behavior... delete( ) change( ) 14 Review: Use-Case Realization Use-Case Model Design Model Use Case Use-Case Realization Sequence Diagrams Collaboration Diagrams Use Case Rational Proprietary and Confidential Class Diagrams 15 Find Classes From Use-Case Behavior The complete behavior of a use case has to be distributed to analysis classes Rational Proprietary and Confidential 16 What is an Analysis Class? ... Proprietary and Confidential 16 What is an Analysis Class? System boundary Use-case behavior coordination System information Rational Proprietary and Confidential 17 Analysis Classes: A First Step Towards Executables Use Cases Analysis Design Classes Elements Use-Case Analysis Rational Proprietary and Confidential 18 Source Code Exec What is a Boundary Class? Intermediates... and Confidential 26 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 Rational Proprietary and Confidential 27 The Role of a Control Class Customer Coordinate the use-case behavior Rational Proprietary and Confidential... 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 Rational Proprietary and Confidential 13 Review: Class An abstraction Describes a group of objects with common:... Store and manage information in the system Rational Proprietary and Confidential 24 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... implemented Concentrate on the responsibilities, not the details! Rational Proprietary and Confidential 22 What is an Entity Class? Key abstractions of the system Analysis class stereotype Glossary Use Case Business-Domain Model Architectural Analysis Abstractions Rational Proprietary and Confidential Environment Independent 23 The Role of an Entity Class Customer . Analysis and Design
Using the UML
Module : Use-Case Analysis
Module : Use-Case Analysis
2
Rational
Proprietary and Confidential
Objectives: Use-Case Analysis
Understand. the Use-Case
workflow, guides and serves as input to the Use-Case
Analysis activity.
Analysis activity.
In Use-Case Analysis, we identify the analysis