conferences.embarcadero.com

Download Report

Transcript conferences.embarcadero.com

3106
Use of UML 2.0 Diagrams for
Systems Architecture
Modeling
Gundars Osvalds
Systems of Systems Architect
The Boeing Company
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
2
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
3
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
4
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
5
Enterprise Architectural Stakeholders
Activities in developing a project architectural design
Stakeholders
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
INCOSE 2004
Enterprise Architecture
Sponsor
Define
Needs
Model
Needs
System
Engineer
Customer
Design
System
Arch
Enterprise
Architect
Uses
Specs
Designer
Developer
6
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
7
Architecture Definition
Conceptual Model
Enterprise
1
defines
Stakeholder
Architecture Framework
1..*
Mission
1..*
1..*
scopes
holds
represents
fulfills
1..*
Requirement
1..*
guides
Architecture
implements
Information System
1..*
documents
IEEE 1471-2000
definition was
enhanced to
include
Architecture
Framework and
Artifacts
documents
System Description
Architecture Description
guides
1..*
1
1
specifies
contains
1..*
View
1..*
describes
1..*
1..*
Artifacts
INCOSE 2001
comprise
1..*
Model
1..*
8
Ref 1,6
Architecture Framework Relationships
FE AF
Architecture
Frameworks
Modeling
Methods
C4ISR/DoD AF
Zachman FW
Architecture Framework
SD
SA
Other
Structured Analysis (Functional)
OOSEM
RUP
Bridged ZF
Object Oriented
Diagrams
Functional
Object Oriented
Standards
e.g., IDEF0
e.g., OMG UML
Chesapeake Chapter INCOSE OOSEM WG
9
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
10
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
11
Ref 2
Conceptual Description of The
Zachman Framework
DATA
(What)
Objective/
Scope
(Contextual)
System
Model
(Logical)
Technology
Model
(Physical)
Detailed
Model (Out of
Context)
Popkin
NETWORK
(Where)
Planner
Perspectives
Enterprise
Model
(Conceptual)
FUNCTION
(How)
PEOPLE
(Who)
TIME
(When)
MOTIVATION
(Why)
Abstractions
Owner
Designer
Builder
Subcontractor
Functioning Enterprise
12
ZIFA 2004
13
Work Product Generation Principles
The Zachman Framework defines primitive elements
– Each cell then presents an example of a singlevariable 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)
14
Primitives to Work Products
e.g., Logistics Network
Artifacts Contain
the View Elements
The Cells Contain
Primitives
Node = Business Location
Link = Business Linkage
The Artifacts Contain
the View Elements
NETWORK
Artifact
Described as
Single Variable
Products
(Where)
LOGICAL
ARTIFACTS
Composite Models
are the
Work Products
ZIFA 2001
DATA
FUNCTION
NETWORK
PEOPLE
TIME
MOTIVATION
Artifact
Artifact
Artifact
Artifact
Artifact
Artifact
(What)
(How)
(Where)
(Who)
(When)
(Why)
Logical View
Logical
Scenarios
Logical
Classes
Logical
Packages
Logical
Interactions
Logical
States
15
Bridged Zachman Framework
BTEC7 2004
Models
Enterprise View
Models
Business View
Models
Logical View
Models
Physical View
16
Conceptual Description of the
Bridged Zachman Framework
DATA
(What)
Technology
Model
Detailed
Representations
Perspectives
System
Model
NETWORK
(Where)
Enterprise View
Scope
Business
Model
FUNCTION
(How)
PEOPLE
(Who)
TIME
(When)
MOTIVATION
(Why)
Abstractions
Business View
Logical View
Physical View
Specification
Functioning Enterprise
17
Architectural Framework Model
id Framew ork Model
Architecture Framew ork
Enterprise View
Business View
refine
Physical View
Logical View
refine
refine
18
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
19
Ref 7
UML 2 Support for
Systems 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
20
Ref 7
New
New
OMG 2003
Updated
All diagrams refined
some updated while
others are new
Updated
New
Updated
UML 2.0 Diagram Taxonomy
21
Ref 7
Speedpass Enterprise
Architecture Example
TM
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
22
TM
Speedpass Example
The Speedpass Enterprise consists of purchase payment
capabilities provided by the entities
– Enterprise is from point of view of customer
ud Enterprise
Speedpass Enterprise
Point of Sale
Merchant
Customer
Credit Organization
Payment Processing Organization
23
ad Enterprise Architecture View
Figure 4 Enterprise Architecture View Process
Enterprise
Architecture
View Process
Start Enterprise
Architecture
View Process
«UML Use Case»
1.1Capability
«UML Component»
1.3 Organization
«UML Component»
1.2 Resource
id Framew ork Model
«UML Class»
1.4 Information
Architecture Framew ork
Enterprise View
Business View
refine
refine
«UML Class»
1.5 Conceptual
Physical View
Logical View
refine
«UML Sequence»
(Capability A)
1.6A Interaction
UML Activity Diagram (Updated)
Enterprise
Architecture
View
Completed
«UML Sequence»
(Capability B)
1.6B Interaction
24
id Framew ork Model
Enterprise View
Capability Model
ud 1.1 Capability
SpeedPass Enterprise
Authorize Payment
«include»
Pay for Purchase
«include»
Tag
«include»
«include»
Pay Merchant
Confirm Payment
Merchant
Authorize Credit
Card Transaction
Setup Tag Account
Customer
«include»
Credit Card Company
«include»
Link Payment to
Credit Card
Issue Tag
UML Use Case Diagram
25
id Framew ork Model
Enterprise View
Resource Model
id 1.2 Resources
Tag
Credit Card Company
UML Component Diagram
Tag Support Organization
Customer
Merchant
26
id Framew ork Model
Enterprise View
Organization Model
cd 1.3 Organization
Tag
From the Tag point of view
1
1
1
1
1..*
1
1..*
1
Tag Support
Organization
Merchant
1..*
UML Component Diagram
Customer
1
1
1
Credit Card
Organization
27
id Framew ork Model
Enterprise View
Information Model
cd 1.4 Information
Credit Card Bill
Purchase
-
-
Amount: int
Credit Card Identifier: int
Amount: int
Due Date: int
1
1..*
1
1
Credit Card
Tag
-
Tag Identifier: int
UML Class Diagram
1
1 -
Owners Name: int
Card Identifier: int
Expiration Date: int
Credit Limit: int
28
id Framew ork Model
Enterprise View
Conceptual Model
cd 1.5 Conceptual
Tag
Make Payment
Issued Tag
Request Payment
Customer
Merchant
Purchse
Support
Organization
Request Payment
Bill for
Merchendise
Pay Merchant
UML Class Diagram
Tag Support
Organization
Credit Card
Organization
Authorize Payment
Credit Card
Credit Approved
29
id Framew ork Model
Enterprise View
Interaction Model
Obtain Tag Capability
sd 1.6A Interaction (Obtain Tag)
Customer
Tag Processing
Facility
Credit Card
Company
Request Tag
Verify Credit
Credit Authorized
Tag Authoized
seq Make Purchase
UML Sequence Diagram (Updated)
30
id Framew ork Model
Enterprise View
Interaction Model
Make Purchase Capability
sd 1.6B Interaction (Make Purchase)
Tag Support
Merchant
Customer
Request Payment
Request Approval
Approved
Payment Approved
UML Sequence Diagram (Updated)
31
cd Business Architecture View
Business
Architecture
View Process
Figure 5 Business Architecture View Process
Start Business
Architecture
View Process
«UML Interaction Overview»
2.1 Ov erv iew Scenario
«UML Activity»
(Capability A)
2.2A Process
«UML Activity»
(Capability B)
2.2B Process
id Framew ork Model
Architecture Framew ork
«UML Class»
(System A)
2.3A Component
Enterprise View
Business View
refine
Physical View
Logical View
refine
refine
«UML Communications»
(System A)
2.4A Dynamic Interaction
«UML State Machine»
(Capability A)
2.5A Process State
«UML Timing»
(Capability A)
2.6A Timeline
UML Activity Diagram (Updated)
Business
Architecture
View
Completed
«UML Class»
(System B)
2.3B Component
«UML Communication»
(System B)
2.4B Dynamic Interaction
«UML State Machine»
(System B)
2.5B Process State
«UML Timing»
(Capability B)
2.6B Timeline
32
id Framew ork Model
sd 2.1 Process Ov erv iew
Process
Overview
Model
Request Tag
Business View
seq Obtain Tag
Tag Approved?
Report Tag Not Approv ed
Yes, Pay for Purchase
seq Make Purchase
Purchase Approved?
Report Purchase Denied
Approved
merge node
UML Interaction Overview Diagram (New)
Request Completed
33
id Framew ork Model
Business View
Process Model
Obtain Tag Capability
ad 2.2A Process (Obtain Tag)
Customer
Tag Support Organization
Credit Card Organization
New Customer
Tag Request
«data»
Request Tag
Credit Card Info
Request Credit Card
Approv al
Verify Credit Information
No
Approved?
Issue Denial Letter
Tag Denied
«data»
Tag Receiv ed
Taf Identifier
Yes
Issue Tag
Merge
Tag Request Completed
UML Activity Diagram (Updated)
34
id Framew ork Model
Business View
Process Model
Make Purchase Capability
ad 2.2B Process (Make Purchase)
Customer
Tag
Purchase Processing System
Credit Card Company
Merchant
Start Purchase
«data»
Payment
«data»
Sw ipe Tag
Tag Identifier
Tag Requests Payment
Process Payment Request
Not Approved
Payment Denied
Payment
Approved
Parallel Activity
Pay Merchant
merge
node
«data»
Credit Card Info
Parallel Activity
Payment Autorization
Receiv ed
Charge to Credit
Card
Payment Receiv ed
Payment Capability
Completed
UML Activity Diagram (Updated)
35
id Framew ork Model
Business View
Component Model
Obtain Tag Capability
cd 2.3A Component (Obtain Tag)
Customer
Request Tag
Tag Processing
Serv ice
Approve Credit
Credit Card
Serv ice
UML Class Diagram
36
id Framew ork Model
Business View
Component Model
Make Purchase Capability
cd 2.3B Component (Make Purchase)
Tag
Issue Purchase Request
Merchant
Request Purchase Payment
Customer
Request Purchase Approval
Purchase
Processing
System
UML Class Diagram
37
id Framew ork Model
Business View
Dynamic Interaction Model
Obtain Tag Capability
cd 2.4A Dynamic Interaction (Optain Tag)
Customer
1. Request Tag
4. deliver Tag
Tag Processing
Serv ice
3: Approve Tag
Tag
2: Request Credit Approval
UML Communication Diagram (Updated)
Credit Card
Processing
Serv ice
38
id Framew ork Model
Business View
Dynamic Interaction Model
Make Purchase Capability
cd 2.4B Dynamic Interaction (Make Purchase)
Customer
1: Request Purchase
Tag
2: Process Purchase Request
Processing
System
3: Validate Purchase
Merchant
UML Communication Diagram (Updated)
39
id Framew ork Model
Business View
Process State Model
Obtain Tag Capability
sm 2.5A Process State (Obtain Tag)
Start Obtain Tag Request
Request Tag
«Composite State»
Tag Request
EntryPoint
Process Tag Request
Process Approv al
Request
Request Credit Information
ExitPoint
Verify Credit
Information
Credit Information Obtained
Process
Approv al/Denial
Request Completed
UML State Machine Diagram
Complete Tag Request
40
sm 2.5B Process State (Make Purchase)id Framew ork Model
Process State Model
Make Purchase
Capability
Start Purchsase Request
Business View
Swipe Tag
Request Purchase
Request Approval
Process Approv al
Request
Report Approval Request
Merchant
Processes Request
Report
Report Purchase Status
Complete Purchase
Transaction
Report Transaction Status
UML State Machine Diagram
Purchase Completed
41
id Framew ork Model
Business View
Timeline Model
Obtain Tag Capability
td 2.6A Timeline (Obtain Tag)
{5}
{10}
{15}
{15}
Request Tag
Process Tag Request
Request Credit Approv al
Issue Tag
Customer Need {1}
Obtain Tag
0
5
Manage Tag Request {2} Issue Credit Request {3}
10
15
UML Timing Diagram (New)
20
25
30
35
40
45
50
55
60
Credit Approv ed {1}
65
70
75
80
85
90
95
100
42
id Framew ork Model
Business View
Timeline Model
Make Purchase Capability
td 2.6B Timeline (Make Purchase)
Request Purchase
Process Approv al Request
Merchant Process Request Payment
Make Purchase
Complete Purchase Transaction
0
5
10
15
20
UML Timing Diagram (New)
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100
43
cd Logical Architecture View
Logical
Architecture View
Process
Figure 6 Logical Architecture View Process
Start Logical
Architecture
View Process
«UML Use Case»
(System A)
3.1A Activ ity
id Framew ork Model
«UML Class»
(System A)
3.2A Static Element
Architecture Framew ork
Enterprise View
Business View
refine
«UML Activity»
(System B)
3.1B Activ ity
Physical View
Logical View
refine
UML Activity Diagram (Updated)
«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
refine
Logical
Architecture
View
Completed
44
id Framew ork Model
Logical View
Logical Activity Model
Obtain Tag Capability
ud 3.1A Logical Activ ity (Obtain Tag)
Obtain Tag
Request Tag
Customer
«include»
Approv e Tag
«include»
Verify Credit
UML Use Case Diagram
Credit Card
Organization
45
id Framew ork Model
Logical View
Logical Capability Model
Make Purchase Capability
ud 3.1B Logical Capability (Make Purchase)
Make Purchase
Customer
Request Payment
«include»
Process Payment
«include»
«include»
Verify Credit
Credit Card
Organization
Pay Merchant
UML Use Case Diagram
Merchant
46
id Framew ork Model
Logical View
Static Element Model
Obtain Tag Capability
cd 3.2A Static Element (Obtain Tag)
Tag
-
Tag Identifier: int
+
Report Identifier() : void
«interface»
TTP
-
Tag Identifier: int
TTP
Tag Processor
-
Credit Status: int
+
Process Tag Request() : void
CVTP
Credit Verifier
UML Class Diagram
-
Tag Identifier: int
Credit Limit: int
Credit Card Number: int
+
Credit Check() : void
«interface»
CVTP
-
Tag Identifier: int
47
id Framew ork Model
Logical View
Static Element Model
Make Purchase Capability
cd 3.2B Static Element (Make Purchase)
Tag
Purchase Processor
TPP
-
Tag Identifier: int
+
Report Identifier() : void
«interface»
TPP
-
-
Tag Identifier: int
Credit Status: int
Purchase Amount:
+
+
Request Credit Verification() : void
Approve Purchase() : void
Tag Identifier: int
CPPP
«interface»
CPPP
Credit Purchase
UML Class Diagram
-
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
-
Tag Identifier: int
Purchase Amount: int
48
id Framew ork Model
Logical View
Logical Package Model
Obtain Tag Capability
cd 3.3A Logical Package (Obtain Tag)
Tag Processing Facility
Customer
-
Tag Processor
TTP
Tag
Identifier: int
«interface»
TTP
-
-
Credit Status: int
+
Process Tag Request() : void
Tag Identifier: int
CVTP
«interface»
CVTP
Credit Card Facility
-
Tag Identifier: int
Credit Card Number: int
Credit Verifier
UML Package Diagram
-
Tag Identifier: int
Credit Limit: int
Credit Card Number: int
+
Credit Check() : void
49
id Framew ork Model
Logical View
Logical Package Model
Make Purchase Capability
cd 3.3B Logical Package (Make Purchase)
Customer
Payment Processing System
Tag
-
Tag Identifier: int
+
Report Identifier() : void
Credit Purchase
«interface»
TPP
TPP
-
-
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
Tag Identifier: int
Merchant Facility
CPPP
Purchase Processor
-
Tag Identifier: int
Credit Status: int
Purchase Amount:
+
+
Request Credit Verification() : void
Approve Purchase() : void
UML Package Diagram
«interface»
CPPP
-
Tag Identifier: int
Purchase Amount: int
50
id Framew ork Model
Logical View
Message Interaction Model
Obtain Tag Capability
sd 3.4A Message Interaction (Obtain Tag)
Customer
Tag Processing
Facility
Credit Card
Facility
Request Tag
Verify Credit
Cedit Good
Isseue Tag
UML Sequence Diagram (Updated)
51
id Framew ork Model
Logical View
Message Interaction Model
Make Purchase Capability
sd 3.4B Message Interaction (Make Purchase)
Customer
Tag Processing
Facility
Credit Card
Facility
Request Payment
Obtain Credit Approval
Credit Good
Purchase Approved
UML Sequence Diagram (Updated)
52
ad Physical Architecture View
Physical View
Architecture
Process
Start Physical
Architecture
View Process
«UML Component»
4.1 Component
«UML Sequence»
4.2 Interaction
id Framew ork Model
Architecture Framew ork
Enterprise View
Business View
refine
Physical View
Logical View
refine
«UML Composite Structure»
4.3 Component Relationship and
Technology
refine
«UML Deployment»
4.6 Deployment
UML Activity Diagram (Updated)
Physical
Architecture
View
Completed
53
id Framew ork Model
Physical View
Component Model
id 4.1 Component
Merchant
«component»
Tag
Port11
«processor»
Port12
Processing Center
Tag Reader
Port13
«processor»
ProvidedInterface7
«processor»
Purchase
Serv ice
Port15
Credit Purchase
Port18
Port17
ProvidedInterface8
UML Component Diagram
54
id Framew ork Model
Physical View
Interaction Model
sd 4.2 Interaction
«component»
«component»
«component»
«component»
«component»
«component»
Tag
Tag Reader
Tag Processor
Purchase Processor
Credit Card
Verification
Processor
Credit Purchase
Processor
Customer
Request Purchase
Swipe Tag
Purchase Product
Verify Purchase
Approved
Confirm Purchase
Request Tag
Verify Credit
Approved
Deliver Tag
UML Sequence Diagram (Updated)
55
id Framew ork Model
Physical View
Component Relationship and
Technology Model
cd 4.3 Component Relationship and Technology
«technology»
Tag
-
«technology»
Tag Processor
Passive Transponder: int
Unique Identifier: int
-
Provide Fast Processing Decision: int
Remote Communications: int
«represents»
«represents»
«Component»
Tag
Port1
Port2
Port7
«component»
Tag Reader
-
«component»
Tag Reader
«component»
Tag Processor
«component»
Credit Card
Verification
Processor
Port9
Port4
Port3
«represents»
Scan Tag via Rado Frequencies: int
Report Transacton Status: int
Provide Printed Receipt: int
Remote Communications: int
Port8
«component»
Purchasing
Processor
«component»
Credit
Purchase
Processor
Port5
Port10
UML Composite Structure Diagram (New)
Port6
56
id Framew ork Model
dd 4.4 Deployment
Deployment
Model
Physical View
Customer
«component»
Tag
Interface4
Tag Processing Facility
Tag Interface
«component»
Merchant Facility
Tag Processor
«component»
Tag Reader
Tag Reader Interface
Tag Verification Interface
Credit Processing Facility
«component»
Credit Purchase
Processor
«component»
UML Deployment Diagram
Credit Card
Verification
Processor
57
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
58
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
59
Questions?
Architecture Framework Models
UML 2 Diagrams
60
Thank You
3106
Use of UML 2.0 Diagrams for System
Architecture Modeling
Please fill out the speaker evaluation
You can contact me further at …
[email protected]
61