Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Chapter3

    1. 1. Session 3 Understand and Use Object Oriented Methods
    2. 2. Review <ul><li>OOAD refers to the development of systems with the base concept of objects and classes </li></ul><ul><li>UML is a modeling tool used in </li></ul><ul><ul><li>Information systems </li></ul></ul><ul><ul><li>Technical systems </li></ul></ul><ul><ul><li>Embedded systems </li></ul></ul><ul><ul><li>Distributed systems </li></ul></ul><ul><ul><li>System software </li></ul></ul><ul><ul><li>Business Systems </li></ul></ul><ul><li>SDLC refers to different phases in the software development process </li></ul>
    3. 3. Objectives <ul><li>Discuss the class diagram and object diagram </li></ul><ul><li>Represent the relationships between classes </li></ul><ul><li>Discuss the concept of object Model </li></ul><ul><li>Identify classes during analysis </li></ul>
    4. 4. Class and Object <ul><li>Class - A class is a description of a group of objects with common properties (attributes), behavior (Operations), relationships, and semantic </li></ul><ul><li>Object - An object represents an entity, either physical, conceptual, or software </li></ul>
    5. 5. Class Diagram-1 Class Object
    6. 6. Class Diagram-2 <ul><li>Class Names </li></ul><ul><li>Class Attributes </li></ul><ul><li>Class Methods </li></ul><ul><li>Constraints </li></ul><ul><li>Comment </li></ul>
    7. 7. Representation of Relationship <ul><li>Multiplicity - Multiplicity defines how many objects participate in a relationship </li></ul>
    8. 8. Multiplicity & Navigation Student Schedule Navigation Multiplicity 0..* 1
    9. 9. Aggregation <ul><li>An aggregation is a stronger form of relationship where the relationship is between a whole and its parts </li></ul>Student Schedule Aggregation Whole Part
    10. 10. Aggregation-Composition <ul><li>Composition is a form of aggregation with strong ownership and coincident lifetimes of the part with the aggregate </li></ul>Student Schedule Aggregation Whole Part
    11. 11. Aggregation- Dependency <ul><li>A dependency relationship is a weaker form of relationship </li></ul>
    12. 12. Aggregation-Generalization <ul><li>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) </li></ul><ul><li>Superclass </li></ul><ul><li>Subclass </li></ul>
    13. 13. Association <ul><li>Association is a connection between classes </li></ul>Professor University Professor University Works for Class Association Name Role Names Employer Employee
    14. 14. Constraints of Association <ul><li>An association may have a name that is placed on, or adjacent to the association path </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul>
    15. 15. Association Classes
    16. 16. Qualified Association Theatre Seat 1 99 Theatre Seat 1 Row {1,2,…9} Column {1,2,..11} 1
    17. 17. Recursive Association
    18. 18. Inheritance and Generalization-1
    19. 19. Inheritance and Generalization-2 <ul><li>The mechanism for sharing attributes and operations using the principle of generalization is referred to as inheritance </li></ul>
    20. 20. Same Association or Aggregation
    21. 21. Interface
    22. 22. Object Model <ul><li>Language independent </li></ul><ul><li>Notation allowing the specification of classes, their data or attributes (private) and methods (public), inheritance </li></ul><ul><li>This diagram depicts the structural relationship and functional behavior of the classes </li></ul>
    23. 23. <ul><li>Nouns in problem statement </li></ul><ul><li>Knowledge of the problem domain </li></ul><ul><li>Use Cases </li></ul><ul><li>Physical entities </li></ul><ul><li>Devices </li></ul><ul><li>Events </li></ul><ul><li>Roles played </li></ul><ul><li>Operational procedures </li></ul><ul><li>Sites </li></ul><ul><li>Organisational units </li></ul>How to Identify Classes? <ul><li>Tangible things </li></ul><ul><li>Events </li></ul><ul><li>Roles played </li></ul><ul><li>Interactions </li></ul><ul><li>Location </li></ul><ul><li>Organizational Units </li></ul><ul><li>The Requirements statement </li></ul><ul><li>Use Cases </li></ul><ul><li>Application experts </li></ul><ul><li>Studying the system </li></ul><ul><li>Similar systems </li></ul><ul><li>Previous systems </li></ul>
    24. 24. Candidate Classes
    25. 25. Summary <ul><li>A class icon is a rectangle with three sections within it </li></ul><ul><li>Association is a connection between classes </li></ul><ul><li>An interface is a collection of operations that are used to specify a service of a class or a component </li></ul><ul><li>Object Model generally deals with classes </li></ul>