UML, which stands for Unified Modeling Language, is a popular modeling language for software engineers. These professionals use it to analyze, design, and implement both business processes and software-based systems.
Lucidchart was made to handle complex UML diagrams, include activity diagrams, class diagrams, and use case diagrams. Use our application to make and share professional-looking charts from the web.Try it now Sign up free
UML Diagram Definition
Before you begin a UML diagram, it's important to realize that UML, as the name suggests, is a unifying language. The primary authors—Jim Rumbaugh, Ivar Jacobson, and Grady Booch—combined their competing methods into a single open standard for modeling computer applications. UML has the added benefit of being programming-language independent, so any qualified person can use it. Remember that the UML notation set is a language, rather than a methodology. This distinction allows companies to easily incorporate the Unified Modeling Language into their existing business processes without significant changes.
Although UML is not a methodology, it provides several diagram types that can be utilized within a methodology to increase understanding. These diagrams offer a helpful introduction to UML and its underlying principles. Standard UML diagrams consist of activity diagrams, use case diagrams, class diagrams, sequence diagrams, component diagrams, and deployment diagrams. This tutorial will cover the basics of these diagram types.
Activity diagrams show the procedural flow of control between class objects, along with organizational processes like business workflows. These diagram are made of specialized shapes, then connected with arrows. The notation set for activity diagrams is similar to those for state diagrams.
Begin your activity diagram with a solid circle.
Connect the circle to the first activity, which is modeled with a round-edged rectangle.
Now, connect each activity to other activities with lines that demonstrate the stepwise flow of the entire process.
You can also try using swimlanes to represent the objects that perform each activity.
USE CASE DIAGRAMS
A use case is a list of steps that define interaction between an actor (a human who interacts with the system or an external system) and the system itself. Use case diagrams depict the specifications of a use case and model the functional units of a system. These diagrams help development teams understand the requirements of their system, including the role of human interaction therein and the differences between various use cases. A use case diagram might display all use cases of the system, or just one group of use cases with similar functionality.
To begin a use case diagram, add an oval shape to the center of the drawing.
Type the name of the use case inside the oval.
Represent actors with a stick figure near the diagram, then use lines to model relationships between actors and use cases.
Class diagrams represent the static structures of a system, including its classes, attributes, operations, and objects. A class diagram can display computational data or organizational data in the form of implementation classes and logical classes, respectively. There may be overlap between these two groups.
Classes are represented with a rectangular shape that is split into thirds. The top section displays the class name, while the middle section contains the class' attributes. The bottom section features the class operations (also known as methods).
Add class shapes to your class diagram to model the relationship between those objects. You may need to add subclasses, as well.
Use lines to represent association, inheritance, multiplicity, and other relationships between classes and subclasses. Your preferred notation style will inform the notation of these lines.
Sequence diagrams, also known as event diagrams or event scenarios, illustrate how processes interact with each other by showing calls between different objects in a sequence. These diagrams have two dimensions: vertical and horizontal. The vertical lines show the sequence of messages and calls in chronological order, and the horizontal elements show object instances where the messages are relayed.
To create a sequence diagram, write the class instance name and class name in a rectangular box.
Draw lines between class instances to represent the sender and receiver of messages.
Use solid arrowheads to symbolize synchronous messages, open arrowheads for asynchronous messages, and dashed lines for reply messages.
Component diagrams show how components are combined to form larger components or software systems. These diagrams are meant to model the dependencies of each component in the system. A component is something required to execute a stereotype function. A component stereotype may consist of executables, documents, database tables, files, or library files.
Represent a component with a rectangle shape. It should have two small rectangles on the side, or feature an icon with this shape.
Add lines between component shapes to represent the relevant relationships.
A deployment diagram models the physical deployment and structure of hardware components. Deployment diagrams demonstrate where and how the components of a system will operate in conjunction with each other.
When drawing a deployment diagram, use the same notation that you use for a component diagram.
Use a 3-D cube to model a node (which represents a physical machine or virtual machine).
Label the node in the same style that is used for sequence diagrams. Add other nodes as needed, then connect with lines.
While this tutorial is not comprehensive, it should get you off to the right start. Use Lucidchart for a free, easy-to-use diagram tool as you build UML diagrams from start to finish.