The handbook of UML
The UML (Unified Modeling Language) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. This article is a guide for us to learn this important tool in software engineering.
Tools
There are many tools for implementing UML, here we choose PlantUML instead of common drawing software. It uses a descriptive language to build models, which has the following benefits:
- Focus on content rather than typography and style
- Plain text content, which can be versionlized
- Readable, intuitive, and low learning cost
Models
- Functional Model: Shows the functionality of the system from the user’s perspective, including use case diagrams.
- Object model: uses concepts such as objects, attributes, operations, and associations to display the structure and foundation of the system, including category diagrams and object diagrams.
- Dynamic Model: Shows the internal behavior of the system. Including sequence diagrams, activity diagrams, state diagrams.
Diagrams
There are two main categories, behavioral diagrams
and structure diagrams
.
The following are the different UML Diagram Types:
- Behavioral Diagrams
- Sequence Diagram
- Use Case Diagram
- Activity Diagram
- State Machine Diagram
- Timing Diagram
- Communication Diagram
- Interaction Overview Diagram
- Structure Diagrams
- Class Diagram
- Object Diagram
- Component Diagram
- Deployment Diagram
- Package Diagram
- Profile Diagram
- Composite Structure Diagram
Note: The bold font of diagrams are supported by PlantUML.
PlantUML Tutorial
Below are the supported participant
in PlantUML:
actor
boundary
control
entity
database
collections
queue
Sequence Diagram
A sequence diagram or system sequence diagram (SSD) shows object interactions arranged in time sequence in the field of software engineering.
A system sequence diagram should specify and show the following:
- Actor
- Message
- Lifeline
- Activation
In PlantUML:
-
->
: Arrow is used for delivery message -
-->
: Dotted Arrow is used for return message
<img class="plantuml" src="http://www.plantuml.com/plantuml/svg/~h407374617274756d6c0a416c696365202d3e20426f623a2041757468656e7469636174696f6e20526571756573740a426f62202d2d3e20416c6963653a2041757468656e7469636174696f6e20526573706f6e73650a0a416c696365202d3e20426f623a20416e6f746865722061757468656e7469636174696f6e20526571756573740a416c696365203c2d2d20426f623a20416e6f746865722061757468656e7469636174696f6e20526573706f6e73650a40656e64756d6c">