Top Community Contributors
- What's new with ArchiMate 3.0 & EA v.13?
Managing a Student Project with Enterprise Architect – Part 3
Written by doug rosenberg
EA TFS Connector a new add-in for the Bellekens EA Toolpack
Written by Geert Bellekens
Reader's Choice Award Recognizes Sparx Systems For Software Architecture
Written by sparxsystems
Written by philchudley
Introducing RepoDoc, a document generator for Enterprise Architect
Written by Archimetes
- How to use the Relationship Matrix
- London User Group; Call for Speakers
An Enterprise Architect project contains hundreds or thousands of elements. Name of these elements alone are often not enough to uniquely identify them. It is important to mark every element with its own unique code.
Enterprise Architect provides the Auto Naming and Auto Counters feature which efficiently generates code elements. The element number is determined by its type, each element type has its own sequence of numbers.
Unfortunately, the numbering according to the types of elements is not always sufficient. We often need sequences derived from first level components. For example, we have other sequence for 'Accounting' component use cases (UC-ACC001, UC-ACC002, ...) and other sequence for the "Billing" component use cases (UC-INV001, ...).
We implemented an extension for generating element codes based on existing element names.
The basic idea is to use the first specified code as a mask for the others. User has to name first element, for example:
UC-ACC001: Create an account
If user creates another use case, he does not need to know the final number. He uses a placeholder
UC-ACC*: Modify an Account
Finally, user runs extension "CCA Numbering", which replaces the placeholder with a new number.
Such a solution is much more general. You can have multiple sequences within a single element type. You can have a number sequences across different types of elements. This can be applied for example in Activity diagrams, if you want a uniform numbering for Activities and Actions together.
Solution code is attached. The program looks for the next element number directly in the project repository. The query syntax corresponds repository stored in the EAP file.
Any comments are welcome.
CCA Group a.s.
Dunstan Thomas Consulting is proud to announce the new one day MDG Workshop!
Sparx Systems Enterprise Architect provides modelling extensions to supplement UML through a technology known as Model Driven Generator or MDG. Tools are provided in Enterprise Architect for experienced users to develop their own MDGs either from scratch or based upon an existing MDG such as ArchiMate, or BPMN. This one day workshop will provide attendees with a practical experience of the tasks required to build a typical MDG.
The following topics will be covered:
- What is an MDG, what it can contain and the benefits an MDG can provided to an organization.
- Using the Model Wizard to create an MDG model repository.
- The steps in planning an MDG.
- Tagged values, their typed, use and creation.
- Using the MDG Helpers to create a Profile.
- Using the MDG Helpers to create a customized Toolbox.
- Using the MDG Helpers to create a customized Diagram.
- Generating the MDG.
- Testing the MDG.
- Deploying the MDG.
- Making changes to the MDG and applying those changes to an existing model repository.
- Shapescripts, their use, structure and applicability to an MDG.
- The concept of Quicklink and its application to a customized Diagram.
Full details are available on our website.
I started last year a personal addin project for Sparx Enterprise Architect; eaUtils was intended to gather features that have addressed situations I came across over the past years. Initial eaUtils features come from scripts that were shared with the community (see Enterprise Architect project browser scripts: sort elements by alias or by tagged value).
Following an initial version launched in December 2015, enhancements were released in February 2016 with eaUtils 1.11. Current features include:
- Sort elements from a package tree, a package, or composite element by Alias, Tagged Value, Stereotype or Name
- Sort a package elements according to their layout order in a diagram (top to bottom or left to right)
- Generate elements alias values according to their order in a diagram
- Generate the breadcrumb trail in a diagram
eaUtils sorting features update the elements tree position from a package or element. Enterprise Architect applies a default sorting order based on the name of the elements. In order to achieve a better management and more efficient use of the elements from within the project browser, it can be useful to have alternative and enhanced sorting options e.g. based on the alias, stereotype, tagged value, or according to the layout in a diagram.
eaUtils latest version provides a way to sort elements within a package tree, which is illustrated below. Further information on eaUtils sorting features is available from eaUtils Help.
Sort elements by alias in a package tree
Having enabled the package tree option, this feature can be used via a right click on the main package > Extensions > eaUtils > Project Browser : Sort elements by alias. eaUtils addin opens the following dialog window, prompting to select the packages to process within the current tree:
Below is a summary of the available actions or information:
- Status: set to Ready unless the elements sorting is running (Busy).
- eaUtils settings: a summary of the sorting settings values is displayed. A button is available to open eaUtils Settings.
- Select all/none: enable or disable all packages within the displayed tree.
- Tree: packages within the tree are displayed and can be individually enabled or disabled. Any locked package is greyed out and followed by (Locked).
- Note: Root nodes are always disabled and marked as locked as they cannot have any element to sort.
- Sort elements in the selected packages by...: run the elements sorting within each selected package.
- Cancel: close this window.
Whilst eaUtils sorting by feature is running, progress is updated as packages are processed.
Once completed, all selected packages are marked as DONE, and a confirmation dialog is displayed.
eaUtils provides a feature that generates elements aliases according to their order in a diagram, from top to bottom or left to right. I often use this feature to generate use case aliases according to their order in a diagram e.g. UC_001, UC_002.... It also can be applied to other diagrams such as UML activity, BPMN process, Archimate, etc.
Consider the following use case diagram:
Note: use cases on the above diagram are stored in the same package whereas actors are located in a dedicated one. eaUtils provides an option to deal with this situation so that external elements (actors) are ignored when generating the alias.
eaUtils provides a range of settings to define the prefix, suffix and numbering format to generate in each alias. Below is an example for the current example:
- the prefix is set with the element's name followed by an underscore e.g. UseCase_
- the numbering will be generated with 2 leading zeros e.g. 001, 002...
- the suffix is set to "_BookStore"
- only Use Case elements are processed
Running eaUtils "Generate Alias" leads to the result below:
Breadcrumb trail for diagram navigation
Navigating between a large number of opened diagrams within a Sparx Enterprise Architect modelling project can be cumbersome. Having opened successive composite elements such as an activity, use case, or BPMN2 subprocess, going back to the previous diagram is often not easily achievable. This issue is not only valid when one uses Sparx tool, but also when a published HTML version is opened in a web browser (e.g. Firefox, Chrome, IE).
A workaround involves creating a diagram hyperlink back to each calling/linking diagram; eaUtils addin provides a Breadcrumb Trail feature that generates such hyperlinks within an active diagram. In the example below, a BPMN2 process is detailed via an associated composite BPMN diagram:
Running eaUtils breadcrumb feature on BusinessProcess1 diagram leads to the following result i.e. a hyperlink back to the Business diagram has been created:
eaUtils addin for Sparx Systems Enterprise Architect
eaUtils is listed as a Sparx Systems 3rd Party Add-In in the Model Management Category.
An add-in for Enterprise Architect from Dunstan Thomas Consulting
We have had our very own Phil Chudley busy beavering away at a new project which is now commercially available & already in use with DT's customer base.
Sparx Systems Enterprise Architect has the functionality to create diagrams directly from Use Case textual scenarios, the most common of which is termed an Activity Graph. This Activity Graph is a simplified form of UML Activity Diagram. This works well, but many organisations have, or are in the process of, standardising the modelling of process flows using BPMN 2.0, and this form of diagram is not supported by Enterprise Architect. The BPMN Generator extension for Enterprise Architect has been developed by Dunstan Thomas Consulting Ltd to provide the functionality to generate a BPMN 2.0 process flow diagram from Use Case textual scenarios. A typical example is shown below:
Textual Scenario for the Basic Path
Textual Scenario for the Alternate Path
Generated BPMN 2.0 Diagram
The BPMN Generator also provides the modeller with options to set:
- The top margin of the generated diagram.
- The left margin of the generated diagram.
- The default height of each task.
- The adjustment height of each task (used to ensure that text fits in a task).
- Whether or not a new diagram and elements will be generated rather than overwrite any existing diagram and elements.
Watch the video below to see the BPMN Generator in action:
The BPMN Generator is available from Dunstan Thomas Consulting at £85.00 +Vat per licence. If you would like additional information or to purchase licences for the BPMN Generator then please contact us.
How to combine Sparx Enterprise Architect and BABOK to manage Requirements in a modern way?
Days when Business Analyst was using only Word and Excel applications together with e-mail program are slowly fading into the past. This is a good thing. There are many tools that allow us to work faster and smarter. One of them is my favorite Sparx Enterprise Architect. The tool so powerful and versatile that it's hard to find single person who used all of its features :-)
Personally, I used Enterprise Architect in my work for past several years to design IT systems and prepare documentation of them. I used a lot of built-in features of Enterprise Architect to streamline my work and improve quality of my deliverables. Among them Relationship Matrix, powerful template functionality for document generation, extensive support for Use Case modeling.
Among many other things, BABOK Guide defines list of commonly used requirement attributes:
- Absolute reference: provides a unique identifier. The reference is not altered or reused if the requirement is moved, changed, or deleted.
- Author: provides the name of the person who needs to be consulted should the requirement later be found to be ambiguous, unclear, or in conflict.
- Complexity: indicates how difficult the requirement will be to implement.
- Ownership: indicates the individual or group that needs the requirement or will be the business owner after the solution is implemented.
- Priority: indicates relative importance of requirements. Priority can refer to the relative value of a requirement or to the sequence in which it will be implemented.
- Risks: identifies uncertain events that may impact requirements.
- Source: identifies the origin of the requirement. The source is often consulted if the requirement changes or if more information regarding the requirement or the need that drove the requirement has to be obtained.
- Stability: indicates the maturity of the requirement.
- Status: indicates the state of the requirement, whether it is proposed, accepted, verified, postponed, cancelled, or implemented.
- Urgency: indicates how soon the requirement is needed. It is usually only necessary to specify this separately from the priority when a deadline exists for implementation.
Source: BABOK Guide V3, page 45.
As it is stated, those are most commonly used, which means that this list is not written in stone and each Analyst must decides which to use. Actually, for this exercise we have a special task in BABOK Guide named Plan Business Analysis Information Management.
The purpose of Plan Business Analysis Information Management is to develop an approach for how business analysis information will be stored and accessed.
Source: BABOK Guide V3, page 42.
Since I read the Mastering the Requirements Process: Getting Requirements Right (which was quite sometime ago) I extended my requirement attributes list with those two:
- Fit Criteria
Justification is a rationale for requirement. It explains why requirement is needed by stakeholder(s). It is very important attribute as it allows to distinguish between real requirements and solutions requested by stakeholders that pretend to be requirements.
Fit Criteria's aim is to make sure that requirement is verifiable. It means that there is defined way of proofing that the requirement is met. This attribute directly addresses one of the characteristics of a good requirement which is Testable. (Have you ever seen requirements like: "System must be easy to learn" or "System must be user friendly" and wondered What the hell this means? I bet you did! :-) )
Enhanced Requirement Attributes Addin for Sparx Enterprise Architect
Sparx Enterprise Architect does not support all of the mentioned above attributes out of the box. Some are there, but not all of them. You may add missing ones as TaggedValues in requirement element, but working this way on a daily basis is hard and miserable.
To address this problem I created Enhanced Requirement Attributes Addin for Enterprise Architect. In short ERA addin (addin means plugin). It adds new properties window which is dedicated only for Requirement type. When you double click on any Requirement element this new window will be opened by default. Properties for other element types will be opened in EA's default properties window.
Sometimes you may still want to open Requirement element in default properties window, just click 'Default properties' button, or press Alt+Enter keys on the selected element.
Requirement properties window aggregates in one place all most important attributes that were described above. This makes reading and editing a requirement very easy. Requirement properties windows supports:
- Some of BABOK / Volere additional attributes
- Rich edit functionality for Description attribute
- Key shortcuts (Ctrl+S - save & close and Ctrl+W - close without saving)
All of the additional attributes are stored as TaggedValues of Requirement element. This a built-in functionality of Enterprise Architect. There is no custom solution for storing information. As you can see in the picture below, you can access and edit those attributes in normal properties window.
This means you may use ERA Addin without worrying about compatibility. You can be the only person on the project or in your organization using ERA Addin and other Analysts & Architects will still be able to view and edit Requirement without problems. Of course it will not be as easy and convenient as in ERA Addin, but important thing is that you will not break anything!
ERA Addin does not use any custom UML Profile, it works with default, built-in Requirement type. So you can start using it on your already created requirement models without any conversions or problems with migration. There is also no risk, if you will not like ERA Addin you will simply uninstall it, there will be no impact on your model.
Generation of documentation
ERA Addin was created with easy reporting in mind. It comes with a Requirements Details template that is used to generate documentation about all additional requirement attributes. Here you can download sample document with generated documentation about requirements in Stakeholder package.
ERA Addin is free to use for everybody including commercial purposes. It is redistributed under Creative Commons Attribution-NoDerivatives 4.0 International Public License.
This FTA Add-In enables to write Fault Tree Analysis (FTA) diagram in Enterprise Architect. It offers some userful features like auto-layout.
Please unzip the attached file, then right-click EAAddinSetup.bat file and select 'Run As Administrator'. If installation is succeeded, you can find 'FTA' menu item under Extension menu of Enterprise Architect.
- How to create FTA
Just the same as creating other type of diagrams. At first, create top-level intermediate event and then use the QuickLinker to add other events or gates.
You can set basic properties by double-clicking target object.
- Add-In features
This Add-In has two features, auto-layout and calculate probability.
Select root (target) object and call features by context menu.
2015/12/25 fixed spelling mistake, and updated installer batch file to register add-in under HKLM