Sparx SystemsEnterprise Architect 12Reviewer’s GuideCopyright Sparx Systems

Table of ContentsIntroduction . 3What is Enterprise Architect? . 3What differentiates Enterprise Architect from other UML tools? . 3How popular is Enterprise Architect now? . 4What benefits does Enterprise Architect provide? . 4Summary of Enterprise Architect Features . 7Modeling Based on Open Standards . 9UML, BPMN and SysML . 9Business Process Modeling and Simulation. 10Information and Data Modeling, and Database Engineering . 11Requirements Management . 13Spatial Information Modeling with GML and ArcGIS . 14Strategic Modeling . 15Systems Engineering . 16Test Management . 17UI Design and Wireframes for Mobile Apps and Web Pages . 18User Interface, Tools and Productivity Boosters . 19Document Generation and Reporting . 21Traceability and Accountability . 22Model auditing . 22Gap and dependency analysis. 22Charts and Dashboards . 23Finding Elements and Searching Meta-data. 24Other reports . 24Distributed Teams and Collaboration . 25Support for large models and many concurrent users . 25Project Management . 27Change Management and Version Control . 28Enterprise Architecture and SOA . 29Enterprise architecture frameworks. 29Service oriented architecture (SOA) . 29XSD and WSDL capability . 29XSLT Debugger. 30Schema Composer . 30Model Driven Architecture (MDA) . 31Code Engineering . 32Visualize, Debug and Profile Executing Code . 33State Machine Code Generation and Execution . 34Model Simulation . 35Extending Enterprise Architect . 36Domain-specific modeling . 36Automation interface . 37Add-ins . 37Connectivity and integration with other tools. 38Enterprise Architect editions . 40Process support . 40About Sparx Systems . 41Company vision. 41Ongoing commitment to enterprise modeling tools . 41Contact details . 412

IntroductionThis document provides a comprehensive overview of the capabilities of Sparx SystemsEnterprise Architect 12. Each section focuses on a particular aspect of Enterprise Architect,providing an introduction to the purpose and benefits of each capability.What is Enterprise Architect?Enterprise Architect is a visual platform for designing and constructingsoftware systems, for business process modeling, and for more generalizedmodeling purposes.Enterprise Architect is based on the latest UML 2.5 specification. UMLdefines a visual language that is used to model a particular domain or system(either proposed or existing).Enterprise Architect is a progressive tool that covers all aspects of thedevelopment cycle, providing full traceability from the initial design phasethrough to deployment, maintenance, testing and change control.What differentiates Enterprise Architect from other UML tools? Comprehensive UML 2.5-based modeling Built-in Requirements Management Extensive Project Management support, including resources, tasks, project calendar andmetrics Test Management built-in: Testpoint management, model-based test execution, test casespecification and support for JUnit and NUnit Flexible documentation options: HTML, PDF and DOCX report writers Code engineering support for many languages out of the box An integrated Visual Execution Analyzer to profile, debug and document executingapplications; instantiate run-time model objects; and record sequence diagrams from a stack trace Extensible modeling environment that can host user-defined profiles and technologies Usability: Enterprise Architect makes it easy to get up and running quickly with UML Speed: Enterprise Architect is a spectacularly fast performer Scalability: Enterprise Architect can handle extremely large models and many concurrentusers with ease Price: Enterprise Architect is priced to outfit the entire team, making collaboration and teamdevelopment cost effectiveUML , BPMN and SoaML are trademarks of the Object Management Group, Inc.

How popular is Enterprise Architect now?With over 350,000 licenses sold, Enterprise Architect has proven remarkably popular across a widerange of industries and is used by thousands of companies world-wide. From large, well-known,multi-national organizations to smaller independent companies and consultants, Enterprise Architecthas become the UML modeling tool of choice for developers, consultants and analysts in over 130countries.Sparx software is used in the development of many kinds of software systems in a wide range ofindustries, including: aerospace, automotive, banking and finance, defense, electrical engineering,medicine, research and academia, retail, transport and utilities. It is also used effectively for UMLand business architecture training in many prominent colleges, training companies and universitiesaround the world. Actual implementations range from single users to companies with over 1000seats working on large, distributed projects.What benefits does Enterprise Architect provide?Model and Manage Complex Information.Enterprise Architect helps individuals, groups and large organizations model and managecomplex information. Often this relates to software development and IT systems design and deployment, but it can also relate to business analysis and business process modeling. Enterprise Architect integrates and connects a wide range of structural and behavioral information, helping tobuild a coherent and verifiable architectural model, either what-is or what-will-be. Tools to manageversions, track differences, audit changes and enforce security help control project development andenforce compliance with standards.Model, Manage andTrace 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.4

Integrate Teams and Share a Vision.A scalable, easily deployed, multi-user environment, Enterprise Architect integrates teammembers from all sections and all phases of a product’s (or system's) development and maintenancelife-cycle, providing significant benefits from 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 pointsand many possible sub-systems. Shared models can be accessed easily and securely by remote teammembers with Enterprise Architect's Cloud Server.Design and Build Diverse Systems using UML.UML 2.5, an open standard, provides a rich language for describing, documenting and designing software, business and IT systems in general. Enterprise Architect allows you to leveragethe full expressive power of UML 2.5 to model, design and build diverse systems in an open andwell understood manner. Generate code, database structures, documentation and metrics. Transformmodels. 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 theunique built-in profiling and debugging tools at run-time to capture and visualize executing software. Create run-time instances of model elements and invoke methods using the built in ObjectWorkbench. Integrate existing data models by reverse engineering database schema for a widerange of systems.5

Use Full Life-Cycle 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 andtrack product development and delivery.Share and Re-Use Information Across Tools.Enterprise Architect supports a number of mechanisms for exporting and importing modelsusing industry standard XMI. This allows modelers to use information created in other tools, tocopy information between Enterprise Architect models and even to write and use custom tools thattake XMI directly as input. Enterprise Architect can also be used as an Open Services for LifecycleCollaboration (OSLC) Provider, allowing other tools to identify and access modeled Requirementsvia a unique URL.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 ordomain. Enterprise Architect has a rich set of tools built-in to support MDA.6

Summary of Enterprise Architect FeaturesEnterprise Architect enables you to: Model complex information, software and hardware systems using UML-compliant notation Specify, model, manage and trace requirements to deployed solutions Produce detailed and quality documentation in PDF, HTML, DOCX and RTF formats Leverage industry-standard enterprise architecture frameworks Generate and reverse engineer code in 10 programming languages* Model databases, generate DDL scripts, and reverse engineer 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 via a cloud server or reusable asset service (RAS) 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 the 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, Data Flow Diagrams and Wireframes for mobile apps Generate BPEL scripts automatically from business process models in BPMN notation* Generate executable business logic from rule tasks traceable to natural language business rules* Visualize executing applications using the Visual Execution Analyzer Transform behavioral models into executable source code both for software and for hardwaredescription languages (HDLs) such as Verilog, VHDL, and SystemC* Simulate models, including activity models, business process models and SysML parametric models* Model and generate XML schema (XSD) and WSDL; Debug XSLT; Edit and Validate XML, XSD*Available features vary across editions. See tml7

Modeling Based on Open StandardsAs a contributing member of the ObjectManagement Group, Sparx Systems understands theimportance of open standards to communicateeffectively to a wide range of stakeholders. To thisend, Enterprise Architect helps you to: Visualize systems using the latest UML 2.5notation Document and describe business processeswith BPMN 2.0 Model and simulate systems engineeringprojects with SysML 1.4 Leverage numerous other open modeling standards – all in the one modeling environment!UML, BPMN and SysMLEnterprise Architect supports all UML 2.5 models and diagrams. You can model business processes,web sites, user interfaces, networks, hardware configurations, messages and many other aspects ofyour development.In brief, Enterprise Architect: Was the first UML tool to introduce comprehensive UML 2 support in April 2004 Continues to refine and update UML 2 support Supports all 14 diagram types from UML 2.In addition to UML, Enterprise Architect supports the latest Business Process Modeling Notation(BPMN) and Systems Modeling Language (SysML) specifications. Enterprise modeling notationsare also supported out-of-the-box, including ArchiMate 2.0, SoaML and SOMF .Enterprise Architect supports numerous other diagram types that extend core UML diagrams forstrategic modeling, mind mapping, formal requirements specifications, data-flow diagrams, userinterface prototyping and domain-specific modeling. The tool also provides alternative views thatmake editing the core UML diagrams more intuitive and effective. One example is the State Tableeditor, which renders a standard UML State Machine diagram as an editable logic table.8

Business ProcessModeling andSimulationThere are numerous approaches to business process modeling (BPM) using UML as the basemodeling language. In particular, Activity diagrams, Object diagrams and custom Profiles provide awealth of modeling possibilities for BPM analysts to use. Enterprise Architect complements thebasic UML 2.5 language palette with custom analysis, requirements management and processmanagement elements (such as change, feature and issue elements).The BPMN profileOne popular notation among business analysts is the Business Process Modeling Notation (BPMN).This notation specifically targets the business modeling community and is mapped to UML througha BPMN Profile. Enterprise Architect provides built-in support of the latest BPMN 2.0 profile.BPMN 2.0 models are simulated using Enterprise Architect's built-in simulation engine. This allowsyou to dynamically examine process flows, validate the model and collect timing and resourceinformation on proposed or legacy processes with a view to business process improvement.BPEL generationEnterprise Architect generates Business Process Execution Language (BPEL) scripts from BPMNmodels. Generated BPEL scripts can then be executed using a third-party execution engine. Specificmodel validation rules help to ensure that models generate valid BPEL code.9

Data Modeling,and DatabaseEngineeringEnterprise Architect captures conceptual, logical and physical data models with one tool in the samemodel repository. You can import schemas from existing databases or automatically generatedatabase scripts from your modeled schema, providing end-to-end traceability – from concept toimplementation.Data modelingWhen designing databases Enterprise Architect’s built-in Data Modeling profiles extend the UMLto provide intuitive representations of database concepts. Supported notations include: IDE