Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
468,5 KB
Nội dung
1
Rational
Proprietary and
Confidential
Object Oriented Analysis and Design
Using the UML
Module 5: IdentifyDesign Elements
Module 5: IdentifyDesign Elements
2
Rational
Proprietary and
Confidential
Objectives: IdentifyDesign Elements
Understand the purpose of the IdentifyDesignElements
Understand the purpose of the IdentifyDesignElements
and understand where in the lifecycle it is performed
and understand where in the lifecycle it is performed
To understand how to analyze interactions of analysis
To understand how to analyze interactions of analysis
classes to identifydesign model elements
classes to identifydesign model elements
Design classes
Subsystems
Subsystems Interfaces
3
Rational
Proprietary and
Confidential
Identify Design Mechanisms in Context
Architec t
Identify
Des ign
Ele me nts
4
Rational
Proprietary and
Confidential
Identify DesignElements Overview
The
The
Activity: Use Case Analysis
Activity: Use Case Analysis
results in
results in
analysis classes
analysis classes
,
,
which represent
which represent
conceptual things which can perform
conceptual things which can perform
behavior
behavior
. In design,
. In design,
analysis classes
analysis classes
evolve into a number
evolve into a number
of different kinds of design elements:
of different kinds of design elements:
5
Rational
Proprietary and
Confidential
Supplementary
Specifications
Software Architecture
Document
Design Model
Design Model
Design
Guidelines
Analysis Classes
Identify DesignElements Overview
Identify Design
Elements
6
Rational
Proprietary and
Confidential
Purpose
Purpos e
Purpos e
:
:
To analyze interactions of analysis classes to find
interfaces, classes and subsystems.
To refine the architecture, incorporating reuse
where possible.
To identify common solutions to commonly
encountered design problems.
To include architecturally significant parts of the
design model in the Logical View
7
Rational
Proprietary and
Confidential
Input and Output
Input Artifacts
Input Artifacts
:
:
Supplementary Specifications
Glossary
Software Architecture Document
Design Model
Analysis Classes
Design Guidelines
Res ulting Artifacts
Res ulting Artifacts
:
:
Design Model (Classes and Subsystems)
Updated Software Architecture Document
Updated Design Guidelines
8
Rational
Proprietary and
Confidential
Class, Subsystem, interface overview
Classes, to represent a set of rather fine-grained
Classes, to represent a set of rather fine-grained
responsibilities;
responsibilities;
Subsystems, to represent a set of coarse-grained
Subsystems, to represent a set of coarse-grained
responsibilities, eventually composed of a further set of
responsibilities, eventually composed of a further set of
classes and possibly subsystems;
classes and possibly subsystems;
Interfaces, to represent abstract declarations of
Interfaces, to represent abstract declarations of
responsibilities provided by a class or subsystem;
responsibilities provided by a class or subsystem;
9
Rational
Proprietary and
Confidential
Identify DesignElements Steps
Identify classes and subsystems
Identify classes and subsystems
Identify subsystem interacts
Identify subsystem interacts
Update the organization of the design model
Update the organization of the design model
Checkpoints
Checkpoints
10
Rational
Proprietary and
Confidential
Identify DesignElements Steps
Identify classes and subsystems
Identify classes and subsystems
Identify subsystem interfaces
Identify subsystem interfaces
Identify reuse opportunities
Identify reuse opportunities
Update the organization of the design model
Update the organization of the design model
Checkpoints
Checkpoints
[...]...From Analysis Classes to DesignElements Analysis Classes DesignElements Rational Proprietary and Many-to-Many Mapping 11 From Analysis Classes to DesignElements (cont.) Analysis classes handle primarily functional requirements, and model objects from the "problem" domain; designelements handle nonfunctional requirements, and... the design (e.g components): Communication software Database access support Types and data structures Common utilities Application-specific products Rational Proprietary and 32 Identifying Subsystems ClassA “Superman Class” Y() Z() InterfaceA SubsystemK Y() Z() Rational Proprietary and ? 33 IdentifyDesignElements Steps Identify classes and subsystems Identify. .. components and don’t need to be “designed” at all Rational Proprietary and 12 From Analysis Classes to DesignElements (cont.) Once the design classes and subsystems have been created, each must be given a name and a short description The responsibilities of the original analysis classes should be transferred to the newly-created subsystems Rational Proprietary and 13 IdentifyDesign Classes An analysis... and semantics Class Name What is a package? A general purpose mechanism for organizing elements into groups A model element which can contain other model elements Package Name Rational Proprietary and 15 Group Design Classes In Packages When identifying classes, they should be grouped into Artifact: Design Packages You can base your packaging criteria on a number of different factors Configuration... subsystems Identify subsystem interfaces Identify reuse opportunities Update the organization of the design model Checkpoint Rational Proprietary and 34 Identifying Interfaces Once the subsystems are identified, their interfaces need to be identified Purpose To identify the interfaces of the subsystems based on their responsibilities Steps Identify a set of candidate interfaces for... contain other model elements, and a class, such that it has behavior A subsystem realizes one or more interfaces, which define the behavior it can perform A subsystem may be represented as a a UML package (e.g., a tabbed folder) with the «subsystem» stereotype Rational Proprietary and 25 Review: Subsystems and Interfaces A “cross between” a package (can contain other model elements) and a class... used to: Partition the system into units which can provide restricted security over key resources Represent existing products or external systems in the design (e.g components) Subsystems raise the level of abstraction Rational Proprietary and 30 Identify Subsystems Hints Look at object collaborations Look for optionality Look to the user interface of the system Look to the Actors Look... description The responsibilities of the original analysis classes should be transferred to the newly-created subsystems Rational Proprietary and 13 IdentifyDesign Classes An analysis class maps directly to a design class if: It is a simple class It represents a single logical abstraction More complex analysis classes may Split into multiple classes Become a package Become a subsystem (discussed . and Design
Using the UML
Module 5: Identify Design Elements
Module 5: Identify Design Elements
2
Rational
Proprietary and
Confidential
Objectives: Identify.
Confidential
Objectives: Identify Design Elements
Understand the purpose of the Identify Design Elements
Understand the purpose of the Identify Design Elements
and understand