
Rules of Thumb (cont)
- only be limited to 5 to 10 elements.
- The proper invention of new names and concepts allows the mind to
deal with only the salient conditions at a specific time.
- For example, read a record. In the high-level design of a module,
this takes one of our 5 to 10 slots. When considering detail design,
error conditions would come into play. However, at that point, the
designer would not pay attention to what is being done with the
data, only reading the data. In that way our limited slots are not
consumed with conditions that are not germane to the topic at hand.
- Make things as simple as they can be, but not simpler than they are.
Albert Einstein
- Successful project completion is a function of scope, staffing, and
deadline.
- If the scope is increased, the deadline must move out or the staff
must increase.
- If the deadline is moved closer, the scope must decrease or the staff
must increase.
- This rule is a general rule - meaning that specific conditions can
make it invalid. See 'The Mythical Man-Month' by Brooks.
- Software architecture is a description of how the components of the
system interact.
- Components are software programs (modules) that can exist locally
or remotely.
- The components are best treated as black boxes in the architectural
view.
- There may be a controlling module - or not. A controlling module
is a characteristic of an architecture, not the sine qua non of architecture.
1