440 likes | 540 Views
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
E N D
Object Oriented Methodologies Week05 SYST39409-Object Oriented Methodologies
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
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
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
Example without Package Notation SYST39409-Object Oriented Methodologies
Example using Package Notation SYST39409-Object Oriented Methodologies
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
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
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
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
Pharmacy System Example SYST39409-Object Oriented Methodologies
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
Associations Naturally Occur between Things SYST39409-Object Oriented Methodologies
Multiplicity of Relationships SYST39409-Object Oriented Methodologies
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
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
Exercises No 1 to No 3 • To be done in class for illustration and practice SYST39409-Object Oriented Methodologies
Your Turn…ICE-03 • See SLATE SYST39409-Object Oriented Methodologies
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
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
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”
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
The complexity of the Many-to-many relationships- The “Association Class” Examples
Illustration Exercises SYST39409 - Object Oriented Methodologies SLATE2– Lesson 4 Class Diagram Exercises No 1,2 &3
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”).
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
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.
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
Object-Oriented SYST39409 - Object Oriented Methodologies • To be considered truly O-O, a language, database, etc. must support: • Objects, • Classes, • Inheritance, and • Polymorphism
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.
Exercise - Ilustration SYST39409 - Object Oriented Methodologies SLATE2- Exercise No 4
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
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
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
Your turn… SYST39409 - Object Oriented Methodologies SLATE2 – ICE-04