Professional Documents
Culture Documents
Domain Model
domain concepts
Use-Case Model
: System
Process Sale : Cashier
make Process
1. Customer NewSale() Sale
system
arrives ... Cashier
events enterItem
2. Cashier
makes new (id, quantity)
...
conceptual sale.
classes in 3. ...
the
domain Use Cases System Sequence Diagrams Use Case Diagrams
inspire the
names of
some
software use-case Design Model
classes in realization with
the design interaction : Register : ProductCatalog
diagrams
makeNewSale()
create() : Sale
enterItem(id, quantity)
spec := getSpecification( id )
the design
Register classes
ProductCatalog discovered
... 1 1 while designing
...
UCRs can be
makeNewSale() summarized in
getSpecification(...) : ProductSpecification
enterItem(...) class diagrams
...
...
Domain Model
Use-Case Model
: System
Operation: makeNewSale
Process Sale : Cashier make
NewSale() Post-conditions:
1. Customer - ...
arrives ... system system
2. ... enterItem
events operations
3. Cashier (id, quantity)
enters item Operation: enterItem
identifier.
4.... endSale()
Post-conditions:
- A SalesLineItem instance
sli was created
makePayment - ...
(amount)
...
ESCENARIO SIMPLE DE:
:System
: Cashier
makeNewSale()
makePayment(amount)
by Creator
by Controller
1: spec := getSpecification(id)
2.1: create(spec, qty)
:Product
by Expert
Catalog
sl: SalesLineItem
1.1: spec := find(id)
2.2: add(sl)
CAUTION:
CAUTION:
This is a multiobject collection (such as a Map), not a
This is a multiobject collection (such as a List), not a
ProductSpecification. It may contain many
SalesLineItem. It may contain many SalesLineItems.
ProductSpecifications.
Store Uses
1 address : Address 1
1
name : Text
ProductSpecification
ProductCatalog
addSale(...)
description : Text
... Contains
price : Money
1 Looks-in 1 1 1.. * itemID: ItemID
getSpecification(...)
...
Houses
1
1 1 Describes
Sale
Register date : Date
*
isComplete : Boolean SalesLineItem
...
Captures time : Time Contains quantity : Integer
endSale() 1 1 1 1.. *
becomeComplete()
enterItem(...) getSubtotal()
makeLineItem(...)
makeNewSale()
makePayment(...)
makePayment(...)
getTotal()
Logs-completed * 1
Payment
Paid-by
amount : Money
A dependency of Register knowing about 1
ProductSpecification. ...
:ProductSpecification
Aplicación de la operación iniciar al punto de Venta
(CU Iniciar, contrato Iniciar())
by Creator
create an empty multiobject (e.g., a
Map), not a ProductSpecification
1: create()
1.1: create()
ps:
ProductSpecification
the * in sequence number
indicates the message occurs in
a repeating section
Sample UP Artifacts Partial artifacts,
refined in each
Domain iteration.
Business Model
Modeling *
* the domain objects,
attributes, and associations
that undergo state changes
Use-Case Model
:System
Software
Dev. Plan
Project
Management
Test
Plan Development
Case
Test Environment