CS 450

advertisement
CS 450 Project
Prof. Khaled Elleithy
This is a group project. Each group can be of three students at least and four
students at most.
In this project you will be designing a database application. Try to be creative in choosing an interesting
application. Traditional applications such as Registrar database, airline reservation system, on-line
shopping, etc .. are not allowed. This database will have different clients with different needs. User logins
to the system by any user should be authenticated using a password.
The project would typically go through the following phases:
1. Design the database using E-R diagrams
2. Create tables, including constraints such as primary keys, foreign keys, check constraints, and not null
constraints.
3. Create triggers and active elements to maintain integrity of the database and to perform appropriate
actions on database updates.
4. Populate the database using, SQL Insert statements, SQLloader, embedded-SQL program
Pro*C/Pro*C++)
5. Write application programs in Java and/or Pro*C/C++ and/or PL/SQL
6. Document the project
The application programs would have to implement some form of user interface. The simplest user
interface is terminal based and involves menus and sub-menus. However, there are several tools and
languages that support the development of fancier user interfaces such as the curses package in Unix, the
Java AWT toolkit, and the X-Windows libraries.
After deciding the application area, you need to perform the database design using the Entity-Relationship
modeling technique. Your Oracle database will include the following:
At least 3 Triggers
At least 3 Stored Procedures
At least 7 Tables with at least 6 foreign keys
Phase 1 Due February 2, 2003
You will submit a report and do a PowerPoint presentation. The report should contain the following
information:
1. A description of the application area.
2. A detailed E-R diagram representing the database design along with explanations on the various
assumptions you have made.
3. Functional requirements, which should include the description of the functional capabilities of
your system. This may be presented in the form of menus, screens, etc. A description of the
different types of users of your system along with their capabilities may be presented.
This must be in the form of a professional report (no hand writing/drawings). Also, do not throw away the
report, as we will be adding to this report in subsequent phases of the project.
Phase 2 Due March 9, 2003
You will submit a report and do a PowerPoint presentation. The report should contain the following
information:
1. A brief description of the application area.
2. An E-R diagram representing the database design along with explanations on the various
assumptions you have made.
3. Each table in your database is normalized in BCNCF. Examine each table to see if it is not in
BCNF or not. If it is explain why, if it is not normalized for BCNF
Phase 3 Due March 23, 2003
In phase I of the project you have selected your application area according to the given specs. In the second
phase you have normalized your design. In this phase, you need to go through the following steps:
1. Create tables, including constraints such as primary keys, foreign keys, check constraints, and not null
constraints.
2. Create triggers and active elements to maintain integrity of the database and to perform appropriate
actions on database updates.
3. Populate the database using, SQL Insert statements, SQLloader, embedded-SQL program
Pro*C/Pro*C++)
4. Write application programs in Java and/or Pro*C and/or PL/SQL
5. Documentation the project that must be in the form of a professional report. The documentation should
include the following sections exactly {any discrepancies you will lose marks}:
a. COVER PAGE: project title, students names and Ids , …
b. ABSTRACT: A brief summary of the project
c. TABLE OF CONTENTS with page numbers
d. WHO DID WHAT: The report should specify clearly “who did what” in the project and report
e. APPLICATION AREA: a description of the application area.
f. FUNCTIONAL REQUIREMENTS: include the description of the functional capabilities of your
system. This may be presented in the form of menus, screens, and description in plain English etc.
A description of the different types of users of your system along with their capabilities may be
presented.
g. ER DIAGRAM: a detailed E-R diagram representing the database design along with explanations
on the various assumptions you have made.
h. NORMALIZED SCHEMA: Details of normalization for BCNF
i. SQL CODE: EVERYTHING including tables, triggers, procedures, …
j. FRONT-END DESIGN: Explanation of different modules in the front end and how they inteact
{use diagrams if possible}
k. FRONT END CODE: Complete code
Submission of report, presentation, and demo
 All presentation materials need to be submitted in your presentation slot. You should submit the
complete report as given above as hard copy + soft copy on CD
 The presentation should be about 10-15 minutes using PowerPoint. You should make about 10 slides
that best illustrate your database. Slides can include graphics or text. Text slides should have a few
bulleted highlights, and not have copies of paragraphs from your paper.
 You must run the database system demo within your 30 minutes time. Be sure that your demo will run
before the last day of class.
 Absolutely no late submissions or demos
 All project members have to attend the presentation and should be prepared to answer any questions.
Those not attending the demo will get ZERO in the project
 The final grade of the project will depend on the following aspects of the project: Design, Application
programs, User interface, Written report, Presentation/demo
Good luck
Download