ITECH7201 Software Engineering: Design & Implementation of ARC System

Verified

Added on  2023/04/21

|6
|718
|490
Project
AI Summary
This project details the design and development of a pizza/pasta takeaway system for ARC, utilizing Java's Object-Oriented Programming (OOP) techniques. The system incorporates use cases for adding pizza and pasta to a cart, checkout, and exit, with corresponding UML diagrams illustrating the design. OOP principles such as abstraction, polymorphism, and inheritance are employed to simulate the live procedure, with classes representing pizza, pasta, and their generalized item entity. The project addresses challenges in menu design and temporary cart management, with input validations and user-friendly menu navigation implemented using switch case statements and while loops. The reflective commentary highlights the application of OOP concepts and the solutions to design challenges, providing insights into the development process.
Document Page
Running head: ARC PIZZA AND PASTA
ARC Pizza and Pasta
Name of the Student:
Name of the University:
Author note:
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Use Case Description
1) Add Pizza: Through this use case the user will be allowed to add a large pizza to the cart.
This use case allows the user to select a pizza item from the menu and then opt to choose the
quantity of the pizza that he or she swishes to add to the cart. The system will check if the
quantity entered is a valid one and then add the same to the cart of the particular user cart list.
2) Add Pasta: This use case will allow the user to add a large pasta to the cart. This use case
allows the user to select a pizza item from the menu and then opt to choose the quantity of the
pasta that he or she wishes to add to the cart. The system will check if the quantity entered is
a valid one and then add the same to the cart of the particular user cart list.
3) Checkout: The user will be allowed to check out the particular items in the cart and get a
valid output on the bill that it resembles to. This bill will be calculated by the program based
on the various policies that exists. That is, the system will print the respective costs of the
pizza or pastas purchased and also display the free items that are related to them. On doing
so, the cart list will be cleared and made ready for newer additions or orders.
4) Exit: This is the end use case of the system where the user can choose to end the program
and get a final report of the existing orders that has been purchased in the particular system.
The use case calculates the price of all the orders that have been placed and also the number
of pizza and pasta orders that were placed and finally displays the same to the user.
Document Page
Use Case Diagram
Document Page
Class Diagram
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Sequence Diagram
Document Page
Reflective Commentary
The project was aimed towards developing a pizza/pasta take away system for the
ARC shop. The system has been developed using Java’s Object Oriented Programming
techniques. The OOP techniques helped in the usage of helpful concepts of abstraction,
polymorphism and inheritance. Object oriented programming is the best way that can assist in
the simulation or instantiation of a live procedure like the one that I had to present here in this
project. The various classes and methods could be used to represent the pizza and pasta and
their generalised item entity.
Through polymorphism, I managed to use the same method but with different
operations and under various types of objects. Furthermore, the concept of inheritance helped
in generalizing the Pizza and Pasta class under one class named as the FoodItem. The main
controller class that was designed was aimed at creating a list of FoodItem elements that
could hold the values for various Pizza and or Pasta objects as they have been initialized as
the child classes of the same. Through polymorphism, these child classes were able to inherit
the based method of calculating price and then use it according to their policies.
I faced a small challenge in designing the menu and the sub-menu for the program
and also in sorting out a possible way to maintain a temporary cart for individual items being
bought under a single order and then to add these orders to the final session report data. I
decided to clear the temporary carts whenever one check-out is simulated.
The program also has clean directions as to how the user is supposed to interact with
the program through menus and value entries. The code checks for input validations and
notifies the user for re-entering certain data, as and when required. This has been done with
the help of switch case statements and the thorough execution of the menu has been attained
with the help of the while loop statement.
chevron_up_icon
1 out of 6
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]