Web Development II CSC10217

Page | 1
School of Business and Tourism

Unit code
Web Development II
Assignment 1
Due Date
Design and build a Web site.
Midnight, Friday 19th April 2019.
Outcomes 1 – 4
Attributes 1, 3 & 4
Weight 25% of overall unit assessment
Mode This assignment is developmental and cumulative. Successive parts of this
assignment (and assignment 2) depend on previous parts. You are strongly advised
to undertake these parts as soon as possible in your study. Leaving your starting
date to the week before the due date is a very poor strategy for success in this unit.
A marking scheme will be posted on MySCU to help you direct your efforts

Task Description
Your assignments (assignment-1 and assignment-2) require you to develop a web application for a hypothetical
DVD rental e-shop. The final application is similar to:
http://infotech.scu.edu.au/~vinh/moviezone/index.php or
From this moment, I will refer to the application as the movie_zone or the app.
When you have completed the assignment you are required to;
• Upload your web application to your student directory (on the school’s server infotech.scu.edu.au)
• Upload a zip file of your site (and the design documentation) to the MySCU assignments folder.
Note to IBS students: Please check with your local lecturer/tutor the submission requirements for your
assignments. Typically, they will be different from on-shore students of Southern Cross University.
Please note that all material used on your website has to comply with the Southern Cross University “Web
Hosting and Publishing Policy” located at:
Page | 2
The following is the detailed description for Assignment 1:
• Part-A: Design. In this part you will do the “reverse engineering” of the existing movies_zone to
create the high-level system design and the low-level module design for the application. The lowlevel module design will apply the Model-View-Controller (MVC) design pattern.
• Part-B: Implementation. In this part you will implement and test version 1 of the application. In
particular, version 1 will have the following features:
o The Controller will be able to handle the client requests and redirect them to the
corresponding Model methods
o The Model will be able to handle all SELECT movies requests e.g. select all movies,
select new releases, select movies by stars, directors, genre etc.
o The View should be able to view the results in plain text
o A simple user interface to test the application i.e. to send a request and see the response.
o PHP code should be Object Oriented.
Assignment-1 guideline
Part-A: Design
To complete this part, you have to follow these guidelines:
Step 1: Requirement analysis. In this step, you will document all functional and non-functional requirements
of the app by “playing” with the pre-built application at the following URL:
Examples of functional requirements are:
• Add new movie details (list all details can be added)
• Select movies by title, by author, by stars etc.
Example of non-functional requirements are:
• Two column design at minimum
• Display new releases in the front-page
• Use separate CSS file for styling etc.
To access the admin interface on both the sample site and your own site, you have to use any username and
webdev2 as the password. Note that you may not be able to enumerate all the requirements in one go but the
more details you have, the less chance you have to go back to re-design the app later.
Step 2: Perform the high-level design and create a high-level system design diagram to illustrate your design.
You need to write a small paragraph to explain how the app works using design diagram. Use the tool in
https://www.draw.io/ to build your design diagram.
Step 3: Perform the low-level module design using MVC design pattern. You will need to use the functional
requirements you have gathered in Step 1 to help you in this step. For each module in your design, provide
information about the module inputs, outputs and description about the logic i.e. the function the module
provides. Try to provide enough information so that the module can be implemented. You will need to create
a diagram to show how the modules are interconnected in your low-level module design diagram. Finally,
Page | 3
write a paragraph to explain one user case using the low-level design diagram. For example, explain how the
user can display all movies of a given director.
Part-B: Implementation
To complete this part, you have to follow these guidelines:
• Setup the provided movie database on your local (XAMP) and your infotech sites MySQL server
and study the database structure. Refer to the next section for the database description.
• Write a base class for each major component Model, View and Controller and a class for each
module of your low level design. Define the main properties and methods for each class based on
the module description.
• Implement the Controller component first as it is the simplest component and it can be used to test
other modules.
• Implement the Data Access Interface module to access the movie database. You do not need to
implement all data access methods at this stage. Implement only those required to select movies
from the database.
• Implement the View component. Note that at this stage, the View only need to send unformatted
results back to the client so most of the View methods will contain a single print or echo command.
o Implement the Model component. Note that you only need to implement all SELECT
movies methods at this stage. The Model should use methods provided by the Data Access
Interface for the tasks.
o Finally, create a simple UI to test the application. You don’t have to create the interface
for the app at this stage but it is a good idea to begin the construction.
o Follow the assignment advice in each topic to manage your development.
The Movies Database
The database structure
You will be provided with an existing database of movies to help you in this assignment. The database and
setup instruction is in a zip file that can be downloaded from the same folder with this document. You need to
setup the database on your local (XAMP) and infotech sites MySQL server before starting any development.
The database provided for your assignments holds the following information:
Member information, this table will store the information gathered on your assignment 1 JavaScript form or
the provided PHP self-targeting form:
1. Surname.
2. Other names.
3. Preferred contact method (land-line telephone, email or mobile)
4. Day-time telephone number (must contain format (XX) XXXXXXXX where X is a digit only).
Note: this maybe empty.
5. Mobile telephone number (must contain format XXXX XXX XXX where X is a digit only) Note:
this maybe empty.
Page | 4
6. E-mail address (Fully verified using supplied function validEmail – see Notes for the join.php
page). Note: this maybe empty.
7. Whether the user wants to receive the e-shops magazine.
8. Postal address: 3 separate fields (Number / Street – Suburb / City and Postcode). Note: this maybe
empty if the user chose not to receive the magazine.
9. Username selected by user (6 characters min – 10 characters max.). Note: this should be unique!
10. Password selected by user (10 characters max. containing at minimum one uppercase letter, one
lowercase letter one number and one special character with no whitespace allowed).
11. Occupation.
12. Join date.
Stock (Movie) information these tables store the following information.
1. Title (Not unique – how many King Kong movies are there?)
2. Tag Line (unique)
3. Plot (unique – up to 256 characters)
4. Image name (appended with php timestamp)
5. Director
6. Studio
7. Genre (only 1 as that is how done in a shop)
8. Classification (G, PG, M, MA, R or X)
9. Stars (3 max – at least 2 required)
10. Co-Stars (3 max – or none)
11. Year of theatrical release
12. Rental period (Overnight, 3 Day or Weekly)
13. DVD rental price (individual for each Movie)
14. BlueRay rental price (individual for each Movie)
15. DVD purchase price (individual for each Movie)
16. BlueRay purchase price (individual for each Movie)
17. Total number of DVDs
18. Number of DVDs on loan
19. Total number of BlueRays
20. Number of BlueRays on loan.
Page | 5
Fig. 1: The movies database structure
Fig 1 shows the database structure, data tables in the database and their fields. Two views have been created
to simplify the use of the database. A View is a virtual table based on the result-set of an SQL statement. A
view contains rows and columns, just like a real table. The fields in a view are fields from one or more real
tables in the database. In general, you select data from a view in the same way you select data from a real table.
However, other SQL queries such as Insert, Update and Delete may have some limitation.
Page | 6
Examples of using the provided views:
movie_detail_view – display list of movies with all details sorted by movie title:
SELECT * FROM movie_detail_view;
SELECT * FROM movie_detail_view WHERE genre = ‘Sci-fi’;
SELECT * FROM movie_detail_view WHERE title = ‘Furious Seven’;
SELECT * FROM movie_detail_view WHERE classification = ‘G’;
movie_actor_view -display movie_id’s that star or co-star a particular actor:
SELECT movie_id FROM movie_actor_view WHERE actor_name = “Vin Diesel”;
Combining the above to get the details of movies with a particular actor:
SELECT * FROM movie_detail_view WHERE movie_id IN (SELECT movie_id FROM
movie_actor_view WHERE actor_name = ‘Vin Diesel’);
Where to get additional data?
To find new movies to add to your database (or to load it if you created your own), I suggest you visit the
Internet Movie Database (IMDb – http://www.imdb.com) for your movie needs – Additionally as this is an
educational exercise (a hypothetical DVD database – that will be deleted at the end of semester) DVD pictures
can be “borrowed” from this site for the purposes of this assignment. As homage to IMDb (the site you
“borrowed” images from) include a thank you on your homepage (index.php) linking to the IMDb
Assignment-1 Marking Rubric
A spreadsheet that will be used for the marking of your site is provided (co-located with this assignment
specification) on MySCU to itemises exactly what tutors will be looking at in relation to marking your website.
It contains a detailed breakdown of the marking criteria for this assignment. I strongly suggest you peruse
this spreadsheet.
Submission Format
When you have completed the assignment, you are required to submit your assignment (a zip file containing
your complete site and the design document) to the MySCU assignment folder. The zip file will be named
using the following convention:
filename = FirstInitialYourLastName_CSC10217_Ass1.zip
(i.e. FJones_CSC10217_Ass1.zip)
Additionally, you are required to upload your site to your student directory (on the school’s server
infotech.scu.edu.au) and verify that all works well.
Note to IBS students: Please check with your local lecturer/tutor the submission requirements for your
Page | 7
assignments. Typically, they will be different from on-shore students of Southern Cross University.
More information
All design documents must be contained in one single word/pdf document. Drawings and diagrams should be
placed into the design document. Files created in non-university standard programs cannot be accepted, as the
marker may not be able to view them.
In this assignment, you can use any HTML/PHP design environment you desire to complete your website.
However, please note the following:
• All HTML pages and CSS files must validate.
• JavaScript is the only allowable language for error checking on the join page.
My Recommendations (what I used) are as follows:
• Notepad++ to author all HTML, JavaScript, PHP and MySQL.
• XAMPP for testing all of these files on my Home PC (Apache 2, PHP & MySQL).
All software mentioned here can be downloaded (For Free).
Original work
It is a University requirement that a student’s work complies with the Academic Policy, Chapter 4.20 on
Student Academic Integrity. It is a student’s responsibility to be familiar with the Policy.
Failure to comply with the Policy can have severe consequences in the form of University sanctions. For
information on this Policy please refer to Chapter 4.20 on Student Academic Integrity at the following website:
As part of a University initiative to support the development of academic integrity, assessments may be
checked for plagiarism, including through an electronic system, either internally or by a plagiarism checking
service, and be held for future checking and matching purposes.
Retain duplicate copy
Before submitting the assignment, you are advised to retain electronic copies of original work. In the event of
any uncertainty regarding the submission of assessment items, you may be requested to reproduce a final copy.
School Extension Policy
If you need an extension/special consideration for an assignment you will need to fill in the “Special
Consideration for Assessment” form. If the requested extension is for more than 48 hours you will need to
include some documentary proof of the reason you need the extension (i.e. doctors certificate etc.). Remember
that extensions will not be granted on due dates of the assignments (except in exceptional situations) – get your
request in before the assignment is due.
To streamline and improve the special consideration process, new eForms have been developed that will enable
students to submit an application electronically via MyEnrolment for:
Page | 8
• Special Consideration for Assessment (extension and marking)
• Special Exam Application
Extensions within 24 hours of submission or following the submission deadline will not be granted (unless
supported by a doctor’s certificate or where there are exceptional circumstances – this will be at the unit
assessor’s discretion and will be considered on a case by case basis).
A penalty of 5% of the total available grade will accrue for each 24-hour period that an assessment item is
submitted late. Therefore, an assessment item worth 20 marks will have 1 mark deducted for every 24-hour
period and at the end of 20 days will receive 0 marks.
Students who fail to submit following the guidelines in this Unit Information Guide will be deemed to have
not submitted the assessment item and the above penalty will be applied until the specified submission
guidelines are followed.
Marks and Feedback
All assessment materials submitted during the semester will normally be marked and returned within two
weeks of the required date of submission (provided that the assessment materials have been submitted by the
due date).
Marks will be made available to each student via the MySCU Grade book.