 Hello everyone. Welcome to this session. I am Priyanka Bidla and today we are going to see about structural model. This is also one of the types of system model. At the end of this session, students will be able to explain structural model and explain types of structural model that are class diagram, generalization and aggregation. These are the contents of this video lecture. Let us see first structural model. Structural models of software display that make up the system and their relationships. It may be static or dynamic model. It may be static models which show the structure of the system design and dynamic models which show the organization of the system when it is executing. Structural model has three types. So, first one is the class diagram, then generalization and third is the aggregation. Now, we will see the first type of structural model that is class diagram. Class diagrams are used when we developing an object oriented system model. At that time, the classes are shown in a system and the associations between these classes. Actually, association is nothing but it is a link between classes that indicates there is relationship between these classes. Class diagrams in the UML can be expressed at different levels of detail. Now, recall UML diagrams. Before moving towards pause this video for few seconds and you have to recall UML diagrams and how it is expressed. Yes, it is a diagram based on the UML with the purpose of visually representing a system along with its main actors, roles, actions, artifacts or classes in order to better understand or document information about the whole system. To continue with the class diagrams, in that we will see UML classes and associations, then associations in the mhcpms and finally, consultation class. The simplest way of writing class diagram is to write the class name in a box. For example, a simple class diagram showing two classes, one is patient and second one is patient record with an association between them. Already we knew that the existence of association by drawing a line between classes. The feature of class diagram is the ability to show how many objects are involved in the association. So, in this example, each end of the association is annotated with one. It means that there is a one as to one relationship between objects of these classes and that is each patient has exactly one record and each record maintains information about exactly one patient. We will see classes and associations in mhcpms. This type of class diagram to show patient is the class and the object of class patient are also involved in the relationships with a number of other classes which is indicated by blue rectangles. In this example, the UML also allows the role of the objects participating in the association to be specified. At this level of detail, they look like semantic data models. These semantic data models are used in database design. They show the data entities, their associated attributes and the relations between these entities. When showing the association between classes, it is convenient to represent these classes in the simplest possible way. To define them in more detail, add information about their attributes and operations. So, for that, we will see consultation class in the class diagram. In this first draw rectangle, then this rectangle is divided into three parts. In the UML, you show attributes and operations by extending the simple rectangle that represents a class. Therefore, the name of the object class is in the top section. Then the class attributes are in the middle section. This must include the attribute names and optionally their types. And then finally, the operations lower section of the rectangle. These operations associated with the object class. For example, a patient object will have the attribute like address. And you may include an operation called change address, which is called when a patient indicates that they have moved from one address to another address. So, in short, patient is the class name. So, they are lying on the top section. Then address is the attribute in the middle section and change address. It is nothing but this is in lower section of the rectangle. Let us see second type of structural that is generalization. It is a technique that we use to manage complexity. Rather than learn the detailed characteristics of every entity that we experienced, we place these entities in more general classes and learn the characteristics of these classes. In object-oriented language such as Java, generalization is implemented using the class inheritance mechanism built into the language. The generalization is shown as an arrowhead pointing up to the more general class. In the UML notation, inheritance is shown upward rather than downward. So, upward arrow is used. The generalization is shown as an arrowhead pointing up to the more general class. This shows that general practitioners and hospital doctors can be generalized as doctors and then consultant and team doctor is generalized from hospital doctor. And finally, trainee and qualified doctors is generalized from team doctor. So, it is a simple generalization hierarchy. There are three types of hospital doctor, trainee doctor, qualified doctor and consultant. Consultant who are senior doctors with full decision making responsibilities. So, this is about hierarchy. Now, we will move towards. Already we discussed about hierarchy. So, here we will discuss hierarchy with class attributes. All of you knew that how to represent attributes and operations in a generalization. The attributes and operations associated with higher level classes are also associated with lower level classes. In short, higher level classes are nothing but parent class and lower level classes are child class. Child class is inherited from the parent class. In a sense, the lower level classes are subclasses. Inherit the attributes and operations from their superclasses. These lower level classes then add more specific attributes and operations according to that. For example, doctor is the name of the class lying on the top section, then name and phone number these are the attributes lying in the middle section and the operation associated with the class doctor are intended to register and deregister that doctor with the MHCAPMS. These are the operations. This is the higher level class. Hospital doctor and general practitioner are the lower classes as we seen already. Hospital doctors have a staff number and department, but general practitioner don't have these attributes as they work independently. They do however have a practice name and address. They have extended with class attributes. This is generalization hierarchy with added class attributes. This is the last type aggregation. Objects in the real world are often composed of different parts. For example, a study pack for a course may be composed of book, PowerPoint slides, quizzes and recommendations for further reading. Sometimes in a system model you need to illustrate this. The UML provides a special type of association between classes called aggregation. That means that one object is composed of other objects. UML notation for aggregation is to represent the composition by including diamond shape on source of link. So, in this figure a patient record is an object class which is a composition of patient and indefinite number of consultations and diamond shape is used for the aggregation to represent the composition. So, for representing generalization use upward arrow and for aggregation use diamond shape arrow. These are the references for this video lecture. Thank you.