COMP1618 Software Tools and Techniques

1
Faculty Header
ID
Contribution: 100% of
course
Course Leader:
Hai Huang RESIT Coursework
Deadline Date:
12 April 2024 (11:30PM)
Feedback and grades are normally made available within 15 working days of the coursework
deadline
Learning Outcomes:
1 Explain the concept of Big Data and its importance in a modern economy 2 Explain the core architecture and
algorithms underpinning big data processing 3 Analyse and visualize large data sets using a range of statistical
and big data technologies 4 Critically evaluate, select and employ appropriate tools and technologies for the
development of big data applications
Plagiarism is presenting somebody else’s work as your own. It includes copying
information directly from the Web or books without referencing the material; submitting
joint coursework as an individual effort; copying another student’s coursework; stealing
coursework from another student and submitting it as your own work. Suspected
plagiarism will be investigated and if found to have occurred will be dealt with according to
the procedures set down by the University. Please see your student handbook for further
details of what is / isn’t plagiarism.
All material copied or amended from any source (e.g. internet, books) must be referenced
correctly according to the reference style you are using.
Your work will be submitted for plagiarism checking. Any attempt to bypass our plagiarism
detection systems will be treated as a severe Assessment Offence.
Coursework Submission Requirements
• An electronic copy of your work for this coursework must be fully uploaded before the
Deadline 12 April 2024 using the link on the Moodle page for COMP1618.
• For this resit coursework you must submit 3 separate files (a Zip file of Java source
code & a pdf report & a demo video file). In general, any text in the document must not
be an image (i.e. must not be scanned) and would normally be generated from other
documents (e.g. MS Office using “Save As .. PDF”). An exception to this is handwritten
mathematical notation, but when scanning do ensure the file size is not excessive.
• There are limits on the file size (see the relevant course Moodle page).
• Make sure that any files you upload are virus-free and not protected by a password or
corrupted otherwise they will be treated as null submissions.
• Your work will not be printed in colour. Please ensure that any pages with colour are
acceptable when printed in Black and White.
• You must NOT submit a paper copy of this work.
• All work must be submitted as above. Under no circumstances can they be accepted by
academic staff
The University website has details of the current Coursework Regulations, including details of
penalties for late submission, procedures for Extenuating Circumstances, and penalties for
Assessment Offences. See http://www2.gre.ac.uk/current-students/regs
2
Design a London Musical Ticket System
You need to work individually. The task is to produce a London
musical ticket software by Java which allows a customer to buy musical
tickets.
Each musical might have different show times within one month.
Tickets have different types such as Adult, Senior or Student with the
appropriate price. After buying tickets, a customer can see a printable
receipt (as a text/pdf file). Please note that a customer might buy
multiple tickets with different types at once.
You can access the following URL for more information about
musicals which you might need to populate your dataset:
https://www.londontheatre.co.uk/whatson/musicals?utm_source=google&utm_medium=cpc&utm_campaignid=20361528455&utm_adgroupid=&utm_adid
=&utm_term=&utm_matchtype=&utm_campaign=TTG_LT_g_uk_acq_pmax_all&utm_adgroup=&gclid=Cj0KCQj
w06-oBhC6ARIsAGuzdw2kYAdJXvIhYsh5Ym4pFOdt9J7FJCry0HCEUtCyniLyhUwynBiy57caAqdlEALw_wcB
The GUI of the system might look like this when running (only for
reference):
3
The Musical List button is used to show the list of musicals. Show
schedule button is used to show available dates, time slots, and seats of
musicals. The Book Ticket button allows to buy musical tickets with
dates, time slots, seats, and ticket types (adult, senior or student). There
could have an Exit button in this GUI.
Coursework Stages
Stage 1 Basic understanding
Design a suitable GUI for this application with sketches of the layout.
You may wish to consider real examples of ticket machines. You
should allow for your design to simulate input of the selection of
movies, show time, and ticket type including a way of specifying which
day, time slot, seat number and ticket type.
Stage 2 Outline implementation
Implement the system which you designed in stage 1 in prototype form
WITHOUT functionality (just the GUI appearance). You may use any
of the examples supplied in the course material as a basis on which to
get started – typically you will need radio buttons and/or a drop down
menu (JComboBox), buttons, and text fields. You might also consider
using spinners.
Stage 3 A basic working version
Implement the system designed in Stage 2.
Stage 4 Testing and validation
Adapt the code to perform validation, i.e. checking for bad input such
as a value of ‘four’ rather than ‘4’.
4
Design white box testing of your system (using a test table) and provide
evidence of both the functionality of your program and the testing
results.
Stage 5 Saving data externally
Extend the program further with a class, which uses a text or CSV file
to load musical data and save the receipt as text for each transaction
including the number of tickets, total price, musical name, date/time,
ticket type, seat number etc.
Stage 6 Innovations
Extend your program further with two of the following features:
• Allow listing and search for musicals by name or filter by (e.g.
using a JCombobox).
• Using a database such as JavaDB (Derby): Details are to be
stored in a suitably designed database, which you should design
and populate with at least 20 records.
• Enhance the GUI by using images, audio.
Final Deliverables
The final deliverables include:
1. A demo video (compulsory) to prove your product is runnable
and the functions have been implemented well.
2. A zip file containing working code in the form of .java and .class
files, or a zipped NetBeans project folder, together with any CSV
files you have used for external storage.
5
3. A coursework report in a separate pdf file (Do not include the
report in the zip file), containing the evidence of all completed
stages, which should include the following four sections:
• Introduction
• Design and Development: a description of how you designed
and developed the software with suitable screenshots of
technical details (such as UML design of Java classes &
database design if any)
• Testing and Faults: a summary of the white box testing (the
actual table and results will be listed in appendix B) and a
discussion of any faults and failures, including those that you
managed to correct, and those which are still unresolved.
• Conclusions, further development, and reflection: Give a
summary of the program and discuss what you would do if you
had another three months to work on the program. For the
reflection you should write at least 500 words, answer either (a)
or (b) from the following:
a) What did I achieve with this element of learning? Which
were the most difficult parts, and why were they difficult
for me? Which were the most straightforward parts, and
why did I find these easy?
b) What have I got out of doing this element of the course?
How have I developed my knowledge and skills? How do I
see this element of the course helping me in the longer
term?
The report should be no more than 2,000 words and there should be no
more than 10 screen shots. You may lose marks if your code contains
runtime errors, or your report is missing one or more sections.
6
Marking Criteria
Part A (60/100)
Product quality and Demonstration
achieved
well
(7 – 10)
partially
achieved
(5 – 6)
poorly/not
achieved
(0 – 4) Product
quality
(40/100)
The functionality of the product 10/40
The usability of the product (easy to use?) 10/40
Is bad input data handled appropriately? Is the output
formatted appropriately? Is the system free from crashes
and uncaught exceptions? 10/40
Quality of the Java code (meaningful comments, naming
standards, clear code layout and formatting) 10/40
achieved
well
(7 – 10)
partially
achieved
(5 – 6)
poorly/not
achieved
(0 – 4)
Demonstration
of product
(20/100)
The clearness of application demo 10/20
Can the student answer the questions well during the
demo? 10/20
Part B (40/100)
Quality and completeness of the report
achieved
well
(7 – 10)
partially
achieved
(5 – 6)
poorly/not
achieved
(0 – 4)
Quality and
completeness
of the report
(40/100)
Is the report clear, complete, and well-organized? 10/40
Design and Development (evidence on how you designed
and developed the application, and results) 10/40
Testing and Faults (Have you included evidence of
appropriate testing? Have you discussed any faults or
failures?) 10/40
achieved
well
(4 – 5)
partially
achieved
(2 – 3)
poorly/not
achieved
(0 – 1)
Self-evaluation (Have you done a fair evaluation?) 5/40
Conclusions, further development, and reflection (Have
you reflected on the development process?) 5/40

RESIT COMP1618COursework (2)