Enterprise Architect (software)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Sparx Systems Enterprise Architect
Simulation In Enterprise Architect
UML diagram in Enterprise Architect
Developer(s) Sparx Systems
Development status Active
Written in C++
Operating system Microsoft Windows, supports Linux, Mac OS
Available in English, German, Japanese, Spanish, Chinese , French
Type Software modeling, Software development
License proprietary
Website www.sparxsystems.com

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[edit]

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 re-engineering, business analysis, and service oriented architectures and web modeling,[1][2] through to application and database design and re-engineering, and development of embedded systems.[3] 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.[4][5][6] 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 and 2.4.1.

Standards[edit]

Enterprise Architect supports a range of open industry standards for designing and modeling software and business systems. The following are the core standards supported:

Enterprise Architect also supports industry Frameworks such as:

Enterprise Architect supported Frameworks supplied by industry bodies:

Supports the core Service Oriented Architectures:

Along with Round Trip engineering of WSDL, XSD used to facilitate BPEL generation.

Standards development[edit]

Models published by industry standards development bodies using Enterprise Architect include:

Modeling[edit]

Simulation In Enterprise Architect

Underlying UML modeling are several key aspects that most modeling tools support. The core aspects supported by Enterprise Architect include:

UML Validation can be run against the model.[34]

General features[edit]

Requirements management[edit]

Requirements Management in Whiteboard mode

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 Requirement Traceability through the design and construction phases.[35] These requirements can be subject to change management, workflow processing,[36] baseline comparison and auditing.[37]

Business modeling and analysis[edit]

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 and BPEL, with various historic profiles such as the Eriksson-Penker profile.[38] Enterprise Architect also supports the definition of Business Rules with the ability to generate executable code from these rules.[39] Business modeling can be combined with Gap analysis to view potential gaps in proposed solutions.

Simulation[edit]

Model simulation of Behavioral diagrams is supported for:[40]

  • State Machines
  • Interaction (Sequence diagrams)
  • Activities
  • BPMN

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. There is also support for interaction with emulated User-Interface screens containing common UI fields.

System development[edit]

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 10 software languages and several key embedded HDL systems languages (Ada, VHDL and Verilog). It also supports code generation from Behavioral models.[41]

Code Editing and Debugging

Languages supported:

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.[42] Compilers and interpreters supported:

  • Microsoft Windows Native C
  • Microsoft Windows Native C++
  • Microsoft Windows Visual Basic
  • Microsoft .NET Family (C#, J#, VB)
  • Sun Microsystems Java.
  • PHP
  • GNU Compilers for C++, C and Ada (GCC & GDB )

Add-ins are available for integration with MS Visual Studio and Eclipse.

Code Editor and Testpoints Manager

Test management[edit]

For code based testing there is support for:

  • 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.[43]
  • Testpoint testing
This is a model based code testing. It is parallel to test contracts defined in ‘Design by Contract’ and it runs using debug definitions.[44]

Both of these methods support the test definitions and test results being logged against related Classes in the model.

Visual execution analysis[edit]

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 [45]
  • Profiling summarizes, by thread and routine, the code's general efficiency [46]

System engineering[edit]

System Engineering is supported with SysML 1.2 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.[47] 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[edit]

Enterprise Architect supports Data Modeling from the Conceptual to Physical levels, Forward and Reverse Engineering of Database Schemas,[48] and MDA transformation of the Logical (platform independent) to Physical DBMS(platform dependant).[49] Diagram types supported include:

  • DDL notation
  • ERD notation
  • IDEF1X notation
  • Information Engineering notation
Database Modeling using a DDL diagram

Supported DBMSs:

Project management[edit]

Calendar view of events

Features supporting project management include:

  • Resource Allocation and tracking using Gantt charts
  • Event Logging using model calendars
  • Workflow scripting for setting workflow processes
  • Security
  • Model Metrics

Change management[edit]

The key facilities supporting change management are:

  • Auditing[50]
  • Baseline Difference and Merge[51]
  • Version Control[52]

The auditing feature supports logging changes to the model. The Baseline Management feature allows snapshots of parts of a model to be created periodically. A baseline can be compared and merged with the current model or a branch of that model. This supports Branching model information to another repository, then adding updates and merging them back.

The Version Control interface supports the major version control applications:

Gantt Chart of Project Tasks and Model Mail views

Integration with other tools[edit]

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 files)
  • Open Services for Lifecycle Collaboration (OSLC)
  • CSV import/Export
  • Automation interface – supports a comprehensive API interface for use with any COM based language (and Java).

Among the Add-ins available are interfaces to VS .Net and Eclipse

See also[edit]

References[edit]

  1. ^ Frank Truyen. "Enacting the Service Oriented Modeling Framework (SOMF) using Enterprise Architect". Cephas. 
  2. ^ Doug Rosenberg. "Service Oriented Architecture Roadmap". Iconix. 
  3. ^ Doug Rosenberg. "Embedded Systems Development using SysML". Iconix. 
  4. ^ Dr Simon Cox, Nicholas Ardlie. "Geoscience Australia and CSIRO Developing the GeoSciML interoperability standard with Enterprise Architect". Sparx Systems. 
  5. ^ Pavel Golodoniuc, Dr Simon Cox. "Modeling for interoperable geospatial Information using the ISO 19100". CSIRO. 
  6. ^ "Safety Standards Online". www.safetyonline.com. 
  7. ^ "DM2 Model". IDEAS. 
  8. ^ "SoaML". Sparx Systems. 
  9. ^ Doug Rosenberg. "Service Oriented Architecture". Iconix. 
  10. ^ "SOMF". Sparx Systems. 
  11. ^ "Aeronautical Information Exchange Model (AIXM)". Eurocontrol and FAA. 
  12. ^ . FIXM http://www.fixm.aero/fixm_20.  Missing or empty |title= (help)
  13. ^ SmartTrek. "ICT Reference Models". SmartTrek. 
  14. ^ AUTOSAR. "AUTOSAR MOD BSWUMLModel". AUTOSAR. 
  15. ^ LieberLieber. "Enar AUTOSAR Engineering Suite". LieberLieber. 
  16. ^ "GENIVI Alliance - Goals". Wikipedia. 
  17. ^ Nic Plum. "Implementing TRACK in Sparx Systems Enterprise Architect". INCOSE. 
  18. ^ "MDG Technology for TRAK". INCOSE. 
  19. ^ "DATEX II v2.0 SCHEMA GENERATION TOOL GUIDE". European Commission - Directorate General for Transport and Energy. 
  20. ^ CGI. "GeoSciML Resource Repository". Commission for the Management of Geoscience information. 
  21. ^ "Sparx Systems tools for ISO Geospatial Community". GeoConnexion. 
  22. ^ "ArcGIS Pipeline Data Model (APDM) Clearinghouse". APDM.net. 
  23. ^ IDEAS Group. "IDEAS DM2 MetaModel". IDEAS Group. 
  24. ^ CIMEA Group. "Enterprise Architect Add-in for IEC CIM". CIMEA. 
  25. ^ Michael van der Zel. "Detailed Clinical Models with Enterprise Architect". HL7 Org. 
  26. ^ G.Dickinson, N. Orvis, S.Hufnagel. "From HITSP to HL7 EHR System Function and Information Model EHR-S FIM Release 3.0". National Institute of Standards and Technology. 
  27. ^ "caBIGModel Creation Guide". U.S. National Institute of Health. 
  28. ^ "BRIDGE Model". U.S. National Cancer Institute (NCI). 
  29. ^ UMM. "UML Profiles for UMM". UMM Development Site. 
  30. ^ UMM. "VIENNA Addin". UMM Development Site. 
  31. ^ "MDA Tool Sparx Systems". Object Management Group (OMG). 
  32. ^ Frank Truyen. "Model Driven Architecture with Enterprise Architect". Cephas. 
  33. ^ Phil Chudley. "How to Create CORBA IDL using Enterprise Architect". Dunstan Thomas. 
  34. ^ Enterprise Architect Help. "Model Validation". Sparx Systems. 
  35. ^ "Requirements Management". Sparx Systems. 
  36. ^ "Workflow Scripting". Sparx Systems. 
  37. ^ "Tracking Changes". Sparx Systems. 
  38. ^ "Business Models". Enterprise Architect Help. 
  39. ^ "Business Rules Code Generation". Enterprise Architect Help. 
  40. ^ "Model Simulation". Sparx Systems. 
  41. ^ "Behavioral Code Generation". Sparx Systems. 
  42. ^ "Software Development". Sparx Systems. 
  43. ^ "Unit Testing". Sparx Systems. 
  44. ^ "Testpoint Management". Sparx Systems. 
  45. ^ "Recording Sequence Diagrams". Sparx Systems. 
  46. ^ "Profiling Native Applications". Sparx Systems. 
  47. ^ "SysML". Sparx Systems. 
  48. ^ "Database Engineering". Sparx Systems. 
  49. ^ "Built-in MDA Transforms". Sparx Systems. 
  50. ^ "Auditing". Sparx Systems. 
  51. ^ "Baselines". Sparx Systems. 
  52. ^ "Version Control". Sparx Systems. 

External links[edit]