Download presentation
Presentation is loading. Please wait.
Published byBritney Singleton Modified over 9 years ago
1
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 1 Object Oriented Analysis and Design Using the UML Version 4.2 Introduction to Object Orientation
2
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 2 Objectives: Introduction to Object Orientation Understand the basic principles of object orientation Understand the basic concepts and terms of object orientation and the associated UML notation Appreciate the strengths of object orientation Understand some basic UML modeling mechanisms
3
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 3 Introduction to Object Orientation Topics Basic Principles of Object Orientation Basic Concepts of Object Orientation Strengths of Object Orientation General UML Modeling Mechanisms
4
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 4 Object Orientation EncapsulationAbstraction Hierarchy Modularity Basic Principles of Object Orientation
5
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 5 Salesperson Not saying Which salesperson – just a salesperson in general!!! Customer Product Manages Complexity What is Abstraction?
6
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 6 Improves Resiliency What is Encapsulation? Hide implementation from clients Clients depend on interface How does an object encapsulate? What does it encapsulate?
7
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 7 Order Processing System Billing Order Entry Order Fulfillment Manages Complexity What is Modularity? The breaking up of something complex into manageable pieces
8
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 8 Decreasing abstraction Increasing abstraction Asset RealEstate Savings BankAccount Checking Stock Security Bond Elements at the same level of the hierarchy should be at the same level of abstraction What is Hierarchy? Levels of abstraction
9
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 9 Introduction to Object Orientation Topics Basic Principles of Object Orientation Basic Concepts of Object Orientation Strengths of Object Orientation General UML Modeling Mechanisms
10
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 10 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
11
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 11 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
12
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 12 Truck Chemical Process Linked List What is an Object? Informally, an object represents an entity, either physical, conceptual, or software Physical entity Conceptual entity Software entity
13
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 13 A More Formal Definition An object is a concept, abstraction, or thing with sharp boundaries and meaning for an application An object is something that has: State Behavior Identity
14
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 14 : Professor Professor Clark a + b = 10 ProfessorClark : Professor ProfessorClark Class Name Only Object Name Only Class and Object Name (stay tuned for classes) Representing Objects An object is represented as rectangles with underlined names
15
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 15 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
16
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 16 OO Principle: Abstraction What is a Class? A class is a description of a group of objects with common properties (attributes), behavior (operations), relationships, and semantics An object is an instance of a class A class is an abstraction in that it: Emphasizes relevant characteristics Suppresses other characteristics
17
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 17 a + b = 10 Class Course Properties Name Location Days offered Credit hours Start time End time Behavior Add a student Delete a student Get course roster Determine if it is full Sample Class
18
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 18 Professor Professor Clark a + b = 10 Representing Classes A class is represented using a compartmented rectangle
19
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 19 Professor name empID create( ) save( ) delete( ) change( ) Class Name Attributes Operations Class Compartments A class is comprised of three sections The first section contains the class name The second section shows the structure (attributes) The third section shows the behavior (operations)
20
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 20 Classes of Objects How many classes do you see?
21
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 21 Objects Class Professor SmithProfessor JonesProfessor Mellon Professor The Relationship Between Classes and Objects A class is an abstract definition of an object It defines the structure and behavior of each object in the class It serves as a template for creating objects Objects are grouped into classes
22
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 22 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
23
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 23 :CourseOffering number = 101 startTime = 900 endTime = 1100 :CourseOffering number = 104 startTime = 1300 endTime = 1500 CourseOffering number startTime endTime Class Attribute Object Attribute Value What is an Attribute?
24
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 24 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
25
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 25 CourseOffering addStudent deleteStudent getStartTime getEndTime Class Operation What is an Operation?
26
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 26 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
27
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 27 Manufacturer A Manufacturer B Manufacturer C OO Principle: Encapsulation What is Polymorphism? The ability to hide many different implementations behind a single interface
28
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 28 TubePyramidCube Shape Draw Move Scale Rotate > Realization relationship (stay tuned for realization relationships) What is an Interface? Interfaces formalize polymorphism Interfaces support “plug-and-play” architectures
29
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 29 TubePyramidCube Shape Draw Move Scale Rotate > TubePyramidCube Shape Elided/Iconic Representation (“lollipop”) Canonical (Class/Stereotype) Representation (stay tuned for realization relationships) Interface Representations
30
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 30 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
31
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 31 Source File Name > Executable Name OO Principle: Encapsulation What is a Component? A non-trivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well- defined architecture A component may be A source code component A run time components or An executable component > Component Name Component Interface
32
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 32 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
33
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 33 Package Name OO Principle: Modularity What is a Package? A package is a general purpose mechanism for organizing elements into groups A model element which can contain other model elements Uses Organize the model under development A unit of configuration management
34
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 34 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
35
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 35 OO Principles: Encapsulation and Modularity > Subsystem Name Interface Realization Subsystem (stay tuned for realization relationship) What is a Subsystem? A combination of a package (can contain other model elements) and a class (has behavior) Realizes one or more interfaces which define its behavior
36
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 36 Component Name Design ModelImplementation Model > Component Name Component Interface OO Principles: Encapsulation and Modularity Subsystems and Components Components are the physical realization of an abstraction in the design Subsystems can be used to represent the component in the design
37
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 37 Basic Concepts of Object Orientation Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships
38
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 38 Relationships Association Aggregation Composition Dependency Generalization Realization
39
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 39 Professor University Works for Class Association Association Name ProfessorUniversity EmployerEmployee Role Names Relationships: Association Models a semantic connection among classes
40
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 40 StudentSchedule Whole Aggregation Part Relationships: Aggregation A special form of association that models a whole-part relationship between an aggregate (the whole) and its parts
41
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 41 StudentSchedule Whole Aggregation Part Relationships: Composition A form of aggregation with strong ownership and coincident lifetimes The parts cannot survive the whole/aggregate
42
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 42 Association: Multiplicity and Navigation Multiplicity defines how many objects participate in a relationships The number of instances of one class related to ONE instance of the other class Specified for each end of the association Associations and aggregations are bi- directional by default, but it is often desirable to restrict navigation to one direction If navigation is restricted, an arrowhead is added to indicate the direction of the navigation
43
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 43 Association: Multiplicity 2..4 0..1 1..* 0..* 1 * Unspecified Exactly one Zero or more (many, unlimited) One or more Zero or one Specified range Multiple, disjoint ranges 2, 4..6
44
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 44 StudentSchedule 10..* Multiplicity Navigation Example: Multiplicity and Navigation
45
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 45 ClientSupplier Package ClientPackageSupplierPackage Client Supplier Class Dependency relationship Component Relationships: Dependency A relationship between two model elements where a change in one may cause a change in the other Non-structural, “using” relationship
46
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 46 Relationships: Generalization A relationship among classes where one class shares the structure and/or behavior of one or more classes Defines a hierarchy of abstractions in which a subclass inherits from one or more superclasses Single inheritance Multiple inheritance Generalization is an “is-a-kind of” relationship
47
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 47 Account balance name number Withdraw() CreateStatement() Checking Withdraw() Savings GetInterest() Withdraw() Superclass (parent) Subclasses Generalization Relationship Ancestor Descendents Example: Single Inheritance One class inherits from another
48
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 48 AirplaneHelicopterWolfHorse FlyingThingAnimal Bird multiple inheritance Use multiple inheritance only when needed, and always with caution ! Example: Multiple Inheritance A class can inherit from several other classes
49
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 49 Inheritance leverages the similarities among classes What Gets Inherited? A subclass inherits its parent’s attributes, operations, and relationships A subclass may: Add additional attributes, operations, relationships Redefine inherited operations (use caution!) Common attributes, operations, and/or relationships are shown at the highest applicable level in the hierarchy
50
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 50 Truck tonnage GroundVehicle weight licenseNumber Car owner register( ) getTax( ) Person 0..* Trailer 1 Superclass (parent) Subclass generalization size Example: What Gets Inherited
51
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 51 Component Interface Use CaseUse-Case Realization Elided form Class Interface Subsystem Interface Canonical form Relationships: Realization One classifier serves as the contract that the other classifier agrees to carry out Found between: Interfaces and the classifiers that realize them Use cases and the collaborations that realize them
52
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 52 In Basic Principles of Object Orientation Basic Concepts of Object Orientation Strengths of Object Orientation General UML Modeling Mechanisms
53
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 53 Strengths of Object Orientation A single paradigm Facilitates architectural and code reuse Models more closely reflect the real world More accurately describe corporate data and processes Decomposed based on natural partitioning Easier to understand and maintain Stability A small change in requirements does not mean massive changes in the system under development
54
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 54 Class Diagram for the Sales Example SalespersonProduct Sale Corporate Customer IndividualTruck Vehicle Train sellerbuyeritem soldshipping mechanism
55
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 55 Effect of Requirements Change Suppose you need a new type of shipping vehicle... SalespersonProduct Sale Corporate Customer Individual Truck Vehicle Train sellerbuyeritem soldshipping mechanism Change involves adding a new subclass Airplane
56
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 56 Introduction to Object Orientation Topics Basic Principles of Object Orientation Basic Concepts of Object Orientation Strengths of Object Orientation General UML Modeling Mechanisms
57
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 57 > MyBoundaryClass Stereotypes Classify and extend the UML notational elements Define a new model element in terms of another model element May be applied to all modeling elements Represented with name in guillemets or as a different icon
58
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 58 > Processor #1 > DesignClass Processor #1 Example: Stereotypes Sample boundary class (stereotype) Stereotype of ‘dependency relation’ Stereotype of > These create new symbols using accustomed graphics.
59
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 59 There can be up to one MaintainScheduleForm per user session. MaintainScheduleForm Notes A note can be added to any UML element Notes may be added to add more information to the diagram It is a ‘dog eared’ rectangle The note may be anchored to an element with a dashed line
60
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 60 PersistentClass {persistence} anObject : ClassA {location=server} Tagged Values Extensions of the properties, or specific attributes, of a UML element Some properties are defined by UML Persistence Location (e.g., client, server) Properties can be created by UML modelers for any purpose
61
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 61 Professor Department Member Department Head {subset} 1..* 1 1 1 Constraints Supports the addition of new rules or modification of existing rules This notation is used to capture two relationships between Professor-type objects and Department-type objects; where one relationship is a subset of another…. Shows how UML can be tailored to correctly modeling exact relationships….
62
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 62 (continued) Review: Introduction to Object Orientation What are the four basic principles of object orientation? Provide a brief description of each. What is an Object and what is a Class? What is the difference between them? What is an Attribute? What is an Operation? What is an Interface? What is Polymorphism? What is a Component?
63
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright 1998-1999 Rational Software, all rights reserved 63 Review: Introduction to Object Orientation (cont.) What is a Package? What is Subsystem? How does it relate to a Component? How does it relate to a package? How does it relate to a class? Name the 4 basic UML relationships and describe each. Describe the strengths of object orientation. Name and describe some general UML mechanisms. What are stereotypes? Name some common uses of stereotypes.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.