You are on page 1of 34

CONTENTS

1. Certificate 1
2. Certificate of approval
2
3. Declaration 3
4. Acknowledgement 4
5. Objective & Scope of the Project 6
6. Theoretical Background 8
7. Definition of Problem 21
8. System Analysis & User Requirements 22
9. System Planning (PERT Chart) 23
10. Methodology adopted, System Implementation & Details of H/W& S/W used 25
11. Detailed Life Cycle of the Project 26
12. ERD, DFD 29

13. Process involved, Algorithm, Flowchart, Database diagram


32

14. Input and Output Screen Design(Snapshots)


39

15. Methodology used for testing


56

16. User/Operational Manual (security aspects, access rights, back up, controls, etc.) 58

17. Future enhancement 60

18. Conclusions 61

19. references 63
1. Objective & Scope

1.1 Objective

This is a web oriented application allows us to access the whole information about the
college, staffs, students, facilities etc. This application provides a virtual tour of Campus.
Here we will get the latest information about the students and staffs. This generic
application designed for assisting the students of an institute regarding information on the
courses, subjects, classes, assignments, grades and timetable. It also provides support that
a faculty can also check about his daily schedule, can upload assignments, and notices to
the students. Here administrator will manage the accounts of the student and faculties,
makes the timetable, and upload the latest information about the campus.

1.2 Scope

 College information: Through this service one can access the complete
information about the college campus such as courses available, admission
procedure, placements, college events, achievements etc.

 Student tracking: Any company or any organization that want to check the
summary about the student of the college, so that they will be able to choose the
particular students for their campus placement And for that purpose they will be
given a particular link through which they can access the information required.
 Student attendance status: It gives the attendance status of students. Faculty will
update the attendance periodically and can be seen by students and parents.

 Student’s performance in exams: This facility provides the performance of the


student in each exam which is conducted by university or college such as midterm
performance. Marks obtained by students in exams will be updated by faculties
that can be access by students and parents.

 Exam Notification: This facility notifies students and parents about examination
schedule.

 Events: It will give information about different events that will be conducted by
college time to time. Information about these events will be updated by
administrator.

 Online assignments: This service provides the facility to faculty to upload


assignments and to students to submit these assignments online.

 Information about staff: It will help in maintaining complete information about


college faculty members such as their department, cadre, date of joining, salary,
etc. Administrator will register new faculties and remove their account when they
leave the college.
2. Theoretical Background

Today in colleges student details are entered manually. The student details in
separate records are tedious task. Referring to all these records and updating is needed.
There is a chance for more manual errors.
Problems in existing system:

 It was limited to a single system.


 It was less user-friendly.
 It have a lots of manual work (Manual system does not mean that we are working
with pen and paper, it also include working on spread sheets and other simple
software's)
 It requires more no of employees need to work.
 It was time consuming process.
 The present system was very less secure.
 It is unable to generate different kinds of report.

Solution to these problems:

The development of the new system contains the following activities, which try to
automate the entire process keeping in view of the database integration approach.

 User friendliness is provided in the application with various controls.

 The system makes the overall project management much easier and flexible.

 It can be accessed over the Internet.


 Various classes have been used to provide file upload and mail features.

 There is no risk of data mismanagement at any level while the project


development is under process.

 It provides high level of security using different protocols like https etc.

3. Problem Definition

The existing system which we using in our college is

traditional process is a complete manual process. To

Reduce to override the problems prevailing in the

practicing manual system we develop Our College

Management System.
4. System analysis & planning v/s user requirement

4.1 User requirements:

The following requirements are raised during the analysis of the needs of the users:

 A Person Should be able to login to the system through the first page of the
Application.
 The Administrator can create users as per user requirement.
 Admin can upload the data for a particular Student. On successful completion of
upload, user (Student/Parent/Faculty) can view reports.
 A general user will have access to see the status of particular Student id number.
 Student (user) can use all the facilities, same as which are provided to him in the
college.
 Student can see attendance, notices, grades, report and other facilities in updated
manner.
 There will be a separate page for every student as his account in which he can get
notices, attendance, grades, assignments etc.
 Parent can just view the record of student with the username and password
provided.
 Faculty can give the attendances and notices for the students.
 The administrator verifies all these reports and generates them for users to view
them.
After analyzing the requirements of the task to be performed, the next step is to analyze
the problem and understand its context. The first activity in the phase is studying the
existing system and other is to understand the requirements and domain of the new
system. Both the activities are equally important, but the first activity serves as a basis of
giving the functional specifications and then successful design of the proposed system.
Understanding the properties and requirements of a new system is more difficult and
requires creative thinking and understanding of existing running system is also difficult,
improper understanding of present system can lead diversion from solution.

4.3 Study of the System:

4.3.1 Graphical user interface

In the flexibility of the uses the interface has been developed a graphics concept in mind,
associated through a browses interface. The GUI’S at the top level have been categorized
as

1. Administrative user interface


2. The operational or generic user interface

The administrative user interface concentrates on the consistent information that is


practically, part of the organizational activities and which needs proper authentication for
the data collection. The interfaces help the administrations with all the transactional states
like Data insertion, Data deletion and Date updation along with the extensive data search
capabilities.

The operational or generic user interface helps the users upon the system in transactions
through the existing data and required services. The operational user interface also helps
the ordinary users in managing their own information helps the ordinary users in
managing their own information in a customized manner as per the assisted flexibilities.

4.4 Number of Modules


The system after careful analysis has been identified to be presented with the following
modules:
The modules involved are:

1. College information: Through this service one can access the complete
information about the college campus such as courses available, admission
procedure, placements, college events, achievements etc.
2. Student tracking: Any company or any organization that want to check the
summary about the student of the college, so that they will be able to choose the
particular students for their campus placement And for that purpose they will be
given a particular link through which they can access the information required.

3. Student attendance status: It gives the attendance status of students. Faculty will
update the attendance periodically and can be seen by students and parents.
4. Student’s performance in exams: This facility provides the performance of the
student in each exam which is conducted by university or college such as midterm
performance. Marks obtained by students in exams will be updated by faculties
that can be access by students and parents.
5. Exam Notification: This facility notifies students and parents about examination
schedule.
6. Events: it will give information about different events that will be conducted by
college time to time. Information about these events will be updated by
administrator.
7. Online assignments: This service provides the facility to faculty to upload
assignments and to students to submit these assignments online.
8. Information about staff: It will help in maintaining complete information about
college faculty members such as their department, cadre, date of joining, salary,
etc. Administrator will register new faculties and remove their account when they
leave the college.

ER-Diagram and Data Flow Diagram


ER-Diagram:-
1) Regression Testing - Regression testing is any type of software testing that
seeks to uncover software regressions. Such regression occurs whenever software
functionality that was previously working correctly stops working as intended.
Typically regressions occur as an unintended consequence of program changes.
Common methods of regression testing include re-running previously run tests
and checking whether previously fixed faults have re-emerged.
2) Non Functional Software Testing - Special methods exist to test non-functional
aspects of software.
 Performance testing checks to see if the software can handle large quantities of
data or users. This is generally referred to as software scalability. This activity of
Non Functional Software Testing is often times referred to as Load Testing.

 Stability testing checks to see if the software can continuously function well in or
above an acceptable period. This activity of Non Functional Software Testing is
often times referred to as indurations test.

 Usability testing is needed to check if the user interface is easy to use and
understand.
 Security testing is essential for software which processes confidential data and to
prevent system intrusion by hackers.

 Internationalization and localization is needed to test these aspects of software, for


which a pseudo localization method can be used.
Class Diagram:
Sequence dia:
ERD:
Class Dia:

Activity Diagram:
Feasibility Study:
CODING
Login Page:- It begins with the landing page where student,staff and administrator login
module are available.

1)STUDENT MODULE:– This module used to see understudy


profile ,understudies can see their participation, see their imprints see
notices given by the workforce or head or anything like when school
begins or the test dates. Understudy can likewise give whine about any
issue related querry and difficulties they wanna report to the College.

2) STAFF MODULE:- The staff can update the information regarding the student's
attendance, internal marks of the students and any information regarding the subjects they
handle. They can also view the student details for better understanding the student
performance and improve the efficiency of the student.
3) Admin:- This is the main module that has to be managed by the HOD of the
Computer department. Here the admin can admit new students, remove any if
they have left the college or anything, add and remove the staff members .Next he
can see the list of students manage their attendance view marks send notifications
it will be like the notice section of the college in which the College activities,
Exam dates and any other important message can be share by the students and
also check complains sent by the students so action can be taken in time.

import sys,sqlite3,time
from PyQt5 import QtGui

class DBHelper():
def __init__(self):
self.conn=sqlite3.connect("sdms.db")
self.c=self.conn.cursor()
self.c.execute("CREATE TABLE IF NOT EXISTS student(sid
INTEGER,Sname TEXT,dept INTEGER,year INTEGER,course_a
INTEGER,course_b INTEGER,course_c INTEGER)")
self.c.execute("CREATE TABLE IF NOT EXISTS faculty(fid
INTEGER,f_name TEXT,course INTEGER,dept INTEGER,class_room
INTEGER)")
self.c.execute("CREATE TABLE IF NOT EXISTS Course(cid
INTEGER,c_name INTEGER,faculty TEXT,credit INTEGER,type
INTEGER,slot INTEGER,No_enrolled INTEGER)")

def addStudent(self,sid ,Sname ,dept ,year ,course_a ,course_b ,course_c ):


try:
self.c.execute("INSERT INTO
student(sid ,Sname ,dept ,year ,course_a ,course_b ,course_c) VALUES
(?,?,?,?,?,?,?)",(sid ,Sname ,dept ,year ,course_a ,course_b ,course_c))
self.conn.commit()
self.c.close()
self.conn.close()
QMessageBox.information(QMessageBox(),'Successful','Student is added
successfully to the database.')
except Exception:
QMessageBox.warning(QMessageBox(), 'Error', 'Could not add student to
the database.')

def searchStudent(self,sid):

self.c.execute("SELECT * from student WHERE sid="+str(sid))


self.data=self.c.fetchone()

if not self.data:
QMessageBox.warning(QMessageBox(), 'Error', 'Could not find any
student with roll no '+str(sid))
return None
self.list=[]
for i in range(0,7):
self.list.append(self.data[i])
self.c.close()
self.conn.close()
showStudent(self.list)

def deleteRecord(self,sid):
try:
self.c.execute("DELETE from student WHERE sid="+str(sid))
self.conn.commit()
self.c.close()
self.conn.close()
QMessageBox.information(QMessageBox(),'Successful','Student is
deleted from the database.')
except Exception:
QMessageBox.warning(QMessageBox(), 'Error', 'Could not delete student
from the database.')

class Login(QDialog):
def __init__(self, parent=None):
super(Login, self).__init__(parent)
self.userNameLabel=QLabel("Username")
self.userPassLabel=QLabel("Password")
self.textName = QLineEdit(self)
self.textPass = QLineEdit(self)
self.buttonLogin = QPushButton('Login', self)
self.buttonLogin.clicked.connect(self.handleLogin)
layout = QGridLayout(self)
layout.addWidget(self.userNameLabel, 1, 1)
layout.addWidget(self.userPassLabel, 2, 1)
layout.addWidget(self.textName,1,2)
layout.addWidget(self.textPass,2,2)
layout.addWidget(self.buttonLogin,3,1,1,2)

self.setWindowTitle("Login")

def handleLogin(self):
if (self.textName.text() == '' and
self.textPass.text() == ''):
self.accept()
else:
QMessageBox.warning(
self, 'Error', 'Bad user or password')

def showStudent(list):
sid=0
dept = ""
year = ""
sname = ""
course_a = ""
course_b = ""
course_c = ""

sid=list[0]
sname=list[1]

if list[2]==0:
dept="Mechanical Engineering"
elif list[2]==1:
dept="Chemical Engineering"
elif list[2]==2:
dept="Software Engineering"
elif list[2]==3:
dept="Biotech Engineering"
elif list[2]==4:
dept="Computer Science and Engineering"
elif list[2]==5:
dept="Information Technology"

if list[3]==0:
year="1st"
elif list[3]==1:
year="2nd"
elif list[3]==2:
year="3rd"
elif list[3]==3:
year="4th"

if list[4]==0:
course_a="DBMS"
elif list[4]==1:
course_a="OS"
elif list[4]==2:
course_a="CN"
elif list[4]==3:
course_a="C++"
elif list[4]==4:
course_a="JAVA"
elif list[4]==5:
course_a="PYTHON"
elif list[4]==6:
course_a="THERMO"
elif list[4]==7:
course_a="MACHINE"
elif list[4]==8:
course_a="CELLS"
elif list[4]==9:
course_a="DS"
elif list[4]==10:
course_a="CRE"
elif list[4]==11:
course_a="MICROBES"
elif list[4]==12:
course_a="FERTILIZER"

if list[5]==0:
course_b="DBMS"
elif list[5]==1:
course_b="OS"
elif list[5]==2:
course_b="CN"
elif list[5]==3:
course_b="C++"
elif list[5]==4:
course_b="JAVA"
elif list[5]==5:
course_b="PYTHON"
elif list[5]==6:
course_b="THERMO"
elif list[5]==7:
course_b="MACHINE"
elif list[5]==8:
course_b="CELLS"
elif list[5]==9:
course_b="DS"
elif list[5]==10:
course_b="CRE"
elif list[5]==11:
course_b="MICROBES"
elif list[5]==12:
course_b="FERTILIZER"

if list[6]==0:
course_c="DBMS"
elif list[6]==1:
course_c="OS"
elif list[6]==2:
course_c="CN"
elif list[6]==3:
course_c="C++"
elif list[6]==4:
course_c="JAVA"
elif list[6]==5:
course_c="PYTHON"
elif list[6]==6:
course_c="THERMO"
elif list[6]==7:
course_c="MACHINE"
elif list[6]==8:
course_c="CELLS"
elif list[6]==9:
course_c="DS"
elif list[6]==10:
course_c="CRE"
elif list[6]==11:
course_c="MICROBES"
elif list[6]==12:
course_c="FERTILIZER"
elif list[6]==13:
course_c="PLANTS"
elif list[6]==14:
course_c="MOBLIE APP"

table=QTableWidget()
tableItem=QTableWidgetItem()
table.setWindowTitle("Student Details")
table.setRowCount(7)
table.setColumnCount(2)

table.setItem(0, 0, QTableWidgetItem("Roll"))
table.setItem(0, 1, QTableWidgetItem(str(sid)))
table.setItem(1, 0, QTableWidgetItem("Name"))
table.setItem(1, 1, QTableWidgetItem(str(sname)))
table.setItem(2, 0, QTableWidgetItem("Department"))
table.setItem(2, 1, QTableWidgetItem(str(dept)))
table.setItem(3, 0, QTableWidgetItem("Year"))
table.setItem(3, 1, QTableWidgetItem(str(year)))
table.setItem(4, 0, QTableWidgetItem("Slot A"))
table.setItem(4, 1, QTableWidgetItem(str(course_a)))
table.setItem(5, 0, QTableWidgetItem("Slot B"))
table.setItem(5, 1, QTableWidgetItem(str(course_b)))
table.setItem(6, 0, QTableWidgetItem("Slot C"))
table.setItem(6, 1, QTableWidgetItem(str(course_c)))
table.horizontalHeader().setStretchLastSection(True)
table.show()
dialog=QDialog()
dialog.setWindowTitle("Student Details")
dialog.resize(500,300)
dialog.setLayout(QVBoxLayout())
dialog.layout().addWidget(table)
dialog.exec()

class AddStudent(QDialog):
def __init__(self):
super().__init__()

self.dept=-1
self.year=-1
self.sid=-1
self.sname=""
self.course_a=-1
self.course_b=-1
self.course_c=-1
self.btnCancel=QPushButton("Cancel",self)
self.btnReset=QPushButton("Reset",self)
self.btnAdd=QPushButton("Add",self)

self.btnCancel.setFixedHeight(30)
self.btnReset.setFixedHeight(30)
self.btnAdd.setFixedHeight(30)

self.yearCombo=QComboBox(self)
self.yearCombo.addItem("1st")
self.yearCombo.addItem("2nd")
self.yearCombo.addItem("3rd")
self.yearCombo.addItem("4th")

self.branchCombo = QComboBox(self)
self.branchCombo.addItem("Mechanical")
self.branchCombo.addItem("Chemical")
self.branchCombo.addItem("Software")
self.branchCombo.addItem("Biotech")
self.branchCombo.addItem("Computer Science")
self.branchCombo.addItem("Information Technology")

self.cACombo = QComboBox(self)
self.cACombo.addItem("DBMS")
self.cACombo.addItem("OS")
self.cACombo.addItem("CN")
self.cACombo.addItem("C++")
self.cACombo.addItem("JAVA")
self.cACombo.addItem("PYTHON")
self.cACombo.addItem("THERMO")
self.cACombo.addItem("MACHINE")
self.cACombo.addItem("CELLS")
self.cACombo.addItem("DS")
self.cACombo.addItem("CRE")
self.cACombo.addItem("MICROBES")
self.cACombo.addItem("FERTILIZER")
self.cACombo.addItem("PLANTS")

self.cBCombo = QComboBox(self)
self.cBCombo.addItem("DBMS")
self.cBCombo.addItem("OS")
self.cBCombo.addItem("CN")
self.cBCombo.addItem("C++")
self.cBCombo.addItem("JAVA")
self.cBCombo.addItem("PYTHON")
self.cBCombo.addItem("THERMO")
self.cBCombo.addItem("MACHINE")
self.cBCombo.addItem("CELLS")
self.cBCombo.addItem("DS")
self.cBCombo.addItem("CRE")
self.cBCombo.addItem("MICROBES")
self.cBCombo.addItem("FERTILIZER")
self.cBCombo.addItem("PLANTS")

self.cCCombo = QComboBox(self)
self.cCCombo.addItem("DBMS")
self.cCCombo.addItem("OS")
self.cCCombo.addItem("CN")
self.cCCombo.addItem("C++")
self.cCCombo.addItem("JAVA")
self.cCCombo.addItem("PYTHON")
self.cCCombo.addItem("THERMO")
self.cCCombo.addItem("MACHINE")
self.cCCombo.addItem("CELLS")
self.cCCombo.addItem("DS")
self.cCCombo.addItem("CRE")
self.cCCombo.addItem("MICROBES")
self.cCCombo.addItem("FERTILIZER")
self.cCCombo.addItem("PLANTS")
self.cCCombo.addItem("MOBILE APP")

self.rollLabel=QLabel("Roll No")
self.nameLabel=QLabel("Name")
self.cALabel = QLabel("Slot A")
self.yearLabel = QLabel("Current Year")
self.cBLabel = QLabel("Slot B")
self.branchLabel = QLabel("Branch")
self.cCLabel=QLabel("Slot C")

self.rollText=QLineEdit(self)
self.nameText=QLineEdit(self)

self.grid=QGridLayout(self)
self.grid.addWidget(self.rollLabel,1,1)
self.grid.addWidget(self.nameLabel,2,1)
self.grid.addWidget(self.yearLabel, 3, 1)
self.grid.addWidget(self.branchLabel, 4, 1)
self.grid.addWidget(self.cALabel, 5, 1)
self.grid.addWidget(self.cBLabel, 6, 1)
self.grid.addWidget(self.cCLabel,7,1)

self.grid.addWidget(self.rollText,1,2)
self.grid.addWidget(self.nameText,2,2)
self.grid.addWidget(self.yearCombo, 3, 2)
self.grid.addWidget(self.branchCombo, 4, 2)
self.grid.addWidget(self.cACombo, 5, 2)
self.grid.addWidget(self.cBCombo, 6, 2)
self.grid.addWidget(self.cCCombo,7,2)
self.grid.addWidget(self.btnReset,9,1)
self.grid.addWidget(self.btnCancel,9,3)
self.grid.addWidget(self.btnAdd,9,2)

self.btnAdd.clicked.connect(self.addStudent)
self.btnCancel.clicked.connect(self.Close)
self.btnReset.clicked.connect(self.reset)

self.setLayout(self.grid)
self.setWindowTitle("Add Student Details")
self.resize(500,300)

def Close(self):
self.close()

def reset(self):
self.rollText.setText("")
self.nameText.setText("")

def addStudent(self):
self.year=self.yearCombo.currentIndex()
self.dept=self.branchCombo.currentIndex()
self.sid=int(self.rollText.text())
self.sname=self.nameText.text()
self.course_a=self.cACombo.currentIndex()
self.course_b=self.cBCombo.currentIndex()
self.course_c=self.cCCombo.currentIndex()

self.dbhelper=DBHelper()
self.dbhelper.addStudent(self.sid,self.sname,self.dept ,self.year ,self.course_a
,self.course_b ,self.course_c )
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.rollToBeSearched=0
self.vbox = QVBoxLayout()
self.text = QLabel("Enter the roll no of the student")
self.editField = QLineEdit()
self.btnSearch = QPushButton("Search", self)
self.btnSearch.clicked.connect(self.showStudent)
self.vbox.addWidget(self.text)
self.vbox.addWidget(self.editField)
self.vbox.addWidget(self.btnSearch)
self.dialog = QDialog()
self.dialog.setWindowTitle("Enter Roll No")
self.dialog.setLayout(self.vbox)

self.rollForDelete = 0
self.vboxDelete = QVBoxLayout()
self.textDelete = QLabel("Enter the roll no of the student")
self.editFieldDelete = QLineEdit()
self.btnSearchDelete = QPushButton("Search", self)
self.btnSearchDelete.clicked.connect(self.deleteRecord)
self.vboxDelete.addWidget(self.textDelete)
self.vboxDelete.addWidget(self.editFieldDelete)
self.vboxDelete.addWidget(self.btnSearchDelete)
self.dialogDelete = QDialog()
self.dialogDelete.setWindowTitle("Delete Record")
self.dialogDelete.setLayout(self.vboxDelete)

layout = QGridLayout() # Using a GridLayout to allow the widget to be


resized

self.btnEnterStudent=QPushButton("Enter Student Details",self)


self.btnShowStudentDetails=QPushButton("Show Student Details",self)
self.btnDeleteRecord=QPushButton("Delete record",self)

self.picLabel=QLabel(self)
self.picLabel.resize(150,150)
self.picLabel.move(120,10)
self.picLabel.setScaledContents(True)
self.picLabel.setPixmap(QtGui.QPixmap("user.png"))
layout.addWidget(self.picLabel, 0, 0) # Choose row and column for every
widget

self.btnEnterStudent.move(15,170)
self.btnEnterStudent.resize(180,40)
self.btnEnterStudentFont=self.btnEnterStudent.font()
self.btnEnterStudentFont.setPointSize(13)
self.btnEnterStudent.setFont(self.btnEnterStudentFont)
self.btnEnterStudent.clicked.connect(self.enterstudent)
layout.addWidget(self.btnEnterStudent, 1, 0)

self.btnDeleteRecord.move(205,170)
self.btnDeleteRecord.resize(180, 40)
self.btnDeleteRecordFont = self.btnEnterStudent.font()
self.btnDeleteRecordFont.setPointSize(13)
self.btnDeleteRecord.setFont(self.btnDeleteRecordFont)

self.btnDeleteRecord.clicked.connect(self.showDeleteDialog)
layout.addWidget(self.btnDeleteRecord, 1, 1) #2222

self.btnShowStudentDetails.move(15, 220)
self.btnShowStudentDetails.resize(180, 40)
self.btnShowStudentDetailsFont = self.btnEnterStudent.font()
self.btnShowStudentDetailsFont.setPointSize(13)
self.btnShowStudentDetails.setFont(self.btnShowStudentDetailsFont)
self.btnShowStudentDetails.clicked.connect(self.showStudentDialog)
layout.addWidget(self.btnShowStudentDetails, 2, 0)

w = QWidget()
w.setLayout(layout)
self.setCentralWidget(w) # setting the layout to central window

self.setFixedSize(400,280)
self.setWindowTitle("Student Database Management System")

def enterstudent(self):
enterStudent=AddStudent()
enterStudent.exec()

def showStudentDialog(self):
self.dialog.exec()

def showDeleteDialog(self):
self.dialogDelete.exec()

def showStudent(self):
if self.editField.text() is "":
QMessageBox.warning(QMessageBox(), 'Error','You must give the roll
number to show the results for.')
return None
showstudent = DBHelper()
showstudent.searchStudent(int(self.editField.text()))

def deleteRecord(self):
if self.editField.text() is "":
QMessageBox.warning(QMessageBox(), 'Error','You must give the roll
number to show the results for.')
return None
delrecord = DBHelper()
delrecord.deleteRecord(int(self.editFieldDelete.text()))

if __name__ == '__main__':
app = QApplication(sys.argv)
login = Login()

if login.exec_() == QDialog.Accepted:
window = Window()
window.show()
sys.exit(app.exec_())

CONCLUSION

This paper assists in automating the existing manual system. This is a paperless work. It can
be monitored and controlled remotely. It reduces the man power required. It provides
accurate information always. Malpractice can be reduced. All years together gathered
information can be saved and can be accessed at any time. The data which is stored in the
repository helps in taking intelligent decisions by the management. So it is better to have a
Web Based Information Management system. All the stakeholders, faculty and management
can get the required information without delay. This system is essential in the
colleges/hostels and universities.

You might also like