Explaining the General with a Specific
Explaining ideas using Object diagrams
‘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:
- There’s an abstract idea of ‘Organisational Unit’ (abstract because it’s in italics – my least favorite bit of UML notation)
- 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.
- Teams are slightly different from People: they can contain other Organisational Units (the line with diamond). But People can’t.
- 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
Where's the best place to start modelling?
19 October 2020
Advice for the new modeller #1 - Where do you start?
Learn MoreProcess based model styles
25 August 2020
How to use BPMN and UML to make models which last.
Learn MoreModels matter - nearly as much as deliverables
25 August 2020
Models matter - nearly as much as model deliverables
Learn MoreImproving 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 MoreFixing your meta-model
25 August 2020
Advice for the new modeller #3 – Fixing your meta-model
Learn MoreHow much domain modelling is enough?
25 August 2020
Advice for the new modeller #2 – (not) Melting the Pan
Learn MoreWhat needs to be included in your EA model content?
25 August 2020
Advice for the new modeller #4 – (not) Modelling The World
Learn MoreKnowing when to give up
25 August 2020
Knowing when to step back makes for better Business Analysts
Learn MoreUsing Enterprise Architect to document decision making
25 August 2020
Make your models more useful for future modellers
Learn MoreBeck’s Map: an EA model abstraction example
25 August 2020
Possibly the best model abstraction in the world
Learn MoreSimplifying ideas in a BPMN Process Diagram
25 August 2020
How to find the right number of ideas to include in your model.
Learn MoreExplaining EA Sparx Systems to non-modellers
25 August 2020
Model driven analysis - the best way to define what we do?
Learn MoreHow to simplify BPMN Data Models
25 August 2020
Why simplifying your diagrams can actually make them more informative.
Learn MoreCreate 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 MoreBeginners guide to Enterprise Architect software
18 August 2020
Our advice for new EA modellers
Learn MoreUML Business Analyst Solutions
14 August 2020
Using UML to resolve inconsistencies, gaps and overlaps.
Learn MoreCleaning: 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 MoreIncluding Sparx EA Model Provenance
14 August 2020
Sparx EA model help to explain to others why your models look the way they do.
Learn MoreWhat to include in your enterprise architect documentation
29 July 2020
How to create documents which communicate your ideas efficiently and effectively to stakeholders.
Learn MoreOrganising an Enterprise Architect Model
28 July 2020
Seven ways to organise your EA models so that other people can understand them
Learn MoreChoosing Your UML Subset
27 July 2020
Narrowing down the modelling ideas in your Enterprise Architect model to make consistent, understandable models.
Learn MoreWebinar: Using Interactive Documents to Collate Sparx EA Model Feedback
17 July 2020
A webinar from the EA Global Summit 2020.
Learn MoreWebinar: How to successfully scale up your Enterprise Architect team
30 June 2020
A webinar from the EA Global Summit 2020.
Learn MoreNavigating Models: Enterprise Architect Help and Techniques
16 April 2020
EA Model Curation Techniques #2 - Making models easy to navigate.
Learn MoreValidation: Improving your Enterprise Architecture Model Structure
16 April 2020
EA Model Curation Techniques #3 - Validating your model
Learn MoreDifferent documents for Different People
16 November 2018
How to tailor information to each user - making it as easy as possible for everyone to engage with your work, project or deliverables.
Learn MoreColor your Knowledge
25 April 2018
A while ago a client asked me to look at some process diagrams which had been created for them by a well-known consultancy.
Learn MoreModel Curation
6 March 2018
How cleaning, navigating and validating your EA model makes sharing and collaborating much more effective.
Learn MoreContext - Where are we?
20 October 2017
I’m occasionally asked “What’s the most re-usable bit of a model – where should I start?“.
Learn MoreGlossary
12 October 2017
In a recent talk, I asked the audience of about 100 BAs which of them maintained a glossary as part of their work.
Learn MoreHard and Soft
11 October 2017
No, not about Brexit… More about styles of Business Analyst.
Learn MorePrinting connectors
18 October 2016
Creating documents that start with the connections between the things in your model
Learn MoreUsing 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