This website is preserved for historical and scholarly reference and is no longer actively maintained.
Next: The Design Process
Up: Prelude to Dealing with
Previous: Requirements
The term architecture means the overall design
or ``top-level design.'' The most important part is the conceptual
integrity of the system--how the whole system ``hangs together.''
First and foremost, the architectural specification gives the overview
of the system. It also should specify the interfaces between and among
modules. A module is a collection of routines working together to perform
some high-level function. These are not routines themselves. The
kinds of information in the architectural specification are
- Each module is listed with its task.
- Major data structures defined--this means files, tables, etc.
- Key algorithms are given along with alternative strategies.
- Major objects [especially in this class].
- Generic functionality
- Any specific interface requirements.
- Input/Output
- Memory management
- Error Processing
- Attempt to recover?
- Active or passive?
- Do errors propagate upward?
- Error message conventions?
- Who validates what data?
- Robustness. Use of asserts is required in this class.
- Performance.
Again, there is no checklist for every case. A suggested set of questions
that should be used in class are given in Figure 2.
Table 2: Architecture Concepts To Consider
Steve Stevenson
Wed Feb 26 10:54:45 EST 1997