an introduction to object modeling system concept for...
TRANSCRIPT
![Page 1: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/1.jpg)
• An Introduction To Object Modeling
• System Concept for Object Modeling
• The Overall View Components of UML Diagram
![Page 2: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/2.jpg)
Chapter 2
After studying this chapter you should be able to: Define an object. Understand the terms class, attribute, and
operations.
Explain generalization, polymorphism, and inheritance.
Define association. Describe modeling and the Unified Modeling
Language.
2-2
![Page 3: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/3.jpg)
Chapter 2
A standard notation for representing object-oriented systems
Boxes represent classes, components, packages, objects Containing attributes and operations Provide interfaces to external entities
Lines represent generalization and other relationships
2-3
![Page 4: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/4.jpg)
Chapter 2
Sample
UML
Diagram
Introduction To Object-Orientation 2-4
![Page 5: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/5.jpg)
Chapter 22-5Introduction To Object-Orientation
During the 90s there were several disparate modelling methods for object oriented programming.
The used the same concepts with different notations.
This produced lots of confusion among designers and programmers.
“The war of the methods”
In 1994, Booch, Rumbaugh (OMT) y Jacobson (Objectory) decided to unify their methods and created:
Unified Modeling Language (UML)
This was a standardisation method promoted by OMG
![Page 6: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/6.jpg)
Chapter 22-6
Booch Coad/Yourdon
OMT Champeaux
Jacobson Martin/Odell
Shlaer-Mellor OOram
Wirfs-Broks BON
Fusion Open
Catalysis
And many many more!
![Page 7: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/7.jpg)
Chapter 22-7
Jacobson’s View of System Development
New and changed
requirementsSystem
developmentChanged system
![Page 8: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/8.jpg)
Chapter 2Introduction To Object-Orientation 2-8
Rumbaugh’s View of System Analysis
Problem statement
User interviews
Domain knowledge
Real-world experience
Object model
Dynamic model
Functional model
Generate requests
Build models
![Page 9: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/9.jpg)
Chapter 2Introduction To Object-Orientation 2-9
Booch’s View of System Design
:OrderTable
:Order
:OrderFlowaCustomer
aClient
1: setCustomer()
2: customerID()
3:<SQL statement>
Idsucceeded
Update OrderTable
Set customer=customer
where (ordertable.orderid=orderid)
![Page 10: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/10.jpg)
Chapter 2Introduction To Object-Orientation 2-10
message numbering
UML
Rumbaugh
Jacobson
Meyer
Harel
Wirfs-Brock
Fusion
Embly
Gamma et. al.
Shlaer-Mellor
Odell
Booch
Pre- and Post-conditions
State Charts
Responsabilities
Operation descriptions,
Singleton classes
Frameworks, patterns,
notes
Object life cycles
![Page 11: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/11.jpg)
Chapter 2Introduction To Object-Orientation 2-11
Has all the strong points of each method
Promotes new ways of improving designs/analysis
Promotes stability in the software industry
Simplifies users life!
![Page 12: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/12.jpg)
Chapter 2Introduction To Object-Orientation 2-12
Require
mentsObject
Oriented
Software
Product
UML
![Page 13: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/13.jpg)
Chapter 2Introduction To Object-Orientation 2-13
UML is a notation, not a design process
Various design processes are being design with UML in mind.
E.g. Rational created RUP, which is a“unified process”.
UML could be used for systems which are not necessarily software based.
UML is a language to visualize, specify, build and document the artefacts (models) of a system which involves a large number (or size) of object oriented software components.
![Page 14: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/14.jpg)
Chapter 2Introduction To Object-Orientation 2-14
Allows to:
Specify all the analysis, design and implementation decisions.
Build models which are precise, unambiguous and complete
Documents all the development steps (e.g. requirements, architecture, tests, versioning, etc..)
![Page 15: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/15.jpg)
Chapter 2Introduction To Object-Orientation 2-15
Provide users a expressive, visual language to enable sharing of
meaningful models.
Enables developers to compare models before implementation
phase.
Independent of programming language and development process.
Encourage growth of Object Oriented Tools market.
![Page 16: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/16.jpg)
Chapter 2Introduction To Object-Orientation 2-16
Design
Process
Implementation
Deployment
Use Case
UML 5 Views of a Software System
The problem
domain and
elements of
solutions
Scenarios executed
by humans: what
the system will do Source code,
executables,
databases, etc
Distribution
of the
various
artifacts
generatedTiming, control
flow, performance,
etc
![Page 17: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/17.jpg)
Chapter 2Introduction To Object-Orientation 2-17
UML is independent of the implementation language.
UML could be implemented in various languages
We will focus on UML tied to java
![Page 18: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/18.jpg)
Chapter 2Introduction To Object-Orientation 2-18
UML defines several types of diagrams:
Use Case
Classes
Packages
Objects
Interaction
Sequence
Collaboration
States
Activities
Components
Deployment
UML also
provides
mechanisms to
extend itself!
![Page 19: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/19.jpg)
Chapter 2Introduction To Object-Orientation 2-19
Use Case diagrams describe what a system does.
HEASSISTANT simply had 1 actor, but generally, we have
multiple actors.
![Page 20: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/20.jpg)
Chapter 2Introduction To Object-Orientation 2-20
Note advanced additional features such as abstract classes,
generalization (inheritance), aggregation (orderdetails make
up order)
![Page 21: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/21.jpg)
Chapter 2Introduction To Object-Orientation 2-21
![Page 22: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/22.jpg)
Chapter 2Introduction To Object-Orientation 2-22
• Note the use of sequence numbers
• Top level is assigned 1.1 –
additional dots per level away from
the user interface.
![Page 23: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/23.jpg)
Chapter 2Introduction To Object-Orientation 2-23
• Show the state of a particular object throughout the system lifetime.
• Not necessary for all objects – just the critical ones.
• Super states – can be used to nest states to make diagram easier to read.
Lifetime of a login
class.
![Page 24: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/24.jpg)
Chapter 2Introduction To Object-Orientation 2-24
A
C
T
I
V
I
T
Y
D
I
A
G
R
A
M
S
![Page 25: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/25.jpg)
Chapter 2Introduction To Object-Orientation 2-25
UML 1.0 was created through a collaboration of various
organizations: Microsoft, IBM, HP, etc.
Today, UML is on Version 2.0.
It is managed by the Object Management Group – not for profit
consortium. UML specification is available for download at
http://www.uml.org/
Tools that conform the latest 2.0 specification – Rational Software
Architect, Sparx System Architect, StarUML, etc.
![Page 26: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/26.jpg)
Chapter 2
An entity that encapsulates data and
behavior
- Objects are categorized into classes
- Each individual object is an instance of a
class
2-26
![Page 27: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/27.jpg)
Chapter 22-27
An object is:
“an abstraction of something in a problem domain, reflecting the capabilities of the system to keep information about it,
interact with it,
or both.”
Coad and Yourdon (1990)
![Page 28: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/28.jpg)
Chapter 22-28
“Objects have state, behaviour and identity.”Booch (1994)
State: the condition of an object at any moment, affecting how it can behave
Behaviour: what an object can do, how it can respond to events and stimuli
Identity: each object is unique
![Page 29: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/29.jpg)
Chapter 22-29
Object
A person. ‘Hussain Pervez.’ Speak, walk, read.Studying, resting,
qualified.
A shirt.My favourite button
white denim shirt.Shrink, stain, rip. Pressed, dirty,
worn.
A sale. Sale no #0015, 18/05/05. Earn loyalty points. Invoiced, cancelled.
Identity Behaviour State
A bottle of
ketchup.
This bottle of ketchup. Spill in transit. Unsold, opened,
empty.
![Page 30: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/30.jpg)
Chapter 2
The characteristic of object-orientation in
which data and behavior are bundled into a
class and hidden from the outside world
Access to the data and behavior is provided
and controlled through an object’s interface
2-30
![Page 31: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/31.jpg)
Chapter 22-31
Several objects may collaborate to fulfil each system action
“Record CD sale” could involve: A CD stock item object
A sales transaction object
A sales assistant object
These objects communicate by sending each other messages
![Page 32: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/32.jpg)
Chapter 22-32
Message from another object
requests a service.
Operation called only via valid
operation signature.
Data accessed only by object’s
own operations.
An object’s data is
hidden
(encapsulated).
‘Layers of an onion’
model of an object:
An outer layer of
operation signatures…
…gives access to middle
layer of operations…
…which can access
inner core of data
![Page 33: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/33.jpg)
Chapter 2
• A category of objects that share the same
attributes, operations, relationships, and
semantics
• All objects are instances of classes
2-33
![Page 34: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/34.jpg)
Chapter 22-34
All objects are instances of some class
Class:
a description of a set of objects with similar features (attributes, operations, links);
semantics;
constraints (e.g. when and whether an object can be instantiated).
OMG (2004)
![Page 35: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/35.jpg)
Chapter 22-35
An object is an instance of some class
So, instance = object but also carries connotations of the class to which
the object belongs
Instances of a class are similar in their: Structure: what it knows, what information it holds,
what links it has to other objects
Behaviour: what an object can do
![Page 36: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/36.jpg)
Chapter 2
Name
Attributes
Operations
Introduction To Object-Orientation 2-36
![Page 37: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/37.jpg)
Chapter 2Introduction To Object-Orientation 2-37
Objects Class
Professor Smith
Professor Jones
Professor Mellon
Professor
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
![Page 38: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/38.jpg)
Chapter 2
• Attribute- a named property of a class that
describes a range of values that instances of
the attribute might hold
• Attributes are the way classes encapsulate
data
• An attribute is a data value or state that
describes an object and helps you to tell one
object from another of the same class.
2-38
![Page 39: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/39.jpg)
Chapter 2
Attributes
are
properties
containing
values
Minus
sign
indicates
these are
private
(hidden)
Introduction To Object-Orientation 2-39
![Page 40: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/40.jpg)
Chapter 2
A behavior of an object
Implemented in classes are methods
Methods are identified and invoked by their
signatures, including name, parameters, and
return type
2-40
![Page 41: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/41.jpg)
Chapter 2
Signature identifies
and invokes the
behavior
Method implements the behavior
Introduction To Object-Orientation 2-41
![Page 42: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/42.jpg)
Chapter 2
Method
signatures
Plus sign
indicates
these are
public
(accessible)
Introduction To Object-Orientation 2-42
![Page 43: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/43.jpg)
Chapter 2
A relationship between a more general (or
parent) class and a more specific (or child)
class
The more specific class has additional
attributes and operations
2-43
![Page 44: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/44.jpg)
Chapter 22-44
Classification is hierarchic in nature
For example, a person may be an employee, a customer, a supplier of a service
An employee may be paid monthly, weekly or hourly
An hourly paid employee may be a driver, a cleaner, a sales assistant
![Page 45: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/45.jpg)
Chapter 22-45
Person
Employee Customer Supplier
monthly
paid
weekly paid hourly paid
Driver Cleaner Sales
assistant
More general
(superclasses)
More specialized
(subclasses)
![Page 46: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/46.jpg)
Chapter 2 2-46
More general bits of description are abstracted
out from specialized classes:
Person
name
date of birth
gender
title
HourlyPaidDriver
startDate
standardRate
overtimeRate
licenceType
General (superclass) Specialized (subclass)
![Page 47: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/47.jpg)
Chapter 2
The mechanism by which the more specific
class in a generalization relationship includes
the attributes and operations of the more
general class
2-47
![Page 48: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/48.jpg)
Chapter 2
Generalization
represented by
arrows from
subclass to
superclassSubclasses
inherit all
attributes and
operations of
superclasses
Introduction To Object-Orientation 2-48
![Page 49: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/49.jpg)
Chapter 2
The ability for different classes of objects to
respond to identical messages in different
ways
Polymorphism = “having many forms”
Different behaviors for the same message
2-49
![Page 50: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/50.jpg)
Chapter 22-50
Polymorphism allows one message to be sent to objects of different classes
Sending object need not know what kind of object will receive the message
Each receiving object knows how to respond appropriately
![Page 51: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/51.jpg)
Chapter 2
Here, each
type of
vehicle has
its own
version of
calcPrice()
Introduction To Object-Orientation 2-51
![Page 52: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/52.jpg)
Chapter 2Introduction To Object-Orientation 2-52
52
• Polymorphism (“many forms”)
4The ability to hide different implementations
behind a common interface.
4The ability for two or more objects to respond to
the same request, each in its own way.
H O = water, ice, steam (liquid, solid, vapor)
Eating2
versusDoor
#1
Door
#2
Door
#3
Door
#1
#2
#3
![Page 53: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/53.jpg)
Chapter 2Introduction To Object-Orientation 2-53
• Polymorphism 4Two examples
0
5000
10000
15000
20000
25000
30000
North South East West
B L U E S K Y
A I R L I N E S
Sales Report
January
B L U E S K Y
A I R L I N E S
Sales Report
February
TEXT object
GRAPH object
IMAGE object
Object #1 PO object
Account object
Department object
Object #2
Object #3
Add
Add
Add
= add a line item to the PO
= increase $ Amount Balance
= hire a new employee
![Page 54: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/54.jpg)
Chapter 2
A replaceable part of a system
providing a clearly defined
function through a set of
interfaces
Group of classes working
together toward a common end;
a subsystem
2-54
![Page 55: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/55.jpg)
Chapter 2
A component is a collection of related classes
that together provide a larger set of services.
Components in your system might include
applications, libraries, ActiveX controls,
JavaBeans, daemons, and services.
2-55
![Page 56: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/56.jpg)
Chapter 2
The mechanism by which users of a
component invoke its behaviors and
manipulate its properties
The interface is implemented by method
signatures
An interface is a definition of a set of
services provided by a component or by a
class.
2-56
![Page 57: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/57.jpg)
Chapter 2
Interfaces are
represented as
small rectangles
Introduction To Object-Orientation 2-57
![Page 58: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/58.jpg)
Chapter 2
A general-purpose mechanism
for organizing elements into
groups
Group of classes sharing similar
characteristics or purposes
2-58
![Page 59: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/59.jpg)
Chapter 2Introduction To Object-Orientation 2-59
![Page 60: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/60.jpg)
Chapter 2
A relationship or link between instances of one, two, or more classes
Three types: Simple associations: no ownership
Aggregations: part-whole relationships where the part can exist independently of the whole
Compositions: part-whole relationships where the part and the whole are fully dependent on each other
2-60
![Page 61: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/61.jpg)
Chapter 2
This is a binary association,
showing roles and multiplicities
Introduction To Object-Orientation 2-61
![Page 62: An Introduction To Object Modeling System Concept for ...maizatulakma.yolasite.com/resources/TMD274/ch02... · Chapter 2 Introduction To Object-Orientation 2-13 UML is a notation,](https://reader034.vdocument.in/reader034/viewer/2022042022/5e7a062f454b857c53695c85/html5/thumbnails/62.jpg)
Chapter 2
After studying this chapter we learned to:
Define an object.
Understand the terms class, attribute, and operations.
Explain generalization, polymorphism, and inheritance.
Define association.
Describe modeling and the Unified Modeling Language.
2-62