ten steps to object-speak

Post on 13-Jan-2016

29 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

TEN STEPS TO OBJECT-SPEAK

Terminology & Basic ConceptsJoy 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

SAM PLE PER SO N O BJEC T

1st Sem ester 2nd Semester

Freshm an Sophom ore

Student Em ployee

Person

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 SYNONYMSOT OAD OOP

Object Object TypeObject Class

ClassPackageModule

Operation Service Method

Message RequestEvent

Attribute Variable

SOME BENEFITS OF OT

Reusability classes can be reused or inherited

Stability over time, classes become more stable

Easier Design black box concept

Faster Design create applications from existing components

Practicing A mammal 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

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 thana real car

OBJECT STRUCTURE DIAGRAM

Large rectangle with two horizontal dividing lines

Top third object name

Middle third object attributes

Bottom thirdobject methods

SAMPLE OBJECT STRUCTURE DIAGRAM

TRAFFIC LIGHTTRAFFIC LIGHT

ColorColor

Turn RedTurn RedTurn YellowTurn YellowTurn GreenTurn Green

The operations are described in terms of whatthey do -- not how they do it.

YOU TRY ONE ... Draw an object structure diagram

for the VCR object

VCRVCR

ButtonsButtonsOn-screen MessagesOn-screen Messages

PlayPlayRewindRewindFast ForwardFast ForwardStopStopRecordRecord

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 PressesVCR User PressesRewind ButtonRewind Button

RewindRewindCompleteCompleteVCR VCR

RewindsRewindsVCRVCRDisplaysDisplays““Ready”Ready”

RewindRewindRequestedRequested

VCR VCR StartsStartsRewindRewind

RewindRewindStartedStarted VCRVCR

DisplaysDisplays““Rewinding”Rewinding”

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 ANSWERPush Coffee MakerPush Coffee MakerSTART ButtonSTART Button

CoffeeCoffeeRequestedRequested

WaterWaterbeginsbeginsheatingheating

““Brewing”Brewing”light displayslight displays

Water isWater isgetting getting hothot

WaterWaterfinishesfinishesheatingheating

WaterWateris hotis hot

WaterWaterdripsdripsinto potinto pot

Pot isPot isfilling upfilling up

Coffee Coffee reaches reaches top of pottop of pot

CoffeeCoffeeis doneis done

““Brewing”Brewing”light turnslight turnsoffoff

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

top related