Unified Modeling Language (UML)

UML is a well accepted modeling language consisting of a number of diagrams that visualize either structure or behavior of software.

Use case diagram
Details


A use case diagram visualizes the interaction between a user and a software system. It can be used to determine requirements together with users. First the most common flow of events (basic flow) will be described. Then relevant alternative flows will be described.
A disadvantage of use cases is that they’re not visual, they are drawn up in natural language. I like to combine use cases with story boarding, this way a description becomes more specific and triggers a better dialogue with users.
Use case diagram

Class diagram
Details


With a class diagram, entities and their methods and interrelationships can be modeled.
Use case diagram

Activity diagram
Details


Activity diagrams are a lot similar to flowcharts. A workflow can be visualized, a sequence of actions, decisions and concurrency.
Use case diagram

Sequence diagram
Details


Sequence diagrams are useful to model interaction between processes (or objects), especially sequentiality and timing can be visualized well. I like to use this type of diagram to document interfaces and message exchanges.
Use case diagram

State machine diagram
Details


A State machine diagram is a behavior model representing which states an entity can be in and which conditions trigger state changes.
Use case diagram