analysis patterns analysis patterns, martin fowler data modeling patterns, david hay java modeling...
TRANSCRIPT
Analysis Patterns
Analysis Patterns, Martin FowlerData Modeling Patterns, David Hay
Java Modeling in Color with UML, Peter CoadThe Data Model Resource Book (two volumes),
Len Silverston
Patterns
Small Coding patterns: Smalltalk Best Practice Patterns Refactorings
Medium Design patterns
Big Frameworks Architectural patterns
Patterns
Reusable solution to a problem in a context.
Knowledge of experts.
Balance of forces.
Analysis Patterns
Organizational structure Hay, Fowler
Accountability Fowler
Quantities Hay, Fowler
Contracts Hay, Fowler
Accounting Hay, Fowler
Products and Inventories Hay
Material Requirements Planning Hay
Transactions
EntryEntry
amountamount
AccountAccount TransactionTransaction
datedate
Transactions can effect many accounts.
****
Party
Many roles that are usually played by people are sometimes played by organizational units, too.
PartyParty
AddressAddress
OrganizationOrganizationPersonPerson
Organizational Hierarchies
Organizations usually have a hierarchical structure.
PartyParty
AddressAddress
OrganizationOrganizationPersonPersonsubsidiarysubsidiary
parentparent
DivisionDivision RegionRegion Sales OfficeSales OfficeOperating UnitOperating Unit
Organizational Structure
Problem: An organization can be in several hierarchies, and the structure can change over time.
OrganizationOrganization
OrganizationStructureTypeOrganizationStructureType
subsidiarysubsidiary
parentparentOrganizationStructureOrganizationStructure
time intervaltime interval
DivisionDivision RegionRegion Sales OfficeSales OfficeOperating UnitOperating Unit
****
Quantity
QuantityQuantityamount: Numberamount: Numberunits: Unitunits: Unit+, -, *, /+, -, *, /
Conversion Ratio
Conversion RatioConversion Ratioratio: Numberratio: Number
UnitUnit ****
Measurement
PersonPerson QuantityQuantityweightweight
heightheight
Measurement
PersonPerson MeasurementMeasurement QuantityQuantity
PhenomenonPhenomenonTypeType
**** **
Observation
PersonPerson ObservationObservation
CategoryCategory
PhenomenonPhenomenonTypeType
MeasurementMeasurement CategoryObs.CategoryObs.
QuantityQuantity
****
**
Action
ActionActiontimetime
LocationLocation
PartyParty
**
**
Proposed and Implemented Actions
ImplementedImplementedActionAction
ProposedProposedActionAction
ActionAction
Completed, Abandoned, Suspended Actions
StatusStatus
CompletedCompleted
TimeTimePeriodPeriod
AbandonedAbandoned
SuspendedSuspended
ActionAction
**
**
Plan
ProposedProposedActionAction
PlanPlan
dependentdependent
consequencesconsequences
****
Resource Allocation
ImplementedImplementedActionAction
ProposedProposedActionAction
ResourceResourceTypeType
ActionAction
ResourceResourceAllocationAllocationquantityquantity
booksbooksusesuses****
Why I like “Analysis Patterns”
Invaluable if you are learning business programming
Lots of choices
Summary
Lots of different kinds of patterns.
Patterns in problem domain, as well as solution domain.
Analysis patterns are as important as design patterns.