Software Requirements Specification for Virtual Classroom System
Page 1
Software Requirements Specification for
Virtual Classroom System Version 1.0
Prepared by
Group Name Lokesh Jaliminche Gurudatt Kulkarni
12MCS0058 12MCS0043
[email protected] [email protected]
Instructor: Prof. Kumar K. Course: Advanced Software Engineering Date:
29/03/2013
Contents 1 INTRODUCTION...........................................................................................................................................................2 2 OVERALL DESCRIPTION...........................................................................................................................................5 3 SPECIFIC REQUIREMENTS.......................................................................................................................................9
Software Requirements Specification for Virtual Classroom System
Page 2
4 SYSTEM DESIGN........................................................................................................................................................13 5 SCOPE OF EXTENSION.............................................................................................................................................22
1 Introduction Developing a Virtual Classroom System to promote a greater count of students to splurge into the field of Education. It integrates the benefits of a physical classroom with the convenience of a ‘no-physical-bar’ Virtual Classroom System, minus the commuting hazards and expenses. It will usher in the immense flexibility and sophistication in the existing learning platform structures, with the perfect blend of synchronous and asynchronous interaction. It provides a means of collaborative learning for the students. There are basically 4 types of users:
•
Student
•
Faculty
•
College Management (Dean, HODs, Principal)
•
Administrator
1.1 Document Purpose The document specifies the software requirement specification for Virtual Classroom System. The software requirement specification document is prepared for certain class of audiences which is comprised of professional and experts. It is prepared in a manner which will help the professionals, managers and experts to build an effective Virtual Classroom System.
1.2 Product Scope VCS (Virtual Classroom System) aims to promote a greater count of students to splurge into the field of Education. It integrates the benefits of a physical classroom with the convenience of a ‘no-physical-bar’ Virtual Classroom System, minus the commuting hazards and expenses. It will usher in the immense flexibility and sophistication in the existing learning platform structures,
Software Requirements Specification for Virtual Classroom System
Page 3
with the perfect blend of synchronous and asynchronous interaction. It provides a means of collaborative learning for the students. The benefits of having VCS is that student can attend lectures as per their convenience. They can appear for exams, view progress reports and participate in extra-curricular activities online. Faculties can evaluate test sheets, schedule test and perform related activities online. The system will provide easy-to-access web based service which can give management an effective means of managing all resources.
1.3 Intended Audience and Document Overview The document is intended for the people of following profession:•
Project managers-Project managers are those who supervise the entire project.
•
Implementers or coding expertise-This category of professionals implements the design stated by the developers using programming languages. They are responsible for all the application modules and graphical user interfaces.
•
Tester- This class of people test the developed system with the help of certain test cases and determine the efficiency and estimates the performance of the system.
•
Documentation writers-Documentation writers prepare the user manuals and other necessary documents for proper setting of the system in a certain operating environment.
•
Virtual Classroom Users-The people who wants the system in their Educational Institutes. They are responsible for quality of software requirement specification document through their valuable comments on the initial requirement documents.
1.4 Definitions, Acronyms and Abbreviations Definitions:
Software Requirements Specification for Virtual Classroom System
Users: Student, Faculty, Management, Admin Admin: Application administrator responsible for application management. Management: Registered users which manage the entire working of Virtual Classroom. Faculty: Registered teachers of VCS to teach the students studying in VCS. Students: Registered users of VCS as the students of the classroom. Lecture: A Video/PowerPoint Presentation/Notes on any subject/topic related to any course. Discussion Time: A scheduled time slot during which a faculty will be available (online) for discussion with students and their doubt clearance. Assignment: Two types of assignments: Self-Practice --> The one's those are not to be submitted and will just work as practice exercises. Submission Assignments -->These are to be submitted within a given a deadline. Examination: Test conducted to evaluate the performance of a student in a particular subject/course. Attendance: Statistical report of a student showing the number of classes attended by him/her in comparison to total classes being held. Progress Report: Report showing the progress of a student after the examination is being conducted. It will be a cumulative course report.
Acronyms and Abbreviations: VCS: Virtual Classroom System HTML: Hypertext MarkupLanguage HTTP: Hypertext Transfer Protocol HTTPS: Secure Hypertext Transfer Protocol
1.5 References and Acknowledgments [1] UML Diagram [pdf] by Prof Kumar K., VIT University
Page 4
Software Requirements Specification for Virtual Classroom System
Page 5
[2] Software Engineering A Practioner’s Approach, Roger S Pressmen [3] VIT Academics, http://academics.vit.ac.in/
2 Overall Description 2.1 Product Perspective HTML HTML CLIENT CLIENT [Admin, [Admin, Management, Management, Faculty, Faculty, Student] Student]
•
HTTP/HT TPS
Application Application Server Server
Database Database Server Server
The web pages (XHTML/JSP) are present to provide the user interface on customer
Software Requirements Specification for Virtual Classroom System
Page 6
client side. •
Communication between customer and server is provided through HTTP/HTTPS protocols.
•
The Client Software is to provide the user interface on system user client side and for this TCP/IP protocols are used.
•
On the server side web server is for EJB and database server is for storing the information.
2.2 Product Functionality Virtual Classroom System is a service that support digital learning process of teaching and learning in the class room and can be divided virtually at several other classes at several different locations. Students can choose courses, attend lectures, take exams, view their attendance records, progress reports etc as per their convenience, also faculty can upload documents, videos and other teaching related materials. Administrator can manage the system from a dashboard.
2.3 Users and Characteristics Users of the VCS can be any person who is interested in having online lectures, meeting or even a conversation. Mainly we can categories the users as lecturers, students, management and administrator Users: Student, Faculty, Management, Admin Student: Each student can participate lecturers by sending a request to the lecturer through the site. They can view the white board and the presentations real-time while listening to the lecture. They can also interact with the lecturer and the other students without interrupting the lecture and also can participate online exams the lecturer has given. Faculty: As faculties, they can distribute their lectures real-time without staying in a class room but having all the features in a class room. A software white board is provided to demonstrate the lectures. The documentations/presentations can be distributed prior to the lecture. Lecturer can interact with the students by answering their questions. Lecturer can also conduct an exam by storing
Software Requirements Specification for Virtual Classroom System
Page 7
a set of questions. According to the instructions given by the lecturer, the system will generate an exam paper. Management: Management is responsible for maintaining the financial details of the users registered for various courses, they have the responsibility of introducing new courses, maintaining the existing courses, address any problems which the users are facing regarding any faculty or course. Admin: As admin, they have the task of maintaining the system such as maintaining the database, performing regular backups, keeping the system running and handling any failure of the system.
2.4 Operating Environment Software Interface Client: Web Browser, Operating System (any) Web Server: WAS, Operating System (any) Data Base Server: DB2, Operating System (any) Development End: WSAD, DB2, Rational Application Developer
Hardware Interface CLIENT SIDE PROCESSOR
RAM
DISK SPACE
INTERNET
PENTIUM III
256 MB
1 GB
EXPLORER
1 GHz AND ABOVE
512 MB
2 GB
512 MB
1 GB(Excluding
SERVER SIDE WEB SPHERE
PENTIUM III at 1
APPLICATI
GHz
ON SERVER DB2 V9.1
PENTIUM III at 1 GHz
data size)
Software Requirements Specification for Virtual Classroom System
Page 8
Communication Interface •
Client on Internet will be using HTTP/HTTPS protocol.
•
Client on Intranet will be using TCP/IP protocol.
2.5 Design and Implementation Constraints •
For ensuring platform independence of the software the implementation will be JAVA so the end user system must have a JAVA run time environment.
•
User must have flash player to view videos and animations.
•
The browsers must have plug-ins to view presentation slides.
•
Good internet connection speed for uninterrupted service.
2.6 User Documentation •
A readme file to help the user with the installation of the software.
•
A well documented user manual.
2.7 Assumptions and Dependencies •
A student can register for only one course at a time.
•
Financial Transaction are managed by Admin who ensure their integrity
Software Requirements Specification for Virtual Classroom System
Page 9
3 Specific Requirements 3.1 External Interface Requirements 3.1.1 User Interfaces •
LoginUI The login interface enables you to integrate user login with the content of our website. The system offers protection by storing passwords in encrypted form.
•
RegistrationUI The registration interface enables a new user to register to the system. Image based authentication is provided while registration.
•
NoticesUI The notices interface enables the students to view notices posted by their faculty members. This also lets faculty members post notices on the notices interface.
•
FilesUI The files interface enables the user to download learning materials. Here they can also upload their assignments. The faculty member has the facility to upload documents,presentations.
•
ExamsUI The exam interface enables the students to take exams. This interface will have timer to monitor the timing.
Software Requirements Specification for Virtual Classroom System
•
Page 10
EvaluationUI The evaluation interface enables the faculty member to present the detailed evaluation pattern of the exam and the students can see the evaluation of the exams they have attempted
•
ReportUI The report interface displays various reports such as progress reports, ongoing course reports, etc.
•
CourseUI The course interface enables the student to view the course he has registered.
3.1.2 Hardware Interfaces The additional hardware necessary for participation in the VCS sessions is a computer headset (combination of headphones and a microphone), webcam (optional) and minimum 56Kbps of bandwidth internet connection.
3.1.3 Software Interfaces DB2 is used as the database server. All the user's data and system data will be stored in the DB2 Database. To access the DB2 database we have to implement software interfaces using java. As the web server we use WebSphere HTTP server along with. It contains the server side database handling and the client implementation to view the html and Flash content. HTML is produced by the execution of the codes deployed in the WebSphere server. As Java server we use WebSphere server. Server which runs as an application deployed in the. WebSphere HTTP servers are directly interfaced with the Java server. And also there is a special java interface to communicate with DB2 database server. We transfer webcam output to each other via the web browser’s Flash client. The client which has the multimedia equipment such as Web Cam and microphone can transmit the real time data captured using Flash. White board distribution. This flash application fetches the images periodically and transmits the whiteboard content to the server
3.1.4 Communications Interfaces
Software Requirements Specification for Virtual Classroom System
Page 11
Client on Internet will be using HTTP/HTTPS protocol. Client on Intranet will be using TCP/IP protocol.
3.2 Functional Requirements •
Students can choose courses, attend lectures, take exams, view their attendance records, progress reports etc as per their convenience.
•
Attend lectures either at the scheduled time or on request view lecture at a later time.
•
Faculties can take lectures, upload assignments, announcements, evaluate answer sheets and also can upload lectures and other discussions in various formats as in videos, power point presentation etc.
•
Upload and download of various assignments, college notices, student’s notices, journals, videos.
•
Real time collaboration among users via chat rooms, shared and interactive whiteboards.
•
Asynchronous communication in the form of Emails, discussion boards that enable communication to occur at "convenient-times" that suit student schedules and are not accessed at simultaneous or prearranged times.
•
There can be forums, blogs etc to discuss various queries and to put up suggestions posted both by students and teachers.
•
Administrators can generate reports, log files, backup/recovery of data at any time.
•
Shared documents and media library that can help in active learning of a student.
•
Image library.
•
One-to-many, many-to-one and many-to-many information sharing.
•
Availability of voice mail box to allow faculties to get the descriptive messages left by the students.
•
Provisions of resources to arouse the interest of students in extra-curricular activities like public speaking and grasp the chance to enhance their personalities.
•
Students can take up various quizzes which can help them realize their inbuilt talents in various fields.
Software Requirements Specification for Virtual Classroom System
Page 12
3.3 Non-functional Requirements Reliability: The video quality should be clear and good .The audio could be heard well. The video and audio of lectures should be synchronised well.
Responsiveness: Less response time should be there so that student and faculty should feel good while using this virtual classroom system
Availability: 24 X 7 availability should be there so that student can use it at any time according to his convenience. Scalability: Number of users supported in the class will mainly depend on the server load, server processing capacity and its memory. It should scale maximum number of users. Security: HTTPS enables access to web application to secure access of confidential data (student information). Database Access There will be no external access to the database, except through the XML protocol. Administrators of the system will have full database administration rights and Lecturers may have access to a copy of parts of the VCS database, for editing purposes.
Software Requirements Specification for Virtual Classroom System
Page 13
4 SYSTEM DESIGN Design is a meaningful engineering representation of something that is to be built. Software design is a process through which the requirements are translated into a representation of the software. Design is the place where quality is fostered in software engineering. Design is the perfect way to accurately translate a customer’s requirement in to a finished software product. Design creates a representation or model, provides detail about software data structure, architecture, interfaces and components that are necessary to implement a system. This chapter discusses about the design part of the project. There are 2 types of diagrams to represent the implementation of system. •
Data Flow Diagrams.
•
UML Diagrams.
Software Requirements Specification for Virtual Classroom System
Page 14
4.1 Data Flow Diagram DFD’s are the model of the proposed system. They clearly should show the requirements on which the new system should be built. Later during design activity this is taken as the basis for drawing the system’s structure charts. Level 0 DFD
Software Requirements Specification for Virtual Classroom System
Level 1 DFD
Page 15
Software Requirements Specification for Virtual Classroom System
Page 16
4.2 UML Diagram 4.2.1
Use case Diagram A use case diagram is a type of behavioural diagram created from a Use-case analysis. The
purpose of use case is to present overview of the functionality provided by the system in terms of actors, their goals and any dependencies between those use cases.
Administrator:
Software Requirements Specification for Virtual Classroom System
Page 17
•
View/Upload/Delete notices: View, upload and delete the notices.
•
View/Upload/Delete files: View, upload and delete files as per the requirements.
•
View Requests: View requests of all the registered users including Management, Faculty, and Student.
•
Manage Requests: Approve or disapprove requests.
•
Manage Emails: Send Emails to various users viz. Management, Faculty, Student.
•
Backup Database: Take backup of the database as and when needed.
•
Manage Financial Transactions: View reports of all the financial transactions and access the VCS Account.
•
View User Activity Logs: Check and download User Activity Logs.
•
View Crystal Reports: Crystal Reports give the Admin an enhanced view over the entire system.
•
Generate Reports: Generate reports on ad-hoc basis.
Management: •
View/Upload/Delete notices: View, upload and delete the notices.
•
View/Upload/Delete files: View, upload and delete files as per the requirements.
•
Submit Request: Send request to Admin or even to faculty as required.
•
Update Profile: View and update self profile ( Password, Name, Date of Birth, Address, Email Ids, Contact Numbers etc.).
•
View/Manage Faculties: View the profiles of all the recruited faculties of the VCS and can even appoint new or can replace the older faculties.
•
View Courses: View all the available courses.
•
Add Courses: Has the privilege to Add courses as per the need.
•
Manage Courses: Can add or remove courses and manage the syllabus of each course.
•
View Faculty Report: View the performance report of faculties, based on the student's performance in faculty's subject.
Faculty:
Software Requirements Specification for Virtual Classroom System
Page 18
•
View/Upload/Delete notices: View, upload and delete the notices.
•
View/Upload/Delete files: View, upload and delete files as per the requirements.
•
Submit Request: Send request to Admin, Management or even to co-faculties as required.
•
Update Profile: View and update self profile ( Password, Name, Date of Birth, Address, Email Ids, Contact Numbers etc.).
•
View/Schedule/Update Discussion Time: View, schedule or update the discussion times provided to the students for their problem solving.
•
Upload/Evaluate Test Paper: Upload the test paper for the students to evaluate their performance and evaluate the solution submitted by the student.
•
View Student Report: View the progress reports of various students.
•
View Profile: View Profile of various students.
•
View Syllabus: View syllabus of various courses.
Student: •
View Discussion time/Test Schedule: Registered student can view the discussion time scheduled by various faculties and can view their test schedules.
•
View files/notices: Student can view files consisting assignments etc and can read notices uploaded by higher authorities.
•
Appear for test: Registered students who completes his part of the syllabus of a particular subject/course and have done a particular set of assignments related •
•
to that subject/course can appear for the test.
View/Update Profile: View and update self profile ( Password, Name, Date of Birth, Address, Email Ids, Contact Numbers etc.).
•
View Syllabus: Can view the syllabus pertaining to the registered course.
•
View Report: View his/her progress report.
Software Requirements Specification for Virtual Classroom System
•
Page 19
Submit Request: Can submit request to the faculty regarding his/her queries in any subject or on any topic or can even submit request to the admin or to the management on situation basis.
Course Registration Scenario If a student wants an admission in the VCS he/she has to fill in the details in the student registration form then he/she has to select the courses from the available one's where they can choose their subjects only the optional one's and then he/she can become the authorized student of the school after making payment for the course. But only after the use has been verified by the admin after making payment. Once registered user can avail all the facilities of VCS.
Examination Management Faculty will upload the Test Paper of a particular subject/topic on a particular date.Student will take the test and submit the answer sheet. Faculty will then evaluate the answer sheet of the
Software Requirements Specification for Virtual Classroom System
Page 20
student and will generate his/her progress report on the basis of the marks obtained by the student. Student will then be able to view his/her progress report.
4.2.2
Sequence Diagram
A sequence diagram in UML is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a message sequence chart. Sequence diagrams are sometimes called Event-trace diagrams, event scenarios, and timing diagram. Student Registration
Software Requirements Specification for Virtual Classroom System
Examination Management
Page 21
Software Requirements Specification for Virtual Classroom System
Page 22
5 SCOPE OF EXTENSION •
The Virtual Classroom System can be extended to be used by WAP enabled devices. This service can be extended to be accessible through GPRS so that the registered users can share and access information "on the move".
•
The Virtual Classroom System can be extended to include various extra-curricular activities that will simulate in the overall development of a child.