Design
Home Syllabus Expertise Project Plan Specifications Design Test Plan User Manual Specifications Eval Design Eval Test Plan Eval Team Members Eval

 

Contents for Design Document

Use the same format for the title page that you used in the specifications document.

Following is an outline of the material to be included in the design document.

I                      Scope of solution

A.       Referencing your specifications, which of the systems (kernel system, cheap but usable system, standard system, or super system) discussed does your design focus on?

B.       State any assumptions or restrictions about inputs and outputs that are important to your design formulation. (If there are none, so indicate).

C.       (Optional) State any critical or important design objectives that your proposal is intended to meet, in addition to the prime objective of providing a correct solution. For example, minimal execution time or portability.

II                   Overall Approach

A.       Develop an entity relational diagram.

B.       Provide a hierarchy of data flow diagrams of your solution along with a brief description of each transformation.

C.       Develop a data dictionary

D.       Develop a structure chart that shows the overall program structure or control hierarchy of the system. Transformations, which are part of the level 1 data flow diagram along with other necessary control blocks, should be represented.

E.       If object oriented design is being used then develop a class table which shows each class along with its attributes and methods. Develop a table showing the object - client relationships.

III                 Provide the details of your design

A.       Show the final refinement of your structure chart.

B.       For each module provide

1.           An abstract indicating what this module is supposed to accomplish.

2.           Any special information that the writer of other modules would need to know about this module or that the potential user would need to know.

3.           Describe the basic design of the module.

4.           Explain or reference any special algorithms used.

5.           What routines does this module make available to other modules?

6.           Imports- What procedures defined in other modules are used?

7.           What are the input parameters?

8.           What are the output parameters and what values will they return.

9.           Subparts- What are the sub-modules that make up this module?

i.                    Error Handling-What is the legal range of values?

ii.                  What happens when other values are found?

10.      Test Cases-List ideas for test cases.

11.      Side effects- Hopefully there aren't any, but if there are, make them explicit.

12.      Miscellaneous.

i.                    Show pseudocode representation at least at the block level to enhance the design description.

C.       If an object oriented design is used then for each class

1.           Give a brief description of the class

2.           List all attributes of the class

3.           Describe each method of the class providing the pertinent information from the outline for module descriptions given above.

IV               Design to facilitate maintenance

A.       What are the most likely modifications that a client might ask for? How easy would it be for you to make those changes? What modules would be affected and how extensively?

B.       What are the implications of alternate design decisions on higher/lower/same level modules?
Suggested procedure to follow:
Complete steps I and II along with the details of III which are relevant to the 4-6 major modules developed in the overall design. Different people in the group can propose alternate overall designs or you develop one as a group effort. Next, after the details of the design for these major modules are developed, make sure that everyone in the group understands the interfaces. Then assign the detailed design of each major component to a different group member. Have frequent formal or informal group meetings to share information, answer questions, and assess progress.

V                  ACKNOWLEDGEMENTS

A.       Write down the authors of individual sections, the editor of the whole paper, outside consultants, etc.

VI               Create an index and number the pages.