Objects Lab: Tic Tac Toe Game: Spring 2025
Learning Objective(s)
- Do simple inheritance
Overview of the Program
Finish the restaurant program
Specifics
- Create a driver that accomplishes the following (and other nec. items)
- Loads a menu (the code to load already exists)
- Allows for an item to go on sale (or be taken off sale)
- Allows an item (sizeable or not) to be added/moved to/from the menu
- Display the menu to the screen
- Start an order
- Add items to an order (items must be on the menu to go on an order)
- Remove items from an order
- Create a list to go to the kitchen of everything on the order (and display)
- Create a bill (and display)
- Code found in the shared drive
- For the order:
- it must be a subclass
- there can be multiple orders of the same item, but it can appear only once in the list. You must figure out out how to handle it
- The main method should be found in a program called RestDriver
- Classes should include any "helper" methods that are appropriate. This helps in testing and debugging
Phase 1
Design the program and develop a testing plan.
- The design must include a complete UML diagram, should correctly include all major functions, and should indicate the inheritance
- The testing plan should included unit testing of at least two different classes and integration testing
- Submit a Software Design Report in only one pdf
Phase 2
Using your graded software design report
- implement the program. Start with the driver and getting all components of a menu working. Then work on the order
- create a Software Development Report incorporating any necessary changes from the software design report. Be sure to include detailed instructions on how to run your program, including any instructions for extra credit.
- include statement coverage (in additional to the unit testing and integration testing) in your testing report. If you create unit test programs, for unit testing you can just refer to each section in your report (no need to list input/output, but you must describe the purpose of each group of tests.
- create a zip folder containing only the following (and submit it)
- only one file (as a pdf) with the completed software development report
- all the .java files needed to run the program
- any input files you might want to have the grader use when running the program
- any unit testing .java files
Optional improvements
Optional improvements should ONLY be worked on once the program is completing working. In addition, the work is to be done on your own with little if any help for lab assistants or the instructor.