Chapter 10 - Program Design Flashcards

1
Q

What is program design?

A

Program design is the act of determining what programs will be written and creating instructions for the programmers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How are physical data flow diagrams created?

A

Physical data flow diagrams are made from the original Data Flow Diagrams created during analysis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a structure chart used for?

A

A structure chart is used to depict how processes are organized and how the decisions work.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are physical process models?

A

Physical process models are tools that are used to show implementation details and explain how the final system will work.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How are physical DFDs similar and different to logical DFDs?

A

Physical DFDs contain the same components as logical DFDs, and the same rules apply. The main difference is that a physical DFD contains extra details that describe how the system will be built.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the steps to make the transition from logical DFD to physical DFD?

A

There are five steps in converting from a logical DFD to a physical DFD:

  • Add implementation references (data stores, data flows, processes)
  • Draw a human-machine boundary (separate the automated from manual)
  • Add system-related data stores/flows, and processes (unrelated to business).
  • Update the data elements to include system-related data.
  • Update metadata in the CASE (computer-aided software engineering) repository.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the top-down modular approach for design?

A

The top-down, modular approach starts with developing a high-level diagram, called a structure chart, to illustrate the organization and interaction of the parts of code with the program.
Program specifications are written to describe what needs to be included in each program module.
Once the design phase had ended, the project team creates a program design doc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a structure chart?

A

A structure chart is a program design tool that shows all the components of code in a hierarchical format that can imply the sequence in which modules are invoked, the conditions in which they’re invoked, and how often they’re repeated.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the three types of processes in a structure chart?

A

There are three types of processes in a structure chart:

  • Afferent processes, which provide inputs to the system
  • Central processes, which perform critical functions in the operation
  • Efferent processes, which deal with system outputs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a transaction structure?

A

A transaction structure is an arrangement of system modules that are structured around a control module, which is able to call subordinate modules, each handling a part of a particular transaction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a transform structure?

A

A transform structure is an arrangement of system modules that are related to one another as they form a process that “transforms” some input into an output.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the steps taken to build a structure chart?

A

To build a structure chart, there are four main steps:

  • Identify modules and their levels (1.0, 1.2, etc.)
  • Identify special connections (loops, diamonds, etc)
  • Add couples
  • Revise structure charts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is cohesion?

A

Cohesion is a term that refers to how well the lines of code within each module relate to one another. Good cohesion inside a module makes it easier to understand and build, because it does just one function effectively.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the main types of cohesion?

A

There are three main types of cohesion:

  • Functional cohesion: All elements of the module contribute to performing a single task
  • Temporal cohesion: Functions are all invoked at the same time
  • Coincidental cohesion: There’s no obvious relationship between a module’s functions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is factoring? Why is it used?

A

Factoring is the process of separating a function from one module into its own module. It’s used to make models more cohesive and create a better structure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is coupling? Is it good or bad?

A

Coupling is a term used to describe how closely modules are interrelated. Low coupling is a good thing, as it keeps changes in one module from “rippling” through the program.

17
Q

What’s the difference between coupling and cohesion?

A

Coupling refers to inter-dependencies between modules, whereas cohesion is how related functions within a module are related.

18
Q

What is fan-in? Is it good?

A

Fan-in describes the number of control modules that communicate with a subordinate. High fan-in is a good thing, in that it gets reused in many locations on the structure chart.

19
Q

What is fan-out? Is it good?

A

Fan-out describes the number of subordinate modules associated with a single control module. It should be kept low, to less than seven, ideally.

20
Q

What are program specifications?

A

Program specifications are documents that include explicit instructions on how to program pieces of code. No formal syntax, mind, but they include four elements:

  • Program information
  • Events
  • Inputs & outputs
  • Pseudocode