UML Practical Guide – All you need to know about UML modeling
15-19 minutes
UML is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. Object Management Group (OMG) created UML and UML 1.0 specification draft was proposed to the OMG in January 1997. UML can be described as a general-purpose visual modeling language to visualize, specify, construct and document software systems. Although UML is generally used to model software systems it is not limited within this boundary. It is also used to model non-software systems as well like process flow in a manufacturing unit etc. UML is not a programming language but tools can be used to generate code in various languages using UML diagrams.
- UML is a general-purpose modeling language. It was initially started to capture the behavior of complex software and non-software system and now it has become an OMG standard.
- UML provides elements and components to support the requirement of complex systems. UML follows the object-oriented concepts and methodology. So object-oriented systems are generally modeled using the pictorial language.
- UML diagrams are drawn from different perspectives like design, implementation, deployment, etc. At the conclusion, UML can be defined as a modeling language to capture the architectural, behavioral and structural aspects of a system.
- Objects are the key to this object-oriented world. The basic requirement of object-oriented analysis and design is to identify the object efficiently. After that, the responsibilities are assigned to the objects. Once this task is complete the design is done using the input from the analysis.
- The UML has an important role in this OO analysis and design; The UML diagrams are used to model the design. So the UML has an important role to play.
Purpose of UML
A picture is worth a thousand words, this absolutely fits while discussing UML. Object-oriented concepts were introduced much earlier than UML. So at that time, there were no standard methodologies to organize and consolidate the object-oriented development. At that point in time UML came into the picture. There are a number of goals for developing UML but the most important is:
- To define some general-purpose modeling language, which all modelers can use, and also it needs to be made simple to understand and use.
- Made for developers but also for business users, common people and anybody interested to understand the system.
- The system can be software or non-software.
- It must be clear that UML is not a development method rather it accompanies processes to make a successful system.
At the conclusion, the goal of UML can be defined as a simple modeling mechanism to model all possible practical systems in today’s complex environment.
Modeling Architecture Views using UML
Different users use any real-world system. The users can be developers, testers, businesspeople, analysts and many more. So before designing a system the architecture is made with different perspectives in mind. The most important part is to visualize the system from different viewers’ perspective. The better we understand the better we make the system. This set of views is known as the 4+1 Views of Software Architecture. UML plays an important role in defining different perspectives of a system. These perspectives are:
- Use Case View
+ 4 Architecture views
- Design
- Implementation
- Process
- Deployment
And the center is the Use Case view which connects all these four. A Use case represents the functionality of the system. So the other perspectives are connected with the use case.