jump to first page 1 system design (finalizing design specifications) chapter 3d

23
Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Post on 20-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

1

System Design(Finalizing Design Specifications)

Chapter 3d

Page 2: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

2

Learning Objectives Read and understand a structure chart

Describe measures of good design

Understand cohesion and coupling

Page 3: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

3

Page 4: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

4

The Process of Finalizing Design Specifications

Less costly to correct and detect errors during the design phase

Deliverable: a set of design specifications for the entire system, with detailed functional descriptions of each system component

Page 5: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

5

Design Specification Document Contains:

Overall system description Interface requirements System features Nonfunctional requirements Other requirements Supporting diagrams and models

Page 6: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

6

The Structure Chart

Important program design technique

Shows all components of code in a hierarchical format Sequence – what

order of component? Selection – what

condition? Iteration – how often?

Page 7: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

7

Structure Chart Elements

1.2Calculate

Current GPA

Module

1.1Get Student

Grade Record

Library Module

Loop

Conditional Line

Control Couple

Data Couple

OffPage

Onpage

Page 8: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

8

Steps in Building the Structure Chart1. Identify top level modules and

decompose them into lower levels

2. Add control connections

3. Add couples

4. Review and revise again and again until complete

Page 9: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

9

Page 10: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

10

Page 11: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

11

Page 12: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

12

Design Guidelines

High quality structure charts result in programs that are modular, reusable and easy to implement.

Measures include: Cohesion: extent to which a module

performs a single function Coupling: dependencies between

modules Appropriate levels of fan-in and fan-

out

Page 13: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

13

Design Guidelines

Software is divided into modules. There should be:

Minimum interaction between modules [low coupling] AND

High degree of interaction within a module [high cohesion]

Therefore, an individual module can be DESIGNED, CODED, TESTED OR CHANGED easily.

Page 14: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

14

Types of Cohesion

Functional Sequential Communicational Procedural Temporal Logical Coincidental

Good

Bad

Page 15: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

15

Example of Low CohesionLogical Cohesion

Page 16: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

16

Types of Coupling

Data Stamp Control Common Content

Good

Bad

Page 17: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

17

a

cb

d

hgf

ekj

i

Data structure

Data (Var)

Control flag

No direct coupling

Global data area

Example of Coupling Level

Stampcoupling

datacoupling

controlcoupling

commoncoupling

Page 18: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

18

Fan-in/Fan-out

Page 19: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

19

Fan-in High fan-in preferred Promotes reuse of subordinate modules

1.1CalculateEmployee

Salary

1.2Print

EmployeeRoster

1.3CalculateBenefits

2.1.1Read

EmployeeRecord

1.1CalculateEmployee

Salary

1.2Print

EmployeeRoster

1.3CalculateBenefits

1.1.1Read

EmployeeRecord

1.2.1Read

EmployeeRecord

1.3.1Read

EmployeeRecord

Low fan-in not preferred

Page 20: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

20

Quality Checklist

1. Library modules have been created where ever possible

2. The diagram has a high fan-in structure

3. Control modules have no more than 7 subordinates

4. Each module performs only one function (high cohesion)

5. Modules sparingly share information (loose coupling)

6. Data couples that are passed are actually used by the accepting module

7. Control couples are passed from “low to high”

8. Each module has a reasonable amount of code associated with it

Page 21: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

21

Pseudocode

Method used for representing the instructions inside a module

Language similar to computer programming code

Two functions: Helps analyst think in a structured way about

the task a module is designed to perform Acts as a communication tool between

analyst and programmer

Page 22: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

22

Pseudocode Example

SET total to zero REPEAT

READ Temperature IF Temperature > Freezing THEN

    INCREMENT total END IF

UNTIL Temperature < zero Print total

Page 23: Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page

23

Summary In this chapter you learned how to:

Read and understand a structure chart Describe measures of good design Understand cohesion and coupling