Figure 10.31 Archetype Position: UML model.. Figure 10.33 Archetype Product: UML model.. * Product marketingData * Figure 10.34 Archetype Product: IDEF1X model.. productID Product produc
Trang 1tended) In reality, at most one Person can hold a Position at a time and application code must
enforce this constraint
The model does not require that the position structure be a hierarchy, although that is the
usual case The model instead supports matrix management (a Position may report to multi-ple parent Positions).
10.17 Product
A Product is the packaging of a physical item for a particular marketplace (Figure 10.33, Figure 10.34) For example, a bank can have a checking account service and tailor the service into products for various markets One product might be an interest-bearing checking ac-count Another might couple a checking account with discounts for various businesses A third product might have low fees for students A product can consist of multiple items
Figure 10.31 Archetype Position: UML model A Position is a job held
by someone in an organization
effectiveDate
expirationDate
MgmtHierarchy
PositionLink
effectiveDate expirationDate
Position
expirationDate
Assignment
effectiveDate
*
0 1
Organization
Person
*
*
1 1
expirationDate
1
*
1 root
{At most one Person can hold a Position at a time.}
Figure 10.32 Archetype Position: IDEF1X model
positionID
Position
title effectiveDate expirationDate
personID
Person
assignmentID
Assignment
effectiveDate expirationDate positionID (FK) personID (FK)
positionLinkID
PositionLink
effectiveDate expirationDate parentPositionID (FK) childPositionID (FK)
mgmtHierarchyID
MgmtHierarchy
effectiveDate
expirationDate
rootPositionID (FK) (AK1.1)
organizationID (FK)
organizationID
Organization
.
Trang 2140 Chapter 10 / Archetypes
10.18 Role
A Role is a function played by someone or something (Figure 10.35, Figure 10.36) Each
Role corresponds to one Entity and can also have a Relationship Similarly, each RoleType corresponds to one EntityType and can also have a RelationshipType.
This archetype is an excerpt from a metamodel but the notion of a role often arises for
application models Sometimes it is helpful to have explicit role tables as the Actor and Ad-dress archetypes illustrate.
Note that the role archetype has two homomorphisms
• EntityType to Entity corresponds to RoleType to Role.
• RelationshipType to Relationship corresponds to RoleType to Role.
Figure 10.33 Archetype Product: UML model A Product is the packaging
of a physical item for a particular marketplace
*
Product
marketingData
*
Figure 10.34 Archetype Product: IDEF1X model
physicalItemID
PhysicalItem
.
vendorID
Vendor
productID
Product
productName marketingData vendorID (FK)
PhysItem_Product
physicalItemID (FK) productID (FK)
Figure 10.35 Archetype Role: UML model A Role is a function played
by someone or something
RoleType
name
Role
1 1
*
*
*
1
0 1
*
*
1
EntityType
name
RelationshipType
name
Trang 310.19 Transaction
A Transaction is an exchange that must be completed in its entirety or not at all (Figure 10.37, Figure 10.38) There are two major usages — in finance and in computing
Figure 10.36 Archetype Role: IDEF1X model
entityTypeID
EntityType
entityTypeName (AK1.1)
roleTypeID
RoleType
roleTypeName entityTypeID (FK) relationshipTypeID (FK)
relationshipTypeID
RelationshipType
relationshipTypeName
entityID
Entity
entityTypeID (FK)
roleID
Role
roleTypeID (FK) entityID (FK) relationshipID (FK)
relationshipID
Relationship
relationshipTypeID (FK)
*
1
Figure 10.37 Archetype Transaction: UML model A Transaction is an
exchange that must be completed in its entirety or not at all
Transaction
datetime priority
TransactionType
name {unique}
TransactionElement
name
outcome
*
1
Figure 10.38 Archetype Transaction: IDEF1X model
transactionID
Transaction
datetime priority outcome transactionTypeID (FK)
transactionTypeID
TransactionType
transactionTypeName (AK1.1)
transactionElementID
TransactionElement
transactionElementName transactionID (FK)
Trang 4142 Chapter 10 / Archetypes
A financial transaction is an exchange of assets (information, goods, services, money) between two parties For example, a stock holding might be sold on a stock exchange A company may split its stock awarding additional shares to the owner as well as money in lieu
of partial shares
A computing transaction (often involving a database) is a group of commands that is treated as a unit of work All commands must be completed before the transaction is success-ful Partial work is not permitted; if the transaction cannot be completed all work is undone
Each Transaction has a TransactionType that determines the precise processing A trans-action outcome is committed or rolled back The Transtrans-actionElements are either the details
of a financial transaction or the constituent commands for a computing transaction
10.20 Vendor
A Vendor is someone involved in the sale of products (Figure 10.39, Figure 10.40). Vendor reifies the vendor role for a TangibleActor (usually an organization, see Section 10.2)
Ven-dors often have special data to collect, such as supply data, credit information, and order lead time You could use softcoding (see Chapter 13) to capture vendor data, but an alternative is
to define a distinct entity type as shown here
10.21 Chapter Summary
Archetypes are abstractions that often occur and transcend individual applications You should keep them in mind as you construct models Table 10.1 summarizes the archetypes
0 1 Vendor
supplyData 1
creditInformation orderLeadTime
Figure 10.39 Archetype Vendor: UML model A Vendor is someone
involved in the sale of products
TangibleActor
Figure 10.40 Archetype Vendor: IDEF1X model
vendorID
Vendor
supplyData creditInformation orderLeadTime tangibleActorID (FK) (AK1.1)
tangibleActorID
TangibleActor
.
Trang 5Archetype Definition Sample applications Related terms
Account
a label for recording,
reporting, and
manag-ing a quantity of
some-thing
• accounting
• business
• computing
• financial
• travel
• account payable
• account receivable
• credit card account
• email account
• expense account
• frequent flyer account
• general ledger account
Actor
someone or something
that is notable in terms
of data or relationships
widespread use across applications
• customer
• organization
• party
• person
• vendor
Address a means for
communi-cating with an actor
• financial
• security
Contract
an agreement for the
supply of products
• business
• financial
• agreement
• purchase order
• sales order
Course a series of lessons
about a subject
• education
Customer
someone involved in
the purchase of
prod-ucts
CRM (customer rela-tionship management)
Document
a physical or
elec-tronic representation of
a body of information
Event an occurrence at some
point in time
Flight
the travel by an
air-plane between airports
• aviation
• shipping
• trucking
• route
Item
a part or a service • commerce
• manufacturing
• part
• product
• service
Table 10.1 Summary of Archetypes
Note: Keep them in mind as you construct models The use of an archetype
can lead to a breakthrough