Subject Code: ITECH2000
Computer Science Assessment Answer
Assignment Task: ITECH2000
Level 1 – Compulsory Tasks
I expect all students should be able to complete all the requirements in Level 1. By completing these requirements, you should definitely get a ‘pass’ grade for the assignment, provided you have done things the correct and intended way.
Requirement 1: There must be a welcome screen This screen should be the first one presented to the user when they start your app – thus it needs to be done on “Screen1”. The screen needs to have mechanisms to get to the various other functions that are offered by the app.
Requirement 2: Obtain information about a customer It must be possible to enter the details of a new customer into the app. The customer might make several reservations for different events, or even just one event. However, before a reservation can be made, the customers' details need to be input into the app.
The following details need to be input:
• The email of the customer
• The name of the customer
• A 5 digit reference code that does not start with zeros (e.g. 10000 is the smallest acceptable value).
• Whether the customer is an adult There must be a specific screen where the user will enter this information. After validating the input, the screen should pass the inputted information to the prior screen (the screen we were at before we came to this screen for input). This screen should not store the information anywhere – it must return the information to the prior screen.
Requirement 3: Let customers book seats at an event For this assignment, let us assume that a table has only 4 seats – this will make it easier for you to think about. To start solving this requirement, assume that there is just one event with a table. (See
Level 2 requirements for allowing other tables). When the staff user chooses to register for an event, the app should show the current seat holders and event start and end time. It should ask which seat to give to the user. It should provide a way to choose one of the existing users and to record the reservation as being for that person. We need to make sure that the person is not already booked to be on the table or any other table – they can only book one seat per event.
For example, pretend that these are the customers already entered into the system by requirement 2:
• Elon Musk
• Jeff Who If Elon Musk has already booked seat #3 of the event table #1, then Elon Musk cannot book any of the others.
If Jeff Who has not booked any seat yet (but Elon Musk has table #1 seat 3 ), then Jeff Who can book either seat 1, 2 or 4. When the details have all been provided about who is making the reservation, and which seat they want to book, then there must be a way to confirm the reservation – to tell the app to store the reservation so that we know from now onwards, that the customer has booked that seat at the event on a specific table. We do not want to be entering the customer’s personal details here. Requirement 2 is where the customer’s personal details are entered. So you must make sure that the customer who wants to make a reservation has already been entered into the app before we come here to make the reservation. NOTE: If there are no seats available on the event table, you should warn the user so that they do not try to give a seat to a customer.
Requirement 4: Allow customers to cancel a reservation A customer is allowed to cancel their reservation. You need to provide a way in the app, for removing the customer’s reservation – the seat will become available to any customer (including the same customer if they choose to book a seat in the future).
Requirement 5: Show summary information about an event There must be a screen which will display summary information about an event. It needs to tell the user the following things:
• The number of tables
• The event location in an address form
• The number of seats is reserved.
• The number of seats that are available.
• The number of adults versus underage attendees.
Requirement 6: Information about customers details, must persist between separate uses of the app The details about customers from requirement 2, should only ever need to be entered once. If I enter Elon Musk’s details today, close the app, restart the phone tomorrow, and start the app, Elon Musk’s details should still be known to the app – we should still be able to book a seat on a flight for Elon Musk. You should use TinyDB to achieve this. Do not use a File.
Requirement 7: Information about customers who are booked for events, must persist between separate uses of the app The details of all the reservations of seats, made during requirement 3, and possibly changed by requirement 4, need to persist. For example, if today I book Elon Musk and Jeff Who seats on the same table at an event, close the app, restart my phone tomorrow and restart the app, they should both have reservations for the same seats as today. If Jeff Who cancels his seat tomorrow, then when I start the app the day after tomorrow, it should still show that Elon Musk has his seat booked, but Jeff Who’s seat should be available. You should use a File for this. More complicated Tasks Some students may find these tasks harder. We do not expect everyone to achieve all of these tasks, but if you do, you will probably receive a higher grade.
Level 2 is about allowing the app to work for multiple different events. For example, one event could be a LAN Party, but another event could be Paintball Event, and another event could be a hiking trip.
Requirement 8: Create a new event To achieve this requirement you must let the user create a new event. They must specify the location, time start and end of the event. They must be able to specify the name of the file which will be used to store the reservations details for that event. The customer details (such as their email or their adult status) should still be in the TinyDB.
Requirement 9: Choose the flight to be the “current” one to work with. Because there are now multiple events, you need to let the user switch between one event and another. There must be a way that the user can change which event is the one which is currently being changed/viewed. You can assume that the user will be required to provide the name of the file that contains the seat-reservations data.
Requirement 10: Ensure that there is a ‘default’ “current” event for the app The first time the app is run (e.g. by the person who grades you), they will need to have the app thinking it is dealing with an event already, such as was the case for level 1. Therefore, you need a way to ensure that there will be a “current” event when the app is run the first time – if the user has to do something to ensure this, make sure it is obvious to the user.
Requirement 11: You must have full validation of all input It should not be possible anywhere in the app, for the user to enter data that does not make sense, or which is incorrect, or which is inconsistent with the described requirements. This includes input argument slots of procedures.
Level 3 – Advanced Tasks
These tasks are hard to achieve, and should only be attempted if you completed Level 2. You need to achieve these tasks if you want the HD (High Distinction) grade because they require you to apply problem-solving skills without any guidance.
Advanced-Requirement A: User should not need to enter file names After creating an event (see requirement 8), the user should never again need to type in the file name, nor even see or remember it. Instead, they should only need to know the location and start time of the event.
Advanced-Requirement B: User should be able to choose the event on the screen for making a reservation of a seat or cancelling a reservation On the screen used for requirement 3, and the screen used for requirement 4 (they may be the same or different screens depending on how you have done it), the user should be able to select the event there, instead of needing to separately choose a “current” event.
Advanced-Requirement C: Report on a particular customer’s current reservations There should be a screen where you can choose a particular customer, and it will tell us all the events that they have booked a seat for. If they cancelled a reservation, it should not be shown on this screen.
This Computer Science Assessment solved by our Computer Science experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.