- UML Tutorial
- UML - Home
- UML - Overview
- UML - Building Blocks
- UML - Architecture
- UML - Modeling Types
- UML - Basic Notations
- UML - Standard Diagrams
- UML - Class Diagram
- UML - Object Diagram
- UML - Component Diagram
- UML - Deployment Diagram
- UML - Use Case Diagram
- UML - Interaction Diagram
- UML - Statechart Diagram
- UML - Activity Diagram
- UML - Summary
- UML 2.0 Overview
- UML 2.0 - Overview
- UML Useful Resources
- UML - Useful Resources
- UML - Knowledge Test
- UML - Tools & Utilities
- UML - Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
UML - Building Blocks
As UML describes the real-time systems, it is very important to make a conceptual model and then proceed gradually. The conceptual model of UML can be mastered by learning the following three major elements −
- UML building blocks
- Rules to connect the building blocks
- Common mechanisms of UML
This chapter describes all the UML building blocks. The building blocks of UML can be defined as −
Things are the most important building blocks of UML. Things can be −
Structural things define the static part of the model. They represent the physical and conceptual elements. Following are the brief descriptions of the structural things.
Class − Class represents a set of objects having similar responsibilities.
Interface − Interface defines a set of operations, which specify the responsibility of a class.
Collaboration −Collaboration defines an interaction between elements.
Use case −Use case represents a set of actions performed by a system for a specific goal.
Component −Component describes the physical part of a system.
Node − A node can be defined as a physical element that exists at run time.
A behavioral thing consists of the dynamic parts of UML models. Following are the behavioral things −
Interaction − Interaction is defined as a behavior that consists of a group of messages exchanged among elements to accomplish a specific task.
State machine − State machine is useful when the state of an object in its life cycle is important. It defines the sequence of states an object goes through in response to events. Events are external factors responsible for state change
Grouping things can be defined as a mechanism to group elements of a UML model together. There is only one grouping thing available −
Package − Package is the only one grouping thing available for gathering structural and behavioral things.
Annotational things can be defined as a mechanism to capture remarks, descriptions, and comments of UML model elements. Note - It is the only one Annotational thing available. A note is used to render comments, constraints, etc. of an UML element.
Relationship is another most important building block of UML. It shows how the elements are associated with each other and this association describes the functionality of an application.
There are four kinds of relationships available.
Dependency is a relationship between two things in which change in one element also affects the other.
Association is basically a set of links that connects the elements of a UML model. It also describes how many objects are taking part in that relationship.
Generalization can be defined as a relationship which connects a specialized element with a generalized element. It basically describes the inheritance relationship in the world of objects.
Realization can be defined as a relationship in which two elements are connected. One element describes some responsibility, which is not implemented and the other one implements them. This relationship exists in case of interfaces.
UML diagrams are the ultimate output of the entire discussion. All the elements, relationships are used to make a complete UML diagram and the diagram represents a system.
The visual effect of the UML diagram is the most important part of the entire process. All the other elements are used to make it complete.
UML includes the following nine diagrams, the details of which are described in the subsequent chapters.
- Class diagram
- Object diagram
- Use case diagram
- Sequence diagram
- Collaboration diagram
- Activity diagram
- Statechart diagram
- Deployment diagram
- Component diagram