USC CSD Home
 

Homework Design Document Template - CSCI 200L, Fall 2011

 

System Name

Just give the name of the system.

System Description

Give a brief, high-level description of what this piece of software will do. This is pretty much you restating the problem as you understand it.

Requirements

What are the functions that this software is supposed to perform?

Try to phrase them in a clear and concise manner.

Class Description

For each class (or function, if not in a class), provide the following:
  • Instance variable names and their type and a brief description of what it represents
  • For each method in your class:
  • Method Name
  • Formal parameters and type
  • Return Type
  • Method Description
  • Method Preconditions - what must be true before this function can run
  • Method Postconditions - what must be true after this function is run
  • Method Interaction - what other methods does it call. If this method calls a method of a different class, give the class name of that method, as well
  • Input and Output format - what input does this method require (separate from the formal parameters) and what output does this method produce (separate from the return type)

Test Descriptions

  • Describe your test class(es) so that it is clear what is being tested. For example, you can have a test that checks for correctness given correct input or checks for error handling on bad data, etc.
  • You must also describe how to run the tests and what is the expected output from the test. This way we know if the test ran successfully or not.
 
File Formats
[BC: section added 9/8/2011]
Please only use one of the following file formats for your design document: Text, PDF, HTML, or Microsoft Word.
 

[Last updated Sat Sep 19 2020]    [Please see copyright regarding copying.]