CS 257: Software Design
Final Project, Phase 1
For this project, you may work alone or with one partner.
The project's constraints
You will write a program of your own choosing, with the following properties:
- I can be either a Java GUI program or a web application.
- It should not deal with the same topic as your web app project from earlier in the term.
- It should do something useful. That is, your program should have a clearly defined
target audience, and should meet at least one need of that audience.
- The "need" being served should not be "amusement." (Want to write a game or weird animation?
Cool. Winter break is just around the corner.)
- The design and construction of your program should focus on (1) the functional
quality of the user interface, and (2) the quality of the code's internal structure
(e.g. design patterns where appropriate, "high-quality routines" as described in Code Complete,
etc.). There will be a "scope" element of the rubric again, but it be weighted less than
the UI design and the code organization.
- The project, as before, will come in short phases: conception, mockups, testing plan,
code design/architecture, implementation, review, etc.
- Time is relatively short. Pick something fun and interesting that has a modest feature set.
What to do for Phase 1
Send me a project proposal via e-mail, containing:
- A one-to-two-paragraph description of your program. What will it do?
- Java GUI or web app?
- A short description of a typical audience member for this project, along
with a description of this person's need that is being served by your project.
Up-coming phases
- Visual mock-ups
- Testing plan (to be described in class this week).
- UML and discussion of design patterns (if any).
- Functioning first draft of a portion of the program, suitable
for a short code review.
- Final delivery, including documentation.