ITECH2000-Assignment1-2019 ITECH2000 Mobile Development Fundamentals Assignment 1: AppInventor App Overview You will implement in AppInventor a multi-screen app for an airline company which uses a...

already attach the copy.


ITECH2000-Assignment1-2019 ITECH2000 Mobile Development Fundamentals Assignment 1: AppInventor App
 
 Overview You will implement in AppInventor a multi-screen app for an airline company which uses a range of components and persists data between executions.
 You may be required to attend an interview with the marker to answer questions about your work before they will mark your submission. Timelines and Expectations Percentage Value of Task: 25% (of final semester mark for this course) Final Due Date: 11:59pm, Sunday, 12th May, 2019 (end of Week 8) – after this date, there is a penalty each day. Cut-off Date: 11:59pm, Sunday, 18th May, 2019 – after this date, work will not be accepted Minimum time expectation: 10 hours Maximum time expectation: 30 hours – Most students do not require this much time. Learning Outcomes Assessed This assignment has been designed to enable you to demonstrate your learning in regards to the following outcomes of the course: K1. Understand constructs typical of many programming languages such as: variables, expressions, assignment, sequence, selection, iteration, procedures, parameters, return values. A1. Design, develop, test and debug mobile apps from a given textual program specification. S1. Analyse the input, processing and output needs of small programming problems. S2. Design code sequences to realise algorithms in a programming language. S3. Design basic user interfaces and develop storyboards to convey designed interaction sequences. In particular, the assignment has been designed to help give you further experience in using AppInventor, and to assess your attainment of a range of the learning objectives from weeks 2 through to 6 of the semester. Getting Assistance and Clarification: If any part of the task is unclear to you, or you are not quite sure how to do some aspect of the task, you should either contact your lecturer directly (via email, or in person while they are in class), or else post a question to the Discussion Forum on Moodle. However, any questions posted to the forum on Moodle should not include any actual things that you plan to submit (such as screenshots of code you might want to submit), but should instead be asked in a more general way, e.g. asking about a technique, or a similar situation to what you need for the assignment. ITECH2000 – Assignment 1 (2018 Semester 2) Page ! of !1 9 Assessment Details You need to do create a functioning app that does the described functionality (listed later) for the following scenario: Scenario: The app you will be developing will be used by event bookers who are promoting social gatherings. e.g. LAN Parties, Board Game Nights The event organiser has a range of events. Customer can book a seat on a table at an event, and if circumstances change they can remove their reservation at a later time, but not when it is less than 1 day before the event. The event organisers want you to make an app that can be used to store seat reservation information, and the arrival times of people at the event. The “Requirements” listed below will help to explain what functionality the app needs to achieve. If you feel you cannot achieve a particular feature, then please try the other features and then come back to it. Remember that you can ask the lecturer questions by email to clarify what is meant by any of the following requirements. To get full marks you will need to ensure that you have made use of each of the following components or constructs somewhere in your app: • a Notifier • a Spinner or ListView (or both) • a CheckBox • Labels • TextBoxes • Buttons • A Clock and instants • HorizontalArrangement or TableArrangement (or both) • a TinyDB component to gain access to persistent data stored in a database. • the list construct • a repetition construct • a decision construct • a boolean (AND or OR) expression. • Procedures you have defined using the ‘to do’ or ‘to do … result’ blocks. Please read through all of the requirements before you commence the work, so you get a full sense of what is required to be done. ITECH2000 – Assignment 1 (2018 Semester 2) Page ! of !2 9 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 user 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 in to 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 ITECH2000 – Assignment 1 (2018 Semester 2) Page ! of !3 9 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 a event There must be a screen which will display summary information about a event. It needs to tell the user the following things: • The amount of tables • The event location in address form • The number of seats that are reserved. • The number of seats that are available. • The amount 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. ITECH2000 – Assignment 1 (2018 Semester 2) Page ! of !4 9 Level 2 – 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.
May 12, 2021ITECH2000
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here