pg. 1
Brainteaser
VIRTUAL CLASSROOM
Software Requirement Specification
Version 1.0
Team Guide: Mr.Sk. Safikul Alam
Members: Niraj kumar Thakur,Ajit Mishra,Indramani Pandey,
Arunabha Chowdhary
College Name: Calcutta Institute of Technology
Department: Computer Science And Engineering
State: West Bengal
Revision History
Date
Version
Description
Author
5
THJAN 2011
0.1
Synopsis
BRAINTEASER
7
THJAN 2011
0.2
Final Revision
BRAINTEASER
pg. 3
Table of Contents
1.
INTRODUCTION: ...4
1.1
Purpose: ...4
1.2
Scope: ...4
1.3
Definitions, Acronyms, and Abbreviations:
...4
1.4
References:...5
1.5
Technologies to be used: ...5
1.6
Overview:
...5
2. OVERALL DESCRIPTION: ...7
2.1
Product Perspective: ...7
2.2
Software Interface:
...7
2.2.1
Front End Client: ...7
2.2.2
Web Server: ...7
2.2.3
Data Base Server:
...7
2.2.4
Back End: ...7
2.3
Hardware Interface: ...7
2.3.1
Client Side:
...7
2.3.2
Server Side: ...7
2.4
User Characteristics: ...8
2.5
Constraints:
...8
2.6
Architecture Design: ...8
2.7
Use Case Diagram: ...9
2.8
Class Diagram:
... 12
2.9
Sequence Diagrams: ... 14
2.9.1
Database Design: ... 14
2.10
Assumptions and Dependencies: ... 16
3. SPECIFIC REQUIREMENTS: ... 17
3.1
Use Case Reports: ... 17
Software Requirements Specification
1. INTRODUCTION:
This Software Requirements Specification provides a complete description of all the functions and specifications of VIRTUAL CLASSROOM WEB APPICATION..
1.1 Purpose:
This application provides us with an online book library and class room interactions. It bears different subjects which will be easily accessed by the students .Also students can examine themselves through online test. Students can choose courses, attend lectures, take exams, view their attendance records, progress reports etc as per their convenience. Upload and Download of various assignments, college notices, student's notices, journals, videos. Books will be provided in handsome number so that students don’t have to browse different websites looking for the subjective books.
The expected users of this application are:
Anyone looking for information on Virtual Classroom Students who wants to learn different subjects online.
1.2 Scope:
This Application is designed to fulfill following functional requirement: Subjective knowledge: Online Classes: Query Submission: Attendance Record: Online Tests: Assignments: Downloading/Uploading: Profile Management: Performance meter:
1.3 Definitions, Acronyms, and Abbreviations:
HTML 5.0 (Hyper Text Markup Language): It is used to create static web pages.
JSP (Java Server Pages): It is used to create dynamic web content.
J2EE (Java 2 Enterprise Edition): It is a programming platform, belonging to the Java platform, which is
used for developing and running distributed java applications.
WASCE (WebSphere Application Server Community Edition): It is an application server that runs and
supports the J2EE and the web service applications.
WSAD (WebSphere Studio Application Developer): It is a designer toolkit which is designed to develop
pg. 5
DB2 (IBM Database 2): It is a database management system that provides a flexible and efficient
database platform to raise a strong "on demand" business applications.
HTTP (Hyper Text Transfer Protocol): It is a transaction oriented client/ server protocol between a web
browser and a web server.
XML (Extensible Markup Language): It is a markup language that was designed to transport and store
data.
Ajax (Asynchronous Java Script and XML): It is a technique used in java script to create dynamic web
pages.
Web 2.0: It is commonly associated with web applications which facilitate interactive information sharing,
interoperability, user-centered design and collaboration on the World Wide Web.
1.4 References:
Wikipedia (www.wikipedia.com)
The principal source of textbook material is “Software Engineering: An Object- Oriented Perspective” by Eric J. Bruade (Wiley 2001)
Different books on development tools
1.5 Technologies to be used:
J2EE: (Servlet, JSP, JAXP, Java Beans) Application architecture.
JAVA: Application architecture.
WASCE: (WebSphere Application Server Community Edition) Web Server
DB2: IBM Database.
MYSQL: MySQL database.
Ajax: Asynchronous Java Script and XML.
XML: Extension Markup Language. Web 2.0: RSS Feed 2.0.
RAD 7.0: Development tool.
LOCALIZATION: 2 Languages - Hindi and English
JASPER: Report Development
FUSIONCHARTS: Charting tools
ErStudio: Database designing tool
1.6 Overview:
Overall Description:
Just as the term virtual means a simulation of the real thing, Virtual Classroom is a simulated classroom via Internet, which provides a convenient communication environment for distance learners just like
traditional face-to-face classroom. A virtual classroom allows learners to attend a class from anywhere in the world and aims to provides a learning experience that is similar to a real classroom.
Functionally it is community based design where user can come and login and update the library which will be further get approved by Admin. Once changes are approved from the admin, mail will be sent to the user and content will be published on the live site.
USER BASED INTERFACES (Logged/Paid): Discussion Forum (Logged Users) Content Suggestion(Logged Users) Event Request (Logged Users) Gallery Upload (Logged users)
News & Notice Manager (For Specific Users) ADMIN BASED INTERFACES:
User Manager
Menu Manager (Main Menu/User Menu/Component Menu) Section Manager
Category Manager
Article Manager (Update different details about library) Gallery Manager
SMS Manager Contact Manager Chat Manager Forum Manager
News & Notice Manager Web Links Manager Module Manager Theme Manager Mail Manager
pg. 7
2. OVERALL DESCRIPTION:
2.1 Product Perspective:
Virtual classroom is unique idea which provides platform for each subject where users can come and contribute the content of listed contents of subjects. They will also be benefited with service offered by application. This application is completely based on web community.
Mainly there will be three component of the system.
2.2 Software Interface:
2.2.1 Front End Client:
Front end of this application will be web interface which can be accessible on Internet Explorer 6.0+, Firefox 3.0+, Chrome, and Safari (HTTP/HTTPS). JQuery/HTML/AJAX
2.2.2 Web Server:
WebSphere Application Server / JBoss / Tomcat
2.2.3 Data Base Server:
DB2/MySQL
2.2.4 Back End:
J2EE/JSP/Servlet
2.3 Hardware Interface:
Server will be hosted on the internet with 24X7 availability. Normal User can access website and admin will have access of both Web Admin as well as server access.
2.3.1 Client Side:
Windows IIS, Mac, Linux, Unix etc which ever support Web Browsers. Client should have minimum 64 MB RAM, 10 GB HDD.
2.3.2 Server Side:
Server should LINUX (UBUNTU), RAM 8 GB, HDD 1 TB, INTEL XEON SERVER Processor Family, High Internet Connection
2.4 User Characteristics:
There are different classes of users of virtual classroom based on the roles that they play. When presenter enters in virtual classroom, he has different work to do than participant. Depending on the user type, virtual classroom takes different form for each user. These forms can be categorized depending on the user's role.
These roles are as follows: Presenter (or Administrator) Participant
2.5 Constraints:
We tried to solve all potential constraints but every system does have some limitation/dependency/constraints. Here we mentioned few of them:
Following are some of the limitations of Virtual classroom over Traditional classroom:
Teachers and students need to become familiar with the tools Teachers and students are familiar with the workings of a traditional classroom, that is, they understand the concepts of hand raising, the whiteboard, assignments, and so forth. With a virtual classroom, all attendees must become familiar
with the way the virtual classroom works before virtual classroom based training starts.
Time dependency for Live Sessions Attending virtual classroom training is restricted to a certain scheduled time.
Infrastructure for the participants PC needs to be prepared Virtual classroom sessions need to be scheduled, teachers need to be invited, and participants’ PCs need to be prepared.
Technical Limitations Technical issues such as bandwidth, speed of the connection or power failure may create problem while presentation is going on.
pg. 9
INTERNET–
BASED SYSTEMACTOR
DATABASE ENGINEVIRTUAL CLASSROOM
2.7 Use Case Diagram:
A use case is a technique for capturing the potential requirements of
a new system or software change. Each use case provides one or more
scenarios that convey how the system should interact with the end user or
another system to achieve a specific business goal.
Use case diagrams depict:
Use cases: A use case describes a sequence of actions that provide
something of measurable value to an actor and is drawn as a
horizontal ellipse.
Actors: An actor is a person, organization, or external system that
plays a role in one or more interactions with your system. Actors
are drawn as stick figures.
Associations: Associations between actors and use cases are
indicated in use case diagrams by solid lines. An association exists
whenever an actor is involved with an interaction described by a
use case. Associations are modeled as lines connecting use cases
and actors to one another, with an optional arrowhead on one end
of the line. The arrowhead is often used to indicate the direction of
the initial invocation of the relationship or to indicate the primary
actor within the use case.
System boundary boxes (optional): We can draw a rectangular around the use
cases, called the system boundary box, to indicate
the scope of the system. Anything within the box represents
functionality that is in scope and anything outside the box is not.
System boundary boxes are rarely used.
Packages (optional): Packages are UML constructs that enable us to
organize model elements (such as use cases) into groups. Packages
are depicted as file folders and can be used on any of the UML
pg. 11
End
Presentation
Start
Presentation
Load
Resources
Create
poll
Create
Agendas
Create presentation
slides
Vote for
poll
Attend
presentation
Apply for
Registration
Download
Resources
Register
User
2.8 Class Diagram:
A class diagram consists of a group of classes and interfaces
reflecting important entities of the business domain of the system being
modeled, and the relationships between these classes and interfaces. The
classes and interfaces in the diagram represent the members of a family
tree and the relationships between the classes are analogous to
relationships between members in a family tree. Interestingly, classes in a
class diagram are interconnected in a hierarchical fashion, like a set of
parent classes (the grand patriarch or matriarch of the family, as the case
may be) and related child classes under the parent classes.
Similarly, a software application is comprised of classes and a
diagram depicting the relationship between each of these classes would be
the class diagram. Thus, a class diagram is a pictorial representation of the
detailed system design.
2.9 Sequence Diagrams:
2.9.1 Database Design:
Entity Relationship Diagrams (ERDs) illustrate the logical structure
of databases. An entity is an object or concept about which you want to
store information. Attributes are the properties or characteristics of an
entity. A key attribute is the unique, distinguishing characteristic of the
entity.
For example, an employee's social security number might be the
employee's key attribute.
Relationships illustrate how two entities share information in the
database structure. Cardinality specifies how many instances of an entity
relate to one instance of another entity. Ordinality is also closely linked to
cardinality. While cardinality specifies the occurences of a relationship,
ordinality describes the relationship as either mandatory or optional. In
other words, cardinality specifies the maximum number of relationships
and ordinality specifies the absolute minimum number of relationships
2.10 Assumptions and Dependencies:
Following assumptions has been made for virtual classroom application development:
No Assumptions To Be
Validated By
Status Comment
1 There will be large amount of users/registered users of this application after year of successful live. Application has been designed as per this assumption.
Mentor Open
2 Whole system is assumed on the basis of free/community based software. In case of there will be any licensing issue we may change development tool.
Mentor Open
3 There will be different layout for initial page. Once user will select their city main city page will get loaded.
Mentor Open
4 Code should be checked in some CVS software Mentor Open
Following dependencies has been identified for VIRTUAL CLASSROOM APPLICATION development:
No Owner Dependency Comment
1 Team SMS software which needs to be plugged in Needs to purchase
pg. 17
3. SPECIFIC REQUIREMENTS:
3.1 Use Case Reports:
Index of Use-Cases (Added high level use case report):
UseCase UC #
Add books and Lectures UC1.1
Register user UC1.2
Suggest Content UC1.3
Admin Approval UC1.4
UC 1.1 (Add books and lectures):
Description: Admin needs to add books and lectures. Actor: Admin
Pre Condition: Book should be educational or any knowledge and should not exist before. Non-Functional Requirement: NA
UC 1.2 (Register User):
Description: Anybody can come and join this app. Actor: General Public
Pre Condition: There should be valid mail id. Non-Functional Requirement: NA
UC 1.3 (Suggest Content):
Description: User can come and suggest contents for library. They can upload lectures and books. Actor: Registered User
Pre Condition: There should be valid user id and password. Non-Functional Requirement: NA
UC 1.4 (Admin Approval):
Description: All contents added by users must be validated and approved by admin. Actor: Admin
Pre Condition: There should be valid details. Non-Functional Requirement: NA
3.2 Supplementary Requirements:
We have tried to list the entire requirement above. However, there are few point which need to be added along with above:
Testing Strategy o Unit Level o System Testing o Performance Testing Security Level decision Site implementation Server