northrop p291

27
Object-Oriented Development By Linda M. Northrop  vol. 1, chapter 5, pp. 291-300 Presented by: Gleyner Garden EEL6883 Software Engineering II

Upload: vishnuprakash

Post on 04-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 1/27

Object-Oriented

DevelopmentBy Linda M. Northrop

 vol. 1, chapter 5, pp. 291-300

Presented by: Gleyner GardenEEL6883

Software Engineering II

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 2/27

Introduction

 The paper was written in 1994 and provides an

overview of object-oriented methodologies

Describes the history of object-oriented methods,

models of object-oriented design, and concepts ofobject-oriented programming

Most of you probably already knew most of this stuff asyou were reading… but when this paper was written, a

lot of these ideas were new to a lot of people… 

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 3/27

Historical Perspective

 Was initially thought of as a “research curiosity” 

Object-oriented programming is today what

structured programming was in the 1970’s 

 The Object and object attribute idea first

conceived in the 1950’s for A.I. 

 The real movement began in 1966 with theintroduction of the Simula  language

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 4/27

Historical Perspective

Palo Alto Research Center (PARC) developedSmalltalk in the early 1970’s 

Smalltalk is considered the first truly object-oriented

language Led other languages to support object-oriented

programming

 examples: Objective-C, C++, Self, Eiffel, and Flavors

1980 Booch pioneered the concept of object-oriented design (OOD)

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 5/27

Motivation

Benefits are Greater:

Productivity

Reliability

Maintainability

Manageability

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 6/27

Motivation

Direct mapping of concepts in the problem

domain to software units and their interfaces

 Viewing the world as objects is more natural

since it is closer to the way humans think

Objects are more stable than functions… 

Supports information hiding, data abstraction,and encapsulation

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 7/27

Motivation

Easily modified, extended, and maintained… 

 if your product was designed correctly

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 8/27

Object-Oriented Model

 A “new” way of thinking about what it means to

compute and how information can be structured

Systems are viewed as cooperating objects that

encapsulate structure and behavior in a

hierarchical construction

Functionality achieved by messages passing

between objects

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 9/27

Object-Oriented Model

Object-oriented model can be viewed as the frameworkcontaining:

 Abstraction

Encapsulation

Modularity

Hierarchy

 Typing

Concurrence

Persistence

Reusability

Extensibility

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 10/27

Object-Oriented Model

 The integration of

procedural and data-

driven approaches

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 11/27

Object Oriented Programming

Concepts:

Programs are organized into cooperating collections

of objects

Object: entity that encapsulates state and behavior.

 An instance of a class

Interface or protocol: set of messages to which it will

respond Response can be a message or routine, or delegation

of the message to another object

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 12/27

Object Oriented Programming

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 13/27

Languages

4 Branches of object-oriented languages, with

Simula being the common ancestor:

Smalltalk-based

C -based

Objective-C, C++, Java

LISP -based

Flavors, XLISP, LOOPS, CLOS

PASCAL -based

Object Pascal, Turbo Pascal, Eiffel, Ada 95

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 14/27

Languages

Object-based languages:

 Alphard:

CLU

 Euclid Gypsy

 Mesa

 Ada Want to learn more about these languages (history,

 where their names came from, etc)? click here:

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 15/27

Life Cycle

If it is accepted that object-oriented is more than

object-oriented coding, then a whole new

approach, including life cycle, must be adopted

(Booch, 1994)

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 16/27

Life Cycle

 Waterfall consists of asequential process,primarily in onedirection

Does notaccommodate realiteration

Criticized for placingno emphasis on reuse

and having nounifying model tointegrate the phases

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 17/27

Life Cycle

 Water fountain life

cycle describes the

inherent iterative and

incremental qualitiesof object-oriented

development

Prototyping and

feedback loops arestandard

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 18/27

Object-Oriented Analysis

Examines requirements from the perspective of

the classes and objects found in the vocabulary

of the problem domain

 Yields black-box objects that are derived from

the problem domain

Scenarios can be used to determine necessary

object behavior

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 19/27

 Analysis example

Problem: Drawing shapes

Scenarios: Draw a point

Draw a line

Draw a circle

Draw a square

Draw a rectangle Draw a polygon

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 20/27

Object-Oriented Design

Object focus shifts to the solution domain

Objects, their semantics, and relationships are

identified

Implementation and iteration occur

 Jacobsen says “when details of the

implementation begin to show, it’s OOD”  In my practice: OOA is preliminary design, and

OOD is detailed design

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 21/27

Management Issues

Object-oriented development requires a

commitment to change processes, resources, and

organizational structure.

LOC measurements are less valuable, # of

classes reused, inheritance depth, number of

class-to-class relationships, object coupling, total

# of classes, and class sizes are more valuableand meaningful

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 22/27

Management Issues

Booch suggests smaller development teams, and

cultivation of reuse experts

Reward reuse, not LOC: build libraries and

application frameworks

QA: review and testing activities still essential,

but timing and definition are different

 Tools: everything described exists in visual

studio

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 23/27

Object-Oriented Transition

Levels of absorption before assimilation into a

software development organization occurs

 Training is essential

Pilot projects are recommended

Combining structured and object-oriented

approached not recommended

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 24/27

Object-Oriented Transition

 Total object-oriented approach recommended

for the following reasons:

 Traceability improvement

Reduction in significant integration problems

Improved conceptual integrity of process and

product

Less need for objectification and deobjectification

Maximization of the benefits of object-orientation

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 25/27

 The Future

 The future is now… object-oriented

development is pretty standard

Class libraries and application frameworks (exist)

 Transparent information access across applications

and environments (exists)

Movement will gain popularity (did)

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 26/27

Conclusion

 This paper was pretty cutting-edge when it was

first published

8/13/2019 Northrop p291

http://slidepdf.com/reader/full/northrop-p291 27/27

Questions? Comments?

Feel free to speak up!