How to Build, Implement, and Use an Architecture Metamodel
Total Page:16
File Type:pdf, Size:1020Kb
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 2 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 3 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 4 Architecture Description Standard SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel ISO/IEC 42010:2011 (f/k/a IEEE 1471) Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 5 Refined Viewpoint Metamodel has 1..* 1..* Architecture Stakeholder Architecture Architecture Concern defines Scenario contextualizes Name :text Name :text Description :memo 1..* 1..* Name :text 1..* 1..* Description :memo Description :memo 1..* 1..* uses frames 1..* 1..* «enumeration» Viewpoint Type Architecture Viewpoint Model Kind Image Narrative Required Elements :memo specifies Name :text Viewpoint Type Diagram Required Attributes :memo Description :memo 1..* 1..* 1 Catalog Required Relationships :memo Modeling Language :text Matrix Constraints :memo Display Notes :memo Alternate Depiction :memo 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 Gather Modeling Requirements – Workflow Identify Architecture Interview Architecture Elicit Architecture Describe Architecture Identify Architecture Stakeholders Stakeholder Scenarios Concerns Viewpoints Manager :Architecture Framework Viewpoints Selected :Architecture Capability Design Architecture Update Architecture Store Viewpoint Retrieve Viewpoint Viewpoint Metamodel Designer Designer Librarian Librarian :Architecture:Architecture Viewpoint Viewpoint Viewpoint does not exist :Architecture:Architecture Framework Framework SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 7 Describe Stakeholders and Scenarios «Architecture Scena... «Architecture Scena... Dev elop Project Understand Projects Architecture Blueprint «defines» Impact on Application «Architecture Stakeholder» Landscape Solution Architecture Manager «defines» «Architecture Scena... Understand Current «defines» Application Architecture «Architecture Stakeholder» Landscape Solution Architect «defines» «Architecture Scena... «Architecture Scena... Understand Projects Understand Target Application Architecture «defines» Impact on Owned «Architecture Stakeholder» Applications Landscape Application Owner 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? What is the nature of the interactions amongst the «Architecture Sce... applications within scope of this project? Dev elop Project «defines» Architecture Blueprint «Architecture Stakeholder» Which interactions between applications are Solution Architect 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» Which applications are impacted by this project? Project Application List notes «frames» Viewpoint Type: Grid Modeling Language: N/A What is the anticipated impact of this project on Required Elements: Application, Project Required Attributes: Application.Name, each application? «frames» Application.Owner, Application.ProjectImpactType, Project.Name Required Relationships: Project Impacts In the context of this project, which applications Application interact with which other applications? Constraints: Applications impacted by specified Project Alternate Depiction: Show using extended UML Class diagram with Applications and Projects and What is the nature of the interactions amongst the their relationships. «frames» «Architecture Sce... applications within scope of this project? Dev elop Project «Architecture Viewpoint» Architecture Blueprint Logical Application Diagram «frames» Which interactions between applications are notes impacted by this project? Viewpoint Type: Diagram Modeling Language: UML Component «frames» Required Elements: Application Required Attributes: Application.Name, What are the proposed changes to existing Application.ProjectImpactType, application interactions? «frames» ApplicationInteraction.InteractionType, ApplicationInteraction.ProjectImpactType Required Relationships: Application Interacts With Application Which interactions are being removed by this «frames» Constraints: Applications impacted by specified project? Project Display Notes: • Emphasize project impact for each application «frames» by changing application border color/width Which interactions are being added by this project? • Emphasize application interaction types with different line styles SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 10 AD Elements and Correspondences SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel ISO/IEC 42010:2011 Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 11 Update Architecture Metamodel interacts with 0..* 0..* Application Person owned by Name :text First Name :text Description :memo 1 Last Name :text Application Interaction SOX Compliance :Yes/No Phone Number :text Interaction Type :Application Interaction Type Target Lifecycle State :Application Lifecycle State Email Address :text Business Criticality :Business Criticality Level 1 1 0..* 1..* Project Application Impact impacts Project Interaction Impact Project Impact Level :Project Application Impact Level Project Impact Type :Project Application Interaction Impact Type 0..* Project has project manager impacts 0..* Name :text Description :int has architect Start Date :date End Date :date «enumeration» «enumeration» «enumeration» «enumeration» «enumeration» Application Lifecycle Business Criticality Application Project Application Project Interaction Impact State Lev el Interaction Type Impact Lev el Type Proposed Safety-critical Batch No Impact Impacted Provisional Mission-critical Real-Time Validate Impact Added Standard Essential Verify Impact Removed Contained Regular Impacted Not Impacted Retired Non-critical SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 12 Project Application Impact Diagram «Application» Online Learning Platform «Application» Customer Portal «Application» Salesforce CRM Ev ent Management Portal «Application» Salesforce Integration My Resource Portal Integration «Project» «Project» «Application» Attendee DB «Application» Salesforce Ev ent Management Legend Validate Verify «Application» Impacted Online Payment System SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 13 Logical Application Diagram «Application» «Application» Online Learning Platform Customer Portal tags tags Business Criticality = Mission-Critical Business Criticality = Essential Business Owner = Thomas Anderson Business Owner = Susan Johnson SOX Compliance = No SOX Compliance = No Target Lifecycle State = Standard Target Lifecycle State = Provisional «Application» My Resource Portal «Application» tags Online Payment System Business Criticality = Essential «Application» Business Owner = Susan Johnson tags Salesforce CRM SOX Compliance = No Business Criticality = Mission-Critical Target Lifecycle State = Retired Business Owner = Mary Wentworth tags SOX Compliance = Yes Business Criticality = Essential Target Lifecycle State = Standard Business Owner = Robert Marley SOX Compliance = Yes Target Lifecycle