CS130 Project, Part 4

(updated 11/21/2003)

Implementation

Due Tuesday, November 25, 2003

Introduction
After finalizing your design, your team shall implement the software according to the design and requirements for your application.  In conjunction with coding each unit, your team must develop unit test plans covering each of the implemented units.

For this assignment, you must turn in both a descriptive document (and electronic copy of) code listings as described below. The source code should be documented with sufficient, informative comments. This deliverable also includes the unit test plans and test execution histories, which should functionally and structurally test each unit in the implementation. You should organize the unit test plans and test history documentation in much the same way as the units themselves are organized in the implementation. You need not print out the results of all testing activity, but should show enough results of executing your unit test plans to convince us that your units are ready for integration.

Specify the correspondence between your software design and the implementation. Show this correspondence any way you feel is appropriate (e.g., make notations throughout your document or in your minutes), but by all means include some discussion in the overview section. Implementing the software will undoubtedly reveal inadequacies in previous documents. Please note these problems and what was done to solve them.

Don't forget to include your meeting minutes and performance appraisals with your deliverable. You probably want to post your design document and your meeting minutes to your team web page.

Be sure to address:

Document Contents

Introduction

Update the introduction from your Design Deliverable.  Expand as necessary to discuss your specific approaches to the implementation of the system and the organization of this document.  This description should guide the reader.

Project Plan

Update and summarize your project plan to represent how you have accomplished the work so far. Reassess the project risks. Based on the work you have done, revise your estimates on how much your team can accomplish and deliver. Update your time estimates for the remaining work.

If you made changes, add text describing why the change was necessary or why it will improve the ability of your team to accomplish the work you have proposed.

Implementation

Give an overview of the implementation.  Describe how it works, provide characterizations of its size, and discuss limitations in its current state.  Provide a link to an electronic version of the source code.  In the document, provide an organization by module/work unit that can be used to peruse the source code.  For example, for each module, list the source files and briefly discribe what they contain.

Unit Test Plan/Test History

For your test plan, show the status of each test.  For tests that are not passed, briefly discuss the issue.

Modifications to Prior Documents

These next two subsections may be short but are extremely important.
Design
Highlight any changes to the design and discuss why the change was made and by whom (customer, developer, etc.). Again make sure your design meets the objectives of completeness, abstraction, modifiability, and consistency. If your design has not changed, then this section will be empty.
Requirements
Highlight any requirements that are changed, added or deleted. Indicate why the requirement was changed/added/deleted and by whom (customer, developer, etc.). Again make sure your requirements meet the objectives of completeness, understandability, utility, unambiguity, and consistency. If your requirements have not changed, then this section will be empty.

Documentation

This section is reserved for any additional documentation you may have developed during this phase of the project. Specifically, if during the course of developing the your understanding of the various technologies involved in the project, you discovered items that were not documented, but which were important, then you should include that here.

Additionally you should list here the major background sources of information that you used during this phase or any that you plan to use during the remainder of the project. This would include references to similar systems and/or procedures.



Implementation Presentation

One member from the team should prepare a 10-15 minute presentation, after which we will have time for questions and answers. Your presentation should include the following:

Acknowledgement:  The project assignments are extensively based on those of Professor Richard Taylor at UCI.