You are to do the implementation and functional testing for your system, based on your architecture and detailed design. You are to produce a report describing this work. (Later, in Assignment 5, you will make a presentation of your working program for the management.) Your report should be useful for a number of purposes: help in reading the source programs, help in maintaining the programs to fix problems or add new features, help in clarifying the relations between the Detailed Design and the implementation, etc. Your report should be targeted to be read by programmers and managers.
You report should be in PDF format and should include the following:
Title: About 3 to 6 words making clear what your project is about.
Authors: List of authors, their addresses, date, etc.
Abstract: About 2/3 of a page overviewing the key points in your report, targeted to a programmer, developer or manager.
Introduction & Overview: About 1 to 3 pages summarizing the purpose of the report, its organization, and its salient conclusions. A person should be able to read just the abstract or just the introduction and have a good idea what is in the rest of your report.
Implementation & Revision of Detailed Design: How did the implementation vary from the detailed design and how was the detailed design updated? Explain in detail any deviations fro the original architecture.
Project Status:
What was accomplished?
What was not completed, along with an iteration plan?
Extension points for future enhancements.
Give a concrete example of at least one possible future change/enhancement that your system can support.
Build & Installation Guide: Detail how your system is compiled, installed, deployed and run.
Test Suite
Describe your test suite and methods (unit testing as well as integration testing)
Tabulate the results of your test run.
In an appendix provide example of an actual test program/script
Describe the coverage of your tests:
What percent of your source lines were executed?
What percent of your source lines were not executed?
Explain how your test framework could be enhanced to accommodate future iterations of your application.
Task/Time Log: Refer to your time estimates from your Report on your Software Architecture. Give a table showing predicted and actual times. (Note that you are to keep a log of time to do the implementation, on a per-person basis.) Give a discussion of your table.
Directory/File Structure: Give a short, clear description of how your code and your documentation is stored in files and directories.
Recommendations for Future Projects: Give constructive suggestions for how this project might be done differently in future versions of this course, to improve the learning experience.
Document Style & Length
References: List any documents that your reader may wish to or need to read in conjunction with your report. Since the report is to be web readable, include links to references when appropriate.
Write clearly. Organize your report so it is easy to find things in it.
Core report should not be more than 10-12 pages long. This limit does not include any source code attached or the report appendices.
Documentation: All documentation (including the solution to each assignment) is to be in PDF. At the same time, your report must be printable, and you are to turn in a hard copy of your reports for marking.
Last updated on Jun 11th, 2010 Atif Khan