Version 1.0
By
DOCUMENT CONTROL
Document Revision History
Version 1.0 Date June 26, 2012 Author Partha Chakraborty Description First draft of Video Streaming Software Module Design Document
Page 2 of 38
Contents
1 INTRODUCTION ................................................................................................................ 4 1.1 1.2 1.3 1.4 2 BACKGROUND ............................................................................................................... 4 PURPOSE OF THE DOCUMENT ........................................................................................ 4 GENERAL REQUIREMENTS .............................................................................................. 4 OBJECTIVES OF THE SYSTEM ......................................................................................... 4
DESIGN SPECIFICATIONS .............................................................................................. 5 2.1 PROCESS FLOW ............................................................................................................ 5 2.2 E-R DIAGRAM ............................................................................................................... 6 2.3 SYSTEMS ARCHITECTURE .............................................................................................. 6 2.3.1 Presentation Layer ........................................................................................................... 7 2.3.2 Business layer ................................................................................................................... 8 2.3.3 Data Access layer ............................................................................................................. 8 2.4 CLASS DIAGRAM.......................................................................................................... 11 2.4.1 Business Layer ................................................................................................................ 11 2.4.2 Data Access Layer .......................................................................................................... 27 2.5 DATABASE .................................................................................................................. 31 2.5.1 AccessPortal ................................................................................................................... 31 2.6 SAMPLE SCREENS FOR THE SECTION ............................................................................ 35
Page 3 of 38
1 INTRODUCTION
1.1 Background
The project involves development and deployment of an online portal that streams video to subscribers. Video files will be stored in a third party hosting company AND APs SERVER. The portal will have user authentication based on subscribing institutions (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.
Page 4 of 38
2 DESIGN SPECIFICATIONS
2.1 Process Flow
Page 5 of 38
Page 6 of 38
Presentation Layer
Database
Admin Login
Manage Videos
Custom Error
Institute Admin Manager Institutional Student Manager Individual User Manager Instructor Manager
accessportal
Manager
Manage Instructor
Manage Category
Category Manager
Manage Catalogue
Catalogue Manager
Page 7 of 38
b. Manage Institutional Admin c. Manage Institutional Student d. Manage Individual user e. Manage Manager/Instructor f. Manage Category
g. Manage Catalogue Each and every module and its function will be called subsequent business function from the business layer.
Page 8 of 38
Presentation Layer
Database
Admin Login
Student Manager
Video Manager
Manager
accessportal
Manage Class
Class Manager
Page 9 of 38
Database
Presentation Layer
Database
Registration
Database
Manage Account
Account Manager
Page 10 of 38
2.4.1.1
IManageCategoryBO interface This interface is used to establish the signature of the activities e.g. add, edit, delete and get a list of all categories. None
Variables
Page 11 of 38
Methods AddCategory is used to establish a method signature for activity to add or create new categories in the database. Boolean AddCategory(string name, string description) 1. 2. Takes name and description as two string type input parameters Returns true if category is added successfully to database, otherwise returns false
Parameters: name, description EditCategory is used to establish a method signature for activity to edit any category already stored in the database. Boolean EditCategory(Int32 id, string name, string description) 1. Takes id (Int32), name (string) and description (string) of the category to be 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 any category 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 of all 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 IManageClassBO interface This interface is used to establish the signature of the activities e.g. add, edit, delete and get a list of all classes. None
Variables Methods
AddClass is used to establish a method signature for activity to add or create a new class 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
Page 12 of 38
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 the class, 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 class already 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 the classes 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, delete and get a list of all catalogue. None
Variables Methods
AddCatalogue is used to establish a method signature for activity to add or create a new 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 catalogue already 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
Page 13 of 38
DeleteCatalogue is used to establish a method signature for activity to delete a catalogue 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 of all 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, delete and get a list of all catalogue. None
Variables Methods
AddVideo is used to establish a method signature for activity to add a new video in the 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 already created 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 input parameter. 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 video already 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() Video Streaming Software Design Specifications Page 14 of 38
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 a specific 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
Page 15 of 38
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 from inside APAdminBO class which inherits CommonClass, whereas calls AddStudent method of IAdmin class of Data Access Layer from inside InstituteAdminBO 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 Access Layer from inside APAdminBO class which inherits CommonClass, whereas calls CheckValidIAdmin method of IAdmin class of Data Access Layer from inside InstituteAdminBO class which also inherits CommonClass. 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 from inside 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.
Page 16 of 38
public bool EditCategory(Int32 id, string name, string description) { } 1. Calls EditCategory 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, 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 from inside 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 from inside APAdminBO class which inherits CommonClass and AddClass method 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: 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 from inside APAdminBO class which inherits CommonClass and EditClass method of IAdmin class of Data Access Layer from inside InstituteAdminBO class which inherits CommonClass. Video Streaming Software Design Specifications Page 17 of 38
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 from inside APAdminBO class which inherits CommonClass and DeleteClass method 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 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 from inside APAdminBO class which inherits CommonClass and GetClass method of IAdmin class of Data Access Layer from inside InstituteAdminBO 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 Layer from inside APAdminBO class which inherits CommonClass and AddCatalogue method 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: 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 Layer from inside APAdminBO class which inherits CommonClass and EditCatalogue method 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, name, description DeleteCatalogue is used to delete a catalogue which already exists in the database.
Page 18 of 38
public bool DeleteCatalogue(Int32 id) { } 1. Calls DeleteCatalogue method of APAdmin class of Data Access Layer from inside APAdminBO class which inherits CommonClass and DeleteCatalogue method 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 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 from inside APAdminBO class which inherits CommonClass and GetCatalogue method of IAdmin class of Data Access Layer from inside InstituteAdminBO 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 AddVideo method 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: 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 from inside APAdminBO class which inherits CommonClass and EditVideo method 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, categoryId, name, description, uploadDate DeleteVideo is used to delete a video which already exists in the database. public bool DeleteVideo(Int32 id) { } Video Streaming Software Design Specifications Page 19 of 38
1. Calls DeleteVideo method of APAdmin class of Data Access Layer from inside APAdminBO class which inherits CommonClass and DeleteVideo method 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 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 from inside APAdminBO class which inherits CommonClass and GetVideo method 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: none SearchVideo is used to retrive a list of videos corresponding to the video title passed as 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 from inside APAdminBO class which inherits CommonClass and GetVideo method 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 from inside APAdminBO class which inherits CommonClass and EditVideo method 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 the database. public bool UnBlockUser(Int32 id, bool status) { } 1. Calls EditVideo method of APAdmin class of Data Access Layer from inside APAdminBO class which inherits CommonClass and EditVideo method of IAdmin class of Data Access Layer from inside InstituteAdminBO class which inherits CommonClass. Video Streaming Software Design Specifications Page 20 of 38
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 from inside APAdminBO class which inherits CommonClass and AddInstitute method 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: 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 from inside APAdminBO class which inherits CommonClass and EditInstitute method 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: 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 from inside APAdminBO class which inherits CommonClass and GetInstitute method of IAdmin class of Data Access Layer from inside InstituteAdminBO class which inherits CommonClass. 2. Returns an array of all the institutes in the database. Parameters: none
Page 21 of 38
2.4.1.6 APAdminBO This class inherits CommonClass. This class is used to manage all the activities of APAdmin user from business layer. Variables None
Methods CreateInstituteSubDomain is used to create a subdomain for an institute using the domain name passes as input parameter. public bool CreateInstituteSubDomain(string domainName) { } 1. Takes domainName as input parameters 2. 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 of InstituteAdmin 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 of Instructor 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.
Page 22 of 38
public bool InviteStudents(Int32 classId, Int32 studentId) { } 1. Calls InviteStudents method of Instructor class of Data Access Layer 2. 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 Access Layer. 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() { } Video Streaming Software Design Specifications Page 23 of 38
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 the specific 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 by the 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) {
Page 24 of 38
} 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 the database. public bool AddToWatchList(Int32 userId, Int32 videoId, DateTime timeToAdd) { } 1. Calls AddToWatchList method of IndividualUser class of Data Access Layer. 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 the specific 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 by the specific individual user from the database.
Page 25 of 38
public Array ListPlayedVideos(Int32 userId) { } 1. Calls ListPlayedVideos method of IndividualUser class of Data Access Layer. 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 the subsequent 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 Access Layer. 2. Returns true if the operation is successful otherwise returns false. Parameters: userName, password
Page 26 of 38
Page 27 of 38
2.4.2.1
IManageStudent interface This interface is used to establish the signature of the activities e.g. add, edit, delete and get a list of all categories. None
Variables
Methods AddStudent is used to establish a method signature for activity to add or create new students in the database. Boolean AddStudent(string name, string Password, string streetAddress, string city, string country, string zip, string phoneNo) 3. 4. Takes name, password, streetAddress, city, country, zip, phoneNo as input parameters Returns true if category is added successfully to database, otherwise returns false
EditStudent is used to establish a method signature for activity to edit any student already 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 of corresponding 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 any student 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 of students 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, delete and get a list of all Institute admins. None
Variables
Page 28 of 38
Methods AddIAdmin is 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 and instituteid 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 student already 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 any student 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 IAdmins already 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, delete and get a list of all Institute admins. None
Variables
Methods AddUser is used to establish a method signature for activity to add or create new individual user in the database.
Page 29 of 38
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,classId as 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 any student 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 IAdmins already 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, delete and get a list of all Institute managers. None
Variables
Methods AddUser is 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 as input parameters 2. Returns true if inserted successfully to database, otherwise returns false
Page 30 of 38
EditIManager is used to establish a method signature for activity to edit any Institute Manager 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 any student 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
Table: catalogue
Fields id name
Remarks
Autoidentity seed(1,1) PK
description text
Table: catalogue_has_video
Fields id
Type int
Remarks
Autoidentity seed(1,1) PK
catalogue_id int
Page 31 of 38
video_id
Table: Category
int
Remarks
Autoidentity seed(1,1) PK
Table: class_has_video
Remarks
Autoidentity seed(1,1) PK
Table: domains_has_objects
Fields id domain_id
Video Streaming Software Design Specifications
Remarks
Autoidentity seed(1,1) PK
FK references
Page 32 of 38
object_id
Table: objects
int
Remarks
Autoidentity seed(1,1) PK
Table: priviledges_has_actions
Fields id
Type int
Remarks
Autoidentity seed(1,1) PK
Table: roles
Fields
id name description
Type
int varchar(50) text
Remarks
Autoidentity seed(1,1) PK
Table: roles_has_domains_priviledges
Fields id roles_id
Remarks
Autoidentity seed(1,1) PK
FK references roles (Id) table FK references priviledges (Id) table FK references domains (Id) table
Page 33 of 38
is_allowed
Table: user_has_roles
bit
Remarks
Autoidentity seed(1,1) PK
varchar(50) varchar(50) varchar(50) varchar(50) int FK references class (Id) table Remarks
Autoidentity seed(1,1) PK
Remarks
Autoidentity seed(1,1) PK
Page 34 of 38
Page 35 of 38
Page 36 of 38
Page 37 of 38
Page 38 of 38