220 likes | 231 Views
Learn about Sparx's mission, UML 2.0 features, Enterprise Architect 5.0 & 6.0, and integration with Visual Studio. Discover the benefits of leveraging UML models in development and the roadmap with Visual Studio Team System. Get insights on requirements, use cases, and domain models. Explore the history and major goals of UML 2.0, diagram types, and Enterprise Architect features.
E N D
Integrating UML 2.0 intoVisual Studio Team System Presentation to SD Best Practices September 28, 2005 Bob Roth (Sparx Systems) bob.roth@sparxsystems.com Frank Truyen (Cephas Consulting) frank.truyen@cephas.cc
Overview • Sparx’s Mission • Sparx’s 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 • Q&A
Sparx’s 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
Sparx’s Partnership with Microsoft Enterprise Architect • Requirements • UML Visual Studio • Code • .NET
UML History in a Nutshell1 1Based on chart on pg. 17 of http://www-cse.ucsd.edu/~ikrueger/Teaching_Documents/Winter_2005/UML_Intro_2005.pdf
UML 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 OMG’s 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
UML 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
Enterprise 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)
Enterprise 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)
Enterprise 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)
EA Highlights - Model Repository • Every aspect of the UML model—including graphical data—is 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 CrystalReportsto be used to manipulate and query the UML model, both from within EA and externally
EA 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)
EA Highlights - Project Management & Metrics • EA provides “lightweight” project management support through • Project estimatesA 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 managementAllows the project manager to assign resources directly to model elements and track progress over time. • Risk managementThe 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. • MaintenanceAllows 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.
EA 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
EA 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)
Integrating 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
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. Teaming 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 Teaming up the UML Architect with the .Net Developer
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 EA 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 EA Integration with Visual StudioTeam System - Roadmap
Summary • 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
Q & A • Questions • Suggestions • Feedback Please contact: Bob Roth (Sparx Systems) bob.roth@sparxsystems.com or Frank Truyen (Cephas Consulting) frank.truyen@cephas.cc