The purpose of the course project is to expose you to the design and implementation of a database application program that uses an Oracle database to provide useful services or to solve problems in a practical domain. It also provide a practical setting for team work.
Students must work in teams of three or four. Each team should have a leader and that leader should send me the names of team members via an email. Teams should be formed as soon as possible and no later than the given deadline. Past experience indicates that teams formed early in the semester and well-organized throughout the course duration often do much better than others. Students who are not in a team by the Wednesday of the third week may be randomly assigned to a team.
In this course project, you will design and implement an application program that supports operations of an organization (either real or imaginary) using a database. An example of such an application is an on-line bookstore, such as amazon.com, or an on-line social network, such as facebook.come.
The domain within which the organization operates is referred to as an application domain. For example, the application domain of amazon.com is on-line retail. This domain includes consumers, products, suppliers, business strategies and rules. An organization in this domain needs to perform many operations such as accounting, inventory management, human resources and payroll, etc. Some of these operations need to be performed at the store front (say on Web pages) by customers and salespersons, but other operations need to be performed at the back end by employees, managers and business owners.
Nevertheless, all operations of an organization need to be support by the application program in a coherent way. Many functions of the application program require to access and/or update data in a database. However, the database is only a component of the whole system.
In this project, you will design and implement an application program to support operations of an organization in an application domain. In order to support the operations of the organization, your program will use Oracle to manage the database.
This project consists of five parts. In Part One, you will identify an application domain and an organization in this application domain; specify requirements of an application program to support a set of operations of the organization; and design the conceptual schema of your database. In Part Two, translate the conceptual schema into relational schema and refine it to a normal form. In Part Three, you will create an Oracle database for your application and populate your database with realistic data. In Part Four, you will test your database with SQL queries and updates. Also you will create SQL constraints and triggers. In Part Five, you will complete the design, implementation and testing of your application program.
The deliverable of each project part includes a written report. These reports will be combined into the final report of the project. Each Part of the project has a specific set of requirements, a due date, and a grade. All due dates are firm (see Syllabus for the late policy). You should plan well in advance and hand in each part on time.
The project will be graded based on its functionality, completeness, the quality of design and implementation, and the quality of the team work (organization and collaboration). Normally, all the members of a team will receive the same grade for the project. However, differential grades can be assigned at a team's request, provided that contributions of individual members are well documented.