Enterprise Architect version 15.0



My Profile

Social Media Channels

facebook  twitter  youtube   linkedin



Sparx Systems

99 Albert Street
P: +61 3 5345 1140
F: +61 3 5345 1104
Sparx Systems specializes in high performance and scalable visual modeling tools for the planning, design and construction of software intensive systems. A Contributing Member of the Object Management Group (OMG), Sparx Systems is committed to realizing the potential of model-driven development based on open standards. The company’s flagship product, Enterprise Architect, has received numerous accolades since its commercial release in August, 2000. Enterprise Architect is the design tool of choice for over 740,000 registered users worldwide.
Monday, 12 October 2009 00:56

RTF Documentation

Rich Text Format Documentation
Rich text reports are documents produced by Enterprise Architect in Rich Text Format (RTF), a format common to many word processors. In particular it is targeted at Microsoft Word™, which provides the ability to link together a number of rich text documents into a single master document.

Typically you will create a Word master document, then some Enterprise Architect RTF reports. These are linked back into sub-sections of the master document and refreshed as required during project development. In this way the project document becomes an easy to manage and feature-rich work product.

By adding tables of contents, figure tables, header & footers and sections you can manage a complex document with relative ease. Simply update the Enterprise Architect RTF reports then refresh the links in MS Word.

Enterprise Architect v5.0 has introduced a new fully-featured RTF Document generator. Some of the features include:

  • Powerful WYSIWYG RTF template editor support allowing:
    • Headers and Footers
    • Images
    • Indexes
    • Tabular Sections
    • Nested Sections
    • All model elements, connectors, diagrams and their properties
    • Template import and export using XML
    • Basic templates supplied for customization
  • New document generator:
  • New embedded RTF viewer
    • View RTF documents generated in EA directly within EA
Sunday, 11 October 2009 23:21

The Physical Model

The Physical/Deployment Model provides a detailed model of the way components will be deployed across the system infrastructure. It details network capabilities, server specifications, hardware requirements and other information related to deploying the proposed system.

Deployment View

Deployment View

PM01: Physical Model

The physical model shows where and how system components will be deployed. It is a specific map of the physical layout of the system. A deployment diagram illustrates the physical deployment of the system into a production (or test) environment. It shows where components will be located, on what servers, machines or hardware. It may illustrate network links, LAN bandwidth & etc.

Physical Model

A node is used to depict any server, workstation or other host hardware used to deploy components into the production environment. You may also specify the links between nodes and assign stereotypes (such as TCP/IP) and requirements to them. Nodes may also have performance characteristics, minimum hardware standards, operating system levels & etc. documented. The screen below illustrates the common properties you can set for a node.



Sunday, 11 October 2009 23:04

The Logical Model

A logical model is a static view of the objects and classes that make up the design/analysis space. Typically, a Domain Model is a looser, high level view of Business Objects and entities, while the Class Model is a more rigorous and design focused model. This discussion relates mainly to the Class Model


The Class Model

A Class is a standard UML construct used to detail the pattern from which objects will be produced at run-time. A class is a specification - an object an instance of a class. Classes may be inherited from other classes (that is they inherit all the behavior and state of their parent and add new functionality of their own), have other classes as attributes, delegate responsibilities to other classes and implement abstract interfaces.

The Class Model is at the core of object-oriented development and design - it expresses both the persistent state of the system and the behavior of the system. A class encapsulates state (attributes) and offers services to manipulate that state (behavior). Good object-oriented design limits direct access to class attributes and offers services which manipulate attributes on behalf of the caller. This hiding of data and exposing of services ensures data updates are only done in one place and according to specific rules - for large systems the maintenance burden of code which has direct access to data elements in many places is extremely high.

The class is represented as below:

Simple Class

Note that the class has three distinct areas:

1. The class name (and stereotype if applied)
2. The class attributes area (that is internal data elements)

The behavior - both private and public

Attributes and methods may be marked as

- Private, indicating they are not visible to callers outside the class
- Protected, they are only visible to children of the class

Public, they are visible to all

Class inheritance is shown as below: an abstract class in this case, is the parent of two children, each of which inherits the base class features and extends it with their own behavior.

Class Inheritance

Class models may be collected into packages of related behavior and state. The diagram below illustrates this.

Behavior and State


Sunday, 11 October 2009 22:55

The Dynamic Model

The dynamic model is used to express and model the behaviour of the system over time. It includes support for activity diagrams, state diagrams, sequence diagrams and extensions including business process modelling.


Sequence Diagrams

Sequence diagrams are used to display the interaction between users, screens, objects and entities within the system. It provides a sequential map of message passing between objects over time. Frequently these diagrams are placed under Use Cases in the model to illustrate the use case scenario - how a user will interact with the system and what happens internally to get the work done. Often, the objects are represented using special stereotyped icons, as in the example below. The object labelled Login Screen is shown using the User Interface icon. The object labelled SecurityManager is shown using the Controller icon. The Object labelled users is shown using the Entity icon.




Activity diagrams are used to show how different workflows in the system are constructed, how they start and the possibly many decision paths that can be taken from start to finish. They may also illustrate the where parallel processing may occur in the execution of some activities.


State Charts

State charts are used to detail the transitions or changes of state an object can go through in the system. They show how an object moves from one state to another and the rules that govern that change. State charts typically have a start and end condition.

State Chart

Process Model

A process model is a UML extension of an activity diagram used to model a business process - this diagram shows what goal the process has, the inputs, outputs, events and information that are involved in the process.



Sunday, 11 October 2009 22:37

The Component Model

The component model illustrates the software components that will be used to build the system. These may be built up from the class model and written from scratch for the new system, or may be brought in from other projects and 3rd party vendors. Components are high level aggregations of smaller software pieces, and provide a 'black box' building block approach to software construction.

Component Notation

A component may be something like an ActiveX control - either a user interface control or a business rules server. Components are drawn as the following diagram shows:


The Component Diagram

The component diagram shows the relationship between software components, their dependencies, communication, location and other conditions.


Components may also expose interfaces. These are the visible entry points or services that a component is advertising and making available to other software components and classes. Typically a component is made up of many internal classes and packages of classes. It may even be assembled from a collection of smaller components.


Expose Interface

Components and Nodes

A deployment diagram illustrates the physical deployment of the system into a production (or test) environment. It shows where components will be located, on what servers, machines or hardware. It may illustrate network links, LAN bandwidth & etc.



Components may have requirements attached to indicate their contractual obligations - that is, what service they will provide in the model. Requirements help document the functional behaviour of software elements.


Components may have constraints attached which indicate the environment in which they operate. Pre-conditions specify what must be true before a component can perform some function; post-conditions indicate what will be true after a component has done some work and Invariants specify what must remain true for the duration of the components lifetime.


Scenarios are textual/procedural descriptions of an object's actions over time and describe the way in which a component works. Multiple scenarios may be created to describe the basic path (a perfect run through) as well as exceptions, errors and other conditions.


You may indicate traceability through realisation links. A component may implement another model element (eg. a use case) or a component may be implemented by another element (eg. a package of classes). By providing realisation links to and from components you can map the dependencies amongst model elements and the traceability from the initial requirements to the final implementation.

An Example
The following example shows how components may be linked to provide a conceptual/logical view of a systems construction. This example is concerned with the server and security elements of an on-line book store. It includes such elements as the web server, firewall, ASP pages & etc.

Server Components

This diagram illustrates the layout of the main server side components that will require building for an on-line book store. These components are a mixture of custom built and purchased items which will be assembled to provide the required functionality.



Security Components

The security components diagram shows how security software such as the Certificate Authority, Browser, Web server and other model elements work together to assure security provisions in the proposed system.


Sunday, 11 October 2009 22:19

Business Process Modeling


When planning resource utilization for a large project, the task allocation details can be defined against each element in the project and assigned to a resource (a staff member).  This process can be completed in Enterprise Architect or MS Project.  This script provides support to exchange project details between Enterprise Architect and MS Project.  If resource utilization has already been defined external to the model, this script allows you to easily import the details into your Enterprise Architect Repository.


The import script imports Tasks from MS Project and creates a tree of Elements within a Package. This element-tree reflects the MS Project task-tree structure being imported. You can then view the project management details using Enterprise Architect's Gantt chart view.


The export script parses a tree of Packages and Elements and creates a hierarchical tree of Tasks in the MS Project.


You need to have the following installed on your machine:

  • Enterprise Architect, version 9.2 or later
  • Microsoft Project

How to Use the Script

The attached repository contains two scripts called "Import from MS Project" and "Export to MS Project". These are implemented as "Package Scripts" that can be conveniently run using the Context Menu of Enterprise Architect's Project Browser.

Importing a file from MS Project:

  1. Open the attached repository in Enterprise Architect
  2. Select the Package named "Imports" in the Project Browser (or create and select your own Package for this purpose)
  3. Right-click on the Package
  4. Select Scripts | Import from MS Project from the context menu

You will be prompted to select the directory that contains the source MS Project File (*.mpp).

After the Project file is imported, you can:

  • Open the Package diagram
  • Check the diagram is set to Gantt View.

To view a diagram using the Gantt Chart View:

  1. Right-click on the Package diagram
  2. Select Gantt View from the context menu

Note: To make this the default setting for this diagram, set the option via the menu: Diagram | Properties | Digram | [x] Always open as Gantt.

Exporting a Package to MS Project:

  1. Open the attached repository in Enterprise Architect
  2. Select the Package named "Use Case Model" in the Project Browser
  3. Right-click on a Package
  4. Select Scripts | Export to MS Project from the context menu

You will be prompted to select the directory that contains the source MS Project File (*.mpp).

Wednesday, 11 January 2012 01:39

Model Simulation - A Simple Cafe Model

Model Simulation

The zip file below contains a State Machine and a Sequence Diagram that model the operation of a simple Cafe. The file has been used to create video demonstrations of Enterprise Architect simulation capability. Exploring this model may help you to get started using simulation in Enterprise Architect.

You may wish to view the video Creating a Sequence Diagram, which contains footage that illustrates how to simulate a sequence diagram using Enterprise Architect.

When updating a legacy data model, say as part of a transformation or modernization project, it can be beneficial to start redesigning from the logical or conceptual level. This also applies when the data model is used as the basis for other aspects of project development, such as generating a class model, or deriving user interface or form designs.

A common starting point is a physical data model perhaps derived from reverse engineering a database. With all it's platform-specific details, you'll want to automatically derive an abstract (platform independent) representation.

In this post we provide two MDA transformation templates for Enterprise Architect that can help you do this:

  • The Physical to Logical transform

This takes a Physical level model of any DBMS, and transforms it to the Logical level – eliminating Primary Keys, Foreign keys, Identifiers and simplifying the Field types to standard UML typing.

  • Logical to Conceptual transform

This simplifies the Logical diagram by removing the Attributes to give the simple Entities and their relationships.


Also attached is an update for the Logical to Physical DDL transform built into Enterprise Architect. The update:

  • Allows for modeled Enumerations to be generated to script for MySQL
  • Sets a Primary Key in the Join tables created by the transformation.


Set up

To use the scripts unpack the attached zip folder.

To load the transform scripts into a model, select from Enterprise Architect's main menu:

Project | Model Import Export | Import Reference Data


Using the Select File button, choose the XML file to import. Then under Select Datasets to Import, choose the template name. The templates provided in the attached zip are:

  • DDL to Logical (select “DDL to Logical_Transform_Template”)
  • Logical to Conceptual (select “Logical to Conceptual_Transform_Template”)
  • Updated DDL Transform ( select “DDL_Transform_Template”)


To check that the transforms have been loaded, select from the main menu: 

Settings | Transform Templates

Enterprise Architect's list of transformations should now include the additional templates “Logical to Conceptual” and “DDL to Logical”.



It is suggested that a new package is created to contain the target/transformed model before performing the transformation.

To run a transform:

  • Select in the Project Browser the Package with the existing Physical database model
  • Right-click and select Transform Current Package (Ctrl+Shift+H) from the context menu
  • In the Model Transformation window, select the newly imported ‘DDL to Logical’ Transform Script under Transformations
  • This will open a dialog to select a package in which to place the generated transform
  • Select the package you created for this purpose (as suggested above)
  • Click on the Do Transform button (this executes the transformation process)

Once the transformation completes, you can navigate to the generated package and view the automatically created class Diagram!


For help on using these templates see additional information in Enterprise Architect's User Guide under the topic Transform Elements.


Whether setting up a document library for a large organization or modeling a large system with a lot of detailed specification documents, it can be beneficial to organize these externally created documents in a model repository. We'll refer to this kind of model repository as a 'Document Library.'

This script creates Elements in a Package tree that reflects the directory tree structure being imported. It creates a Document Artifact element for each file and links it to the Element.Filename property. In cases where these files are of type .doc or .rtf - they are imported as Linked Documents and stored internally against the Document Artifact Element.

Using Enterprise Architect's traceability features, you can link imported source documents with any other form of documentation derived from them. You can also use Enterprise Architect to help you manage the workflow behind reviewing and publishing these documents. For example, from a source specification document, you might derive user guide documentation or product flyers. As these derived documents are linked to their source, you can define a process for managing how they are created, edited and approved prior to publication. You might use Enterprise Architect's Tagged Values, User (Role-based) Security, Workflow Scripting, Team Review, or Process Modeling features to do this.



You need to have the following installed on your machine:

  • Enterprise Architect, version 8.0 or later
  • Microsoft Word


How to Use the Script

The attached repository contains a script called "Document Import". Because it is implemented as an Enterprise Architect "Package Script", you can conveniently run it from the Context Menu in Enterprise Architect’s Project Browser.

To run the script:

  1. Right-click on a Package in the Project Browser
  2. Select Scripts |  Import Documents  from the context menu

You will be prompted to select the directory that contains the source documents.

For .doc and .rtf files, the script attempts to open MS Word, convert the document to RTF format and load it into the Element's Linked Document. For other files, the script simply creates an Element and stores the original file path, which can be launched from Enterprise Architect.

After the documents are imported, you can:

  • Open a Word or RTF document using the Linked Document editor by pressing Ctrl+Alt+D
  • Open the original document in its external application:
    1. Right-click on an element in the Project Browser
    2. Select Scripts |  Open from the context menu



If your source documents share just one or a couple of formats such as .doc and .pdf, you can use an alternative short-cut that will open the original documents via the application that is registered in Enterprise Architect as a Programming Language editor.

The current script sets each Document Artifact's Language and Filename properties. The Language property is set to “Delphi”. The Filename is set to the full file path of the original document. By setting these two properties, Enterprise Architect will treat the document as a source code file, and enable shortcuts to open the file in an external editor (in this case it could be set as MS Word or OpenOffice).

Enterprise Architect has a source code engineering option for each language that specifies which editor to open for files of that language type. In the attached model, the Delphi Code Language Editor option is set to what is a common file path for a Word installation. You can change this to match your machine settings and favorite word processor via:

Tools | Options | Source Code Engineering | Delphi

You can reset the Editor option to something like:

C:\Program Files (x86)\OpenOffice.org 3\program\swriter.exe


C:\Program Files (x86)\Microsoft Office\OFFICE11\WinWord.exe

Having set this up you can then open the documents using the F10 key.

Note: You could alter the script to accommodate other commonly used document formats such as PDF by assigning these to another Language and altering the Editor path for that Language.

Page 21 of 26