没有合适的资源?快使用搜索试试~ 我知道了~
首页Applying UML and Patterns(free)
Applying UML and Patterns(free)
需积分: 10 66 浏览量
更新于2023-05-28
评论
收藏 15.27MB PDF 举报
Applying UML and Patterns 详细的 UML 模式介绍;
资源详情
资源评论
资源推荐


Sample Unified Process Artifacts and Timing (s-start; r-refine)
Sample Unified Process Artifact Relationships
Discipline
Artifact
Iteration^
Incep.
11
Elab.
EL.En
Const.
CL.Cn
Trans.
T1..T2
Business Modeling Domain Model s
Requirements Use-Case Model s r
Vision a r
Supplementary Specification s r
Glossary s r
Design
Design Model SW
Architecture Document Data
Model
s s
s
r r
Implementation Implementation Model s r r
Project Managemen t SW Development Plan s r r r
Testing Test Model s r
Environment Development Case s r
: System
enterItem
(id, quantity)
...
Process Sale
1. Customer
arrives ...
2. Cashier
makes new
sale.
3. ...
Use Cases
System Sequence Diagrams
make
NewSale()
Sale
timeStamp
Register
...11
ProductCatalog
. . .
domain concepts
system
events
Domain Model
Use-Case Model
Design Model
: Register
enterItem(id, quantity)
: ProductCatalog
spec := getSpecification( id )
addLineItem( spec, quantity )
: Sale
. . .
use-case
realization with
interaction
diagrams
conceptual
classes in
the
domain
inspire the
names of
some
software
classes in
the design
makeNewSale()
create()
Register
...
makeNewSale()
enterItem(...)
...
ProductCatalog
...
getSpecification(...) : ProductSpecification
...
the design
classes
discovered
while designing
UCRs can be
summarized in
class diagrams
Cashier
Process
Sale
Use Case Diagrams
: Cashier
1
1
. . .
. . .
Captured-on

General Responsibility Assignment Software Patterns (GRASI
Pattern
Description
Information
Expert
A general principle of object design and responsibility assignment?
Assign a responsibility to the information expert — the class that has the information necessary
to fulfill the responsibility.
Creator
Who creates? (Note that Factory is a common alternate solution.)
Assign class B the responsibility to create an instance of class A if one of these is true: 1.
B contains A 4. B records A
2. B aggregates A 5. B closely uses A
3. B has the initializing data for A
Controller
Who handles a system event?
Assign the responsibility for handling a system event message to a class representing one of
these choices: 1. Represents the overall system, device, or a subsystem (facade controller). 2.
Represents a use case scenario within which the system event occurs (use-case or session
controller)
Low Coupling
(evaluative)
How to support low dependency and increased reuse? Assign
responsibilities so that (unnecessary) coupling remains low.
High
Cohesion
(evaluative)
How to keep complexity manageable? Assign
responsibilities so that cohesion remains high.
Polymorphism
Who is responsible when behavior varies by type?
When related alternatives or behaviors vary by type (class), assign responsibility for the
behavior — using polymorphic operations — to the types for which the behavior varies.
Pure
Fabrication
Who is responsible when you are desperate, and do not want to violate high cohesion and low
coupling?
Assign a highly cohesive set of responsibilities to an artificial or convenience "behavior"
class that does not represent a problem domain concept — something made up, in order to
support high cohesion, low coupling, and reuse.
Indirection
How to assign responsibilities to avoid direct coupling?
Assign the responsibility to an intermediate object to mediate between other components or
services, so that they are not directly coupled.
Protected
Variations
How to assign responsibilities to objects, subsystems, and systems so that the variations or
instability in these elements do not have an undesirable impact on other elements?
Identify points of predicted variation or instability; assign responsibilities to create a stable
"interface" around them.

TABLE OF CONTENTS
Foreword xv
Preface xvii
PART I INTRODUCTION
1 Object-Oriented Analysis and Design 3
Applying UML and Patterns in OOA/D 3
Assigning Responsibilities 6
What Is Analysis and Design? 6
What Is Object-Oriented Analysis and Design? 7
An Example 7
The UML 10
Further Readings 11
2 Iterative Development and the Unified Process 13
The Most Important UP Idea: Iterative Development 14
Additional UP Best Practices and Concepts 18
The UP Phases and Schedule-Oriented Terms 19
The UP Disciplines (was Workflows) 20
Process Customization and the Development Case 23
The Agile UP 24
The Sequential "Waterfall" Lifecycle 25
You Know You Didn't Understand the UP When... 26
Further Readings 26
3 Case Study: The NextGen POS System 29
The NextGen POS System 29
Architectural Layers and Case Study Emphasis 30
The Book's Strategy: Iterative Learning and Development 31
PART II INCEPTION
4 Inception 35
Inception: An Analogy 36
Inception May Be Very Brief 36
What Artifacts May Start in Inception? 37
You Know You Didn't Understand Inception When... 38
5 Understanding Requirements 41
Types of Requirements
42 Further Readings 43
6 Use-Case Model: Writing Requirements in Context 45
Goals and Stories 46
Background 46
Use Cases and Adding Value 47
Use Cases and Functional Requirements 48
Use Case Types and Formats 49
Fully Dressed Example: Process Sale 50
Explaining the Sections 54
Coals and Scope of a Use Case 59
Finding Primary Actors, Goals, and Use Cases 63
Congratulations: Use Cases Have Been Written, and Are Imperfect 67
Write Use Cases in an Essential Ul-Free Style 68
Actors 70
Use Case Diagrams 71
Requirements in Context and Low-Level Feature Lists 73
Use Cases Are Not Object-Oriented 75
vii

TABLE OF CONTENTS
Use Cases Within the UP 75
Case Study: Use Cases in the NextGen Inception Phase 79
Further Readings 79
UP Artifacts and Process Context 81
7 Identifying Other Requirements 83
NextGen POS Examples 84
NextGen Example: (Partial) Supplementary Specification 84
Commentary: Supplementary Specification 88
NextGen Example: (Partial) Vision 91
Commentary: Vision 93
NextGen Example: A (Partial) Glossary 98
Commentary: Glossary (Data Dictionary) 99
Reliable Specifications: An Oxymoron? 100
Online Artifacts at the Project Website 101
Not Much UML During Inception? 101
Other Requirement Artifacts Within the UP 101
Further Readings 104
UP Artifacts and Process Context 105
8 From Inception to Elaboration 107
Checkpoint: What Happened in Inception? 108
On to Elaboration 109
Planning the Next Iteration 110
Iteration 1 Requirements and Emphasis: Fundamental OOA/D Skills 112
What Artifacts May Start in Elaboration? 118
You Know You Didn't Understand Elaboration When... 114
PART III ELABORATION ITERATION 1
9 Use-Case Model: Drawing System Sequence Diagrams 117
System Behavior 118
System Sequence Diagrams 118
Example of an SSD 119
Inter-System SSDs 120
SSDs and Use Cases 120
System Events and the System Boundary 120
Naming System Events and Operations 121
Showing Use Case Text 122
SSDs and the Glossary 122
SSDs Within the UP 123
Further Readings 124
UP Artifacts 125
10 Domain Model: Visualizing Concepts 127
Domain Models 128
Conceptual Class Identification 132
Candidate Conceptual Classes for the Sales Domain 136
Domain Modeling Guidelines 137
Resolving Similar Conceptual Classes—Register vs. "POST" 139
Modeling the Unreal World 140
Specification or Description Conceptual Classes 140
UML Notation, Models, and Methods: Multiple Perspectives 144
Lowering the Representational Gap 146
Example: The NextGen POS Domain Model 148
Domain Models Within the UP 148
Further Readings 150
viii
剩余615页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0