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%