S
p
a
r
x
S
y
s
t
e
m
s
I
n
d
i
a

Contacts

No 58A, New No 73,
Thirumangalam Road,
Villivakkam,
Chennai-600 049

info@sparxsystems.in

Category: Sparx Systems Enterprise Architect

Sparx Systems Enterprise Architect

Support for New Project File in Sparx Enterprise Architect 14

Features in Sparx Systems Enterprise Architect is designed specifically to enhance team-based modeling practice in large organization environments. As a scalable modeling platform, Enterprise Architect provides a range of deployment options to accommodate the variety of modern enterprises.

Choice of Repository

Models can be stored in either a file based repository or a DBMS repository.

  • File based Repository
  • DBMS
File based Repository
  • Enterprise Architect Project / JET 4 Base Projects (*.eapx) – Newly introduced in Enterprise Architect 14.
  • Enterprise Architect Project / JET 3.5 (*.eap).
  • Enterprise Architect Project / Firebird (*.feap).

In Enterprise Architect 14 Sparx Systems has added support to Jet 4 base projects by introducing *.eapx file. Jet 4 databases support Unicode. Previous versions of Enterprise Architect 14 supported in Jet 3.5 database which doesn’t support Unicode. Also the advantage of using *.eapx file is in some circumstances database corruption would cause a Jet 3.5 model to fail to open in Jet 3.5 code, but Jet 4 code ignores or handles the error.

The benefits of this repository type are:

  • Replication of the repository.
  • Simple file access across a shared network drive.

The limitations of this repository type to consider are:

  • Concurrent access is limited to small groups of users.
  • Data corruption can occur if there is a network/power failure while editing.
  • There are limitations on the data size supported by the Jet database (less than 30-40 mb is recommended).
DBMS Repository

Using a DBMS repository overcomes the limitations of file-based repositories. Typically, dedicated DBMS servers provide faster response times for a larger user base than the file based repositories. Further, any network errors are handled by the ability of the DBMS server to roll back transaction failure caused by external conditions. DBMS repositories can be accessed from a Cloud service. Although replication is not supported with DBMS repositories, with the Cloud connectivity replication is largely superseded. Enterprise Architect supports the 10 most popular types of DBMS server repositories.

DBMS Products you can use

You can set up your project on a repository in:

  • MySQL from v5.
  • Microsoft SQL Server from 2005, all editions including Express and Azure.
  • Oracle from 9i (all editions).
  • Firebird from v2.
  • Microsoft Access from 2007.
  • PostgreSQL from v8.
  • Sybase Adaptive Server Anywhere 8 or 9, or SQL Anywhere 10, 11 or 12.

Drop mail to info@sparxsystems.in for any assistance.

EA AutomationSparx Systems Enterprise Architect

Execute Enterprise Architect Scripts from an External Program

We can execute Enterprise Architect Scripts from an external C# Application. Enterprise Architect supports a flexible and easy to use scripting capability. Enterprise Architect supports three scripting languages JavaScript and Microsoft JScript/VBScript.

Pros

  • Hassle-free updates in restricted environments – Not necessary to re-install addins
  • Introduce new feature in less time – Create New functionality using Scripts
  • Deploy changes to all model users -Scripts are stored in repository
  • Scripting is an interesting feature in Sparx Enterprise Architect. This aid us to do many things using Scripts and play with the active models

Cons

  • Certain limitations within scripts discussed in the article below.

Assumptions

  • The reader has a fairly good understanding of creating an Enterprise Architect Addin or writing an application that can use Enterprise Architect. Refer to below references if you need more information on these
    • To create an Addin from scratch refer this link 
    • Download Skeleton for creating an Add-In using the C# Language from this link

How to invoke Scripts from an External Application

  • Create an application and get a handle of Enterprise Architect

select script.ScriptID as SCRIPTID, script.Notes as NOTES, script.ScriptName as SCRIPTNAME, script.Script as SCRIPTGroup from t_script script where script.ScriptAuthor IS NOT NULL

  • Execute above Query to get the set of Script information
  • Parse the XML Output to get the Script Content based on Script Name and Guid by user selection
  • Save this script content in a string and pass as an argument for IncludeScripts method
  • Use ScriptControlClass to invoke the Enterprise Architect script.
    Refer below code
ScriptControlClass scriptController = new ScriptControlClass();
scriptController.Language = this.language.name;
scriptController.Timeout = -1;
scriptController.AddObject(“Repository”, Session.Repository);
//Add the actual code. This must be done in a try/catch because a syntax error in the script will result in an exception from AddCode
try
{
//first add the included code
string includedCode = IncludeScripts(scriptcontent); //pass script content string
//then add the included code to the scriptcontroller
scriptController.AddCode(includedCode);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
  • Add Reference for ScriptControlClass to invoke Enterprise Architect selected scripts.
  • Set AddObject to Active Enterprise Architect repository.
  • Replace all the !INC with actual codes in scriptcontent

Limitations

Script should not include any Enterprise Architect specific keywords.

  • It should not use “as”
    • Correct Syntax : Var ele;
    • Incorrect Syntax : Var ele as EA.Element;
  • Script should not use any static functions like
    • “Session”.Eg.Session.Output,Session.Input,Session.Prompt
  • Repository and !INC are the only Enterprise Architect specific keywords supported

Certainly, users could develop an external program to handle scripts inside EA. Please drop your comments below if you have any queries.

Drop mail to info@sparxsystems.in for any assistance.

IntegrationsSparx Systems Enterprise Architect

Enterprise Architect Export Excel

Enterprise Architect Excel Exporter allows users to export Model information as Excel documents.

Excel Exporter can be used to publish elements, connectors, tagged values, test cases, scenarios and various other model information, into Excel spreadsheets, for easy review and updates by the wider team.

Steps to Export EA Model Information to Excel:

Step 1: Select the EA Model that contains the information to be exported.

Step 2: Create/Choose the Specification for the EA Model to be exported.

Step 3:Create/Choose the Output document to be exported.

Step 4:Select the Worksheet from the output document to be exported.

Step 5:Generate the model elements in Enterprise Architect to Export the document.

Export Excel Profile

To Export data from  EA Model, choose ‘Export to Excel’. The following dialog appears,

Select highlighted icon to create a new profile,

Home Tab

home-tab

home-tab2

Mandatory Mappings:

  • Specify document to Export (Can use existing document or create new Excel document) using two nearby button icon.
  • Select the concerned work sheet from the dropdown or create a “New Work Sheet”

Optional Mappings:

  • Generate Headers: Select this option to Export properties along with column name.
  • Include Synchronization Information: Select this to Export Unique (GUID) information for every Object and Classifiers (Attributes and Methods).
  • Include Diagram Elements in Report: Select this and also select the appropriate diagram type’s in Diagram Tab, this will leads to include the element in the export from external Packages that are referenced in a diagram under each package.
  • Write Log File: It maintain, every Object Export Status.

Note: User can also export the data through unsaved profiles

Elements Tab

elements-tab

Model Data to be exported: All the properties are selected by default. User can,

  • Select/Unselect the properties.
  • Defined Tag Properties globally.
  • Create Custom Tag using “Add Custom Tag” button.

Types to be chosen for Exporting: All the Object types will be selected by default. User can,

  • Arrange the Order of export.
  • Select/Unselect the Object Types.

Note: Should select minimum one object type and Object properties to Export.

Stereotype to Export: Specifying stereotype filters the exporting elements.

  • All: Exports all the elements under the selected Object from Enterprise Architect.
  • Non-Stereotype: Objects without stereotypes are exported.
  • Specify Stereotype in CSV Format: User can define multiple stereotypes in CSV Format; the exporting objects must contain these stereotypes.
  • Prompt during Export: While starting Export, its pop-up the dialog, that shows all the stereotypes under the selected node from Enterprise Architect.
Attributes Tab

attributes-tab

Selecting “Include Attributes” will enable “Export Settings” group.

Must select separate worksheet or choose to export in the Main Worksheet.

Select the attribute properties to export. Users can also define “Custom Tag” to include any additional tagged values defined in the model.

Methods Tab

methods-tab

Selecting “Include Method” will enable “Export Settings” group.

Must select separate worksheet or in Main Worksheet and select minimum one Method property to export. It also loads Global Tag, we can define “Custom Tag” also.

Test Scripts Tab

test-scripts-tab

Selecting “Include TestScript” will enable “Export Settings” group.

Must select separate worksheet or in Main Worksheet and select minimum one TestScript property to export.

Glossary Tab

glossary-tab

Selecting “Include Glossary” will enable “Export Settings” group.

Select Worksheet to export Glossary and also select minimum one property to export.

Diagram Type Tab

diagram-type-tab

It is used to export all the objects available in diagram, irrespective of objects available under selected node. We must select “Include Diagram Elements in Report” in Home Tab and also select suitable diagram type to export the objects.

Connector Tab

connector-tab

Context End: Used to define the settings of one end of connector.

  • Column Name: The name is connector column name, which will be displayed in the generated Excel document.
  • Context End: Select the element type for one end of the connector.
  • Delimited By: Exporting the Object Name into the corresponding Connector Column in Excel should be separated by this delimited value.

Other End: Used to define the settings of another end of the connector,

  • Type: Select the element type for another end of connector.
  • Stereotype: It defines the stereotype for the other end of the connector.it support CSV Format.it filter out the connector to Export.
  • Value: It used to search, that which type of the property should match the connectors that needs to be exported.

Connector: Used to define connector settings,

  • Direction: Specify direction of the connector.
  • Stereotype: It defines connector Stereotypes
  • Type: It defines type of Connector

Note: Except Stereotype input, all other inputs are mandatory!!!

Export Process

While selecting Export button, two options will be displayed.

  • To Local System: Allows user to export document to the local system.
  • To SharePoint: Allows user to export document to the SharePoint folder. For more information regarding SharePoint export, refer “C:\ProgramData\MDG Integration for Microsoft Office\Help Document\UserGuide\index.html”

It gives a pop-up, like

confirm-export

Prompt during Export option, will prompt here, it shows all the object stereotypes available under selected Node from Enterprise Architect

select-export

Select Export, to export non-stereotyped Object.

 

Exported Document

  • Elements are exported with GUID information.

exported-in-guid-information

  • Attributes are exported with GUID information and parent object information under “GUID” and “ELEMENT NAME” column, respectively, which is highlighted.

methods-are-exported-as-guid-information-1

  • Methods are exported with GUID information and parent object information under “GUID” and “ELEMENT NAME” column, respectively, which is highlighted.

exported-with-parent-object-informaton-1

  • TestScripts are exported with Parent object information in “ELEMENT NAME” column, which is highlighted.
  • Glossary Exported with Term, Type and Meaning column. It is Model defined.glossary-exported-with-term
  • Connector Column Exported.
  • export-column-exported
  • Scenarios are exported with GUID information and parent object information under “GUID” and “ELEMENT NAME” column, respectively, which is highlighted.
  • Constraints are exported with Parent object information in “ELEMENT NAME” column, which is highlighted.constraints-are-exported
  • Export profile haswant-to-export-connector
    Description: Want to export Connector Other end Name. It has to filter out the connector ends while exporting,

    • Source and Destination are Usecase type.
    • Connector Type should be “Dependency”.
    • Connector Direction should be “Incoming”.

    Comparing results,

    • “Login” has Incoming Connector from “Create Account” of “Dependency” Type.
    • “View Account Details” has Incoming Connector from “Close Account” of “Dependency” Type.
    • “Close Account” has Incoming Connector from “Delete User” of “Dependency” Type.

    Connector Other End names are exported successfully!

    Above, section Examine Overall Export Process.

 

Modeling LanguagesSparx Systems Enterprise Architect

Inbuilt support for Zachman Framework in Sparx Enterprise Architect 14

An introduction to the Zachman Framework

The Zachman Framework is a widely used approach for engineering Enterprise Architecture. This Framework is a simple logical structure that helps in organizing the information infrastructure of an Enterprise.

While conceptually simple, the Zachman Framework provides many benefits in helping technology with business needs. It has become a popular approach in defining Enterprise Architecture because it :

  • Is platform neutral
  • Is a powerful planning device
  • Is both comprehensive and readily understood by non-technical people
  • Assists in problem solving
  • Helps in documenting enterprise-wide information system architecture

Using this technology in Enterprise Architect, you can employ the Zachman Framework with the associated benefits of a powerful, open-standard modeling system

Using MDG Technology for Zachman Framework

The MDG Technology for Zachman Framework provides a model-based framework for planning, designing and implementing the Architecture for an Enterprise. The starter model provided with the technology acts as a base upon which you can build the Enterprise Architecture. You can create the appropriate diagrams from the extended Enterprise Architect UML diagram set, using Toolbox pages that support every cell of the Zachman classification framework.

This technology also provides model validation and reporting capabilities for strategic project plans.

You can also align cells across the framework (horizontally and vertically) through the Enterprise Architect Relationship Matrix.

You can view a demonstration video of the MDG Technology for Zachman Framework here.

Help topics in sparx systems provide a detailed exploration of the MDG Technology for Zachman Framework tools and features, such as.

  • The example Enterprise Architect model for the Zachman Framework
  • UML profiles (Toolbox pages) for use within specific Zachman Framework cells
  • A diagram interface for the Zachman Framework
  • New diagram types specific to the Zachman Framework
  • A flexible model starter-structure
  • Report generation capabilities for strategic project plans

Note that the MDG Technology for Zachman Framework is integrated with the features of Enterprise Architect.

Getting Started with the MDG Technology for Zachman Framework

Access the MDG Technology for Zachman Framework

  1. Create a new Enterprise Architect project file.
  2. From the Add Model Wizard select MDG Technology for Zachman Framework.
  3. From the Name panel, select the Zachman Framework Model.
  4. Click on the OK button.

A new base model for the Zachman Framework is created, displaying the Zachman Interface diagram

Drop mail to info@sparxsystems.in for any assistance

Sparx Systems Enterprise Architect

Specialize – An addition to Enterprise Architect 14 Ribbon

The New Menu option “Specialize” in Enterprise Architect 14 is the modernized version of “Extend” Menu in previous Enterprise Architect versions.

To Access: Specialize Or Right Click on Project Browser | Specialize

sparx india

sparx india

The Specialize Menu as the features that Utilize built-in and 3rd party tools to take your model in new and very specific directions. User can extend and specialize the product’s capabilities by using Add-Ins (extensions written in COM that interact with the Enterprise Architect user interface), and by importing XML files from specific technologies, working with them and publishing model information in XMI format back to the technologies.

  • Build data models.
  • Create XSD message schema from logical models.
  • Write and execute scripts.
  • Use the new External Data Integration capabilities to link your model with other tools, such as JIRA, DOORS, WRIKE, TFS and others.
  • Manage and work with Add-Ins, Technologies and another advanced tool.

Specialize includes three Sections, Tools, Technologies, Add-In’s.

  1. Tools
  2. Technologies
  3. Add-In’s

Tools

Tools helps in developing and managing the models, user can make use of a wide range of tools for code engineering, performing transformations, creating technologies, spell checking the model, customizing features and setting operational options.

Technologies

Technology as an option to Manage the In build technologies and 3rd party technology which is defined in Enterprise Architect.

Import

Display a menu of options for importing XMI/XML from a variety of formats. ArcGIS, OWL/RDF and EMX are specifically supported, but a wide range of other tools’ XML output can be imported into Enterprise Architect using the Other Tools/Formats menu option.

Publish

Display a menu of options for Publishing (exporting) Enterprise Architect model information in a specific format for consumption by other tools or processes.

Add-In’s

Add-Ins enable you to add functionality to Enterprise Architect. The Enterprise Architect Add-In model builds on the features provided by the Automation Interface to enable you to extend the Enterprise Architect user interface.

Add-Ins enhance the existing functionality of Enterprise Architect through a variety of mechanisms such as Scripts, UML Profiles and the Automation Interface. Once an Add-In is registered, it can be managed using the Add-In Manager.

Sparx Systems Enterprise Architect

Quick Link Definition Simplified

Overview:

‘Quick link’ feature in Enterprise Architect’s makes connector creation quicker and easier. Though quick linker simplifies the concept of creating connectors between artifacts (or) elements, the process of defining it would really consume a huge amount of time and manual efforts sometimes lead to errors. Though quick linker simplifies the concept of creating connectors between artifacts (or) elements, the process of defining it would really consume a huge amount of time and manual efforts sometimes lead to errors.

To overcome this we have created a custom script. This allows us to generate the quick linker definition quicker & easier than ever before. Please follow the below steps to create your quick linker definition with ease.

Pre-requisite:

Steps to follow:

  • Create a diagram group in the scripting section
  • Create a J-Script below the newly create diagram group. Copy and Paste the code snippet given below

!INC Local Scripts.EAConstants-JScript

/*

 * This code has been included in the default Diagram Script template.

 * If you wish to modify this template, it is located in the Config\Script Templates

 * directory of your EA install path.

 *

 * Script Name: Generate Quick Linker Definition

 * Author: Nabil Saleem – Sparx Systems India

 * Purpose: Generate the quick linker definition from metamodel and to reuse in MDG definition

 * Date: 12/07/2018

 */

/*

 * Diagram Script main function

 */

function OnDiagramScript(diaID)

{

        // Get a reference to the current diagram

        var currentDiagram as EA.Diagram;

        currentDiagram = Repository.GetCurrentDiagram();

        Session.Output(“//Source Element Type\tSource ST filter\tTarget Element Type\tTarget ST Filter\tDiagram Filter\tNew Element Type\tNew Element ST\tNew Link Type\tNew Link ST\tNew Link Direction\tNew Link Caption\tNew Link & Element Caption\tCreate Link\tCreate Element\tDisallow Self connector\tExclusive to ST Filter + No inherit from metatype\tMenu Group\tComplexity Level\tTarget Must Be Parent\tEmbed element\tPreceeds Separator LEAF\tPreceeds Separator GROUP\tDUMMZ COLUMN”);

        if ( currentDiagram != null )

        {

                       for(var i=0; i<currentDiagram.DiagramLinks.Count; i++)

                       {

                                      var dialinks as EA.DiagramLink;                                

                                      var curCon as EA.Connector;

                                      dialinks = currentDiagram.DiagramLinks.GetAt(i);  

                                      curCon = Repository.GetConnectorByID(dialinks.ConnectorID);

                                      var SourceElem as EA.Element;

                                      SourceElem = Repository.GetElementByID(curCon.ClientID);

                                      var TargetElem as EA.Element;

                                      TargetElem = Repository.GetElementByID(curCon.SupplierID);

                                      var ConcType = “”;

                                      if(curCon.Type==”Realisation”)

                                                     ConcType = “Realization”;

                                      else

                                                     ConcType = curCon.Type;

                                      Session.Output(SourceElem.Type + “\t”+ SourceElem.Stereotype + “\t” + TargetElem.Type + “\t” + TargetElem.Stereotype + “\t” + “\t” + TargetElem.Type + “\t” + TargetElem.Stereotype +  “\t” + ConcType + “\t” + curCon.Stereotype + “\t” + ‘to’ + “\t” + “<Connector Caption>” + “\t” + “<Element Caption>” + “\t” + “TRUE” + “\t” + “TRUE” + “\t” + “FALSE” + “\t” + “TRUE” + “\t” + “\t” +  “0”);

                                      //Session.Output(TargetElem.Type + “\t” + TargetElem.Stereotype + “\t” + SourceElem.Type + “\t”+ SourceElem.Stereotype + “\t” +  “\t” + SourceElem.Type + “\t”+ SourceElem.Stereotype +  “\t” + ConcType + “\t” + curCon.Stereotype + “\t” + ‘from’ + “\t” + “<Connector Caption>” + “\t” + “<Element Caption>” + “\t” + “TRUE” + “\t” + “TRUE” + “\t” + “FALSE” + “\t” + “TRUE” + “\t” + “\t” +  “0”);

                       }

                       Session.Output(“Done”);

        }

        else

        {

                       Session.Prompt( “This script requires a diagram to be visible.”, promptOK)

        }

}

OnDiagramScript();

  • Now open the diagram which has the connectors and artifacts
  • Right – Click on the diagram. Select Script|New Script from Context Menu.
  • Now open the system output screen
  • Right – Click on the system output screen. Then click “Copy All to Clipboard”
  • Paste the clipboard data into the excel file
  • Replace the cell values of “New Link Caption” – Column K & “New Link &amp; Element Caption” – Column L.
  • Now save the file as CSV.
  • Now copy and paste the CSV data in MDG quick link artifact and generate custom MDG with quick links

Note: This feature is only available in Enterprise Architect 13.5.

Further Information
Please contact us or write an email to info@sparxsystems.in to have a live demo of the new EA 16 features and capabilities.

Sparx Systems Enterprise Architect

Diagram Legends in Project Browser

What is Diagram Legend?

A Diagram Legend is an element that you can add to your diagram to provide information about the colours and/or line thicknesses and styles that have been used in the current diagram, where those colours and other styles have some particular meaning. For example, it is common to have a Legend that indicates a particular colour is indicative of a particular element’s status or version. Connectors might be coloured according to whether they are of a particular type or direction. Element borders might be thicker or thinner according to some other property or condition.

Picture 1 - Legends in Project Browser

Figure 1 Legend Icon & Artifact

Legends have additional capabilities, including the ability to auto colour elements in different ways and according to different rules and filters. Legends are classified as elements and will be listed in the Project Browser; however, they are not shown in contents of a Package displayed on a diagram.

Legend Presentation of a Digaram

Figure 2 Legend Representation of a Diagram

What’s new with Diagram Legend EA 14

Diagram Legend in Enterprise Architect 14 follows the same concept with a simple but important change. Considerably in Enterprise Architect 13 creating a legend in a diagram or model will only reflect in the diagrams and not in the model project browser. However, this has been updated in the Enterprise Architect 14. When a Diagram Legend is created for a particular diagram. That legend artifact will remain under the respective package.

Picture 3 Legends in a Project Browser

Figure 3 Legend in Project Browser

Creating a Legend

A Legend element on a diagram provides a visual key to the colours and line thicknesses you have used to identify elements and/or connectors that have a particular meaning. The Legend can reflect a simple, manually-applied convention such as all elements concerned with a management system being shaded in blue, or all outgoing connectors coloured red. However, the Auto-Colour Legends can also automatically apply the style to elements or connectors having a chosen property, such as a specific phase, stereotype or type.

The Legend lists the element appearance conventions first, and the connector appearance conventions underneath.

Picture - 4 Legend View

Figure 4 Legend View

To Access:

Drag the Diagram Legend icon from the Common page of the Toolbox onto the diagram.

Legend Properties

The ‘Legend Properties’ define the appearance of the Legend element itself, such as its background colour, title text colour and size, and border colour. If you choose to use default colours, these are derived from the ‘Preferences’ dialog, ‘Standard Colours’ page.

To Access

Double-click Legend element | Style options

Option Action
Heading Size

Either:
Overtype the font size of the Legend Title text with a different value,                                                           or
Click on the ‘spinner’ arrows to increase or decrease the font size

Font Colour Click on the drop-down arrow and select one of the standard font colours for the Legend Title text.
If you want to use a non-standard colour, click on the Other button and either select from the larger pallet or define a custom colour.
Background Click on the down arrow and select one of the standard colours as the background fill colour of the Legend element.
If you want to use a non-standard colour, click on the Other button and either select from the larger pallet or define a custom colour.
Border Colour Click on the down arrow and select one of the standard colours as the colour of the borderlines of the Legend element.
If you want to use a non-standard colour, click on the Other button and either select from the larger pallet or define a custom colour.
Ok Button Click on this button to save your changes and close the dialog.
Cancel Button Click on this button to abandon any changes and close the dialog.

Further Information
Please contact us or write an email to info@sparxsystems.in to have a live demo of the new EA 16 features and capabilities.

Features in Sparx Enterprise ArchitectSparx Systems Enterprise Architect

New Perspective Window and Custom Perspective

  • Seriously overhauled to create rich, flexible and easily switched sets of related technologies.
  • Easy to focus the available model patterns, technologies, diagram types and to the precise set.
  • Avoid the significant “noise” that arises from having multiple technologies all competing for attention.
  • Hide complete Perspective sets or individual technologies using the new customization wizard.
  • Hiding a Perspective now only removes it as an available tool, while all diagrams that already make use of the hidden technology will still render and work as normal.
  • A new Perspective drop list coupled with the re-worked Portal bar provide a rapid and effortless mechanism for switching between technologies and swapping in and out the necessary tools at the right time.
  • For user convenience, selecting a Perspective set automatically brings up the modeling wizard, ready for inserting a rich set of new modeling patterns on which to build.
  • The Model Patterns Wizard and the new Diagram dialog also allow for swapping perspectives on the fly, making it easy to find and use the exact modeling tools required.
  • Out of the box, version 14 includes many Perspectives targeting Business, Software, Systems, Architecture, Project Management and more.
  • It has been built on the belief that is easier to rapidly switch between domain focused sets of tools on an as needs basis, than to provide a mixed set of technologies and tools that try to address ALL possible modeling scenarios.

Built-in Perspectives

Create a specific edition of the tool for a single discipline, language or framework. Switch perspectives to quickly change focus to another discipline. Intuitive groupings make it easy to find the right view

  • Domain and discipline focused view and tools.
  • Perspectives target disciplines such as: Business, Software, Systems, Architecture, Project Management and more.
  • Restricted set of diagrams and comfortably work with the required diagram.
  • Expertly created pattern available for each perspective.
  • Create any number of your own perspectives.

Customized Perspective

  • Create your own perspective Sets.
  • Along with the System Defined Perspective, user can now define and Implement their own Perspectives as per their requirement.
  • If you need a Perspective that combines BPMN and SysML for instance, you can do it with ease.

Sparx Systems Enterprise Architect

Rich Model Patterns for MDG Technologies

Model Pattern is one of the quite useful features in Enterprise Architect. Model patterns are often used by new modelers. Also very useful when developing a complex diagram from scratch. In Enterprise Architect Version 14 it has been enhanced further. The goal is to greatly enhance the modeling experience by making Enterprise Architect users to identify suitable patterns easily and to apply for a particular domain. The upgraded user interface has huge selection of model patterns with detailed guidance and references.

Patterns & Guidance

One of the featured highlights of Enterprise Architect 14 is the rich and highly detailed set of patterns and frameworks that have been incorporated into the Model Wizard. From basic modeling tasks, to Business, Systems, Architecture, Project Management and more, the new model patterns have solutions to kick start your design process.

In addition to the pattern itself, each selection includes a detailed set of notes, references, advice and graphics depicting the pattern as initially created. Getting started with a particular modeling view or task is now so simplified and focused that it is much easier to get the right tools in place to quickly and effectively understand how to best maximize the value of a particular pattern. It almost includes more than 1000 new patterns.

sparx india

Each pattern includes

  • A model fragment targeting a specific use
  • Package structure (where appropriate)
  • Detailed notes and discussion material on usage
  • Detailed links to help material and other resources related to the pattern
  • XMI based implementation for quick and easy insertion of the pattern into the current model

Patterns come in many forms

  • Simple starter patterns.
  • Diagram includes basic elements.
  • Complex multi-level examples (e.g. Collaborations).
  • Package structure or model outline (generally for various Frameworks).
  • Case Studies, Worked out examples of modeling techniques and usage.
  • Simple step wise diagrams, illustrating how to achieve specific goals.

 

Document GenerationEA AutomationSparx Systems Enterprise Architect

Generating Documents using Document Scripts in Enterprise Architect

Sparx Systems Enterprise Architect is one of the very few tools that have the capability to generate documents on go from a centralized repository. Enterprise Architect has features to customize document contents using user templates, fragments, style sheets, cover pages and headers, and footers.

  • Document Script in fragments is a new option that is introduced in Enterprise Architect 13.
  • Used generally for generating complex documents from Enterprise Architect.

Custom Script vs Document Script

  • Custom script (Introduced in EA 11): Script returns a value that can be used in the fragment using the ‘custom’ field.
  • Document script (Introduced in EA 13): A combination of scripts and templates. The script calls another Template and passes the ID of an object to be reported

How does Document Script work?

1

Advantages of Document Script:

  • Flexibility in reporting desired fields in the desired order
  • Loop through or mix and match details in a custom way, as per the requirements.
  • Removes the need to write an external add-in to generate custom documents from the model.

Steps to create Document using Document Scripts:

2

  • From the Above business process diagram, we are going to generate all the diagram objects from the parent package.
  • Initially have created a Template like the below with package and element section enabled.

3

  • Under the Diagram Objects heading have inserted a new fragment and inside the fragment have enabled the Custom Section as below

4

  • To create a document script Fragment -> Document Options ->Custom Query -> Document Script and in the dropdown select the script which is written for document generation.

5

  • Reference the ID of the element or Package currently being processed by the document template, using the #OBJECTID# or #PACKAGEID#
  • Process Package script does the magic of rendering the objects in an order to a document.
  • Script which needs to be used in the Document script should always return an RTF

      var docGenerator as EA.DocumentGenerator;

        docGenerator = Repository.CreateDocumentGenerator();

        if ( docGenerator.NewDocument(“”) )

        { 

            docGenerator.DocumentElement(ElementID,Heading Depth,”templateName”); // Used to add the element details in rtf

             var rtf = docGenerator.GetDocumentAsRTF();

            return rtf;

       }

  • For more details on attributes and methods of DocumentGenerator class please refer to Sparx Help on Document Generator class
  • In the document script, a template should be referred to so that the data will be formatted and printed based on that template.
  • For e.g. From the below package structure in Enterprise Architect

6

  • If the documentation is generated at the package level (BP00100) and the script for rendering all the diagram objects of a diagram
  • We need to pass the packageID as the parameter in the document script.
  • In the script, the main function rtf should be returned

function main(packageID)

{

var docGenerator as EA.DocumentGenerator;

docGenerator = Repository.CreateDocumentGenerator();

if ( docGenerator.NewDocument(“”) )

{

try

{

var package as EA.Package;

package = Repository.GetPackageByID(packageID);

var diagram as EA.Diagram;

diagram = package.Diagrams.GetAt(0);

var diagramObjects as EA.Collection;

diagramObjects = diagram.DiagramObjects;

for ( var i = 0 ; i < diagramObjects.Count ; i++ ) {

var diagramObject as EA.DiagramObject;

diagramObject = diagramObjects.GetAt( i );

var currentElement as EA.Element;

currentElement = Repository.GetElementByID(diagramObject.ElementID);

if(currentElement.Type != “Note” && currentElement.Type != “ActivityPartition” && currentElement.Type != “Pool” && currentElement.Type != “Lane”)

docGenerator.DocumentElement(currentElement.ElementID,1,ACTIVITY_TEMPLATE);

}

}

catch(e)

{

Session.Output(e);

}

var rtf = docGenerator.GetDocumentAsRTF();

return rtf;

}

return “”;

}

  • Templates inside the script can be mentioned as below

var ACTIVITY_TEMPLATE = “Activity_Report”;

Conclusion:

  • The above described is an example of generating a document using a document script. You can download this entire sample model with document generation scripts and templates from https://sparxsystems.in/Downloads/DocumentScriptTest.eap
  • Any complex logic can be used in the script but finally, it should return an RTF. 

Further Information
Please contact us or write an email to info@sparxsystems.in to have a live demo of the new EA 16 features and capabilities.