Phase 1:
Project Assignment-- Due March 1st,
In Phase 1 you
will work alone (no collaboration of any form). The goal in Phase 1 is to
provide a first draft of the design of your schema for the project.
In Phase 1, you are required to analyze the application (read through the
project details webpage, visit the CS dept website, look at how banner does
registration, and also use your own ideas and creativity), provide a design of
the data. You should clarify ALL your questions about the application during
Phase 1 -- i.e., you are allowed to meet the "client" during this
phase. All questions should be directed to the instructor. Note that after
Phase 1, you should ideally not "meet the client" to discuss the
project – plan for this, but the instruction team will be around to clarify
during Phase 2.
Start by reading
through the document describing the project (I have provided far more detail
than what you would typically get from a client!). Identify the data required
and their domains, constraints, and functional dependencies. Next organize them
into tables and figure out the normal forms. This is not as time consuming as
it may seem – reading and understanding the project specifications will take
more time than the rest of the steps.
Requirements
for Phase 1: You should
(a) provide an ER diagram describing your design, (2) show the tables in your
scheme (their names and their attribute domains, as well as constraints --
(key, foreign key etc., functional dependencies and normal forms ), and (3)
submit an informal report describing your design and whatever justifications
you have for your design. You should consider the entire project (this could
even help in you making decisions about your application) – during implementation
you will be assigned to specific pieces of the project, but you should have an
idea of the specifications of the entire system. Phase 1 is worth 20% of your
Project grade.
During Phase 1 you should also start making notes/plans on the design of your
application (do not write out the application code, but you should have a draft
design of how you will implement your system).
You will at a
later time (after you finish the technical design), also prepare a formal
written report describing your system. This will be part of the formal writing
requirements. The deadline for this written report will be middle of March.