![]()
| Notebook section: | Software technical documents |
| Purpose: | Specify the software necessary for your product to operate. |
![]()
Please review the PowerPoint presentation on software architecture before writing this document.
Your software architecture document must include the following five sections:
Explain the role of software in your product by giving an overview of the main functions that will be provided by software.
Draw a diagram showing how the hardware components of your system are connected with the major software components of your system. Include main routines, device drivers, and interrupt handlers. Please see the PowerPoint presentation on software architecture for examples.
Describe the major control flow of your product. Explain if it uses polling, interrupts, or a combination. Be sure to include rationale for your choices. Show flow diagrams for the main control flow and each main software routine.
Describe the main software routines for your system. A main software routine is any major component that is built on top of your device drivers (each box in your context diagram that isn't a device driver). For each routine, describe:
|
Purpose | |
|
Inputs and Outputs | |
|
Effects (pre- and post-conditions) | |
|
Algorithm | |
|
Constraints (memory/timing/etc. limitations on this routine) |
You should include diagrams to help explain the main software routines when they are useful.
Device drivers will be specified in a separate Device Driver Specification document. You do not need to include information on your device drivers in the software architecture document.
![]()
Kevin Bolding September 22, 2009