Home / Support for EA Modelling With eaDocX / Insights / Modelling techniques for business architecture software to explain general patterns

Modelling techniques for business architecture software to explain general patterns

Using object diagrams to explain general patterns with specifics.

‘General to Specific’ is just the process which I’m sure you would do if you had to explain a complicated bit of a model, and if you could get your audience gathered around a white board. You’d just draw them an example.

Suppose your model looked like this:

 

 

Well-read readers will recognize this instantly as an example of the ‘Gang of Four’ composite pattern (this is what made me into a modelling geek – just this diagram, presented by Kent Beck at IBM team meeting in the early 1990s – happy days).

Students of UML will understand what this means, but it’s beauty and utility as a solution to an organisation hierarchy problem are not immediately obvious. So I’ll read it back to you:

  1. There’s an abstract idea of ‘Organisational Unit’ (abstract because it’s in italics – my least favorite bit of UML notation)
  2. There are two ‘real’ types of things which are kinds of Organisational Unit: Person, and Team.  These are shown by the lines with the arrow.
  3. Teams are slightly different from People: they can contain other Organisational Units (the line with  diamond). But People can’t.
  4. And because Organisational Units are either People or Teams, then Teams can contain Teams, which contain other Teams etc, until finally they contain People.

Simple, elegant, brilliant, re-usable in lots of ways, but really not obvious to anyone but a competent UML reader.

Even knowing nothing about the notation, this seems fairly obvious. Teams contain Teams, Teams contain People, but People don’t contain Teams. Just like the model said.

And this is the example I’m sure you’d sketch onto a whiteboard, of you had all your model readers gathered around it. And they’d understand it. Maybe not the deep elegance of the model, but at least it’s effect.

And this is why this technique is called General to Specific, and not the other way around.

You have already done the really clever bit: taking all their specific requirements and making a generic model from them. That’s the ‘Specific to General’ thing which analysts and modellers do.

Now you’re going back the other way.

Other Applications

The example above uses a Domain Model: a model of the ‘ideas’ in someones’ world. But we might equally apply it to other kinds of model:

  • In a Use Case (or User story), replace the generic with the specific. So
    “The use case starts when the user wants to find a widget configuration
    1- The User tells the system the widget details
    2 – the System finds matching Widgets, and shows then in order of configuration date”
    becomes:
    ” Fred needs to find the configuration of a type 45, blue widget
    1- Fred types ‘type=45, color=blue” into the system
    2 – system shows him:
    Widget   Type   colour        configuration date
    #123        42       blue                           1/1/2019
    #456        42       light blue             31/12/2018
  • For a requirement, make a concrete example of the consequences of it:
    “The solution shall allow only pre-configured widgets to be listed”
    add:
    “…so, for example, un-configured – but pending – widgets will not appear”
    Is the second bit part of the formal specification? No. because we put “..for example…”

The key to using this technique is not just to scribble it on a whiteboard. It’s to include these example in the model, so that when anyone reads a document, or looks at a website which is based on your model, they will see your explanation.

Negatives

  • It’s going to take some time to do this, so use the technique only where there are complicated bits. After a while, your readers will need fewer and fewer examples, as they start to understand what you’re saying
  • Some pedants may confuse the specific with the generic, so make sure examples are clearly labelled as examples, and so are not thought of as part of the specification.

More Insights

Quick Document - Video guides

22 June 2021

If you are new to eaDocX, the best place to start is by creating a Quick Document. Let eaDocX do the work

Learn More

eaDocX in the Cloud

6 April 2021

Enterprise Architect document creation for EA SAAS environments

Learn More

Producing a RACI report

11 March 2021

Producing a RACI report from data held in EA, mapping stakeholders to any project deliverables is straightforward with eaDocX.

Learn More

Using Excel to create an EA dashboard

16 February 2021

A simple example of an EA dashboard, to show how you can create your own and show the information in your EA model to your project team

Learn More

Where's the best place to start modelling?

19 October 2020

Advice for the new modeller #1 - Where do you start?

Learn More

Process based model styles

25 August 2020

How to use BPMN and UML to make models which last.

Learn More

Models matter - nearly as much as deliverables

25 August 2020

Models matter - nearly as much as model deliverables

Learn More

Improving model quality using a Sparx EA reference model

25 August 2020

Maintain quality with tools to find and fix mechanical errors in your modelling

Learn More

Fixing your meta-model

25 August 2020

Advice for the new modeller #3 – Fixing your meta-model

Learn More

How much domain modelling is enough?

25 August 2020

Advice for the new modeller #2 – (not) Melting the Pan

Learn More

What needs to be included in your EA model content?

25 August 2020

Advice for the new modeller #4 – (not) Modelling The World

Learn More

Knowing when to give up

25 August 2020

Knowing when to step back makes for better Business Analysts

Learn More

Using UML icons for more useful models

25 August 2020

Diagram Graphics for Adults

Learn More

Using Enterprise Architect to document decision making

25 August 2020

Make your models more useful for future modellers

Learn More

Beck’s Map: an EA model abstraction example

25 August 2020

Possibly the best model abstraction in the world

Learn More

Use case, package or process?

25 August 2020

A time for Packages

Learn More

Simplifying ideas in a BPMN Process Diagram

25 August 2020

How to find the right number of ideas to include in your model.

Learn More

Explaining EA Sparx Systems to non-modellers

25 August 2020

Model driven analysis - the best way to define what we do?

Learn More

How to simplify BPMN Data Models

25 August 2020

Why simplifying your diagrams can actually make them more informative.

Learn More

Create useful models using the Sparx EA Tool

18 August 2020

Advice for the new modeller #3 - Producing useful outputs with your new EA tool.

Learn More

Beginners guide to Enterprise Architect software

18 August 2020

Our advice for new EA modellers

Learn More

UML Business Analyst Solutions

14 August 2020

Using UML to resolve inconsistencies, gaps and overlaps.

Learn More

Cleaning: How to Simplify Enterprise Architecture Models

14 August 2020

Model Curation Techniques # 1 - Cleaning your EA model before you let other people see it

Learn More

Including Sparx EA Model Provenance

14 August 2020

Sparx EA model help to explain to others why your models look the way they do.

Learn More

What to include in your enterprise architect documentation

29 July 2020

How to create documents which communicate your ideas efficiently and effectively to stakeholders.

Learn More

Organising an Enterprise Architect Model

28 July 2020

Seven ways to organise your EA models so that other people can understand them

Learn More

Choosing Your UML Subset

27 July 2020

Narrowing down the modelling ideas in your Enterprise Architect model to make consistent, understandable models.

Learn More

Webinar: Using Interactive Documents to Collate Sparx EA Model Feedback

17 July 2020

A webinar from the EA Global Summit 2020.

Learn More

Webinar: How to successfully scale up your Enterprise Architect team

30 June 2020

A webinar from the EA Global Summit 2020.

Learn More

Navigating Models: Enterprise Architect Help and Techniques

16 April 2020

EA Model Curation Techniques #2 - Making models easy to navigate.

Learn More

Validation: Improving your Enterprise Architecture Model Structure

16 April 2020

EA Model Curation Techniques #3 - Validating your model

Learn More

How to create personalised documents using Sparx document generation tools

16 November 2018

A guide to creating documents from Sparx EA models so everyone can engage with your work, project or deliverables.

Learn More

Document or Enterprise Architect Views?

21 May 2018

Create documents to be used by non-EA users instead of model views.

Learn More

Improve your enterprise architecture model using colour

25 April 2018

Careful use of colour and shape makes models easier to digest.

Learn More

Model curation techniques for EA Sparx Systems

6 March 2018

How cleaning, navigating and validating your EA model makes sharing and collaborating much more effective.

Learn More

The most re-used model components in Sparx Enterprise Architect.

20 October 2017

Why is the project summary the most read element in an EA model?

Learn More

Creating a Glossary: Business Analyst Terminology

12 October 2017

Streamline your business understanding with shared definitions.

Learn More

Business Process Analyst Styles

11 October 2017

Find out if you are a 'hard' or 'soft' Business Analyst.

Learn More

How to Print Sparx EA Connectors

18 October 2016

Structure your documents using the connectors in your Sparx model.

Learn More

Using Multi-hop relationships to display Branch/Merge with EA13

11 August 2016

One of the most common requests we see from new EA users is: "Why can’t I do branch/merge with EA?

Learn More

Compare pricing and features

Choose the eaDocX edition that’s right for you and your team

Compare Pricing

Download a free trial

Take a free, no obligation, 30-day trial of eaDocX. Discover for yourself why it’s the world’s best-selling Enterprise Architect extension.

Download