CRICOS Provider No. 00103D ITECH1400 Foundations of Programming Assignment 2 Semester 1 2015 Page 1 of 5
ITECH1400 Foundations of Programming
Assignment 2
Due Date: 5th June 2015, 5pm
Assessment Value: 20% of final course result
Assignment Description:
For this assignment, you are required to design and develop a console (text-based) application for
a small catering business. This application will simulate booking appointments, tracking catering
jobs and processing payments.
The program must cater for each of the following requirements:
1) Add a new catering appointment.
2) List all jobs still actively being worked on
3) List all completed jobs still requiring payment
4) List all jobs scheduled for work on a particular day
5) Accept a payment towards a completed appointment
6) Report detailed status for a particular booked appointment
7) Exit the Program
The work you submit must be your own individual work. Your work may be
submitted by staff to an online code-plagiarism checking software service to
compare your work to other students’ work.
CRICOS Provider No. 00103D ITECH1400 Foundations of Programming Assignment 2 Semester 1 2015 Page 2 of 5
Task Description:
1) Design.
Prior to commencing coding, you need to plan what you’re going to code. Write an
algorithm that describes how your program is going to work and how it links together.
2) Implementation
Develop a program for the catering business staff. This needs to:
a. Use a menu to provide the user with options to access different parts of the
program.
b. Include all the functionality listed under the application description and further
described under functional requirements. Make sure this includes the following
elements:
i. at least one arraylist
ii. at least one example of inheritance
iii. at least one example of polymorphism
iv. at least one example of overloading
c. Keep running until the user selects a menu option to exit the program. You do not
need to save any data when you exit.
You should aim to write code following high quality coding practices, including
comments, trapped exceptions and exhibiting good design where code is separated into
separate methods.
Warning: In this task, you are not allowed to use any automated code-writing tools.
You must manually write / type the whole program by yourself. Failing to do so will
result in no marks for the entire assignment.
Functional Requirements
1) Add a new catering appointment.
Allow the user to enter information which constitutes a booking for a client seeking
catering services. You do not need to treat companies any differently to individual
persons. The following information is required for each booking:
The name, address and contact phone number of the client
The type of food, number of people to be served and any special requirements
The appointment date and time
You must also allow the user.
CRICOS Provider No. 00103D ITECH1400 Foundations of Progra.docx
1. CRICOS Provider No. 00103D ITECH1400 Foundations of
Programming Assignment 2 Semester 1 2015 Page 1 of 5
ITECH1400 Foundations of Programming
Assignment 2
Due Date: 5th June 2015, 5pm
Assessment Value: 20% of final course result
Assignment Description:
For this assignment, you are required to design and develop a
console (text-based) application for
a small catering business. This application will simulate
booking appointments, tracking catering
jobs and processing payments.
The program must cater for each of the following requirements:
2. 1) Add a new catering appointment.
2) List all jobs still actively being worked on
3) List all completed jobs still requiring payment
4) List all jobs scheduled for work on a particular day
5) Accept a payment towards a completed appointment
6) Report detailed status for a particular booked appointment
7) Exit the Program
The work you submit must be your own individual work. Your
work may be
submitted by staff to an online code-plagiarism checking
software service to
compare your work to other students’ work.
CRICOS Provider No. 00103D ITECH1400 Foundations of
Programming Assignment 2 Semester 1 2015 Page 2 of 5
Task Description:
1) Design.
Prior to commencing coding, you need to plan what you’re
3. going to code. Write an
algorithm that describes how your program is going to work and
how it links together.
2) Implementation
Develop a program for the catering business staff. This needs
to:
a. Use a menu to provide the user with options to access
different parts of the
program.
b. Include all the functionality listed under the application
description and further
described under functional requirements. Make sure this
includes the following
elements:
i. at least one arraylist
ii. at least one example of inheritance
iii. at least one example of polymorphism
iv. at least one example of overloading
c. Keep running until the user selects a menu option to exit the
program. You do not
need to save any data when you exit.
4. You should aim to write code following high quality coding
practices, including
comments, trapped exceptions and exhibiting good design where
code is separated into
separate methods.
Warning: In this task, you are not allowed to use any automated
code-writing tools.
You must manually write / type the whole program by yourself.
Failing to do so will
result in no marks for the entire assignment.
Functional Requirements
1) Add a new catering appointment.
Allow the user to enter information which constitutes a booking
for a client seeking
catering services. You do not need to treat companies any
differently to individual
persons. The following information is required for each
booking:
dress and contact phone number of the client
special requirements
5. You must also allow the user to indicate the type of booking
that is being requested.
This may be for supply of food only or for full service, covering
both the provision of
food and wait-staff to serve the guests. In the case of a full
service, you must also
collect a deposit of 30% on the day the booking is made. In the
case of food-supply
only, you must collect a deposit of 20% on the day the booking
is made.
CRICOS Provider No. 00103D ITECH1400 Foundations of
Programming Assignment 2 Semester 1 2015 Page 3 of 5
2) List all jobs still actively being worked on
This option must display a list of all the catering jobs that are in
progress or have
been completed on the current day by the catering business. Do
not list jobs which
are yet to start, or jobs which have been completed on a
previous day. For each job
6. that is active, simply report the name of the client, the
appointment time, the type of
service and its current status.
3) List all completed jobs still requiring payment
The user must be able to select an option to list all the jobs that
have been
completed but have not yet been paid in full. For each such job,
list the name of the
client, the type of service they booked and the amount owing.
If a client has
payment owing for more than one job, you may choose to either
consolidate these
into one entry or to display them on individual lines at your
own discretion.
4) List all jobs scheduled for work on a particular day
The program must allow the user to see a list of all the services
that are scheduled
on a selected day. The user must be able to specify the day for
which the list is to
be provided.
5) Accept a payment towards a service job
7. Payments must be recordable against services. The user must
indicate the
particular job to which the payment is to be allocated (any
method of doing this is
acceptable). Then, if the selected job is one for which there is
an amount owing,
report that amount to the user, and obtain from the user the
amount actually being
paid right now.
If the amount entered is too much, report an error message. If
the amount entered
is less than the total that was owing, report the new amount
owing afterwards.
Otherwise, report that no further payments are required from the
client.
Remember to keep track of all payments made on each day.
6) Report detailed status for a particular appointment
The program must be able to report the full details about any
particular
appointment, by allowing the user to specify the appointment
for which they wish to
see the details. This means you must report:
8. special
requirements
rogress, complete,
cancelled)
CRICOS Provider No. 00103D ITECH1400 Foundations of
Programming Assignment 2 Semester 1 2015 Page 4 of 5
7) Exit the Program
The program must keep running until the user selects the option
to exit. You do not
need to save any of the data (i.e. there is no need to use files).
3) Testing.
9. In your supplementary documentation, explain how you have
tested your code and the
results of your testing. This means writing down the inputs and
actions which the marker
should follow to reproduce the scenarios you used to check the
program is working.
Include screenshots demonstrating the results when you tested
your code.
Submission Requirements:
All files you wish to submit must be placed into a single ZIP
file (with extension of .zip).
At a minimum, the following files should be present:
Assignment2.docx – for Tasks 1 and 3
All code files to allow your program to be compiled and run.
The work submitted must be your own work. You may be
required to discuss your work
with your tutor, either in lab classes or via a Skype, Google
Hangout or telephone
conversation with the marker.
10. CRICOS Provider No. 00103D ITECH1400 Foundations of
Programming Assignment 2 Semester 1 2015 Page 5 of 5
Marking Guide: ITECH1400
Task Details Marks
Task 1: Design Write an algorithm that describes how your
program is going to work
and how it links together.
/3
Task 2:
Implementation
Implementation of a program for the catering business staff,
which:
- Uses a menu to provide the user with options to access
different parts of the program.
o Allows the user to:
o Add a new catering appointment.
11. o List all jobs still actively being worked on
o List all completed jobs still requiring payment
o List all jobs scheduled for work on a particular day
o Accept a payment towards a completed appointment
o Report detailed status for a particular booked appointment
o Exit the Program
- Includes
o at least one arraylist
o at least one example of inheritance
o at least one example of polymorphism
o at least one example of overloading
- Keeps running until the user selects a menu option to exit the
program.
/14
12. Task 3: Testing Documented testing results, that:
- explain how you have tested your code
- show the results of your testing with inputs and outputs
included.
- include screenshots showing the test results.
/3
Total /20