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 process re-engineering (BPR) is a business management strategy originally pioneered in the early 1990s, focusing on the analysis and design of workflows and business processes within an organization. BPR aims to help organizations fund ...
, 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
Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. A requ ...
through to design, construction, testing and maintenance phases, with support for traceability,
project management
Project management is the process of supervising the work of a Project team, team to achieve all project goals within the given constraints. This information is usually described in project initiation documentation, project documentation, crea ...
and
change control
Within quality management systems (QMS) and information technology (IT) systems, change control is a process—either formal or informal—used to ensure that changes to a product or system are introduced in a controlled and coordinated manner. I ...
of these processes, as well as, facilities for model driven development of
application code
This glossary of computer science is a list of definitions of terms and concepts used in computer science, its sub-disciplines, and related fields, including terms relevant to software, data science, and .
A
...
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
The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
*
XSD
XSD (XML Schema Definition), a recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an Extensible Markup Language (XML) document. It can be used by programmers to verify each piece of item cont ...
*
DDS
*
ArchiMate
ArchiMate ( ) is an open and independent enterprise architecture modeling language to support the description, analysis and visualization of architecture within and across business domains 3.0
*
ArcGIS
ArcGIS is a family of client, server and online geographic information system (GIS) software developed and maintained by Esri.
ArcGIS was first released in 1982 as ARC/INFO, a command line-based GIS. ARC/INFO was later merged into ArcGIS De ...
*
IFML
*
CMMN
*
Geography Markup Language
The Geography Markup Language (GML) is the XML grammar defined by the Open Geospatial Consortium (OGC) to express geographical features. GML serves as a modeling language for geographic systems as well as an open interchange format for geographic ...
(GML)
*
ODM,
OWL
Owls are birds from the order Strigiformes (), which includes over 200 species of mostly solitary and nocturnal birds of prey typified by an upright stance, a large, broad head, binocular vision, binaural hearing, sharp talons, and feathers a ...
and
RDF
*
VDML 1.0
Enterprise Architect also supports industry frameworks such as:
*
Zachman Framework
*
TOGAF
The Open Group Architecture Framework (TOGAF) is the most used framework for enterprise architecture as of 2020 that provides an approach for designing, planning, implementing, and governing an enterprise information technology architecture. TOG ...
(including
FEAF)
* UAF -
UPDM framework that supports
DoDAF
The Department of Defense Architecture Framework (DoDAF) is an architecture framework for the United States Department of Defense (DoD) that provides visualization infrastructure for specific stakeholders concerns through viewpoints organized b ...
,
MODAF and
NAF
*
Service-Oriented Modeling Framework (SOMF)
Enterprise Architect supported frameworks supplied by industry bodies:
*
TRAK
*
GeoSciML
*
NIEM
NIEMOpen (), frequently referred to as NIEM, originated as an XML-based information exchange framework from the United States, but has transitioned to an OASIS Open Project. This initiative formalizes NIEM's designation as an official standard i ...
Supports the core
service-oriented architecture
In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. SOA is a good choice for system integration. By consequence, it is also applied in the field ...
s:
*
SoaML
*
Service-Oriented Modeling Framework (SOMF) – Enterprise-Level Architecture
Along with Round Trip engineering of
WSDL
The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
,
XSD
XSD (XML Schema Definition), a recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an Extensible Markup Language (XML) document. It can be used by programmers to verify each piece of item cont ...
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)
[ IWXXM]
* International Air Transport Association
IATA
The International Air Transport Association (IATA ) is an airline trade association founded in 1945. IATA has been described as a cartel since, in addition to setting technical standards for airlines, IATA also organized tariff conferences tha ...
* Telecommunications framework
Business Process Framework (eTOM)
The Business Process Framework is an operating model framework for telecom service providers in the telecommunications industry.Brenner, Michael, et al.Service Provisioning-Challenges, Process Alignment and Tool Support" Bergstra, J. und M. Burg ...
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
ISO/TC 211 is a standard technical committee formed within ISO, tasked with covering the areas of digital geographic information (such as used by geographic information systems) and geomatics. It is responsible for preparation of a series of I ...
* 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
In business analysis, the Decision Model and Notation (DMN) is a standard published by the Object Management Group.OMG standard "Decision Model and Notation (DMN)"current version/ref> It is a standard approach for describing and modeling repeatable ...
). 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
VHDL (Very High Speed Integrated Circuit Program, VHSIC Hardware Description Language) is a hardware description language that can model the behavior and structure of Digital electronics, digital systems at multiple levels of abstraction, ran ...
and
Verilog
Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems. It is most commonly used in the design and verification of digital circuits, with the highest level of abstraction being at the re ...
). It also supports code generation from behavioral models.
Languages supported include
ActionScript
ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (mean ...
,
C,
C# and
C++,
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), was an ancient sacred precinct and the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient Classical antiquity, classical world. The A ...
,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
PHP
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
,
Python,
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to:
* Visual Basic (.NET), the current version of Visual Basic launched in 2002 which runs on .NET
* Visual Basic (classic), the original Visual Basic suppo ...
and
Visual Basic .NET
Visual Basic (VB), originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language developed by Microsoft and implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the ...
In accordance with model-driven development principles, Enterprise Architect provides an
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
that supports code editing (with
syntax highlighting
Syntax highlighting is a feature of text editors that is used for programming language, programming, scripting language, scripting, or markup language, markup languages, such as HTML. The feature displays text, especially source code, in differe ...
and
Intellisense
Code completion is an autocompletion feature in many integrated development environments (IDEs) that speeds up the process of coding applications by fixing common mistakes and suggesting lines of code. This usually happens through popups while typ ...
), 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
An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
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
JUnit is a test automation framework for the Java programming language. JUnit is often used for unit testing, and is one of the xUnit frameworks.
JUnit is linked as a JAR at compile-time. The latest version of the framework, JUnit 5, resides ...
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
VHDL (Very High Speed Integrated Circuit Program, VHSIC Hardware Description Language) is a hardware description language that can model the behavior and structure of Digital electronics, digital systems at multiple levels of abstraction, ran ...
and
Verilog
Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems. It is most commonly used in the design and verification of digital circuits, with the highest level of abstraction being at the re ...
), 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
MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
,
MariaDB
MariaDB is a community-developed, commercially supported Fork (software development), fork of the MySQL relational database management system (RDBMS), intended to remain free and open-source software under the GNU General Public License. Developm ...
,
SQLite
SQLite ( "S-Q-L-ite", "sequel-ite") is a free and open-source relational database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it ...
,
Oracle
An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination.
Descript ...
from 9i (all editions),
PostgreSQL
PostgreSQL ( ) also known as Postgres, is a free and open-source software, free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transaction processing, transactions ...
,
ArcGIS
ArcGIS is a family of client, server and online geographic information system (GIS) software developed and maintained by Esri.
ArcGIS was first released in 1982 as ARC/INFO, a command line-based GIS. ARC/INFO was later merged into ArcGIS De ...
,
Informix
Informix is a product family within IBM's Information Management division that is centered on several relational database management system (RDBMS) and multi-model database offerings. The Informix products were originally developed by Inform ...
,
Ingres
Jean-Auguste-Dominique Ingres ( ; ; 29 August 1780 – 14 January 1867) was a French Neoclassicism, Neoclassical Painting, painter. Ingres was profoundly influenced by past artistic traditions and aspired to become the guardian of academic ...
,
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 chart
A Gantt chart is a bar chart that illustrates a schedule (project management), project schedule. It was designed and popularized by Henry Gantt around the years 1910–1915. Modern Gantt charts also show the Dependency (project management), depe ...
s, 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
Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to sabotage the established social order and its structures of Power (philosophy), power, authority, tradition, h ...
,
CVS,
Team Foundation Server
Azure DevOps Server, formerly known as Team Foundation Server (TFS) and Visual Studio Team System (VSTS), is a Microsoft product that provides version control (either with Team Foundation Version Control (TFVC) or Git), reporting, requirements ...
, 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
Open Services for Lifecycle Collaboration (OSLC) is an open community, originally proposed in 2008, to define a set of specifications that enable integration of software development. It has evolved, and continues to evolve, to areas such as Appli ...
(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
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
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
Microsoft Office, MS Office, or simply Office, is an office suite and family of client software, server software, and services developed by Microsoft. The first version of the Office suite, announced by Bill Gates on August 1, 1988, at CO ...
and DOORS, along with third party add-ins.
See also
*
List of UML tools
*
Glossary of Unified Modeling Language terms
References
External links
* {{official website, http://www.sparxsystems.com/products/ea/index.html
Enterprise Architect resources and articles on umlchannelEnterprise Architect YouTube Channel
UML tools
Enterprise architecture
Enterprise modelling
Data modeling tools
Integrated development environments
Web service development tools
Diagramming software