AWD Sup Assignment 2022
AWD Sup Assignment 2022
Total Marks:
100
Instructions to candidates
Learning Objectives:
To teach the students both theoretical and practical knowledge of how to build dynamic
Web applications.
Students will practice the techniques and skills needed to build efficient, full-featured state-
of-the-art web applications using Servlet and JSP and Web services.
Additionally, competencies in advanced Object Oriented techniques will be further
developed and imparted to the students as follows:
1. Apply Unified Modelling Language (UML) notation in documenting requirements
analysis and design
2. Apply Separation of Presentation from Content using the Model View Controller
Architecture
3. Apply Object-Oriented Design & Programming principles (encapsulation, inheritance,
polymorphism) to software solutions
4. Demonstrate understanding of software development methodologies for database
driven web applications using Eclipse IDE or any recommended IDE
5. Demonstrate use of Eclipse IDE or any recommended IDE.
RedFox has appointed Black Cat Inc to develop them a portal for their clients, you are the
lead developer for Black Cant Inc, It is your job to interact with the client to clarify exact
system requirements.
You are to develop a web application for Movie Rating Management. The objective is to
design a web application that allows
Employees to manage an on-line film database
Subscribers to signup or subscribe to the portal(Provide their details)
Subscribers to rate films
Subscribers to rate their most favorite 10 movies
To make new/future movie recommendations for subscribers based of film rates
Domain information
This is an enumeration of the most relevant domain information which the application
should deal with:
A director and an actor are defined in terms of the of their First name, Surname and date of
birth.
The system has a collection of users. Each user is defined in terms of:
Subscribers:
First name
Surname
Email address (Unique identifier)
A list of their preferred genres (in order of preference)
And other information to allow them to use the system and rate a movies and
receive recommendations
There will be two types of users: employees and subscribers. For the employees, extra
information for rating the movies is not necessary
Functionalities:
The application should offer amongst others the following basic functionalities:
Backstage functionality:
o Admin should be able to add new employees
o Authenticate an employee.
o Insert a new movie/film into the system.
Client functionality:
o Authenticate a client.
o View a list of all the upcoming/near future movie/films kept in the system.
o For a specific movie/film, the user can click on its title and see its specific
information (i.e., title, year of production, Producer, average rating, main
characters... ).
o Perform a rate tour.
o During a rate tour, the user is choses a list of movies/films they have watched
and rate them.
o Show the Top-5 movies for the user.
o Each user can be given a list of the top-5 best rated movies as
recommendation. This list consists of the 5 movies/films in the user’s
preferred genres, with better average rate excluding those already rated by
the user (we assume that users rate movies that they have watched).
In this assignment, the technologies that should be used in its development are the
following: (Please note that some of the technologies may have not yet been covered in
lectures and you need to research more about them.)
Java
Servlets
JSP pages
Sessions and cookies
JDBC ( MySQL as the database)
Tags
Java beans
Error management with JSP pages
This is a three-tier application where you are strictly required to follow the MVC
architecture, whereby:
The model.BEANS will contain all Java Beans Classes [3%]
The model.DAO will contain all Java Database/data store Classes [4%]
The controller (servlet) should handle all client requests and database access. Any
information retrieved to and from the database should be sent via the controller. All
application processing and decision making must be done by the controller
servlet. [6%]
The view (JSP) must handle all data presentations in the form of HTML. Note that
you will need more than one view, therefore do not overload one view with
multiple roles [4%].
Correct use of state management techniques to support web site
functionality(sessions[3], cookies[2]) [5%].
Correct use of presentation techniques where use of EL and/or Standard JSP Tag
Library is used in multiple JSPs (four different tags in two different JSPs at min) [4%].
[Correct use of database connection pooling using MySQL Datastore object 4]
Functionalities
[30]
Guidelines
Task 1 – you are expected to produce a working Java Web Application that runs on Apache
Tomcat Server (version 8 or above) using Servlets and JSPs.
A soft copy of all project files in the Web Archive Resource (WAR) structure must be
submitted ( location to be shared at a later stage – communication will be done via tutor
meetings)
You are also expected to attend a presentation in which you will demonstrate the working
web application and its architecture – failure to attend the presentation will attract zero
mark for the entire Task 1
Total
[100]