Project 4: Final Program and Documentation
Due by: Friday, December 6, 2024 at 11:59 p.m.
Introduction
This final project is the culmination of the entire semester. You must complete, polish, and test your software; demo it; and produce a manual for it.
Read below for details on deliverables expected for this project.
Details
Finished Product
By the end of this phase, you should have a working product that contains most of the features you planned. Ideally, you would introduce no new features in the final phase of the project which is intended for system testing, polish, and documentation. In reality, some new features are to be expected for most teams.
Demo
On Friday, December 6, 2024, the last day of classes, your team must demo your project. You should give a brief overview of your product, explain its purpose, show off its most impressive features, and take questions. Your presentation should be polished and smooth and take about 10 minutes. Use of a presentation tool such as PowerPoint is expected. Students who are absent from the demo without an excuse will earn a zero for it.
Manual
You must provide a written manual explaining how to use your project. Be sure to mention the software and hardware necessary to run your programs. The manual should be written for a general audience without a technical background. In many ways, this document should mirror the requirements for the project, since a user would want to be able to access all the features specified in the requirements document.
However, there is no specific requirement that your manual is based on the software requirements specification you submitted for Project 1. In some cases, those documents poorly reflect your current projects. On the other hand, if you feel that content from the software requirements specification is useful, feel free to reuse it.
If you provide sample data files or other practical examples of using your project, those can count toward the evaluation of the manual.
As an addendum to the manual, list all the planned features that you did not implement.
Alpha and Beta Testing
Explain what you did to test your final project. You may mention your unit tests, but those are primarily associated with Project 3. Instead, internal alpha testing and external beta testing are likely to be better reflections of the system testing valuable for a finished product.
Submission
Commit your Word, PDF, or LaTeX files (containing your manual and any other ancillary materials) and all Java source files (containing your working code as well as your JUnit tests) to the private GitHub repository for your group. All work must be submitted by Friday, December 6, 2024 at 11:59 p.m. As in the previous projects, written documents should be committed by storing them into a folder called docs
in your IntelliJ project. These documents should have meaningful names like Manual.docx
. Create a tagged release with the name Final Version. Doing so marks the state of your repository at that point.
You must also demo your project on the last day of classes.
All work must be done within assigned teams. You may discuss general concepts with your classmates, but it's never acceptable for you to look at another team's code. Please refer to the course policies if you have any questions about academic integrity. If you have trouble with the assignment, I am always available for assistance.
Grading
Your grade will be determined by the following categories:
Category | Weight |
---|---|
Working and Polished Final Product | 50% |
Demo | 10% |
Manual | 15% |
Alpha and Beta Testing | 15% |
Programming Style | 10% |