Student Information Management System: Project Report
Student Information Management System: Project Report
ON
STUDENT INFORMATION
MANAGEMENT SYSTEM
GUIDED BY:
Mr Anil Kumar
PREPARED BY:
There are many people who have helped us directly or indirectly in the successful
completion of our project. We would like to take this opportunity to thank one and all.
We are very thankful to our project guide Mr Anil Kumar who has been inspiring guide
and committed caretaker for his unflinching devotion. The encouragement and support by
him, especially in carrying out this project motivated me to complete this project.
We would like to thank all our friends for their help and constructive criticism during our
project period. Finally, we are very much indebted to our parents for their moral support
and encouragement to achieve goals.
Naincy Chittransh
Deepika Kabra
Jassa Singh
Certificate
This is to certify that the major project entitled “Student Information Management
System” has been successfully completed by Naincy Chittransh, Deepika Kabra and Jassa
Singh in partial fulfilment of the requirements for the Bachelor in Computer Science
honours, University of Delhi. This work was carried out by them under our supervision
and guidance during the academic year 2016-2017.
To the best of my knowledge, the matter embodied in the project has not been submitted
to any other University/Institute for the award of any Degree or Diploma.
1. Introduction
1.1. Problem statement
1.2. Process model
2. Requirement Analysis
2.1. Software Requirement Specification
2.2. Data Flow Creation/Diagram
2.3. Data Dictionary
3. Project Management
3.1. Computing Function Point
3.2. Effort
3.3. Schedule, Risk analysis and management, Timeline chart
4. Design Engineering
4.1. Design Concept and Principles
4.2. Data Design
4.3. Architectural Design
4.4. Interface Design
5. Testing
5.1. Software Testing
5.2. Cyclomatic Complexity
Chapter 1
Introduction
In most of the colleges, basic working related to student records is manual, a lot of
paperwork which definitely saves money but to an extent that there is a compromise with
time. Time saved, may otherwise be invested for other important tasks
Attendance is taken manually, and teachers have to keep records in registers, and even
the internal marks evaluation is done manually, and calculating average marks can be a
tiring task at times and whether a student submitted an assignment or not and the marks
in that particular assignment. Maintaining practical list is another hard task for both
students and teachers.
Student issues a book from the library and forgets to return it even when he is not using it
and on top of that, has to pay penalty for late submission of book issued and a person in
need could not use it even and for that a notification on his/her dashboard will be of help.
For any small issues and for acquiring any information, whether related to fee or
attendance, students have to wait as there are other important works going on in
administration office or faculty room or any other place where they could get the
information.
It will make things easier for faculty members, college management department, and
most importantly students, if they could know their personal information and status
anytime they want, through an online portal with a simple interface specifically designed
for them. Teachers no longer would have to keep track of all the student information, just
update all the information through a simple desktop application or let the admin do that.
Our software product will use two independent applications, a LAN based application
through which inputs from various area will be taken and an Online Portal through which
student will be able to retrieve all the information or rather restricted information. This
application can be used by any institution to keep its students updated and the only thing
they need to do is to connect the application with an appropriate database.
Core purpose of designing “Student information Management System” will be to manage
the task related to the college students and to reduce time to search appropriate
information about the students.
GENERAL DESCRIPTION
User Characteristics
The target audience for S.I.M.S product is the college students/staff. The users of this
system are:
Product Perspective
The product will be two standalone applications, a LAN based application for most of the
inputs and a web application for students specifically. The minimum hardware
requirements for the product are specified in this document.
The software project that we aim to create requires a process model that keeps on
developing itself with the advent in technology and never comes to the point where
there is no more advancement. This product will not need many changes once it is
implemented but during the course some changes may be required in the product
related to the structure of the database and so there will be a need to change some
basic interfacing of the application. We need the project to be in sync with the
technology of the new era and so we need a process model in which we can do
modifications whenever we want to do. So, because of this reason we have chosen
the spiral model which will according to us, be the most suitable one for S.I.M.S.
Moreover, Spiral Model works for the entire lifetime of the software.
Purpose
The purpose of this SRS document is to illustrate the requirements of the project and is
intended to help any institution to maintain and manage its student database. It will
contain detailed functional, non-functional and detailed requirements and establishes a
baseline for development of system. The SRS serves as the official means of
communicating user requirements to the developer and provides a common reference
point for both the developer team and the stakeholders. The SRS will evolve over time as
users and developers work together to validate, clarify and expand its contents.
Different intended audience will have different requirements from this SRS.
1. The customers will use this SRS to verify that the developer team has created a
product that is acceptable to the customer.
2. The project manager of developer team will use this SRS to plan milestones and a
delivery date and ensure that the team is on the track during development of the system.
3. The designers will use it as a basis of creating the system’s design. The designers will
continually refer back to this SRS to ensure that the system they are designing will fulfil
the customer’s needs.
4. The developers will use this SRS as a basis of developing the system’s functionality.
They will link the requirements defined in the SRS to the software they create to ensure
that the software they have created will fulfil customer’s demands.
5. The testers will use the SRS to derive test plans and test cases for each requirement.
System Overview
The project aims at:
3. A LAN based interface for other intended employees where they can upload
attendance and internals marks of students (saving a lot of effort and paper work), fees
details, library details.
OVERALL DESCRIPTION
Product Perspective
User interfaces
Admin, who has all type of permission to update data and can change schema of
database. He will also grant permission to other user i.e. Teachers, students etc. He will
keep a track of student fee, practical list, book issue and all other information related to
student. He can also change and maintain the basic information about Staff members.
Teachers will update the assignments, projects and test information, further they will also
update will student marks (if not submitted automatically 0), they will provide these
information will student attendance to The Admin on daily or weekly basis. Library head
will add the book issued to student and the date when student will return it. He would
have a panel with name of all the departments, on clicking a drop down menu naming the
year will come and on selecting any of them the admin could see the students’ status and
could update that. Fee admin will update fee information of all students; he can see the
status of student fee and can update them.
Student who can only see their marks, attendance, fee status, book issued and any other
notice or information in their respective student panel by login from their student ID.
SPECIFIC REQUIREMENTS
Functional Requirements
a. Login: this function will take username and password as input (student id in case
of students) and output will be the corresponding user panel i.e. different panels for
different users. During processing, it will validate the user by matching the details from
the database to avoid unauthorized access.
b. Request Credentials: takes student id, roll number and security answer as input
and provides you with your credentials.
c. Change password: takes username or student id, old password, new password as
input and after verifying updates the password.
d. Logout: Simple let you out of your panel and will direct you to the home page.
e. Add attribute: will take attribute name as input and add it to the corresponding
table. During processing, it will add a new column to the corresponding database table.
f. Add student: will take student name as input and add a corresponding row to the
table. During processing, it will add a new row to the corresponding database table.
g. Edit: lets you edit the corresponding table and make changes in the database as
well.
h. Add class: it will let you select a class name i.e. department name and a particular
semester within that and will add a corresponding block to your interface.
i. Add subject: will let you add a new subject under a particular class and will add
a fresh table corresponding to that class in your interface.
j. Edit details: takes email id, contact number, security answer as input and after
verifying updates it.
a. Security: admin, faculty members, other relevant users will be able to log in to
the student information management System using their login id and a password. Student
may also login through the online interface provided to them using a student id and
password. So any intruder will not be able to access the system in normal situations.
b. Availability: The system shall be available all the time. Student may login
anytime and get the relevant information.
c. Maintainability: How easy is to keep the system as it is and correct defects with
making changes.
d. Portability: Student Information Management System shall run in any Microsoft
Windows environment
e. Reliability: Specify the factors required to establish the required reliability of the
software system at time of delivery. Mean time between failures and mean time to
recovery
f. Reusability: S.I.M.S will be reusable after making few changes.
g. Usability: S.I.M.S is very easy to use i.e. it has a user friendly interface
Software development crew provides their best effort in developing the system. In order
to maintain the reliability and durability of system, some design and implementation
constraints are applied. Availability of an android app for taking attendance, and marking
assignment marks could make the system much simple and easy, but due to time
constraint it is not possible. System will need a minimum memory of 512MB. But it is
recommended to have a memory of 1GB. Considering the client’s budget we decided to
create those interfaces in a simple realistic manner using affordable technology.
Level 0:
A context diagram is a top level (also known as "Level 0") data flow diagram. It only
contains one process node ("Process 0") that generalizes the function of the entire system
in relationship to external entities.
Level 1:
The context-level DFD is then “exploded”, to produce a Level 1 DFD. The Level 1
DFD shows how the system is divided into sub-systems (processes), each of which deals
with one or more of the data flows to or from an external agent, and which together
provide all of the functionality of the system as a whole.
Level 2:
Level 1 DFD is further divided into subsystems, each of which deals with one or more of
the data flows to or from an external agent, and which together provide all of the
functionality of the system as a whole. It also identifies internal data stores that must be
present in order for the system to do its job, and shows the flow of data between the
various parts of the system.
2.3 DATA DICTIONARY
Data dictionary is the centralized collection of information about data. It stores meaning
and origin of data, its relationship with other data, data format for usage etc. Data
dictionary has rigorous definitions of all names in order to facilitate user and software
designers.
Data dictionary is often referenced as meta-data (data about data) repository. It is created
along with DFD (Data Flow Diagram) model of software program and is expected to be
updated whenever DFD is changed or updated.
The data is referenced via data dictionary while designing and implementing software.
Data dictionary removes any chances of ambiguity. It helps keeping work of
programmers and designers synchronized while using same object reference everywhere
in the program.
INTRODUCTION
Project management involves planning, monitoring and control of people, processes and
events that occur, as software evolves from a preliminary concept to an operational
implementation. Effective software project management focuses on the 4 P’s: People,
Product, Process, and Project.
THE PRODUCT Before a project is planned, product objectives and scope should be
established, alternative solutions should be considered and technical and management
constraints should be identified. Objectives identify the overall goal of the product from
customer’s point. Scope identifies the primary data, functions and behaviours that
characterize the product. Alternatives enable managers to select the best approach given
constraints imposed by technical interfaces, personnel availability, delivery deadlines and
budgetary restrictions.
Thus the product factor helps to define the accurate cost estimation, effective risk
assessment and a manageable project schedule.
THE PROJECT Planned and controlled software projects are conducted to manage
complex. To avoid project failure, the project manager must avoid a set of common
warning signs, understand critical success factors and develop a common sense approach
for planning, monitoring and controlling the project.
3.1 Computing Function Point
The Fi (i _ 1 to 14) are value adjustment factors (VAF) based on responses to the
following questions:
Σ fi= 51
TCF (Technical Complexity Factor) = 0.65 + 0.01* (Σ fi) = 0.65 + 0.01*51 = 0.65 +
0.51 = 1.16
FP = UFC * TCF = 87*1.16 = 100.92
3.2 EFFORT
As the name suggests, ‘effort’ is the number of work units that is vital to complete an
activity. If you want to determine any of the other two, you will need to determine the
effort in a project first.
In simpler terms, it is the number of hours we put in, focused on a particular task, to get a
certain job done.
Stakeholders often want to know how much a project will cost. This chiefly depends on
the measure of time members of the project spend on the project.
This project required an overall effort of: 1.5(hours each day)*60(days) =90 hours for
each team member, which is total of 270 hours for three team members.
Risk analysis and management is a series of steps that help a software team to
understand and manage uncertainty. Many problems can plague a software project. A risk
is a potential problem-it might happen, it might not. But regardless of the outcome, it’s
really a good idea to identify it, assess its probability of occurrence, estimate its impact,
and establish a contingency plan should the problem actually occur.
Types of risk
PROJECT RISK They identify potential budgetary, schedule, personnel, resource,
custom potential and requirements problem and their impact on software project. They
threaten the project plan.
BUSINESS RISK They often jeopardize the project or the product and include market
risk, strategic risk, management risk and budget risk.
Risk strategies
REACTIVE A reactive strategy monitors the risk project for likely risk and set aside
resources to deal with them, should they become actual problems. Software team does
nothing about risks until something goes wrong.
Risk analysis
Risk analysis is a technique to identify and assess factors that jeopardize the success of a
project or achieving a goal. This technique also helps define preventive measures to
reduce the probability of these factors from occurring and identify counter measures to
successfully deal with these constraints when they develop to avert possible negative
effects on the competitiveness of the company.
This is achieved by: Risk avoidance, Risk monitoring, Risk management and
contingency plan
Risk management following steps can be taken for resolution of the mentioned risks:
Divide the work among team members properly to meet the deadlines.
Try to finish the work at least 10 days before the deadline, as many changes have to be
incorporated after that.
2. DESIGN
There are three commonly used abstraction mechanisms in software design, namely,
functional abstraction, data abstraction and control abstraction. All these mechanisms
allow us to control the complexity of the design process by proceeding from the abstract
design model to concrete design model in a systematic manner.
Architecture
Software architecture refers to the structure of the system, which is composed of various
components of a program/ system, the attributes (properties) of those components and the
relationship amongst them.
Note that software architecture comprises two elements of design model, namely, data
design and architectural design.
Modularity
Modularity is achieved by dividing the software into uniquely named and addressable
components, which are also known as modules. Note that larger the number of modules a
system is divided into, greater will be the effort required to integrate the modules.
Information Hiding
Modules should be specified and designed in such a way that the data structures and
processing details of one module are not accessible to other modules. They pass only that
much information to each other, which is required to accomplish the software functions.
The way of hiding unnecessary details is referred to as information hiding.
Developing a design model
Data Design It transforms the information domain model created during analysis into the
data structures that will be required to implement the software.
Architectural Design It defines the relationship between major structural elements of the
software.
Interface Design It describes how the software communicates within itself, with systems
that interoperate with it and with the users who use it.
Library details:
Fee details:
Evaluation details:
Student details:
(5) Resultant structure is refined using design measures and heuristics, and
To map these data flow diagrams into software architecture, you would initiate the
following design steps:
Step 3.Determine whether the DFD has transform or transaction flow characteristics.
Step 4.Isolate the transform centre by specifying incoming and outgoing flow boundaries
Step 7.Refine the first-iteration architecture using design heuristics for improved
software quality.
4.4 INTERFACE DESIGN
Chapter 5
TESTING
As the number of possible tests for even simple software components is practically
infinite, all software testing uses some strategy to select tests that are feasible for the
available time and resources. As a result, software testing typically (but not exclusively)
attempts to execute a program or application with the intent of finding software bugs
(errors or other defects).
Software testing can provide objective, independent information about the quality of
software and risk of its failure to users and/or sponsors.[1]
Testing Strategies
A test strategy is an outline that describes the testing approach of the software
development cycle. It is created to inform project managers, testers, and developers about
some key issues of the testing process. This includes the testing objective, methods of
testing new functions, total time and resources required for the project, and the testing
environment.
Levels of testing
Unit testing
Integration testing
Validation testing
Focus is on software requirements
System testing
Focus is on system integration
Alpha/Beta testing
Focus is on customer usage
Recovery testing
Forces the software to fail in a variety of ways and verifies that recovery is properly
performed
Security testing
Verifies that protection mechanisms built into a system will, in fact, protect it from
improper penetration
Stress testing
Executes a system in a manner that demands resources in abnormal quantity,
frequency, or volume
Performance Testing
Test the run-time performance of software within the context of an integrated system
Flow Graph
There are 3 methods to calculate cyclomatic complexity:
A limitation on the predicate nodes formula is that it assumes that there are only two
outgoing flows for each of such nodes which is not a problem in this case.
Cyclomatic complexity = E – N + 2 = 8 – 7+ 2 = 3
BIBLIOGRAPHY
1. http://www.whiteboxtest.com/cyclomatic-complexity.php.
2. http://www.westfallteam.com/sites/default/files/papers/Basis_Path_Testing_Pap
er.pdf
3. Roger S. Pressman, “Software Engineering A Practitioner Approach”
4. Pankaj Jalote, “A concise Introduction to software engineering”