Applying Uml And Patterns

Páginas: 216 (53978 palabras) Publicado: 27 de octubre de 2012
Sample Unified Process Artifacts and Timing (s-start; r-refine)

Artifact
Iteration^

Discipline

Incep.
1
1

Business Modeling
Requirements

Domain Model
Use-Case Model
Vision
Supplementary Specification
Glossary
Design Model SW
Design
Architecture Document Data
Model
Implementation
Implementation Model
Project Managemen t SW Development Plan
Testing
Test ModelEnvironment
Development Case

Elab.

Const.
CL.Cn

EL.En

Trans.
T1..T2

s

s
a
s
s

r
r
r
r

ss
s
s
s

rr

r
r
r

r

s
s

r
r

r

Sample Unified Process Artifact Relationships
Domain Model
Sale

Register

Captured-on

timeStamp

1

1

ProductCatalog

...

...

...
...

domain concepts
Use-Case Model
: System
Process Saleconceptual
classes in
the
domain
inspire the
names of
some
software
classes in
the design

: Cashier

1. Customer
arrives ...
2. Cashier
makes new
sale.
3. ...

system
events

Process
Sale
Cashier

enterItem
(id, quantity)
...

System Sequence Diagrams

Use Cases

use-case
realization with
interaction
diagrams

make
NewSale()

Use Case Diagrams

Design Model: Register

: ProductCatalog

makeNewSale()

create()

enterItem(id, quantity)

: Sale

spec := getSpecification( id )
addLineItem( spec, quantity )
...

Register
...
makeNewSale()
enterItem(...)
...

ProductCatalog
1

1

...
getSpecification(...) : ProductSpecification
...

the design
classes
discovered
while designing
UCRs can be
summarized in
class diagrams General Responsibility Assignment Software Patterns (GRASP)

Pattern
Information
Expert

Creator

Controller

Low Coupling

Description
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.
Who creates? (Note that Factory is a commonalternate 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
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)
How to support low dependency and increased reuse? Assign

(evaluative)

responsibilities so that (unnecessary) coupling remains low.

High
Cohesion

How to keep complexity manageable? Assign

(evaluative)
Polymorphism

Pure
FabricationIndirection

Protected
Variations

responsibilities so that cohesion remains high.
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.
Who is responsible when you are desperate, and do not want to violate highcohesion 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.
How to assign responsibilities to avoid direct coupling?
Assign the responsibility to an intermediate object to mediate between other componentsor
services, so that they are not directly coupled.
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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Childhood and adolecents physical patterns
  • UML
  • Verb Patterns
  • UML
  • UML
  • Uml de las
  • Que es uml
  • Uml

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS