Understand and Use Object Oriented Methods 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 OOAD with UML / Session 3 / 2 of 25
Objectives Discuss the class diagram and object diagram Represent the relationships between classes Discuss the concept of object Model Identify classes during analysis OOAD with UML / Session 3 / 3 of 25
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 OOAD with UML / Session 3 / 4 of 25
Class Diagram-1 Class Object OOAD with UML / Session 3 / 5 of 25
Class Diagram-2 Class Names Class Attributes Class Methods Constraints Comment OOAD with UML / Session 3 / 6 of 25
Representation of Relationship Multiplicity-Multiplicity defines how many objects participate in a relationship OOAD with UML / Session 3 / 7 of 25
Multiplicity & Navigation Student Schedule Navigation Multiplicity 0..* 1 Define Navigation OOAD with UML / Session 3 / 8 of 25
Aggregation An aggregation is a stronger form of relationship where the relationship is between a whole and its parts Student Schedule Aggregation Whole Part OOAD with UML / Session 3 / 9 of 25
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 OOAD with UML / Session 3 / 10 of 25
Aggregation-Dependency A dependency relationship is a weaker form of relationship OOAD with UML / Session 3 / 11 of 25
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 OOAD with UML / Session 3 / 12 of 25
Association Association is a connection between classes Professor University Works for Class Association Name Role Names Employer Employee OOAD with UML / Session 3 / 13 of 25
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. OOAD with UML / Session 3 / 14 of 25
Association Classes OOAD with UML / Session 3 / 15 of 25
Qualified Association Theatre Seat 1 99 Theatre Seat 1 Row {1,2,…9} Column {1,2,..11} OOAD with UML / Session 3 / 16 of 25
Recursive Association OOAD with UML / Session 3 / 17 of 25
Inheritance and Generalization-1 OOAD with UML / Session 3 / 18 of 25
Inheritance and Generalization-2 The mechanism for sharing attributes and operations using the principle of generalization is referred to as inheritance OOAD with UML / Session 3 / 19 of 25
Same Association or Aggregation OOAD with UML / Session 3 / 20 of 25
Interface OOAD with UML / Session 3 / 21 of 25
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 OOAD with UML / Session 3 / 22 of 25
How to Identify Classes? Tangible things Events Roles played Interactions Location Organizational Units Nouns in problem statement Knowledge of the problem domain Use Cases Physical entities Devices Events Roles played Operational procedures Sites Organisational units The Requirements statement Use Cases Application experts Studying the system Similar systems Previous systems OOAD with UML / Session 3 / 23 of 25
Candidate Classes OOAD with UML / Session 3 / 24 of 25
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 OOAD with UML / Session 3 / 25 of 25