You are on page 1of 40

SOFTWARE REQUIREMENT

SPECIFICATION
ON
MOVIE RECOMMENDATION SYSTEM

MOVIEIT
GROUP ID: AC4

SUBMITTED BY:
BHUMIKA SHARMA (1712396)
DEEPSHIKHA (1712401)

1
SRISHTI SHARMA (1712585)

2
TABLE OF CONTENTS

1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, Acronyms and
Abbreviation
1.4 Overview

2. General Description
2.1 Product Perspectives
2.1.1 Product Functions
2.1.2 Hardware Interface
2.1.3 Software Interface
2.1.4 Communication Interface

2.2 User Characteristics


2.3 General Constraints
2.4 Technology Used

3. Specific Requirements
4. Reference

3
1. INTRODUCTION
Recommendation systems are software tools or knowledge discovery
techniques that provide suggestions for items to a user. Items can be
music, books, movies, people or social groups. The aim of these
systems is to recommend items that a user is likely to be interested in
and learn more about user preferences and constraints. This project is
based on improving the existing recommendation systems and
generating more accurate recommendations for movies with large
number of users and movies.
1.1 PURPOSE
The purpose of this document is to provide a detailed
description of Software Requirements Specification (SRS) for
“MovieIT” a web-based movie recommending application
which focuses on recommending movies to the users
according to the user’s preferences.

The document includes the project perspective, data model


and constraints of the overall system. The intended audiences
of the document are project developers, testers and end users.

1.2 SCOPE
“MovieIT” is a web-based movie recommending application
which intends to provide its end users a platform to get
accurate suggestions according to their preferences. It will
use the user’s preferences and choices to suggest movies
using the concept of content-based filtering. “MovieIT” will
help the users to:
 Create a profile with a list of preferences
 Search movies and get suggestions according to their
preferences
 Add movies to Favourites
 View the list of movies
The Recommender System will be a Web Service and will
have two types of users: End users and Admin.
4
1.3 DEFINITIONS,ACRONYMS AND ABBREVIATIONS

 API - Application Programming Interface


 OS - Operating System
 UML - Unified Modelling Language
 Web Service - A software function provided at a
network address over the web or the cloud
 UI - User Interface
 ML - Machine Learning
 IIS- Internet Information Service
 IP- Internet Protocol
 TCP- Transmission Control Protocol

1.4 OVERVIEW

“MovieIT” is a service with features that provides an online


platform to get accurate recommendations for movies based
on user’s preferences. It aims to allow users to build and
manage profiles that would contain there personal details,
their preferences and the suggestions for the user. It would
also allow users to not only get recommendations but also to
view and search new items from the huge number of movies.

Permission will be an important feature in this website as


only the user can view its profile and make changes to it. Any
user’s data will be highly secure as every profile will be
protected by an user ID and password.

2.GENERAL DESCRIPTION
2.1 PRODUCT PERSPECTIVE
The web-based movie recommendation system is aimed
at providing a healthy platform for users to get movie suggestion

5
according to their preferences. The application will be user friendly and
reliable. The following figure describes the system:

IIS SQL

SERV

ER

2.1.1 PRODUCT FUNCTIONS


1. Login/Sign Up through the first page of the application.
2. Preferences of the user will be asked through multiple
options.
3. View the list of suggested movies and may search for any
desired movie.
4. Add or remove movie from Favourites for watching it later.
5. Add or Delete comments on movies.
6. Update user profile.
7. Add or Delete movies from the dataset with admin’s
confirmation only.
8. Logout of the system.

2.1.2 HARDWARE INTERFACE


Server Side:
 RAM: 4GB
 HDD: 20GB or more (Free spacing excluding
data size)

6
 Processor: Intel(R) Core (TM) i-5 6200U CPU
Duo CPU
Client Side:
 RAM: 4GB
 HDD: 10GB or more (Free spacing excluding
data size)
 Processor: Intel(R) Core (TM)2 Duo CPU

2.1.3 SOFTWARE INTERFACE


Server Side:
 OS: Windows 10
 Web Server: Internet Explorer 8.2, Firefox
Browser 70.0b9, Google Chrome Version
78.0.3904.97(32-bit)
Client Side:
 OS: Any OS
 Web Server: Internet Explorer 8.2, Firefox
Browser 70.0b9, Google Chrome Version
78.0.3904.97(32-bit) and browsers compatible
with Intel(R) Core (TM)2 Duo CPU

2.1.4 COMMUNICATION INTERFACE


 Client on Internet will be using HTTP/HTTPS
protocol
 Client on Intranet will be using TCP/IP protocol

2.2 USER CHARACTERISTICS


The user of the system should be computer literate. Uses of
the software can be categorised as following:

7
 END USERS – These types of users are the people
who have signed up with the system.
 ADMIN – These types of users are the administrator
of the whole system. They can change any data at
any time without creating any conflict or confusion
for rest of the users.
2.3 GENERAL CONSTRAINTS
a. Higher order language functions: Python will be used for
developing the web-pages with the help of Anaconda3 and
for the database information SQL Server will be used.

b. Criticality of the application: The server application will


be available 24*7.
c. Safety and Security considerations: The password and a
valid username are the security issues.
d. Any substantial enhancement in the website will require
approval of the administration.
2.4 TECHNOLOGY USED
 Front End: Python 3
 Back End: MySQL 5
 Design Tool: Jupyter Notebook 3
 Web Server: Internet Explorer 8.2, Firefox Browser
70.0b9, Google Chrome Version 78.0.3904.97(32-
bit) and browsers compatible with Intel(R) Core
(TM)2 Duo CPU

3. Specific Requirements
3.1 Functional Requirements
We describe the functional requirements by giving various
use cases:

8
The use cases are as follows:
SIGN UP
Use Case No 1
Use Case Name Sign Up
Actors: End Users, admin
Descriptions This module helps the administrator and end us
to create new accounts.

9
Input Name, Login ID, Password, Gender, Date of Bi
Nationality

Normal Course Events

1. Users enter the required user ID.


2. Users enter their passwords.
3. User enters other required Information.
4. Users click Sign Up button.
5. System connects to database.
6. A message appears which shows the
registration procedure is complete.
Alternative Courses 1. Same Login-id exists in database
2. Error message appears.
3. Continue with step 1 in the normal course
events.
1. An error may occur during the database
operation.

2. System shows error messages.


Output New user account will be created.

LOGIN
Use Case No 2
Use Case Name Login
Actors: End users, admin.
Descriptions This module helps the end users and admin to
login.
Pre-conditions The user must be a member of the system.

10
Input Login id and password.
Normal Course Events 1. Users enter their login-id.
2. Users enter their password.
3. Users click login button.
4. System connects to database.
5. Homepage displayed.
Alternative Courses 1. User enters incorrect user name
and/or password.

2. Error message appears.


3. Continue with step 1 in the normal cours
events.

4. An error may occur during the database


operation.

5. System shows error messages.


Output User homepage will be displayed.

UPDATE PROFILE
Use Case No 3
Use Case Name Profile Update
Actors: End Users, admin.
Descriptions This module helps the end users and admin
update the information about themselves.
Pre-conditions The user must be logged on to the system.
Input Information to be modified.

11
Normal Course Events 1. The user must be logged on to the
system
which is defined in use case 2.

2. The system retrieves user information


from
DB and shows the information on new
page.

3. The user clicks on Update Profile Lin


4. The user can update his/her profile in
desired
information field.

5. The user clicks on Save Button.


6. The user profile is updated.

Alternative Courses 1. The system cannot access the DB.


2. The system redirects to the homepage
3. The system puts a message on the top
the window about the problem.
4. Continue with step 2 in the normal
course events.
Output User Profile Information will be updated.

VIEW LIST OF MOVIES


Use Case No 4
Use Case Name View Movies
Actors: End Users, Admin
Descriptions This module helps the end users and admin to v
the list of

12
movies available.
Input Preferences for the movies.
Normal Course Events
1. User enters the required Information.
2. Users click View button.
3. System connects to database.
4. A message appears which shows the list o
Recommended movies.
Alternative Courses
1. Error message appears.
2. Continue with step 1 in the normal course
events.
3. An error may occur during the database
operation.
4. System shows error messages.
Output End users will be able to view the list
recommended movies.

SEARCH MOVIES
Use Case No 5
Use Case Name Search Movies
Actors: End users, admin.
Descriptions This module helps the users to search for any
movie.
Pre-conditions The user must be a member of the system.
Input Name of the movie.
Normal Course Events 1. Users enter movie’s name.
2. Users click Search button.

13
3.
System connects to database.
4.
Required page displayed.
Alternative Courses 1.
User enters incorrect name.
2.
Error message appears.
3.
Continue with step 1 in the normal cours
events.
4. An error may occur during the database
operation.
5. System shows error messages.
Output User homepage will be displayed.

ADD MOVIE TO FAVOURITES


Use Case No 6
Use Case Name Add movie to Favourites
Actors: End users
Descriptions This module helps the end users to add movies
their favourites list to watch later.
Pre-conditions The user must be a member of the system.
Input Name of movie
Normal Course Events
1. Users click Add to Favourites button.
2. System connects to database.
3. Required page displayed.
4. Message of confirmation generates.
Alternative Courses
1. An error may occur during the database
operation.

14
2. System shows error messages.

Output User homepage will be displayed.

DELETE MOVIE FROM FAVOURITES


Use Case No 7
Use Case Name Delete movie from Favourites
Actors: End users
Descriptions This module helps the end users to delete mov
from their favourites list to watch later.
Pre-conditions The user must be a member of the system.
Input Name of movie
Normal Course Events
5. Users click Delete from Favourites butto
6. Users click Sure button.
7. System connects to database.
8. Required page displayed.
Alternative Courses
3. An error may occur during the database
operation.
4. System shows error messages.
Output User homepage will be displayed.

ADD MOVIE AND ITS DESCRIPTION


Use Case No 8
Use Case Name Add movie in database
Actors: Admin

15
Descriptions This module helps the admin to add movies to
database.
Pre-conditions The user must be a member of the system.
Input Login ID, password, Name of movie and othe
required information.
Normal Course Events 1. Users click Add to Database button.
2. System connects to database.
3. Required page displayed.
4. Message of confirmation generates.
Alternative Courses
5. An error may occur during the database
operation.
6. System shows error messages.
Output User homepage will be displayed.

EDIT MOVIE DESCRIPTION


Use Case No 9
Use Case Name Edit movie in database
Actors: Admin
Descriptions This module helps the admin to edit movie’s
details in the database.
Pre-conditions The user must be a member of the system.
Input Login ID, Password, Name of movie and other
required information.
Normal Course Events 5. Users click Edit Database button.
6. System connects to database.
7. Required page displayed.
8. Message of confirmation generates.

16
Alternative Courses
7. An error may occur during the database
operation.
8. System shows error messages.
Output User homepage will be displayed.

VIEW PROFILE
Use Case No 10
Use Case Name View Profile
Actors: End Users, Admin
Descriptions This module helps the end users and admin to v
their profiles.
Input Login ID and Password
Normal Course Events
1. User enters the required Information.
2. Users click View button.
3. System connects to database.
4. User Profile page displayed.
Alternative Courses
1. Error message appears.
2. Continue with step 1 in the normal
cours events.
1. An error may occur during the
database operation.
2. System shows error messages.
Output End users will be able to view the list
recommended movies.

LOGOUT

17
Use Case No. 11
Use Case Name Logout
Actors: End users, admin.
Descriptions This module helps the administrator and End
u to sign out.
Pre-conditions The user must be Signed in to the website.
Normal Course Events 1. The website users click to Logout button.
2. DB connection terminated.
3. The website users Sign out successfully.
4. The website will be directed to homepage

Alternative Courses In case, user accidentally closes the tab then th


user will be automatically Signed out from
her/his
account but it is recommended to Sign out fro
the account using “Sign Out” option for
securi purposes.

Output Website homepage will be displayed.

3.2 Non-Functional Requirements (Software System


Attribute)

3.2.1 AVAILABILITY
The availability of this website is up to the internet
connection of the client. Since this is client- server related
website shall be attainable all the time. User should have
an account to enter the account to enter the system; if user
does

18
not have an account then user can only see the information
which will be displayed on the home page of the website.

3.2.2 SECURITY
Database has to be reached securely and its data should not
be broken. It also should not change except inter-agent
updates. Moreover, since our dataset contain some
personal information of user such as user id, movie he/she
watched, security design are important in the web service.

3.2.3 RELIABILITY
A backup file is maintained so that in case of system crash,
the data will not be affected.

3.2.4 PORTABILITY
The role of web services in enterprise application
integration scenarios is to make it easier to tie application
running on heterogenous platforms together: to help them
overcome the communication gaps that arise from
decisions to use one development environment over
another; and to help abstract such choices so that business
developer no longer have to keep track of what operating
system or what development environment or what
technology decisions have been made. Since the project
we work on is a web service, it is portable.

3.2.5 MAINTAINABILITY
This website will follow the modular structure so it will be
easy to maintain.
4. REFERENCES
[1] Pressman Roger S., Software Engineering “A Practitioner’s
Approach”
Fifth Edition, McGraw-Hill Publication, 2000.

19
[2] Navathe Shamkant B., Fundamentals of Database Systems,
Fifth Edition, Pearson Publication.
[3] Bayross Ivan, SQL, PL/SQL,
Third Edition, BPB Publication

20
SOFTWARE DESIGN SPECIFICATION
ON
MOVIE RECOMMENDATION SYSTEM

MOVIEIT
GROUP ID: AC4

SUBMITTED BY:
BHUMIKA SHARMA (1712396)
DEEPSHIKHA (1712401)
SRISHTI SHARMA (1712585)

21
1. Introduction

1.1. Purpose

 The SDS shows how the software system will be


structured to satisfy the requirements identified in the
SRS.

 It is a translation of requirements into a description of


software structure, software components, interfaces
and data necessary for the implementation phase.

 Thus, SDS is the blue print for the implementation


activity.

1.2. Scope
“MovieIT” is a movie recommending website which assists the users
belonging to different countries to get better movie recommendations.
Users can always get recommendations according to their preferences.
The scope of this software is as follows:
 Create a profile with a list of preferences
 Search movies and get suggestions according to their
preferences
 Add movies to Favourites
 View the list of movies
The Recommender System will be a Web Service and will have two
types of users: End users and Admin.

1.3. Terms, Definition, Acronyms and Abbreviations


 Admin- Administrator

 IIS- Internet Information Services


22
 Asp.Net- Active Server Page Networking

 SQL- Structured Query Language

1.4. Overview of Document


The rest of SDS consist of following parts:
 Sequence Diagram
 Activity Diagram
 Data Design includes database description
 User interface design

2. System Architectural Design

2.1. High Level Overview

2.2.

Detailed description of components

23
2.2.1. Sequence Diagram

1. SIGN UP

24
2. Login

25
3. Movie Recommendation

26
4. Add to favourites

27
5. Add Movies

28
2.2.2. Activity Diagram

1.For Signup user/admin

29
2. For Login user/admin

30
3. For Update Profile

31
4. Add Movie to favourite
` `

32
5. Update Movie List

33
3. Data Design

3.1. Class diagram

3.2. Database Description


In this we include, maintain and format databases and its tables.
The table corresponding each of the entity, holding the
information about them are designed.
The table have the fields, descriptions and their data type as
well integrity constraints.

34
USER’s Database:

ss
NAME TYPE SIZE DESCRIPTION CONSTRAINT

Login_id Varchar 50 Id provided to user Primary Key


for login purpose.

Password Varchar 20 For validation of Not Null


user.

Name Char 50 Name of the user. Not Null

Date of Birth Date Date of Birth of the Not Null


user.

Gender Char 10 Gender of the user Not null

ADMIN’ Database:

NAME TYPE SIZE DESCRIPTION CONSTRAINT

Login_id Varchar 50 Id provided to admin Primary Key


for login purpose.

Password Varchar 20 For validation of Not Null


admin.

Name Char 50 Name of the admin. Not Null

Date of Birth Date Not Null

35
Date of Birth of the
admin.

Gender Char 10 Gender of the Not null


admin.

MOVIE’s Database:

NAME TYPE SIZE DESCRIPTION CONSTRAINT

Movie_id Varchar 50 Id provided to Primary Key


movies.

Genre Varchar 30 Genre of the movie. Not Null

Name Char 50 Name of the admin. Not Null

30
Language Varchar Language of the Not Null
movie.

Director of the Varchar 50 Director of the Not null


Movie movie.
Movie Review Varchar 200 Reviews for the Not Null
movie

4. User Interface Design

4.1. Detailed Description of Components


 SIGN UP MODULE
DESCRIPTION OF COMPONENTS:
This module allows the new user to become the member of the site.
INTERFACE DESCRIPTION

Inputs: - All user details


Outputs: -The successful User register submission page.

36
PROCESSING DETAILS

 Display the form containing fields of user details to be filled


by user in order to get registered.
 Check whether the information submitted is proper or not
and all fields are properly filled or not user id is unique or
not.
 LOGIN MODULE
DESCRIPTION OF COMPONENT

In order to make the system safe from unauthorized access it


is protected with user name and password, so that only valid
and legitimate users can access the system.
INTERFACE DESCRIPTION
Inputs: - User ID and Password
Outputs: - The Home page will open up.
PROCESSING DETAILS
 Display the form with user type, user name and password field.
 Mark all the fields as compulsory.
 Check whether the user name is valid or not, if yes check whether
password matches or not.
 Open the main form after clicking Login button after validation checking.

 RECOMMENDATION MODULE
DESCRIPTION OF COMPONENT

In this module, different users will fill in their preferences and the module
will recommend a list of movies based on their preferences.
INTERFACE DESCRIPTION

Inputs: - Genres and languages of movie interested in.


Outputs: - a list of recommended movies.
PROCESSING DETAILS

 The user must have an account in the website.


 Some of the fields are marked mandatory.
 Opens the form after clicking on Register Button

37
4.2. Screen Images

38
5. Types of Tests
Software testing can be stated as a process of validating and
verifying that a software program/ product:
1. Meet the requirements that guided its design and
development
2. Work as expected
3. Can be implemented with the same characteristics.
Testing is a process of making sure that the program performs the
intended task.
 Unit Testing: Each component or part of the system is tested
individually.

39
 Module Testing: A collection dependent components such as
an object class, procedures and functions are tested in this
testing.
 Integration Testing: In this, many units tested modules
are combined into sub system which are then tested.
 System Testing: Entire system software is tested. It is the
testing of the system against its initial objectives.
6. References
[1] Pressman Roger S., Software Engineering “A Practitioner’s
Approach” Fifth Edition, McGraw-Hill Publication, 2000.
[2] Navathe Shamkant B., Fundamentals of Database Systems,
Fifth Edition, Pearson Publication.
[3] Bayross Ivan, SQL, PL/SQL,
Third Edition, BPB Publication

[4] Movie Recommendation System Vishwa Gosalia1, Bhavesh Chatnani2, Aman Gupta3,
Pranal Soni4 1234 Dept. of Computer Engineering, Thakur Polytechnic, Maharashtra,
India

40

You might also like