 Hello, myself, M.V. Bhogade, assistant professor from CSC department of WIT, Shalapur. Today, we are going to see some points from UML diagrams. So, at the end of this session, students will be able to understand the basics of UML diagrams. These are the contents of this session. UML, that is Unified Modeling Language, is a diagramming language for specifying, designing, and visualizing the components of a software system. Object Management Group created the language in January 1997. The goal of UML, there are a number of goals for developing UML. But the most important is to define some general purpose modeling language, which all modellers can use, and it also needs to be made simple to understand and use. Object-oriented concepts. UML can be described as the successor of object-oriented analysis and design. Objects are the real-world entities that exist around us. And the basic concepts such as abstraction, encapsulation, inheritance, and polymorphism all can be represented using UML objects. It represents an entity and the basic building block. Next is class. Class is the blueprint of an object. Next is abstraction. It represents the behavior of a real-world entity. Next is encapsulation. Encapsulation is the mechanism of binding the data together and hiding them from the outside world. Next is inheritance. Inheritance is the mechanism of making new classes from existing ones. The last one is polymorphism. It defines the mechanism to exist in different forms. We can category in two ways like structural diagram and behavioral diagram. So this is the diagrammatic representation of it. There are three building blocks of UML. Those are things, relationships, and diagrams. Things are the most important building blocks of UML. Things can be structural, behavioral, grouping, or annotational. 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. The first one is class. Class represents a set of objects having similar responsibilities. Interface defines a set of operations which specify the responsibility of a class. Next is collaboration. It defines an interaction between elements. So this is the representation of collaboration. Next is use case. It represents a set of actions performed by a system for a specific goal. So we can represent use case by ellipse. Next is component. It describes the physical part of a system. Next one is node. A node can be defined as a physical element that exists at run time. So node is represented like a cube. A behavioral thing consists of the dynamic parts of the UML models. Interaction is defined as a behavior that consists of a group of messages exchanged among elements to accomplish a specific task. State machine is useful when the state of an object in its life cycle is important. It defines the sequence of state and object goes through it in response to events. Events are external factors responsible for state change. So we can represent the state in this fashion. Grouping things can be defined as a mechanism to group elements of a UML model together. There is only one grouping thing available that is package. So package is the only one grouping thing available for gathering structural and behavioral things. So it is represented by a rectangle above a rectangle. Annotational things can be defined as a mechanism to capture remarks, descriptions and comments of UML model elements. Okay? Node. It is the only one notational thing available. A node is used to render comments, constraints, etc. of an UML elements. 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. So first is dependency. A dependency means the relationship between two or more classes in which a change in one force changes in another. However, it will always create a weaker relationship. dependency indicates that one class depends on another. In the following example, students has a dependency on college. A generalization helps to connect a subclass to its superclass. A subclass is inherited from its superclass. Generalization relationship can't be used to model interface implementation. Class diagram allows inheriting from multiple superclasses. So this is the diagram representation. Next is association. The kind of relationship represents static relationships between classes A and B. For example, an employee works for an organization. Here are some rules for association. Association is mostly verb or a verb phrase or noun or noun phrase. It should be named to indicate the role played by the class attached at the end of the association path. Mandatory for reflexive associations. Next is associations. In this example, the relationship between student and college is shown which is studies. So in the left diagram shows the relationship between student and the college is studies. And the right diagram shows the multiplicity. That is represented with the star. A multiplicity specifies whether the association is mandatory or not. It has some lower bound and upper bound. Let's say that there are 100 students in one college. The college can have multiple students. Aggregation is a special type of association that models a whole part relationship between aggregation and its parts. So we can represent the aggregation in this format. For example, the class college is made up of one or more students. In aggregation, the contained class is never totally dependent on the life cycle of the container. Here, the college class will remain even if the student is not available. Aggregation is a special type of aggregation which denotes strong ownership between two classes when one class is a part of another class. So we can represent composition in this fashion. For example, if college is composed of class students, the college could contain many students which each student belongs to only one college. So if college is not functioning, all the students also removed. Aggregation indicates a relationship where the child can exist separately from their parent's class whereas in composition displays relationship where the child will never exist independent of the parent. So the example of aggregation is automobile that is parent and car that is child. So if you delete the automobile, the child that is car still exists. So the example of composition is house that is parent and room that is child. Room will never separate into a house. A class is a blueprint that is used to create objects. The class defines what objects can do. So what is a class diagram? The class diagram gives the static viewer of an application. A class diagram describes the type of objects in the system and the different types of relationships that exist among them. UML class diagrams gives an overview of a software system by displaying the classes, attributes, operations and their relationships. This diagram includes the class name, attributes and operations in separate designated compartments. Class diagram helps constructs the code for the software application development. Next is the benefits of class diagram. Class diagram illustrates data models for even very complex information systems. It provides an overview of how the application is structured before studying the actual code. This can easily reduce the maintenance time. It helps for better understanding of general semantics of an application. It allows drawing detailed charts which highlights code required to be programmed. It is helpful for developers and other stakeholders. Essential elements of UML class diagrams are class name, attributes and operations. So class name, the name of a class is only needed in the graphical representation of the class. The class is rendered as a rectangle including its name, attributes and operations in separate compartments. Next is attributes. An attribute is named property of a class which describes the object being modeled. In the class diagram, this component is placed just below the name of compartment. A derived attribute is computed from other attributes. For example, an age of the student can be easily computed from his or her birth date. So this is an example of a class diagram, UML class diagram. So here there are many relationships, associations and so it is a diagram of a bank and ATM systems. Take a pause, can you tell the purpose of UML? As we have seen, the purpose of UML is its diametric language for specifying, designing and visualizing the components of a software system. So these are the references. Thank you.