ObjectOriented Analysis and Design - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

ObjectOriented Analysis and Design

Description:

Building a system as the assembly of parts. Generalization ... 3. Design should not reinvent the wheel. 4. Design should be consistent with problem domain. ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 21
Provided by: richardu
Category:

less

Transcript and Presenter's Notes

Title: ObjectOriented Analysis and Design


1
Object-Oriented Analysis and Design
2
Overview
  • To frame our discussion, consider
  • What principles can we employ in software
    development that contribute significantly to the
    production of quality, reliable, and maintainable
    software products?
  • What empirical support is there to encourage
    their adoption?
  • How and when do we employ these principles in
    constructing software?

3
Outline
  • Strategies
  • Analysis
  • Design
  • OO Analysis
  • OO Design
  • Development

4
Why Strategies?
  • Support for the designer
  • Aid in communication with users
  • Support for maintenance staff

5
What Strategies?
  • Abstraction
  • Simplifying the description of real-world
    entities to its essentials
  • Separation
  • Treating the what and the how independently
  • Composition
  • Building a system as the assembly of parts
  • Generalization
  • Identifying commonalities among entities

6
Strategies and OO
  • Abstraction
  • Separation
  • Composition
  • Generalization

7
Analysis
  • Analysis emphasizes an investigation of the
    problem and the context in which a solution must
    reside.

8
Analysis Model (1)
  • Three objectives of the analysis model
  • 1. describe what the customer requires,
  • 2. establish as basis for the creation of a
    software design,
  • and
  • 3. define a set of requirements that can be
    validated.

9
Analysis Principles (1)
  • 1. Examine and Understand the Problem Domain
  • Information Content
  • The individual data and control objects that make
    up the available inputs to the system.
  • Information Flow
  • The way data and control are changed as each
    moves through the system.
  • Information Structure
  • Defines the internal representation of the items
    and how information items relate to one another.

10
Analysis Principles (2)
  • 2. Define the functions the software must perform
    (requirements).
  • Construct a model that provides an increasing
    level of detail regarding the functions the
    software must provide.

11
Analysis Principles (3)
  • 3. Represent the behavior of the software.
  • A behavioral model represents the states of the
    software and the events that cause software to
    change state.

12
Design
  • Providing a model from which an implementation
    can be derived.

13
Design Principles
  • 1. Design process should not suffer from
    tunnel vision.
  • 2. Design should provide traceability to the
    analysis model.
  • 3. Design should not reinvent the wheel.
  • 4. Design should be consistent with problem
    domain.
  • 5. Design should exhibit uniformity
    integration.
  • 6. Design should facilitate change.
  • 7. Design should accommodate the unexpected.
  • 8. Design is not coding!!!
  • 9. Designs have qualities too!
  • 10. Designs should be reviewed!

14
OO Analysis
  • Emphasizes finding and describing the objects in
    the problem domain.

15
OO Design
  • Defines the logical software objects that will be
    implemented. Software objects have attributes
    and methods.

16
Development
  • Plan and Elaborate
  • Plane, Define Requirements, prototype
  • Build
  • Construct
  • Deploy
  • Make the system operational

17
Iterative Development
  • Based on successive enlargement and refinement of
    a system. Each iteration of the process is a
    complete development cycle of analysis, design,
    implement and test.

18
Use Cases
  • Narrative Descriptions of domain processes
    (activities).
  • These are a preliminary step in gathering
    requirements for a system.
  • Iterative development can be organized by use
    case requirements..

19
OO Analysis
  • Define essential use cases
  • Refine Use case diagrams
  • Refine Conceptual Model
  • Refine Glossary
  • Define System Sequence Diagrams
  • Define Contracts
  • Define State Diagrams

20
Conceptual Modeling
  • A conceptual model is a representation of
    concepts or objects in the problem domain.
  • Conceptual models should be developed
    incrementally. Thus avoiding increasing the
    level of detail too soon.
Write a Comment
User Comments (0)
About PowerShow.com