OBJECT ORIENTED TECHNOLOGY

Download Report

Transcript OBJECT ORIENTED TECHNOLOGY

TEN STEPS TO OBJECT-SPEAK
Terminology & Basic Concepts
Joy Starks
September 17, 1999
OBJECTIVES
Discuss the history of Object Oriented
Technology (OT)
 Describe basic concepts of OT
 Define terms in Object Oriented Analysis
& Design (OAD) and Programming
(OOP)
 Relate definitions to real-world examples
 Mention some benefits of OT
 Practice by Example

HISTORY OF OT
1969
 Dr. Kristin Nygaard of Norway
 Model fjord and movement of ships
passing through it

HISTORY OF OT

The Problem
 structured
programming separates data
from procedures

The Solution
 Object
Oriented Programming
 model each component (data and
procedure) as a single unit
 model relationships between components
OT BASIC CONCEPTS




Objects and Classes
Operations
Requests
Attributes



Inheritance
Encapsulation
Polymorphism
WHAT’S AN OBJECT?
Anything, real or abstract, about which
we store data
 Dr. Nygaard’s objects

 mathematical
models of boats
 physical aspects of the fjord being analyzed

Other Examples
 an
invoice, an organization, a screen with
which a user interacts, a drawing, an
airplane, an order-filling process...
WHAT’S AN OPERATION?
An activity that reads or manipulates
data of an object
 Dr. Nygaard’s operations

 boats

float, sink, move etc.
Other Examples
 calculating
a total, checking a balance,
adding a new employee, changing an
address, deleting a customer ...
HOW OBJECTS
COMMUNICATE
An object is sent a message, which in
turn causes an operation to be invoked
 Sometimes the operation returns a
response

WHAT’S AN ATTRIBUTE?
Characteristics that add detail to an
object
 Dr. Nygaard’s attributes

 color,

weight, size, etc.
Other Examples
 someone’s
name or address, an employee’s
title, a book’s author , a part number, a
room’s dimensions
INHERITING ATTRIBUTES
Objects can be decomposed into other
objects
 Generalization hierarchy
 Supertype versus subtype
 An object inherits the attributes in its
parent class

SAMPLE GENERALIZATION
HIERARCHY
SAMPLE PERSON OBJECT
Person
Student
Freshman
1st Semester
Employee
Sophomore
2nd Semester
WHAT ARE CLASSES?
An object type or object class is a
category of an object that has similar
characteristics and behavior
 Example: employee or student
 A class acts as a template or blueprint
for object instances

OBJECT INSTANCES
An object instance is a specific example
of an object type
 Examples

 John

P. Smith, Invoice #12356
And just to make it all really confusing,
object instances are sometimes called
objects!
ENCAPSULATION
The process of making implementation
details of an object transparent to a user
 Packaging data and operations together
 Also called information hiding
 The black box

POLY-WHAT?

Polymorphism
 the
ability of two or objects to respond to
the same message, each in its own way
 an instruction is given using a generalized,
rather than specific, detailed command
 while specific actions would be different,
results are the same

Example
 Animal:
Speak
 Dogs bark; cats meow
COMPARING SYNONYMS
OT
OAD
OOP
Object Type Class
Object Class Package
Module
Method
Operation Service
Request
Message
Event
Variable
Attribute
Object
SOME BENEFITS OF OT

Reusability
 classes

Stability
 over

time, classes become more stable
Easier Design
 black

can be reused or inherited
box concept
Faster Design
 create
applications from existing components
Practicing
is an object
 Bear, buffalo, whale, and dolphin are
subtypes
 Yogi, Wilbur, and Smokey are
instances of the Bear subtype
 Eye color, ear size, and weight are
attributes

A mammal
Your Turn: Matching






VCR IS an object
A Sony VCR is an object type
Serial #9234 of Sony VCR is an object instance
Playback, record, and audio dubbing are
examples of VCR operations
The concept that the VCR contains complex
components you assume work is encapsulation
When you use a remote control, you are sending
requests to the VCR
One More Example
If “brunch items” is a supertype, list a
subtype.
 If muffin is a subtype, list an attribute.
 If muffin is a subtype, list an operation.
 If muffin is a subtype, list an instance.

A MODEL . . .




represents an aspect of reality
helps us to understand reality
assists us in inventing systems or redesigning
business areas
should be simpler than reality

for example, model
cars are simpler than
a real car
OBJECT STRUCTURE
DIAGRAM
Large rectangle with
two horizontal
dividing lines
 Top third



Middle third


object name
object attributes
Bottom third
object
methods
SAMPLE OBJECT
STRUCTURE DIAGRAM
TRAFFIC LIGHT
Color
Turn Red
Turn Yellow
Turn Green
The operations are described in terms of what
they do -- not how they do it.
YOU TRY ONE ...

Draw an object structure diagram for
the VCR object
VCR
Buttons
On-screen Messages
Play
Rewind
Fast Forward
Stop
Record
EVENT DIAGRAMS
Show events and the operations
triggered by the events
 Operations in rounded rectangles
 Events on lines with arrows

TRIGGERS
A trigger is an action that causes an
event
 An operation has no knowledge of what
triggered it or why
 An operation does not know what
events are triggered by its result
 External triggers in shadowed rounded
rectangles
TRIGGER

SAMPLE EVENT DIAGRAM
FOR REWIND OPERATION
VCR User Presses
Rewind Button
Rewind
Requested
VCR
Starts
Rewind
Rewind
Started
VCR
Displays
“Rewinding”
VCR
Rewinds
Rewind
Complete
VCR
Displays
“Ready”
YOU TRY ONE ...
You press START on the coffee maker
 The coffee maker begins heating up the
water
 The “brewing” light is on
 When the water is hot, coffee drips into
the pot
 When the pot is full, the “brewing”
light shuts off

SAMPLE ANSWER
Push Coffee Maker
START Button
Coffee
Requested
“Brewing”
light displays
Water
begins
heating
“Brewing”
light turns
off
Coffee
is done
Water is
getting Water
hot
finishes
heating
Water
is hot
Pot is
Coffee
reaches filling up
top of pot
Water
drips
into pot
Summary of Terminology
Objects, Classes, Operations, Attributes
 Inheritance, Encapsulation,
Polymorphism
 Generalization Hierarchies
 Object Structure Diagrams
 Event Diagrams

SUMMARY OF MODELS

OAD consists of
 object
structure analysis & design
 object behavior analysis & design
Object-structure diagrams show the
object name, attributes, and methods
 Event diagrams show the events and
the methods (operation) triggered by
the events
