You are on page 1of 3

COMP

306 Database Management Systems (Spring 2013) Term Project: An Electronics Vendor Application Clarifications Students are allowed to work in groups of maximum three for the project. However, we will assess the contribution of each member in the final demonstration. This project has several stages, some of which are not finalized at the moment. The details will be filled out through the semester. Even though any major update will be announced explicitly, you are encouraged to browse the class forum frequently for some minor clarifications can be answered through it. Please visit the forum before posting a question. Description The application is an electronics vendor that operates both a Web site and a chain of many physical stores. Examples include Teknosa and Media Markt. To nd out more about this application, think about any experiences you may have had making purchases both online and in-store, and browse their Web sites. In our hypothetical company, it has been decided to redesign a major part of the database that underlies company operations. Unfortunately, the manager assigned to solicit database design proposals is not very computer literate and is unable to provide a very detailed specication at the technical level. Fortunately, you are able to do that. Here are a few points to consider: There are two different user types; customers and managers. Customers are registered users who can browse products and place orders. Users need to register to the site to place orders, but browsing products does not need registration. Each product belongs to only one store and one category. Products can be listed by category, brand and price range. Each customer has only one shopping cart which can only be used after logging in. Inventory check of the product must be done before placing an order. After placing an order the customer will be provided with a tracking number for the placed order. Managers will be redirected to another web page after logging in. Each store belongs to only one manager, but each manager can manage multiple stores.

Managers will be able to browse orders which belong to his/her stores, and change the status of an order to shipped, delivered, etc. Managers will be provided with an interface where they can see the inventory status for the products. Reports. (i. e. the results of the queries below which are marked with *).

Project Stages 1 Designing the E-R model: In this stage, you will construct the E-R model to design the database regarding all the relevant constraints. Then you will find the initial relational schema (convert your E-R diagrams to relational schema. See Chapter 4.5). You will have to submit a design document that clearly represents your design. This document shall explain any important design decisions, gives all necessary details, and obviously contain your E-R diagram. Convert the E-R diagram to relational schema. Put your relational schema into at least 3rd normal form. After normalization, you will convert your design into appropriate SQL CREATE TABLE statements, create the database tables and constraints and populate the tables with sufficient data. Upon creating your tables, you will construct SQL statements for various transactions. You should cover all functionality pointed out. Design and implementation: In this stage, you will design and implement your graphical user interface and user interactions for your system. Finally, in this stage you will add database connectivity and finish implementation and testing of your system. Include enough data to make answers to your queries interesting and nontrivial for test purposes. The server side of the system will be implemented by PHP + Oracle, while the client side will be implemented by any HTML based architecture.

2 3 4

Your application needs to handle at least the following: Find all products of all the stores Find all products of all the stores by category/brand/price range Find all products that are in the shopping cart at a moment Place an order if enough inventory is available Empty the cart Find all products of the store(s) that belong to a manager (inventory information of the products is included)* Find all orders that belong to the store(s) of a manager* Update the status of an order (pending, shipped, delivered, etc.) Find the top selling products by store/category/brand* Find the top spending customers (compare by total price, not amount of products)* Find those products that are low in inventory* Find the total price of the orders placed in a given time period (Ex: Monthly reports)*

You will have to submit a final report and a users manual, describing how to use your system in detail. Also you will have to demonstrate your system by appointment. Note that the demonstrations will be done in limited time, so please make sure your system works perfectly beforehand. We will be testing your system through your GUI and may ask you to illustrate some administrative tasks through any channel you chose to implement. Important Dates Form a group of maximum three students and give it a name. Post the name and members of the group to the COMP 306 group. All students who miss this deadline are assumed to work on their own. Due: April 26, 2012 23:59 (GMT +02:00) Preliminary E-R model design document. Due: April 28, 2013 23:59 (GMT +02:00) (10%) Final E-R model design document with normalization. Due: May 4, 2013 23:59 (GMT +02:00) (10%) Create SQL Tables. Due: May 8, 2013 23:59 (GMT +02:00) (10%) Final implementation and report. Due: May 18, 2013 23:59 (GMT +02:00) (70%) Demonstration (Extra points will be given according to its impressiveness.) (Date: TBA)

Submission The documents should be submitted to the PROJECT folder in COMP 306 storage in pdf or doc format. Naming of all submitted documents should obey the following convention (assuming multiple members are responsible for the document): <groupName>_<documentName>.doc, where <documentName> is any logical name that distinguishes the document. Each group will be provided with an SSH and Oracle account. All the final code and database must be deployed at the istavrit machine using these accounts. Your projects will be graded based on the application you deployed at the istavrit machine.

You might also like