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
2
Q
what are the 5 components of complexity?
A
- number of components
- number of interconnections
- regularity in modules (many modules repeat/don’t repeat)
- how long is the systems description?
- how large is the team of designers
3
Q
what is wrong with complexity? (4)
A
- propagation of effects
- emergent properties (errors when component is placed into the system)
- incommensurate scaling (as a system increase in size or speed not all parts of it follow the same scaling rules so things stop working)
- trade offs (limited amount of some form of goodness in the universe)
4
Q
why are computer systems different from all other systems?
A
- interacting requirement (one component has to fit into a lot of different components in the computer) (i.e. fingerprint scanner)
- no physical limitations
- no bound on compositions (different hardware/software components can be connected together)
- high utilization
- tech growth is unprecedented
5
Q
what is Modularity?
A
the divide and conquer technique; can analyze or design the system as a collection of interaction subsystems
6
Q
perks of Modularity
A
- when done correctly it hides the complexity of a system
- isolates the failures
- improves debugging
- improve interchangeability
7
Q
Robustness Principle
A
be tolerant of inputs and strict on outputs
8
Q
Layering
A
builds upon simpler blocks of code and slowly grows
9
Q
Hierarchy
A
creates smaller subtrees and adds the subtree to a bigger tree until the code is finished
10
Q
Abstraction
A
a problem should be isolated to one module