# Enterprise Architect (software)

Sparx Systems Enterprise Architect is a visual modeling and design tool based on the OMG UML. The platform supports: the design and construction of software systems; modeling business processes; and modeling industry based domains. It is used by businesses and organizations to not only model the architecture of their systems, but to process the implementation of these models across the full application development life-cycle.

## Overview

Systems modeling using UML provides a basis for modeling all aspects of organizational architecture, along with the ability to provide a foundation for designing and implementing new systems or changing existing systems. The aspects that can be covered by this type of modeling range from laying out organizational or systems architectures, business process reengineering, business analysis, and service-oriented architectures and web modeling, through to application and database design and re-engineering, and development of embedded systems. Along with system modeling, Enterprise Architect covers the core aspects of the application development life-cycle, from requirements management through to design, construction, testing and maintenance phases, with support for traceability, project management and change control of these processes, as well as, facilities for model driven development of application code using an internal integrated-development platform.
The user base ranges from programmers and business analysts through to enterprise architects, in organizations ranging from small developer companies, multi-national corporations and government organizations through to international industry standards bodies. Sparx Systems initially released Enterprise Architect in 2000. Originally designed as a UML modeling tool for modeling UML 1.1, the product has evolved to include other OMG UML specifications 1.3, 2.0, 2.1, 2.3, 2.4.1 and 2.5.

## Standards

Enterprise Architect supports a range of open industry standards for designing and modeling software and business systems. The following are the core standards supported:
* UML 2.5
* SysML 1.5
* BPMN 2.0
* DMN
* BMM
* MARTE 1.2
* BPEL
* SoaML
* SPEM
* WSDL
* XSD
* DDS
* ArchiMate 3.0
* ArcGIS
* IFML
* CMMN
* Geography Markup Language (GML)
* ODM, OWL and RDF
* VDML 1.0
Enterprise Architect also supports industry frameworks such as:
* Zachman Framework
* TOGAF (including FEAF)
* UAF - UPDM framework that supports DoDAF, MODAF and NAF
* Service-Oriented Modeling Framework (SOMF)
Enterprise Architect supported frameworks supplied by industry bodies:
* TRAK
* GeoSciML
* NIEM
Supports the core service-oriented architectures:
* SoaML
* Service-Oriented Modeling Framework (SOMF) – Enterprise-Level Architecture
Along with Round Trip engineering of WSDL, XSD used to facilitate BPEL generation.

## Standards development

Models published by industry standards development bodies using Enterprise Architect include:
* Aeronautical Information Exchange Model (AIXM), Flight Information Exchange Model (FIXM), ICAO Weather Information Exchange Model (IWXXM)
* International Air Transport Association IATA
* Telecommunications framework Business Process Framework (eTOM) and TAM
* AUTomotive Open System ARchitecture AUTOSAR
* GENIVI Alliance automotive industry alliance involved in developing in-vehicle infotainment (IVI)
* TRAK Transport framework for systems engineers based on MODAF
* Datex II specifications for exchanging traffic information Datex2
* Geoscience Markup Language GeoSciML
* Geospatial Interoperability Specification ISO/TC 211
* ArcGIS Pipeline Data Model (APDM)
* International Defence Enterprise Architecture Specification IDEAS Group
* Smartgrid Common Information Model (electricity) (IEC CIM)
* HL7 – international standard for transferring data between Hospital information systems Health Level 7 EHR-S FIM
* caBIG Cancer Biomedical Informatics Grid
* BRIDG Biomedical Research Integrated Domain Group
* UN/CEFACT's Modeling Methodology for UN/CEFACT
* UnifiedPOS managed by Association for Retail Technology Standards (ARTS)

## Modeling

Underlying UML modeling are the key aspects that most modeling tools support. The core aspects supported by Enterprise Architect include: profiles, patterns, MOF, OCL, MDA transforms, and CORBA IDL. UML validation can be run against the model.

## General features
### Requirements management

The common features of requirements management supported by Enterprise Architect include customization of how requirements are documented, linking requirements to the design and implementation details, and providing requirements traceability through the design and construction phases. These requirements can be subject to change management, workflow processing, baseline comparison and auditing.

### Business modeling and analysis

Enterprise Architect supports a number of methods of modeling business processes using UML as the foundation modeling language. The core languages for business modeling and analysis include BPMN, BMM and VDML, along with various historic profiles.
Enterprise Architect supports the simulation of:
* BPMN models using BPSim
* Business Rules definitions using DMN models.
BPMN can be integrated with DMN models for simulation. This includes the ability to generate executable code from these business rules. Business modeling can be combined with Gap analysis to view potential gaps in proposed solutions.

### Simulation

Model simulation is supported for behavioral diagrams including: state machines, interaction (sequence diagrams) and activity diagrams. For state machine and activity diagrams the execution flow is defined using triggers, guards and effects. The simulation supports re-runs with alteration to the triggered events and supports viewing variables, the call stack and setting debug markers. Simulation can interact with emulated user-interface screens containing common UI fields. Graphical Plots of the simulation can be generated.
There is also support for generating executable code from State Machines for both simulation, as well for use in applications.
BPMN models (using BPSim), can be simulated creating tabulated results for analysis. BPSim also supports Monte Carlo probability-based simulations.
SysML simulation is supported for IBD and Parametric models using Open Modelica or Matlab (using Simulink and Simscape). Mathematical formulas in SysML's Internal Block diagrams and Parametric models can be simulated for plotting graphs used in the analysis.
Simulation is also supported for DMN (Decision Model and Notation). The simulation involves generating code usable in applications and supports interaction between DMN models and BPMN models using BPSim.

### System development

In line with the model-driven design principles Enterprise Architect supports MDA transforms of PIM class structures to PSM class structures, round-trip engineering of code for ten software languages and several key embedded HDL systems languages (Ada, VHDL and Verilog). It also supports code generation from behavioral models.
Languages supported include ActionScript, C, C# and C++, Delphi, Java, PHP, Python, Visual Basic and Visual Basic .NET
In accordance with model-driven development principles, Enterprise Architect provides an integrated development environment that supports code editing (with syntax highlighting and Intellisense), for building, debugging and code testing all from within the model.
Compilers and interpreters supported: Microsoft Windows Native C, C++, Visual Basic, .NET family (C#, VB); Java, PHP, and GNU compilers for C++, C and Ada (GCC and GDB). Includes features for importing MS Visual Studio and Eclipse projects.

### Wireframing

Wireframe modeling supports using templates for modeling the appearance of dialogs presented to users when interacting with an application. The supported device dialogs include: Screen Dialogs, Webpages, Android, Apple, and Windows 8.1 phones and Tablets.

### Test management

For code based testing there is support for both xUnit Testing (This involves MDA transformation of Classes to NUnit or Junit Classes with the ability to generate unit tests from the model and automatically record the results against the tested Classes). and Testpoint testing ( a model based code testing. It is parallel to test contracts defined in ‘Design by Contract’ and it runs using debug definitions. Both methods support the test definitions and test results being logged against related Classes in the model.

### Visual execution analysis

Integrated with building and debugging code Enterprise Architect allows the developer to perform abstract analysis of the software using profiling and sequence diagram generation: Sequence diagram generation provides a means to analyze the general process flow and iron out inconsistencies, and Profiling summarizes, by thread and routine, the code's general efficiency

### System engineering

System Engineering is supported with SysML 1.4 modeling which can be coupled with executable code generation. SysML supports modeling from requirement definition and system composition using SysML Blocks and Parts, through to parametric model simulation. The executable code generation supports embedded HDL system languages (Ada, VHDL and Verilog), or it can be coupled with behavioral code generation of the standard code languages defined above.

### Data modeling

Enterprise Architect supports data modeling from the conceptual to physical levels, forward and reverse engineering of database schemas, and MDA transformation of the logical (platform independent) to physical DBMS (platform dependent).
Diagram types supported include: DDL notation, ERD notation, IDEF1X notation, Information Engineering notation.
Supported DBMSs include: DB2, Firebird/InterBase, MS Access 97, 2000, 2003, 2007, 2013, MS SQL Server, all editions from 2005 including Express and Azure, MySQL, MariaDB, SQLite, Oracle from 9i (all editions), PostgreSQL, ArcGIS, Informix, Ingres, Sybase Adaptive Server Anywhere (Sybase ASA) and Sybase Adaptive Server Enterprise (Sybase ASE).

### Project and change management

Features supporting project management include: Resource allocation and tracking using Gantt charts, Kanban diagrams, event logging using model calendars, Workflow scripting for setting workflow processes, security, and model metrics.
The key facilities supporting change management are: auditing, baseline difference and merge, and version control. The version control interface supports the major version control applications: Subversion, CVS, Team Foundation Server, and SCC interface to any SCC compatible version control system.

### Integration with other tools

Features that support integration with other tools include: XMI Import/Export: Supports the XMI 1.1, 1.2 and 2.1 specifications (and import of .emx and Rhapsody files), Open Services for Lifecycle Collaboration (OSLC), CSV Import/Export, ArchiMate Open Exchange Format Import / Export.
The Pro Cloud Server Integration supports integrating data from external providers including Application Lifecycle Management, Jazz (DOORS, Rhapsody DM, Team Concert CCM & QM), Jira, Confluence, TFS, Wrike, ServiceNow, Autodesk, Bugzilla, Salesforce and SharePoint.
The Data Miner provides a means of extracting data from a range of external data sources including: databases (ODBC, ADO, OLEDB, JET), text files (XML, JSON, plain text), Excel (xls, CSV), and online files or URLs.
The Automation interface – supports a comprehensive API for use with any COM based language (and Java). This supports defining internal scripts, as well as accessibility for writing external add-ins. There is also support for model based event driven add-ins using Javascript.
Among the Add-ins available are interfaces to Microsoft Office and DOORS, along with third party add-ins.