Movie Recommendation System PDF
Movie Recommendation System PDF
Chapter 1 ......................................................................................................................... 3
Introduction ...................................................................................................................... 3
1.1 Project Introduction ............................................................................................ 3
1.2 Existing Solutions ............................................................................................... 4
1.2.1 Table Comparison ....................................................................................... 5
1.3 Problem Statement ............................................................................................ 6
1.4 Business Scope ................................................................................................. 6
1.5 Useful Tools and Technologies .......................................................................... 6
1.6 Project Work Break Down .................................................................................. 7
1.7 Project Time Lapse ............................................................................................ 8
Chapter 2 ......................................................................................................................... 9
Requirements Specification and Analysis ............................................................................. 9
2.1 Functional Requirements ................................................................................... 9
2.2 Non-Functional Requirements.......................................................................... 10
2.3 System Use Case Modeling: ............................................................................ 10
2.3.1 System level Use Case Diagram: ................................................................... 15
2.4 Use Case Description ...................................................................................... 16
Chapter 3 ....................................................................................................................... 25
System Design................................................................................................................. 25
3.1 Layer Definition ................................................................................................ 25
3.1.1 Presentation Layer:....................................................................................... 25
3.1.2 Business Logic Layer: .................................................................................. 25
3.1.3 Database Layer: ........................................................................................... 25
3.2 High level Design ............................................................................................. 26
3.2.1 Domain Model: .......................................................................................... 26
3.2.2 System Sequence Diagram: ...................................................................... 27
3.3 Low level Design .............................................................................................. 37
3.3.1 Class Diagram ........................................................................................... 37
3.3.2 Sequence Diagram .................................................................................... 38
1
Chapter 4 ....................................................................................................................... 39
Software Development ..................................................................................................... 39
4.1 Coding Standards ............................................................................................ 39
4.2 Development Environment ............................................................................... 39
4.3 Software Description ........................................................................................ 39
4.3.1 HomePage: .................................................................................................. 40
4.3.2 Registration ................................................................................................. 41
4.3.3 Login .......................................................................................................... 42
Chapter 5 ....................................................................................................................... 43
Software Testing .............................................................................................................. 43
5.1 Testing Methodology ........................................................................................ 43
5.2 Testing Environment ........................................................................................ 43
5.3 Test Cases ....................................................................................................... 43
2
Chapter 1
Introduction
1.1 Project Introduction
Our recommender system will remove the hassle of searching for an interesting movie and
provide an all in one recommender system where you will get recommendations based on your
movie history thus generating accurate recommendations as possible. Movie recommendation
system is an intelligent idea as there are more than millions of movies available to watch. The
main concern of our system is to remove the searching of movies and get recommendations
for movies based a person’s watch history.[1]
As it is based online, the users won’t have to worry about space anytime getting
recommendations for a movie. Users can get recommendation from their mobile phones as
well. The possibilities are endless as it is a web application which can be accessible from any
device anywhere as long as it is connected to the internet. It will have different feeds to each
individual user based upon their own liking, history and the genre’s they like. Simply put, this
technology proves itself to be very far ahead compared to the old-fashioned ways and saves
time and space which is very essential.[3]
3
1.2 Existing Solutions
This is stated about the information found on the Profile Based Movie Recommendation System
in the form of research papers as stated below at the reference page. We have found that Vast
and uncountable amount of work has been put into Digital Media services specifically into Movie
Recommendation System to make it as fast as possible and as effective as possible. The styles
and working of Recommendation systems has evolved into a smart feature that almost every
person has access to it. Considering Movie Recommendation systems, multiple countless
techniques have been used. The goal is to make the Movie recommendation as efficient and
F.O. Isinkaye, Y.O. Folajimi, B.A. Ojokoh (2015) in their research pointed out that on the internet
the number of choices is overwhelming. There is need to filter, prioritize and efficiently deliver
relevant information in order to alleviate the problem of information overload, which has created
a potential problem to many Internet users. Recommender systems solve this problem by
searching through large volume of dynamically generated information to provide users with
Bogdan Walek, Vladimir Fojtik (2019) in their research about hybrid recommender system told
us that the internet contains a large amount of information, which must then be filtered to
determine the suitability for certain users. Recommender Systems are a very suitable tool for this
purpose.[3]
4
1.2.1 Table Comparison
There are multiple websites which provide similar functionalities. Comparison of existing studies
are provided in state-of-the-art as shown in table 1.
Random
recommen-
dations
✔ ✖ ✔ ✔ ✖
Profile ✔
Based ✔ ✔ ✖ ✖
Genre
Based ✔ ✖ ✖ ✖ ✔
Keywords ✔
Based ✔ ✖ ✖ ✖
5
1.3 Problem Statement
A Web based Recommendation system will provide the facilities that will help the users to get
movie recommendations on the go. In our daily life, most of us have hobby of watching movies
on our free time, our Movie Recommendation System will minimize the time taken to search for
a movie so that the user can spend more time watching rather than searching for a movie. Our
Recommender System will provide an all in one recommender System which will give
recommendations based on a user’s watch history, thus giving a recommendation with high
accuracy.
Our recommendation system will remove the hassle of searching for movies to watch which in
turn will be full of advantages for the users who watch movies. As they will not have to manually
search for a movie to watch but will be recommended through our system.
1. Bootstrap
2. Jquery
3. HTML
4. AJAX
2. Back End
The tools we will used out back end should be:
1. Python
2. C#
3. Visual Studio (2019)
6
1.6 Project Work Break Down
7
1.7 Project Time Lapse
8
Chapter 2
Requirements Specification and Analysis
Requirement analysis is the process of studying and analyzing the customer and the user needs to
arrive at a definition of the problem domain and system requirements. These requirements are
known as functional requirements. In Chapter 2 we will enlist the functional and non-functional
requirements and model functional requirements in the form of use case model.
9
2.2 Non-Functional Requirements
A non-functional requirement defines the performance attribute of a software system. Types of
Non-functional requirement are Scalability Capacity, Availability, Reliability, Recoverability,
Data Integrity, etc.
SR.
NON-FUNCTIONAL REQUIREMENTS CATEGORY
NO.
1 The website interface will be responsive
Performance
2 Responses to view information shall take no longer than 5 seconds
to appear on the screen Performance
Admin:
10
Feature 2: Update Dataset
Admin can update the dataset, As shown in Figure 2.2
11
Feature 4: Update Keywords
Admin can update keywords, As shown in Figure 2.4
User:
12
Feature 6: User Login
User can login to the system, As shown in Figure 2.6
13
Feature 8: View Movies names recommended by the System
User can View names of Movies recommended by the System, As shown in Figure 2.8
14
2.3.1 System level Use Case Diagram:
Represents the overall working of Movie Recommendation System, two actors Admin, User. All
use cases and their interaction as shown in Figure 2.8
15
2.4 Use Case Description
Created By: Saad Ibne Ali Last Updated By: Fahad Zeb
Actors: Admin
Preconditions: Null
16
Use Case 2: Dataset update
Table 2.2: Use Case Description of updating dataset
Created By: Saad Ibne Ali Last Updated By: Fahad Zeb
Actors: Admin
17
Use Case 3: View Dataset
Table 2.3: Use Case Description of updating dataset
Created By: Saad Ibne Ali Last Updated By: Fahad Zeb
Actors: Admin
Exceptions: N/A
18
Use Case 4: Keywords update
Table 2.4: Use Case Description of updating dataset
Created By: Saad Ibne Ali Last Updated By: Fahad Zeb
Actors: Admin
1: Admin will type new keyword. System will add the keyword.
Exceptions: N/A
19
Use Case 5: User can register into the system.
Table 2.5 Use Case Description of User registration
Created By: Saad Ibne Ali Last Updated By: Murtaza Solangi
Actors: User
Preconditions: NULL
1: User will get registered into the System will register user
system
20
Use Case 6: User can login to the system.
Table 2.6 Use Case Description of User login
Created By: Saad Ibne Ali Last Updated By: Murtaza Solangi
Actors: User
1: User will get logged into the System will allow access user to
system be logged in
21
Use Case7: User can search Movies.
Table 2.7 Use Case Description of Search Movie
Created By: Saad Ibne Ali Last Updated By: Murtaza Solangi
Actors: User
22
Use Case 8: User can get movie recommendations.
Table 2.8 Use Case Description of view recommended movies
Created By: Saad Ibne Ali Last Updated By: Murtaza Solangi
Actors: User
Trigger: NULL
Alternative Flows:
23
Use Case 9: User can get movie reviews.
Table 2.9 Use Case Description of See movie reviews
Created By: Saad Ibne Ali Last Updated By: Murtaza Solangi
Actors: User
Alternative Flows: Reviews don’t exist due to its very initial release.
24
Chapter 3
System Design
The purpose of this chapter is to provide information that is complementary to the code.
Without an adequate design, that delivers required function as well as quality attributes,
the project will fail. However, communicating architecture to its stakeholders is as
important a job as creating it in the first place.
25
3.2 High level Design
3.2.1 Domain Model:
Part of your initial architectural modeling efforts, particularly for a business application, will
likely include the development of high-level domain model as you see in Fig. 2.14. This model
should be very slim, capturing the main business entities and the relationships between them.
Some people consider this type of model to be an initial requirement model instead of an initial
architecture model
Figure 2.11
26
3.2.2 System Sequence Diagram:
System sequence diagram (SSD) is a sequence diagram that shows, for a particular scenario of a
use case, the events that external actors generate their order, and possible inter-system events.
Admin Login:
Admin can login to the system using their credentials (Email and Password)
27
Admin dataset update:
28
Admin view Dataset:
29
Admin view Dataset:
30
User Registration:
31
User Login:
32
Search Movie:
33
Movie Recommendations:
User can get recommendations based on their profile, their favorite genre, and on feedback
within the system.
34
Viewing Reviews:
35
3.2.2.1 System Level System Sequence diagram:
Figure 2.16
36
3.3 Low level Design
3.3.1 Class Diagram
The class diagram describes the attributes and operations of a class and the constraints
imposed on the system. The class diagrams are widely used in the modeling of object-oriented
systems because they are the only UML diagrams, which can be mapped directly with object-
oriented languages.
Figure 3.2
37
3.3.2 Sequence Diagram
Figure 3.3
38
Chapter 4
Software Development
4.1 Coding Standards
We are developing a Website using HTML and CSS as front end. We are coding our App in very
clean manners means we are giving comments in the start of every functions and classes to
enhance the readability to learn, understand the code easily to resolve problem if any bugs occur
in the future.
It will Also help us in the future if we want to add another feature to our website.
Microsoft Visual Studio provides a unified environment where one can build websites for all
types of devices like phones, tablets, PC etc.
39
4.3.1 HomePage:
Figure 4.1
HomePage Code:
40
4.3.2 Registration
Figure 4.2
Registration Code:
41
4.3.3 Login
Figure 4.3
Login Code:
42
Chapter 5
Software Testing
Software Testing is the most crucial part of Software Development Process. It is the
investigation or evaluation of a software component, improving them, and finding bugs and
defects. Testing is usually done by executing a system in such a way that it identifies any gaps,
errors, or missing requirements in contrary to the actual requirements. This chapter provides a
description about the adopted testing procedure. This includes the adopted testing methodology,
test suite and the test results of the developed software.
We have used black box testing in our testing phase. Black box contains certain benefits
that include following:
• Black box testing examines the functionality of application without peering into its
internal structure.
• This method can be applied to every level of the software testing which include
unit, integration, system and acceptance.
43
Table 5.1: test case 1
44
Table 5.3: test case 3
45
Table 5.5: test case 5
46
Actual Result: passed
47
References:
[1]: F.O. Isinkaye., Y.O. Folajimi., B.A. Ojokoh.: Recommendation systems: Principles,
methods and evaluation
[2]: Anand Shanker Tewari., Jyoti Prakash Singh., Asim Gopal Barman.: Generating Top-N
Items Recommendation Set Using Collaborative, Content Based Filtering and Rating
Variance
[3]: Bogdan Walek, Vladimir Fojtik.: A hybrid recommender system for recommending
relevant movies using an expert system
[4]: Rajatish Mukherjee., Partha Sarathi Dutta., Sandip Sen.: MOVIES2GO - A new approach
to online movie recommendation
48