Course Project InformationAs a team of five-six programmers, you will assist in the implementation of a data processing system. The application data are of your own design with the requirement that each record in the system must contain a unique key (it must be a string), a secondary key (allow duplicates), and at least three non-key fields. For instance, a Book class could have the following member variables: ISBN – unique key Title – secondary key Author Publisher Year Price Each member of the team is to code one or more functional areas of the project. When complete, the individual components will be integrated into one program, which will be demonstrated in a project presentation that will be due by video on the last day of the quarter. Team Sign Up
Past TopicsHere are some topics from past quarters to help get you thinking. However, you must choose a different topic from the ones below.
Additionally, a book database or store front is off limits. Menu RequirementsYour project must display the following options for the user. Any missing menu option will lower the completeness score by at least 10% or one letter grade (see more grading information below). - Add new data - Delete data - Search (has a sub-menu) - Find and display one element using the primary key - Find and display elements using the secondary key (all matches) - Print (has a sub-menu) - Print unsorted data (hash table) - Print data sorted by the primary key (BST 1) - Print data sorted by the secondary key (BST 2) - Write data to a file - Quit At the end of the program, the file is to be automatically written to a text file. This is in addition to the menu write file option. The file names do not have to be the same as the input file name, but the file format must be the same as the input file format so that it can be read back into the program. In addition to writing and debugging code, each member of the team will:
Project ScoreA team score will be calculated as shown below. Completeness (60%). The project contains all of the required data structures and functionality. Accuracy (30%). The system demonstration runs without errors. Also, the system loads and executes without errors in a customer (instructor) test. Presentation (10%). An approximately 15 minute video presentation and demonstration of the project Note that all team-members will receive the same score on the project. Therefore, please help each other to complete the project. Required Project SpecificationsThe system’s data structure is to contain a hashed table of at least 25 records read from a file. Collisions will be resolved using separate chaining within each bucket. In addition to the hash table, build a binary search tree with the same primary key as the hash table’s primary key and a second BST that stores data sorted by the secondary key. The primary key must uniquely identify each element, whereas the secondary key must not uniquely identify each element. For instance, in the Book example, one BST and the hash table will be built using ISBN, the unique, primary key, and the other BST will be built using author, the secondary key. Draw a UML Class Diagram to show all classes used in your project and how they interrelate. Please see section below on UML Class Diagrams. Provide a menu of options for users as described earlier - note that you must offer the exact menu options as shown above. Suggested Team Assignment Each member of the team must write at least one unit of code, except the Presentation Guru. If the team is small, team members may have to write multiple units and take multiple roles. Team Member 1: Pro Team Coordinator: Data structure design coordination, main(), Integration, Testing Ensure project and presentation submitted on time Team Member 2: BST Algorithms Specialist: Implement BST Insert, Delete, Print, Search. Team Member 3: Hash Table Whiz: Hash Insert, Delete, Search. Team Member 4: Screen Output Expert: Creates the user interface. Connect menu of options to the data structures. Team Member 5: File I/O Ace: Gather data for input to program. Reading from and writing to a file Team Member 6: Presentation Guru: Coordinates the team presentation, creates the UML diagrams, oversees the walk-throughs, builds the power point presentation, keeps track that each menu option is displayed during the presentation to ensure that team members receive full credit on the project. UML Class DiagramsAs part of your presentation, you will be required to show a UML class diagram representing your project.
A second example: ![]() In the diagram above, classes are represented with boxes that contain three compartments:
![]() VisibilityTo specify the visibility of a class member (i.e. any variable or method), these notations must be placed before the member's name:
Source and More InformationVideo (Ignore the advertisement in the middle - use powerpoint or similar instead) Recommended by a classmate for creating UML diagrams: Draw.io Walk-ThroughsSelect 2 friends to test your project. Give these friends precise goals to accomplish, for example: “Scenario 1: Create a new account, log in, and search for a book.” List the three scenarios you asked your test participants to complete here. Scenario 1: Scenario 2: Scenario 3: List the feedback that you received from each of your participants. Feedback from Participant 1: Feedback from Participant 2: List any problems you noted while the participants were testing your project or any changes you wanted to make after observing the tests: Please present this information as part of the the project presentation (described below). PresentationAt the end of the quarter, you will need to present the final version of your project to the instructor.This presentation and demonstration will occur via video and should be no longer than 15 minutes. Suggested software for screen capture to record your video: The video should have two parts:
When discussing the UML diagrams, the teammate responsible for that portion of the project should explain the diagram for his or her component. Please show a continuous recording of the project demo.
Please read all directions below to maximize your presentation score. Important: Your
project will also be evaluated by the instructor during this video
presentation. If a component is not included on the video, I will assume
that it does not work or was not completed, and will not bother to test
it. Please be careful to demonstrate all components of the project, as your grade will depend on the thoroughness of your presentation. Use the checklist below as you are recording to ensure that you demonstrate all aspects of the project:
I will be using the above checklist as I am watching your video. Please do not skip any item on the checklist or you will receive no credit for that component of your project The presentation itself will be graded on a 20 point scale as follows:
|