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