3106 use of uml 2.0 diagrams for systems architecture modeling gundars osvalds systems of systems...
TRANSCRIPT
3106Use of UML 2.0 Diagrams for
Systems Architecture Modeling
Gundars OsvaldsSystems of Systems Architect
The Boeing Company
2
Contents
Architecture Definition
Architecture Frameworks
Zachman Framework
Architecture Model Definitions
UML 2 for System Engineering Features
Enterprise Architecture Process and Models
Example Architecture Demonstrating the use of UML 2 Diagrams
3
What Is an Architecture?
Architecture– “The fundamental organization of a
system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.” IEEE 1471
Architect– Models the Stakeholders vision
Stakeholder– The customer of the Architecture
4
Purpose of an Enterprise Architecture
A building plan for a system or set of systems
Set of high-level design decisions made by senior architects– Addresses important system-wide issues– Documents decisions that affect the subsequent
elaboration of a system– Provides a guideline to the system designer and
developer
Some decisions may not be popular with the developers but are made for the good of the Enterprise
5
Architecture Design Process
The purpose is to synthesize a solution that satisfies system requirements– Partition the system functions
identified in the system requirements – Investigate COTS solutions– Evaluate existing solutions, model
and perform comparisons– The design solution is established
and documented using models
ISO 15288
6
Sponsor– Defines the capabilities
Customer– User of System
System Engineer– Model the enterprise and
system specifications
Enterprise Architect– Perform architectural design
of the system
Designer/Developer– Design and develop the
software and hardware to implement the system
Enterprise Architecture
Define Needs
EnterpriseArchitect
DesignerDeveloper
Sponsor System Engineer
Uses Specs
Model Needs
Design System
Arch
Customer
Stakeholders
Enterprise Architectural Stakeholders
Activities in developing a project architectural design
INCOSE 2004
7
What Is an Architecture Framework?
What Is an Architecture Framework?– A guidance to the architect defining
views and models that represent the thing (object) that is to be modeled
How does this relate to an information system implementation? – The architecture model guides the
implementation – The enterprise constraints provides
guidance to implementers
8
Architecture DefinitionConceptual Model
Architecture Framework
Enterprise
Stakeholder
Mission
1
1..*
defines
Requirement
scopes
1..*
1..*
1..*
holds
Architecture Description
Information System
1..*
1..*
fulfills
guides Architecture
represents
documents
implements
Model
View
11
1..*specifies
1..*
1..*describes
System Description
documents
guides
1 1..*
Artifacts
1..* 1..*
comprise
contains
1..*
1..*
Ref 1,6
IEEE 1471-2000 definition was enhanced to include Architecture Framework and Artifacts
INCOSE 2001
9Chesapeake Chapter INCOSE OOSEM WG
OOSEM RUP Bridged ZF
Object OrientedStructured Analysis (Functional)
Functional Object OrientedDiagrams
Modeling Methods
FE AF Zachman FW
Architecture Framework
C4ISR/DoD AFArchitecture Frameworks
Architecture Framework Relationships
e.g., IDEF0 e.g., OMG UML
SD SA Other
Standards
10
Why Select Zachman Framework as the Benchmark?
Performed industry survey on frameworks
– Determined that the Zachman Framework describes basic architecture elements unencumbered by politics, committees or commercial pressures
– Can be used describe any other framework using elements– Since being developed 17 years ago it has consistently
proven itself, become a de facto standards and has been used in whole or part by:
• Federal Architecture Framework
• C4ISR Architecture Framework (in “All Views”)
• Tool Vendors (Ptech, Popkin)
• Spewak’s Enterprise Architecture Planning
11
Architecture Modeling Based on the Zachman Framework
The Zachman Framework • is a total set of descriptive representations to fully
describe a complex object• a framework of “elements”• a helpful thinking tool• a classification schema
Therefore the Zachman Framework views and elements are used as the basis for definition of the Architecture models
Ref 2
12
MOTIVATION(Why)
TIME(When)
PEOPLE(Who)
NETWORK(Where)
FUNCTION(How)
DATA(What)
Abstractions
Designer
BuilderPer
spec
tives
Objective/Scope
(Contextual)
EnterpriseModel
(Conceptual)
SystemModel
(Logical)
TechnologyModel
(Physical)
DetailedModel (Out of
Context)Subcontractor
Conceptual Description of The Zachman Framework
Functioning Enterprise
Owner
Planner
Popkin
13
ZIFA 2004
14
Work Product Generation PrinciplesThe Zachman Framework defines primitive elements
– Each cell then presents an example of a single-variable model
– The columns present more detail
– The relationship of the rows is not defined
Composite models are defined by row primitives
– The composite model create the work products
– Used them to define the view bridged models
The defined models are independent of the diagrams
– Diagrams can be updated when the modeling language is enhanced (UML 2, SysMLTM)
15
Primitives to Work Products
Described asSingle Variable
Products
The Cells ContainPrimitives
Node = Business Location Link = Business Linkage
e.g., Logistics Network
The Artifacts Contain the View Elements
Artifacts Containthe View Elements
NETWORK
Artifact
(Where)
NETWORK
Artifact
(Where)
Logical View
LOGICAL
ARTIFACTS
DATA
Artifact
DATA
ArtifactFUNCTION
Artifact
FUNCTION
ArtifactNETWORK
Artifact
NETWORK
Artifact
PEOPLE
Artifact
PEOPLE
ArtifactTIME
Artifact
TIME
ArtifactMOTIVATION
Artifact
MOTIVATION
Artifact
(How)(How)(What)(What) (Where)(Where) (Who)(Who) (When)(When) (Why)(Why)
Composite Modelsare the
Work Products
Logical Classes
LogicalPackages Logical
Interactions
LogicalScenarios
LogicalStates
ZIFA 2001
16
Bridged Zachman Framework
Models Physical View
Models Logical View
Models Business View
Models Enterprise View
BTEC7 2004
17
MOTIVATION(Why)
TIME(When)
PEOPLE(Who)
NETWORK(Where)
FUNCTION(How)
DATA(What)
Abstractions
Logical View
Physical ViewPer
spec
tives
Scope
BusinessModel
SystemModel
TechnologyModel
DetailedRepresentations Specification
Functioning Enterprise
Business View
Enterprise View
Conceptual Description of the Bridged Zachman Framework
18
Architectural Framework Model
id Framework Model
Business ViewEnterprise View Physical ViewLogical View
Architecture Framework
refinerefine refine
19
UML 2 Support for Systems Engineering
Allows for more flexible System, Subsystems and Component representations
Structural decomposition– e.g., Classes, Components, Subsystems
System and component interconnections– via Parts, Ports, Connectors
Behavior decomposition– e.g., Sequences, Activities, State Machines
Enhancements to Activity diagrams– e.g., data and control flow constructs, activity
partitions/swim lanes
Ref 7
20
UML 2 Support forSystems Engineering (cont.)
Enhancements:– alternative sequences– reference sequences– interaction overview– timing diagrams
Support for information flows between components
Improved Profile and extension mechanisms
Compliance points and levels for tool compliance
Ref 7
21
UML 2.0 Diagram Taxonomy
Ref 7
New
New
Upd
ated
Upd
ated
Upd
ated
NewAll diagrams refined
some updated while others are new
OMG 2003
22
SpeedpassTM Enterprise Architecture Example
Presents the model of the Enterprise Architecture of SpeedpassTM to show an example of the the bridged Object Oriented models and diagrams– SpeedpassTM was developed by Mobile, and now
is also used by Exxon– The primary purpose of SpeedpassTM is to
speedup transactions at gas pump and other merchants
– The secondary purpose of SpeedpassTM is to provide a tool to collect customer information that can be used for direct marketing
23
SpeedpassTM ExampleThe Speedpass Enterprise consists of purchase payment
capabilities provided by the entities– Enterprise is from point of view of customer
ud Enterprise
Speedpass Enterprise
Customer
Point of Sale Merchant
Credit Organization Payment Processing Organization
24
Enterprise Architecture
View Process
ad Enterprise Architecture View
«UML Use Case»1.1Capability
«UML Component»1.2 Resource
«UML Component»1.3 Organization
«UML Class»1.4 Information
«UML Class»1.5 Conceptual
Start EnterpriseArchitectureView Process
EnterpriseArchitectureViewCompleted
Figure 4 Enterprise Architecture View Process
«UML Sequence»(Capability A)
1.6A Interaction
«UML Sequence»(Capability B)
1.6B Interaction
UML Activity Diagram (Updated)
id Framework Model
Business ViewEnterprise View Physical ViewLogical View
Architecture Framework
refinerefine refine
25
Capability Modelud 1.1 Capability
SpeedPass Enterprise
Customer
Tag
Merchant
Credit Card Company
Pay for Purchase
Authorize Credit Card Transaction
Authorize Payment
Setup Tag Account
Pay Merchant
Issue Tag
Link Payment to Credit Card
Confirm Payment
«include»
«include»
«include»
«include»
«include»
«include»
UML Use Case Diagram
id Framework Model
Enterprise View
26
Resource Model
id 1.2 Resources
Tag
MerchantCredit Card Company Tag Support Organization Customer
UML Component Diagram
id Framework Model
Enterprise View
27
Organization Model
UML Component Diagram
id Framework Model
Enterprise View
cd 1.3 Organization
Tag
MerchantCredit Card Organization
Tag Support Organization
Customer
1 11..* 1
1
1
1
1..*
1..*
1
1 1From the Tag point of view
28
Information Model
UML Class Diagram
id Framework Model
Enterprise View
cd 1.4 Information
Tag
- Tag Identifier: int
Credit Card
- Owners Name: int- Card Identifier: int- Expiration Date: int- Credit Limit: int
Purchase
- Amount: int
Credit Card Bill
- Credit Card Identifier: int- Amount: int- Due Date: int
1
11..*
1
1 1
29
Conceptual Modelcd 1.5 Conceptual
Customer
Tag
Credit Card
Tag Support Organization
Credit Card Organization
Merchant Purchse Support
Organization
Authorize Payment
Credit Approved
Issued Tag
Pay Merchant
Bil l forMerchendise
Request Payment
Make Payment
Request Payment
UML Class Diagram
id Framework Model
Enterprise View
30
Interaction ModelObtain Tag Capability
UML Sequence Diagram (Updated)
id Framework Model
Enterprise View
sd 1.6A Interaction (Obtain Tag)
Customer Tag ProcessingFacility
Credit CardCompany
seq Make Purchase
Request Tag
Verify Credit
Credit Authorized
Tag Authoized
31
Interaction ModelMake Purchase Capability
sd 1.6B Interaction (Make Purchase)
Customer Merchant Tag Support
Request Payment
Request Approval
Approved
Payment Approved
UML Sequence Diagram (Updated)
id Framework Model
Enterprise View
32
Business Architecture
View Process
UML Activity Diagram (Updated)
id Framework Model
Business ViewEnterprise View Physical ViewLogical View
Architecture Framework
refinerefine refine
cd Business Architecture View
«UML Class»(System A)
2.3A Component
«UML Communications»(System A)
2.4A Dynamic Interaction
«UML State Machine»(Capability A)
2.5A Process State
BusinessArchitectureViewCompleted
«UML Class»(System B)
2.3B Component
«UML Communication»(System B)
2.4B Dynamic Interaction
«UML State Machine»(System B)
2.5B Process State
Start BusinessArchitectureView Process
«UML Activity»(Capability B)2.2B Process
«UML Activity»(Capability A)2.2A Process
«UML Interaction Overview»2.1 Ov erv iew Scenario
«UML Timing»(Capability A)2.6A Timeline
Figure 5 Business Architecture View Process
«UML Timing»(Capability B)2.6B Timeline
33
Process Overview
Model
sd 2.1 Process Ov erv iew
seq Obtain Tag
seq Make Purchase
Tag Approved?
Purchase Approved?
Request Completed
Request Tag
merge node
Report Purchase Denied
Report Tag Not Approv ed
Yes, Pay for Purchase
Approved
UML Interaction Overview Diagram (New)
id Framework Model
Business View
34
Process ModelObtain Tag Capability
ad 2.2A Process (Obtain Tag)
Customer Tag Support Organization Credit Card Organization
New CustomerTag Request
Request Tag Verify Credit Information
Issue Tag
Request Credit CardApprov al
Issue Denial Letter
Tag Denied
Tag Receiv ed
Tag Request Completed
Merge
Approved?
«data»
Credit Card Info
«data»
Taf IdentifierYes
No
UML Activity Diagram (Updated)
id Framework Model
Business View
35
Process ModelMake Purchase Capability
ad 2.2B Process (Make Purchase)
Customer Tag Purchase Processing System Credit Card Company Merchant
Pa
rall
el
Ac
tiv
ity
Start Purchase
Swipe Tag Tag Requests Payment Process Payment Request
Payment
Pay Merchant
Payment Denied
Charge to CreditCard Payment Receiv ed
Payment AutorizationReceiv ed
Payment CapabilityCompleted
Parallel Activity
merge
«data»
Tag Identifier
node «data»
Credit Card Info
«data»
Payment
Not Approved
Approved
UML Activity Diagram (Updated)
id Framework Model
Business View
36
Component ModelObtain Tag Capability
UML Class Diagram
id Framework Model
Business View
cd 2.3A Component (Obtain Tag)
Tag Processing Serv ice
Credit Card Serv ice
Customer
Approve Credit
Request Tag
37
Component ModelMake Purchase Capability
cd 2.3B Component (Make Purchase)
Tag
Customer
Merchant
Purchase Processing
System
Request Purchase Approval
Issue Purchase Request
Request Purchase Payment
UML Class Diagram
id Framework Model
Business View
38
Dynamic Interaction ModelObtain Tag Capability
cd 2.4A Dynamic Interaction (Optain Tag)
Tag
Tag Processing Serv ice
Credit Card Processing
Serv ice
Customer
3: Approve Tag
2: Request Credit Approval
1. Request Tag
4. deliver Tag
UML Communication Diagram (Updated)
id Framework Model
Business View
39
Dynamic Interaction ModelMake Purchase Capability
cd 2.4B Dynamic Interaction (Make Purchase)
Customer
Merchant
Tag
Processing System
1: Request Purchase
3: Validate Purchase
2: Process Purchase Request
UML Communication Diagram (Updated)
id Framework Model
Business View
40
Process State ModelObtain Tag Capability
sm 2.5A Process State (Obtain Tag)
Start Obtain Tag Request
Tag Request
Verify Credit Information
«Composite State»
Process Approv al Request
Process Approv al/Denial
Complete Tag Request
EntryPoint
ExitPoint
Credit Information Obtained
Process Tag Request
Request Tag
Request Credit Information
Request Completed
UML State Machine Diagram
id Framework Model
Business View
41
Process State ModelMake Purchase
Capability
sm 2.5B Process State (Make Purchase)
Start Purchsase Request
Request Purchase
Process Approv al Request
Merchant Processes Request
Report
Complete Purchase Transaction
Purchase Completed
Report Transaction Status
Report Purchase Status
Report Approval Request
Request Approval
Swipe Tag
UML State Machine Diagram
id Framework Model
Business View
42
Timeline ModelObtain Tag Capability
td 2.6A Timeline (Obtain Tag)
Obtain Tag
Customer Need {1}
{5}
Request Tag
Manage Tag Request {2}
{10}
Process Tag Request
Issue Credit Request {3}
{15}
Request Credit Approv al
Credit Approv ed {1}
{15}
Issue Tag
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
UML Timing Diagram (New)
id Framework Model
Business View
43
Timeline ModelMake Purchase Capability
td 2.6B Timeline (Make Purchase)
Make P
urchase
Request Purchase
Process Approv al Request
Merchant Process Request Payment
Complete Purchase Transaction
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
UML Timing Diagram (New)
id Framework Model
Business View
44
cd Logical Architecture View
Start LogicalArchitectureView Process
«UML Use Case»(System A)
3.1A Activ ity
«UML Activity»(System B)
3.1B Activ ity
«UML Class»(System A)
3.2A Static Element
«UML Class»(System B)
3.2B Static Element
«UML Package»(System A)
3.3A Logical Package
«UML Packages»(System B)
3.3B Logical Package
«UML Sequence»(System A)
3.4A Message Interaction
«UML Sequence»(System B)
3.4B Message Interaction
LogicalArchitectureViewCompleted
Figure 6 Logical Architecture View Process
Logical Architecture View
Process
UML Activity Diagram (Updated)
id Framework Model
Business ViewEnterprise View Physical ViewLogical View
Architecture Framework
refinerefine refine
45
Logical Activity ModelObtain Tag Capability
ud 3.1A Logical Activ ity (Obtain Tag)
Obtain Tag
Customer
Request Tag
Approv e Tag
Verify Credit
Credit Card Organization
«include»
«include»
UML Use Case Diagram
id Framework Model
Logical View
46
Logical Capability ModelMake Purchase Capability
ud 3.1B Logical Capability (Make Purchase)
Make Purchase
Request PaymentCustomer
Process Payment
Verify Credit
Pay Merchant
Credit Card Organization
Merchant
«include»
«include»
«include»
UML Use Case Diagram
id Framework Model
Logical View
47
Static Element ModelObtain Tag Capability
UML Class Diagram
id Framework Model
Logical View
cd 3.2A Static Element (Obtain Tag)
Tag
- Tag Identifier: int
+ Report Identifier() : void
Credit Verifier
- Tag Identifier: int- Credit Limit: int- Credit Card Number: int
+ Credit Check() : void
Tag Processor
- Credit Status: int
+ Process Tag Request() : void
«interface»TTP
- Tag Identifier: int
«interface»CVTP
- Tag Identifier: int
TTP
CVTP
48
Static Element ModelMake Purchase Capability
cd 3.2B Static Element (Make Purchase)
Tag
- Tag Identifier: int
+ Report Identifier() : void
Credit Purchase
- Credit Identifier: int- Credit Card Number: int- Purchase Amount: int- Merchant Identifier: int- Credit Bil l Amount: int
+ Valid Credit Check() : void+ Pay Merchant() : void+ Bil l Customer() : void
Purchase Processor
- Tag Identifier: int- Credit Status: int- Purchase Amount:
+ Request Credit Verification() : void+ Approve Purchase() : void
«interface»CPPP
- Tag Identifier: int- Purchase Amount: int
«interface»TPP
- Tag Identifier: int
TPP
CPPP
UML Class Diagram
id Framework Model
Logical View
49
Logical Package ModelObtain Tag Capability
cd 3.3A Logical Package (Obtain Tag)
CustomerTag Processing Facility
Credit Card Facility
Credit Verifier
- Tag Identifier: int- Credit Limit: int- Credit Card Number: int
+ Credit Check() : void
Tag Processor
- Credit Status: int
+ Process Tag Request() : void
Tag
- Identifier: int
«interface»TTP
- Tag Identifier: int
«interface»CVTP
- Tag Identifier: int- Credit Card Number: int
TTP
CVTP
UML Package Diagram
id Framework Model
Logical View
50
Logical Package ModelMake Purchase Capability
cd 3.3B Logical Package (Make Purchase)
Customer
Merchant Facility
Payment Processing System
Tag
- Tag Identifier: int
+ Report Identifier() : void
Purchase Processor
- Tag Identifier: int- Credit Status: int- Purchase Amount:
+ Request Credit Verification() : void+ Approve Purchase() : void
Credit Purchase
- Credit Identifier: int- Credit Card Number: int- Purchase Amount: int- Merchant Identifier: int- Credit Bill Amount: int
+ Valid Credit Check() : void+ Pay Merchant() : void+ Bill Customer() : void
«interface»CPPP
- Tag Identifier: int- Purchase Amount: int
«interface»TPP
- Tag Identifier: intTPP
CPPP
UML Package Diagram
id Framework Model
Logical View
51
Message Interaction ModelObtain Tag Capability
sd 3.4A Message Interaction (Obtain Tag)
Customer Tag ProcessingFacility
Credit CardFacility
Request Tag
Verify Credit
Cedit Good
Isseue Tag
UML Sequence Diagram (Updated)
id Framework Model
Logical View
52
Message Interaction ModelMake Purchase Capability
sd 3.4B Message Interaction (Make Purchase)
Customer Tag ProcessingFacility
Credit CardFacility
Request Payment
Obtain Credit Approval
Credit Good
Purchase Approved
UML Sequence Diagram (Updated)
id Framework Model
Logical View
53
Physical View Architecture
Process
UML Activity Diagram (Updated)
ad Physical Architecture View
Start PhysicalArchitectureView Process
«UML Component»4.1 Component
«UML Composite Structure»4.3 Component Relationship and
Technology
«UML Sequence»4.2 Interaction
«UML Deployment»4.6 Deployment
PhysicalArchitectureViewCompleted
id Framework Model
Business ViewEnterprise View Physical ViewLogical View
Architecture Framework
refinerefine refine
54
Component Modelid 4.1 Component
Merchant
«component»
Tag
Port11
«processor»
Tag ReaderPort12
Port13
ProvidedInterface7
Processing Center
«processor»
Purchase Serv ice
Port15 Port18
ProvidedInterface8
«processor»
Credit Purchase
Port17
UML Component Diagram
id Framework Model
Physical View
55
Interaction Modelsd 4.2 Interaction
«component»
Tag
«component»
Tag Reader
«component»
Purchase Processor
«component»
Credit CardVerificationProcessor
«component»
Credit PurchaseProcessor
«component»
Tag Processor
Customer
Request Purchase
Swipe Tag
Purchase Product
Verify Purchase
Approved
Confirm Purchase
Request Tag
Verify Credit
Approved
Deliver Tag
UML Sequence Diagram (Updated)
id Framework Model
Physical View
56
Component Relationship and Technology Model
cd 4.3 Component Relationship and Technology
«Component»Tag
Port1
Port7«component»Tag Reader
Port3
Port8
«component»Tag Processor
Port2
Port9
«component»Credit
Purchase Processor
Port6
«component»Credit Card Verification Processor
Port4
«component»Purchasing Processor
Port5
Port10
«technology»Tag
- Passive Transponder: int- Unique Identifier: int
«component»Tag Reader
- Scan Tag via Rado Frequencies: int- Report Transacton Status: int- Provide Printed Receipt: int- Remote Communications: int
«technology»Tag Processor
- Provide Fast Processing Decision: int- Remote Communications: int
«represents»
«represents»
«represents»
UML Composite Structure Diagram (New)
id Framework Model
Physical View
57
Deployment Model
dd 4.4 Deployment
Merchant Facility
Tag Processing Facility
Credit Processing Facility
«component»
Tag Reader
«component»
Tag Processor
«component»
Credit Card Verification Processor
«component»
Credit Purchase Processor
Customer
Tag Interface
«component»
Tag
Tag Reader Interface
Interface4
Tag Verification Interface
UML Deployment Diagram
id Framework Model
Physical View
58
Wrap-up
Architecture diagrams need to be defined by models (independent of diagrams)
Models need an prospective: a view
UML 2 diagrams provide additional capabilities for modeling architecture
Use of Object-Oriented methodology models provide output to developers that is consistent with the software design and development tools
59
References
UML 2.0 Superstructure Specification– http://www.omg.org/cgi-bin/doc?ptc/2003-08-02– Update in progress, finalization scheduled for November
“UML 2 Toolkit”– Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado– www.wiley.com/compbooks
Zachman Framework– www.zifa.com
International Council on Systems Engineering (INCOSE)– www.incose.org
International Organization Standardization (ISO)– www.iso.org
Institute of Electrical Engineers (IEEE)– www.ieee.org
Questions?
Architecture Framework Models
UML 2 Diagrams
60
61
Thank You
3106Use of UML 2.0 Diagrams for System
Architecture Modeling
Please fill out the speaker evaluation
You can contact me further at …[email protected]