Intro to UML - raisercostin/software-wiki GitHub Wiki

UML comes from Unified Modelling Language. Is a visual language that prove useful to communicate relationships between concepts in the software world. Example of concepts are: contexts, containers, components, classes. Examples of relationships are: is-a, has-a, inherits, calls, method return, depends-on, installed-on.

UML failed to become a fully formal language and now is widely used as a micro-language used to communicate better.

There are several types of useful UML diagrams each of them focused on some aspects:

  • Class diagrams - shows classes and the relationship between them: is-a, has-a, uses, aggregates
  • Sequence diagrams - shows the order in which control is passed from component to component
  • Deployment diagrams - used to describe what containers exists and how they are contained in others and how they communicate between them: hosts, ips, ports, protocols, endpoints.

To remember them use the UML cheatsheet. To learn UML just read this small (200 pages book): Martin Folwer - UML Distilled - pdf

Tools

Resources