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.
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 ratings0% 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.
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