G.
C UNIVERSITY
FAISALABAD
Department of
INFORMATION TECHNOLOGY
LABORATORY RECORD
NAME : MUHAMMAD FAYYAZ NAME :
YASIR NAVEED
ROLL NO: 14501 ROLL NO :
14536 REG # 2015-GCUF-14501 REG #
2015-
GCUF-14536
PROGRAM : BS-IT
Student #1 Signature
Student #2 Signature
Staff In-Charge Head
of the Department
Examiner Signature
Submitted for the University Practical Examination held on
……..............
Classroo
m
Managem
ent
System
Table of Contents
1.0 Introduction
1.1 Purpose
1.2 Scope
1.3 Definition, Acronyms, and Abbreviations
1.4 References
1.5 Technologies to be used
1.6 Overview
2.0 Overall Description
2.1 Product Perspective
2.2 Software Interface
2.3 Hardware Interface
2.4 Product Function
2.5 User Characteristics
2.6 Constraints
2.7 Architecture Design
2.8 Use Case Model Description
2.9 Class Diagram
2.9.1 Sequence Diagram
2.9.2 Collaboration Diagram
2.9.3 Activity Diagram
2.9.4 Statechart Diagram
2.9.5 Deployment Diagram
2.9.6 Component Diagram
2.10 Database Design
2.10.1 ER Diagram
2.10.2 Schema
2.11 Assumptions and Dependencies
3.0 Specific Requirements
3.1 Use Case Reports
3.2 Supplementary Requirements
Software Requirements Specification
1.0 Introduction:
1.1 Purpose:
The purpose of the virtual classroom system is to integrate the benefits of a physical classroom
with the convenience of a “nophysicalbar” virtual learning environment .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
1.2 Scope:
This project has a lot of scope for future development. Developing a virtual classroom system to
promote a greater count of students to splurge into the field of Education.
1.3 Definitions, Acronyms, and Abbreviations:
HTML (Hyper Text Markup Language): It is used to create static web pages.
PHP (Hyper Text Preprocessor): It is used to create dynamic web content.
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
ansport and store data.
MySql: It is a database management system that provides a flexible and
efficient database platform to raise a strong "on demand" business applications.
1.4 References:
tp://findarticles.com/ http://en.wikipedia.org/wiki/History_of_virtual_learning_environments/
http://ezinearticles.com/
1.5 Technologies to be used:
Java: Application Architecture
PHP: Used To create The dynamic webpages
XML: Extension Markup Language.
MySql: It is a database management system that provides a flexible and
efficient database platform to raise a strong "on demand" business applications.
1.6 Overview :
Overall Description :
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
physicalbar’ virtual learning environment, 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.
Specific Requirements :
Users of the System :
A. Students
B. Faculties
C. College Management (Dean, HODs, Principal)
D. Administrator
Students :
Students can choose courses, attend lectures, take exams, view their attendance records, progress
reports etc as per their convenience.
Registration for multiple courses.
Attend lectures either at the scheduled time or on request view lecture at a later time.
There can be forums, blogs etc to discuss various queries and to put up suggestions posted
both by students and teachers.
Students can take up various quizzes which can help them to realize their inbuilt talents
in various fields.
Faculties :
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.
There can be forums, blogs etc to discuss various queries and to put up suggestions posted
both by students and teachers.
Administrator :
Administrator can generate reports, log files, backup/recovery of data at any time and
create user,department and courses.
Dean :
Can view all actors details
2.0 Overall Description :
2.1 Product Perspective :
The virtual classroom system promotes a greater count of students and minus the
communicating hazards and expenses.
2.2 Software Interface :
◦ It should be possible for Elearning tool to be implemented in both Windows and Linux
Operating System environments.
◦ The GUI and other parts of the Elearning tool software are to be done in JAVA and J2EE.
◦ The output of this software will need a web browser for viewing it.
◦ This Is Also Available In the webpages.
2.3 Hardware Interface :
◦ Monitor screen – the software shall display information to the user via the monitor screen
◦ Mouse – the software shall interact with the movement of the mouse and the mouse buttons.
The mouse shall activate areas for data input, command buttons and select options from
menus.
◦ Keyboard – the software shall interact with the keystrokes of the keyboard. The keyboard
will input data into the active area of the database.
◦ WebBrowser
2.4 Product Function :
• Only Registered users can access the courses.
• Users must have valid User id and Password to access the system
• In this system students can choose their courses and view their Attendance Records,Grades in
quizzes,internal tests and assignments.
• Students can share their resources through forums.
• Faculty can upload the syllabus,lesson plan, session plan,class notes and question bank for
the courses.
• Students can get alert information about due date of quizzes.
• Administrator can generate reports or recovery of data at anytime.
• System provides 24x7 availability.
2.5 User Characteristics :
Each User has a valid user name ,passwd ,User id ,which department he/she belongs ,duration
(in years) ,Age ,Grade ,User Role,etc....
2.6 Constraints :
Hardware Constraints:
The system requires a database in order to store persistent data. The database should have
backup capabilities.
Software Constraints:
The development of the system will be constrained by the availability of required software such
as web servers, database and development tools.The availability of these tools will be governed by the
Adithya Institute of Technology and Management.
2.7 Architecture Design :
2.8 Use Case Model Description :
Definitions:
A Use Case specifies the behavior of a system or a part of the system and is a description of a set of
sequences of actions, including variants, which a system performs to yield an observable result of
value to an actor. Use cases provide a way for the developers to come to a common understanding
with the system's end users and domain experts. Graphically, a use case is rendered by an ellipse. A
Use Case diagram is just a special kind of diagram and shares the same common properties as do all
other diagrams – a name and graphical contents that are a projection into a model. In a use case
diagram, there is a system boundary and the actors stay outside the boundary and the use cases are
kept inside the boundary. Use Case diagrams commonly contain
• Use cases
• Actors
• Dependency, generalization, and association relationships
Diagram:
2.9 Class Diagram :
Definitions:
A Class is description of a set of objects that share the same
attributes, operations, relationships and semantics. Graphically it is
rendered as a rectangle. An Attribute is named property of a class
that describes a range of values that instances of the property may
hold. A class may have many attributes or no attributes at all. An
attribute represents some property of the thing you are modeling
that is shared by the objects of the class. They are shown in the
compartment under the name of the class. An Operation is the
implementation of a service that can be requested from any object
of the class to affect behavior. They are written in the last
compartment in the class depiction.
A Relationship is a connection among things. Graphically, it is
rendered as a path, with different kinds of lines to represent
different kinds of relationships. A Dependency is a relationship that
a change in specification of one thing may affect another thing that
uses it, but not necessarily the reverse. It is represented as a dashed
directed line. A Generalization is a relationship between a general
thing and a more specific kind of thing. It is referred to as a “isakind-
of” relationship. It is represented as a solid straight line with a large
open arrowhead pointing to the parent. An Association is a
structural relationship that specifies that objects of thing are
connected to objects of another. Graphically, it is a solid line form
one object to another. The adornment applied to this line are –
name, role, multiplicity and aggregation.
A Class Diagram is a diagram that shows a set of classes,
interfaces, collaborations and their relationships. Graphically, it is a
collection of vertices and arcs.
Diagram:
2.9.1 Sequence Diagram :
Definitions:
An Interaction is a behavior that comprises a set of messages exchanged among a set of objects
within a context to accomplish a purpose. We use interactions to model the dynamic aspects of the
model. When an object passes a message to another object, the receiving object might in turn send a
message to another object, which might send a message to yet another object, and so on. This stream
of messages forms a sequence. Any sequence must have a beginning; the start of every sequence is
rooted in some process or thread. Each process or thread within a system defines a distinct flow of
control, and within each flow, messages are ordered in sequence by time. A Sequence Diagram is an
interaction diagram that emphasizes the time ordering of the messages. Graphically, a sequence
diagram is a table that shows objects arranged along the Xaxis and messages, ordered in increasing
time, along Yaxis.
A Sequence Diagram has an Object Lifeline, which is a vertical dashed line that represents the
existence of an object over a period of time. Objects can be created and destroyed during this life time.
The second feature of a sequence diagram is the focus of control, which is a tall, thin rectangle that
shows the period of time during which an object is performing an action, either directly or through a
subordinate procedure.
Diagram:
2.9.2 Collaboration Diagram :
The Definition:
Collaboration is a society of classes, interfaces and other elements that work together to provide
some cooperative behavior that’s bigger than the sum of all its parts. The structural aspect of
collaboration includes any combination of classifiers, such as classes, interfaces, components and nodes.
That is, it specifies the classes, interfaces and other elements that work together to carry out the named
collaboration. Graphically, the classifiers are arranged like in any other UML Diagram, and related
using the common relationships.
A Collaboration Diagram is an interaction diagram that emphasizes on the structural
organization of the objects that send and receive messages. It shows a set of objects, links amongst
them
and messages sent ad received by them.
Diagram:
2.9.3 Activity Diagram
The Definition:
Activity diagrams describe the workflow behavior of a system.Activity diagrams are similar to
state diagrams because activities are the state of doing something. The diagrams describe the state of
activities by showing the sequence of activities performed. Activity diagrams can show activities that
are conditional or parallel.
Activity diagrams should be used in conjunction with other modeling techniques such as
interaction diagrams and state diagrams. The main reason to use activity diagrams is to model the
workflow behind the system being designed.Activity Diagrams are also useful for: analyzing a use case
by describing what actions needs to take place and when they should occur; describing a complicated
sequential algorithm;and modeling applications with parallel processes.
However, activity diagrams should not take the place ofinteraction diagrams and state diagrams.
Activity diagrams do not give detail about how objects behave or how objects collaborate.
Activity diagrams show the flow of activities through the system. Diagrams are read from top to
bottom and have branches and forks to describe conditions and parallel activities. A fork is used when
multiple activities are occurring at the same time.The branch describes what activities will take place
based on a set of conditions.All branches at some point are followed by a merge to indicate the end of
the conditional behavior started by that branch. After the merge all of the parallel activities must be
combined by a join before transitioning into the final activity state.
Diagram:
2.9.4
Statechart Diagram
The Definitions:
A State Machine is a behavior that specifies the sequence of states an object goes through during
its lifetime in response to events, together with its responses to those events. A State is a condition or
situation during the life of an object during which it satisfies some condition, performs some activity, or
waits for some event. An Event is the specification of a significant occurrence that has a location in
space and time, i.e. it can trigger a state transition. A Transition is a relationship between two states
indicating that an object in the first state will perform certain actions and enter the second state when
specified event occurs and conditions are satisfied. An Activity is an ongoing nonatomic execution
within a state machine. An Action is an executable atomic computation that results in the change of a
state. Graphically, a state is a rectangle with rounded edges, and a transition is solid directed line.
A State Chart Diagram shows a state machine, emphasizing the flow of control from state to
state. Graphically, it is a collection of vertices and arcs. We use the statechart diagram to model the
dynamic aspects of the system.
Diagram:
2.9.5 Deployment Diagram:
2.9.6 Component Diagram
2.10 Database Design :
Role
eate table Role (Role_id INT AUTO_INCREMENT NOT NULL,Role_name varchar(10) NOT NULL,primary
key (Role_id) );
Department
eate table Department (Department_id INT AUTO_INCREMENT NOT NULL,Department_name
varchar(10) NOT NULL,primary key (Department_id) );
Course
eate table Course (Course_id INT AUTO_INCREMENT NOT NULL,Course_name varchar(10) NOT
NULL,syllabus varchar(10000),primary key (Course_id) );
User
eate table User (User_id INT AUTO_INCREMENT NOT NULL,User_name varchar(10) NOT
NULL,User_passwd varchar(30) NOT NULL,Course_id INT NOT NULL,Department_id INT
NOT NULL,primary key (User_id) ,FOREIGN KEY (Course_id)REFERENCES Course
(Course_id)on DELETE CASCADE ON UPDATE CASCADE ,FOREIGN KEY (Department_id)
REFERENCES Department(Department_id) on DELETE CASCADE ON UPDATE CASCADE);
Attendance
create table Attendance (Attendance_no INT AUTO_INCREMENT NOT NULL,Date date
NOT NULL,day varchar(15) NOT NULL,User_id INT NOT NULL,Course_id INT NOT
NULL,status varchar(10) NOT NULL,PRIMARY KEY(Attendance_no),FOREIGN KEY
(Course_id)REFERENCES Course (Course_id)on DELETE CASCADE ON UPDATE
CASCADE ,FOREIGN KEY (User_id) REFERENCES User(User_id) on DELETE CASCADE
ON UPDATE CASCADE);
Assignment
create table Assignment (Assignment_id INT AUTO_INCREMENT NOT NULL,Given_date date
NOT NULL,Due_date date NOT NULL,Course_id INT NOT NULL,Assignment_que
varchar(1000) NOT NULL,Assignment_ans_file varchar(10000000)NOT NULL,Assignment_mark
int not null,PRIMARY KEY(Assignment_id),FOREIGN KEY (Course_id)REFERENCES Course
(Course_id)on DELETE CASCADE ON UPDATE CASCADE );
Question_bank
create table Question_bank (Question_bank_id INT AUTO_INCREMENT NOT
NULL, Question_bank_name varchar(15)NOT NULL,Course_id INT NOT
NULL,Question_bank_que varchar(1000) NOT NULL,Question_bank_ans varchar(100000)NOT
NULL,PRIMARY KEY(Question_bank_id),FOREIGN KEY (Course_id)REFERENCES Course
(Course_id)on DELETE CASCADE ON UPDATE CASCADE );
Lectures
create table Lectures (Lecture_id INT AUTO_INCREMENT NOT NULL,Lecture_name
varchar(15) NOT NULL,Course_id INT NOT NULL,Lecture_note varchar(10000000) NOT
NULL,PRIMARY KEY(Lecture_id),FOREIGN KEY (Course_id)REFERENCES Course
(Course_id)on DELETE CASCADE ON UPDATE CASCADE );
2.10.1 ER Diagram :
2.10.2 Schema :
CREATE SCHEMA VCS;
USE VCS;
2.11Assumptions and Dependencies :
Although basic password authentication and role based security mechanisms will be used to
protect OPMS from unauthorised access; functionality such as email notifications are assumed to be
sufficiently protected under the existing security policies applied by the University network team.
Redundant Database is setup as the role of backup Database Server when primary database is failure.
3.0 Specific Requirements
3.1 Use Case Reports
Administrator: Responsible for managing all the three types of users, viewing logs and
managing standard groups of the system.
Manage System users:The Administrator will provide the system students,faculties
and dean the authentication to use the site.
View Logs:Responsible for checking the logs of different system user for auditing
and maintaining the integrity of the system.
System Reports:The Administrator is responsible to generate the system reports for the
future reference.
View All Details:View the user’s details,Chatting Details,forum details and mark records.
Back Up Date:The Administrator is responsible to back up all the data at a particular
time everyday.
Manage System Users:
Name of the Use Case:View Systems users
Description: View the list of system users in the role and view the details of roles,tasks and
permissions assigned to the users.
Preconditions:
Administrator is already logged in.
Users have already been created and assigned some roles,tasks and permissions.
Normal Flow Of Events:
The system user or the role will be selected.
Query will be submitted.
Relevant output will be displayed.
Alternate Flow Of Events: None
Post Condition: None
3.2 Supplementary Requirements
Have Hours of Operation that are 24*7:Because System Can be authenticated it
can stay open for 24 hours a day.
Reduce the cost of sales transaction:To the extend one can automate the
sales process through this system ,one can start to reduce the sales of that sales
transaction.
Make the existing website more Dynamic in nature:Many early web
implementation consisted of static HTML pages.This because it becomes difficult to
manage if the number of pages get too large.Application should serve dynamic user
based customized web pages to its client from server.
Tie the existing website into the existing enterprise system:Any
existing website that relies from the manual duplication of data from another system is
one that can be improved.