Northrop p291
-
Upload
vishnuprakash -
Category
Documents
-
view
222 -
download
0
Transcript of Northrop p291
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