E Are Viewers Guide
E Are Viewers Guide
Enterprise Architect 8
Reviewers Guide
Copyright Sparx Systems 2010
www.sparxsystems.com
Table of Contents
Introduction..........................................................................................................................................3 What is Enterprise Architect?..............................................................................................................3 What differentiates Enterprise Architect from other UML tools?.......................................................3 How popular is Enterprise Architect now?..........................................................................................4 What benefits does Enterprise Architect provide?...............................................................................4 Summary of Enterprise Architect features...........................................................................................7 Some Enterprise Architect features in detail.......................................................................................8 UML 2.3 support..............................................................................................................................8 Documentation and reporting in Enterprise Architect.....................................................................8 Requirements management..............................................................................................................9 Business Process Modeling.............................................................................................................9 Model Validation...........................................................................................................................10 User interface, tools and productivity boosters.............................................................................10 Traceability....................................................................................................................................11 Model Search.................................................................................................................................12 Model Views..................................................................................................................................12 Other reports..................................................................................................................................12 Team development and collaboration............................................................................................13 Enterprise Architecture Framework support..................................................................................14 SOA (Service Oriented Architecture) support...............................................................................14 Code Engineering and visualization..............................................................................................15 Visualizing, debugging and profiling executing code...................................................................16 Built-in support for JUnit and NUnit testing ................................................................................16 Performance and scalability...........................................................................................................17 Version Control..............................................................................................................................17 Connectivity and integration with other tools................................................................................17 Automation Interface.....................................................................................................................18 Add-ins...........................................................................................................................................18 MDA (Model Driven Architecture) support..................................................................................19 Database modeling support............................................................................................................19 Systems Engineering support.........................................................................................................20 Project Management support.........................................................................................................21 Import - export capability..............................................................................................................22 Extending Enterprise Architect......................................................................................................22 Enterprise Architect editions..............................................................................................................24 Process support..................................................................................................................................24 About Sparx Systems..........................................................................................................................25 Company vision.............................................................................................................................25 Ongoing commitment to Enterprise UML tools............................................................................25 Contact details................................................................................................................................25
Introduction
This document provides a comprehensive overview of the capabilities of Sparx Systems Enterprise Architect 8. Each section focuses on a particular aspect of Enterprise Architect, providing an introduction to the purpose and benefits of each capability.
Model, Manage and Trace Requirements. Capture requirements and use full traceability from base requirements to design, build, deployment and beyond. Use impact analysis to trace from proposed changes to original requirements. Build the 'right' system.
Integrate Teams and Share a Vision. A scalable, easily deployed, multi-user environment, Enterprise Architect integrates team members from all sections and all phases of a products (or system's) development and maintenance lifecycle, providing significant benefits from the built-in collaboration and inherent information sharing. A single repository for business analysts, software architects, developers, project managers, testers, roll-out and support staff. A 'unified' view of a complex system having many view points and many possible sub-systems.
Design and Build Diverse Systems using UML. UML 2.3, an open standard, provides a rich language for describing, documenting and designing software, business and IT systems in general. Enterprise Architect allows you to leverage the full expressive power of UML 2.3 to model, design and build diverse systems in an open and well understood manner. Generate code, database structures, documentation and metrics. Transform models. Specify behavior and structure as the basis for contractual agreements.
Visualize, Inspect and Understand Complex Software. Software is complex and often hard to understand. Use Enterprise Architect to reverse engineer a wide variety of source code to understand static structure. To complete the picture, use the unique built-in profiling and debugging tools to capture and visualize executing software at run-time. Reverse engineer database schema for a wide range of systems to integrate existing data models into models. Create run-time instances of model elements and invoke methods using the built in Object Workbench.
Use Full Lifecycle Modeling and Project Management. Capture and track information about model elements that are important to success: for example, Testing, Project Management and Maintenance details. Use this information to drive and track product development and delivery.
Share and Re-Use Information Across Tools. Enterprise Architect supports a number of mechanisms for exporting and importing models using industry standard XMI. This allows modelers to use information created in other tools, to copy information between Enterprise Architect models and even to write and use custom tools that take XMI directly as input.
Create Platform Independent Models using Model Driven Architecture. Model Driven Architecture (MDA) is an open standard designed to facilitate rapid application development in a platform independent manner. Models can be built at a high level of abstraction and using MDA based tools, transformed into models and code targeting a specific platform or domain. Enterprise Architect has a rich set of tools built-in to support MDA.
Model complex information, software and hardware systems using UML-compliant notation Model, Manage and Trace Requirements to deployed solutions Produce detailed and quality documentation in RTF and HTML formats Leverage industry-standard Enterprise Architecture Frameworks Generate and reverse engineer code in 10+ programming languages1 Model databases, generate DDL scripts, and reverse database schema via ODBC* Manage, track and control change using baseline model merge and auditing capabilities Centralize enterprise-wide documentation of processes and information systems Model dependencies between elements, system dynamics and state Model class hierarchies, deployment, components and implementation details Record project issues, tasks and system glossary Assign resources to model elements and track effort expended against required effort Share models using the latest XMI 2.1 format. (Earlier versions also supported) Import models in XMI format from other tools Manage Version Control through XMI using SCC, CVS and Subversion configurations Use UML Profiles to create custom extensions for domain-specific modeling Save and load complete diagrams as UML patterns Analyze and Trace relationships between elements using the tabular Relationship Matrix Script and automate common tasks using a detailed Automation Interface and Model Scripts Connect to shared database repositories using MS SQL Server, MySQL, Oracle and more* Migrate changes across a distributed environment using Controlled XMI Packages Perform model-to-model transformations using Model Driven Architecture (MDA)* Create and share dynamic views of model elements and diagram sets using Model Views Create Mind Maps, Business Process Models and Data Flow Diagrams using UML Generate BPEL scripts automatically from Business Process models* Generate executable business logic from rule tasks and trace to natural language business rules* Visualize executing applications using the Debug & Profiling Workbench Transform behavioral models into executable source code for software and hardware description languages (HDLs) such as Verilog, VHDL, and SystemC* Simulate SysML parametric models*
Readers unfamiliar with UML can find a short tutorial on the following URL: http://www.sparxsystems.com/uml-tutorial.html. Enterprise Architect provides additional diagram types that extend the core UML diagrams for business process modeling, mind mapping, formal requirements specifications, data-flow diagrams and other domain-specific models. The modeling environment also provides a number of alternative views that make editing the core UML diagrams more intuitive and effective. One example is the State Table editor, which renders a standard UML State Machine diagram as an editable logic-table.
You can select, group and order packages together in a manner different from the project view by creating virtual documents. The Rich Text Format (RTF) report writer The RTF Style Template editor enables you to create and edit custom RTF templates to define any output RTF documentation. The Style Template Editor enables you to select particular model elements and then to specify, from the element type, the fields for inclusion in the generated document. Formatting styles can be defined in the Style Editor, and items such as tables of contents and headers can be added to the document. 8
The HTML report writer Enterprise Architect enables you to export an entire model or a single branch of the model to HTML web pages. The HTML report provides an easy-to-use and highly detailed model tree. In addition, hyperlinked elements make browsing to related information very easy. The HTML documentation is based on user-customizable HTML templates, so you can tailor the generated web-pages to suit your company standard. Built-in document editor and linked documents Enterprise Architect enables you to link rich-text documents to any element in the model. Linked documents are created from customizable templates and are included in generated web and Wordbased reports.
Requirements management
Typically, the first step in developing a solution is to gather requirements, be it to develop a software application or detail a business process. Requirements are essentially what the system needs to do. Enterprise Architects built-in requirements management features can be used to: Define an organized and hierarchical Requirements model Link and trace the implementation of system requirements to model elements Search and report on requirements and perform impact analysis with respect to requirement changes.
Structured Use Case Scenarios Use Case Scenarios capture vital analysis information in the form of natural language descriptions. Enterprise Architect's Structured Scenario editor helps you use this information to drive downstream development and maximize traceability across the development life-cycle. The Structured Scenario editor helps you to dynamically link scenario steps to associated model elements, such as domain elements, business rules and glossary terms. From structured scenarios, you can automatically generate test case descriptions, Activity and other UML behavior diagrams. You can even reverse engineer existing process diagrams into structured, textual specifications to produce documentation deliverables.
BPEL Generation Enterprise Architect supports generating Business Process Execution Language (BPEL) scripts from BPMN models. Generated BPEL scripts can then be executed using a third-party execution engine. Specific model validation rules help to ensure that models will generate valid BPEL code.
Model Validation
Model Validation checks UML models against known UML rules, as well as any constraints defined within the model, using the Object Constraint Language (OCL). You can perform Model Validation against a single UML element, a diagram or an entire package.
In-line editing of diagram elements Enterprise Architect enables fast editing of element properties directly from the diagram. Using inplace edit commands, you can rapidly add and update element features such as attributes, operations and parameters, all without leaving the Diagram View. Quick linking technology The Quick Linker provides a fast and in-place mechanism for creating new elements and connectors on a diagram. Its context-sensitive selection menus help guide creation of 'correct' models, saving users time and improving overall productivity.
10
Other Diagramming features Export diagrams to a range of image formats (.bmp, .jpg, .png, .gif, .emf and .wmf) Swimlanes enable logical partitioning of diagrams Pan and Zoom window for easy navigation and preview of complex diagrams Diagram Filters to dynamically compare 'as-is' and 'to-be' architectures or highlight changes Lock diagrams to prevent accidental modification Shape Scripts to customize rendering of elements and support alternative modeling notations You can also superimpose alternative images on elements, to replace the standard image
Traceability
Auditing view Enterprise Architects Auditing feature enables you to track and record changes made to the model over time. Model administrators can use Auditing to monitor information about changes, such as: Who changed an element How many elements they changed When they changed the data What the previous values were, and What type of elements they changed
The Audit View can be tailored to show changes of specific types (including the changes to settings of the Audit View itself), to specific areas or levels of the model, over specific time periods and by each user. The Audit View can be synchronized with the Project Browser and Element List and configured to display changes dynamically in a dedicated Audit History window. Element list The Element List is a tabular, editable view of elements that can be displayed in the main workspace. You can use the Element List to streamline the process of creating and updating elements in a package or diagram selected from the Project Browser window. This can be particularly useful for analysts to edit formal requirement definitions within the model. You can also print the list or generate an RTF document directly from the entries on the Element List. Element Browser The Element Browser provides a context-sensitive view of all meta-data related to the selected element. This allows you to trace information on testing, project management, structured scenarios, maintenance and model semantics. The Element Browser thus provides a central hub for dynamic model reviews and a launchpad for related actions. Relationship Matrix The Relationship Matrix helps you to study the relationships between model elements in a tabular view. It also lets you create, modify and delete relationships between elements with a single mouse click. 11
Track element usage Enterprise Architect makes it easy to track and display the use of an element. The Find or Usage feature in a diagram, the Project Browser or the Element List shows all occurrences of a given element throughout the model, and enables you to easily navigate to any occurrence. Traceability Window The Traceability Window provides a dynamic, navigable view of the current element's relationships to other elements in the model. Relationships shown include Aggregation, Inheritance and Dependency; embedded elements are also shown. By highlighting interconnections between levels of abstraction in the model, the Traceability Window provides a powerful impact analysis tool helping you to see the effect of changing Requirements on downstream elements. Create diagrams with related elements Enterprise Architect can automatically populate a diagram with all elements that relate to a given element. You can filter the inserted elements based on the type, direction and depth of the relationship. The Insert Related Element feature provides a fast and powerful way to build up specific relationship overviews for your frameworks or reverse engineered source code.
Model Search
The Model Search generates a report list that you can view in the main workspace. It lists each element in the model that meets the highly versatile criteria you define within the search terms and search type. The elements listed in the search results are selectable for printing, reporting, editing, adding to documentation, and inserting into Team Review topics.
Model Views
Enterprise Architects Model Views window provides a dynamic, filtered view of elements from the underlying model hierarchy. Using Model Views, you can organize elements according to search criteria (for example frequently run searches), favorite elements and diagrams or technologyspecific information, such as elements belonging to a particular framework view point. Model views can be stored locally for use by individuals, imported and exported between users or included in a shared repository to achieve collaborative views. Automatic notifications can be set for a given Model View to alert you when an element created by another author is added to the view.
Other reports
Enterprise Architect supports a variety of useful out-of-the-box reports including: Resource and Task Details Project Issues Project Glossary Project (size) Statistics Dependency and Implementation Details Testing Details
12
XML import/export Enterprise Architect supports an XML-based model interchange format known as XML Metadata Interchange (XMI). You can use Enterprise Architects XMI facility to share model information between developers. XMI enables you to export discrete packages or entire model branches into XML files, which can be imported into other models or maintained in a version control repository. Security User security is available in the Enterprise Architect Corporate edition and can be used to limit access to update functions within the model. Elements can be locked per-user or per-group; where user security is enabled a password is required to log in to the model. Security in Enterprise Architect is not designed to prevent unauthorized access; rather it is intended as a means of improving collaborative design and development by preventing concurrent editing and limiting the possibility of inadvertent model changes by users not designated as model authors. The Project Team Review facility The Enterprise Architect Project Team Review facility helps users to discuss the development and progress of a project. Team members can view and post messages within the modeling environment and can link their posts directly to elements within the model. For distributed team environments, users can connect their Enterprise Architect model to a Project Team Review hosted in a remote model repository.
13
14
Import .jar files and .NET assemblies Enterprise Architect enables you to reverse-engineer the following types of binary modules: Java Archive (.jar) .Net PE file (.exe, .dll)* Intermediate Language file (.il).
* native Windows DLL and Exe files are not supported, only PE files containing .Net assembly data
Template-driven source code generation You use Enterprise Architects Code Template Framework (CTF) during the forward engineering of UML models. Code templates specify a customizable transformation from UML elements to the various parts of a given programming language. The Code Template Framework enables you to: Generate source code from UML models Customize the way in which Enterprise Architect generates source code Forward engineer languages not specifically supported by Enterprise Architect.
On-demand and live-generation of code Enterprise Architect provides a Live Code Generation feature that automatically updates your source code instantly as you make changes to your model. For example, when you create new operations and attributes for a class in the model, these are instantly written out to the source file.
15
Built-in syntax highlighting source code with dynamic source outliner You can use the built-in source code editor to view and modify any source code to open. If you select an element in a model and it has an associated source file, its code is shown in an editor with appropriate syntax highlighting and a navigable structure outline. The source code viewer also provides a toolbar for quickly generating code and synchronizing with the model.
Analysis tools provided by the Visual Execution Analyzer can be used to: Generate Sequence diagrams, recording live execution of an application, or specific call stacks Derive State Transition diagrams, illustrating changes in data structures Create Profiler reports, showing application sequences and operation call frequency Optimize existing system resources and understand resource allocation Ensure that the system is following the rules as designed Produce high quality documentation that accurately reflects system behavior Understand how and why systems and existing code work Train new employees in the structure and function of a system Identify costly or unnecessary function calls Illustrate interactions, data structures and important relationships within a system Trace problems to a specific line of code, system interaction or event Visualize why a sequence of events is important Establish the sequence of events that occur immediately prior to system failure
Unit testing integrated into the modeling-development cycle One of the key principles of unit testing is that you should always write your tests first. Enterprise Architect helps you to do this. When you add a new method to a class, run the test case transformation on the class. Enterprise Architect creates a corresponding test method that you can generate and fill in the details. This can easily be done before the code you are testing has been created.
Version Control
Enterprise Architect supports version control of packages and their component sub-packages to a central repository. This repository is maintained by third-party version control applications that control access and record revisions. The Version Control feature of Enterprise Architect provides two key benefits: It provides the ability to coordinate sharing of packages between users It saves a history of changes to Enterprise Architect packages, and enables you to retrieve previous versions. Any version control product that complies with the Microsoft Common Source Code Control standard, version 1.1 or higher. (For example Visual Source Safe or Clear Case) Microsoft Team Foundation Server (TFS) Subversion, which is available from http://subversion.tigris.org CVS, which is available from http://www.tortoisecvs.org
Model Baseline Compare and Merge The Enterprise Architect Corporate edition provides a facility to Baseline (snapshot) a model package at a particular point in time. The baseline can then be used with Enterprise Architects Compare (diff) utility to visually explore changes to the package at a later point in development. Any differences can be merged from the baseline into the current model, allowing you to roll-back changes to a previous revision of that package. This also allows multiple users to contribute revisions to a given package offline and later incorporate them back into the common model. As well as comparing and merging changes from a baseline stored within the current model, Enterprise Architects Compare utility allows you to compare a package against: A file on disk, created using the Enterprise Architect XMI export facility on the package A version-controlled XMI file for the selected package Any baseline of the package residing in an external model to which you have access
tools, including a programmable API, an add-in framework and off-the-shelf Model Driven Generation (MDG) solutions provided by Sparx.
Automation Interface
The Automation Interface enables you to access the internals of Enterprise Architect models. Here are some examples of tasks you could perform using the Automation Interface: Perform repetitive tasks, such as update the version number for all elements in a model Generate code from a state machine diagram Produce custom reports Execute Ad hoc queries against the model.
All development environments capable of generating ActiveX Com clients should be able to connect to the Enterprise Architect Automation Interface.
Add-ins
Add-ins enable you to add functionality to Enterprise Architect. The Enterprise Architect add-in framework builds on the features provided by the Automation Interface to enable you to extend the Enterprise Architect user interface. Add-ins provide several key advantages over stand-alone automation clients, including the ability to define additional Enterprise Architect menus and receive notifications about various Enterprise Architect user interface events, such as menu-clicks and user selections. MDG Link Sparx has developed a number of MDG products to provide interoperability with other tools. MDG Link products exemplify use of the Add-in framework to extend the functionality of Enterprise Architect. MDG Link for Visual Studio and MDG Link for Eclipse enable Enterprise Architect to interoperate with the Microsoft Visual Studio and Eclipse IDEs respectively. MDG Integration MDG Integration tightly integrates Enterprise Architect into the Microsoft Visual Studio 2005 and 2008 and Eclipse development environments. This product enables users to explore and edit the UML model inside Visual Studio or Eclipse and also provides many of the key features of Enterprise Architect directly within these IDEs, including rich text and web-based document generation, MDA transformations, Baseline management and Engineering of key XML-based technologies. Other Eclipse-based environments that MDG Integration supports include Adobe Flex Builder and Progress OpenEdge Architect.
18
Support for major database management systems Enterprise Architect supports data modeling of database schema from the following databases: DB2 InterBase Informix Ingres MS Access MySQL Oracle 9i and 10g PostgreSQL MS SQL Server 2000 and 2005 SQL Server7 Sybase Adaptive Server Anywhere Sybase Adaptive Server Enterprise Firebird.
DDL generation Enterprise Architect can automatically generate DDL scripts based on your data model. Enterprise Architects DDL generation capability supports nine DBMS targets out-of-the-box, with a range of options for customizing the generated output. Import of database structures from ODBC connections Analysis of legacy database systems is possible using Enterprise Architects reverse engineering capabilities. By connecting to a live database via ODBC, you can import the database schema into a standard UML model. Subsequent imports allow you maintain synchronization between the data model and the live database.
20
Advanced Behavioral Modeling and executable code generation Enterprise Architect can associate detailed behaviors with UML Activity and Interaction elements, allowing for executable code to be generated from Interaction (Sequence) and Activity models. This allows for more than just code stubs to be derived from models, by generating any nested behavioral models that define executable statements, such as conditional logic, looping constructs and assignments. Hardware Description Languages The Systems Engineering and Ultimate editions of Enterprise Architect support code generation from State Machine models into Hardware Description Languages (HDLs) such as VHDL, Verilog and SystemC.
Model tasks Tracking, prioritizing and assigning tasks is a critical part of managing a models development over time. In addition to the other project management capabilities, Enterprise Architect also supports tracking model tasks against the project as a whole. Glossary Enterprise Architect adds a model glossary to each development project, making it simple to define and disseminate new terms and definitions, which may be unfamiliar to team members new to the project or the problem domain.
modified for the current project. Patterns generally describe how to solve an abstract problem, and it is the task of the pattern user to modify the pattern elements to meet the demands of the current engagement. MDG Technologies MDG Technologies encapsulate a logical collection of resources (such as UML patterns and profiles) that pertain to a specific technology or modeling domain. These are pluggable resources for Enterprise Architect that reside either in a physical directory or URL. Users may create their own MDG Technologies, or take advantage of technologies built into the Enterprise Architect Installer, such as ICONIX and Mind Mapping. Free plug-in technologies that support such activities as CORBA code engineering and BPMN model validation are available for download from: http://www.sparxsystems.com/resources/mdg_tech. In addition, licensed solutions for systems modeling (SysML), Distributed Data Services (DDS) and others are also available see http://www.sparxsystems.com/products/#MDGTech. Custom Add-ins Add-ins extend Enterprise Architects user interface and provide several advantages over standalone automation clients: Add-ins can define Enterprise Architect menus and sub-menus Add-ins receive notifications about various Enterprise Architect user-interface events including menu clicks and file changes Add-ins can (and should) be written as in-process (DLL) components; this provides lower call overhead and better integration into the Enterprise Architect environment Because a current version of Enterprise Architect is already running there is no need to start a second copy of Enterprise Architect via the automation interface Because the add-in receives object handles associated with the currently running copy of Enterprise Architect, more information is available about the current user's activity, such as which diagram objects are selected You are not required to do anything other than install the add-in to make it usable; that is, you do not have to configure add-ins to run on your systems.
23
Process support
UML is a language, not a process. It prescribes the elements of a modeling language and how those elements can be joined together to represent things in the real world. It does not prescribe how you use those elements over time to build new software systems. Like UML, Enterprise Architect is process neutral, meaning that it includes all the features and functionality necessary to implement some chosen development process, but does not dictate what that process should be or how it should be implemented. Many Enterprise Architect users adopt highly structured processes, like RUP, while others use more flexible and lighter weight Agile processes. Regardless of the degree of process management you require, Enterprise Architect has the tools and features needed to support the ongoing process of software development.
24
Company vision
Sparx Systems believes that a complete modeling and design tool should be used throughout the full software life-cycle. Our subscription plan reflects this, as does our belief that life-cycle software should be as dynamic and modern as the systems you design and maintain. Sparx software is intended for use by analysts, designers, architects, developers, testers, project managers and maintenance staff; that is, almost everyone involved in a software development project and in business analysis. It is Sparx Systems' belief that highly priced CASE tools severely limit their usefulness to a team, and ultimately to an organization, by narrowing the effective user base and restricting easy access to the model and the development tool. To this end, Sparx Systems is committed to both maintaining an accessible pricing model and to distributing a 'Read Only' (Enterprise Architect Lite) version of Enterprise Architect for use by those who only need to view model information.
Contact details
Contact Sparx Systems at the following email addresses: Sales and Purchase Enquiries: [email protected] Product Support Enquiries: [email protected]
25