330 likes | 488 Views
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)
E N D
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
Objects and Classes Operations Requests Attributes Inheritance Encapsulation Polymorphism OT BASIC CONCEPTS
WHAT’S AN OBJECT? NOUN • 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? VERB • 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 Adverb • An object is sent a message, which in turn causes an operation to be invoked • Sometimes the operation returns a response
Adjective 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
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 Proper Noun • 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
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 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.
VCR Buttons On-screen Messages Play Rewind Fast Forward Stop Record YOU TRY ONE ... • Draw an object structure diagram for the VCR object
Event Operation EVENT DIAGRAMS • Show events and the operations triggered by the events • Operations in rounded rectangles • Events on lines with arrows
TRIGGER 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
VCR Displays “Ready” VCR Rewinds SAMPLE EVENT DIAGRAM FOR REWIND OPERATION VCR User Presses Rewind Button Rewind Started Rewind Requested VCR Starts Rewind VCR Displays “Rewinding” Rewind Complete
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 “Brewing” light displays Coffee Requested Water is getting hot Water is hot Water finishes heating Water begins heating Pot is filling up “Brewing” light turns off Coffee reaches top of pot Water drips into pot Coffee is done
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