CITS3403/5505 Final Test.
Taking your project to the next level.
This Exam is worth 50% of your final grade and must be done individually. For equity reasons, the teaching staff
will not be able to answer individual questions between the exams release and the due date. Questions may be
posted to the Final Test teams channel and may be answered by teaching staff. Any communication,
commentary, or discussion of the test during this period will be considered academic misconduct. Submit a zip
containing your HTML document and any required media files to https://secure.csse.uwa.edu.a…
by 5pm Wednesday, June 1, 2022
Consider the challenging of launching your daily game, produced in the group project, as a live game
used by thousands of users around the world everyday. You will have to make sure the game is as
engaging as possible, the code must be reliable, the servers will have to handle the traffic, and you
must respect the users data.
For the final unit test, you will need to produce a HTML document describing how you might address
these challenges. The questions must be answered with respect to the current state of your group
project. The document should satisfy the following constrains:
- The document should consist of a single HTML file, with embedded CSS and JavaScript code.
You may include some additional image or icon files in the zip, but you must ensure that these
will render in the document when the zip is expanded. - You may not use any libraries or external code, like Bootstrap or JQuery, and the page must
run without using live server, so AJAX should not be included in the document. - The page should render in a modern web browser (Chrome, Edge, Firefox, Safari etc) from the
file explorer, and should be easy to read and use.
Specification:The web page should have the unit title, your name and student number as a heading at the
top and the web page should have four sections, with clear and easy navigation between them. The
sections should be titled Overview, Client-Side, Server-Side and Software Processes, and the sections
should have the following specifications: - Overview: Present a description of your application from the users point of view. You should
explain the way the application works, the rules of the game, and how the user can compete the
puzzle and share their results. You should include a screenshot of the application. - Client-Side: Give a brief (100 word) overview of the client side architecture of your application,
and provide: - An interactive To Do List of features to add and issues to address in the client-side
application. The list should allow a user to add new items to the list, and remove existing
items. Populate the list with 3 items that would need to be done to scale the application,
with a description of what each item involves and why it is important (2 sentences each). - An alternative presentation theme for the application. Specify colours, fonts and styles for
an alternative theme, an explain your choices (1 paragraph) - The application could use server-side rendering, (utilising Jinja and Flask for example), or
could use client-side rendering (using JavaScript and a REST API). Present and explain the
advantages and disadvantages for each option side by side in the webpage, and colour the
background of the prefered option green (about 100 words for each option). - Server-Side: Give a brief (100 words) overview of the server side architecture of your
application, and provide: - An interactive To Do List of features to add and issues to address in the server-side
application. The list should allow a user to add new items to the list, and remove existing
items. Populate the list with 3 items that would need to be done to scale the application,
with a description of what each item involves and why it is important (2 sentences each). - Describe what would need to be done to deploy your application to allow it to scale with
thousands of daily users, and highlight the relevant characteristics of the Representational
State Transfer Architecture that would enable such scaling (about 200 words). - The privacy and confidence of users will be important to the applications success, but you
will also want to track users engagement. Your application could require users to register
accounts (active user tracking) or could use cookies or local storage to passively track users.
Give the advantages and disadvantages of each approach side by side, and color the
background of your prefered option green (about 100 words for each option). - Software Processes: Making a robust and reliable application will require a team of developers
to build and maintain the application. Describe what you think would be the ideal team to work
with to deliver and maintain the application (100 words), and provide: - An interactive To Do List of tasks required to deploy and maintain the application. The list
should allow a user to add new items to the list, and remove existing items. Populate the
list with 3 items that would need to be done to scale up your application, with a clear
description of what each item involves and why it is important (about 2 sentences each). - Ensuring the reliability of the application as new features are added will be crucial to
building a user base. Describe a testing strategy for your application identifying what kind
of tests and validation processes should be used, and how they should be executed (about - words).
- Describe the process your team used in developping the application to its current state and
give an honest and professional appraisal of each team member you worked with. What
changes would you make within the project team if you were to continue to develop the
application (about 200 words).
Marking Criteria:
Name: Student#:
Criteria Excellent Good Satisfactory Inadequate Comments Weight
Basic Data.