Title: AMIEnterprise
1AMI-Enterprise
- UML Modeling using Enterprise Architect
Note the presentation material is provided by
Sparx Systems.
2Review of Concepts UML
- UML Unified Modeling Language
- provides 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/resou
rces
3Review of Concepts Value of UML
- Manage complexity
- Plan and mitigate risk
- Facilitate communication
4Review 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
5Enterprise Architect
6Enterprise 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
7Enterprise 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
8Enterprise Architect Team Modeling
- 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
9Enterprise Architecture Frameworks
10The Zachman Framework
11(No Transcript)
12Sharing 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.
13Sharing 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
14Sharing 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 - Doesnt 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/?qnode/23
15Sharing 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
16Team 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
17Collaborative modeling tools
- Version Control
- Model Baseline Merge
- Shared (DBMS) Repositories
- Role-based security
- Model Auditing
18Versions 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
19Versions 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)
20Version 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!)
21Model Merge
- When its 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
22Shared 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
23Role-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!
24Model Auditing
- Do we need to track model changes in real-time?
- Large enterprises have strict governance rules
- Changes to specifications can be expenive
- 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
25AMI-ENT Modeling Design Approach
Use Case Diagram, Activity Diagram
Requirements List, Sequence Diagram
Class Diagram