COLLEGE MANAGEMENT
SYSTEM
Software Engineering
(3150711)
Academic year: 2021-2022
By : Monil Paghdar
(190630107088)
INDEX
SR NO. NAME OF TOPIC PAGE NO.
INTRODUCTION:
1. 1.1) PURPOSE 3
1.2)SCOPE 3
1.3) OVERVIEW 4
SDLC AND PROCESS MODEL
2. 2.1) INTRODUCTION 5
2.2) GENERAL DESCRIPTION 9
2.3) FUNCTIONAL REQUIREMENT 10
2.4) INTERFACE REQUIREMENT 12
2.5) NON-FUNCTIONAL REQUIREMENT 13
2.6) PRELIMINARY BUDGET 14
2.7) APPENDICES 14
SYSTEM ANALYSIS AND DESIGN
3. 3.1) INTRODUCTION 15
3.2) ROLE OF SYSTEM ANALYSIS 16
3.3) APPLICATION DESIGN 17
SYSTEM DESIGN
4. 4.1) DESIGN OF DATA DICTIONARY 21
4.2) LOGICAL VIEW 22
4.3) LIFE CYCLE MODEL 23
DATA FLOW DIAGRAM
5. 5.1) CONTEXT LEVEL DFD 25
5.2) LEVEL 1 DFD 25
5.3) LEVEL 2 DFD 26
1
UML DIAGRAM
6. 6.1) CLASS DIAGRAM 27
6.2) USE CASE DIAGRAM 28
6.3) ACTIVITY DIAGRAM 29
6.4) STATE CHART DIAGRAM 30
6.5) SEQUENCE DIAGRAM 31
7. SOFTWARE TESTING
1) ANALYSIS OF TESTING METHOD 32
2) ANALYSIS OF TEST CASES 33
8. FP ESTIMATION 35
9. CONSIDER THE FOLLOWING JAVA 37
SEGMENT
10. CONCLUSION 39
2
1) INTRODUCTION
1) PURPOSE:
All colleges are trying to be well maintained and so, the administration
is investing the finance in technology. The college administration is
introducing latest technologies at its campus. The academic management
system in India is introducing advanced technologies in their
college campus. It is an integrated system which is equipped with
necessary tools which will help keep record of the students as per
their academic program. The software has a tool which helps faculty
members, academic visitors, students, registrar and other people who
are connected with campus. This software helps stay connected with
each other, converse easily and can be in touch with pivotal notices
which provide information at all times.
After installing the college management software, it will be convenient
for all students to have a look at a course taken by a student. Also,
they will come to know the secured grades, attendance and so on of
all students. With the help of this software, it gets easy to assess the
student’s status and academic track, looking at the set-up of the
course map. You can also get the status updates such as the
completion of course, total marks obtained, and so forth from the
academic management software system while you are conducting
online courses.
2) SCOPE:
This project deals with the various functioning in College management
process. The main idea is to implement a proper process to
system .In our existing system contains a many operations 3
registration, student
search, fees, attendance, exam records, performance of the student
etc. All these activity takeout manually by administrator.
In our model, it deals with the Operations in system. For example, when
students fill the registration form the record is stored in the database.
And display the details of student is perform by retrieving information
from database table.
1.3) OVERVIEW:
The college management system is user-friendly. Hence, it can be
available to anyone from any place at any time. The software consists
of a module which is known as Satisfactory Academic Progress which
further makes it good, as it helps understand the students and
foretells the result, increases the level of the eligibility of the financial
support, stays in touch with the new program rules, follows the
enrolment policies and assesses the progress of each student.
Moreover, the software makes sure to maintain a healthy
communication between teachers, students and parents.
4
2) Study and Analysis of System
Development Life Cycle and Process
Models
2.1 INTRODUCTION
The Systems Development Life Cycle (SDLC), or Software
Development Life Cycle in systems engineering, information systems
and software engineering, is the process ofcreating oraltering
systems, and the models and methodologies that people use to develop
these systems. The concept generally refers to computer or
information systems.
In software engineering the SDLC concept underpins many kinds
of software development methodologies. These methodologies form
the framework for planning and controlling the creation of an
information system: the software development process.
The SDLC Phases are as below:
1. Understanding the problem definition
2. System Analysis
3. System Design
4. Implementation
5. Development
6. Testing
7. Maintenance
5
Fig1.1: SDLC phases
1. Understanding the problem definition:
This is the first step where user initiates the request for a desired
software product. User contacts the service provider and tries to
negotiate the terms. They submit his request to the service providing
organization in writing. The team holds discussion with various
stakeholders from problem domain and tries to bring out as much
information as possible on their requirements.
2. System Analysis:
At this step the developers decide a roadmap of their plan and try to
bring up best software model suitable for the project. System analysis
includes understanding of software product limitations, learning
system related problems or changes to be done in existing systems
beforehand, identifying and addressing the impact of project on
organization and
6
personnel. The project team analyses the scope of the project and
plans the schedule and resources accordingly.
3. System Design:
Next step is to bring down whole knowledge of requirements and
analysis on the desk and design the software product. The inputs from
user and information gathering are the inputs of this step. The output
of this step is come in the form two designs; logical design and
physical design. Engineers produce meta-data and data dictionary,
logical diagrams, data- flow diagrams and in some cases pseudo
code.
4. Implementation:
This means installing the software on user machine. At times, software
needs post installation configuration at user end. Software is tested for
portability and adaptability and integration related issues are solved
during implementation.
5. Development:
This step is also known as programming phase. The implementation of
software design starts in terms of writing program code in the suitable
programming language and developing error-free executable program
efficiently.
6. Testing:
Software testing is done after coding by developer and testing is
conducted by testing experts at various levels of product such as
module
7
testing, program testing, product testing and testing the product at user’s
end.
7. Maintenance:
The software is maintained timely by updating the code according to
the changes taking place in user end environment or technology. This
phase may face challenges from hidden bugs and real-world
unidentified problems.
About Study and Analysis of process model:-
Process models are processes of the same nature that are
classified together into a model. Thus, it is a description of a
process at the type level. Since the process model is at the type
level, a process is an instantiation of it. The same process model is
used repeatedly for the development ofmany applications and thus,
has many instantiations. One possible use of a process model is to
prescribe how things should be done in contrast to the process
itself which is really what happens. A process model is roughly an
anticipation of what the process will look like.
Process model is a modern approach. Various phases of the
process model is stated below:
1. Communication: Before any technical work can start, it is important
to communicate and collaborate with the customer. The intent is to
understand customers’ objectives for the project and to gather
requirements that help define software features and function.
8
2.Planning: We have to plan the workflow that is to be followed
while designing the software. In planning we describe technical task,
likely risk, resources will require, work products tobeproduced anda
work schedule.
3.Modelling: It helps developer and customer to understand requirements
(Analysis of requirements) & Design of software using the diagram
approach. By using the diagrams; one can easily have the idea about
the product.
4.Construction: This activity combines code generation (either manual or
automated) and the testing that is required uncovering errors in the
code.
5.Deployment: The software (as a complete entity or as a partially
completed increment) is delivered to the customer who evaluates
the delivered product and provides feedback based on the
2.2 GENERAL DESCRIPTION
evaluation.
We identify several problems including unauthorized privilege escalation,
incorrect use of cryptography, vulnerabilities to network threats, and
poor software development processes. We show that only college
administrator can start the system. Administrator can search the
particular student by his/her enrollment number or student ID and we
are adding notification
9
module where administrator should add the notification with start and
end
date.
3) FUNCTIONAL REQUIREMENT
Description:
All information about user which includes aadhar card/College ID card.
Criticality:
This information states that the person is real and system can provide
all the information related to the user.
Technical issues:
This system will work on client-server architecture. It will require an
internet server.
Cost & Schedule:
There will be relatively less money.
Risks:
Cannot login without identity verification / phone number .Needs
internet connection.
User requirements:
10
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.
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.
Faculty can give the attendances and notices for thestudents.
The administrator verifies all these reports and generates them
for users to view them.
After analysing the requirements of the task to be performed, the
next step is to analyse 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
11
existing running system is also difficult, improper understanding of
present system can lead diversion from solution.
4. INTERFACE REQUIREMENT
User interfaces:
It provides user information as per the keywords.
Memory constraints:
There may be some memory constraints due to advance detailed
database, which has many primary, foreign, unique keys and large
datasets.
Software interfaces:
Frontend is in Advanced JAVA and Backend is in Oracle MYSQL
Workbench, interface is through ODBC controller.
System features:
Simple GUI, easy to use, no special training required, cost should
be
feasible, protected through authentication process
Major concepts used:
12
We have linked our frontend and backend software using ADODB
Connection. We have used data environment and data reports in our
project. We have used modules to make certain variables
accessible globally.
Performance requirement:
It uses less space, no hindrance to the user input and it is USER
FRIENDLY.
2.5 Non-functional requirement:
Non- Functional Requirements of the College Management System:
In this system, the authentication of the user is an important factor. In
this
system, user authentication will be done by login by user name and
password and classified by user type. Users will get access to the
system as permissions are classified for that type of user.
The system has a consistent interface so that the system is easy to
use and in the interface of our system buttons and forms are used
to enter data related to a specific module.
Hardware Requirements of the College Management
System
System: P IV or above.
RAM: 1GB or above.
Hard Disk: 10GB or above.
Operating System: Windows& or above.
13
Software platform: Visual studio 2010, SQL Server, .Net Framework 3.5.
6. Preliminary Budget:
There will subscription for premium version.
7. Appendices:
https://nevonprojects.com/android-law-system-project/
https://www.studentprojectguide.com/android-projects/android-law-
project/
14
3) System Analysis and Design
1. INTRODUCTION
The main function of the analysis phase is to look carefully at the
requested features with an eye towards the issue that each may
create in the actual coding. This phase is the time during which
reasonably deliverable thoughts of each team member can decide.
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.
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.
15
There will be a separate page for every student as his account
in which he can get notices, attendance, grades, assignments
etc.
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.
3.2 ROLE OF SYSTEM ANALYSIS
16
Memory constraints: There may be some memory constraints
due
to advance detailed database, which has many primary,
foreign, unique keys and large datasets.
Software interfaces: Frontend is in Advanced JAVA and
Backend is
in Oracle MYSQL Workbench, interface is through ODBC
controller.
System features: Simple GUI, easy to use, no special training
required, cost should be feasible, protected through
authentication process.
Major concepts used: We have linked our frontend and
backend
software using ADODB Connection. We have used data environment
and data reports in our project. We have used modules to
make certain variables accessible globally.
3. APPLICATION DESIGN
1. FORM DESIGNING
17
Login Form:-
Thisis login form of the Software, it ask for the id and
password of the user, access is given to the authorized persons
only. Types of logins are there Admin only.
MDI form:
This screen acts as the home screen for this software. Through
this MDI form we can access its child forms. This form gives
the user
further 5 options:-
o Login Page: it contains LOGIN, LOG OUT, and EXIT option
to exit from software.
o Registration: This module is designed for registration
Form list and details
1. Registration Entry Form: registration entry form
canbeusedtoenter the new entry of student.
2. Student Search Form: student search form can be used by admin,
for searching particular student related entering branches and
year.
18
3. Notification Form: notification form can be used to add notification
related to the exams and schedule of the college. Full
authority is given to the admin.
4. Fees Form: this can be generated the fees report of the
students.
2. FRONT END - BACK END CONNECTIVITY
Java as Front end:
1.Java offers several benefits to the developer creating front end
application for database server.
2.Java is platform independent language hence can be executed on
architecture that support on JVM.
3.Java also reduces cost related to deployment & maintenance of
hardware & software.
4. Java base clients are think like that uses minimum hardware
resources.
5.There are big incentive to create java based solution for corporate as
shifting their application across the architecture will not involve
overhead or cost.
MySQL-Back end
19
Databases are the systems that contain many different objects used
together to facilitate fast and efficient access to the data. MySQL is
an application program interface form Microsoft that lets a programmer
writing Windows applications; get access to a relational as well as
non-relational database from both Microsoft and other database
providers.
Setting up MySQL Control:
First step to use the MySQL in project is to add the MySQL Data
Control to the form. The setting up of MySQL Data Control involves
first few steps:
1. Connecting to a data source and,
2. Specifying a command to gain access to the data source.
3. Executing the command.
4. Storing the rows in a cache i.e., the Record set.
20
4) SYSTEM DESIGN
System design is the process of defining the elements of a system
such
as the architecture, modules and components, the different interfaces
of those components and the data that goes through that system. It is
meant to satisfy specific needs and requirements of a business or
organization through the engineering of coherent and well running
system. Object oriented analysis and design methods are becoming
the most widely used methods for computer systems design. The
UML has become the standard language in object-oriented analysis
and design. It is widely used for modelling software systems and is
increasingly used for high designing non software systems and
organizations
4.1 Design of Data Dictionary:
Admin
Attribute Description Datatype Size Condition
Password User’s Varchar 15
Password
ID User’s Integer 10 Primary key
Identity
Student Details
Attribute Description Datatype Size Condition
21
S Name Varchar
S _id Integer
S Address Varchar
S Phone Varchar
num.
S Gender Varchar
S Marks Integer
Faculty Details
Attribute Description Datatype Size Condition
F Name Varchar
F _id Integer
F Address Varchar
F Phone Varchar
num.
F Varchar
Qualification
F Gender Varchar
F Salary Integer
Parent Details
Attribute Description Datatype Size Condition
P Name Varchar
P Address Varchar
P Phone Nu Integer
m.
4.2 Logical View:
22
Fig: abstract view of CMS (College Management System)
3.EVALUATION OF GOOD DESIGN SOFTWARE (LIFE
CYCLE MODEL)
Scope of this system can be described as follows:-
i. It is a standalone module, available for desktop application used
by computer Administrator to store student’s data.
ii. The storing and retrieval of data is quick
iii. It is an offline application.
iv. Access is given to only authorize person and no other person can
access this Software.
v. Data security is maintained properly by authentication of
users.
vi. Large amount of data can be processed quickly with ease.
User view
23
I. Admin: It is the administrator account having rights to govern
whole
software. He can create and delete student and details, create and
change password, he also have rights to add and delete
record, various criteria and notification.
II. User: users are having only read permission; user type can only
see his details, he will not be able to manipulate or change
any information, it also have same privileges as that of admin.
24
5) DATA FLOW DIAGRAM
5.1 CONTEXT LEVEL DFD
Level-0
DFD level 0 is also called a context diagram. Its basic
overview of whole system or process begin analysis or
modelled.
5.2 LEVEL- 1 DFD
DFD level ‘1’ is provide a more details breakout of pieces of the
context level diagram. We will highlight the main function carried out
by system, as you break down high-level process of context diagram
into its sub- process.
25
5.3 LEVEL- 2 DFD
DFD level ‘2’ than goes one step deeper into parts of level 1 .It may
require more text to reach necessary level of detail about system
functioning.
26
6) Diagram Design (UML):
6.1 Class Diagram
27
6.2 USE CASE DIAGRAM
28
6.3 ACTIVITY DIAGRAM
29
6.4 STATE CHART DIAGRAM:
30
6.5 SEQUENCE DIAGRAM:
31
7) Software Testing
1. Analysis of testing methods
Static Testing:-
Static testing is a testing technique which is performed without
executing the application being tested. The errors in the application
are found by checking the syntax or reading the code manually,
hence it is also called “Dry Run Testing”. It is an inspection of
software artefacts such as requirement specification, design and
code. It is done by the following methods Review, Inspection, and
walkthrough.
Dynamic Testing:-
Dynamic Testing is testing technique which is performed by executing
the application being tested. Input is given and the output is
checked by comparing the actual result with the expected result. It is
further divided into three categories White box testing, Black box
testing and grey box testing.
White Box testing:-
White box testing is a process of testing every statement in the code
and ensures that all statements and conditions have been executed at
least once. It examines the program structure, hence it is called as
structural testing. It is also referred as Glass box testing, Logic
Driven testing, Path Oriented testing. This technique is typically
applied at the unit test level
32
so it is performed by the developer. This testing is done by the
following testing methods: Statement coverage, Path testing, Condition
testing, and Loop testing.
Black Box Testing:-
Black box testing is a process of checking the functionality of the
application against specified requirements. To find the following incorrect
or missing Implementations of functions, External database access,
Performance errors, Initialization and termination errors. It is also
referred as Functional testing. Behavioral testing or opaque testing.
This is done by the testengineers. This testing isdoneby the following
testing methods Functional testing, Integration testing, System testing
and Acceptance testing.
7.2 Analysis of Test Cases
While creating a project or modules we need to keep in mind that
there
are some validations required, so that the entries of data are as
per required and necessary.
TEST TEST TEST CASE TEST EXPECT
CASE ID SCENARI DATA ED
O RESULT
LOGIN_01 Verify the Enter Valid Username And <Valid Successful
login of Password Username> Login
users <Valid
Password>
LOGIN_02 Verify the Enter Invalid Username And <Invalid A Message
login of Invalid Password username> “Invalid
users <Invalid
Password> Details”
33
LOGIN_03 Verify the Enter Invalid Username And <Invalid A Message
login of Valid Password Username> “Invalid
users <Valid
Password> Details”
LOGIN_04 Verify the Enter Valid Username And <Valid A Message
login of Invalid Password Username> “Invalid
<Invalid
users
Password>
Details”
REGI_05 Verify the Does Not Enter Username <Does Not A
Registrati Enter Message
on of Username ”d
users > ata
insert”
REGI_06 Verify the Enter Invalid Mail-ID Of User <Invalid A Message
Registrati mail-id> “Invalid
on of Mail-id>
users
REGI_07 Verify the Enter Invalid Contact No <Invalid A message
Registrati Contac “Invalid
on of t- No>
users Contact
No>
REGI_08 Verify the Enter Invalid Password <Invalid A message
Registrati Password> “Invalid
on of Password
users >
REGI_09 Verify the Enter Invalid Confirm <Invalid A message
Registrati Password Confirm “Invalid
on of Passwor
users d> Confirm
Passwo
rd>
34
8) Estimate efforts using FP Estimation for
chosen system.
Function-oriented software metrics use a measure of the functionality
delivered by the application as a normalization value. Since
‘functionality cannot be measured directly, it must be derived
indirectly using other direct measures. Function-oriented metrics
were first proposed by Albrecht, who suggested a measure called the
function point. Function points are derived using an empirical
relationship based on countable (direct) measures of software's
information domain and assessments of software complexity. Function
points are computed by completing the table as shown below. Five
information domain characteristics are determined and counts are
provided in the appropriate table location.
Information domain values are defined in the following manner:
35
Number of user inputs: Each user input that provides distinct
application oriented data to the software is counted. Inputs
should be distinguished from inquiries, which are counted
separately.
Number of user outputs: Each user output that provides
application oriented information to the user is counted. In this
context output refers to reports, screens, error messages, etc.
Individual data items within a report are not counted
separately.
Number of user inquiries: An inquiry is defined as an on-line
input that results in the generation of some immediate
software response in the form of an on-line output. Each
distinct inquiry is counted.
Number of files: Each logical master file (i.e., a logical grouping
of data that may be one part of a large database or a separate
file) is counted.
Number of external interfaces: All machine readable interfaces
(e.g.,
data files on storage media) that are used to transmit
information to another system are counted.
36
9) Consider the following Java code
segment.
Cyclomatic complexity of a code section is the quantitative measure
of the number of linearly independent paths in it. It is a software
metric used to indicate the complexity of a program. It is computed
using the Control Flow Graph of the program. The nodes in the
graph indicate the smallest group of commands of a program, and a
directed edge in it connects the two nodes i.e. if second command
might immediately follow the first command.
For example, if source code contains no control flow statement then
its Cyclomatic complexity will be 1 and source code contains a
single path in it. Similarly, if the source code contains one if
condition then Cyclomatic complexity will be 2 because there will be
two paths one for true and the other for false.
Mathematically, for a structured program, the directed graph inside
control flow is the edge joining two basic blocks of the program as
control may pass from first to second.
37
Use of Cyclomatic Complexity:
Determining the independent path executions thus proven
To be very helpful for Developers and Testers.
It can make sure that every path have been tested at least
once.
Thus help to focus more on uncovered paths.
Code coverage can be improved.
Risk associated with program can be evaluated.
These metrics being used earlier in the program helps in
reducing the risks.
38
10) Conclusion and Future Enhancement
College Management System is the system that deals with the
issues related to a particular institution. If this project is successfully
implemented with all the features mentioned in system requirements
specification we can have a user friendly system for college
institutes. Awareness and right information about any college is
essential for both the development of student as well as faculty. So
this serves the right purpose in achieving the desired requirements
of both the communities.
Future Enhancement:
Online examination module can be introduced to conduct
online
examination.
Further faculty can upload videos of their lectures so that
students who have missed that class or want to revise can
access that video lecture.
Online doubt solving with faculty.
39