Project_instructions_02_overviewx Project Instructions 02 Overview

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 3

1
CPSC 304 Project Instructions: Project Overview
Fall 2017
Updated: September 23, 2017 (typos). We’ll fine-tune this document with more accurate dates, etc.
Project Description
Students in teams of 4 are required to select an application that would benefit from a database, and
they will build a database application from start to finish.
Project Rules and Expectations of Group Members
Avoid the examples provided in the textbook and course notes, although you can use the
radio/music example if you like since we haven’t done too much with it. Don’t use any examples
that you’ve worked with before. For example, it can’t be something from another course, the
Internet, your co-op term, etc. It must be your team’s original work. Please be aware of the
plagiarism rules for this course (re-read Slide 28 of the Introduction set of lecture slides handed
out during Day 1, and posted on Piazza after that—ask if you have questions).
Each group member must contribute meaningfully to the project. Each group member will be
expected to participate in the demo, be thoroughly familiar with the application, and be able to
answer questions from the TA.
Group members will be asked to submit individual reports about their contributions and how they
view the contributions of their teammates. In many cases, groups will share the same grade;
however, the instructor and TAs will be able to change the grade for each participant based on
their contributions. Students who are unavailable for much of the project and contribute little,
cannot expect to receive a good grade, even if the rest of the group gets a good grade.
Philosophy
Building a full database application from scratch allows you to control the process. Instead of
having the pieces decided for you, you must make all of the application decisions by yourselves.
You will see how design decisions made at the beginning will affect your final project. You will
practice some of the skills that you need—in your tutorials and their associated homework.
Goals
Decide on an application that would benefit from the use of a database system.
o Clear the application with your TA first to make sure it’s acceptable.
o Be creative and think of an application that you are unlikely to see in typical
textbooks.
2
Model the application domain, and define the application functionalities.
o Your project should be non-trivial, but don’t go overboard either.
o You should have at least 7 entities and 5 relationships.
Design the database (conceptual model via ER diagram), and create the logical schema.
Implement the logical schema in an RDBMS.
o You should have at least 5 tables.
Populate the database.
o You should have at least 10 rows per table, but preferably more. You can use a
script or program to generate thousands of rows, if you like.
Write both simple and complex SQL queries (a variety of each) that query the tables of
your database, and produce some meaningful result for an application.
Write the code needed to embed the database system in an application that has a
Graphical User Interface (GUI). Your application code will make SQL calls to the back-
end DBMS. The queries should be non-trivial and you need to have SELECT, INSERT,
UPDATE, and DELETE operations.
You will hand in your code in mid-November, and your group will demonstrate your
code to a TA shortly thereafter.
Oracle, Java/JDBC, MySQL, PhP, etc. Help
We will provide some tutorial pages for you.
Schedule
There are a number of intermediate deadlines that you must meet in order to ensure a successful
project. Descriptions for each of the required checkpoints will be described on separate pages. A
cover page will be turned in with the deliverables. The dates and percentages below are
approximate, but will give you a rough idea. We will provide more details about the expectations
in days to come.
September 22: Select your groups.
September 30: Project Proposal is due (10% of the project grade).
October 14: ER Diagram is due (10% of the project grade).
October 21: Formal Specification is due (5-10% of the project grade).
November 17: Complete Project is due (25-40% of the project grade).
You will hand in your work. We will freeze the deliverables at this point
so that groups that demo later than others do not gain an advantage. You
should provide some screenshots and sample output of your work to give
the TA(s) a heads-up about your upcoming demo.
November 20+: Demos due (30-50% of the project grade).
The demos go hand-in-hand with your Complete Project deliverables
because some of your deliverables will be used by your demo TA to see
3
your work in action. Be prepared to answer questions from the TA about
your project, the SQL, etc.
Consulting and Communicating with the TAs
It is recommended that you go over your milestones with the TA who is assigned to look at your
project. The TA can give you feedback or answer your questions. You may also talk to other TAs
during their office hours or during your tutorial time (time permitting). There is no guarantee that
one of your tutorial section TAs or the TA that you talk to the most, will be marking your project.
(We plan to spread the workload and marking among the TAs.) Your assigned TA will
periodically communicate with you about the project, using the Piazza small group forums (private
to you and the instructional staff (TAs and instructor)). You may wish to talk to the same TA(s)
during the term so that they will be familiar with your proposed application. Other groups won’t
see your Piazza group communications.

Navigation menu