PROJECT GUIDELINES: ------------------- The deadline for the group project is April 30th, 2pm in the afternoon. You should email the zip file (see below) to one of the TAs: freemm@rpi.edu, gaof@rpi.edu or shentu@rpi.edu. The subject of your email should be "Group XX: Final Project", where XX is your group number. Your goal is to implement a working student registration system. The description is given below, but here are some general guidelines: 1) Each group will have 4 members (some have 3). Generally all group members will get the same grade, unless there is a complaint that one or more members did not contribute much to the project. Those who do no contribute will get a 0 or minimal grade. Groups are encouraged to meet immediately to set a plan of action so that the project will be completed in time. Please bring it to my attention if there are "no-shows" more than once. 2) You must use C or C++. Your program will be in embedded SQL using the Oracle ProC precompiler. You are free to use windows or unix platform. Please indicate which in your DOCUMENTATION (see below). Note that while you may use any machine for code development on the unix platform, you need to ensure that it complies on the rcs-ibm machines. 3) You must zip up the entire project directory, which should include: a) all C/C++ code files b) a makefile for unix and a project/workspace file for windows c) the executable file. For unix the exec file should be the one compiled on the rcs-ibm machines. For windows it will be regular *.exe file. d) a DOCUMENTATION file. The file should contain: i) Name of all group members ii) A statement that all group members contributed equally. If not, mention who did not contribute. iii) mention which platform was used (unix/windows) iv) an ER diagram for the system v) The database schema (all tables, domains, constraints) after refinement. Provide documentation for major routines. 4) Your program must accept input in a certain format (will be given out later, see course page for updates), and it must output in a certain fixed format also. Conformance to these guidelines will be crucial, since the TAs have to grade about 40 groups. Each time there is a discrepancy the group will be given a chance to rectify the problem, but there will be a 5 point penalty from the total of 100. PROJECT DESCRIPTION: -------------------- Read the following section from the book carefully: 1) 3.2 (requiments) 2) 3.3 (some requirements considerations) 2) 5.7 (ER modeling example) 3) 8.12 (schema refinement example) 4) 12.6 (design and coding example) You will be required to implement all the functionality described in section 3.2. However use the following deliverables instead of 3.2 VII: 1) an ER diagram of the system 2) The database schema (all tables, domains, constraints) after refinement. 3) The documented source code that implements the required functionality. Note that you are NOT required to implement any GUI or forms, etc (thus ignore sections 3.5-3.9). All interaction with the program will be through an input file and all output should be written to the screen. The format of this input file will be made available shortly. Basically, the input will consist of commands which you will have to parse and then run through the different routines. Any output, for example a SUCCESS or FAILURE will have to output to screen. Thus, you will connect to the oracle server (vcmr-57.server.rpi.edu) and create all tables, etc on that server. Then depending on the commands specified in the input file you will execute various transactions that test the functionality of your system. Based on section 3.2.V you will have to implement the following functions: 1) Authentication 2) Registration 3) Deregistration 4) Grade history 5) Registered courses 6) Enrolled courses 7) Student grade 8) Student/Faculty info 9) Course info 10) End of semester 11) Get class roster 12) Room 13) OLAP query (a "user-specified" SELECT stmt from input file) 14) End of session The integrity constraints specified in section 3.2.IV should be enforced.