What is UML in Software Engineering?
UML is a language for documenting models. As is the case with any other language, UML has its syntax (a set of basic symbols and sentence formation rules) and semantics (meanings of basic symbols and sentences). It provides a set of basic graphical notations (e.g. rectangles, lines, ellipses, etc.) that can be combined in certain ways to document the design and analysis results.
UML diagrams can capture the following views (models) of a system:
1. User’s view: This view defines the functionalities made available by the system to its users. The user’s view captures the view of the system in terms of the functionalities offered by the system to its users.
2. Structural view: The structural view defines the structure of the problem (or the solution) in
terms of the kinds of objects (classes) important to the understanding of the working of a system and its implementation. It also captures the relationships among the classes (objects). The structural model is also called the static model since the structure of a system does not change with time.
3. Behavioural view: The behavioural view captures how objects interact with each other in
time to realise the system behaviour. The system behaviour captures the time-dependent (dynamic) behaviour of the system.
4. Implementation view: This view captures the important components of the system and their
5. Environmental view: This view models how the different components are implemented on
different pieces of hardware.