Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

CS 4400 DATABASE PROJECT by g4509244


									                                CS 4400 DATABASE PROJECT
                                      Fall Semester 2006

                                     September 7, 2006 (v3.0)

Analyze, specify, design, implement and demonstrate an information system to support the
operation of the Exam Management System. The database and the application must be
implemented using ORACLE available on ACME. Alternative implementations must be
approved by the professor.


The three phases of the project cover the following tasks. Specific deliverables will be defined for
each of the three phases.

         PHASE              DESCRIPTION                           DUE DATE
         I                  Analysis & Specification              Sep 25
         II                 Design                                Oct 30
         III                Implementation & Testing              Dec 4
                            Demonstration                         Dec 5-8

GROUPS: Each group must have 3 or 4 members.

As a group, you will decide whether to complete the lightweight or heavyweight project options.
The two options are identical for phases I and II, but differ in the deliverable for phase III:

Heavyweight Option
Groups choosing this option will demo a working implementation of their project to the TA. The
implementation must include a Java or web-based GUI (Graphical User Interface) that uses JDBC
(Java Database Connectivity) or ODBC (Open Database Connectivity) for database access. The
SQL statements you create in phase II will be embedded inside your GUI.

Lightweight Option
Groups choosing the lightweight option will submit working SQL statements for each of the project
tasks and demo the SQL statements to the TA. This option may be appealing to groups with little or
no experience programming GUIs.

We will provide you with access to the Oracle Database Management System on ACME. See the
course webpage for further information on how to access Oracle from the ACME command line or
from a Java program.


Phase I:
                List of group members (mark clearly on the title page),
                Information Flow Diagram,
                E-R Diagram,
                Task Decomposition (where appropriate)
Phase II:
                List of continuing group members,
                Copy of the E-R Diagram from phase I (with any revisions),
                Copy of the Information Flow Diagram from phase I (with any revisions),
                Relational Schema Diagram (with primary and foreign keys),
                Create Table statements, including domain constraints, integrity constraints,
                 primary keys, and foreign keys,
                SQL statements for each task
Phase III:
                Copy of the Create Table statements from phase II (with any revisions),
                Contents of each Table in your Database,
                Source Code (documented) for your System,
                A set of working SQL statements for all project tasks (Lightweight Option)
                A functional GUI with embedded SQL statements that accesses your database
                 (Heavyweight Option)
                A system demo to one of the TAs (use SQLPLUS if you choose the light weight


The project will consist of 3 phases (deliverables) as well as a final demonstration to the TA. Phase
I and Phase II of the project are each worth 10% credit (of your total grade for this class). Credit for
phase III depends on the implementation option you choose.
Heavyweight Option - 20% credit: We will use the embedded SQL feature of ORACLE, called
JDBC, which allows us to embed SQL statements in a Java program.
Lightweight Option - 5% credit: We will use the SQLPLUS feature of ORACLE, which allows us
to execute stand-alone SQL statements.

EMS is a system that is used to manage a library of exam questions. The system has two types of
users: Administrator and Instructor. The administrator determines which instructors are authorized
to use the system. He also takes responsibility to reset the instructor password if it is forgotten. The
instructor user can create a library of exam questions from which he can create a set of tests for
each semester. When creating a new test, the instructor must specify the test title, the number of

sections in the test. For each section, he must specify the score for each question. After that he can
manually add questions to the test. The total score of a test is the sum of all the question scores.
User interface:
For the heavyweight option of the project, your GUI should have facilities (menu or other controls)
for the user to choose tasks to be performed, enter information, finish one task, and then perform
other tasks.
The following tasks cover some of the needs of an exam management system. Only the tasks listed
below need to be designed and implemented for this project. We assume that other necessary
functions are implemented already (explained below in the description of related tasks).
Following are the overview of the Exam Management System:
Functionalities for administrator:
- UPDATE INSTRUCTOR INFORMATION (first name, last name, password)
Functionalities for instructors:

Functionality descriptions
   a. Login into the system:

                                             Figure 1

                                             Figure 2
   b. Change password:

                                              Figure 3
    c. User Management: this functionality allows the administrator to list the current instructor
    users, to modify the user information, i.e. first name, last name, password and to add a new

                                             Figure 4
When the administrator clicks on an entry, a window will pop up for him to make modifications to
the user information.

    a. Login into the system:

                                           Figure 5

                                           Figure 6

    b. Change password: the instructor can change his password (see figure 3)

    c.   Question Library Management:
     -   Topic management: Each question in the library must be associated with one topic.
         Therefore, the instructor must be able to list all the available topics, to modify the topic
         name and to add a new topic.
    -    Question Management: the questions can be either TRUE/FALSE or multiple choice. The
         user can query a specific question by providing some search criteria, i.e. question ID,
         keyword. He can modify an existing question, add a new question or remove an existing
    -    Printing/Displaying questions: the instructor can display all questions with answers.


                 Figure 7: This windows is popped up when the user clicks on
                             Question Library Management Button
When the user clicks on:
   - Display all questions (printable version) printing button: a list of all questions and their
        answers will be displayed for printing.
   - Select topic and continue button: a window will be displayed to show the list of questions
        for the selected topic.

                                 Figure 8
When the user clicks on:
 Edit Selected Entry button: a windows pops up that allows the user to review/
   modify the selected question and its answers.

          Figure 9: Screenshot for editing a multiple choice question

   Add Multiple Choice Question button: in this form, the user can enter more than
    three wrong answers.

                              Figure 10
   Add TRUE/FALSE Question button:

                                     Figure 11
   Search for a question button: the user can enter questionID or keyword to search for
    a question. The system will return a list of questions that meet the criteria.

                                          Figure 12
         Display all questions (printable version) printing button: a list of all questions and
          their answers within the topic selected in the previous screen will be displayed for

d. Exam Management:
 - Create a new course: the system must allow the user to list available courses composed by
   the user (see figure 6). He can create a new course by providing course name and course
   number, semester, year and course section. Each course has a set of tests. The final score
   of one course is the sum of scores from each test. He can also update the course number,
   course title, semester, year and course section.

                                          Figure 13

When the user clicks on:

-   Select a Course to list/modify tests Button: A window is displayed for the user to create a
    new test/list all tests or view the student report for the course. Each test consists of
    multiple sections. When creating a new test, the instructor must specify the test title, the
    number of sections in the test, the name of those sections.

                                          Figure 14
    When the user clicks on:

        View Selected Test (printable version) Button: the system will display a printable
         version of this test which can be printed.
        Modify Test Button: the user can select a test to view/modify an existing test, i.e.
         change a question, edit score of each question, and add new section.

                                Figure 15

When the user clicks on:
 Create Button: the user has to enter the new section name and the score for
   each question. The score of each section is the sum of scores of all questions in
   the section and the score of the test is the sum of scores of all sections.
 Edit Selected Section Button: the user can add a new question into the test. The
   user can manually add an questionID or he can click on search for a question to
   add button to add a question (see figure 12). If the question is a multiple choice
   question, the user can choose which answers should be included in the test.
 Remove Selected Section Button: the system will remove the selected section
   and the questions within from that section from the test but the questions are
   not deleted from the database.

                                  Figure 16

   Report Button: the system will display a report that lists the topic names and the
    total number of question in each topic that are used for each section.

                                     Figure 17


To top