CS 146 Spring 2009:
Term Team Project -- Phase 3
Banner++: CS Student
Admissions, Records and Registration system
(CS-STARRS)
Phase 3
Summary
The final term
project is
to implement an on-line admissions and graduation clearance system for
graduate
students applying to the Computer Science department. The final
“product” is
described in the project details
document,
based on
which you provided a design of your database in Phase 1. Some (minor)
changes have been made since you completed your Phase 1 design. Please
read through the details again.
In Phase 2,
each team was assigned a specific module to be designed and
implemented; specifically, you implemented an Application System (APS),
a Registration System (RES), and an advising system (ADS). In Phase
3 of the
project, you will integrate the three different modules to provide the
CS-STARRS system that meets the Banner++ specifications. As part
of the team
based
design, integration, and testing we are essentially mimicking the
design of a
product by integrating different modules designed by different design
teams. In Phase 3, the different components in final system are no
longer the three modules you built in Phase 2 -- for example, the RES
and ADS no longer look like two distinct modules when you read the
description for the registration and graduation process. Once again,
you will implement your
system on the SEASCF machines using MySQL and PhP. Remember that you
will need
to integrate your application with other modules in Phase 3 – so be
careful
about what other software you use.
What needs to be done in Phase 3:
During Phase 2 you
worked on three very different modules. In Phase 3 you should be
working towards building the CS-STARRS system, but using the three
modules you built in Phase 2. Much of the functionality has been built
in Phase 2, but you still have a LOT of
work left to complete the final project -- so plan your
time carefully. Here are some specific things you need to be doing
(this is only a partial list -- there are more things to be done as you
will realize during this final phase) -- they are listed in a
recommended order of completion.
- Reading: Before you
start, each of you should read through the project description document
-- some (minor) changes were made since Phase 1, so you should go over
it again.
- Integration: The first
thing you should all be working on (with the 'deadline' of next week --
April 13th) is on integrating the three modules to provide a skeleton
of the complete system.
- For example, the application system at the end admits an
applicant. This application becomes a student once the GS matriculates
them (i.e., the GS clicks on some button to make them into a student).
Once they become a student, they should be able to use the Registration
and Advisng Systems -- i.e., their data should now be available for the
RES and ADS systems. The registration information (courses, grades,
etc.) should be available to the ADS system. Be careful about your data
-- you should not be replicating the data (some amount may be
unavoidable)--it is the same student who is registering for courses as
well as filling out Form 1, and their personal data comes from the APS
modules. Note: A complete redesign of a module built in Phase 2 is NOT
a good solution (Why we requiring this: imagine that these are huge
pieces of code written by someone who is no longer there -- in
addition, it is possible that you may not have gotten the authorization
to change the code).
- Check Workflow:
Once you get an idea of how to best integrate your modules, go over
(with a fine tooth comb!) the workflow of the entire CS-STARRS
description. Identify what changes need to be made to the various
components. Also take a look what did not work in Phase 2 (i.e., what
the "evaluators" told you) and fix those problems first. Make sure your
integrated system now meets the exact specifications of CS-STARRS
(i.e., the complete final project).
- Design, Implement and Test new
functionality/code: Once you check the workflow and the project
specs, you will realize that new functionality needs to be built. For
example, online recommendation letters and advising forms (to lift
registration hold) have to be built into the system now. In addition,
specific Phase 3 reports/queries are listed in the project details
document. Design and implement these new functions, and make sure you
test them and verify that the workflow is met.
- User Interface: Once you
have the entire workflow working (or more realistically, once you have
figured out everything that needs to be done to have the entire project
working), you should take a critical look at your user interface. Work
on developing an easy to use interface, and one that moves seamlessly
from one application to the other. At the same time, make sure that an
application cannot see the student functions (and similarly with the
other roles). Your final project evaluation will take into account your
user interface design. (Some aspects of good UI design will be covered
in one of the lab sessions.)
- Final Testing: After the
Phase 2 demos, you have some idea of the testing that needs to be done.
Before you come to the final demo, make sure you have run enough tests
to catch at least the common errors.
- Other steps:
- Report Writing:
You have Writing Assignments 4 and 5 due. These are formal descriptions
of your project -- the specifications, design, testing steps, and labor
costs (do what you can on labor costs). When you submit Writing
Assignment 5 (which is a revision of Writing Assignment 4), we expect
that you will add more technical information based on your experience
in Phase 3. However, your report should focus on the module that you
designed in Phase 2.
- Teamwork: Each
of the persons in a team is responsible for the module they built in
Phase 2. We will use this for our grading. However, all team members
must work together to ensure correct workflow and to help test the
entire system.