Title: OMG Orlando 2005 03 23
1Integrating UML 2.0 intoVisual Studio Team System
Presentation to SD Best Practices September 28,
2005
Bob Roth (Sparx Systems) bob.roth_at_sparxsystems.com
Frank Truyen (Cephas Consulting) frank.truyen_at_ce
phas.cc
2Overview
- Sparxs Mission
- Sparxs Partnership with Microsoft
- Introduction to UML 2.0
- Enterprise Architect 5.0 Features
- Introducing Enterprise Architect 6.0
- Demonstration of EA Visual Studio Integration
- Requirements Model
- Use Case Model
- Domain Model
- Forward and Reverse Engineering into Visual
Studio - Leveraging the UML Model inside Visual Studio
- Integration Roadmap with Visual Studio Team
System - QA
3Sparxs Mission
- Create a new paradigm for modeling and
development tools by setting a price point that
enables all members of the project team to
benefit from their use. - Benefits include dramatic improvements in
- Documentation
- Traceability
- Collaboration
- Reusability
- Productivity
- Quality
- ROI
4Sparxs Partnership with Microsoft
- Enterprise Architect
- Requirements
- UML
5UML History in a Nutshell1
1 Based on chart on pg. 17 of http//www-cse.ucsd.
edu/ikrueger/Teaching_Documents/Winter_2005/UML_I
ntro_2005.pdf
6UML 2.0
- A specification of the Object Management Group
(OMG) - Sparx is a contributing member of the OMG
- Other important OMG standards include
- The Meta-Object Facility (MOF)
- The XML Metadata Interchange (XMI)
- The Common Warehouse Metamodel (CWM)
- The Common Request Broker Architecture (CORBA)
- Major goals of UML 2.0
- Better alignment with other constituents of the
OMGs Model Driven Architecture (MDA) initiative - Clean up the underlying architecture by making it
modular, layered and extensible - Expand the notation to support a wider set of the
modeling requirements
7UML 2.0 Diagram Types
- UML defines 13 types of diagrams, divided into
two categories six represent static application
structure and seven represent different aspects
of dynamic behavior. - Structural
- Class diagram
- Object diagram
- Component diagram
- Composite Structure diagram
- Deployment diagram
- Package diagram
- Behavioral
- Use Case diagram
- State Machine diagram
- Activity diagram
- Interaction diagrams
- Sequence diagram
- Interaction Overview diagram
- Communication diagram
- Timing diagram
8Enterprise Architect 5.0 Features (1)
- UML 2.0 compliant, supporting all 13 diagrams
- Full development lifecycle coverage from
requirements to analysis, design, testing,
deployment and maintenance - Forward and reverse engineering of multiple
programming languages including C, C and
Visual Basic - Template based code generation scripts that can
be customized - Forward and reverse engineering of database
schemas (DDL) for relational databases such as MS
SQL Server, Oracle and others - XML Schema (XSD) forward generation
- Inbuilt requirements management with full
traceability to the realization elements
(includes a powerful relationship matrix feature)
9Enterprise Architect 5.0 Features (2)
- Export import of packages as XMI files for
purposes such as model backup, transfer between
projects or version control - Creation of model baselines (at the package
branch level) as compressed XMI files inside the
EA repository - Comparison of the structural aspects of models
(at the package level) against stored XMI
representations - Powerful WYSIWYG template based report generator
in RTF format - HTML report generator
- Version control via links to external
Configuration Management systems - XMI support for versions 1.0, 1.1 and 1.2
- Support for managing tests at all levels (unit,
integration, system and acceptance)
10Enterprise Architect 5.0 Features (3)
- Built-in model-to-model (MDA) transformations
- Customizable transformation templates for C,
Java, EJB Entity, EJB Session, DDL and XSD - Powerful scripting language for creating
additional templates - Import of binary modules
- Java archives (.jar files)
- .NET assembly data PE files (.exe, .dll)
- Intermediate Language (.il) files
- Tool extensibility using Model Driven Generator
(MDG) Technologies - Allows bundling of related resources such as UML
profiles, patterns, code templates,
transformation templates, etc. - Available MDG modelling extensions include CORBA,
Python and EJB - Plug-in extensions to both Visual Studio .Net and
Eclipse (using MDG Technologies)
11EA Highlights - Model Repository
- Every aspect of the UML modelincluding graphical
datais persisted in an industry-standard
database in one of the following formats - Native .EAP file (Microsoft Access/JET)
- RDBMS repository
- SQL Server / MSDE
- MySQL
- Oracle
- PostgreSQL
- Adaptive Server Anywhere
- Provides scalability from a single user all the
way up to very large teams - Permits common SQL reporting tools such as
Crystal Reports to be used to manipulate and
query the UML model, both from within EA and
externally
12EA Highlights - Configuration Management
- Supports versioning of packages and their nested
sub-packages into a Configuration Management
repository - The repository is maintained by third-party
version control applications that control access
and manage versions. - Support for any version control system which is
either CVS or SCC compliant (e.g. Visual Source
Safe, Clear Case, Accurev, Perforce and others). - All versioned packages are stored in standard XMI
format for portability - Entire models can be reconstructed from a single
root package using a get all feature - Check-in/check-out functionality is available
from within EA - Projects can be configured to load packages from
multiple version control repositories (and
providers)
13EA Highlights - Project Management Metrics
- EA provides lightweight project management
support through - Project estimates A comprehensive project
estimation tool that calculates effort from use
case and actor objects, coupled with project
configurations defining the technical and
environmental complexity of the work environment. - Resource management Allows the project manager
to assign resources directly to model elements
and track progress over time. - Risk management The Metrics and Estimations
tool may be used to assign Risk to an element
within a project. The interface allows the
project manager to name the risk, define the type
of risk, and give it a weighting. - Maintenance Allows the Project Manager to
assign and track maintenance related work items
to elements within EA. This enables the rapid
capture and record keeping of issues, changes,
defects and tasks.
14EA Highlights - Advanced Capabilities
- Programmatically manipulate models using an
automation interface - ActiveX and .NET technologies can be used to
create add-ins that can be easily plugged into EA - Create UML profiles, and share these profiles as
XML files across teams and projects - Commonly used profiles are available for download
from the resources section of the Sparx website - Model the information (data) viewpoint using a
built-in UML profile featuring tables, columns,
keys, foreign keys and complex relationships - Develop user interfaces (mockups) using another
built-in UML profile featuring screens and
standard UI widgets - Leverage predefined analysis and design patterns
(Gang of Four) or build your own from class
diagrams
15EA Version 6.0 (Fall 2005)
- Live code generation
- Source compilation and debugging
- Integrated nUnit and jUnit support
- Perspectives to manage current user focus
- New MDG Technology extensions for
- Systems Modeling Language (SysML -
http//www.sysml.org/) - Business Process Modeling Notation (BPMN -
http//www.bpmn.org/) - Shape script language for deriving highly
customisable shapes based on stereotypes and
tagged values - Model discussions forum
- Advanced search facility
- MOF Meta-modelling support (import/export support
for MOF 1.3, MOF 1.4) - XSD modelling (fwd reverse engineering)
- WSDL SOA modelling support (forward and reverse
engineering) - Comprehensive model validation (including
OCL-based constraints)
16Integrating UML 2.0 into theVisual Studio 2005
and VSTS environment- Objectives -
- Provide the UML Analyst/Designer/Architect with
the tools to build detailed and precise UML 2.0
models - Give the Visual Studio developer focused access
to UML model content - Offer the development team strong traceability
features, from requirements to model, to code, to
tests and finally to deployed artifacts - Increase productivity by linking UML models to
Domain Specific Language (DSL) tools and
artifacts - Release a preliminary (beta) version of the
integration into Visual Studio 2005 by product
launch date - Release a stable and complete version in early
2006 - Make available a first version of the integration
with Visual Studio Team System by end of first
quarter 2006
17Teaming up the UML Architect with the .Net
Developer
- Browse the EA model inside the Visual Studio
environment - The UML model is included as a Solution item
within VS 2005. Two additional tool views are
made available - The UML Model window presents a Project View to
navigate through the EA model in order to view
its entire content - The UML Property window provides a real-time view
of model diagrams and elements. Drill down into
the model directly from the diagram elements - Invoke EA features from within Visual Studio
- Via the context menu of the class browser in VS
the user can - Select the Open and Edit in EA option to open
EA with the class visible - Update the properties of UML elements directly!
- Open a selected diagram inside EA
- Generate documentation, import libraries, etc.
18Teaming up the UML Architect with the .Net
Developer
- Navigate from UML artifacts to related VS
elements - Navigate from a UML class in the UML Project View
window to the source code item in the Solution
Explorer or Class View - Invoke the DSL Class Diagram from a UML class
context - The Class Diagram is created automatically if it
does not already exist. The corresponding VS
class is highlighted in the Diagram - Automatically add the VS class to the Diagram if
not present - Invoke the DSL Application Diagram from a UML
element context - The Application Diagram is created automatically
if it does not already exist - The corresponding VS element is highlighted in
the Diagram
19EA Integration with Visual StudioTeam System -
Roadmap
- VSTS user displays EA requirements
- Query and view in VSTS work items created in EA
as requirements - EA user visualizes VSTS Work Items
- Query and view in EA requirements, tasks, and
other artifacts created as work items in VSTS,
including any complex dependencies between work
items - EA user leverages VSTS CM system
- Check-in or check-out files within EA using the
VSTS Configuration Management system
20EA Integration with Visual StudioTeam System -
Roadmap
- EA pre-populates a VS Application Diagram (AD)
from a UML deployment diagram - EA renders VSTS test results on a UML diagram
- EA renders on a diagram test coverage data from
the results of the test suites executed in VSTS - EA shows VSTS test case dependencies
- EA visualizes the VSTS test cases and their
dependencies on a UML diagram
21Summary
- EA A full lifecycle, UML 2.0 tool with support
for .NET and other platforms - Objective to bring detailed, traceable UML
Models to all members of the .NET development
team via Visual Studio and VSTS - Beta integration into Visual Studio 2005 by VS
product launch date. Release in early 2006 - Integration with Visual Studio Team System
towards the end of first quarter 2006
22Q A
- Questions
- Suggestions
- Feedback
Please contact Bob Roth (Sparx
Systems) bob.roth_at_sparxsystems.com or Frank
Truyen (Cephas Consulting) frank.truyen_at_cephas.cc