ch.1 Flashcards

1
Q

computer system

A

a group of computer parts that follow a specific set of rules when they interact with the outside world

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

what are the 5 components of complexity?

A
  1. number of components
  2. number of interconnections
  3. regularity in modules (many modules repeat/don’t repeat)
  4. how long is the systems description?
  5. how large is the team of designers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what is wrong with complexity? (4)

A
  1. propagation of effects
  2. emergent properties (errors when component is placed into the system)
  3. incommensurate scaling (as a system increase in size or speed not all parts of it follow the same scaling rules so things stop working)
  4. trade offs (limited amount of some form of goodness in the universe)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

why are computer systems different from all other systems?

A
  1. interacting requirement (one component has to fit into a lot of different components in the computer) (i.e. fingerprint scanner)
  2. no physical limitations
  3. no bound on compositions (different hardware/software components can be connected together)
  4. high utilization
  5. tech growth is unprecedented
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

what is Modularity?

A

the divide and conquer technique; can analyze or design the system as a collection of interaction subsystems

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

perks of Modularity

A
  1. when done correctly it hides the complexity of a system
  2. isolates the failures
  3. improves debugging
  4. improve interchangeability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Robustness Principle

A

be tolerant of inputs and strict on outputs

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

Layering

A

builds upon simpler blocks of code and slowly grows

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

Hierarchy

A

creates smaller subtrees and adds the subtree to a bigger tree until the code is finished

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

Abstraction

A

a problem should be isolated to one module

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