How to Build, Implement, and Use an Architecture Metamodel SATURN 2013

advertisement
How to Build,
Implement, and Use
an Architecture Metamodel
SATURN 2013
Software Architecture Conference
Minneapolis, MN
Armstrong Process Group, Inc.
www.aprocessgroup.com
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
Objectives
Review industry standard for architecture descriptions
Stakeholders, concerns, viewpoints, and views
Introduce method for defining architecture viewpoints
based on stakeholder scenarios and concerns
Based on Architecture Description UML Profile
Describe techniques for designing custom metamodel
for rendering required architecture views
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
2
About APG
APG’s mission is to
“Align information technology and systems engineering
capabilities with business strategy using proven, practical
processes delivering world-class results.”
Industry thought leader in enterprise architecture, business
modeling, process improvement, systems and software
engineering, requirements management, and agile methods
Member and contributor to
UML, SysML, SPEM, UPDM at the Object Management Group (OMG)
TOGAF and ArchiMate at The Open Group
Eclipse Process Framework (EPF) at the Eclipse Foundation
IBM Advanced Business Partner
Sparx Systems Value-Added Reseller
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
3
Architecture Description Standard
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
ISO/IEC 42010:2011 (f/k/a IEEE 1471)
4
5
Refined Viewpoint Metamodel
has
1..*
1..*
Architecture Stakeholder
Architecture
Scenario
defines
Name :text
Description :memo
1..*
Architecture Concern
contextualizes
Name :text
1..* Description :memo
1..* Name :text
1..*
Description :memo
1..*
1..*
frames
uses
1..*
Model Kind
specifies
Required Elements :memo
Required Attributes :memo
1..*
1..*
Required Relationships :memo
Constraints :memo
1..*
Architecture View point
Name :text
Description :memo
Modeling Language :text
Display Notes :memo
Alternate Depiction :memo
«enumeration»
View point Type
Image
Viewpoint Type Narrative
Diagram
1 Catalog
Matrix
Dashboard
Roadmap
Graph
Describes the “Who”, “Why”, “What” and “How” for architecture modeling
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
6
Identify Architecture
Stakeholders
Design Architecture
Viewpoint
Interview Architecture
Stakeholder
Update Architecture
Metamodel
:Architecture Viewpoint
Librarian
:Architecture Framework
Manager
:Architecture Framework
Designer
:Architecture Capability
Gather Modeling Requirements – Workflow
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
Elicit Architecture
Scenarios
Describe Architecture
Concerns
Identify Architecture
Viewpoints
Viewpoints
Selected
Store Viewpoint
Retrieve Viewpoint
Viewpoint does not exist
7
Describe Stakeholders and Scenarios
«Architecture Scena...
«Architecture Scena...
«defines»
«Architecture Stakeholder»
Solution
Architecture
Manager
Dev elop Proj ect
Architecture Blueprint
Understand Proj ects
Impact on Application
Landscape
«defines»
«Architecture Scena...
«Architecture Stakeholder»
Solution Architect
«defines»
Understand Current
Application Architecture
Landscape
«defines»
«defines»
«Architecture Stakeholder»
Application Ow ner
«Architecture Scena...
«Architecture Scena...
Understand Proj ects
Impact on Ow ned
Applications
Understand Target
Application Architecture
Landscape
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
8
Describe Architecture Concerns
Which applications are impacted by this project?
What is the anticipated impact of this project on
each application?
In the context of this project, which applications
interact with which other applications?
«defines»
«Architecture Sce...
Dev elop Proj ect
Architecture Blueprint
«Architecture Stakeholder»
Solution Architect
What is the nature of the interactions amongst the
applications within scope of this project?
Which interactions between applications are
impacted by this project?
What are the proposed changes to existing
application interactions?
Which interactions are being removed by this
project?
Which interactions are being added by this project?
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
9
Identify Architecture Viewpoints
«Architecture Viewpoint»
Proj ect Application List
Which applications are impacted by this project?
notes
«frames»
What is the anticipated impact of this project on
each application?
«frames»
In the context of this project, which applications
interact with which other applications?
«Architecture Sce...
Dev elop Proj ect
Architecture Blueprint
What is the nature of the interactions amongst the
applications within scope of this project?
Viewpoint Type: Grid
Modeling Language: N/A
Required Elements: Application, Project
Required Attributes: Application.Name,
Application.Owner, Application.ProjectImpactType,
Project.Name
Required Relationships: Project Impacts
Application
Constraints: Applications impacted by specified
Project
Alternate Depiction: Show using extended UML
Class diagram with Applications and Projects and
their relationships.
«frames»
«Architecture Viewpoint»
Logical Application Diagram
«frames»
notes
Which interactions between applications are
impacted by this project?
«frames»
What are the proposed changes to existing
application interactions?
Which interactions are being removed by this
project?
«frames»
«frames»
«frames»
Which interactions are being added by this project?
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
Viewpoint Type: Diagram
Modeling Language: UML Component
Required Elements: Application
Required Attributes: Application.Name,
Application.ProjectImpactType,
ApplicationInteraction.InteractionType,
ApplicationInteraction.ProjectImpactType
Required Relationships: Application Interacts With
Application
Constraints: Applications impacted by specified
Project
Display Notes:
•
Emphasize project impact for each application
by changing application border color/width
•
Emphasize application interaction types with
different line styles
10
AD Elements and Correspondences
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
ISO/IEC 42010:2011
11
Update Architecture Metamodel
interacts with
0..*
0..*
Person
Application
owned by
Application Interaction
Interaction Type :Application Interaction Type
Name :text
Description :memo
SOX Compliance :Yes/No
Target Lifecycle State :Application Lifecycle State
Business Criticality :Business Criticality Level
0..*
First Name :text
1 Last Name :text
Phone Number :text
Email Address :text
1
1..*
Proj ect Application Impact
impacts
Proj ect Interaction Impact
Project Impact Type :Project Application Interaction Impact Type
Project Impact Level :Project Application Impact Level
0..*
Proj ect
impacts
«enumeration»
Application
Interaction Type
Batch
Real-Time
has project manager
0..* Name :text
Description :int
Start Date :date
End Date :date
«enumeration»
Proj ect Application
Impact Lev el
«enumeration»
Proj ect Interaction Impact
Type
No Impact
Validate Impact
Verify Impact
Impacted
Impacted
Added
Removed
Not Impacted
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
has architect
«enumeration»
Application Lifecycle
State
«enumeration»
Business Criticality
Lev el
Proposed
Provisional
Standard
Contained
Retired
Safety-critical
Mission-critical
Essential
Regular
Non-critical
1
12
Project Application Impact Diagram
«Application»
Online Learning
Platform
«Application»
Customer Portal
«Application»
Salesforce CRM
Ev ent
Management
Salesforce
Integration
«Application»
My Resource Portal
«Project»
«Application»
Attendee DB
«Application»
Salesforce Ev ent
Management
Legend
Validate
Verify
Impacted
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
«Application»
Online Payment
System
Portal
Integration
«Project»
13
Logical Application Diagram
«Application»
Online Learning Platform
tags
Business Criticality = Mission-Critical
Business Owner = Thomas Anderson
SOX Compliance = No
Target Lifecycle State = Standard
«Application»
Customer Portal
tags
Business Criticality = Essential
Business Owner = Susan Johnson
SOX Compliance = No
Target Lifecycle State = Provisional
«Application»
My Resource Portal
«Application»
Online Payment System
tags
Business Criticality = Mission-Critical
Business Owner = Mary Wentworth
SOX Compliance = Yes
Target Lifecycle State = Standard
«Application»
Salesforce CRM
tags
Business Criticality = Essential
Business Owner = Robert Marley
SOX Compliance = Yes
Target Lifecycle State = Standard
«Application»
Attendee DB
Legend
Validate
Verify
«Application»
Salesforce Ev ent Management
Impacted
tags
Business Criticality = Essential
Business Owner = David Howe
SOX Compliance = Yes
Target Lifecycle State = Provisional
Impacted
Added
Removed
Not Impacted
tags
Business Criticality = Essential
Business Owner = Susan Johnson
SOX Compliance = No
Target Lifecycle State = Retired
Real-Time: Solid Line
Batch: Dashed Line
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
tags
Business Criticality = Essential
Business Owner = David Howe
SOX Compliance = No
Target Lifecycle State = Retired
Conclusion
Exploit existing architecture standards for determining
how to model (and how much) for what purpose
Use conventional modeling techniques for
understanding stakeholder concerns and designing
architecture viewpoints
And for designing custom metamodel
Implement custom metamodel using UML profiles
Basis for consistent semantics and tool usage
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
14
15
Q&A
http://www.aprocessgroup.com
Thanks for your attention
and participation!
"APG", the APG logo, "proven practical process" (and its graphic representation), ATPL, EA-In-A-Box are trademarks of Armstrong Process Group,
Inc.
The Open Group, The Open Group Architecture Framework, TOGAF, and ArchiMate are trademarks or registered trademarks of The Open Group in
the United States and other countries.
Object Management Group, OMG, Model Driven Architecture, MDA, OMG SysML, Unified Modeling Language, and UML are trademarks or registered
trademarks of the Object Management Group, Inc. in the United States and other countries.
Sparx Systems and Enterprise Architect are trademarks or registered trademarks of Sparx Systems Pty Ltd.
Other company, product, or service names may be trademarks or service marks of others.
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved
Download