IEEE Software Requirements Specification Template
Software Requirements Specification for Virtual Classroom
SystemPage 2
Software Requirements Specification
for
Virtual Classroom SystemVersion 1.0Prepared by
Group NameLokesh
[email protected]
Gurudatt [email protected]
Instructor:Prof. Kumar K.
Course:Advanced Software Engineering
Date:29/03/2013
Contents1Introduction31.1Document Purpose31.2Product
Scope31.3Intended Audience and Document Overview41.4Definitions,
Acronyms and Abbreviations41.5Document Conventions41.6References
and Acknowledgments52Overall Description72.1Product
Perspective72.2Product Functionality72.3Users and
Characteristics82.4Operating Environment92.5Design and
Implementation Constraints92.6User Documentation102.7Assumptions
and Dependencies103Specific Requirements113.1External Interface
Requirements113.2Functional Requirements133.3 Non Functional
requirements..........................................................................................144System
Design154.1Dataflow Diagram154.2Uml
Diagrams..........................................................................................................................................185
SCOPE OF
EXTENSION.....................................................................................................................................24
1 IntroductionDeveloping 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)
Administrator1.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, 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: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 MarkupLanguageHTTP: Hypertext Transfer ProtocolHTTPS:
Secure Hypertext Transfer Protocol1.5 References and
Acknowledgments
[1] UML Diagram [pdf] by Prof Kumar K., VIT University[2]
Software Engineering A Practioners Approach, Roger S Pressmen
[3] VIT Academics, http://academics.vit.ac.in/2 Overall
Description
2.1 Product Perspective
The web pages (XHTML/JSP) are present to provide the user
interface on customer 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 FunctionalityVirtual
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 CharacteristicsUsers 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 administratorUsers: 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 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 InterfaceClient: Web Browser, Operating System
(any)
Web Server: WAS, Operating System (any)
Data Base Server: DB2, Operating System (any)
Development End: WSAD, DB2, Rational Application
DeveloperHardware InterfaceCLIENT SIDEPROCESSORRAMDISK SPACE
INTERNET EXPLORER
6 AND ABOVEPENTIUM III
1 GHz AND ABOVE256 MB1 GB
SERVER SIDEWEB SPHERE
APPLICATION SERVER
V5.0PENTIUM III at 1
GHz512 MB2 GB
DB2 V9.1PENTIUM III at 1
GHz512 MB1 GB(Excluding data size)
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
integrity3 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.
FilesUIThe 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.
ExamsUIThe exam interface enables the students to take exams. This
interface will have timer to monitor the timing. EvaluationUIThe
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 ReportUIThe report
interface displays various reports such as progress reports,
ongoing course reports, etc. CourseUIThe course interface enables
the student to view the course he has registered.3.1.2 Hardware
InterfacesThe 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 InterfacesDB2 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 browsers 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
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, students 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.
3.3 Non-functional RequirementsReliability: 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. 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
customers 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.
4.1 Data Flow Diagram
DFDs 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 systems structure charts.
Level 0 DFD
Level 1 DFD
4.2 UML Diagram
4.2.1 Use case DiagramA 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: 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:
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.
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 ScenarioIf 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
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 DiagramA 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
Examination Management
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.
HTML CLIENT
[Admin, Management, Faculty, Student]
HTTP/HTTPS
Application Server
Database Server