Unified Modelling Language


by Carlo Espanol


The Unified Modeling Language (UML) was generated to forge a common, semantically and syntactically rich visual modeling language for the architecture, design, and application of complex software systems both physically and developmentally. UML has applications outside software development, such as process flow in manufacturing.

It is similar to the blueprints used in other fields, and contains different kinds of diagrams. In combined, UML diagrams defines the boundary, structure, and the performance of the system and the objects inside it.
UML is not a programming language but there are tools that can be used to produce code in various languages using UML diagrams. UML has a straight relation with object-oriented analysis and design.

History of UML


The Three Amigos’ of software engineering as they were acknowledged, had developed other methodologies. They teamed up to deliver simplicity for programmers by making new standards. The teamwork between Grady, Booch, and Rumbaugh made all three methods sturdier and developed the final product.














Types of UML Diagrams


Structural UML diagrams · Class Diagram The most commonly used UML diagram, and the principal foundation of any object-oriented solution. Classes within a system, attributes and operations and the relationship between each class. Classes are grouped together to create class diagrams when diagramming large systems. · Object Diagram Shows the relationship between objects using real world examples and illustrate how a system will look at any given time. Because data is available within objects, they can be used to clarify relationships between objects.

· Package Diagram There are two special types of dependencies defined between packages: package import and package merge. Packages can represent the different levels of a system to reveal the architecture. Package dependencies can be marked to show the communication mechanism between levels.

· Composite Structure Diagram Composite structure diagrams are used to show the internal structure of a class. · Deployment Diagram Illustrates system hardware and its software. Useful when a software solution is deployed across multiple machines with unique configurations. · Component Diagram Displays the structural relationship of software system elements, most often employed when working with complex systems with multiple components. Components communicate using interfaces.






Behavioral UML diagrams · Activity Diagrams Graphically represented business or operational workflows to show the activity of any part or component in the system. Activity diagrams are used as an alternative to State Machine diagrams. 

· Communication Diagram Similar to sequence diagrams, but the focus is on messages passed between objects. The same information can be represented using a sequence diagram and different objects.

· Interaction Overview Diagram There are seven types of interaction diagrams, and this diagram shows the sequence in which they act. 

· Sequence Diagram Shows how objects interact with each other and the order of occurrence. They represent interactions for a particular scenario. 

· State Machine Diagram Similar to activity diagrams, they describe the behavior of objects that behave in varying ways in their current state. 

· Timing Diagram Like Sequence Diagrams, the behavior of objects in a given time frame are represented. If there is a single object, the diagram is simple. With more than one object, interactions of objects are shown during that particular time frame. 

· Use Case Diagram Represents a particular functionality of a system, created to illustrate how functionalities relate and their internal/external controllers (actors).

Comments