32555 Fundamentals of Software Development
32555 Fundamentals of Software Development
Spring 2022
Assignment: Yummy Pizza
This assignment is worth 70% of the total mark; it has eight parts, worth 10%, 5%, 10%, 5%, 10%, 10%, 10% and 10%. It is done in a group of three students.
1.Yummy Pizza Restaurants Background
Yummy Pizza Restaurant is a fictional restaurant on the Universitys Campus, Broadway, owned by Rob and Mary Murphy. Yummy Pizzas are naturally free from artificial colours, flavours and preservatives. It is an environmentally friendly restaurant. Many people, especially University Students and Staff, frequently eat at Yummy Pizzas.
Yummy Pizzas has a team of people to help or run the restaurant. It offers staff a fun, friendly, work environment not only for our customers but also for all the hired staff that deliver the freshest food. At the restaurant, four types of roles or positions are offered i.e. Front counter position, host role, kitchen hand and the delivery staff. The front counter staff meet and interact with hundreds of people every day. He/ she takes customer meal orders and takes payments. Host's job is to provide personalised, supreme service to all our customers. He/she will be constantly on the move delivering meals and helping at the restaurant and providing excellent table service. The kitchen is where all the action happens. The kitchen staff will collaborate closely with other staff members, and prepare a full menu of products, making sure that every meal item meets high-quality standards. The role of the delivery staff is to deliver pizza orders to homes or offices.
2.Restaurants System Description
The restaurant wants to launch its software system with new design elements that take customer orders, send the orders to the kitchen, monitor goods sold and inventory, and generate reports for management. The restaurants software system needs an efficient food-ordering system to keep track of all the activities of the restaurant. The first process at the Yummy Pizza is that customers should be able to browse through the extensive menu available using computer displays available at the restaurant or printed menus available at the restaurant. The pizzas come in three sizes i.e., Small (8 Inch), Large (11 Inch) and Extra Large (12 Inch). At Yummys pizza one can be ordered with traditional, wholemeal and gluten free bases. Customers can also choose between tomato sauce or BBQ sauce for their pizza order. The menu has different pizza topping options i.e., supreme, sausage sizzle, Hawaiian, chicken and veggie lovers pizza. Further, each type of pizza topping has different subtypes e.g., the chicken pizza can be of type sweet chilli chicken or peri-peri chicken. The veggie lovers pizza can be of type garden goodness or vegan cheese. In the menu each pizza choice further displays the calorie intake of each item, key ingredients and the price. The customers also have different add-on or side options i.e., pasta, chicken wings garlic bread and drinks. There are two pasta options available at Yummy pizza i.e. creamy mushroom pasta and classic Bolognese pasta. There are different choices of soft drinks as well as fruit juices available at Yummy Pizza.
The customers should be able to order at the counter, through phone or online. The next process in the system is to receive or get the customers Food Order either verbally (e.g., Give me two small supreme pizzas, one garlic bread, and one regular Coke) or as an online order. This received customer order needs to be transformed into a form meaningful to the kitchens system. It also needs to be transformed into a printed receipt for the customer. Thirdly, it needs to be transformed into goods sold data. Inventory data also needs to be updated as the order will reduce ingredients stored in inventory. The customer order is not complete until the customer makes the required payment. The payment can be done by cash or by debit and credit card. The students at yummy pizzas are given a 10% discount on their order. The discount can be only received by showing the student card. It also has a membership option with customers using a loyalty card when they order meals in the restaurant. The members get a free meal after seven meal orders. Anybody can create the membership of Yummy pizzas online by entering his/her name, email, mobile phone and by entering appropriate password for future logins. At Yummy pizzas you can also have group bookings or can order for large groups beforehand through phone or online bookings. The group bookings apply to a minimum of six people and a maximum of twenty people. The group booking is only done or confirmed if the customer pays $100 in advance by cash or credit. It is deducted from the final meal payment by the customer. No refund is given if the customer cancels the group booking. The group bookings also get a 15% discount on their meal orders. Customers can also book a table via phone or online. Yummy restaurant also does take away or pizza delivery to homes or offices within 10 km location. The takeaway or delivery order can be booked online or through phone by providing a location and pickup time together with the number and type of pizzas required with add on options. A delivery service fee of $5 is applied to delivery orders at Yummy Pizza. But delivery is free at Yummy Pizza if the customer order is over $30.
At the end of each day, Rob generates an inventory report that tells him how much inventory should have been used for each item associated with a sale. The steps involved in Robs inventory control system are as follows: Firstly, meet delivery trucks before opening the restaurant. After this, upload and store deliveries. He needs to upload invoices into the system and update the amounts received to the stock. He also needs to pay bills that are due and record them as paid. The process of ordering food items and other items for the restaurant also needs to be automated. If an item is perishable, such as meat, vegetables, or bread, the Murphys have a standing order with a local supplier that a pre-specified amount of food is delivered each weekday for that days use and each Saturday for weekend use. If the item is not perishable, such as straws, cups, and napkins, an order is placed when the stock on hand reaches a certain predetermined minimum order quantity. The sales of the restaurant are also dependent on the season of the year. Pizza business is not good during the summer months when students are off campus. Thus, the standing orders with their suppliers are reduced by specified amounts during the summer and holiday breaks.
Yummy Pizzas software system also displays staff vacancies or vacant positions. The vacancies are also advertised in a local paper. The jobseekers or prospective employees of yummy pizzas can apply for vacant positions at yummy pizzas either online or by post. The management team keeps or maintains a weekly roaster for all the staff. Its super-supportive management teams offer work hours that can fit around staff commitments, like university study, sporting events or family commitments. To help young employees balance work and study, restaurant has flexible rostering system can accommodate exam periods and other important activities. Yummy pizzas top menu is also enjoyed by all the staff members through an exclusive employee discount card which offer fantastic discounts on restaurants food i.e., 50% discount on a meal during, before or after each shift,
Yummy Pizzas also publishes a monthly newsletter in which it gives information about new pizza menu options and monthly specials. It gives some health tips and suggestions for healthy eating habits. It also guarantees allergen free preparation environment.
Deadlines and deliverables
The items to hand in, the date to hand them in, and the marks for each part, are shown below. The estimated workload for all parts, for each person on the team, is about 36-54 hours. The actual workload may vary by a factor of three due to individual variation.
3.1 Week 4, 27th August (10 marks)
Use Case Model (Objectives 1 to 6)
Identify all the use cases mentioned in the system description and draw a use case diagram, with all use case relationships. It has an expected workload of 8 hours for each group member. There can be approximately 10-20 use cases selected from this system description.
Marking Criteria:
Suitable Use Cases/Actors/Links: 6
Include/Extend/Generalization relationships: 4
3.2 Week 4, 27th August (5 marks)
Use Case Descriptions (Objectives 1 to 6)
Describe 3 use cases using the format described in the lecture notes, showing all details for each use case; describe any included or extended tasks that are required by the stated use cases. It has an expected workload of 3-4 hours for each group member. Each use case should require at most 3 pages of text, and some may take less than one page.
Marking Criteria:
Preamble: 1.5
Mainline: 2
Extensions: 1.5
3.3 Week 8, 25th September (10 marks)
Class Diagram (Objectives 1 to 6)
Design a design class diagram which shows, for each class in the system, the class name and attributes, plus the class associations, multiplicities and operations. Include any inheritance, composition or aggregation relations. It has an expected workload of 15 hours for each group member.
Marking Criteria:
Suitable Classes: 2.5
Suitable attributes and types: 2.5
Appropriate Associations: 2.5
Suitable Operations: 2.5
3.4 Week 8, 25th September (5 marks)
Sequence Diagram (Objectives 1 to 6)
Draw 3 sequence diagram which show all messages (method calls) between classes, including any parameters, and any value returned from a method call. It shows object selection, iteration, and object creation and / or destruction. It has an expected workload of 5 hours for each group member.
Marking Criteria:
Appropriate Control Flow: 3
Correct Notation: 2
3.5 Week 12, 30th October (10 marks)
Java Code (Objectives 1 to 6)
Write Java code for 3 methods of any one class or different classes in the class diagram. It has an expected workload of 10 hours for each group member.
Marking Criteria:
Reasonable method logic: 3
Specific correct parameters: 2
Executable code: 5
3.6 Week 12, 30th October (10 marks)
Connection to Database (Objectives 1 to 6)
Connect one class or entity to MySQL database. Apply or show CRUD operations on one or two objects. It has an expected workload of 5 hour for each group member.
Marking Criteria:
Appropriate Code: 5
Executable code: 5
3.7 Week 12, 30th October (10 marks)
User Interface Design (Objectives 1 to 6)
Each group has to design user interface for three methods data input and output. The design consists of a set of screen layouts that define the data input to and displayed on each screen. It has an expected workload of 5 hour for each group member.
Marking Criteria:
Appropriate Screen Layout: 5
Executable input/output: 5
3.8 Week 12, 30th October (10 marks)
Video of Assignment Java Code (Objectives 1 to 6)
Each member of the group has to submit 5 to 10 minutes of video demo of their Java Code of any three methods, database connection as well as the user interfaces collectively or individually.
Marking Criteria:
Structure and quality of presentation: 5
Explanation of Java Code: 5
4.Group and individual marks
The assignment is done in groups of three. When you hand in the final part of the assignment, you must rate each member of the group on how much that person has contributed to the overall mark; the form is included at the end of this document. The contribution of each team member is written on the form, and each person signs the form. The individual mark is the team mark weighted by the individual contribution. You must fill in and sign the form; if you do not, then your assignment mark will be zero. Any group experiencing problems that cannot be resolved within the group should contact the Subject Coordinator as soon as possible. In extreme cases, the Subject Coordinator may withdraw a problem student from a group. That student must then find another group, or work alone. No complaints will be heard after the submission date.
5.Academic Conduct
The solution should be the original work of the members of your team. No collaboration is allowed with any other person. You are not permitted to discuss your solution with, or show it to, any student outside your team. The faculty penalty for proven and serial misconduct of this nature is zero marks for the subject, as stated on the Subject Outline.
6.Assignment Submission and Return
You build a system specification by delivering seven documents, where each document builds on the previous one; the timing and deliverables are described in section 4. For each part
submit a soft copy (.docx, .pdf, .java, .mp4 format) of the assignment on Canvas.
The assignments will be marked approx. in two weeks time.
No late submission is accepted. Failure to submit assignment on time will result in penalty (10% of marks obtained will be deducted per day).
7. Special Consideration
Special cases are to be discussed and considered by the subject coordinator. If any students performance in an assessment item or items has been affected by extenuating or special circumstances beyond his/her control (work problems, family problems, or health problems), then he/she may apply for Special Consideration. Information on how to apply can be found at http://www.sau.uts.edu.au/assessment/consideration.html.If you are requesting an extension of time of one week or less to submit an assignment you should contact your subject coordinator, do not formally apply for special consideration.
8. Minimum Requirements
In order to pass the assignment, each student must get more than 50% of the total assignment mark.
Appendix A: Individual contribution to the assignment
Fill in and submit this form with the last part of the assignment in week 12.
The group mark is multiplied by an individual weighting to calculate the individual mark. One way to allocate marks is to give each member of the group an initial weighting of 100. If a member of the group has contributed more than the others, then that person's weight is increased and the weights on the other members are decreased so the total weight is always 100*n, where n is the number of people in the group (normally three). No person can score more than 70 marks for the assignment; any marks above 70 will be ignored.
Note: It is a complete responsibility of all the group members to understand, agree upon and commit to their contributions to the assignment as it can directly affect their individual assignment marks.
The following table must be filled in and signed by every member of the group, and submitted along with the final part of the solution before the final deadline in week 12. No individual mark will be given until this form has been signed and submitted.
Group number:
Student id, nameContribution (%)Signature