The document discusses class diagrams and object diagrams. It explains that a class diagram shows the structure of a system by displaying classes, interfaces, and their relationships, while an object diagram shows specific instances of classes at a point in time. The document provides steps for constructing class diagrams, such as identifying classes and relationships. It also discusses how object diagrams are created based on class diagrams by instantiating classes and depicting their relationships.
Introduction to class diagrams and their significance in understanding software architecture.
Defines class diagrams, detailing components like classes, interfaces, and relationships.
Outlines the steps for creating class diagrams, emphasizing analyzing problem statements.
Focuses on identifying classes, their attributes, and behaviors required for a student registration system.
Describes how to denote class attributes, visibility, and data types within class diagrams.
Discusses various relationships in class diagrams including generalization, association, aggregation, and composition. Presents several examples demonstrating the structural elements of class and object diagrams.
Discusses object diagrams, their purposes, elements, and how to effectively model them.
Summarizes and presents various class and object diagrams, reinforcing key concepts presented earlier.
Contrasts class diagrams with object diagrams, detailing their differences and uses.
Provides clarifications on class and object diagrams, concluding the presentation with key takeaways.
Class Diagram Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
2.
Class and ObjectDiagrams Lab Material Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
3.
Class Diagram Aclass diagram shows a set of classes, interfaces, and collaborations and their relationships. Class diagrams commonly contain the following things: Classes Interfaces Collaborations Dependency Generalization, and Association relationships Aggregation Composition Multiplicity 3 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
4.
Class Diagram Aclass diagram shows a set of classes, interfaces, and collaborations and their relationships. Class diagrams commonly contain the following things: Classes Interfaces Collaborations Dependency Generalization, and Association Aggregation Composition Multiplicity 4 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
5.
Steps involved Studythe given problem statement Identify the classes Identify the attributes and behaviors (properties and methods) Denote visibility, data type, argument and return value type Identify the relationships Denote Relationships details Relationship name Role Relation direction Multiplicity Identify the possible Interface (common must methods for set of classes) and relate 5 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
6.
Study the givenproblem statement Develop an automated student registration system. The students registration system identify the School (i.e. Arts & Sciences, Engineering, Fine Arts, etc.) in which the student is registered. The school offer both undergraduate and graduate programs. It also shall Identify the current courses offered by each department and the instructor engaged to each class to handle the course. 6 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
7.
Identify the classes Developan automated student registration system. The students registration system identify the School (i.e. Arts & Sciences, Engineering, Fine Arts, etc.) in which the student is registered. The school offer both undergraduate and graduate programs. It also shall Identify the current courses offered by each department and the instructor engaged to each class to handle the course. 7 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Identify the attributesand behaviors Develop an automated student registration system. The students registration system identify the School (i.e. Arts & Sciences, Engineering, Fine Arts, etc.) in which the student is registered. The school offer both undergraduate and graduate programs. It also shall Identify the current courses offered by each department and the instructor engaged to each class to handle the course. 9 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
10.
Identify the classes School -name: String -address : String -id : int -startdate : Date +school(int id, String name): +addStudent():bool +removeStudent(int):bool name attributes operations 10 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
11.
Denote visibility, datatype….. 1. Public: Any outside classifier can use (+). 2. Protected: Any descendant of the classifier can use (#). 3. Private: Only the classifier itself can use (-). 4. Protected: public within package (~) 1. Instance: Each instance of the classifier holds its own value for the feature. 2. Class variable: There is just one value of the feature for all instances of the classifier. (static variable) static variable should be underlined * Derived variables should precede / 11 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
12.
Identify the relationships Generalization Association (general) – name, role, direction, multiplicity Special types: Aggregation (parts can exist without whole) Composition (parts cant exist without whole) Realization 12 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
13.
Identify the relationships Generalization Use to show a parent-child relationship. Student …… generalization +handleClass():void Graduate student +attenMidexam():void Undergraduate student …… -ug:String 13 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
14.
Identify the relationships Generalization Shape SplineEllipsePolygon Shape SplineEllipsePolygon Shared Target Style Separate Target Style . . . . . . 14 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
15.
Identify the relationships Association (general) – name, role, direction, multiplicity Instructor CourseTeaches Name an association to describe its nature. Direction triangle: direction of reading. Instructor Course Role: face presented to the other class. teacher subject taught Person Company employee employer 15 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
16.
Identify the relationships Association (general) – name, role, direction, multiplicity Instructor Course teacher Subject taught 1..2 0..3 Multiplicity: How many objects may be connected across an instance of an association. Multiplicity at one end for each object at the other end, there must be that many objects at the near end. Exactly one: 1 Zero or one: 0 .. 1 Many: 0 .. * One or more: 1 .. * Not shown unspecified or suppressed 16 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
17.
Identify the relationships Aggregation (general) – name, role, direction, multiplicity 1 0..* Department Instructor whole part 1 1..* Team Player whole part 17 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
18.
Identify the relationships Composition (general) – name, role, direction, multiplicity 1 0..* Account Order whole part 1 1..* School Department 18 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
19.
Identify the possibleInterface Identify one or more classes that must have a set of common operations. Create interface with the set of common operations (abstract). Relate the classes and the interface by Realization. Defines a set of operation specs Never defines an implementation 19 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 1 21 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
22.
Example 2 22 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
23.
Example 3 23 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
24.
Example 4 24 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
25.
Example 5 25 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
26.
Example 6 26 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
27.
Steps involved Studythe given problem statement Identify the classes Identify the attributes and behaviors (properties and methods) Denote visibility, data type, argument and return value type Identify the relationships Denote Relationships details Relationship name Role Relation direction Multiplicity Identify the possible Interface (common must methods for set of classes) and relate 27 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
28.
Object Diagram Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
29.
Object Diagram Objectdiagrams model the instances of things contained in class diagrams. An object diagram shows a set of objects and their relationships at a point in time. This involves modeling a snapshot of the system at a moment in time and rendering a set of objects, their state, and their relationships. An object diagram covers a set of instances of the things found in a class diagram. 29 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
30.
Object Representation Inclass diagram elements are in abstract form to represent the blue print and in object diagram the elements are in concrete form to represent the real world object. 30 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
31.
How to modelObject Diagram an object diagram is an instance of a class diagram. It implies that an object diagram consists of instances of things used in a class diagram. So both diagrams are made of same basic elements but in different form. To capture a particular system, numbers (classes) of class diagrams are limited. However, if we consider object diagrams then we can have unlimited number of instances, which are unique in nature. 31 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
32.
How to modelObject Diagram a single object diagram cannot capture all the necessary instances or rather cannot specify all the objects of a system. Hence, the solution is − 1. First, analyze the system and decide which instances have important data and association. 2. Second, consider only those instances, which will cover the functionality. 3. Third, make some optimization as the number of instances are unlimited. 32 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
33.
Things to bedecided the following things are to be decided before starting the construction of the diagram, 1. The object diagram should have a meaningful name to indicate its purpose. 2. The most important elements are to be identified. 3. The association among objects should be clarified. 4. Values of different elements need to be captured to include in the object diagram. 5. Add proper notes at points where more clarity is required. 33 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
34.
Class and ObjectDiagram 1 34 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
35.
Class and ObjectDiagram 2 35 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
36.
Class and ObjectDiagram 3 36 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
37.
Class and ObjectDiagram 4 37 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
38.
Class and ObjectDiagram 5 38 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
39.
Example – ClassDiagram 39 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
40.
Example – ObjectDiagram 40 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
41.
Lets Try..! 41 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
42.
Class vs ObjectDiagram 42 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
43.
The End 43 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam