Object-Oriented Development - PowerPoint PPT Presentation

About This Presentation
Title:

Object-Oriented Development

Description:

Object-Oriented Development By Linda M. Northrop vol. 1, chapter 5, pp. 291-300 Presented by: Gleyner Garden EEL6883 Software Engineering II Introduction The paper ... – PowerPoint PPT presentation

Number of Views:117
Avg rating:3.0/5.0
Slides: 28
Provided by: Gleyner4
Learn more at: http://www.cs.ucf.edu
Category:

less

Transcript and Presenter's Notes

Title: Object-Oriented Development


1
Object-Oriented Development
  • By Linda M. Northrop
  • vol. 1, chapter 5, pp. 291-300

Presented by Gleyner Garden EEL6883 Software
Engineering II
2
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 of
    object-oriented programming
  • Most of you probably already knew most of this
    stuff as you were reading but when this paper
    was written, a lot of these ideas were new to a
    lot of people

3
Historical Perspective
  • Was initially thought of as a research
    curiosity
  • Object-oriented programming is today what
    structured programming was in the 1970s
  • The Object and object attribute idea first
    conceived in the 1950s for A.I.
  • The real movement began in 1966 with the
    introduction of the Simula language

4
Historical Perspective
  • Palo Alto Research Center (PARC) developed
    Smalltalk in the early 1970s
  • 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)

5
Motivation
  • Benefits are Greater
  • Productivity
  • Reliability
  • Maintainability
  • Manageability

6
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

7
Motivation
  • Easily modified, extended, and maintained
  • if your product was designed correctly

8
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

9
Object-Oriented Model
  • Object-oriented model can be viewed as the
    framework containing
  • Abstraction
  • Encapsulation
  • Modularity
  • Hierarchy
  • Typing
  • Concurrence
  • Persistence
  • Reusability
  • Extensibility

10
Object-Oriented Model
  • The integration of procedural and data-driven
    approaches

11
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

12
Object Oriented Programming
13
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

14
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

15
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)

16
Life Cycle
  • Waterfall consists of a sequential process,
    primarily in one direction
  • Does not accommodate real iteration
  • Criticized for placing no emphasis on reuse and
    having no unifying model to integrate the phases

17
Life Cycle
  • Water fountain life cycle describes the inherent
    iterative and incremental qualities of
    object-oriented development
  • Prototyping and feedback loops are standard

18
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

19
Analysis example
  • Problem Drawing shapes
  • Scenarios
  • Draw a point
  • Draw a line
  • Draw a circle
  • Draw a square
  • Draw a rectangle
  • Draw a polygon

20
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, its OOD
  • In my practice OOA is preliminary design, and
    OOD is detailed design

21
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
    valuable and meaningful

22
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

23
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

24
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

25
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)

26
Conclusion
  • This paper was pretty cutting-edge when it was
    first published

27
Questions? Comments?
  • Feel free to speak up!
Write a Comment
User Comments (0)
About PowerShow.com