Applying UML to Enterprise Architecture using Enterprise Architect Sam Mancarella Chief Technical Officer Sparx Systems sam.mancarella@sparxsystems.com
Overview Introducing Sparx Systems Value-Added UML Who is Sparx Systems? What is Enterprise Architect? Value-Added UML Requirements modelling Traceability Domain-specific modelling Model-Driven Architecture (MDA)
Overview Interoperability Team-Based Modelling Migrating from other UML tools Between different applications Team-Based Modelling Team scalability Team control Team collaboration
Overview Enterprise Architecture in EA Conclusion Supporting development efforts DoDAF/MoDAF Zachman Framework Conclusion Summary Questions
Who is Sparx Systems? Established in 1998 Leading provider of UML modeling tools Enterprise Architect for UML 2 (2.0 2.1) Support for Integrated Development Environments (IDEs) Support for emerging modeling technologies and frameworks (BPMN, UPDM, SysML) Representation in over 60 countries Partners around the globe 160 Partners, resellers
Application Integration Who is Sparx Systems? UML Modeling Platform Application Integration UML Integration Differentiate between product lines Mention support for eclipse as well.. Language Extensions
What is Enterprise Architect? Our Flagship UML 2 Modelling Platform Supports the latest UML 2 standard All 13 diagrams supported Approaching 100,000 licenses worldwide Visual Requirements modelling Only tool to seamlessly integrate requirements modelling with UML 2 Tight integration with formal specifications & system models The Stand alone modeling environment has complete support for modeling from requirements – design. A sophisticated Integrated Model Environment, that goes beyond simple UML diagramming … Built with the team in mind. EA developers have significant experience working in teams and understand the challenges involved. Translations : Exist for a number of languages including Japanese, German and Spanish Used across all major industries from automotive and aerospace engineering to insurance and finance Requirements : Sparx provides extensions to UML to provide graphical modeling of formal requirements. Traditionally, Requirements Analysis has been carried out in external tools, causing a disconnect between the formal specification and the system model. Traceability, validation and visualization achieved.
What is Enterprise Architect? Reporting RTF, HTML Template-based, highly customisable Code Engineering Over ten languages supported out-of-the-box Reporting : Rich-text and web-based reports Can be used for project deliverables Share and communicate with client and stakeholders Code Engineering : Integrates with Visual Studio Supports 10+ languages out-of-the-box – users able to define others Importing, visualizing and analyzing legacy systems facilitates migration to more modern .Net-based languages
What is Enterprise Architect? Model Transforms Language Extensibility, automated modelling Extensible Customization framework for Domain Specific Modelling UML profiles, UML patterns & Model templates Add-In Capability Interoperable COM Interface for remote control Extensible Meta-data Interchange (XMI) for interoperability and model serialization Model Driven Generation : A customization framework that provides two key benefits : Uses the semantic information in the model to derive useful development artifacts : Code, XML fragments, Utilizes the automation interface to provide Integration to specialized tools
What is Enterprise Architect?
Value-Added UML
Requirements Modelling EA extends UML to support visual requirements modelling Requirement, Feature elements Specify Requirements on the model Standard UML modelling techniques Defined within UML package hierarchy Relationships modelled with standard UML connectors Traceability within entire model Requirements can be ‘realised’ by other elements Requirements can ‘depend’ on other elements
UML 101 – Requirements Modelling With integrated Requirements, we can: Search the model: Based on status, priority, other Analyse: Visualise the impact of requirement change Report: Automatically generate RTF or HTML reports Deliver: Reports or actual model – ‘Live SRS’ Search Report Deliver
Requirements Model.eap EXPLORE Open Formal Requirements package diagram Explain that Requirements modeled as an hierarchy of UML packages Drill down to Functional Requirements Note Package diagram Drill down to Manage Users diagram Explain Requirement elements : Note properties dialog, files tab etc SEARCH Invoke model search (ctrl+F) Choose RequirementsPriority custom search Type “high” as search term Note option to generate report, also invoke Hierarchy window to demonstrate linkage to rest of model impact analysis! GENERATE SRS Invoke RTF editor on Formal Requirements package Explain Customization capabilities Show result in EA text editor or Word Explain equivalent for HTML Explain useful SRS delivery method! Requirements Model.eap
Requirements Model.eap EXPLORE Open Formal Requirements package diagram Explain that Requirements modeled as an hierarchy of UML packages Drill down to Functional Requirements Note Package diagram Drill down to Manage Users diagram Explain Requirement elements : Note properties dialog, files tab etc SEARCH Invoke model search (ctrl+F) Choose RequirementsPriority custom search Type “high” as search term Note option to generate report, also invoke Hierarchy window to demonstrate linkage to rest of model impact analysis! GENERATE SRS Invoke RTF editor on Formal Requirements package Explain Customization capabilities Show result in EA text editor or Word Explain equivalent for HTML Explain useful SRS delivery method! Requirements Model.eap
Requirements Model.eap EXPLORE Open Formal Requirements package diagram Explain that Requirements modeled as an hierarchy of UML packages Drill down to Functional Requirements Note Package diagram Drill down to Manage Users diagram Explain Requirement elements : Note properties dialog, files tab etc SEARCH Invoke model search (ctrl+F) Choose RequirementsPriority custom search Type “high” as search term Note option to generate report, also invoke Hierarchy window to demonstrate linkage to rest of model impact analysis! GENERATE SRS Invoke RTF editor on Formal Requirements package Explain Customization capabilities Show result in EA text editor or Word Explain equivalent for HTML Explain useful SRS delivery method! Requirements Model.eap
Requirements Model.eap EXPLORE Open Formal Requirements package diagram Explain that Requirements modeled as an hierarchy of UML packages Drill down to Functional Requirements Note Package diagram Drill down to Manage Users diagram Explain Requirement elements : Note properties dialog, files tab etc SEARCH Invoke model search (ctrl+F) Choose RequirementsPriority custom search Type “high” as search term Note option to generate report, also invoke Hierarchy window to demonstrate linkage to rest of model impact analysis! GENERATE SRS Invoke RTF editor on Formal Requirements package Explain Customization capabilities Show result in EA text editor or Word Explain equivalent for HTML Explain useful SRS delivery method! Requirements Model.eap
Requirements Model.eap EXPLORE Open Formal Requirements package diagram Explain that Requirements modeled as an hierarchy of UML packages Drill down to Functional Requirements Note Package diagram Drill down to Manage Users diagram Explain Requirement elements : Note properties dialog, files tab etc SEARCH Invoke model search (ctrl+F) Choose RequirementsPriority custom search Type “high” as search term Note option to generate report, also invoke Hierarchy window to demonstrate linkage to rest of model impact analysis! GENERATE SRS Invoke RTF editor on Formal Requirements package Explain Customization capabilities Show result in EA text editor or Word Explain equivalent for HTML Explain useful SRS delivery method! Requirements Model.eap
Requirements Model.eap EXPLORE Open Formal Requirements package diagram Explain that Requirements modeled as an hierarchy of UML packages Drill down to Functional Requirements Note Package diagram Drill down to Manage Users diagram Explain Requirement elements : Note properties dialog, files tab etc SEARCH Invoke model search (ctrl+F) Choose RequirementsPriority custom search Type “high” as search term Note option to generate report, also invoke Hierarchy window to demonstrate linkage to rest of model impact analysis! GENERATE SRS Invoke RTF editor on Formal Requirements package Explain Customization capabilities Show result in EA text editor or Word Explain equivalent for HTML Explain useful SRS delivery method! Requirements Model.eap
EXPLORE Open Formal Requirements package diagram Explain that Requirements modeled as an hierarchy of UML packages Drill down to Functional Requirements Note Package diagram Drill down to Manage Users diagram Explain Requirement elements : Note properties dialog, files tab etc SEARCH Invoke model search (ctrl+F) Choose RequirementsPriority custom search Type “high” as search term Note option to generate report, also invoke Hierarchy window to demonstrate linkage to rest of model impact analysis! GENERATE SRS Invoke RTF editor on Formal Requirements package Explain Customization capabilities Show result in EA text editor or Word Explain equivalent for HTML Explain useful SRS delivery method!
Traceability EA provides end-to-end traceability support Features Specification, through to design, to implementation Requirements, to Use Cases, to Logical Designs, to Maintenance Features Customisable Search Hierarchy View Relationship Matrix
EXPLORE Navigate to Use Case Model package diagram Explain Hierarchical breakdown Differentiate Use Case Model from Formal Requirements model (Formal SRS delivery to client vs behavioral analysis. And either or both can be used depending on client/project needs) Drill down to Manage Users. Note alternate (intuitive) image used to represent actor that is a system Invoke Use Case properties Explain Text based scenarios GRAPHICAL SCENARIOS Drill down to embedded diagram Explain embedded sequence diagram TRACEABILITY Navigate to Traceability Model View Explain Trace connectors used to trace use cases to requirements Explain diagrammatic approach to trace. Note : can be extended to other phases of modeling Double-click Requirements Trace hyperlink. Invokes Relationship matrix Explain Relationship matrix
EXPLORE Navigate to Use Case Model package diagram Explain Hierarchical breakdown Differentiate Use Case Model from Formal Requirements model (Formal SRS delivery to client vs behavioral analysis. And either or both can be used depending on client/project needs) Drill down to Manage Users. Note alternate (intuitive) image used to represent actor that is a system Invoke Use Case properties Explain Text based scenarios GRAPHICAL SCENARIOS Drill down to embedded diagram Explain embedded sequence diagram TRACEABILITY Navigate to Traceability Model View Explain Trace connectors used to trace use cases to requirements Explain diagrammatic approach to trace. Note : can be extended to other phases of modeling Double-click Requirements Trace hyperlink. Invokes Relationship matrix Explain Relationship matrix
EXPLORE Navigate to Use Case Model package diagram Explain Hierarchical breakdown Differentiate Use Case Model from Formal Requirements model (Formal SRS delivery to client vs behavioral analysis. And either or both can be used depending on client/project needs) Drill down to Manage Users. Note alternate (intuitive) image used to represent actor that is a system Invoke Use Case properties Explain Text based scenarios GRAPHICAL SCENARIOS Drill down to embedded diagram Explain embedded sequence diagram TRACEABILITY Navigate to Traceability Model View Explain Trace connectors used to trace use cases to requirements Explain diagrammatic approach to trace. Note : can be extended to other phases of modeling Double-click Requirements Trace hyperlink. Invokes Relationship matrix Explain Relationship matrix
EXPLORE Navigate to Use Case Model package diagram Explain Hierarchical breakdown Differentiate Use Case Model from Formal Requirements model (Formal SRS delivery to client vs behavioral analysis. And either or both can be used depending on client/project needs) Drill down to Manage Users. Note alternate (intuitive) image used to represent actor that is a system Invoke Use Case properties Explain Text based scenarios GRAPHICAL SCENARIOS Drill down to embedded diagram Explain embedded sequence diagram TRACEABILITY Navigate to Traceability Model View Explain Trace connectors used to trace use cases to requirements Explain diagrammatic approach to trace. Note : can be extended to other phases of modeling Double-click Requirements Trace hyperlink. Invokes Relationship matrix Explain Relationship matrix
Domain-Specific Modelling UML Profiles “Lightweight” extension to UML Provide a domain-specific modeling vocabulary Define a collection of stereotypes that apply to various UML constructs Define constraints & appearance in tool Many standard profiles available: Business Process Modeling Notation (BPMN) XML Schema (XSD) CORBA, Eriksson-Penker, SysML, UPDM
Domain-Specific Modelling EA Provides Powerful customization framework for Domain Specific Modelling Support for graphical notation Support for constraints, rules UML 2-based Users can define their own UML profiles Profiles extend the UML by defining a number of stereotyped elements and tagged values relevant to a particular domain Profiles are imported into EA and extend the built-in UML toolbox EA allows alternative rendering of stereotyped elements with user-customizable Shape Scripts
Domain-Specific Modelling BPMN Example Business Process Modelling Notation Standard notation for defining business processes BPMN defined by BPM.org, adopted by OMG.org Online Bookstore Example EA support for BPMN: Provided as an MDG Technology add-in Supports model validation Uses shape scripting for non-standard rendering
Domain-Specific Modelling BPMN Example We’re using BPMN to analyse the business processes for our bookstore Here we’ve modeled the B2B transaction that utilizes our automated (Web Services) purchasing system. Next we’ll consider how we can use MDA transformation to move to the design and implementation stages.
Model-Driven Architecture Design abstract services/design model, independent of the underlying technology Platform Independent Model (PIM) Generate concrete services/design model, specific to the underlying technology Platform Specific Model (PSM) MDA Parts of the System Model overlap - we want to re-use as much as possible We require the same basic design information in the Code Model, Data Model (DDL + Schema), Services Model We define Model-driven TRANFSFORMATIONS from the abstract model to automatically derive one or more PSMs Changes to the abstract model can be automatically propagated to the PSMs, improving productivity. Enterprise Architect provides a framework to achieve MDA goals : Support for Abstract and Platform specific modeling A powerful transformation engine that automatically produces PSMs based on a set of mapping rules User customizable transformation templates : Users can define the mapping rules! Automated Transformation
Model-Driven Architecture Online Bookstore Example Define abstract service model PIM Derive web services model PIMPSM Generate WSDL PSM Generate Client/Server Code PSM
Interoperability Migrating from other UML tools Model Import / Export support XMI 1.0, 1.1 XMI 2.0, 2.1 Rational Rose Rhapsody MagicDraw Borland Together
Interoperability Between different applications Integrated Development Environments Visual Studio.NET Visual Studio 2005 Eclipse (Java) Requirements Management Telelogic DOORS Project Management Microsoft Project
Team-Based Modelling Today’s software projects are increasingly challenging… Larger Systems involving hundreds, or even thousands of requirements Sparse Environments Distributed teams across continents Teamwork Importance Concurrent work and collaborative roles Communication Within and across all phases of SDLC
Team-Based Modelling Ever-increasing demands to meet these challenges… Scalability A scalable model repository supporting multiple, concurrent users Complexity Management Model, version control, revision history, user management Teamwork Control Security control, settings to restrict user permission Communicate Model discussion for collaborative reviews This functionality requires specific support from the UML modeling tool Needless to say, EA is a team-based modeling tool and supports all of these! We’ll discuss some examples…
Team-Based Modelling – Version Control Enterprise Architect supports version-controlled UML packages CVS, Subversion, SCC (VSS, Clear Case, etc…) Basic VC concepts apply Change history Check-in / check-out Help manage concurrent work Version control for UML models occurs at a “Package” level A given user may “lock” a package for editing Helps prevent accidental modification by others Other team members can still view locked packages. We can make use of nested, version controlled packages to control granularity of locking and maximize concurrent work
Team-Based Modelling – Version Control Packages Checked-in (Locked) Packages Checked-out (Editable) With Version control enabled we can : Allow multiple, concurrent users to work on individual packages Allow the entire to have “read” access to the complete model, without accidental modification
Team-Based Modelling – Discussion Forum Enterprise Architect provides a dedicated model discussion forum capability Discuss model-specific concerns Share amongst other modellers Unobtrusive model “annotation” Share forums across models (remote DBMS) Communication Developers, Architects and Analysts can discuss the system at the appropriate level of abstraction in their chosen environment The Discussion Forum can be established on a separate DBMS for “global” forum used across multiple projects Model Elements can be dropped on to specific posts.
Team-Based Modelling – Discussion Forum
Overview Enterprise Architecture in EA Conclusion Supporting development efforts DoDAF/MoDAF Zachman Framework Conclusion Summary Questions
Enterprise Architecture in EA Improvements to EA to support Architecture Frameworks Additional model elements & relationships Clickable User Interface Element Toolboxes, Taskpanes Model Templates & Patterns Diagram extensions Easier-to-use EA Version 7.0 Due out early Q2
Summary Introduction to Sparx Systems Enterprise Architect MDG Addins Importance of UML in Enterprise Architecture Value added UML Requirements Models To provide traceability between specification & design Extending UML for domain-specific application Model-Driven Architecture
Summary Interoperability Team-Based Modelling Support for concurrency and complexity management a must! Version control, Discussion forum Support for EA Frameworks Zachman Framework Example DoDAF/MoDAF Efforts Coming soon to version 7.0
For More Information Visit our website Email www.sparxsystems.com 30-day full functional trial of EA 6.5 Whitepapers, Datasheets User Forums Email sales@sparxsystems.com marketing@sparxsystems.com support@sparxsystems.com sam.mancarella@sparxsystems.com
thank you for your attention!