Object-Oriented Analysis 2: Finding Classes - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

Object-Oriented Analysis 2: Finding Classes

Description:

'An abstraction denotes the essential characteristics of an object that ... Wirfs-Brock, et. al. Designing Object-Oriented Software. Model physical objects ... – PowerPoint PPT presentation

Number of Views:13
Avg rating:3.0/5.0
Slides: 10
Provided by: pagesCsam
Category:

less

Transcript and Presenter's Notes

Title: Object-Oriented Analysis 2: Finding Classes


1
Object-Oriented Analysis 2 Finding Classes
  • CMPT 371
  • Fall 2004
  • J.W. Benham

2
Abstractions
  • An abstraction denotes the essential
    characteristics of an object that distinguish it
    from all other kinds of objects and thus provide
    crisply defined conceptual boundaries, relative
    to the perspective of the user. Booch,
    Object-Oriented Analysis and Design

3
Types of Abstractions
  • Entity abstraction represents a useful model of
    a problem- or solution-domain entity
  • Action abstraction provides a generalized set
    of operations which perform the same kind of
    function
  • Virtual machine abstraction
  • Coincidental abstraction

4
Classification
  • The identification of classes and objects is the
    hardest part of object-oriented design. Booch
  • Discovery recognize key abstractions and
    mechanisms from problem domain
  • Invention devise generalized abstractions and
    new mechanisms that specify how objects
    collaborate

5
Iterative Classification
  • Only at later stages in the design, once clients
    other classes have been built that use this
    structure, can we meaningfully evaluate the
    quality of our classification. Booch
  • Derivation
  • Factorization
  • Composition
  • Abstraction

6
Approaches to Classification
  • Classical categorization use related properties
    as the criteria for sameness among objects
  • Conceptual clustering formulate conceptual
    descriptions and then classify entities according
    to those descriptions
  • Prototype theory represent a class by a
    prototypical object which other objects must
    resemble in significant ways

7
Classification and Object-Oriented Analysis
  • Classical approaches -- conceptual class
    categories
  • Behavior analysis responsibility-driven design,
    system functions
  • Domain analysis vocabulary of problem domain
  • Use-case analysis identify objects that
    participate in scenario
  • CRC Cards

8
Identifying Classes
  • Wirfs-Brock, et. al. Designing Object-Oriented
    Software
  • Model physical objects
  • Model conceptual entities that form a cohesive
    abstraction
  • If there is more than one word for a concept, use
    the one that is most meaningful in terms of the
    rest of the system

9
Identifying Classes - 2
  • Be wary of the use of adjectives
  • Be wary of sentences in the passive voice
  • Model categories of classes
  • Model known interfaces to outside world
  • Model values of attributes, but not the
    attributes themselves
Write a Comment
User Comments (0)
About PowerShow.com