Session 3 Understand and Use Object Oriented Methods
Review OOAD refers to the development of systems with the base concept of objects and classes UML is a modeling tool used in Information systems  Technical systems Embedded systems Distributed systems System software Business Systems SDLC refers to different phases in the software development process
Objectives Discuss the class diagram and object diagram Represent the relationships between classes Discuss the concept of object Model Identify classes during analysis
Class and Object Class  - A class is a description of a group of objects with common properties (attributes), behavior (Operations), relationships, and semantic Object  - An object represents an entity, either physical, conceptual, or software
Class Diagram-1 Class Object
Class Diagram-2 Class Names   Class Attributes   Class Methods   Constraints   Comment
Representation of Relationship   Multiplicity - Multiplicity defines how many objects participate in a relationship
Multiplicity & Navigation   Student Schedule Navigation Multiplicity 0..* 1
Aggregation An aggregation is a stronger form of relationship where the relationship is between a whole and its parts  Student Schedule Aggregation Whole Part
Aggregation-Composition Composition is a form of aggregation with strong ownership and coincident lifetimes of the part with the aggregate  Student Schedule Aggregation Whole Part
Aggregation- Dependency   A dependency relationship is a weaker form of relationship
Aggregation-Generalization A specialization/generalization relationship is one, in which objects of the specialized element (the child) are substitutable for objects of the generalized element (the parent) Superclass Subclass
Association Association is a connection between classes   Professor University Professor University Works for Class Association Name Role Names Employer Employee
Constraints of Association   An association may have a name that is placed on, or adjacent to the association path The name of the association should reflect the purpose of the relationship and be a verb phrase; the name of an association can be omitted, particularly if roles names are used. Names like “has” and “contains should be avoided”, as they add no information about what the relationships are between the classes.  Each end of an association is a role specifying the face that a class plays in the association (not a constraint). Each role must have a name, and the role names must be unique. The role name should be a noun indicating the associated object’s role in relation to the associating object.  The use of association names and role names are mutually exclusive: one should not use both an association name and role name. For each association, it needs to decide as to which conveys more information.
Association Classes
Qualified Association   Theatre Seat 1 99 Theatre Seat 1 Row {1,2,…9} Column {1,2,..11} 1
Recursive Association
Inheritance and Generalization-1
Inheritance and Generalization-2   The mechanism for sharing attributes and operations using the principle of generalization is referred to as  inheritance
Same Association or Aggregation
Interface
Object Model   Language independent Notation allowing the specification of classes, their data or attributes (private) and methods (public), inheritance This diagram depicts the  structural relationship  and  functional  behavior of the classes
Nouns in problem statement Knowledge of the problem domain Use Cases Physical entities Devices Events  Roles played Operational procedures Sites Organisational units How to Identify Classes? Tangible things Events  Roles played Interactions Location Organizational Units The Requirements statement Use Cases Application experts Studying the system Similar systems Previous systems
Candidate Classes
Summary A class icon is a rectangle with three sections within it Association is a connection between classes An interface is a collection of operations that are used to specify a service of a class or a component Object Model generally deals with classes

Chapter3

  • 1.
    Session 3 Understandand Use Object Oriented Methods
  • 2.
    Review OOAD refersto the development of systems with the base concept of objects and classes UML is a modeling tool used in Information systems Technical systems Embedded systems Distributed systems System software Business Systems SDLC refers to different phases in the software development process
  • 3.
    Objectives Discuss theclass diagram and object diagram Represent the relationships between classes Discuss the concept of object Model Identify classes during analysis
  • 4.
    Class and ObjectClass - A class is a description of a group of objects with common properties (attributes), behavior (Operations), relationships, and semantic Object - An object represents an entity, either physical, conceptual, or software
  • 5.
  • 6.
    Class Diagram-2 ClassNames Class Attributes Class Methods Constraints Comment
  • 7.
    Representation of Relationship Multiplicity - Multiplicity defines how many objects participate in a relationship
  • 8.
    Multiplicity & Navigation Student Schedule Navigation Multiplicity 0..* 1
  • 9.
    Aggregation An aggregationis a stronger form of relationship where the relationship is between a whole and its parts Student Schedule Aggregation Whole Part
  • 10.
    Aggregation-Composition Composition isa form of aggregation with strong ownership and coincident lifetimes of the part with the aggregate Student Schedule Aggregation Whole Part
  • 11.
    Aggregation- Dependency A dependency relationship is a weaker form of relationship
  • 12.
    Aggregation-Generalization A specialization/generalizationrelationship is one, in which objects of the specialized element (the child) are substitutable for objects of the generalized element (the parent) Superclass Subclass
  • 13.
    Association Association isa connection between classes Professor University Professor University Works for Class Association Name Role Names Employer Employee
  • 14.
    Constraints of Association An association may have a name that is placed on, or adjacent to the association path The name of the association should reflect the purpose of the relationship and be a verb phrase; the name of an association can be omitted, particularly if roles names are used. Names like “has” and “contains should be avoided”, as they add no information about what the relationships are between the classes. Each end of an association is a role specifying the face that a class plays in the association (not a constraint). Each role must have a name, and the role names must be unique. The role name should be a noun indicating the associated object’s role in relation to the associating object. The use of association names and role names are mutually exclusive: one should not use both an association name and role name. For each association, it needs to decide as to which conveys more information.
  • 15.
  • 16.
    Qualified Association Theatre Seat 1 99 Theatre Seat 1 Row {1,2,…9} Column {1,2,..11} 1
  • 17.
  • 18.
  • 19.
    Inheritance and Generalization-2 The mechanism for sharing attributes and operations using the principle of generalization is referred to as inheritance
  • 20.
  • 21.
  • 22.
    Object Model Language independent Notation allowing the specification of classes, their data or attributes (private) and methods (public), inheritance This diagram depicts the structural relationship and functional behavior of the classes
  • 23.
    Nouns in problemstatement Knowledge of the problem domain Use Cases Physical entities Devices Events Roles played Operational procedures Sites Organisational units How to Identify Classes? Tangible things Events Roles played Interactions Location Organizational Units The Requirements statement Use Cases Application experts Studying the system Similar systems Previous systems
  • 24.
  • 25.
    Summary A classicon is a rectangle with three sections within it Association is a connection between classes An interface is a collection of operations that are used to specify a service of a class or a component Object Model generally deals with classes