Class Diagram Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagrams Lab Material Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class Diagram  A class 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
Class Diagram  A class 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
Steps involved  Study the 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
Study the given problem 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
Identify the classes 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. 7 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Identify the classes school student undergraduate graduate programs courses department instructor class course 8 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Identify the attributes and 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
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
Denote visibility, data type….. 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
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
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
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
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
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
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
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
Identify the possible Interface  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
student registration system name address ... addstudent() removestudent() ... School name studentID Student 1..* * Graduate UnderGraduate name Department description Course name Instructor Offers 1 1..* Attends > < Teaches has 1..*1 * * 1..3 1 Assigned To ^ Chair 1 0..1 0..1 Schedule accepted 20 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 1 21 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 2 22 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 3 23 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 4 24 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 5 25 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 6 26 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Steps involved  Study the 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
Object Diagram Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Object Diagram  Object diagrams 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
Object Representation  In class 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
How to model Object 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
How to model Object 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
Things to be decided  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
Class and Object Diagram 1 34 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagram 2 35 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagram 3 36 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagram 4 37 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagram 5 38 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example – Class Diagram 39 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example – Object Diagram 40 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Lets Try..! 41 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class vs Object Diagram 42 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
The End 43 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications 44 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications 45 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications 46 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications 47 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications 48 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
The End… 49 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam

OOAD - UML - Class and Object Diagrams - Lab

  • 1.
    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
  • 8.
  • 9.
    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
  • 20.
    student registration system name address ... addstudent() removestudent() ... School name studentID Student 1..* * GraduateUnderGraduate name Department description Course name Instructor Offers 1 1..* Attends > < Teaches has 1..*1 * * 1..3 1 Assigned To ^ Chair 1 0..1 0..1 Schedule accepted 20 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
  • 21.
    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
  • 44.
    Some Clarifications 44 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
  • 45.
    Some Clarifications 45 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
  • 46.
    Some Clarifications 46 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
  • 47.
    Some Clarifications 47 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
  • 48.
    Some Clarifications 48 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam
  • 49.
    The End… 49 Dr. P.Victer Paul, Indian Institute of Information Technology Kottayam