DT_Sam

DT_Sam

Sam Nice

Dunstan Thomas Consulting

Dunstan Thomas Consulting Waitrose 

Executive Summary

Dunstan Thomas Consulting (DTC) worked with the Waitrose IT Strategy & Architecture team to understand how to get maximum value from using Sparx Enterprise Architect (EA). The team wanted to explore the capabilities of the tool to optimise its existing investment in EA skills and software


Background

Waitrose IT has used Sparx Enterprise Architect since 2008 for UML modelling as part of the Partnership Systems Development Methodology (PSDM). This methodology is used across the John Lewis Partnership as part of the development lifecycle. In December 2013 the Waitrose IT Strategy & Architecture team started to investigate how to extend the existing use of EA from an analysis and development tool to an enterprise architecture tool. The IT Strategy & Architecture team was starting to work collaboratively across the business areas so they needed to be able to capture more stakeholder views to represent the enterprise architecture landscape. An Architecture Methods and Tools group was responsible for setting up how the IT Strategy & Architecture team worked with other teams and for setting up the architectural governance mechanisms.


Challenge

Wider use of EA comes at a time when the Waitrose IT Strategy & Architecture team is growing in size and forging closer links with the rest of Waitrose. A demand for greater transparency also puts the onus on EA to help visualise some key high level elements which are crucial for business and IT planning, helping to illustrate: ‘What is our vision and objectives?’ and ‘Why are we doing this?’ Waitrose wanted to map the motivation, business, application, technology and implementation landscapes using ArchiMate notation in EA.

ArchiMate is a standard modelling notation to describe enterprise architectures. It presents a clear set of concepts within (and relationships between) architecture domains, and offers a simple and uniform structure for describing the contents of these domains. The team identified a few missing key elements from ArchiMate that they wanted to be included in the Waitrose metamodel. The team wanted to be able to model new elements, such as ‘Capabilities’, and to enhance existing elements, such as ‘Application Interface’, to display more information.

As Iain Plank, Enterprise Architect explained:
“The IT landscape within large organisations has generally become way too complex. It really is crucial to rationalise and centralise expertise pools as much as possible. If this work is not done, you end up with lots of systems with over-lapping capabilities. IT silos waste resources and prevent systems talking to each other which invariably generates more inefficiencies. We need to plan holistic IT systems to avoid these inefficiencies. Modelling our understanding of the enterprise is part of the solution.”


Solution: Enterprise Architect Super User & Reporting Training

Waitrose contacted Dunstan Thomas Consulting (DTC), the EA training specialists to investigate Sparx Enterprise Architect’s potential capabilities. Dunstan Thomas provided training on EA with a specific focus on enabling Waitrose to extend ArchiMate and to create the new elements required by Waitrose. In discussion with Waitrose, DTC designed a specific two day course for five Waitrose analysts based on DTC’s ‘EA Power User’ and ‘EA Reporting’ training courses. The training was completed during March 2014.

Sparx EA Power User modules:

  1. UML Profiles - Extending the UML and ArchiMate through the use of Profiles within Enterprise Architect thus allowing customised modelling.
  2. Tagged Values - Tagged Value types, enumerated tagged values, pre-defined structured tagged values.
  3. Shape Scripts - Use and definition with stereotypes, use and definition within Profiles, structure of Shape Scripts, predefined functions creating Shape Scripts, use of Tagged Values within Shape Scripts.
  4. Model Driven Generator (MDG) technologies - to create re-useable project structures, encapsulating UML Profiles and RTF templates in MDG, customised tool boxes and diagrams.

Generating Documentation with EA modules:

  1. HTML documentation
  2. Customisation of the output of HTML documentation
  3. RTF documentation using the templates as supplied with Enterprise Architect
  4. Producing customised templates
  5. Selecting the content
  6. Specifying the data to be output
  7. Formatting the output
  8. Use of tables
  9. Filtering and selecting the project content using report options, properties and model documents
  10. Use of model documents, Enterprise Architect master documents , Word master documents, and template fragments
  11. Batch production of documentation using Resource Documents

Dunstan Thomas Consulting were called back in June 2014 to assess how effectively Waitrose had done the configuration since the initial training and made sure that the tool was ready to be used in production of the architectural artefacts. During two days of trouble-shooting, stumbling points and additional queries were addressed and the Waitrose configuration of Sparx Enterprise Architect was good enough to be deployed to the EA user communities.


Results

Dunstan Thomas Consulting training made it clear that Waitrose’s IT Strategy & Architecture team could do a great deal more with EA than was previously thought possible.

Stephanie McMahon, Business Systems Analyst:
“The Dunstan Thomas consultant who led the training, Phil Chudley, was brilliant for us. He helped us see what was possible with EA and taught us what could be done and what couldn’t be done, which is just as valuable. Together we made EA really sing for the first time. We are now able to model our landscape much more effectively with a tool we already had in-house. No additional licenses have been needed. It has been a great exercise in unlocking the potential of an existing tool.”

Iain Plank, Enterprise Architect:
“Enterprise Architect can now be used to build models using the actual terminology they use in the business. For example we have ‘Capability’ which flows through our models and is used when talking to the business. But that object does not exist in ArchiMate ‘out of the box’. Dunstan Thomas Consulting taught us how to create the new object and tag relevant properties and features to it.”

The IT Strategy & Architecture Methods and Tools group has passed on the new ways of working using EA around the Waitrose IT department. A number of ‘Lunch and Learn’ sessions for Architects, Business Analysts, Developers and Testers were delivered. The team are now starting to explore some of the EA capabilities around reporting.

For Waitrose’s Lead Information Architect Ian Batty the insights provided by the training were invaluable:
“Dunstan Thomas’ training helped us to link the logical to the physical data models. We could link the logical to the conceptual already but to go a step further to link logical to the physical was a breakthrough which the training enabled.”

“Following the training we have been able to get a long way down the road towards gathering a holistic picture of how systems link to each other. With this view we can now run an accurate and timely impact assessment if we want to make a change. We are constantly looking for new efficiencies and that means exploring different ways of doing things. EA helps us make the right decisions when planning systems changes.”


Howard Burgess, IT Systems Developer and the Waitrose ‘Super-User of EA’ has been using EA since 2008 when Partnership Services Training first selected it. He used it for development and code generation in the past but today, as a key member of the IT Strategy and Architecture team, he is using it to define the core business data model which the development teams use as the basis for interfaces between systems

Howard Burgess explains:
“It is critical to have one common definition of what a ‘line’, ‘branch’ or ‘customer’ is. This definition, its attributes and relationships will then be used by all teams. This commonality enables systems to pass data to each other more easily. It also speeds up IT projects as the work can be reused.”

“Dunstan Thomas’ training has helped with development of the data model in specific areas. For example we were able to find out about EA’s facility to demarcate Controlled Packages which are pieces of a data model which can be used across multiple projects. We had not used this functionality before. We did some proto-typing and we decided that this was our preferred route to implement our common data model. Phil Chudley helped clarify the value of this.”

“He made us think about new ways of capturing information, this led us to innovate more in this area. For example, we wanted a security classification so that certain data such as ‘customer address’ can be tagged ‘private’ while any Waitrose branch name and address remains public. We are now able to tag data according to this new security classification to ensure personal data on all systems is kept private. The MDG in EA captures and records this. We are now building up this meta-data, the data behind the data.”


In DTC’s EA reporting training course Waitrose also learnt how to report more effectively. Waitrose has up to 700 data objects and each has between one and 30 attributes. It is a huge, complex model. They wanted to do a report which printed the whole model as a PDF. Discussions in the training on the use of MDG got the team at Waitrose thinking about further plug-ins for EA. The team have used a wiki page plug-in so they can publish the definition of a specific technical phrase without the business users having to use EA.

Howard Burgess explains:
“Some of the components of the common data model are owned by specific parts of the business. We wanted the business managers to feel like they had more visibility and control over these pieces. Rather than installing EA on each of their PCs and giving them extensive training on how to use it we built a wiki server and began populating it with descriptions of what specific elements mean and contain. Business managers are able to click on a specific term and read the wiki definition of what a technical term is. In this way we can promote better understanding of common terms and bridge any gaps of knowledge between business and IT.”

“I like the fact that it is so open: you can create, manipulate, export and customise data models using it. EA is a great little piece of software. With Dunstan Thomas’ help we are now exploring its full potential.”


This case study is available to download from the DT Consulting website.

Wednesday, 18 February 2015 09:43

Dunstan Thomas launch online training service.

Online training with Dunstan Thomas

Online training with Dunstan Thomas

DT Consulting now offer a virtual learning environment to compliment our existing classroom offering.

This new browser delivered self-study training environment will bring to you DT Consulting’s most popular training courses covering areas such as;

  • Sparx Systems Enterprise Architect
  • The Systems Modelling Language (SysML)
  • The Business Process Modelling Notation (BPMN)
  • The Open Group Architecture Framework (TOGAF)
  • The Unified Modelling Language (UML)
  • ArchiMate

 

Available Courses

 

Coming Soon…

Please visit our website for information on subscription pricing.

Wednesday, 23 April 2014 14:11

London Calling....

European User Group Event; London 2014

On May 16th the European EA user group will be hosting the next EA User Conference in London. 

As with previous events this exciting day will presented as a multi-track event covering areas of interest to the Enterprise Architect Community:

  • Track 1; Customer Experiences
  • Track 2; Using EA / EA Techniques
  • Track 3; Extending EA

Agenda:

European EA User Group: Conference Agenda London 2014

As you can see we have an exciting keynote speaker in the form of Sander Hoogendoorn from CapGemini, here's a little taste of his presentation; 

  • Pragmatic agile model driven development using smart use cases; 

    • Unlike the more popular user stories, smart use cases provide a unique, and structured way to deliver requirements in both agile and traditional projects. During this high speed talk Sander Hoogendoorn, Principal Technology Officer and Global Agile Thoughtleader at Capgemini, will demonstrates a proven approach to identifying, modelling and estimating smart use cases from the project's scope and business processes. It will also show how smart use cases nicely fit your on-line dashboards, your software architecture, how code is generated from them, and how testing can be automated as well.


      This talk is high-paced, interactive and packed with new insights. It will also demonstrate the effective use of tools in effective and pragmatic agile model driven development and contains live coding (in C#) on stage.

There is limited space available so please book now to avoid disappointment.

We look forward to seeing you all London

European EA User Group Sponsors

Thursday, 18 April 2013 15:47

The European EA User Group is back in town!

Following last year's successful event the European EA User Group (EEAUG) is back with it's second annual event on the 15th May 2013. The event being held in Central London is the best multi-track day in Europe to meet and interact with other EA users on all levels and abilities.

Agenda - Wednesday 15th May 2013

The event tracks are;

  • Track 1 - Setting up projects for success with EA
  • Track 2 - Project Delivery with EA
  • Track 3 - Implementation & lessons learnt

The agenda for the day will be as follows;


09:00 - 09:45                                                                             

  • Exhibition, Coffee & Welcome

09:45 - 10:30

  • Keynote - Modelling Software Intensive Systems with Doug Rosenberg.

10:30 - 10:45

  • Refreshments

10:45 - 11:30

  • Track 1 - Requirements alone don't fly! with Paul Hewitt                                    
  • Track 2 - BPMN 2.0 with Phil Chudley.                                                
  • Track 3 - Fifty Enterprise Architect tricks with Peter Doomen.

11:45 - 12:30

  • Track 1 - Writing Use Cases in EA with Ian Mitchell.
  • Track 2 - SysML with Roman Bretz.
  • Track 3 - User Story: EA usage at ACV with Geert Bellekens.

12:30 - 13:30

  • Lunch & Exhibition

13:30 - 14:15

  • Track 1 - MDG Profiles & Toolboxes with Phil Chudley.
  • Track 2 - Analyser Workbench with Daniel Siegl.
  • Track 3 - User Story: EA usage at Evry with Knut Paulsen.

14:30 - 15:15

  • Track 1 - Modelling with Enterprise Architect - What's in it for the PM? With Jackie Mitchell.
  • Track 2 - EA Navigator with Geert Bellekens.
  • Track 3 - How to do less work, have more fun and become (a bit) more famous doing it with Ian Mitchell

15:15 - 16:30

  • Refreshments, Exhibition and Q&A with speakers & organisers.

For information on location & directions, or, to book you place visit the website.

Wednesday, 23 January 2013 13:37

Do Androids dream of UML models?

Reverse Engineering the Android SDK with Enterprise Architect

Recently one of our Senior Conulstants here at DT (Colin Coates) thought it would interesting to use Enterrprise Architect to reverse engineer the Android version 1.6 SDK (as used in the brilliant Google Nexus 7 tablet) into a UML model.

He started the process by clicking the menu:

Tools > Source Code Engineering > Import Source directory…

Colin then used the following settings in the Import Source Directory (dialog) window:

  • Source Type = Java (of course!)
  • Recursively Process Subdirectories
  • Create Logical Diagram for Each Package
  • Create Package per Namespace (in the Package Structure radio-button group)
  • Synchronize existing classes (in the Synchronization radio-button group)
  • Prompt for action (in the Remove Classes not found in code radio-button group)

You can see the results for yourself by viewing the default model report in HTML format, or by downloading the complete model and viewing it in Sparx Enterprise Architect.

The UML model and diagrams (including their layout), are presented exactly as created by the automated import process.

Enjoy! ;)

Tuesday, 23 March 2010 14:06

Data Mapping in UML

It’s often the case that we need to map various attributes on entities into other entities. For example you might need to migrate data from one system to another and structurally the same concepts are held slightly differently. Documenting these mappings is not obvious in the UML, so below I’ve provided a simple example of how a composite structure diagram could be used to provide the mappings. Some notes have been added where conversions need to be performed and these could be represented more formally using diagram references to behavioural diagrams such as sequence or activity diagrams. This is quite possibly not 100% UML compliant / intended usage; but it provides a tool for this type of mapping which otherwise seems to be lacking in the standard UML specification.

Note: The collaboration represents the concept being mapped (in this case a customer/client) and is source / target agnostic.


You can read more articles like this on our blog.

Tuesday, 24 May 2011 09:18

The TOGAF MDG Extension; An Overview

Dunstan Thomas

The TOGAF MDG Extension

The TOGAF MDG extension is provided as a separate licensed component that extends the functionality of Enterprise Architect. The licence to use the TOGAF MDG extension is included in the licence price for the following editions of Enterprise Architect:

  • Business & Software Edition
  • Ultimate Edition

For all other editions an additional license is required in order to use the TOGAF MDG extension. Of course, the TOGAF MDG extension is available for 30-day free evaluation. Please note that although the license to use TOGAF is included with the Business & Software, and Ultimate editions, the TOGAF MDG extension still needs to be downloaded and installed.

The TOGAF MDG extension can be downloaded from:

http://www.sparxsystems.com/products/mdg/tech/togaf/index.html

A good user guide can also be downloaded from:

http://www.sparxsystems.com/downloads/pdf/TOGAFHelp.pdf

Once downloaded, simply double-click the file 'EATOGAF.exe' to begin the installation process. When Enterprise Architect is restarted, then the functionality of TOGAF is available.

This is provided by:

  1. The Add-Ins menu
  2. TOGAF toolboxes and TOGAF elements
  3. Options on the Select model(s) dialog
  4. New TOGAF diagrams on the New Diagram dialog

     

About TOGAF

The Open Group Architecture Framework (TOGAF) is one of the most widely accepted methods for developing enterprise architecture. TOGAF is an open framework providing a practical, definitive and proven step-by-step method for developing and maintaining enterprise architecture.

The key to TOGAF remains a reliable, practical method – the TOGAF Architecture Development Method (ADM) – for defining business needs and developing an architecture that meets those needs, applying the elements of TOGAF and other architectural assets available to the organization.

TOGAF embodies the concept of the Enterprise Continuum to reflect different levels of abstraction in an architecture development process. In this way TOGAF facilitates understanding and co-operation between actors at different levels. It provides a context for the use of multiple frameworks, models, and architecture assets in conjunction with the TOGAF ADM. By means of the Enterprise Continuum, architects are encouraged to leverage all other relevant architectural resources and assets, in addition to the TOGAF Foundation Architecture, in developing an organization-specific IT architecture.

For detailed information on TOGAF, visit:

http://www.opengroup.org/architecture/togaf9-doc/arch/index.html

Benefits of MDG Technology for TOGAF

  • Helps align business processes and IT to the business strategies and goals
  • Provides support for all the phases in the ADM
  • Provides support for OMG’s Business Motivation Model
  • Provides support for the Architecture Content Model
  • Provides support for visual modelling of As-Is and To-Be architecture
  • Provides support for modelling all four architecture domains specific to TOGAF (Business, Application, Data and Technology)
  • Provides support for the report generation of TOGAF work products
  • Provides out-of-box FEA reference models

     

MDG Technology for TOGAF Features

  • A visual clickable Interface for ADM
  • Useful starter model to help you become productive quickly
  • UML profiles for FEAF Business, Performance, Service and Technical Reference Models
  • Efficient relationship management for model artefacts with Enterprise Architect’s Relationship Matrix and Hierarchy View
  • Links to external files, audit log and report generation features of Enterprise Architect provide additional capability for the Add-In in maintaining and managing your enterprise architecture

     

Getting Started

Assuming that you have already created an Enterprise Architect project, then to structure this project according to TOGAF:

  1. Right-click on the project root.
  2. Select the Add-Ins TOGAF Insert New Framework Model menu option.
  3. In the Name field, type a name for the model.
  4. Click on the OK button.

A new base TOGAF model is created, displaying the TOGAF Interface diagram. The structure created in the project browser is as below:

The diagram TOGAF-ADM is opened and is as below:

This is the defined Application Development Method, each circular node in the diagram is linked (via double-clicking) to the package of that name within your project. Empty diagrams of the appropriate type have been created in their respective packages, ready for modelling to begin. Double-clicking a circular node will open up the corresponding diagram.

If we take as example, in TOGAF a new system begins with a “Request for Architecture Work”. This is accessed by double –clicking the Preliminary node. This opens up an ADM Diagram called ”Preliminary”, which looks as below:

The single element (there could be more) details the text of the Request for Architecture Work, this is captured very conveniently by a Linked Document. In the TOGAF MDG extension, this linked document can be opened by double-clicking the Request For Architecture element. (Note this behaviour is not available for all TOGAF elements). A template form for entering the Request for Architecture Work is displayed as shown below:

It is not possible in this tutorial to detail all procedures, diagrams and elements available in TOGAF, rather it is the intention to provide an outline to get you started with TOGAF.

All other circular nodes in the TOGAF-ADM diagram function in a similar manner to that outline above.

The other linked framework diagram in TOGAF is the “Enterprise Continuum” as shown below:

Each pictorial node links to a suitable package, containing an appropriate diagram. This section of the model is designed to illustrate the corporate resources available and where they are used.

A sample model for TOGAF does ship with the MDG extension. I t is recommended to examine this model, but please bear in mind it is far from complete! A useful resource in the example model however, is the view TOGAF-SIB (TOGAF Standards Information Base).

The Open Group’s Standards Information Base (http://www.opengroup.org/sib.htm )is a database of facts and guidance about information systems standards. The standards to which it refers come from many sources: from formal standards bodies such as ISO or IEEE; from authoritative standards makers such as the Internet Society; and from other consortia, like the World Wide Web Consortium and the Object Management Group.

An example of the contents of this package is as shown below:

Summary

In this tutorial we have outlined the TOGAF MDG technology that is available for Enterprise Architect together with how to get started using the technology.

Wednesday, 18 May 2011 14:29

An Overview of SoaML

Dunstan Thomas Consulting 

In Enterprise Architect SoaML is provided via MDG Technology as a UML Profile and is included as standard in the following editions of Enterprise Architect:

  • Corporate
  • Business & Software Engineering
  • Systems Engineering
  • Ultimate Edition

Introducing SoaML

A service is an offer of value to another through a well-defined interface and available to a community (which may be the general public). A service results in work provided to one by another. Service Oriented Architecture (SOA) is a way of organizing and understanding [representations of] organizations, communities and systems to maximize agility, scale and interoperability.

The SOA approach is simple – people, organizations and systems provide services to each other. These services allow us to get something done without doing it ourselves or even without knowing how to do it -enabling us to be more efficient and agile. Services also enable us to offer our capabilities to others in exchange for some value – thus establishing a community, process, or marketplace.

The SOA paradigm works equally well for integrating existing capabilities as for creating and integrating new capabilities.

SOA is an architectural paradigm for defining how people, organizations and systems provide and use services to achieve results. SoaML provides a standard way to architect and model SOA solutions using the Unified Modelling Language (UML). The profile uses the built-in extension mechanisms of UML to define SOA concepts in terms of existing UML concepts.

For detailed information on SoaML, visit: http://www.soaml.org

The Goals of SoaML

  • Intuitive and complete support for modelling services in UML.
  • Support for bi-directional asynchronous services between multiple parties.
  • Support for Services Architectures where parties provide and use multiple services.
  • Support for services defined to contain other services.
  • Easily mapped to and made part of a business process specification.
  • Compatibility with UML and BPMN for business processes.
  • Direct mapping to web services.
  • Top-down, bottom-up, or meet-in-the-middle modelling.
  • Design by contract or dynamic adaption of services.
  • To specify and relate the service capability and its contract.
  • No changes to UML.

     

Getting Started with SoaML and Enterprise Architect

Enterprise Architect provides a MDG UML profile for SoaML that can be used as desired to add service modelling to any project. Two diagrams are provided (both of which are variants of standard UML diagrams):

  1. SoaML Component Diagram
  2. SoaML Sequence Diagram

These diagrams are added to any Enterprise Architect project in the usual manner, and when one of these diagrams is chosen then the following SoaML toolboxes are added to the standard UML and EA toolboxes:

Examples

We now present some examples of the use of SoaML in the context of a Retirement Insurance Benefit domain. The first example is a SoaML Component Diagram aimed at modelling the opt-level collaboration between elements known as Participants and services known as ServiceContract.

The next diagram takes us down a layer of abstraction and “opens up” one of the ServiceContracts defined above. (Of course these diagrams can be linked by using hyerlinks). This diagram is a SoaML Sequence Diagram and shows the interaction between elements defined as Roles inside a ServiceContract.

The next diagram is another SoaML Component Diagram and is used to model the relationship between a ServiceContract, its Roles and the Interfaces derived from the diagram above that provide the necessary implementation.

The Classes referred to here as types of parameters are added to the EA model in the usual manner and provide a link from the Services Model to the Design and Implementation models.

Finally, by re-using elements defined already, we can formulate a SoaML Component Diagram which models the Service Usage.

Summary

In this tutorial, we have outlined the SoaML MDG UML profile that is available for Enterprise Architect together with how to get started using the technology.

Wednesday, 18 May 2011 10:53

Diagram Filters

Diagram Filters

When working on large diagrams modellers often need to identify certain elements that are of particular interest to them.

Some examples of element selection are:

  • Elements which have no value for a particular property (for example the Description)
  • Elements who share the same value for a particular property (for example Status or Phase)
  • Elements that were written by a particular person
  • Elements that have (or have not) been modified since a certain date

Diagram Filters functionality was added to Enterprise Architect version 8.0. Currently the Diagram Filters function only operates on Elements that are visible on a diagram (but the same Diagram Filters can be applied to diagrams of different types). They work by using a slimmed down version of the Search Filters already built-into Enterprise Architect, but instead of returning a list as a result of the search, the appearance of the Elements on the diagram can be changed.

There are four effects that can be applied when Diagram Filters are in use on a diagram, these are:

  • Fade – display all elements that do not match the filter criteria in a pale version of the diagram background
  • Gray Scale – display all elements that do not match the filter criteria in pale grey
  • Hide – conceal all elements that do not match the filter
  • Select – select all those elements that do match the filter criteria

Initially the above seems confusing, but when you see the Diagram Filters in action, the effects described above will become more intuitive. It must be noted that any one of the four effects can be applied with any Diagram Filter, that is to say, the effect is not part of the Diagram Filter but rather it controls how the filter is applied to the diagram.

Worked Example

A simple example should clarify matters. It is common modelling practice that all Elements on a diagram be elaborated with a textual description, captured in the Notes property of an Element within Enterprise Architect.

Some modellers add these notes as they create elements whereas others do not, so if we imagine a project team working collaboratively, how can each member of the team identify which elements have notes and which do not? Although there are many possible solutions to this problem, this example will illustrate a simple solution using Diagram Filters.

  1. Open a diagram and then select View | Diagram Filters from the main menu to open up the Diagram Filters view (as shown below)

    Enterprise Architect Diagram Filters

  2. Create a new Diagram Filter, by clicking on the toolbar icon Enterprise Architect Toolbar Icon
  3. Give the Diagram Filter a suitable name, for this example I have used Needs Description
  4. Create a Diagram Filter by completing the following dialog

    Enterprise Architect Diagram Filter

  5. In this example we need a simple filter that tests the value of the Notes property to be Equal to nothing. The condition is selected from a drop down list
  6. After setting these options our filter now looks like

    Enterprise Architect Diagram Filter

  7. Click OK
  8. The Diagram Filter is now added to the list of available filters (it is perfectly feasible to have many Diagram Filters defined and apply them in many different combinations)

    Enterprise Architect Diagram Filter

  9. To apply the filter to the current diagram, use the Drop Down list (Fade, Gray Scale, Hide, Select…) to set the effect and click the check box next to the Diagram Filter name.

The following images illustrate the application of the Diagram Filter for each of the four effects.

Fade

Fade out those elements that do have a description leaving those elements that need a description

Enterprise Architect Diagram Filter - Fade

Gray Scale

Colour grey out those elements that do have a description leaving those elements that need a description

Enterprise Architect Diagram Filter - Grey Scale

Hide

Hide those elements that do have a description leaving those elements that need a description

Enterprise Architect Diagram Filter - Hide

Select…

Select these elements that do need a description leaving those elements that have a description unselected.

Enterprise Architect Diagram Filter - Select

The modeller is able to identify quickly and easily those elements that require a description to be added.

For some diagrams with many different element types, a filter setting for a particular Object Type could be added to the filter testing for the empty Notes property. Currently, Diagram Filters cannot use a search term, so a separate Diagram Filter would have to be created for each element type.

Notes

  • If a Diagram Filter has been applied to a diagram (or diagrams) and documentation is produced, then the effect of the filter will be replicated in the documentation output.
  • Also the application of a diagram filter does not mark the diagram as unsaved, hence if a Diagram Filter is applied, then diagram closed, when the diagram is re-opened the Diagram Filter is not applied despite the fact that it may still be checked in the Diagram Filters view.

Summary

In this tutorial, we have described how use Diagram Filters to “fine tune” the appearance of diagrams. Diagram Filters are a potentially valuable aid to modellers, particularly those who work in a collaborative modelling environment.

You can read more articles like this on our blog.

Wednesday, 18 May 2011 10:44

UML Design Patterns

 

Introduction

Users of Enterprise Architect may be aware of the use of “Gang of Four” Design Patterns (Gamma et al) in the use of software designs and the support that Enterprise Architect provides for using these “Gang of Four” patterns.

Enterprise Architect also provides facilities for modellers to create and share their own design patterns. Users of Enterprise Architect may be under the impression that creating and sharing your own patterns is restricted to UML class diagrams however this is not the case.

This tutorial presents an illustration of creating, using and distributing a Business Process Workflow pattern using BPMN 1.1

Business Workflow Patterns

The research work of Professor van der Aalst has resulted in the identification of 21 basic workflow patterns that describe the behaviour of business processes.

These patterns are divided into the following categories:

  1. Basic Control Flow Patterns
  2. Advanced Branching and Synchronization Patterns
  3. Structural Patterns
  4. Multiple Instance Patterns
  5. State-based Patterns
  6. Cancellation Patterns

However you are free to create your own modelling patterns.

For the purpose of this newsletter, I will describe the following pattern, which I will refer to as “Parallel Process Error Propagation”. This pattern is illustrated below:

This workflow patterns ensures that if an exception occurs, then this is handled by a common activity.

Creating the Pattern

To create your own pattern, you must first model the pattern using a diagram from your chosen notation (in this case a BPMN 1.1 Business Process Model Diagram). I would recommend that ALL elements are named so identification within the pattern is made much easier. So the pattern can be maintained I recommend that a separate Enterprise Architect project is used to model your patterns.

The diagram created must now be saved as a UML Pattern using the following steps:

  1. Select Diagram | Save UML Pattern…from the main menu. The following dialog displays

  2. Complete the dialog as follows:
    1. In the Pattern Name: field enter a name to identify your pattern
    2. In the Filename field, enter a directory path and filename in which to save the pattern
    3. In the Category field, enter a name under which your pattern will appear in the UML Patterns section in the Resources view
    4. In the Version field enter any desired version number and in the Notes field enter a description of your pattern
    5. Complete a selection for the actions that are available when the pattern is used
      1. Create: creates the pattern directly adding new elements to your model
      2. Merge: Uses existing elements in your model and assembles them into your pattern (refer to Limitations later in this newsletter)
      3. Instance and Role are only where Object, Ports or Parts are used within your pattern
    6. You can also enter a comment for each element in your pattern to give some guidance as to its purpose within the pattern

      The illustration below shows a typical completion of the UML Pattern dialog

       

  3. After completing the dialog click OK to save your pattern

Importing the Pattern

In order to use your pattern, it must be imported into you modelling project:

  1. Select the Resources window (if this is not visible, then use the View menu to select the Resources view)
  2. Right-click on the UML Patterns node, and select Import UML Pattern
  3. Navigate to the file created when you saved your Pattern
  4. Click Open to complete the import process

If all has gone well, you should see you pattern in the Resources view as shown below:

Using the Pattern

To use your newly imported pattern, perform the following steps:

  1. Create a new diagram that matches the type used when the pattern was first created (for this newsletter, this would be a BPMN 1.1 Business Process Model
  2. Using the Resources view, locate the pattern and Drag and drop the pattern onto your diagram, the following dialog displays:

     

  3. Assuming that you wish to Create a new pattern, then for each element in the pattern click the … button and enter a new name (which can be blank) for your element. A typical example is shown below:

     

  4. Click OK and your pattern should appear on your diagram using the names you entered in the dialog. This is shown below:

     

(Note as the labels for the error intermediate event were hidden in the pattern, they are also hidden in the above diagram)

Limitations

When creating patterns based upon PURE UML diagrams then all features work without fault. However it is important to note that basing a pattern on a UML Profile (which BPMN is) then the Merge option does not work, therefore for BPMN patterns it is not possible (currently) to use existing BPMN elements and assemble them into a pattern.

Summary

In this tutorial, we have described how create and use a pattern based upon a modelling notation other than UML.

You can read more articles like this on our blog.

Page 5 of 6