0% found this document useful (0 votes)
171 views7 pages

CS457 Term Project

This document outlines the requirements and schedule for a term project for a database course. It describes forming student teams, choosing a project topic, and submitting project deliverables such as a midterm report, final report, source code, and presentation slides. Key deadlines are provided. Project topics suggested include a professional networking site and movie rental application. The database design, application, reports, and presentation are to showcase skills learned in the course.

Uploaded by

npujnit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
171 views7 pages

CS457 Term Project

This document outlines the requirements and schedule for a term project for a database course. It describes forming student teams, choosing a project topic, and submitting project deliverables such as a midterm report, final report, source code, and presentation slides. Key deadlines are provided. Project topics suggested include a professional networking site and movie rental application. The database design, application, reports, and presentation are to showcase skills learned in the course.

Uploaded by

npujnit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

1

NPU CS457A / CS457C Term Project


Spring 2014

Database design (MS SQL 2012) and database application (any language,
technology, framework)
On-time submission. 10% late penalty per day after deadline.

Project Objectives
To reinforce and practice database queries and design concepts learned in class
To follow good software engineering practices in design, implementation, testing and
documentation
To learn how to write good technical report and do good presentation
To collaborate effectively in a team environment

Schedule Guidelines
Team formation: 3 to 4 students per team:
o CS457A: 6pm 1/29. CS457C: 6pm 1/27
o Email to [email protected] with subject CS457A_PROJECT_TEAM or
CS457C_PROJECT_TEAM in the following format
ID last name, first name
123 Smith, Jane
456 Doe, John

Team lead: Smith, Jane
One per team.
o A team number n will then be assigned
o Any one not in any team will be assigned to a team on 1/29 or 1/27
Project topic:
o CS457A: 6pm 2/5. CS457C: 6pm 2/3
o Email to [email protected] with subject CS457A_PROJECT_n_TOPIC or
CS457C_PROJECT_n_TOPIC where n is the team number. One per team.
Midterm report:
o CS457A: 6pm 3/12. CS457C: 6pm 3/10
o Midterm report (.doc, .docx, or .pdf): email to [email protected] with subject
CS457A_PROJECT_n_MTR or CS457C_PROJECT_n_MTR where n is the
team number. One per team.
Final report and source code (including DB/apps source code, sample data, etc):
o CS457A: 6pm 4/9. CS457C: 6pm 4/7
2

o Final report (.doc, .docx, or .pdf): email to [email protected] with subject
CS457A_PROJECT_n_FR or CS457C_PROJECT_n_FR where n is the team
number. One per team.
o Zip source code (DB/apps source code, sample data, etc) into .zip file and email
to [email protected] with subject CS457A_PROJECT_n_SRC or
CS457C_PROJECT_n_SRC where n is the team number. One per team.
o Submit hard copy of final report. One per team.
Final presentation slides:
o CS457A: 6pm 4/9. CS457C: 6pm 4/7
o Slides (.ppt, .pptx, or .pdf): email to [email protected] with subject
CS457A_PROJECT_n_SLIDES or CS457C_PROJECT_n_SLIDES where n
is the team number. One per team.
o Submit hard copy of presentation slides. One per team.

Note
Each project must be original the project should be created by the team from scratch
specifically for this course ONLY. Any copying/cheating activity is not allowed. Please refer to
the section POLICY OF CHEATING/COPYING in 00info and the section Academic Integrity
in syllabus.

Failing to turn in project related assignments (report, slides, etc) would result in penalty for the
entire team.

If a team member does not participate in any term project activities, he/she will receive 0 point
for the entire term project. Other team members should notify the instructor immediately
without delay.

If a team member does not participate in project presentation/demo, he/she will receive 0 point
for that portion.

Details
The focus should be on the database side. After all, this is a database course.

Database
Design the database based on Microsoft SQL 2012. You should include E/R diagram, tables,
stored procedures, queries, views, sample data, etc. Any normalization should be discussed
as well.

You should describe the purpose of each table, stored procedure, query, view, etc. The
meaning of each column in a table/view should be specified as well.

3

The stored procedures and queries should include
administrative side: for the site owner to add/update/delete records, load sample
data, etc.
end-user side: for consumer or regular user to perform operations.

You also need to load sample data into your database. The loading can be done by INSERT
or stored procedure.

The database script (source code) should include creating various database objects, as well as
loading sample data. (Creating database itself is optional.)

During term project demo, you should run through the database script as your first step for
your demo.

Database application
The database application provides user interface to access the database for administrative
side and end user side. The application can be as simple as a command line application, web
interface, or a GUI interface. It can be based on any languages (e.g., Java, C#, C++,
PYTHON, Perl, PHP, etc) and/or any technologies (JDBC, ODBC, etc) and/or any frameworks.

If the application is multi-threaded, explain why, what, and how.

The DB application should have logging facility to record various operations (request, response,
error, etc) into files.

Midterm Report
Write the midterm report just like any other technical report. Do not just list items.
The midterm report should include
Team #
IDs and names of team members
The choice of database project and application
List of planned functionalities/operations
Initial major areas/components/tasks for each team member
Initial design of database tables, etc. based on MS SQL 2012
Initial design of apps (any technologies) accessing the database
Initial architecture, components, sequence or flow of data
Initial major milestones, TODOs and by which members
Current status
Test plan

4

Final Report
Write the final report just like any other technical report. Do not just list items.
The final report should include
Team #
IDs and names of team members
The choice of database project and application
Final list of functionalities/operations and status of each one (completed or not)
o If the final list is different from the planned list, describe the reasons
Final major areas/components/tasks for each team member
Final design of database tables, views, etc. based on MS SQL 2012
o E/R diagram
o Table or view design
o Normalization if any
o Functional dependencies
o Denormalization, if any (which ones and why)
o The normal form (3NF, BCNF, etc) of tables/relationship. Justify the reasons if
any of them is below 3NF
o Specification for each DB object (table, column, view, stored procedure and each
parameter, etc) and its meaning/purpose
o Any server-side transaction related operations if any
o Source script (create DB objects, sample data, etc) separate file
o Sample execution of query/sp (screen shots, etc.) for important operations
Final design of apps (any language/technology/framework) accessing the database
o Technology, framework, language, etc
o DB access technology
o Any client-side transaction related operations if any
o Source code separate file
o Sample execution (screen shots, etc.)
o Sample application log file (not database transaction log file) separate file
Final architecture, components, sequence or flow of data
Any major design decisions (and why)
Any unique designs you are proud of and/or optional extra bonus features
Final major milestones, TODOs and by which members, when each was done, etc
Test plan execution
Any potential improvements
Project postmortem (such as issues uncovered, how to improve XXX, etc.)

Presentation and Demo
You should have slides (Power Point and PDF) to highlight your final report. Each team
member should present his/her own areas/tasks.
5


After presentation, you should have live demo of your database and applications. Show your
DB objects. Use DB application to run through your list of functionalities, operations for both
administrative side and end user side.

The length of presentation/demo per team will be announced later. You will be stopped by the
instructor when your allocated time is up.

Tips
As a team, please have dry run and make sure your laptop can be connected to the
projector.
Get to the point without wasting your time on trivial issues.

Project Ideas
NPU-ProfessionalNet (similar to LinkedIn)
Entities:
o User: name, email, profile, network, interests, skill set
o Company/group/school: name, description
o Wall (per user/company/group/school/etc)
o etc
Mandatory operations
o Add/delete user, update user profile, add/delete connection, add/delete interests, etc.
o Find connection/colleague/company/group (per user): (substring/wildcard) search
name/profile/job/skill/title, add/accept/hide connection request, etc.
o Suggest possible connection/colleague/company/group
o Wall (per user/company/group/school): post status to own wall (and remove), post to
first level connections wall (and remove), show own wall, show first level
connections wall, add comment to a post on own/first level connections wall (and
remove), like/unlike comment, etc.
o Endorsement/recommendation: send, accept (edit profile), etc
o Group: join, invite, post, comment, like, unlike, etc.
o Company/school: post, comment, follow/unfollow, etc.
Optional: Extra bonus
o Mutual colleague (first-level friends connections who are/were in the same company)
o Groups joined by connections who went to the same school
o Groups joined by first-level connection with common interests

NPU-MovieRental (similar to NetFlix, Hulu)
Entities
o Movie: title, director, lead actor/actress, cast, year, publisher, subject, categories,
languages, schedule, etc
6

o Cast
o Director
o Publisher
o Subject/category
o User: name, email, interests, etc
o Review (per user/movie): star, comment
o etc
Mandatory operations
o User: add/update/delete, name, email, etc.
o Movie title/multiple cast/director/year/subjects/categories/language(s)
o Movie: add/update/delete movie, query with various filters (substring/wildcard
string search for title, cast(s), director, year, subjects, categories), show movies
with similar subject and/or category, etc
o Cast/publisher/director: add/update/delete
o Review: add/update/delete, star, comment
Optional: Extra bonus
o Highest rated movies by people with similar interests
o Highest rated movies by director with good review
o Highest rated movies by cast with good review

NPU-EventMaster (similar to TicketMaster)
Entities
o Event: title, datetime, category, venue, location, performers, ticket price, etc
o Category: music, sport, art & theater, family, etc
o Sub-category
o Venue:
o Location: city, state, etc
o Performer: name, etc
o User: name, email, interests, etc
o Review (per user/performer, per user/venue, etc)
Mandatory operations
o Event: add/update/delete, query with various filters (substring/wildcard string
search for title, performer(s), venue, categories, location, user ratings, etc.)
o Venue/location: add/update/delete, etc.
o Category/subcategory: add/update/delete, etc
o Performer: add/update/delete, etc
o User: add/update/delete, etc
o Review: add/update/delete, star, comment, etc
Optional: Extra bonus
o Highest rated event by people with similar interests
o Highest rated performer by people with good review
7

o Events with good price/performance with good review

You might also like