Due Dates
Overview
Have you ever asked yourself this question?
How often have you wanted to refer back to a program you have written to help you remember how to do something? It would be nice if you had a way to organize your programs so you could easily remember where you did certain things -- for example, where you processed a file, created an exception or maipulated command line arguments.
In the software development field, reuse is very important -- it results in less work because we aren't recreating the wheel! Secondly, we save time because our testing and debugging times are reduced.
To help you leverage existing code (that you have written), you will write a source code manager. You have written quite a number of programs and this software will help you keep track of your programs so you can easily refer back to them. Your software will also provide ways for you to search for programs based on certain keywords, or sort by the program name.
Goals
The goal of this project is to produce a working and realistic program for you to manage your code. You will practice
You will also be introduced to the Model-View-Controller design pattern.
Requirements
Unlike your first project, this project has relatively few requirements. You are strongly encouraged to expand from the minimum requirements to create something unique -- and to earn extra points.
Here are the basic requirments:
Each program will include (at a minimum) the name, the path name to the file, and up to 3 keywords describing the file.
When the user launches your program, you must reload the database created in the previous executions.
When you save your database, you must save as serialized objects.
That's it -- a basic working program is worth 75% of your total grade.
Grading
The previous section outlined the basic requirements worth 75% of your project grade. The minimal submission is worth 15% and the final (basic) submission is worth 60%.
The remaining 25% will be earned by adding "bells and whistles" to your program. The possibilities are endless, but here are a few:
A few words of caution:
Check the details! A perfectly working program may be penalized up to 30% for missing RCS entries, missing headers, or overall sloppy code. Points will be deducted for weak attempts at the MVC structure.
How to Submit
There are three deliverables for the minimal submission:
Do not format this file - create in emacs (or your favorite text editor) and submit as a flat ASCII file. Be sure you spell and grammar check before submitting.
Submit your carefully tested code and design description to:
The final submission consists of all your code and a revised Design.txt file. Submit your carefully tested code to
Manager.java must contain your main method and launch your application. SourceCode.java and GUI.java are your final versions of the classes from the minimal submission. The file Design.txt must contain your name, username, and a description of your design. Also include notes or "features" (aka known DEFECTS) about your solution. Do not format this file - create in emacs (or your favorite text editor) and submit as a flat ASCII file.
Spell and grammar check before submitting. You will lose points for design descriptions that are too short, vague, or reflect little thought.
1/11/10 by tmh $Id: writeup.html,v 1.1 2010/01/14 22:25:35 vcss232 Exp $