1 / 44

Object Oriented Methodologies

Object Oriented Methodologies. Week05. Agenda. Schedule Review Solution for ICE-02 Notation (start/end) Orthogonal Lines File type pdf or docx only Recap last class Use Cases Discovery Narratives Activity Diagrams Packages Class Diagrams. Events and Use Cases. Use case

Download Presentation

Object Oriented Methodologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object Oriented Methodologies Week05 SYST39409-Object Oriented Methodologies

  2. Agenda • Schedule • Review Solution for ICE-02 • Notation (start/end) • Orthogonal Lines • File type pdf or docx only • Recap last class • Use Cases • Discovery • Narratives • Activity Diagrams • Packages • Class Diagrams SYST39409-Object Oriented Methodologies

  3. Events and Use Cases • Use case • Activity the system carries out • Entry point into the modeling process • Discovery Techniques • Event decomposition • User goal • CRUD • Elementary business processes (EBPs) • Basic unit of analysis • Initiated by event occurring at specific time and place • Discrete system response that adds business value SYST39409-Object Oriented Methodologies

  4. Final Word on Use Cases • Large software projects usually organized into packages. • Package is a placeholder • Each package contains a set of use cases for handling a certain type of business activity. • E.g. Supply Chain Management System • Warehouse & Shipping • Order Processing • Accounting • Inventory Management SYST39409-Object Oriented Methodologies

  5. SYST39409-Object Oriented Methodologies

  6. Example without Package Notation SYST39409-Object Oriented Methodologies

  7. Example using Package Notation SYST39409-Object Oriented Methodologies

  8. Class Diagrams- Objectives • Identify and analyze the objects and object-classes needed in a system • Learn how to identify and represent relationships between object classes. • Learn how to identify and create super/subclass relationships • Learn how to create a Unified Modeling Language (UML) class diagram using System Architect SYST39409-Object Oriented Methodologies

  9. Problem Domain Classes • Problem domain • Abstraction”Real World” to “Data world” • Set of work-related “things” in system component • Things have data representation within system • Examples: products, orders, invoices, customers • OO approach to things in problem domain • Objects that interact in the system • Identify and understand things in problem domain • Key initial steps in defining requirements SYST39409-Object Oriented Methodologies

  10. Types of Things • Things can be identified with methodology • Separate the tangible from the intangible • Include information from all types of users • Ask important questions about nature of event • “What actions upon things should be acknowledged and recorded by the system?” SYST39409-Object Oriented Methodologies

  11. SYST39409-Object Oriented Methodologies

  12. Procedure for Developing an Initial List of Things • Perform Textual Analysis • List nounsusers mention when discussing system • Event table as source of potential things • Use cases, external agents, triggers, response • Select nouns with questions concerning relevance • Further research may be needed SYST39409-Object Oriented Methodologies

  13. Pharmacy System Example SYST39409-Object Oriented Methodologies

  14. Associations among Things • Analyst document entity associations ( relationships) • Example: “Is placed by” and “works in” • Associations apply in two directions • Customer places an order • An order is placed by a customer • Multiplicity: the number of associations • One to one or one to many  • The associations between types of things • Unary (recursive), binary, n-ary SYST39409-Object Oriented Methodologies

  15. Associations Naturally Occur between Things SYST39409-Object Oriented Methodologies

  16. Multiplicity of Relationships SYST39409-Object Oriented Methodologies

  17. Attributes of Things • Specific details of things are called attributes • Analyst should identify attributes of things • Identifier (key): attribute uniquely identifying thing • Examples: Social Security number, vehicle ID number, or product ID number • Compound attribute is a set of related attributes • Example: multiple names for the same customer SYST39409-Object Oriented Methodologies

  18. SYST39409-Object Oriented Methodologies

  19. Classes and Objects • Domain model class diagram as UML class • OOA applies domain model class diagram to things • Problem domain objects have attributes • Software objects encapsulate attributes and behaviors • Behavior: action that the object processes itself • Software objects communicate with messages • Information system is a set of interacting objects SYST39409-Object Oriented Methodologies

  20. SYST39409-Object Oriented Methodologies

  21. SYST39409-Object Oriented Methodologies

  22. SYST39409-Object Oriented Methodologies

  23. Exercises No 1 to No 3 • To be done in class for illustration and practice SYST39409-Object Oriented Methodologies

  24. Your Turn…ICE-03 • See SLATE SYST39409-Object Oriented Methodologies

  25. Class Diagrams Document the static structure of the system They define what classes there are and how they are related The symbol on the right defines the data and behaviour encapsulated by a class. Objects “know things and know how to do things!” SYST39409 - Object Oriented Methodologies

  26. Hierarchies in Class Diagram Notation • Generalization/specialization notation • Inheritance hierarchy • Rank things the more general to the more special • Motor vehicle class includes trucks, cars, buses • Classification: means of defining classes of things • Superclass: generalization of a class • Subclass: specialization of a class SYST39409-Object Oriented Methodologies

  27. SYST39409-Object Oriented Methodologies

  28. Associations/Relationships relationship among object classes solid line connecting classes association is named i.e. “drives” where line connects to class is called “association role”

  29. Associations/Relationships • shows number of objects in an association • lower..upper bound • bounds are inclusive 2..5 • 0..1 = optional one • 0..* = optional many • 1..* = many • 1 = exactly one Associations withMultiplicity

  30. The complexity of the Many-to-many relationships- The “Association Class” Examples

  31. Illustration Exercises SYST39409 - Object Oriented Methodologies SLATE2– Lesson 4 Class Diagram Exercises No 1,2 &3

  32. Subclasses SYST39409 - Object Oriented Methodologies • Some instances of a class (subclass) may be grouped together based on features not shared by the rest of the class. • Attributes • Behavior • Relationships • Key verb is “isakinda” (and inverse, “canbea”).

  33. Subclasses and Inheritance • A subclass is made up of selected instances from another class, the “Parent class” or “superclass.” • A superclass includes all the instances of the subclass, plus possibly more as well. SYST39409 - Object Oriented Methodologies

  34. Subclasses and Inheritance Each subclass then adds attributes and behaviors that it needs but the other one doesn’t. • Inheritance is when a subclass instance, in addition to the attributes and behavior it has by virtue of being in the subclass, also has all the attributes and behavior that instances of the superclass have.

  35. Subclasses and Inheritance • The subclass relationship actually is a relationship in the way we have used that word. • It requires a verb (one in each direction). • “isakinda” • “canbea” isakinda canbea SYST39409 - Object Oriented Methodologies

  36. Object-Oriented SYST39409 - Object Oriented Methodologies • To be considered truly O-O, a language, database, etc. must support: • Objects, • Classes, • Inheritance, and • Polymorphism

  37. Subclasses • With subclasses, we can show more detail about relationships on our diagram. • For instance, in most companies, only managers can hire and fire. • In other words, only certain kindsa employees can do certain tasks. (only a baker can bake) • We are able to show that some relationships affect only a subclass, not every instance.

  38. Exercise - Ilustration SYST39409 - Object Oriented Methodologies SLATE2- Exercise No 4

  39. Generalization, Inheritance & Constraints • generalization path • solid line with hollow arrowhead pointing from subclass to superclass • indicate basis of generalization • name the path for the attribute being removed = called the discriminator • discriminator shows which property is abstracted by a generalization relationship SYST39409 - Object Oriented Methodologies

  40. Constraints on Generalization • constraints on the subclasses • overlapping: descendent may be descended from more than one of the subclasses • student can be both a research and teaching assistant • disjoint: descendent may not be descended from more than one of the subclasses • patient can not be both out and resident SYST39409 - Object Oriented Methodologies

  41. Constraints on Generalization • complete: all subclasses are listed • only have out and resident patients • incomplete: all subclasses are not listed • more subclasses are available • can have casual, part-time employees SYST39409 - Object Oriented Methodologies

  42. Your turn… SYST39409 - Object Oriented Methodologies SLATE2 – ICE-04

More Related