Student Management System Neelendra
Student Management System Neelendra
Submitted by
Neelendra Dhar
B.Voc (SD & e-G)
Student id: 718629
CERTIFICATE
This is to certify that the project report entitled “Student Management System
Using Java ” is the bonafide work of Neelendra Dhar , Student Id. – 718629
BACHELOR OF VOCATION (SD&EG) from National P.G. College Lucknow
Place: Lucknow
Date: (Guide Name)
3
ACKNOWLEDGEMENT
Neelendra Dhar
B.Voc (SD & e-G)
Student id:
718629
5
TABLE OF CONTENTS
1. INTRODUCTION
2. SYSTEM ANALYSIS
3. FEASIBILITY ANALYSIS
4. HARDWARE CONFIGURATION
5. SOFTWARE CONFIGURATION
6. SYSTEM REQUIREMENTS
8. SOFTWARE INTERFACE
9. SYSTEM DESIGN
10.TABLES USED
11.SYSTEM IMPLEMENTATION
12.SOFTWARE TESTING
13.CONCLUSION
14.BIBLIOGRAPHY
6
INTRODUCTION
Student Management System is software which is helpful for students as
well as the school authorities. In the current system all the activities are done
manually. It is very time consuming and costly. Our Student Management
System deals with the various activities related to the students.
User module
Student Module
Mark management
In the Software we can register as a user and user has of two types,
student and administrator. Administrator has the power to add new user and can
edit and delete a user. A student can register as user and can add edit and delete
his profile. The administrator can add edit and delete marks for the student. All
the users can see the marks.
7
SYSTEM ANALYSIS
EXISTING SYSTEM:
During analysis, data collected on the various files, decision points and
transactions handled by the present system. The commonly used tools in the
system are Data Flow Diagram, interviews, etc. Training, experience and
common sense are required for collection of relevant information needed to
develop the system. The success of the system depends largely on how clearly
the problem is defined, thoroughly investigated and properly carried out through
the choice of solution. A good analysis model should provide not only the
mechanisms of problem understanding but also the frame work of the solution.
Thus it should be studied thoroughly by collecting data about the system. Then
the proposed system should be analyzed thoroughly in accordance with the
needs.
PROPOSED SYSTEM
In our proposed system we have the provision for adding the details
of the students by themselves. So the overhead of the school authorities and the
teachers is become less. Another advantage of the system is that it is very easy
to edit the details of the student and delete a student when it found unnecessary.
The marks of the student are added in the database and so students can also
view the marks whenever they want.
FEASIBILITY ANALYSIS
Whatever we think need not be feasible .It is wise to think about the
feasibility of any problem we undertake. Feasibility is the study of impact,
which happens in the organization by the development of a system. The impact
can be either positive or negative. When the positives nominate the negatives,
then the system is considered feasible. Here the feasibility study can be
performed in two ways such as technical feasibility and Economical Feasibility.
Technical Feasibility:
We can strongly says that it is technically feasible, since there will not be
much difficulty in getting required resources for the development and
maintaining the system as well. All the resources needed for the development of
the software as well as the maintenance of the same is available in the
organization here we are utilizing the resources which are available already.
Economical Feasibility
HARDWARE CONFIGURATION
RAM : 128 MB
SOFTWARE CONFIGURATION
Windows 98,
Windows XP.
Database : MS Access2007.
12
SYSTEM REQUIREMENTS
Context Diagram
14
15
SOFTWARE INTERFACE
Login
Delete User
17
Student Registration
18
View Marks
22
Subject Allocation
28
CODING
Main
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
<name>StudentManagementSystem</name>
<minimum-ant-version>1.6.5</minimum-ant-version>
<source-roots>
<root id="src.dir"/>
</source-roots>
<test-roots>
<root id="test.src.dir"/>
</test-roots>
</data>
</configuration>
</project>
29
Code 2
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
build.dir=build
build.generated.dir=${build.dir}/generated
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
debug.classpath=\
${run.classpath}
debug.test.classpath=\
${run.test.classpath}
dist.dir=dist
dist.jar=${dist.dir}/StudentManagementSystem.jar
dist.javadoc.dir=${dist.dir}/javadoc
excludes=
includes=**
30
jar.compress=false
javac.classpath=
javac.compilerargs=
javac.deprecation=false
javac.source=1.5
javac.target=1.5
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}:\
${libs.junit.classpath}:\
${libs.junit_4.classpath}
javadoc.additionalparam=
javadoc.author=false
javadoc.encoding=${source.encoding}
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
javadoc.splitindex=true
31
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=
main.class=Login
manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF
platform.active=default_platform
run.classpath=\
${javac.classpath}:\
${build.classes.dir}
run.jvmargs=
run.test.classpath=\
${javac.test.classpath}:\
${build.test.classes.dir}
source.encoding=UTF-8
src.dir=src
test.src.dir=test
32
Code 3
<!--
- initialization
- compilation
- jar
- execution
- debugging
- javadoc
- junit compilation
- junit execution
- junit debugging
- applet
- cleanup
33
-->
<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1"
xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3"
xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".."
default="default" name="StudentManagementSystem-impl">
<!--
======================
INITIALIZATION SECTION
======================
-->
<target name="-pre-init">
<!-- You can override this target in the ../build.xml file. -->
</target>
<property file="nbproject/private/config.properties"/>
<property file="nbproject/private/configs/${config}.properties"/>
<property file="nbproject/private/private.properties"/>
</target>
34
<property file="${user.properties.file}"/>
</target>
<property file="nbproject/configs/${config}.properties"/>
<property file="nbproject/project.properties"/>
</target>
<target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-
property" name="-do-init">
<condition property="manifest.available+main.class">
<and>
<isset property="manifest.available"/>
<isset property="main.class"/>
<not>
</not>
35
</and>
</condition>
<condition property="manifest.available+main.class+mkdist.available">
<and>
<istrue value="${manifest.available+main.class}"/>
<isset property="libs.CopyLibs.classpath"/>
</and>
</condition>
<condition property="have.tests">
<or>
<available file="${test.src.dir}"/>
</or>
</condition>
<condition property="have.sources">
<or>
<available file="${src.dir}"/>
</or>
</condition>
<condition property="netbeans.home+have.tests">
<and>
36
<isset property="netbeans.home"/>
<isset property="have.tests"/>
</and>
</condition>
<condition property="no.javadoc.preview">
<and>
<isset property="javadoc.preview"/>
<isfalse value="${javadoc.preview}"/>
</and>
</condition>
<condition property="no.deps">
<and>
<istrue value="${no.dependencies}"/>
</and>
</condition>
<and>
<isset property="javadoc.encoding"/>
<not>
</not>
</and>
</condition>
<condition property="do.depend.true">
<istrue value="${do.depend}"/>
</condition>
<and>
38
<isset property="jaxws.endorsed.dir"/>
<available file="nbproject/jaxws-build.xml"/>
</and>
</condition>
</target>
<target name="-post-init">
<!-- You can override this target in the ../build.xml file. -->
</target>
<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init"
name="-init-check">
</target>
<target name="-init-macrodef-property">
<attribute name="name"/>
<attribute name="value"/>
<sequential>
</sequential>
</macrodef>
</target>
<target name="-init-macrodef-javac">
<sequential>
<classpath>
<path path="@{classpath}"/>
</classpath>
<compilerarg line="${javac.compilerargs} $
{javac.compilerargs.jaxws}"/>
<customize/>
</javac>
</sequential>
</macrodef>
<sequential>
<classpath>
<path path="@{classpath}"/>
</classpath>
</depend>
</sequential>
</macrodef>
<sequential>
<path>
</path>
</pathconvert>
<delete>
42
<files includes="${javac.includes.binary}"/>
</delete>
</sequential>
</macrodef>
</target>
<target name="-init-macrodef-junit">
<sequential>
<batchtest todir="${build.test.results.dir}">
<filename name="@{testincludes}"/>
</fileset>
</batchtest>
<classpath>
<path path="${run.test.classpath}"/>
43
</classpath>
<syspropertyset>
<propertyref prefix="test-sys-prop."/>
</syspropertyset>
<formatter type="xml"/>
<jvmarg line="${run.jvmargs}"/>
</junit>
</sequential>
</macrodef>
</target>
<sequential>
<classpath>
<path path="@{classpath}"/>
</classpath>
</nbjpdastart>
</sequential>
</macrodef>
<sequential>
<nbjpdareload>
<include name="${fix.includes}*.class"/>
</fileset>
</nbjpdareload>
</sequential>
</macrodef>
</target>
<target name="-init-debug-args">
<condition property="have-jdk-older-than-1.4">
<or>
</or>
</condition>
<istrue value="${have-jdk-older-than-1.4}"/>
</condition>
<os family="windows"/>
</condition>
<isset property="debug.transport"/>
46
</condition>
</target>
<sequential>
<jvmarg line="${debug-args-line}"/>
<jvmarg value="-Xrunjdwp:transport=${debug-
transport},address=${jpda.address}"/>
<jvmarg line="${run.jvmargs}"/>
<classpath>
<path path="@{classpath}"/>
</classpath>
<syspropertyset>
<propertyref prefix="run-sys-prop."/>
</syspropertyset>
47
<customize/>
</java>
</sequential>
</macrodef>
</target>
<target name="-init-macrodef-java">
<sequential>
<jvmarg line="${run.jvmargs}"/>
<classpath>
<path path="${run.classpath}"/>
</classpath>
<syspropertyset>
<propertyref prefix="run-sys-prop."/>
</syspropertyset>
<customize/>
48
</java>
</sequential>
</macrodef>
</target>
<target name="-init-presetdef-jar">
<j2seproject1:fileset dir="${build.classes.dir}"/>
</jar>
</presetdef>
</target>
<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-
init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-
junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-
presetdef-jar" name="init"/>
<!--
===================
COMPILATION SECTION
===================
-->
<target depends="init,-check-automatic-build,-clean-after-automatic-build"
name="-verify-automatic-build"/>
<available file="${build.classes.dir}/.netbeans_automatic_build"
property="netbeans.automatic.build"/>
</target>
<antcall target="clean"/>
</target>
<mkdir dir="${build.classes.dir}"/>
</target>
<target name="-pre-compile">
<!-- You can override this target in the ../build.xml file. -->
</target>
<j2seproject3:depend/>
</target>
<target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-
depend" if="have.sources" name="-do-compile">
50
<j2seproject3:javac/>
<copy todir="${build.classes.dir}">
</copy>
</target>
<target name="-post-compile">
<!-- You can override this target in the ../build.xml file. -->
</target>
<target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-
compile,-do-compile,-post-compile" description="Compile project."
name="compile"/>
<target name="-pre-compile-single">
<!-- You can override this target in the ../build.xml file. -->
</target>
<j2seproject3:force-recompile/>
51
</target>
<target name="-post-compile-single">
<!-- You can override this target in the ../build.xml file. -->
</target>
<target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-
compile-single,-do-compile-single,-post-compile-single" name="compile-
single"/>
<!--
====================
====================
-->
<mkdir dir="${dist.jar.dir}"/>
</target>
<target name="-pre-jar">
<!-- You can override this target in the ../build.xml file. -->
</target>
<j2seproject1:jar/>
</target>
<j2seproject1:jar manifest="${manifest.file}"/>
</target>
<target depends="init,compile,-pre-pre-jar,-pre-jar"
if="manifest.available+main.class" name="-do-jar-with-mainclass"
unless="manifest.available+main.class+mkdist.available">
<j2seproject1:jar manifest="${manifest.file}">
<j2seproject1:manifest>
</j2seproject1:manifest>
</j2seproject1:jar>
<echo>To run this application from the command line without Ant,
try:</echo>
<property location="${build.classes.dir}"
name="build.classes.dir.resolved"/>
53
<pathconvert property="run.classpath.with.dist.jar">
<path path="${run.classpath}"/>
</pathconvert>
</target>
<target depends="init,compile,-pre-pre-jar,-pre-jar"
if="manifest.available+main.class+mkdist.available" name="-do-jar-with-
libraries">
<property location="${build.classes.dir}"
name="build.classes.dir.resolved"/>
<pathconvert property="run.classpath.without.build.classes.dir">
<path path="${run.classpath}"/>
</pathconvert>
<path path="${run.classpath.without.build.classes.dir}"/>
<chainedmapper>
<flattenmapper/>
</chainedmapper>
</pathconvert>
<taskdef
classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs"
classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
<fileset dir="${build.classes.dir}"/>
<manifest>
</manifest>
</copylibs>
<echo>To run this application from the command line without Ant,
try:</echo>
</target>
<target name="-post-jar">
<!-- You can override this target in the ../build.xml file. -->
</target>
55
<target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-
manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar"
description="Build JAR." name="jar"/>
<!--
=================
EXECUTION SECTION
=================
-->
<j2seproject1:java>
<customize>
<arg line="${application.args}"/>
</customize>
</j2seproject1:java>
</target>
<target name="-do-not-recompile">
</target>
<j2seproject1:java classname="${run.class}"/>
</target>
<!--
=================
DEBUGGING SECTION
=================
-->
<j2seproject1:nbjpdastart name="${debug.class}"/>
</target>
<j2seproject3:debug>
<customize>
<arg line="${application.args}"/>
</customize>
</j2seproject3:debug>
</target>
<target depends="init,compile,-debug-start-debugger,-debug-start-debuggee"
description="Debug project in IDE." if="netbeans.home" name="debug"/>
<j2seproject1:nbjpdastart stopclassname="${main.class}"/>
</target>
<target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-
debuggee" if="netbeans.home" name="debug-stepinto"/>
<j2seproject3:debug classname="${debug.class}"/>
</target>
<target depends="init,-do-not-recompile,compile-single,-debug-start-
debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-
single"/>
</target>
<j2seproject1:nbjpdareload/>
</target>
<!--
===============
JAVADOC SECTION
===============
-->
<mkdir dir="${dist.javadoc.dir}"/>
<classpath>
<path path="${javac.classpath}"/>
</classpath>
<filename name="**/*.java"/>
</fileset>
</javadoc>
59
</target>
<nbbrowse file="${dist.javadoc.dir}/index.html"/>
</target>
<!--
=========================
=========================
-->
<mkdir dir="${build.test.classes.dir}"/>
</target>
<target name="-pre-compile-test">
<!-- You can override this target in the ../build.xml file. -->
</target>
</target>
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-
compile-test-depend" if="have.tests" name="-do-compile-test">
<copy todir="${build.test.classes.dir}">
</copy>
</target>
<target name="-post-compile-test">
<!-- You can override this target in the ../build.xml file. -->
</target>
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-
compile-test,-post-compile-test" name="compile-test"/>
<target name="-pre-compile-test-single">
<!-- You can override this target in the ../build.xml file. -->
</target>
61
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single"
if="have.tests" name="-do-compile-test-single">
<j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
<copy todir="${build.test.classes.dir}">
</copy>
</target>
<target name="-post-compile-test-single">
<!-- You can override this target in the ../build.xml file. -->
</target>
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-
single,-do-compile-test-single,-post-compile-test-single" name="compile-test-
single"/>
<!--
=======================
=======================
-->
<mkdir dir="${build.test.results.dir}"/>
</target>
<j2seproject3:junit testincludes="**/*Test.java"/>
</target>
</target>
<target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-
test-run,-test-browse" description="Run unit tests." name="test"/>
<mkdir dir="${build.test.results.dir}"/>
</target>
63
</target>
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-
single" if="have.tests" name="-post-test-run-single">
</target>
<target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-
single,-do-test-run-single,-post-test-run-single" description="Run single unit
test." name="test-single"/>
<!--
=======================
=======================
-->
<property location="${build.test.results.dir}/TEST-${test.class}.xml"
name="test.report.file"/>
<delete file="${test.report.file}"/>
<mkdir dir="${build.test.results.dir}"/>
<j2seproject3:debug
classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner"
classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:$
{debug.test.classpath}">
<customize>
<syspropertyset>
<propertyref prefix="test-sys-prop."/>
</syspropertyset>
<arg value="${test.class}"/>
<arg value="showoutput=true"/>
<arg
value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultF
ormatter"/>
<arg
value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResult
Formatter,${test.report.file}"/>
</customize>
</j2seproject3:debug>
65
</target>
</target>
<target depends="init,-do-not-recompile,compile-test-single,-debug-start-
debugger-test,-debug-start-debuggee-test" name="debug-test"/>
<target depends="init,-pre-debug-fix,compile-test-single"
if="netbeans.home" name="-do-debug-fix-test">
<j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
</target>
<!--
=========================
=========================
-->
<j2seproject1:java classname="sun.applet.AppletViewer">
<customize>
<arg value="${applet.url}"/>
</customize>
</j2seproject1:java>
</target>
<!--
=========================
=========================
-->
<j2seproject3:debug classname="sun.applet.AppletViewer">
<customize>
<arg value="${applet.url}"/>
</customize>
</j2seproject3:debug>
</target>
67
<target depends="init,compile-single,-debug-start-debugger,-debug-start-
debuggee-applet" if="netbeans.home" name="debug-applet"/>
<!--
===============
CLEANUP SECTION
===============
-->
<delete dir="${build.dir}"/>
<delete dir="${dist.dir}"/>
</target>
<target name="-post-clean">
<!-- You can override this target in the ../build.xml file. -->
</target>
</project>
68
SYSTEM DESIGN
INPUT DESIGN
Input Data
The goal of designing input data is to make entry easy, logical and free
from errors as possible. The entering data entry operators need to know the
allocated space for each field; field sequence and which must match with that in
the source document. The format in which the data fields are entered should be
given in the input form .Here data entry is online; it makes use of processor that
accepts commands and data from the operator through a key board. The input
required is analyzed by the processor. It is then accepted or rejected. Input
stages include the following processes
Data Recording
Data Transcription
Data Conversion
Data Verification
Data Control
Data Transmission
69
Data Correction
One of the aims of the system analyst must be to select data capture
method and devices, which reduce the number of stages so as to reduce both the
changes of errors and the cost .Input types, can be characterized as.
External
Internal
Operational
Computerized
Interactive
Input files can exist in document form before being input to the computer.
Input design is rather complex since it involves procedures for capturing data as
well as inputting it to the computer.
OUTPUT DESIGN
External outputs
Internal outputs
Operational outputs
Interactive outputs
Turn around outputs
All screens are informative and interactive in such a way that the user can
full fill his requirements through asking queries.
71
DATABASE DESIGN
Controlled Redundancy
Data independence
Accurate and integrating
More information at low cost
Recovery from failure
Privacy and security
Performance
Ease of learning and use
72
TABLES USED
Student
UAD
Subjects
SubjectAllocation
SSLC1
SSLC2
SSLC3
SSLC4
SSLC5
SSLC6
PLUSTWO1
PLUSTWO2
PLUSTWO3
PLUSTWO4
PLUSTWO5
SYSTEM IMPLEMENTATION
There are several activities involved while implementing a new project. They
are
The successful implementation of the new system will purely upon the
involvement of the officers working in that department. The officers will be
imparted the necessary training on the new technology
The education of the end user start after the implementation and testing is
over. When the system is found to be more difficult to under stand and complex,
more effort is put to educate the end used to make them aware of the system,
giving them lectures about the new system and providing them necessary
documents and materials about how the system can do this.
80
SOFTWARE TESTING
Is the menu bar displayed in the appropriate contested some system
related features included either in menus or tools? Do pull –Down menu
operation and Tool-bars work properly? Are all menu function and pull down
sub function properly listed ?; Is it possible to invoke each menu function using
a logical assumptions that if all parts of the system are correct, the goal will be
successfully achieved .? In adequate testing or non-testing will leads to errors
that may appear few months later.
2. The effect of the system errors on files and records within the system
The purpose of the system testing is to consider all the likely variations to
which it will be suggested and push the systems to limits.
White box some times called “Glass box testing” is a test case design
uses the control structure of the procedural design to drive test case.
82
Using white box testing methods, the following tests where made on the system
a) All independent paths within a module have been exercised once. In our
system, ensuring that case was selected and executed checked all case
structures. The bugs that were prevailing in some part of the code where fixed
b) All logical decisions were checked for the truth and falsity of the values.
Black box testing focuses on the functional requirements of the software. This is
black box testing enables the software engineering to derive a set of input
conditions that will fully exercise all functional requirements for a program.
Black box testing is not an alternative to white box testing rather it is
complementary approach that is likely to uncover a different class of errors that
white box methods like..
1) Interface errors
3) Performance errors
CONCLUSION
BIBLIOGRAPHY
1) http://www.javaworld.com/javaworld/jw-01-1998/jw-01-bookreview.html
2) Database Programming with JDBC and Java by O'Reilly
3) Head First Java 2nd Edition
4) http://www.jdbc-tutorial.com/
5) Java and Software Design Concepts by APress