MANAGING COMPLEXITY - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

MANAGING COMPLEXITY

Description:

different kinds of hierarchies allow insight into different aspects of the complex system ... concentration upon the essential features of an idea. Abstraction ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 19
Provided by: Kni69
Category:

less

Transcript and Presenter's Notes

Title: MANAGING COMPLEXITY


1
MANAGING COMPLEXITY
  • Lecture OO01
  • Introduction to Object-oriented Analysis and
    Design
  • Abstract Data Types

2
References
  • Booch, Object Oriented Analysis and Design, Chpt
    1
  • Parnas, D.L.
  • On the Criteria to be Used in Decomposing
    Systems into Modules, Comm. Of the ACM, Dec, 1972

3
Teaching Points
  • Three tools for coping with complexity
  • Abstract Data Types and Modularization
  • Information Hiding

4
Review - Software is complex because
  • complex problem domain
  • difficult development process
  • (large systems-gtlarge orgs)
  • flexibility
  • discrete systems

5
How to Cope?
  • Three Tools
  • Decomposition
  • Hierarchy
  • Abstraction

6
Decomposition
  • breaks the problem into understandable components
  • allows elements of an organization to work on
    small chunks of the system

7
Decomposition
  • can limit flexibility by producing well defined
    (possibly reusable) building blocks
  • opens the possibility for separation of issues
    allowing isolation of the state space
  • Coupling vs. Cohesion

8
Hierarchy
  • allows understanding of relationships between
    small numbers of components
  • different kinds of hierarchies allow insight into
    different aspects of the complex system

9
Abstraction
  • probably the most important of the three tools
  • the overlooking of unimportant detail
  • concentration upon the essential features of an
    idea

10
Abstraction Examples
  • business organization chart
  • virtual machine
  • character based I/O
  • graphics objects

11
Recall Structured Analysis and Design
  • Analysis/Design Strategy
  • Decompose the problem into nested procedures
  • Use the best algorithm you can find for the
    procedures

12
Data Flow Diagram
13
Must Reduce
  • complexity
  • vulnerability to change in design or requirement

14
A New Modularization
  • based on abstract data types (classes)
  • encapsulation (data hiding)
  • abstraction (interface)

15
An Object
  • An instance of an abstract data type
  • State
  • Behaviour
  • Identity

16
New Design Paradigm
  • Set of Collaborating Objects

17
Attributes of an Object-Oriented Environment
  • Encapsulation
  • Abstraction
  • Modularity
  • Hierarchy

18
Teaching Points
  • Three tools for coping with complexity
  • Abstract Data Types and Modularization
  • Information Hiding
Write a Comment
User Comments (0)
About PowerShow.com