CS 48, Spring 2018
Final Project Instructions
For this assignment you must complete at least one more full development iteration
that results in a significant increment (and improvement) over the system turned
in for the Draft Project. Additionally, you must update the documentation you produced
for that Draft, and we expect these updates will be more complete and more sophisticated than
your first attempts.
In particular, we expect your project to include the use of two or
more design patterns, and we expect your documentation to include a description of that usage.
See this Design Patterns summary. Other
pertinent links are available on the course Resources page.
Work scope
- Plan precisely how much more of the system will be completed before the project
deadline, and meet with your TA to discuss your plan.
- Perform these activities for each additional iteration:
- Synchronize key analysis and design artifacts to the code
produced for earlier iterations. (Be sure to do this
after the last iteration too.)
- Analyze and Design. Create or update the following items:
- static class and package diagrams
- system sequence diagrams
- interaction and state diagrams
- Implement and Test. Make sure that any feature included in the system works
correctly, and make sure your system is robust (look up what it means for a system
to be "robust" if necessary).
- Neatly assemble the updated documentation, and add some thoughtfully written text
to connect the parts.
Altogether lots to do. [Remember to prepare the Demonstration
too.] Work as a team to get it all done right!
Deliverables
Update all of the Draft Project deliverables, both
System and Documentation parts. Refer to that assignment for detailed instructions
not repeated below.
- System - source code, data, and README.txt, all as they are specified in the Draft
Project instructions. For this Final Project, also please include an executable version
as possible, so the instructor might be able to easily demonstrate it in future classes.
- Documentation - cover page, domain analysis and system design artifacts, and
glossary, all as specified in the Draft Project instructions. But also please
add sufficient text to tie the parts together - i.e., make it seem like a report
instead of a loose collection of unrelated items.
Special: Identify two design patterns that work for your project design/implementation
and describe how you have implemented them in your project. Give a link to the github
commit(s) that provide the implementation and tests.
Due Friday, June 8 before 6:30 pm
Turn in the PDF document to Gauchospace. Your github repo must be ready at that time too.
TAs and instructor must be able to clone your repo(s) as part of their evaluation process.
Include instructions on how to deploy and execute your project as part of the Documentation
(assuming we have access to all of the same services that you do).
Updated May 7, 2018 by C. Michael Costanzo, with thanks to Prof. Chandra Krintz
(W'2018 instructor) for helpful additions/modifications.
CS 48 homepage