Enterprise Architect (Visual Modeling Platform)
Encyclopedia
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.
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.
Enterprise Architect also supports industry Frameworks such as:
UML Validation can be run against the model.
through the design and construction phases. These requirements can be subject to change management, workflow processing,
baseline comparison and auditing. There is also a model glossary that is interactive with notes for requirements.
Enterprise Architect also supports the definition of Business Rules with the ability to generate executable code from these rules. Business modeling can be combined with GAP analysis to view potential gaps in proposed solutions.
Execution flow is defined using Triggers, Guards and Effects. The simulation is performed using a debug type scenario that supports simulation re-runs with alteration to the triggers and events.
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.
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.
Compilers and interpreters supported:
Add-ins are available for integration with MS Visual Studio and Eclipse
.
In terms of model based testing; both of these methods support the test definitions and test results being logged against related Classes in the model.
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.
Diagram types supported include:
Supported DBMSs:
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:
Client Customer Collaboration:
Along with Round Trip engineering of WSDL, XSD used to facilitate BPEL generation.
based connectivity using a WAN Optimizer. Information can be exchanged and merged between repositories for off-site analysis and development or for exchanging models between diverse development groups. The core logistics are:
Platforms supported
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...
UML
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
. 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 re-engineering, 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.
Standards
Enterprise Architect supports a range of industry standards for designing and modeling software and business systems. The following are the core standards supported:- UMLUnified Modeling LanguageUnified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
2.4.1 - SysML
- BPMN
- BPEL
- SoaMLSoaMLSoaML is an open source specification project from the Object Management Group , describing a UML profile and metamodel for the modeling and design of services within a service-oriented architecture....
- SOMF
- WSDL
- XSD
- DDSDDSD.D.S. refers to the academic degree of Doctor of Dental Surgery.DDS may refer to:-Computer and information science:*Data Design System, DDS-CAD software vendor*Data Description Specifications, AS400 programming...
- ArchiMateArchiMateArchiMate [Ahr-ki-meyt] is an open and independent enterprise architecture modelling language to support the description, analysis and visualization of architecture within and across business domains in an unambiguous way....
Enterprise Architect also supports industry Frameworks such as:
- Zachman FrameworkZachman frameworkThe Zachman Framework is an Enterprise Architecture framework for enterprise architecture, which provides a formal and highly structured way of viewing and defining an enterprise...
- TOGAFTOGAFThe Open Group Architecture Framework is a framework for enterprise architecture which provides a comprehensive approach for designing, planning, implementation, and governance of an enterprise information architecture...
(including FEAFFEAFFEAF may refer to:* Federal Enterprise Architecture Framework* Far East Air Force, which may refer to:** Far East Air Force ** Far East Air Force...
) - OMGObject Management GroupObject Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...
UPDMUPDMThe Unified Profile for DoDAF/MODAF is the product of an Object Management Group ] initiative to develop a modeling standard that supports both the USA Department of Defense Architecture Framework and the UK Ministry of Defence Architecture Framework...
framework that supports DoDAF, MODAFMODAFThe British Ministry of Defence Architecture Framework is an Architecture Framework which defines a standardised way of conducting Enterprise Architecture, originally developed by the UK Ministry of Defence....
and NAFNATO Architecture FrameworkThe NATO Architecture Framework is an Enterprise Architecture framework by the NATO derived from the DoDAF Enterprise architecture.The current NATO C3 System Architecture Framework v2 , issued by NATO in September 2004 provides guidance on describing communication and information systems... - Service-oriented modeling framework (SOMF)
Modeling
Underlying UML modeling are several key aspects that most modeling tools support. The core aspects supported by Enterprise Architect include:- ProfilesProfile (UML)A profile in the Unified Modeling Language provides a generic extension mechanism for customizing UML models for particular domains and platforms...
- Patterns
- MOFMOFMOF can mean:*The Museum of Flight*Managed Object Format, a textual representation of the Distributed Management Task Force Common Information Model...
- OCLOCLThe initialism OCL can have several meanings, depending on context:*OCl−, the hypochlorite ion, in chemistry*Object Constraint Language*Ocean Climate Laboratory *Ocean County Library*Old Colony League, a high school sports league in Massachusetts...
- MDAMDA-Companies, organizations and government bodies:* Maritime Domain Awareness, part of a U.S. Government interagency and international maritime security effort* MDA , formerly the Museum Documentation Association...
Transforms - Corba IDLÇorbaChorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...
UML Validation can be run against the model.
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 Requirement TraceabilityRequirements traceability
Requirements traceability is a sub-discipline of requirements management within software development and systems engineering. Requirements traceability is concerned with documenting the life of a requirement and to provide bi-directional traceability between various associated requirements...
through the design and construction phases. These requirements can be subject to change management, workflow processing,
baseline comparison and auditing. There is also a model glossary that is interactive with notes for requirements.
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 and BPEL, with various historic profiles such as the Eriksson-Penker profile.Enterprise Architect also supports the definition of Business Rules with the ability to generate executable code from these rules. Business modeling can be combined with GAP analysis to view potential gaps in proposed solutions.
Simulation
Model simulation of Behavioral diagrams is supported for:- State Machines
- Interaction (Sequence diagrams)
- Activities
- BPMN
Execution flow is defined using Triggers, Guards and Effects. The simulation is performed using a debug type scenario that supports simulation re-runs with alteration to the triggers and events.
System Development
In line with the Model DrivenModel-driven architecture
Model-driven architecture is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of...
design principles Enterprise Architect supports MDA
Model transformation
A model transformation, in model-driven engineering, is an automatable way of ensuring that a family of models is consistent, in a precise sense which the software engineer can define...
transforms of PIM
Platform-independent model
A Platform-Independent Model in software engineering is a model of a software system or business system, that is independent of the specific technological platform used to implement it...
Class structures to PSM
Platform-specific model
A platform-specific model is a model of a software or business system that is linked to a specific technological platform . Platform-specific models are indispensable for the actual implementation of a system.For example, a need to implement an online shop...
Class structures, Round-trip engineering
Round-trip engineering
Round-trip engineering is a functionality of software development tools that synchronizes two or more related software artifacts, such as, source code, models, configuration files, and other documents...
of code for 10 software languages and several key embedded HDL
Hardware description language
In electronics, a hardware description language or HDL is any language from a class of computer languages, specification languages, or modeling languages for formal description and design of electronic circuits, and most-commonly, digital logic...
systems languages (Ada
Ada (programming language)
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages...
, VHDL and Verilog
Verilog
In the semiconductor and electronic design industry, Verilog is a hardware description language used to model electronic systems. Verilog HDL, not to be confused with VHDL , is most commonly used in the design, verification, and implementation of digital logic chips at the register-transfer level...
). It also supports code generation from Behavioral models.
Languages supported:
- ActionScriptActionScriptActionScript is an object-oriented language originally developed by Macromedia Inc. . It is a dialect of ECMAScript , and is used primarily for the development of websites and software targeting the Adobe Flash Player platform, used on Web pages in the form of...
- CC (programming language)C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
- C# (for both .NET 1.1 and .NET 2.0)
- C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
(standard, plus .NET managed C++ extensions) - DelphiObject PascalObject Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Embarcadero Delphi.-Early history at Apple:...
- JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
(including Java 1.5, Aspects and Generics) - PHPPHPPHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
- PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
- Visual BasicVisual BasicVisual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...
- Visual Basic .NETVisual Basic .NETVisual Basic .NET , is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic , which is implemented on the .NET Framework...
In accordance with Model Driven Development principles, Enterprise Architect provides an Integrated Development Environment that supports code editing (with Syntax highlighting
Syntax highlighting
Syntax highlighting is a feature of some text editors that display text—especially source code—in different colors and fonts according to the category of terms. This feature eases writing in a structured language such as a programming language or a markup language as both structures and...
and Intellisense
IntelliSense
IntelliSense is Microsoft's implementation of autocompletion, best known for its use in the Microsoft Visual Studio integrated development environment...
), for Building, Debugging and Code Testing all from within the model.
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 (GCCGNU Compiler CollectionThe GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...
& GDB )
Add-ins are available for integration with MS Visual Studio and Eclipse
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object is temporarily obscured, either by passing into the shadow of another body or by having another body pass between it and the viewer...
.
Test Management
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.
- 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.
In terms of model based testing; both of these 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
- Profiling summarizes, by thread and routine, the code's general efficiency
System Engineering
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. The executable code generation supports embedded HDL
Hardware description language
In electronics, a hardware description language or HDL is any language from a class of computer languages, specification languages, or modeling languages for formal description and design of electronic circuits, and most-commonly, digital logic...
system languages (Ada
Ada (programming language)
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages...
, VHDL and Verilog
Verilog
In the semiconductor and electronic design industry, Verilog is a hardware description language used to model electronic systems. Verilog HDL, not to be confused with VHDL , is most commonly used in the design, verification, and implementation of digital logic chips at the register-transfer level...
), 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 dependant).Diagram types supported include:
- DDL notation
- ERDEntity-relationship modelIn software engineering, an entity-relationship model is an abstract and conceptual representation of data. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements...
notation - IDEF1XIDEF1XIDEF1X is a data modeling language for the developing of semantic data models. IDEF1X is used to produce a graphical information model which represents the structure and semantics of information within an environment or system.IDEF1X permits the construction of semantic data models which may serve...
notation - Information Engineering notation
Supported DBMSs:
- DB2
- Firebird/InterBase
- Informix
- Ingres
- MS Access 97, 2000, 2003
- Access 2007
- MS SQL Server 2000, 2005, 2008
- MySQL
- SQLite
- Oracle 9i, 10g and 11g
- PostgreSQL
- Sybase Adaptive Server Anywhere (Sybase ASA)
- Sybase Adaptive Server Enterprise (Sybase ASE)
- ArcGISArcGIS ServerArcGIS Server is the core server geographic information system software made by Esri. ArcGIS Server is used for creating and managing GIS Web services, applications, and data...
Project Management
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
- API Scripting (macros).
Change Management
The key facilities supporting change management are:- Auditing
- Baseline Difference and Merge
- Version Control
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:
- SubversionSubversionApache Subversion is a software versioning and a revision control system distributed under a free license. Developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation...
- CVSConcurrent Versions SystemThe Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
- Team Foundation ServerTeam Foundation ServerTeam Foundation Server is a Microsoft product offering source control, data collection, reporting, and project tracking, and is intended for collaborative software development projects...
- SCC interface to any SCC compatible version control system.
Team Based Development and Collaboration
The Team Interaction facilities include:- Model Mail: Internal model based mailing system.
- Team Review: Inter-repository forum for lodging discussion on issues.
- Model Views: User definable Views, prompting users on relevant model updates
Client Customer Collaboration:
- User definable Word Compatible RTF reporting
- HTML reporting
- EAlite – provides free read-only viewing of models with support for client/customer interaction via the Team Review
Service Oriented Architectures
Supports the core Service Oriented Architectures:- SoaMLSoaMLSoaML is an open source specification project from the Object Management Group , describing a UML profile and metamodel for the modeling and design of services within a service-oriented architecture....
- SOMF
Along with Round Trip engineering of WSDL, XSD used to facilitate BPEL generation.
Integration with Other Tools
The key features that support integration with other tools include:- XMIXML Metadata InterchangeThe XML Metadata Interchange is an Object Management Group standard for exchanging metadata information via Extensible Markup Language .It can be used for any metadata whose metamodel can be expressed in Meta-Object Facility ....
Import/Export: Supports the XMI 1.1, 1.2 and 2.1 specifications (and import of .emx files). - CSVComma-separated valuesA comma-separated values file stores tabular data in plain-text form. As a result, such a file is easily human-readable ....
import/Export - Automation interface – supports a comprehensive APIApplication programming interfaceAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
interface for use with any COMComponent Object ModelComponent Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...
based language (and Java). - MDG Add-ins are available, supporting interfaces to:
- VS .Net
- Eclipse
- TcSE
- HP Quality Center
- Import Visio diagrams
- Import DOORS requirements
- Atlassion JIRA integration
- SAP netweaver Integration
Reporting
Features for creating model documentation include:- User-definable (MS Word) compatible RTFRich Text FormatThe Rich Text Format is a proprietary document file format with published specification developed by Microsoft Corporation since 1987 for Microsoft products and for cross-platform document interchange....
Reporting - User-definable HTMLHTMLHyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
generation of the model - Model slide show presentations
- User definable query based reporting
Deployment
There are many scenarios for deployment. For the multi-user and multi-site development there is support for WANWide area network
A wide area network is a telecommunication network that covers a broad area . Business and government entities utilize WANs to relay data among employees, clients, buyers, and suppliers from various geographical locations...
based connectivity using a WAN Optimizer. Information can be exchanged and merged between repositories for off-site analysis and development or for exchanging models between diverse development groups. The core logistics are:
- Repository Types:
- Supports .eap files as well as DBMS repositories (the 10 more commonly used DBMS).
- Tool Deployment:
- Supports a simple workstation installation and, if required, a simple DBMS installation.
- Scalability:
- The tool is very scalable with options for large scale cross-corporate or WAN based interconnections.
Platforms supported
- Windows XPWindows XPWindows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...
, VistaVistaVista usually refers to a distant view.Vista may also refer to:-Software:*Windows Vista, the line of Microsoft Windows client operating systems released in 2006 and 2007...
, Windows 7 (32 bit and 64 bit) - LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
& Mac OSMac OSMac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
installations are supported using Crossover OfficeCrossOver OfficeCrossOver, known before version 6.0 as CrossOver Office, is the collective name for four commercial and proprietary programs developed by CodeWeavers that allow many Windows-based applications to run on Linux and Mac OS X using a compatibility layer...
History
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.Further reading
- Michael Blaha. Patterns of Data Modeling (Emerging Directions in Database Systems and Applications). CRC Press; (June 1, 2010). English. ISBN 978-1439819890
- Matt Stevens, Doug Rosenberg. Design Driven Testing: Test Smarter not Harder. Apress; (2010). English. ISBN 978-1-4302-2943-8
- Ringle Lai. Team Developement manual with Enterprise Architect 7.5. Publishing House of Electronics Industry; (March 2010). Chinese. ISBN 978-7-121-10291-2
- Ringle Lai. Workflow and Management for Team development with UML. Delight press; (June 2009). Chinese. ISBN 978-986-6761-90-4
- Doug Rosenberg. Use Case Driven Object Modeling with UML: Theory and Practice. Apress; (January 11, 2007). English. ISBN 978-1590597743
- Doug Rosenberg. Agile Development with the ICONIX Process: People, Process and Pragmatism. Apress; (March 2005). English. ISBN 978-1590594643
- Michael Bell. SOMF Fundamentals. "Service-Oriented Modeling: Service Analysis, Design, and Architecture." February 2008. Wiley & Sons. ISBN 978-0-470-14111-3
- Michael Bell. SOMF Patterns. "SOA Modeling Patterns for Service-Oriented Discovery and Analysis." January 2010, Wiley & Sons. ISBN 978-0470481974
See also
- UML toolUML toolA UML tool or UML modeling tool is a software application that supports some or all of the notation and semantics associated with the Unified Modeling Language , which is the industry standard general purpose modeling language for software engineering.UML tool is used broadly here to include...
- List of UML tools
- Glossary of Unified Modeling Language termsGlossary of Unified Modeling Language termsThis glossary of Unified Modeling Language terms covers all versions of UML. Individual entries will point out any distinctions that exist between versions.-A:...