chapter 7 Flashcards

1
Q

When does a system have a good design?

A

Low coupling, high cohesion, well-defined interface.

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

What are some programming guidelines?

A
  1. easy to read code
  2. build program from modular blocks
  3. not too specific and not too general
  4. use comments
  5. make dependencies among components visible
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are some guidelines for algorithms?

A

performance (big O)

tradeoff of efficiency.

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

What are data structures used for?

A

To make the code simpler and keep data organized.

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

What is pseudo code used for?

A

Revising code and algorithms to prevent patching code.

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

What is necessary for component reuse?

A
  1. component functions well for the task required.
  2. less modification than building from scratch.
  3. is it well-documented?
  4. a record of the component’s test and revision history.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is internal documentation?

A
  1. header block comment
  2. good variable names and statement labels
  3. general program comments
  4. proper formatting
  5. document data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is external documentation?

A
  1. describe the program
  2. describe the algorithm
  3. describe the data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What information should be in the header block of a program (internal documentation)?

A
  1. component name
  2. author
  3. components role in the system
  4. date written and revised
  5. purpose
  6. how it uses data structures, algorithms, and control
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is extreme programming?

A

customers define the features with stories, describe tests and assign priorities.
programmers implement the stories.

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

What is pair programming?

A

Driver or pilot: controlling computer and writing the code.

Navigator: reviewing the driver’s code and providing feedback.

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

What is whither programming?

A

documentation is essential in agile-methods.

  1. for roadmaps
  2. abstraction and system boundaries
  3. better communications.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly