access portal sdd document ver 1.1
TRANSCRIPT
-
7/31/2019 Access Portal SDD Document Ver 1.1
1/38
Video Streaming Software
Design DocumentVersion 1.0
By
AJ-144, Sector-II
Salt Lake
Kolkata
700 091India
June 26, 2012
-
7/31/2019 Access Portal SDD Document Ver 1.1
2/38
Video Streaming Software Page 2 of 38Design Specifications
DOCUMENT CONTROL
Document Revision History
Version Date Author Description
1.0 June 26,2012
ParthaChakraborty
First draft of Video Streaming SoftwareModule Design Document
Related Document List
The following documents are referenced within this document or should be read in conjunctionwith this document.
Document Title and Version Issued By Filename and Location Issue Date
Document Acceptance and Sign Off
This document contains the Design specifications for the Video Streaming Software Module.
Date ..Debabrata Mandal
Glendon Consulting Acceptance and Sign Off
Date ..Basu Mukherjee
-
7/31/2019 Access Portal SDD Document Ver 1.1
3/38
Video Streaming Software Page 3 of 38Design Specifications
Contents
1 INTRODUCTION ................................................................................................................ 4
1.1 BACKGROUND ............................................................................................................... 41.2 PURPOSE OF THE DOCUMENT ........................................................................................ 41.3 GENERAL REQUIREMENTS .............................................................................................. 41.4 OBJECTIVES OF THE SYSTEM ......................................................................................... 4
2 DESIGN SPECIFICATIONS .............................................................................................. 5
2.1 PROCESS FLOW ............................................................................................................ 52.2 E-RDIAGRAM ............................................................................................................... 62.3 SYSTEMSARCHITECTURE .............................................................................................. 6
2.3.1 Presentation Layer ................................................................ ........................................... 72.3.2 Business layer .............................................................. ..................................................... 82.3.3 Data Access layer .................................................................. ........................................... 8
2.4 CLASS DIAGRAM.......................................................................................................... 112.4.1 Business Layer ............................................................. ................................................... 112.4.2 Data Access Layer ................................................................. ......................................... 27
2.5 DATABASE .................................................................................................................. 312.5.1 AccessPortal ................................................................ ................................................... 31
2.6 SAMPLE SCREENS FOR THE SECTION............................................................................ 35
-
7/31/2019 Access Portal SDD Document Ver 1.1
4/38
Video Streaming Software Page 4 of 38Design Specifications
1 INTRODUCTION
1.1 Background
The project involves development and deployment of an online portal that streamsvideoto subscribers. Video files will be stored in a third party hosting company ANDAPs SERVER. The portal will have user authentication based on subscribinginstitutions (MEMBER) and their profiles and purchase history. The AP(AccessPortal) administrator (ADMIN) will have the ability to manage the content, i.e.cataloguing the video files hosted by the third party hosting firm.
1.2 Purpose of the Document
This document describes in details the design of the Video Streaming Software module. Theprocess flow and detailed design specifications are illustrated in this document.
The activities as per the current scope are as follows:
Creation of a role based User Management System which will help manage users ofdifferent levels
Upload, study and watch the videos of several categories, manage video catalogueand class consisting of students of several institution
1.3 General requirements
Actuate requires that the new system possesses the following attributes:
System must be able to handle large volume of visitors
System must be extendable so that new modules can be added in future
1.4 Objectives of the System
The objectives of the system is to
1. Manage activities of users of the system with different access levels
2. Enable students from different institution as well as individual students to play andwatch videos
-
7/31/2019 Access Portal SDD Document Ver 1.1
5/38
Video Streaming Software Page 5 of 38Design Specifications
2 DESIGN SPECIFICATIONS
2.1 Process Flow
-
7/31/2019 Access Portal SDD Document Ver 1.1
6/38
Video Streaming Software Page 6 of 38Design Specifications
2.2 E-R Diagram
The E-R diagram of the database design of Video Streaming Software system as envisagedby Nishan is shown below
2.3 Systems Architecture
The following diagrams illustrate the architecture of the Video Streaming Software System asenvisaged by NTL.
System Architecture for AP Admin
-
7/31/2019 Access Portal SDD Document Ver 1.1
7/38
Video Streaming Software Page 7 of 38Design Specifications
2.3.1 Presentation Layer
APADMIN (Access portal Admin) is having the following modules
a. Manage videos
Presentation Layer Business Layer Data Access Layer Database
Admin Login Check ValidLogin
Custom
Error
Video
Manager
Institute
Admin
Manager
Manage
Videos
Manage
Institute
Admin
Manage
Institutional
Student
Manage
Individual
User
Manage
Instructor
Manage
Category
Manage
Catalogue
Institutional
Student
Manager
Individual
User
Manager
Instructor
Manager
Category
Manager
Catalogue
Manager
Manager
Check UserValidity
Database
accessportal
-
7/31/2019 Access Portal SDD Document Ver 1.1
8/38
-
7/31/2019 Access Portal SDD Document Ver 1.1
9/38
Video Streaming Software Page 9 of 38Design Specifications
System Architecture for Institute Admin
System Architecture for Instructor
Presentation Layer Business Layer Data Access Layer Database
Admin LoginCheck Valid
Login
Custom
Error
Student
Manager
Video
Manager
Manage
Students
Manage
Videos
Manage
Class
Upgrade
Student toInstructor
Class
Manager
Check User
Validity
Manager
Database
accessportal
-
7/31/2019 Access Portal SDD Document Ver 1.1
10/38
Video Streaming Software Page 10 of 38Design Specifications
System Architecture for Institutional Student
Presentation Layer Business Layer Data Access Layer Database
Student /Instructor
Login
Check ValidLogin
Custom
Error
Class
Manager
Manage
Class
Allocate
Videos to
Classes
Check UserValidity
Manager
Database
accessportal
Presentation Layer Business Layer Data Access Layer Database
RegistrationCheck Valid
Login
CustomError
Email
Manager
Account
Manager
Student /
Instructor
Login
Manage
Account
Check User
Validity
Manager
Database
accessportal
-
7/31/2019 Access Portal SDD Document Ver 1.1
11/38
Video Streaming Software Page 11 of 38Design Specifications
2.4 Class Diagram
2.4.1 Business Layer
2.4.1.1 IManageCategoryBO interface
This interface is used to establish the signature of the activities e.g. add, edit, deleteand get a list of all categories.
Variables None
-
7/31/2019 Access Portal SDD Document Ver 1.1
12/38
Video Streaming Software Page 12 of 38Design Specifications
Methods
AddCategoryis used to establish a method signature for activity to add or create
new categories in the database.
Boolean AddCategory(string name, string description)
1. Takes name and description as two string type input parameters
2. Returns true if category is added successfully to database, otherwisereturns false
Parameters: name, description
EditCategory is used to establish a method signature for activity to edit any categoryalready stored in the database.
Boolean EditCategory(Int32 id, string name, string
description)
1. Takes id (Int32), name (string) and description (string) of the category tobe edited as input parameters of corresponding types
2. Returns true if the operation is successful, otherwise false is returned.
Parameters: id, name, description
DeleteCategory is used to establish a method signature for activity to delete anycategory already stored in the database.
Boolean DeleteCategory(string id)
1. Takes id (Int32) of the category to be edited as input parameter
2. If it is true this method also returns true, otherwise it returns false.
Parameters: id
CategoryList is used to establish a method signature for activity to retrive the list ofall categories already stored in the database
Array CategoryList()
1. Takes no input parameters at all
2. Returns the result as an array.
Parameters: none
2.4.1.2 IManageClassBOinterface
This interface is used to establish the signature of the activities e.g. add, edit, deleteand get a list of all classes.
Variables None
Methods
AddClass is used to establish a method signature for activity to add or create a newclass in the database
Boolean AddClass(string name, string description, Int32
maxStudents, DateTime startDate, Int32 duration)
1. Takes name, description, max no of Students that can be added to the
class, start date and duration of class as input parameter
-
7/31/2019 Access Portal SDD Document Ver 1.1
13/38
Video Streaming Software Page 13 of 38Design Specifications
2. Returns true if the add operation is successful otherwise returns false
Parameters: name, description, maxStudents, startDate, duration
EditClass is used to establish a method signature for activity to edit a class already
created in the database.
bool EditClass(Int32 id, string name, string description,
Int32 maxStudents, DateTime startDate, Int32 duration, bool
status)
1. Takes id name, description, max no of Students that can be added to theclass, start date, duration and status of class as input parameter.
2. Returns true if the add operation is successful otherwise returns false.
Parameters: id, name, description, maxStudents, startDate, duration, status.
DeleteClass is used to establish a method signature for activity to delete a classalready created in the database.
bool DeleteClass(Int32 id)
1. Takes id of class to be deleted as input parameter.
2. Returns true if the add operation is successful otherwise returns false.
Parameters: id
ClassList is used to establish a method signature for activity to retrive a list of all theclasses already created in the database.
Array ClassList()
1. Takes no input parameter.
2. Returns the result as an array.
Parameters: none
2.4.1.3 IManageCatalogueBO interface
This interface is used to establish the signature of the activities e.g. add, edit, deleteand get a list of all catalogue.
Variables None
Methods
AddCatalogue is used to establish a method signature for activity to add or create anew catalogue in the database
bool AddCatalogue(string name, string description)
1. Takes name and description of catalogue as input parameter
2. Returns true if the add operation is successful otherwise returns false
Parameters: name, description
EditCatalogue is used to establish a method signature for activity to edit a cataloguealready created in the database.
bool EditCatalogue(int id, string name, string description)
1. Takes id name and description of catalogue as input parameter.
2. Returns true if the add operation is successful otherwise returns false.
Parameters: id, name, description
-
7/31/2019 Access Portal SDD Document Ver 1.1
14/38
Video Streaming Software Page 14 of 38Design Specifications
DeleteCatalogue is used to establish a method signature for activity to delete acatalogue already created in the database.
bool DeleteCatalogue(int id)
1. Takes id of catalogue to be deleted as input parameter.
2. Returns true if the add operation is successful otherwise returns false.
Parameters: id
CatalogueList is used to establish a method signature for activity to retrive a list ofall the catalogue already created in the database.
Array CatalogueList()
1. Takes no input parameter.
2. Returns the result as an array.
Parameters: none
2.4.1.4 IManageVideoBO interface
This interface is used to establish the signature of the activities e.g. add, edit, deleteand get a list of all catalogue.
Variables None
Methods
AddVideo is used to establish a method signature for activity to add a new video inthe database
bool AddVideo(int categoryId, string name, string
description, DateTime uploadDate)
1. Takes name and description of video as input parameter
2. Returns true if the add operation is successful otherwise returns false
Parameters: name, description
EditVideo is used to establish a method signature for activity to edit a video alreadycreated in the database.
bool EditVideo(int id, int categoryId, string name, string
description, DateTime uploadDate)
1. Takes id, categoryId, name, description and uploadDate of video as inputparameter.
2. Returns true if the add operation is successful otherwise returns false.Parameters: id, categoryId, name, description, uploadDate
DeleteVideo is used to establish a method signature for activity to delete a videoalready created in the database.
bool DeleteVideo(int id)
1. Takes id of the video to be deleted as input parameter.
2. Returns true if the add operation is successful otherwise returns false.
Parameters: id
VideoList is used to establish a method signature for activity to retrive a list of all the
videos already added to the database.Array VideoList()
-
7/31/2019 Access Portal SDD Document Ver 1.1
15/38
Video Streaming Software Page 15 of 38Design Specifications
1. Takes no input parameter.
2. Returns the result as an array.
Parameters: none
SearchVideo is used to establish a method signature for activity to search for aspecific video from the database.
bool SearchVideo(int id)
1. Takes id of the video to be searched for as input parameter.
2. Returns true if the add operation is successful otherwise returns false.
Parameters: id
2.4.1.5 CommonClass
This class implements methods declared in all the four interfaces IManageCategoryBO,IManageClassBO, IManageCatalogueBO and IManageVideoBO as well as some addtional
methods which in turn implements the common functionalities.
Variables
categoryId:int
catalogueId:int
videoId:int
classId:int
userId:int
catalogueName:string
categoryName:string
videoName:string
className: string
userName: string
categoryDescription: string
catalogueDescription: string
videoDescription: string
classDescription: string
userPassword: string
userStreetAddress: string
userCity: string
userCountry: string
userZip: string
userPhoneNo: string
instituteId:int
instituteName:string
instituteAddress:string
instituteDomainName:string
instituteEmailAddress:string
-
7/31/2019 Access Portal SDD Document Ver 1.1
16/38
Video Streaming Software Page 16 of 38Design Specifications
institutePhoneNo:int
videoUploadDate:DateTime
emailBodyText:string
Methods
SentMailToUser is used to send email to user when necessory.
public bool SentMailToUser(Int32 userId, string emailBody)
{
}
1. Takes userid and emailBody as input parameters
2. Returns true if the operation is successful otherwise returns false.
Parameters: userId, emailBody
Registration is used to insert all user information in the user table.
public bool Registration(Int32 userId, string name, string
password, string streetAddress, string city, string country,
string zip, string phoneNo, Int32 classId)
{
}
1. Calls AddUser method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass, whereas calls
AddStudent method of IAdmin class of Data Access Layer from insideInstituteAdminBO class which also inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: userId, Name, password, streetAddress, city, country, zip, phoneNo, classId
isValidUser is used to check the validity of the user.
public bool isValidUser(string userid, string password)
{
}
1. Calls CheckValidAPAdmin method of APAdmin class of Data AccessLayer from inside APAdminBO class which inherits CommonClass,whereas calls CheckValidIAdmin method of IAdmin class of Data AccessLayer from inside InstituteAdminBO class which also inheritsCommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: userId, password
AddCategory is used to add or create a new category in the database.
public bool AddCategory(string name, string description)
{
}
1. Calls AddCategory method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: name, description
EditCategory is used to edit a category which already exists in the database.
-
7/31/2019 Access Portal SDD Document Ver 1.1
17/38
Video Streaming Software Page 17 of 38Design Specifications
public bool EditCategory(Int32 id, string name, string
description)
{
}1. Calls EditCategory method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id, name, description
DeleteCategory is used to delete a category which already exists in the database.
public bool DeleteCategory(Int32 id)
{
}
1. Calls DeleteCategory method of APAdmin class of Data Access Layer
from inside APAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id
CategoryList is used to retrive all categories which already exists in the database.
public Array CategoryList()
{
}
1. Calls GetCategory method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass.
2. Returns an array of all the categories in the database.Parameters: none
AddClass is used to add or create a class in the database.
public bool AddClass(string name, string description, Int32
maxStudents, DateTime startDate, Int32 duration)
{
}
1. Calls AddClass method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and AddClassmethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: name, description, maxStudents, startDate, duration
EditClass is used to edit a class which already exists in the database.
public bool EditClass(Int32 id, string name, string
description, Int32 maxStudents, DateTime startDate, Int32
duration, bool status)
{
}
1. Calls EditClass method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and EditClass
method of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
-
7/31/2019 Access Portal SDD Document Ver 1.1
18/38
Video Streaming Software Page 18 of 38Design Specifications
2. Returns true if the operation is successful otherwise returns false.
Parameters: id, name, description, maxStudents, startDate, duration, status
DeleteClass is used to delete a class which already exists in the database.
public bool DeleteClass(Int32 id)
{
}
1. Calls DeleteClass method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and DeleteClassmethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id
ClassList is used to retrive all classes which already exists in the database.
public Array ClassList()
{
}
1. Calls GetClass method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and GetClassmethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns an array of all the classes in the database.
Parameters: none
AddCatalogue is used to add or create a catalogue in the database.
public bool AddCatalogue(string name, string description)
{
}
1. Calls AddCatalogue method of APAdmin class of Data Access Layerfrom inside APAdminBO class which inherits CommonClass and
AddCatalogue method of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: name, description
EditCatalogue is used to edit a catalogue which already exists in the database.
public bool EditCatalogue(Int32 id, string name, string
description)
{
}
1. Calls EditCatalogue method of APAdmin class of Data Access Layerfrom inside APAdminBO class which inherits CommonClass andEditCatalogue method of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id, name, description
DeleteCatalogue is used to delete a catalogue which already exists in the database.
-
7/31/2019 Access Portal SDD Document Ver 1.1
19/38
Video Streaming Software Page 19 of 38Design Specifications
public bool DeleteCatalogue(Int32 id)
{
}
1. Calls DeleteCatalogue method of APAdmin class of Data Access Layerfrom inside APAdminBO class which inherits CommonClass andDeleteCatalogue method of IAdmin class of Data Access Layer frominside InstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id
CatalogueList is used to retrive all catalogue which already exists in the database.
public Array CatalogueList()
{
}
1. Calls GetCatalogue method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass andGetCatalogue method of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns an array of all the classes in the database.
Parameters: none
AddVideo is used to add or create a video in the database.
public bool AddVideo(Int32 categoryId, string name, string
description, DateTime uploadDate)
{
}1. Calls AddVideo method of APAdmin class of Data Access Layer from
inside APAdminBO class which inherits CommonClass and AddVideomethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: categoryId, name, description, uploadDate
EditVideo is used to edit a video which already exists in the database.
public bool EditVideo(Int32 id, Int32 categoryId, string
name, string description, DateTime uploadDate)
{
}
1. Calls EditVideo method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and EditVideomethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id, categoryId, name, description, uploadDate
DeleteVideo is used to delete a video which already exists in the database.
public bool DeleteVideo(Int32 id)
{
}
-
7/31/2019 Access Portal SDD Document Ver 1.1
20/38
Video Streaming Software Page 20 of 38Design Specifications
1. Calls DeleteVideo method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and DeleteVideomethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id
VideoList is used to retrive all videos which already exists in the database.
public Array VideoList()
{
}
1. Calls GetVideo method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and GetVideomethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns an array of all the videos in the database.
Parameters: none
SearchVideo is used to retrive a list of videos corresponding to the video title passedas input parameter from those which already exists in the database.
public Array SearchVideo(Int32 userId, string videoTitle)
{
}
1. Calls GetVideo method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and GetVideomethod of IAdmin class of Data Access Layer from inside
InstituteAdminBO class which inherits CommonClass.
2. Returns an array of all the videos in the database.
Parameters: userId, videoTitle
BlockUser is used to block or deactivate an user who already exists in the database.
public bool BlockUser(Int32 id, bool status)
{
}
1. Calls EditVideo method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and EditVideomethod of IAdmin class of Data Access Layer from inside
InstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id, status
UnblockUser is used to reactivate an user who was previously deactivated in thedatabase.
public bool UnBlockUser(Int32 id, bool status)
{
}
1. Calls EditVideo method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and EditVideomethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
-
7/31/2019 Access Portal SDD Document Ver 1.1
21/38
Video Streaming Software Page 21 of 38Design Specifications
2. Returns true if the operation is successful otherwise returns false.
Parameters: id, status
CheckDomainEmail is used to check the domain of email address of the specific
institute.public bool CheckDomainEmail(Int32 instituteId, string
emailAddress)
{
}
1. Takes userid and emailBody as input parameters
2. Returns true if the operation is successful otherwise returns false.
Parameters: instituteId, emailAddress
AddInstitute is used to add or create an institute in the database.
public bool AddInstitute(string name, string address, string
domainName, string emailAddress, Int32 phoneNo)
{
}
1. Calls AddInstitute method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and AddInstitutemethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: name, address, domainName, emailAddress, phoneNo
EditInstitute is used to edit an institute which already exists in the database.
public bool EditInstitute(Int32 instituteId, string
instituteName, string address, string domainName, string
emailAddress, Int32 phoneNo)
{
}
1. Calls EditInstitute method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and EditInstitutemethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns true if the operation is successful otherwise returns false.
Parameters: instituteIdid, InstituteName, address, domainName, emailAddress, phoneNo InstituteList is used to retrive all institutes which already exists in the database.
public Array InstituteList()
{
}
1. Calls GetInstitute method of APAdmin class of Data Access Layer frominside APAdminBO class which inherits CommonClass and GetInstitutemethod of IAdmin class of Data Access Layer from insideInstituteAdminBO class which inherits CommonClass.
2. Returns an array of all the institutes in the database.
Parameters: none
-
7/31/2019 Access Portal SDD Document Ver 1.1
22/38
Video Streaming Software Page 22 of 38Design Specifications
2.4.1.6 APAdminBO
This class inherits CommonClass. This class is used to manage all the activities of APAdminuser from business layer.
VariablesNone
Methods
CreateInstituteSubDomain is used to create a subdomain for an institute using thedomain name passes as input parameter.
publicbool CreateInstituteSubDomain(string domainName)
{
}
1. Takes domainName as input parameters2. Returns true if the operation is successful otherwise returns false.
Parameters: domainName
2.4.1.7 InstituteAdminBO
This class also inherits CommonClass. This class is used to manage all the activities ofInstituteAdmin user from business layer.
Variables
None
Methods
None
2.4.1.8 InstructorBO
This class implements IManageClassBO. This class is used to manage all the activities ofInstructor user from business layer.
Variables
classId
className
classDescription
classMaxStudents
classStartDate
classDuration
classStatus
userId
studentId
uaerPassword
Methods InviteStudent is used to invite multiple students into a specific class.
-
7/31/2019 Access Portal SDD Document Ver 1.1
23/38
Video Streaming Software Page 23 of 38Design Specifications
publicbool InviteStudents(Int32 classId, Int32 studentId)
{
}
1. Calls InviteStudents method of Instructor class of Data Access Layer2. Returns true if the operation is successful otherwise returns false.
Parameters: classId, studentId
isValidUser is used to check the validity of the user.
public bool isValidUser(string userid, string password)
{
}
1. Calls CheckValidInstructor method of Instructor class of Data AccessLayer.
2. Returns true if the operation is successful otherwise returns false.
Parameters: userId, password
AddClass is used to add or create a class in the database.
public bool AddClass(string name, string description, Int32
maxStudents, DateTime startDate, Int32 duration)
{
}
1. Calls AddClass method of Instructor class of Data Access.
2. Returns true if the operation is successful otherwise returns false.
Parameters: name, description, maxStudents, startDate, duration
EditClass is used to edit a class which already exists in the database.
public bool EditClass(Int32 id, string name, string
description, Int32 maxStudents, DateTime startDate, Int32
duration, bool status)
{
}
1. Calls EditClass method of Instructor class of Data Access Layer.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id, name, description, maxStudents, startDate, duration, status
DeleteClass is used to delete a class which already exists in the database.public bool DeleteClass(Int32 id)
{
}
1. Calls DeleteClass method Instructor class of Data Access Layer.
2. Returns true if the operation is successful otherwise returns false.
Parameters: id
ClassList is used to retrive all classes which already exists in the database.
public Array ClassList()
{
}
-
7/31/2019 Access Portal SDD Document Ver 1.1
24/38
Video Streaming Software Page 24 of 38Design Specifications
1. Calls GetClass method of Instructor class of Data Access Layer.
2. Returns an array of all the classes in the database.
Parameters: none
2.4.1.9 StudentBO
This class is used to manage all the activities of a student user from business layer.
Variables
studentName
studentPassword
studentId
videoId
timeToAddVideoToWatchlist
Methods
AddToWatchList is used to add a video being watched by a student in the database.
public bool AddToWatchList(Int32 studentId, Int32 videoId,
DateTime timeToAdd)
{
}
1. Calls AddToWatchList method of Student class of Data Access Layer.
2. Returns true if the operation is successful otherwise returns false.
Parameters: studentId, videoId, timeToAdd
ListWatchList is used to retrieve the list of all videos which has been watched by thespecific student from the database.
public Array ListWatchList(Int32 studentId)
{
}
1. Calls ListWatchList method of Student class of Data Access Layer.
2. Returns an array of all the classes in the database.
Parameters: studentId
ListPlayedVideos is used to retrieve the list of all videos which has been played bythe specific student from the database.
public Array ListPlayedVideos(Int32 studentId)
{
}
1. Calls ListPlayedVideos method of Student class of Data Access Layer.
2. Returns an array of all the classes in the database.
Parameters: studentId
PlayVideo is used to play a video from the database.
public bool PlayVideo(Int32 studentId, Int32 videoId)
{
-
7/31/2019 Access Portal SDD Document Ver 1.1
25/38
Video Streaming Software Page 25 of 38Design Specifications
}
1. Calls PlayVideo method of Student class of Data Access Layer.
2. Returns true if the operation is successful otherwise returns false.
Parameters: studentId, videoId.
isValidUser is used to check the validity of the student.
public bool isValidUser(string studentName, string password)
{
}
1. Calls CheckValidStudent method of Student class of Data Access Layer.
2. Returns true if the operation is successful otherwise returns false.
Parameters: studentName, password
2.4.1.10 IndividualUserBO
This class is used to manage all the activities of individual user from business layer.
Variables
userName
userPassword
userId
videoId
timeToAddVideoToWatchlist
Methods
AddToWatchList is used to add a video being watched by an individual user in thedatabase.
public bool AddToWatchList(Int32 userId, Int32 videoId,
DateTime timeToAdd)
{
}
1. Calls AddToWatchList method of IndividualUser class of Data AccessLayer.
2. Returns true if the operation is successful otherwise returns false.
Parameters: userId, videoId, timeToAdd
ListWatchList is used to retrieve the list of all videos which has been watched by thespecific individual user from the database.
public Array ListWatchList(Int32 userId)
{
}
1. Calls ListWatchList method of IndividualUser class of Data Access Layer.
2. Returns an array of all the classes in the database.
Parameters: userId
ListPlayedVideos is used to retrieve the list of all videos which has been played bythe specific individual user from the database.
-
7/31/2019 Access Portal SDD Document Ver 1.1
26/38
Video Streaming Software Page 26 of 38Design Specifications
public Array ListPlayedVideos(Int32 userId)
{
}
1. Calls ListPlayedVideos method of IndividualUser class of Data AccessLayer.
2. Returns an array of all the classes in the database.
Parameters: userId
PlayVideo is used to call when user clicks for playing a video.
public bool PlayVideo(Int32 userId, Int32 videoId)
{
}
1. Calls PlayVideo method of IndividualUser class of Data Access Layer.
2. Returns true if the operation is successful and insert a new record to thesubsequent table otherwise returns false.
Parameters: userId, videoId.
isValidUser is used to check the validity of the individual user.
public bool isValidUser(Int32 userName, string password)
{
}
1. Calls CheckValidStudent method of IndividualUser class of Data AccessLayer.
2. Returns true if the operation is successful otherwise returns false.
Parameters: userName, password
-
7/31/2019 Access Portal SDD Document Ver 1.1
27/38
Video Streaming Software Page 27 of 38Design Specifications
2.4.2 Data Access Layer
-
7/31/2019 Access Portal SDD Document Ver 1.1
28/38
Video Streaming Software Page 28 of 38Design Specifications
2.4.2.1 IManageStudent interface
This interface is used to establish the signature of the activities e.g. add, edit, deleteand get a list of all categories.
Variables None
Methods
AddStudentis used to establish a method signature for activity to add or createnew students in the database.
Boolean AddStudent(string name, string Password, string
streetAddress, string city, string country, string zip,
string phoneNo)
3. Takes name, password, streetAddress, city, country, zip, phoneNo asinput parameters
4. Returns true if category is added successfully to database, otherwisereturns false
EditStudent is used to establish a method signature for activity to edit any studentalready stored in the database.
Boolean EditStudent(Int32 studentId, string name, string
password, string streetAddress, string city, string country,
string zip, string phoneNo, Int32 classId)
1. Takes studentId, name, password, streetAddress, city, country, zip,
phoneNo of the student to be edited as input parameters ofcorresponding types
2. Returns true if the operation is successful, otherwise false is returned.
DeleteStudent is used to establish a method signature for activity to delete anystudent already stored in the database.
Boolean DeleteStudent(string studentId)
1. Takes studentId as input parameters
2. Returns true if the operation is successful, otherwise false is returned.
GetStudent is used to establish a method signature for activity to get a list ofstudents already stored in the database.
Array GetStudent()
3. Takes no input parameter
4. Returns an array containing the list of students.
2.4.2.2 IManageInstituteAdmin interface
This interface is used to establish the signature of the activities e.g. add, edit, deleteand get a list of all Institute admins.
Variables None
-
7/31/2019 Access Portal SDD Document Ver 1.1
29/38
Video Streaming Software Page 29 of 38Design Specifications
Methods
AddIAdminis used to establish a method signature for activity to add or create new
students in the database.
bool AddIAdmin(string name, string password, string email,
string contactno, string address, string city, string zip,
string instituteid);
1. Takes name, password, email, contactno, address, city, zip andinstituteid as input parameters
2. Returns true if inserted successfully to database, otherwise returns false
EditIAdmin is used to establish a method signature for activity to edit any studentalready stored in the database.
bool EditIAdmin(Int32 iadminid, string name, string password,string email, string contactno, string address, string city,
string zip, string instituteid);
1. Takes iadminid, name, password, email, contactno, address, city, zip
and instituteid as input parameters
2. Returns true if the operation is successful, otherwise false is returned.
DeleteIAdmin is used to establish a method signature for activity to delete anystudent already stored in the database.
bool DeleteIAdmin(Int32 iadminid)
1. Takes iadminid as input parameters
2. Returns true if the operation is successful, otherwise false is returned.
GetIAdmin is used to establish a method signature for activity to get a list of IAdminsalready stored in the database.
Array GetIAdmin()
1. Takes no input parameter
2. Returns an array containing the list of IAdmins.
2.4.2.3 IManageIndividualUser interface
This interface is used to establish the signature of the activities e.g. add, edit, deleteand get a list of all Institute admins.
Variables None
Methods
AddUseris used to establish a method signature for activity to add or create new
individual user in the database.
-
7/31/2019 Access Portal SDD Document Ver 1.1
30/38
Video Streaming Software Page 30 of 38Design Specifications
bool AddUser(string name, string Password, string
streetAddress, string city, string country, string zip, string
phoneNo, Int32 classId);
1. Takes name,password,streetAddress,city,country,zip, phoneNo,classIdas input parameters
2. Returns true if inserted successfully to database, otherwise returns false
EditUser is used to establish a method signature for activity to edit any student
already stored in the database.
bool EditUser(string name, string Password, string
streetAddress, string city, string country, string zip, string
phoneNo);
1. Takes name,Password, streetAddress, city,country,zip,
phoneNo as input parameters
2. Returns true if the operation is successful, otherwise false is returned.
DeleteIAdmin is used to establish a method signature for activity to delete anystudent already stored in the database.
bool DeleteIAdmin(Int32 iadminid)
1. Takes iadminid as input parameters
2. Returns true if the operation is successful, otherwise false is returned.
GetIAdmin is used to establish a method signature for activity to get a list of IAdminsalready stored in the database.
Array GetIAdmin()
1. Takes no input parameter
2. Returns an array containing the list of students.
2.4.2.4 IManageInstituteManager interface
This interface is used to establish the signature of the activities e.g. add, edit, deleteand get a list of all Institute managers.
Variables None
Methods
AddUseris used to establish a method signature for activity to add or create new
individual user in the database.
bool AddIManager(string name, string password, string email,
string contactno, string address, string city, string zip,
string instituteid);
1. Takes name, password, email, contactno, address, city, zip,instituteid asinput parameters
2. Returns true if inserted successfully to database, otherwise returns false
-
7/31/2019 Access Portal SDD Document Ver 1.1
31/38
Video Streaming Software Page 31 of 38Design Specifications
EditIManageris used to establish a method signature for activity to edit any InstituteManager already stored in the database.
bool EditIManager(Int32 managerid, string name, string
password, string email, string contactno, string address,
string city, string zip, string instituteid);
1. Takes managerid, name, password, email, contactno, address, city, zip,instituteid as input parameters
2. Returns true if the operation is successful, otherwise false is returned.
DeleteIManager is used to establish a method signature for activity to delete anystudent already stored in the database.
bool DeleteIManager(Int32 managerid);
1. Takes managerid as input parameters
2. Returns true if the operation is successful, otherwise false is returned.
2.5 Database
2.5.1 AccessPortal
Table: actions
Fields Type Remarks
id int Autoidentity seed(1,1) PK
name varchar(50)
description text
Table: catalogue
Fields Type Remarks
id int Autoidentity seed(1,1) PK
name varchar(50)
description text
Table: catalogue_has_video
Fields Type Remarks
id intAutoidentity seed(1,1)
PK
catalogue_id int
FK references
catalogue (Id) table
-
7/31/2019 Access Portal SDD Document Ver 1.1
32/38
Video Streaming Software Page 32 of 38Design Specifications
video_id intFK references video
(Id) table
Table: Category
Fields Type Remarks
id intAutoidentity seed(1,1)
PK
name varchar(50)
description text
Table: class
Fields Type Remarks
id intAutoidentity seed(1,1)
PK
name varchar(50)
description text
max_student int
start_date datetime
duration int
status bit
Table: class_has_video
Fields Type Remarks
id intAutoidentity seed(1,1)
PK
class_id intFK references class
(Id) table
video_id intFK references video
(Id) table
Table: domainsFields Type Remarks
id intAutoidentity seed(1,1)
PK
name varchar(50)
description text
Table: domains_has_objects
Fields Type Remarks
id intAutoidentity seed(1,1)
PK
domain_id int FK references
-
7/31/2019 Access Portal SDD Document Ver 1.1
33/38
Video Streaming Software Page 33 of 38Design Specifications
domain (Id) table
object_id intFK references object
(Id) table
Table: objects
Fields Type Remarks
id intAutoidentity seed(1,1)
PK
name varchar(50)
description text
Table: priviledges
Fields Type Remarks
id int
Autoidentity seed(1,1)
PK
name varchar(50)
description text
Table: priviledges_has_actions
Fields Type Remarks
id intAutoidentity seed(1,1)
PK
priviledges_id intFK references
priviledges (Id) table
actions_id int FK referencesactions (Id) table
Table: roles
Fields Type Remarks
id int Autoidentity seed(1,1)
PK
name varchar(50)
description text
Table: roles_has_domains_priviledges
Fields Type Remarks
id intAutoidentity seed(1,1)
PK
roles_id intFK references roles
(Id) table
priviledges_id intFK references
priviledges (Id) table
domains_id int FK referencesdomains (Id) table
-
7/31/2019 Access Portal SDD Document Ver 1.1
34/38
Video Streaming Software Page 34 of 38Design Specifications
is_allowed bit
Table: user_has_roles
Fields Type Remarks
Id intAutoidentity seed(1,1)
PK
users_id intFK references user
(Id) table
roles_Id intFK references roles
(Id) table
Table: users
Fields Type Remarks
id intAutoidentity
seed(1,1) PK
name varchar(50)
password varchar(50)
street_address varchar(50)
city varchar(50)
country varchar(50)
zip varchar(50)
phone_no varchar(50)
class_id int FK references class(Id) table
Table: video
Fields Type Remarks
id intAutoidentity
seed(1,1) PK
category_id intFK references
category (Id) table
name varchar(50)
description text
upload_date datetime
Table: video_streaming
Fields Type Remarks
id intAutoidentity
seed(1,1) PK
name varchar(50)
video_id intFK references video
(Id) table
-
7/31/2019 Access Portal SDD Document Ver 1.1
35/38
Video Streaming Software Page 35 of 38Design Specifications
2.6 Sample screens for the section
Fig 1 (Homepage with Login compressed)
-
7/31/2019 Access Portal SDD Document Ver 1.1
36/38
Video Streaming Software Page 36 of 38Design Specifications
Fig 2 (Homepage with Login expanded)
Fig 3 (AP Admin Dashboard)
-
7/31/2019 Access Portal SDD Document Ver 1.1
37/38
Video Streaming Software Page 37 of 38Design Specifications
Fig 4 (Institute Admin Dashboard)
Fig 5 (Instructor / Manager Dashboard)
-
7/31/2019 Access Portal SDD Document Ver 1.1
38/38
Fig 6 (Detail page of a specific video)