250 likes | 391 Views
AMI-Enterprise. UML Modeling using Enterprise Architect. Note: the presentation material is provided by Sparx Systems. Review of Concepts: UML. UML: Unified Modeling Language
E N D
AMI-Enterprise UML Modeling using Enterprise Architect Note: the presentation material is provided by Sparx Systems.
Review of Concepts: UML UML: Unified Modeling Language “…provide[s] system architects, software engineers, and software developers with tools for analysis, design, and implementation of software based systems as well as for modeling business and similar processes.” – UML Specification Graphical language, not a methodology! Has syntax rules Profiles provide extensibility Current version: 2.2 First UML spec in 1997 Object Management Group (OMG) More Info UML, OMG: http://www.uml.org, www.omg.org Sparx Tutorials: http://www.sparxsystems.com/resources
Review of Concepts: Value of UML Manage complexity Plan and mitigate risk Facilitate communication
Review of Concepts: UML UML supports 13 diagrams to visualize: Structure (Package, Class, Component etc.) Behavior (Use Case, Activity, State Machine) Interaction (Sequence, Timing etc.) For Example: Class Package Component
Enterprise Architect: UML Support UML 2 modeling platform: Supports standard 13 UML 2 diagrams Intuitive interface. Easy to use and get started Customization framework for Domain Specific Modeling (UML profiles, patterns, templates) XML Meta-data Interchange (XMI) for interoperability and model serialization Supports large models, versioning, collaboration and sharing Extensions for SysML, BPMN, Database, Architecture Frameworks (Zachman, TOGAF, DoDAF, MODAF) Current Version: 7.5 Available from: http://www.sparxsystems.com
Enterprise Architect: SDLC Support General-purpose modeling platform supports the SDLC: Visual Requirements Modeling and Management Customizable Reporting Engines for RTF (Word-compatible) and HTML Code Engineering Framework (10+ programming languages out-of-the-box) Deployment and Test specification Integrated modeling platform: IDE and PLM Integration: Visual Studio, Eclipse and TcSE API and extension frameworks for scripting, add-ins etc
Team Modeling platform supports multiple, concurrent users: Scalable database driven repository Version Control (CVS, Subversion, SCC, TFS integration) Model Merge (from Package Baselines) Security and Locking mechanism Detailed, near real-time Auditing capability Enterprise Architect: Team Modeling
Enterprise Architecture Frameworks Zachman Framework DoDAF-MODAF TOGAF
Sharing Model Information • A fundamental value proposition behind modeling: Improves communication! • Not everyone consumes models directly yet • Models also realize value when used to generate useful artifacts.
Sharing Models: XMI • XMI: XML Metadata Interchange • Primary mechanism for exchanging models: • Export occurs at the Package, View and Model levels • Round-trip Enterprise Architect models using XMI 1.1 – most stable version. (UML 2.1 model data included) • Ensure shared packages are ‘self-contained’ and set ‘round-trip’ options on export or; • Apply version control to help manage dependencies across distributed, shared packages • Forms basis for Enterprise Architect compare/merge • 3rd party tools consume, post-process XMI eg. CIMTool
Sharing Models: HTML • Enterprise Architect HTML generation replicates model structure, diagrams and project info for online distribution (internet or secured intranet) • Model navigation via project explorer frame and diagram hot-spots • Doesn’t require Enterprise Architect client, browser only • Generation process can be automated using API to update online doco regularly (HTML model data not synched real-time) • Numerous orgs publish standards models in HTML form: • ISO/TC 211: http://www.isotc211.org/hmmg/HTML • GIEM/Govdex: https://www.govdex.gov.au/pub/ • DMV: http://www.dmv.virginia.gov/csi/eahtml/index.htm • Datex II: http://www.datex2.eu/?q=node/23
Sharing Models: RTF Reports • Rich-Text Format (RTF) reports provide traditional means of delivering model info in document form • RTF MS Word compatible • Provides conversion path to obtain PDF documentation (MS Word PDF) • Template-driven Customizable • Apply meta-data filters to selectively include/exclude model elements and sub-element information
Team based modeling – the challenges Widely distributed teams Shared development of standards Big models and wide scope Change control, merging work, revisions etc There are tools that help…
Collaborative modeling tools Version Control Model Baseline Merge Shared (DBMS) Repositories Role-based security Model Auditing
Versions in Enterprise Architect models Two Basic Approaches: Entire Model Repository: Simple, ‘coarse’, no concurrency Package-based: Supports concurrent work Package-Based Versions: Packages serialized as XMI (XML Metadata Interchange) file 1 Package Version = 1 XMI file Applies to Root (Model), View, Parent or Child Packages
Versions in Enterprise Architect models Enterprise Architect allows version comparisons: Compare utility operates on Baseline vs Current State Current State: The ‘live’ Package in the model repository Baseline (snapshot): XMI-based version of the same package Baseline may take one of these physical forms: ‘Model Baseline’ (Snapshot stored in the model) XMI exported file (Snapshot exists on disk) Version controlled Package (Snapshot in VC Repository)
Version Controlled Packages Basic concepts of version control apply: A mechanism for managing concurrent work Maintain a history of changes Changes can be ‘rolled back’ Revisions stored in XMI format Note: Default is XMI 1.1 (includes UML 2.1 info!)
Model Merge When it’s needed: Concurrent work on a single package needs synchronization Offline work needs to be ‘uploaded’ Selective roll-back of changes Selective inclusion of changes (‘Phase based’ development) Occurs at the package level Between versions of a package 1-way merge of Model Baseline to live Package Baseline may exist in another model, file (eg. version control) Requires same starting Package Think version, not ad-hoc model merge
Shared Repositories How DBMS repositories help: Concurrent users edit/view the same model instance No need for synchronization DBMS server can support large teams, large models Host a single ‘Master View’ Requires some DB administration to setup Commonly used for DBMS based repositories: MySQL MS SQL Server Oracle
Role-Based Security Shared models, concurrent editors … Access controls needed! Individual user permissions Group permission (Analysts/BAs, Architects, QA etc) Role-based security: Require individuals or groups to login to the model repository Restricted editing privileges based on role Locking granularity: View, Package or Element level Different locking/security modes available: “Require user lock to edit”, “Optional Lock” Not to be confused with operating system or DBMS security!
Model Auditing Do we need to track model changes in real-time? Large enterprises have strict governance rules Changes to specifications can be expen$$$ive Need to know: Who changed What and When Model Auditing capability provides: A fine-grained change log for model elements Change log is continuous vs ‘point-in-time snapshot’ (c/f version control baseline) Filtering and highlighting of model differences Accountability for model changes made over time Exportable as a permanent record of change
AMI-ENT Modeling & Design Approach Use Case Diagram, Activity Diagram Requirements List, Sequence Diagram Class Diagram