Standard visual modelling languages
Tags: agile, beginners
Published: 2022-11-18 17:35:08

Within the profession of Business Analysis, a key function is for the Analyst to be able to communicate ideas effectively, in a way that an intended audience is easily able to understand. 

One way of doing this is visually modelling a process or system; a large benefit of this is to be able to distil complex concepts down into one easy-to-digest visual. Additionally, it’s easy to iterate on a model based on feedback, and new requirements coming to light.

In order to help Business Analysts, various standardised modelling languages have been created. In this article, we’ll focus on two of the most common ones: Unified Modelling Language (UML) and Business Process Modelling Notation (BPMN). When should you use them, and what do they consist of?

## Unified Modelling Language 🌐

UML is an object-oriented modelling language, intended for use in a broad range of different domains, architectures and coding languages. It is focussed on the design of IT systems specifically, and as such can be used for software or architectural designs.

> **What is UML good for?**
> - Interactions within an IT system or between IT systems.
> - Determining objects used by a system, and the data items within them.
> - Communicating architectural designs to stakeholders with technical expertise.
> - Automated generation of code and/or test cases.

There are two different types of UML diagrams:

## Structure diagrams
These demonstrate the objects and components within an IT system and how they relate to each other. Various types of structure diagrams are available, including:

<u>Class diagrams</u> 
Denote object classes within the system, and the relationships between them.

<u>Object diagrams</u> 
Similar to class diagrams, but show how the user of a system might see the objects within it.

<u>Composite structure diagrams</u> 
Also similar to class diagrams, but also show the composite parts within classes.

<u>Component diagrams</u> 
Depict how system components hang together and depend on each other.

<u>Deployment diagrams</u> 
Denote the distribution order and configuration required when deploying an IT system.

<u>Package diagrams</u> 
Model how packages in the system fit into the overall application model and their dependencies.

<u>Profile diagrams</u> 
Allow you to document prototype data structures using “stereotypes” - domain-specific data models which can be used for more formal class or object diagrams later.

## Example
[Example class diagram on Diagrams.net](https://viewer.diagrams.net/?tags=%7B%7D&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Example%20Class%20Diagram.drawio#R7V1tc%2BK2Fv41zLSdgbEsIORjINvtnaY7mbCd2%2B2XO8IWRre2RW2xCf31PZLfLRsMwWtKndnJWsfym55HRzqPjp0BXnhvHwOy3fzCbeoOTMN%2BG%2BDHgWmiqXEP%2F0nLPrVMIosTMDu2ZYYl%2B4vGRiO27phNw0JFwbkr2LZotLjvU0sUbCQI%2BGux2pq7xatuiUM1w9Iirm79L7PFJrLOzLvM%2FhNlzia5MprGT%2ByRpHL8JOGG2Pw1Z8IfBngRcC6iLe9tQV3Zekm7RMf9WLM3vbGA%2BqLJAfdovvkZo4%2F%2F%2B%2F2z8%2BQM37bs95dhfJavxN3FD%2FxC1zQIiBvftNgnLRG%2BMs8lPpTma%2B6LZbzHgDJxmePDtgW3QgMwfKWBYNCID%2FEOwbdgtTbMtZ%2FInu%2FkDYeCWH8kpfmGB%2BwvOC1cGD8iMMDuQMR8MKeFGkt5ZHzpgIZQ5zlpBZSankgo4joWd12yDdlK3bCs4pHAYf6cC8G95ER859vUjkspWKogAv5HCr88Pm41eEr6VgsHSkGG7kG5R0WwhyrxASkvkp6RlF8zmkFviWybHMXAGtM7praTnju93At0BeI78LzZ9XDpeuOm1ytdjriAsU8EncsWC%2FOcg43co2YmxcQTWGlWs5L6lnygTztvBSwr8xOgEDkuunQtapkYbonFfOdJ1XkcZ5aX%2BLmlicOxa1exYMNsm%2FqKJYIIskqZv%2BXMF6phJnP4B823MEaTwQRuaAFllJXhn6weiAX3gVCEKZpQYOkrlUxtxqn6TqwTbV%2FE71Sc87QqAHwqmviAjzFeoAW4f3NgHvAmG%2BG58WZbkE%2FMjiEfa5D%2FGjjQffc90BcF%2Bm7WMdCTQ337iQpxg466W8iRMe4Y86mGuQaxy9Q8MW4OVDmHOoK%2FB0jK0yWAf5Z8eBwijRRYJwWuIIBLVtR95iETjMvzB1HdEjG6GqQRbjgbm7UE6p0GKrEsuhXffX9z%2Fbc9DLv2xjMNxID%2BH0KBHsTmIE67dq%2F3Goi7rQ3hVjKw%2Fsdf88Aj0o31uDbH9f7McPdiuCaKVg7YB%2FsrUyHtC%2F1zJ5%2B%2F11xa1VxQSXPBs4akSLSS0yQXhM%2B8XAeSC9KVQI2N1LcfpKQKpZXLJR3mYIr5goyo%2BCNz3WaAFtGntkMTflN3xV8%2FZIa5MsCOhOMpHeRRh8kAT8B3gUUb9Exgv0MPuZj7anZVwRlQF1z01%2BLNHaDPs3ShObXOKFIHyFM8RfRQ8VF51bd0Ilw6EZ6UuBU9tHaii%2FFK1%2FIetmq88Ki6z971fRPXh8%2F1Ree5PjxucLm7K3F9ukD5DH2X%2Bj0pWyblxJgVWNL2Gshk8s9ZA0G6hvqJeFSj5L94wo%2BryXUt6x5IF0c%2F%2FbQc3OwCVuu66GG8O1%2F0QLow%2BgguAix8Db%2FmLID76kG%2FKOidL4AgXTh9sG0YfsMe6stC3f3CB9L11Y8Q8fau%2FOJQN10NaQ9qXYV95qGwuH17M7CuwZ50PVFLoo5%2BRfOiuM4aTsjaWtI0dUkTHpOt94%2FU447MV2VW2C%2BhnIBo52soScfMQSpbYedCpN%2BrNS2rNUNsmKOyYoMnzSiBxpN6TtyGjmjqOmKv2FR03%2BtVbExdc3villpq71FsimJjHaa1cV%2FX3Z4DvoaQHHCMko6523fLxoCeu2p9OUB1Ya0E6OIW47LWAEVG545WV83QaPSDBmEu44BvVXvnArBc7oGZTL%2BS2jYjHvftzxvml2ZmaJwYcpkK%2BeQDQGTDHUmsfAbCERat4olZOanhjYnfcttf5DbAH5Ue33K7HveDfKB9kcQGXJOwkEzojFE84L0zW2E4xsbIyP2gwqQNZmiwd5ztNosXaJrLMESl2aBG0JpkhuxMSUW%2BXoe0lYQHUxcJUSe8Rm3y2odG%2Bi1fyDFbFjNqq9J%2BUOwPqJv%2BELP9aJ5PtJJT32%2BK9MYX6UNpZJN2mvGoFDI17ScTVD5V6UQt5%2FyYungaJa9WKOV9jN7qW6XDxikOaHZWSsU%2FKccR6zpvH6BX9NzrDdCxLun2od07AO08ZwLrgu6%2FIbRre8ntCOydZ01gXSq91ayJ1kDsPh8C63Lp84b7%2FTcazgCz84wHrKumHzzC9O%2FA9BhebSID1oXSOPCyZdjL4deSBtE7Z30cNmgxDhuWlKrm66SJ8XbXSbEu%2Fi631GLAM3F7Hwg5393gGhXqaoIxXelc7lbDsMfyZCy7j8N0ya6fkJ8IYudR1VjXt%2Fr5%2BHlYdh9cjXWpq5%2BPn4Zh5zHVWFe3bnktMFv%2B%2B5Le%2FvG1wGz970tuT%2BtrgcnHZI%2BtBdYFfdka%2BrQ407%2FMBwDK7%2B0jVIoLmi4GjlHNO7ZXtGY%2BrpADlfSbpfYaHpGtvqIu950kmPV4IAc3sSE%2B%2FBeNdGmAu5DVd0L1f3ULK7l7RUIVDBORHlGb4gdh4lZu%2BlzI7hHG4aok4uuGCboE3yktrwHZFrttI592JII077Rs22HV%2B9FGVRRpHIgi3%2BfSdM3vkEfzuZIUbBJulMNAxXaqyZY5wSOc7X1k6ZkGDJpFihqXdi9Jsxz1L%2BOanPscxJMKhCeXcTNDs%2FxK%2FLl%2BZlj%2BZElZyGg56WCs65cDc%2BrKgYzBhhNNNSLDKjF8gp4dJla47CqrmToc%2BQi2rZzGmgdRSb1yo5anLO6rCVh2jtzVqmdq2jtEC%2B7yIOssa3BXJdNRCS59t6jKMRV7mZT3ktMP5DgznS4Wl%2FJZpfSDyhdGTJ3NuDV3VfWxypQVOXCmf%2B54TJFsq5o0v%2Bzk5%2BddSRyjijvqbe9oaIF2UzqIYakRSnVWmoxeBMaVjQzKeurIRBU0g%2BGuPofQ1AXUqZEOkIX3yVojky5cvptMD44TUEfNP%2Br4RNQkJ6AWD6QgawBO1kY%2Bn7JDE6upzLpnVOljb%2BVkUVTFoG9Jn2vJDG0z41kDVP7k53aD5pmf6dwOjQwT52d3xug%2BM3Q0w2uaTBrJ5IcCSHx3hy4ym0OlKdjdmXO5clKfWZ4UXkPMqCvW73bGC%2B5t4%2FepT3XG3k5%2Bww6mg0OgsNpkvgpNZfVwHwrq9W5ZTfVKyclV%2Banmt3TLSQB0SSJ9pD4NAJAwptKUeLKR%2FVW4zVXP84r5NmAlYjkjEycsl8g1GIPJX0Tez241TIz9oK%2FlP08mBXbhigjkvkowKatil6PXaR9WjZu7XiOp0Tuy8a96NGw%2B8B1%2FO8KshuDbKBb6B01L75E2FkbLmesNBQtASikDSbV4KaT2hseo%2BoYzUkVnbDg6QjH7m2FR9exPr%2BEPfwM%3D)

## Behaviour diagrams
These demonstrate dynamic changes which may occur within an IT system as a result of user or automated triggers. Many different behaviour diagrams exist, including:

<u>Use case diagrams</u>
Describe how users and systems functionally interact with an IT system, in a series of steps.

<u>Activity diagrams</u>
Graphical representations of the workflow through a system, organised into swim lanes.

<u>Interaction overview diagrams</u> 
Similar to activity diagrams, but with a focus on interactions over workflow.

<u>Sequence diagrams</u>
Models dependencies in the flow of an IT system in sequence.

<u>Communication diagrams</u> 
Similar to sequence diagrams, but more focussed on how processes interact than on the time sequence.

<u>Timing diagrams</u> 
Also similar to sequence diagrams, but with an emphasis on the amount of time each process takes.

<u>State diagrams</u>
Show which state transitions are permitted and how they are triggered.

## Example
[Example use case diagram on Diagrams.net](https://viewer.diagrams.net/?tags=%7B%7D&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Example%20Use%20Case%20Diagram.drawio#R7VrJcts4EP0aVc0c7OJO6eglW1VclYqScjI3iIQojEmCA0K2PF8%2FDRJcsCh2bMmykvHBAhoLgcfXrxuQJv5FsXnHULW6oinOJ56Tbib%2B5cTz4qkH%2F4XhvjW4kRO2loyRVNoGw5z8i6XRkdY1SXGtdOSU5pxUqjGhZYkTrtgQY%2FRO7bakufrUCmXYMMwTlJvWa5LyVWudevFgf49Jtuqe7EaztqVAXWe5k3qFUno3MvlvJv4Fo5S3pWJzgXMBXodLO%2B7tltZ%2BYQyX%2FDEDFum79ObjwrsmF8Vf7%2F%2BOv5LF9ETOcovytdzwZ7zEjGEmF83vOyRg%2FZUorov8LOGUTfzzW8w4Aaw%2BogXOP9GacEJL6LKgnNNi1OEsJ5lo4LQC64oXOVRcKNI1z0mJL%2Fq354BRrgnG4s3Wzbo9hMA9TAvM2T106QaEEvWOd91buBteoi9Nq9H7i6QNSdpk%2FcwDslCQ4P4E0J4BNOy5XuccwYaOGuo41qCODgy1b0BtAHy3IhzPK5SI%2Bh0olwrVDlDptyxROXFDA5UgtMASzMI94RIYuFyhG9BWz2GNz6PcwAlmBaGFyvn%2BEfN9kze9244Rmu6LOKEB0BeGSPYKIepczT00ZJEB2RxzgReoTQLPeFVweRZlelm4YgOuawYoqARzcsy5JQAfErqTPqAeDLupRdYjVIi957zZ9bhGyiRfp7g3ZkoXWdMAHkGoR9M%2BzOIyPRNpJdhohaHpPEX1CqdyHDTLHHYKNUbXZdq0iViLN4R%2FE%2BXTUNa%2Bd6OgfLkZdbu87yolQDcaJKrfx23DsKbWjWv3hlMjudUIAPuna5bgh1WRI5Zh%2FpAUbCWUc%2BoG3kzhVCCZwnCOOLlVV2qjj5z8EyUiZ%2BpmDlyVqr6eWLQ7lKPGCbI2kT%2FV5CLWJmoh%2BMFEXUe6XNZY6dMwvkfl6U4wsziBLhMDQ0taYlUaNEb27FK4NVDt2ex6kDWBnTUjlbElSeFuqOPOtHjqP5E6npYD6yK4hTm7YkXnAb8OLeJfgxZaFNWVad%2B0ME%2F3z6KFjF%2FuKHoNscwev3Ydhw5FiUCnxFODTBxpE81emBPmRcQRc2JLzvEynAj140VwrJwwb0y%2BVikyziWkXFJWoObm6TUdTvrE7WBnE9e8WznyANxy4vgjsOZa%2FiNz%2Bp25lnmn9P%2Bp9dn83aoMJ5Zj5smOzpn%2BdHYaRrPhL3gaJbfN0y33p0%2Bd%2FRWNOm5%2Fh1DXvPW7QjxZNfGiAoxxs64UFzQT3wqSpD5ovAgdVQSCg4cL8x7w8xBmr1CJMly0IM7va44LA76j%2FobIcpX4ol8QubarxKPNgd2DJsGRFql1n3l0Dhz%2BeJ59x2nbxVrUxOQlbdaZ0Fy4GbRE%2F6xpG4l9x4miJBmboi5kN2MXneFcMIaUGUy0oBshlJEM%2F28XwyDIsFPwUI7F6wPZXMHnuha1BNWNugI%2Fmm6CGAmE8on4SQMTCd1KlD98EQ1SMvontDuI7OkDuDVX2V1zRm9ABdr9SvYvSZ5rJiR1JAHKYmYRmIKkab5N4lUfEkucy0V1J9TnSE4Qx6ehGldnFtWPQtMx9FRzdz8BsN3S7ZBjH7rk0bGxi6OsVhmGFHaNKEfaOM7EkuhS9Cwp8Iv95pSKVEJ5joVQwYsSyna%2Ft0NCndU1TYg871tJJdIFQRb4vBE7FKmIqP%2FRUalAAsGFYFeFaZWLQqNXrUjVfwrporrM%2FdY0s18Z70G1oDr8%2BqwNpMNv%2BPw3%2FwE%3D)

## Business Process Modelling Notation 🔁
BPMN is a process-oriented modelling language, intended to represent the full business process supporting an IT system. It is based on flow charts, and likely to cover areas outside of the scope of a software or architectural change being investigated or proposed.

> **What is BPMN good for?**
> - Mapping out business processes underpinned by an IT system.
> - Determining the different scenarios that may occur, and how a system should behave in each scenario.
> - Communicating system behaviour to all business stakeholders, regardless of technical knowledge.

BPMN has four main components:

1. **Flow objects**
These can be events (triggers for the beginning or end of a flow), activities (processes or sub-processes undertaken by a user or system within the flow), or gateways (decision points where the flow can branch off in multiple directions).

2. **Connecting objects**
These can be flows of activities or messages (denoted by a solid or dashed arrow, respectively) or associations (links between an artefact and a flow object).

3. **Swimlanes**
These can exist on two levels: Pools (groupings of roles such as a function or organisation) and, within them, lanes (individual roles within the process).

4. **Artefacts** 
These can be data objects (information required for a process), groups (which link together activities in a process), or annotations (textual descriptions of to give additional context).

## Example
[Example business process flow diagram on Diagrams.net](https://viewer.diagrams.net/?tags=%7B%7D&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Example%20Business%20Process%20Flow%20Diagram.drawio#R7V1bc9o4FP41PGYH381jQtJuZjYznbKdbvdN2ALUGIuVRYD%2B%2BpV8wbZksCD4Amk7k7GFb5zz6dM5n47MwBgvt58JWC1esA%2BDgT70twPjcaDrjquzv7xhlzSYhp00zAnykyYtb5igXzBtHKata%2BTDqHQgxTigaFVu9HAYQo%2BW2gAheFM%2BbIaD8l1XYA6lhokHArn1O%2FLpIml1dSdv%2FxOi%2BSK7s2aPkk%2BWIDs4%2FSbRAvh4U2gyngbGmGBMk63ldgwDbrvMLsl5nw58un8wAkOqcgIFu29f%2F8Xj2ff1cPQ8%2BfyKFuO79CpvIFinXzh9WLrLLEDwOvQhv8hwYDxsFojCyQp4%2FNMNczlrW9BlwPY0tjlDQTDGASbxucaTzf%2Bz9ogS%2FAqzT0IcstMf0ntDQuH24JfS9qZiEIN4CSnZsUOyE4apdVN4aXa6v8mdpelZ46LgKcdMG0GKkPn%2B4rkR2UZqxxNsqks2%2FQpnkBBIJNtGG7QMQGyMBSboFw4pCBQtzY6dpFdStzz7ZBj%2F69r8%2BrAp8xv1kGZXYfwB640MolVCKjO05V1AtLJvQdc3q6zs6lPDtlWtfBhHB03vlC3vyIa3KsxuNWV1U8HqoX%2FPGZnteQGIIuSVjV0mGrhF9J%2F0E779g7f%2FYaV7j9vCYY%2B7dCe5JfQlSlexNHtWvCYerIOW7BFFmxMYAIreys9W5Yj0Dl8wYk%2B9d7huCn1N7EHJ46dnFQcC4UKaVb7QyCpfhwIyh1S6TgyL%2Fbc%2BHymWhJRnn7kHzbgpvQCFiI2%2BbDOEDAuHByPt5MFoNpvpnlfVWX17altNdlbR5LZVQZMV0LGb6q625ITvhNkyRikfq2IPBJDSikHrSn1g6D3zgfMRKDM1csIpdYDsilpNTYDGmcxq2iJFt8qsrgSoF%2FAq9OkZwcvYvxTB%2BNEJ9DDxuSt3EYXLW%2Bnt5qhnvX3Uh97OLEp2%2FxR3Cmfx3fy0eK8tlrAVWcLtlCWcA8nOqTRhCSOR1jJPZLcrYPHbygfi8I%2FCGSZLZjEc3gorOHpt1tQuK2hVAowdsNs%2BILYxp7ExkoZp1jBh%2BOBwAiHnbRj%2FXXGwRNmh7Fmm%2BelDZjT2l0XZmPKYejiNQ21m9zWJ9z1EvAAWzy7cXPA88wgtu7dS2yn6PG0CAZqHnNuYB1lYaTxw%2F%2FJg%2Fz79YIl8PziUlZfJj6sfJU3Dtsfj9rLtfTxfBI5ZARy9MeDIKlMBOAWH2f%2BtcYqifKsaV%2FceY0fEAoM6HK2QlwBpg9i3Z%2FhZk7d4nwUTFIRzdmvx2gcu%2BRtwBwDnChmjWxG%2FaK0CTtbVvuZjxQsIwRwuk5ByUh1JXr3YKQwe%2B6yhNHpUs0BjXpF1txdAvUUpxPfhEs%2F57AzyInkkX%2BDldB2dMYpD%2B8Ao7oym6jY%2FAjbl4F6XHeFWuMFtzAuypjUmMAmo5EzrWkKpGifoI7PkBKPzWEoWtSRjn5hiZemSdlq6lKVm2XaTQkzGy7U5VkYVtUlWguausixbGPiMM5MsR5iauhNHxqaTLFneu%2Ff9coZFMXf5FkUUhfNb5gopde6eLGSx7L1kkXX6fUf%2FMcjVmU47fWd92RDcLgodyoqJeCGRFZruzLJ69wmgYM3zoV6mK831ZKOanguAqpruF%2F11uWILWcuarD0PRnKke%2BOesYT54VHXnjkqbZ2nUDxCD0WxHrkXvIZVwkIiVKDQZ04qKRWUoFif%2BNhaVx2S3DKSqsSuVrWHbGwu5lc4jNYBBSnf37LOYKvrDKPGPKBSVdXbcGn%2FsLXhUqepjzh9LOoVqtGSYZUzc6fdYEmXNam%2FGe3Oy9NL15LZJNhRVkE6n1HSZS1qAjk48Jp67B6y5fsoANZYXZrd71gA1C8vPV3D7L4qreqq0pPeKf9a4pzLmfxrC9JTy8mqLitPz%2FFU%2Fp5%2FeVHfEM%2Fi%2FZ%2FQu7IZ%2FuPUIOp%2BFXMDLRNyY0rTbXCDaoVgAuvOuEFQMMVIW5kbxElENW5g6AC7wmFZ9ntQeRMXZgyHxx9LON4qHc42kge4LE9dviSuE5B3pq4e8PHpmBTGPU1cJdIUKNtAWTb4HkUZ83yW9mNCF3iOQxA85a0CzvJj%2FsJ4lULxJ6R0ly5gBGuKy0BtnEeNbHVkHY8aB0CrjMb3rc6SVcFCGQndrW4jQZG6VIWG02qGYuiS3b8Q%2FIZ8npUD%2Fw15fCOekMxjxBsJCV2RdzqPCQ1ZTnvA%2BJXfahWzaFJJdSP2F6cBu4%2FJjcaWK54iZ%2BbhSh6h%2FCgFKB3F5OpjSacrIsVqbmm9jXKtSF1lf8MZu1Gl2SVl3fuKEBS%2BIZoW41%2FfyrzTCLoHBKEi6F1qFfnM9WC16aeuZVqNBiqaZoq2lyuNW11JbvRiXWRv9ZIsdKjn5k61VEeYy5KEDlVudoW1mZqovDTNzR9YvusKPCNxYDdH54Fn5NRcqGnwqEhctzCMiIbWuh5FMrr53W2767bapbqtdKGGu61ZJVLxiTIJQv2oEGusW4uzFRVxeas1haYuOebe8%2BDq4zlGQdJq1zOyovVcXD8uzTyD2G8g9CoE3ytNY6Voo%2FM01uzFa7l6m0uZyrlUp6%2Bn0TRXpOEzkylNFxdSKE71XWxklZWu%2B3Ty4WMRuCM6onMCr1K83lmu%2FwKjCMx5sf1wCukGwqRwHweH6vYX4C1%2BwwCIFnHVfoDCD16qXwMjTVRHqoacVmv1zSr5LnFgtAJh5sD0lajcyfGk4wSShAb2vi4efSREUKjqJzgVzo3Hu1Hmps7L%2FO%2B0TGTOilhNOWfeF7q247teLIo8d1osZQ3legtNMUpwFYOEbtdaioKreXaFmlBbbbb8dipTRTPrLQgviLtsBXnPq6ZF4NnnAk9U%2Bm3F2shLAS%2BzR9PAGyoC77RkqSn2y5xSj8Je0Z9uCW81Vl48JQTmpuLqqVOLIV0hp8vmtQ6mbuK7RU883tGOHy%2B%2BHlc4vpniTEvh9wfa7HJlrtc66nK6KvEnLuqqy7liKfu562VcQTczW14wY%2BkSCu%2BPlOH1I9UcvD8DER3oNPfKALab%2F9JJ4rf852KMp%2F8B)