Professional Documents
Culture Documents
Submitted to Submitted By
<Professor Name> <Name>
<Other Detail>
<Course>
Index
Acknowledgement
Software Development Methodology
Introduction
Waterfall Model
Requirement Analysis
Feasibility Study
System Design
Coding
Testing and Implementation
Maintenance
Comparison between old system and new system
System Requirement Specification (SRS)
Introduction
Purpose
Document Conventions
Intended Audience and Reading Suggestions
Project Scope
References
Overall Description
Product Perspective
Product Features
User Classes and Characteristics
Operating Environment
Assumptions and Dependencies
External Interface Requirements
User Interfaces
Hardware Interfaces
Software Interfaces
Communications Interfaces
Other Non functional Requirements
Performance Requirements
Safety Requirements
Security Requirements
Software Quality Attributes
Bibliography
Acknowledgement
I gratefully acknowledge for the assistance, cooperation, guidance and clarifications
provided by Google during the development of the College management system. My
extreme gratitude to Mr. Nischal Sharma who guided me throughout the project. Without
his willing disposition, spirit of accommodation, frankness, timely clarification and above all
faith in me, this project could not have been completed in due time.
His readiness to discuss all important matters at work deserves special attention. We would
also like to thank the while faculty of the college for the cooperation and important support.
Software Development Methodology
The establishment and use of software engineering principles in order to obtain
economically developed software that is reliable and works efficiently on real machines is
called software engineering.
Software process is the way in which we produce the software. Apart from hiring smart,
knowledgeable engineers and buying the latest development tools, effective software
development process is also needed, so that engineers can systematically use the best
technical and managerial practices to successfully complete their projects.
A software development life cycle is the series of identifiable stages that a software
product undergoes during its lifetime .A software lifecycle model is a descriptive and
diagrammatic representation of the software life cycle .A life cycle model represents all the
activities required to make a software product transit through its lifecycle phases .It also
captures the order in which these activities are to be taken. Life Cycle Models
There are various life cycle models to improve the software processes.
Waterfall Model
V-Neck Model
Prototype Model
Iterative Enhancement Model
Evolutionary Model
Spiral Model
All the above mentioned models have their own advantages and disadvantages, like the
waterfall model is really reliable and useful for small projects like for schools and college
project but for bigger projects in big companies this model will if the software being
developed is being developed from scratch. The better model for bigger project is Iterative
Enhancement Model or Evolutionary model. The other models are useful when developing
other types of software for example porting a software from one platform to another or
changing the technology of an already working project to increase features or that software.
Introduction
CollegeManagementSystem is being developed as required by our client as this system will
make the management of all aspects of the college easy to use and access. Using this system
the students can access their accounts which will be made during their admission and use
this account to check their classes, submit assignment and also keep a check on the
attendance of classes of their subjects. And for teachers it provides options like uploading
the questions for the assignments, marking students attendance, checking the students in
the major and minor subjects and setting the deadline for assignments and practicals.
Purpose:
CollegeManagementSystem fulfils the requirement of the client, by using this system the
whole system of the college will be made digital, from submitting assignment to submitting
fee for the next semester. The students won’t have to worry about missing extra classes or
wait unnecessarily just to get their assignments checked, they can do all of that online
without any hassle and just come to college to take classes and study.
The Phases always occur in this order and do not lap and each phase must be thoroughly
checked before proceeding to the next phase as going back a phase is not an option in this
model.
Requirement Analysis
Requirements given by the client:
The requirements given by the client to the system analyst are thoroughly discussed
below:
An online website hosted on the web server and accessed by the domain purchased
by the client (gckullu.com) .
A homepage which contain details about the college like courses offered, faculty.
Website will have a header will those options available and a
mechanism to change these options easily when required. The header
will also contain the login button which will redirect user to the login
screen.
Login screen for student and teacher which they can use to access their accounts.
The screen contains a username text field, a password text field,
forgot password button, a security module for protection against
spam and bots.
A college administrator account which will be used to create students and teacher
accounts during their admissions or when they join the institute respectively.
The following modules must be available to the student accounts:
Change Details: Using this module the students can submit the change
that they require to be made in their basic details available on the
website like DOB, Spelling of the name. Students can submit their
request and the college can approve of them if they deem it
necessary.
Submit Assignments: Students should be able to submit their
assignments to the respective teacher by uploading the assignment to
the website. Student can also see the due date for the assignment
and if the assignment has been graded or not.
Leave System: Students can submit a leave application for whichever
class they require and the application later can be accepted or
rejected by the teacher with the reason for rejection or acceptance
given below.
Notice Board: A simple notice board that the teachers can put
announcements and events happening in the college which can be
viewed b y all the students and also different notice boards for
different major subject should also be available.
Login and Logout options so the user can login to their accounts with
different account and logout from the previous ones.
The flowing modules must be available to the teachers account:
Change Details: Just like the students module teachers can change
their personal details and they can be verified by the college
administrator ( residing principal).
Check Assignments: This module is so that the teacher can check all
the assignments submitted by the students and grade them online on
the website for the students to check as well.
Submit Leave application: Teacher can also submit leave applications
which can be authorised by the principal using the college account
and can also be rejected if required.
Check leave of students: Teacher can check the leave applications
submitted by the students and either authorise them or reject them if
leave application if not official.
Change Notice board: The teacher can view the notice board and put
up announcements either on the global notice board which will be
visible to everyone who visits the website or on special notice boards
present for students of different major. Like practical datasheets and
time table.
The android app requested by the user is not feasible as the website being
developed will be fully optimised for the mobile devices, tablets and of course
computer systems. Making an app for the system will not only be time costly but
also economically unbeneficial as the app will be required to be on the play store
which isn’t free otherwise the app will be unofficial and others can copy the app
modify it and that would also weaken the security of not only the app but the whole
system making unnecessary bugs and vulnerabilities.
Time Feasibility for making of the system:
The project will be started from 10th October, the estimated time by when
the project will be completed is 10th May. Which is 3 months more than
required by the client but it is more feasible then the time given by the client
as the website to be created have to be tested and bug free by the time of
the release.
The first 2 months (Oct 10th 2017 to Dec 10th 2017) will be given only to the
designing of the system so that there are no problems when the real making
of the project start all the databases and required WebPages and their design
will be done in the first 2 months, that includes all the tables in the
databases and the relations between them.
The next 3 months (Dec 10th 2017 to 10th March 2018) the real coding of the
project will be done, the database to be created all the coding for the
WebPages in HTML, JavaScript, PHP, Java applets. Once a working prototype
is ready ( by 10th March) the client will be given the software to analyse and
evolve if required.
The last 2 months ( 10th March 2018 to 10th May 2018) will be done the
testing of the project all the phases of the testing will be followed in an
accordingly manner and the system will be thoroughly tested under heavy
usage to find and patch any bugs and error found in the system.
The final system will be available to the college for working by 10Th May
2018, which will give the college enough time to set and understand the
given system by the time new admission and semester start.
Maintenance of the system will be carried on for 2 years from the starting of
the system for free and it will cost the client more as the system will need to
evolve with the technology around it.
The bugs and error found in the system during the 1st year of the deployment
will be again fixed free of charge and as soon as possible by the developer
team.
System Design
Entity Relationship Diagram:
SOFTWARE QUALITY IMPROVEMENT: The computer and the software are mainly
used for complex and critical applications and a bug or fault in software causes
severe losses. So a great consideration is required for checking for quality of
software.
VERIFICATION AND VALIDATION:
Verification means to test that we are building the product in right way .i.e.
are we using the correct procedure for the development of software so that
it can meet the user requirements.
Validation means to check whether we are building the right product or not.
SOFTWARE RELIABILTY ESTIMATION: The objective is to discover the residual
designing errors before delivery to the customer. The failure data during process are
taken down in order to estimate the software reliability.
The first level is unit testing. In this testing, individual components are tested to
ensure that they operate correctly. It focuses on verification efforts.
The second level is integration testing. It is a systematic technique for constructing
the program structure. In this testing, many tested modules are combined into the
subsystem which are then tested. The good here is to see if the modules can be
integrated properly.
Third level is system testing. System testing is actually a series of different tests
whose primary purpose is to fully exercise computer based system. These tests fall
outside scope of software process and are not conducted solely by software
engineers.
Maintenance
The maintained of the system will be carried out in the manner explained below:
Hardware Maintenance: The hardware required for the system is a server which is
capable of hosting the website and the database online so that the website can be
accessed everywhere. The server will be maintained ever 6 months for 1 year for
free, costly an annual fee from then on. The hardware will be maintained by
checking how the efficiency of the server is after all those user accounts being
created, updated, assignments stored and if required by the college it will be
upgraded as necessary.
Software Maintenance: The main part of the system is obviously the software and
the maintenance of the Software system will be done every 6 months for 2 years
free of cost, after which it will again cost an annual free, during the system
maintenance following components will be checked/maintained:
The method of storing the data to the database is still as efficient as it was
during the deployment of the software of not, and if required another
algorithm to be used to increase the efficiency is possible.
The connection of the website and database is still good for large amount to
data as it was in the beginning.
Adding new features or upgrading existing features as required by the client
and if the feasibility study is working for those features.
System Maintenance: The whole working of the system will be checked in this phase
and how all the modules of the system are working and how much friction (
hypothetically) is between them and calculating when it will be higher that would
want the system to be upgraded.
Comparison between the old system and new system
The manual system being using right now in the college to manage the students and even
the teachers is becoming more and more efficient day by day. The manual work takes days
to complete which could be completed in a few minutes by using the new technology in our
hands.
The old system was analysed and its key points are mentioned below and compared with
the new features the system will provide:
The attendances of the students is marked in the registers and counted at the end
of the semester, without letting the student know how much his attendance was
(unless asked for of course) but by using the online system for attendance the
teachers can use their mobile phones to log in to the website and mark the
attendance for that day and class directly at the website by doing this the website
will automatically calculate the students attendance in percentage by using the total
number of classes that took place and this data can also be viewed by the student
when required by the student account.
The marks for the Unit test are written on the notice board and sometimes not even
there. By using the system the teachers can input the marks on the website which
can be again easily viewed by the students.
The assignments have to be submitted by students and almost the majority of them
have no idea what the last date is or even what the questions for the assignments
are, by using the online system the teacher can set the deadline for the assignments
and all the students of that subject will be notified of that and the teacher can also
upload the questions that are to be written for the assignment. And the student can
then submit the assignment by uploading it on the website or by giving the physical
copy to the concerned teacher and check the marks for the assignment on the
website as well.
Online leave system where the students and teachers can submit their leaves from
home rather than coming all the way to the college just to submit an application.
This will be really beneficial for both the students and the teachers rather than using
the manual system.
The students have to come from their homes and some of them from really far away
just to find that the teacher that was taking the class is on leave for that day and this
wastes the students time like a lot. But by using the website the teacher can open it
up and mark themselves on leave and it will be notified to the students having their
class for that day. This will not only help student but teachers to find which teacher
is on leave and for how long.
System Requirement Specification (SRS)
1. Introduction:
The following subsection of the SRS document provides an overview of the entire
SRS.
I. Purpose:
The purpose of this document is to build an online system to manage college
academic part and students to ease the flight management.
II. Document Convention:
This document uses the following conventions:
DB Database
DDB Distributed Database
ER Entity Relationship
Therefore a database is setup at the college and the all the data stored there
and a web server to get the website online for all the users.
The following websites were also very helpful during the making of the project:
https://krazytech.com
https://wikipedia.com
https://techwhirl.com
https://scribd.com