Design Concepts and Principles - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Design Concepts and Principles

Description:

The design should exhibit uniformity and integration. ... to degrade gently, even when aberrant data, events, or operating conditions are encountered. ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 19
Provided by: xxx3
Category:

less

Transcript and Presenter's Notes

Title: Design Concepts and Principles


1
Design Concepts and Principles
2
Design Principles
  • The design process should not suffer from tunnel
    vision.
  • The design should be traceable to the analysis
    model.
  • The design should not reinvent the wheel.
  • The design should minimize the intellectual
    distance DAV95 between the software and the
    problem as it exists in the real world.
  • The design should exhibit uniformity and
    integration.
  • The design should be structured to accommodate
    change.
  • The design should be structured to degrade
    gently, even when aberrant data, events, or
    operating conditions are encountered.
  • Design is not coding, coding is not design.
  • The design should be assessed for quality as it
    is being created, not after the fact.
  • The design should be reviewed to minimize
    conceptual (semantic) errors.

3
Fundamental Concepts
  • abstractiondata, procedure, control
  • refinementelaboration of detail for all
    abstractions
  • modularitycompartmentalization of data and
    function
  • architectureoverall structure of the software
  • procedurethe algorithms that achieve function
  • hidingcontrolled interfaces

4
Data Abstraction
5
Procedural Abstraction
6
Stepwise Refinement
7
Modular Design
8
Modularity Trade-offs
9
Information Hiding
10
Why Information Hiding?
  • reduces the likelihood of side effects
  • limits the global impact of local design
    decisions
  • emphasizes communication through controlled
    interfaces
  • discourages the use of global data
  • leads to encapsulationan attribute of high
    quality design results in higher quality software

11
Architecture
  • The overall structure of the software and the
    ways in which that structure provides conceptual
    integrity for a system. SHA95a

12
Top-Down Design
  • In principle, top-down design involves starting
    at the uppermost components in the hierarchy and
    working down the hierarchy level by level
  • In practice, large systems design is never truly
    top-down. Some branches are designed before
    others. Designers reuse experience (and sometimes
    components) during the design process

13
Top-Down Design
14
Design Quality
  • Cohesion
  • Coupling
  • Understandability
  • Adaptability
  • Design traceability
  • Adaptability and inheritance

15
Understandability
  • Related to several component characteristics
  • Cohesion. Can the component be understood on its
    own?
  • Naming. Are meaningful names used?
  • Documentation. Is the design well-documented?
  • Complexity. Are complex algorithms used?
  • Informally, high complexity means many
    relationships between different parts of the
    design. Hence it is hard to understand.
  • Most design quality metrics are oriented towards
    complexity measurement. They are of limited use.

16
Adaptability
  • A design is adaptable if
  • Its components are loosely coupled
  • It is well-documented and the documentation is up
    to date
  • There is an obvious correspondence between design
    levels (design visibility)
  • Each component is a self-contained entity
    (tightly cohesive)
  • To adapt a design, it must be possible to trace
    the links between design components so that
    change consequences can be analyzed

17
Design Traceability
18
Adaptability and Inheritance
  • Inheritance dramatically improves adaptability.
  • Components may be adapted without change by
    deriving a sub-class and modifying that derived
    class
  • However, as the depth of the inheritance
    hierarchy increases, it becomes increasingly
    complex. It must be periodically reviewed and
    restructured
Write a Comment
User Comments (0)
About PowerShow.com