Home / Support for EA Modelling With eaDocX / Insights / How to condense your domain class diagrams

How to condense your domain class diagrams

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

I was once loosely attached to a team who had been given the job of modeling a particular industry. Lets say it was Insurance.

They were given some money and some offices, and told to go away and create an industry model, which could be used as the basis for customer solutions. One model for all aspects of the industry – think of the time and money it would save in creating solutions, and even more in integrating them together.

The first time I saw the model, it was going OK. They had about 200 domain model classes, with things like Premium and Customer, Policy and Claim, but lots of gaps which they just hadn’t had time to fill.

Second time, a few months later, it was up to 600+. This model was now much more comprehensive, at least in the view of those who knew more about the industry than me. Had all the stuff from the first version, and a whole lot more. They looked to be nearly finished.

The final time, several months later, they had only just finished, and the model was visibly smaller. The pile of paper, which was the printout of the model, was a fraction of the height it had been last time. Back to fewer than 200 classes. What happened?

We looked at the detail. We looked for Policy – the heart of any insurance system.

Nowhere.

We looked again, at about where it was the last time we looked. There was something called maybe Entity_Offering_Link. Which if the Entity is a Customer, and the Offering is ‘Insurance’, then maybe is a policy.

So what had they done? They’d started out by modelling the terms they heard the experts used, then, like good modellers do, looked for common abstractions to make things simpler. And went on and on, finding ever more abstract ideas, to ‘simplify’ the model. Until the ‘Insurance-ness’ disappeared altogether. Entity-Offering_Link could equally be an airline ticket, or a order placed at McDonalds. And links between things no longer had real names. All the ‘stuff’ was connected though a generic class, where the purpose of the link was soft-coded as a variable in the link.

Super flexible. Super abstract.

Super hard to understand.

Melting the pan

If you’ve ever made stock for cooking, you know that you start out with all the ingredients, and a whole lot of water. What you want is the concentrated flavour, so you start to boil the mixture.

Gradually the water boils away, and you get to a rich, highly flavoured liquid, which has the concentrated essence of the initial ingredients. Then you stop boiling.

Because if you carry on, what happens is the liquid gets thick and gunky, and eventually goes dry, and finally you start to melt the pan.

This isn’t concentrated anything. It’s a fire hazard.

So be aware when you do your solemn duty as a modeller and make abstractions. Don’t get so cute that the essence of the model goes away, It must still have the ‘stuff’ which makes it an insurance or an airline or a restaurant model. It should not need a modelling expert to explain it to a domain expert.

So if you’re managing such a team, beware of letting them model too long. And get the model reviewed frequently, by people who know the area but not the modelling style. Then get it reviewed for style by a modelling expert, before it’s too late, and your stock tastes of melted metal.

More Insights

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

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

Explaining the General with a Specific

16 April 2020

Explaining ideas using Object diagrams

Learn More

Different 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 More

Document or Model View?

21 May 2018

Use your documents as an alternative to Model Views.

Learn More

Color 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 More

Model Curation

6 March 2018

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

Learn More

Context - 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 More

Glossary

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 More

Hard and Soft

11 October 2017

No, not about Brexit… More about styles of Business Analyst.

Learn More

Printing connectors

18 October 2016

Creating documents that start with the connections between the things in your 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