Course: IKI81404T : Perancangan Sistem Informasi
PERANCANGAN SISTEM INFORMASI
Session
Session 99 Program
Program Design
Design
nd
Based
Based on
on System
System Analysis
Analysis && Design
Design 22nd Edition
Edition
Authors
Authors :: Alan
Alan Dennis
Dennis && Barbara
Barbara Haley
Haley Wixom
Wixom
Publisher
Publisher :: John
John Wiley
Wiley && Sons
Sons
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Facult y of Com put er Science – UNI VERSI TY OF I NDONESI A
Objectives
Objectives
Be able to create a structure chart
Be able to write a program specification
Understand the use of pseudocode
Become familiar with event-driven
programming
2
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Key
Key Definitions
Definitions
Program design - creating instructions for the
programmers
The top-down, modular approach - begin with
the “big picture” and gradually add detail
Program design document – all structure
charts and specifications needed by
programmers to implement the system
3
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
STRUCTURE CHART
4
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
The
The Structure
Structure Chart
Chart
Important program design technique
Shows all components of code in a hierarchical
format
Sequence
Selection
Iteration
5
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Structure
Structure Chart
Chart Example
Example
6
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Structure
Structure Chart
Chart Elements
Elements
Module
Library module
Loop
Conditional line
Data couple
Control couple
Off-page connector
On-page connector
7
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Building
Building the
the Structure
Structure Chart
Chart
Processes in the DFD tend to represent one
module on the structure chart
Afferent processes – provide inputs to system
Central processes – perform critical system
operations
Efferent processes – handle system outputs
The DFD leveling can correspond to the
structure chart hierarchy
8
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Types
Types of
of Structure
Structure Charts
Charts
Transaction structure – control module calls
subordinate modules, each of which handles a
particular transaction
Many afferent processes
Few efferent processes
Higher up levels of structure chart
Using inputs to create a new output
9
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Transaction
Transaction Structure
Structure
10
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Types
Types of
of Structure
Structure Charts
Charts
Transform structure – control module calls
several subordinate modules in sequence
Each subordinate performs a step in a process
that transforms an input into an output
Few afferent processes
Many efferent processes
Lower levels of structure chart
Coordinates the movement of outputs
11
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Transform
Transform Structure
Structure
12
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Steps
Steps in
in Building
Building the
the Structure
Structure Chart
Chart
1. 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
13
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CD
CD SELECTIONS
SELECTIONS
14
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CD
CD SELECTIONS
SELECTIONS
15
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CD
CD SELECTIONS
SELECTIONS
16
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Design
Design Guidelines
Guidelines
High quality structure charts result in
programs that are modular, reusable and easy
to implement.
Measures include:
Cohesion
Coupling
Appropriate levels of fan-in and fan-out
17
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Types
Types of
of Cohesion
Cohesion
Typ e s o f Co he sio n
Func tio na l
Se q ue ntia l
Co mmunic a tio na l
Pro c e d ura l
Te mp o ra l
Lo g ic a l
Co inc id e nta l
18
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
What
Wo uld Be
an Example
o f Eac h?
Example
Example of
of Low
Low Cohesion
Cohesion
Logical Cohesion
19
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Cohesion
Cohesion Decision
Decision Tree
Tree
Adapt ed from Page- Jones, 1980
20
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Factoring
Factoring
Process of dealing with “low” cohesion
Separates tasks into different modules
Reduces use of control flags
21
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Types
Types of
of Coupling
Coupling
Typ e s o f Co up ling
Da ta
Sta mp
Co ntro l
Co mmo n
Co nte nt
Good
Bad
22
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
What
Wo uld Be
an Example
o f Eac h?
Your
Your Turn
Turn
What, if anything, happens to coupling when
you create modules that are more cohesive?
What, if anything happens to the cohesiveness
of modules when you lower the coupling among
them?
23
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Fan-in
Fan-in
High fan-in preferred
Promotes reuse of subordinate modules
1.1
Calculate
Employee
Salary
1.2
Print
Employee
Roster
2.1.1
Read
Employee
Record
1.3
Calculate
Benefits
1.1
Calculate
Employee
Salary
1.2
Print
Employee
Roster
1.3
Calculate
Benefits
1.1.1
Read
Employee
Record
1.2.1
Read
Employee
Record
1.3.1
Read
Employee
Record
Low fan-in not preferred
24
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Quality
Quality Checklist
Checklist
1.
2.
3.
4.
5.
6.
Library modules have been created where ever possible
The diagram has a high fan-in structure
Control modules have no more than 7 subordinates
Each module performs only one function (high cohesion)
Modules sparingly share information (loose coupling)
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
25
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
PROGRAM SPECIFICATION
26
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Program
Program Specifications
Specifications Content
Content
No standard approach
Include program information
Note events that trigger actions
List inputs and outputs
Include pseudocode
Present additional notes and comments
27
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Program
Program Specification
Specification Form
Form
28
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Pseudocode
Pseudocode Example
Example
( Get CD- info
Accept
Accept
Accept
Accept
Ret urn
29
m odule)
( CD_t it le) { Required}
( CD_art ist ) { Required}
( CD_cat egory) { Required}
( CD_lengt h)
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CASE
CASE Tool
Tool View
View of
of Process
Process Description
Description
30
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CD
CD SELECTION
SELECTION
31
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Summary
Summary
The structure chart shows all of the functional
components needed in the program at a high level.
Components of the structure chart show sequence,
selection, and iteration
Follow design guidelines regarding cohesion, coupling,
and fan-in/fan-out.
Prepare detailed specifications to programmers
including pseudocode to show important programming
structures.
32
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Session
Session 99 Program
Program Design
Design
nd
Based
Based on
on System
System Analysis
Analysis && Design
Design 22nd Edition
Edition
Authors
Authors :: Alan
Alan Dennis
Dennis && Barbara
Barbara Haley
Haley Wixom
Wixom
Publisher
Publisher :: John
John Wiley
Wiley && Sons
Sons
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Facult y of Com put er Science – UNI VERSI TY OF I NDONESI A
Objectives
Objectives
Be able to create a structure chart
Be able to write a program specification
Understand the use of pseudocode
Become familiar with event-driven
programming
2
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Key
Key Definitions
Definitions
Program design - creating instructions for the
programmers
The top-down, modular approach - begin with
the “big picture” and gradually add detail
Program design document – all structure
charts and specifications needed by
programmers to implement the system
3
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
STRUCTURE CHART
4
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
The
The Structure
Structure Chart
Chart
Important program design technique
Shows all components of code in a hierarchical
format
Sequence
Selection
Iteration
5
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Structure
Structure Chart
Chart Example
Example
6
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Structure
Structure Chart
Chart Elements
Elements
Module
Library module
Loop
Conditional line
Data couple
Control couple
Off-page connector
On-page connector
7
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Building
Building the
the Structure
Structure Chart
Chart
Processes in the DFD tend to represent one
module on the structure chart
Afferent processes – provide inputs to system
Central processes – perform critical system
operations
Efferent processes – handle system outputs
The DFD leveling can correspond to the
structure chart hierarchy
8
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Types
Types of
of Structure
Structure Charts
Charts
Transaction structure – control module calls
subordinate modules, each of which handles a
particular transaction
Many afferent processes
Few efferent processes
Higher up levels of structure chart
Using inputs to create a new output
9
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Transaction
Transaction Structure
Structure
10
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Types
Types of
of Structure
Structure Charts
Charts
Transform structure – control module calls
several subordinate modules in sequence
Each subordinate performs a step in a process
that transforms an input into an output
Few afferent processes
Many efferent processes
Lower levels of structure chart
Coordinates the movement of outputs
11
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Transform
Transform Structure
Structure
12
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Steps
Steps in
in Building
Building the
the Structure
Structure Chart
Chart
1. 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
13
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CD
CD SELECTIONS
SELECTIONS
14
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CD
CD SELECTIONS
SELECTIONS
15
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CD
CD SELECTIONS
SELECTIONS
16
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Design
Design Guidelines
Guidelines
High quality structure charts result in
programs that are modular, reusable and easy
to implement.
Measures include:
Cohesion
Coupling
Appropriate levels of fan-in and fan-out
17
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Types
Types of
of Cohesion
Cohesion
Typ e s o f Co he sio n
Func tio na l
Se q ue ntia l
Co mmunic a tio na l
Pro c e d ura l
Te mp o ra l
Lo g ic a l
Co inc id e nta l
18
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
What
Wo uld Be
an Example
o f Eac h?
Example
Example of
of Low
Low Cohesion
Cohesion
Logical Cohesion
19
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Cohesion
Cohesion Decision
Decision Tree
Tree
Adapt ed from Page- Jones, 1980
20
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Factoring
Factoring
Process of dealing with “low” cohesion
Separates tasks into different modules
Reduces use of control flags
21
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Types
Types of
of Coupling
Coupling
Typ e s o f Co up ling
Da ta
Sta mp
Co ntro l
Co mmo n
Co nte nt
Good
Bad
22
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
What
Wo uld Be
an Example
o f Eac h?
Your
Your Turn
Turn
What, if anything, happens to coupling when
you create modules that are more cohesive?
What, if anything happens to the cohesiveness
of modules when you lower the coupling among
them?
23
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Fan-in
Fan-in
High fan-in preferred
Promotes reuse of subordinate modules
1.1
Calculate
Employee
Salary
1.2
Employee
Roster
2.1.1
Read
Employee
Record
1.3
Calculate
Benefits
1.1
Calculate
Employee
Salary
1.2
Employee
Roster
1.3
Calculate
Benefits
1.1.1
Read
Employee
Record
1.2.1
Read
Employee
Record
1.3.1
Read
Employee
Record
Low fan-in not preferred
24
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Quality
Quality Checklist
Checklist
1.
2.
3.
4.
5.
6.
Library modules have been created where ever possible
The diagram has a high fan-in structure
Control modules have no more than 7 subordinates
Each module performs only one function (high cohesion)
Modules sparingly share information (loose coupling)
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
25
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
PROGRAM SPECIFICATION
26
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Program
Program Specifications
Specifications Content
Content
No standard approach
Include program information
Note events that trigger actions
List inputs and outputs
Include pseudocode
Present additional notes and comments
27
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Program
Program Specification
Specification Form
Form
28
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Pseudocode
Pseudocode Example
Example
( Get CD- info
Accept
Accept
Accept
Accept
Ret urn
29
m odule)
( CD_t it le) { Required}
( CD_art ist ) { Required}
( CD_cat egory) { Required}
( CD_lengt h)
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CASE
CASE Tool
Tool View
View of
of Process
Process Description
Description
30
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
CD
CD SELECTION
SELECTION
31
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia
Summary
Summary
The structure chart shows all of the functional
components needed in the program at a high level.
Components of the structure chart show sequence,
selection, and iteration
Follow design guidelines regarding cohesion, coupling,
and fan-in/fan-out.
Prepare detailed specifications to programmers
including pseudocode to show important programming
structures.
32
PowerPoint Course Mat erial for SCELE Graduat e Program I nform at ion Technology
Fa cu lt y of Com put e r Scie n ce – Unive r sit y of I n don e sia