access portal sdd document ver 1.1

Upload: debabrata5976

Post on 05-Apr-2018

219 views

Category:

Documents


0 download

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)