Bca Final Project
Bca Final Project
Bca Final Project
On
E-mail Client/Server
Submitted to Punjab Technical University, Jalandhar
(Session 2011-2013)
Certificate
This is to certify that the project report entitled Student Management System being
submitted by Amarjit Kumar in partial fulfilment for the award of the Degree of Bachelor
of Computer Application to the University of Rajasthan is a record of Bonafede work
carried out by herself under my guidance and supervision.
The results embodied in this project report have not been submitted to any other University
or Institute for the award of any Degree or Diploma.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
DECLARATION
This is to certify that the work reported in the present project entitled Student Result
Management System is a record of work done by me in the BCA Department, University
Maharani College. The reports are based on the project work done entirely by us and not
copied from any other source.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
ACKNOWLEDGEMENT
We are heartily grateful to our project guide Mr. Dr. Raj Kumar Verma (Department of
Computer Application) for his being a constant source of encouragement at various stages of
the completion of this project.
We want to thank our parents and lord, because without their blessing, perhaps we could do
nothing.
We wish to thank all our friends, students, professionals and the campus staff (Department
of Computer Application) , who have help us with the critical review of this project. Their
Debugging skills and grateful appreciated. Special thanks to my Head of the department Dr.
Chandrani Sen for her advice and encouragement and creative ideas for this project. We must
thankful to the various Authors who have contributed material for this project.
• PRIYANSHI NAIR
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
INDEX
BONAFIED CERTIFICATE
CERTIFICATE OF ORIGINALITY
ACKNOWLEDGMENT
OBJECTIVE
SRS
OVERALL DESCRIPTION
SPECIFIC REQURIMENTS
DATA DICTIONRY
OBJECTIVE OF PROJECT
INPUT/OUTPUT SCREEN
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
ABSTRACT
This document aims at defining overall software requirement for STUDENT RESULT
MANAGEMENT SYSTEM. Efforts have been made to define the requirements exhaustively
and accurately. The final product will be having only features/functionalities mentioned in
this document and assumptions for any additional functionality/feature should not be made
by any of the parties involved in developing/testing/implementing /using this product.
PURPOSE
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
This specification document describes the capabilities that will be provided by the software
application STUDENT RESULT MANAGEMENT SYSTEM.
It also states the various constraints by which the system will abide. The intended audience
for this document is the development team, testing team and end users of the product.
SCOPE
The application will manage the information about various students enrolled in in different
classes, the subjects offered during different classes, the marks obtained by the various
students in various subjects in different terms. The application will greatly simplify and
speed up the result preparation and management process.
Design
INTRODUCTION:
Design is the first step in the development phase for any techniques and principles for the
purpose of defining a device, a process or system in sufficient detail to permit its physical
realization.
Once the software requirements have been analyzed and specified the software design
involves three technical activities - design, coding, implementation and testing that are
required to build and verify the software.
The design activities are of main importance in this phase, because in this activity, decisions
ultimately affecting the success of the software implementation and its ease of maintenance
are made. These decisions have the final bearing upon reliability and maintainability of the
system. Design is the only way to accurately translate the customer’s requirements into
finished software or a system.
Design is the place where quality is fostered in development. Software design is a process
through which requirements are translated into a representation of software. Software design
is conducted in two steps. Preliminary design is concerned with the transformation of
requirements into data.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Context Diagram
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Performance
Scripts written in PHP executives faster than those written in other scripting language, with
numerous independent benchmarks, putting the language ahead of competing alternatives
like JSP,ASP.NET and PERL.The PHP 5.0 engine was completely redesigned with an
optimized memory manager to improve performance, and is noticeable faster than previous
versions.In addition, third party accelerators are available to further improve performance
and response time.
Portability
PHP is available for UNIX, MICROSOFT WINDOWS, MAC OS, and OS/2.PHP Programs
are portable between platforms. As a result, a PHP application developed on, say, Windows
will typically run on UNIX without any significant issues. This ability to easily undertake
cross-platform development is a valuable one, especially when operating in a multi platform
corporate environment or when trying to address multiple market segments.
Ease Of Use
“Simplicity is the ultimate sophistication”, Said Leonardo da Vinci, and by that measure,
PHP is an extremely sophisticated programming language. Its syntax is clear and consistent,
and it comes with exhaustive documentation for the 5000+ functions included with the core
distributions. This significantly reduces the learning curve for both novice and experienced
programmers, and it’s one of the reasons that PHP is favored as a rapid prototyping tool for
Web-based applications.
Open Source
PHP is an open source project – the language is developed by a worldwide team of
volunteers who make its source code freely available on the Web, and it may be
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
All these types of software automatic configure inside operating system after installation it
having PHP, MySQL, Apache and operating system base configuration file, it doesn’t need to
configure manually.
WAMP----- Microsoft window o/s,Apache Mysql PHP
LAMP---- Linux Operating System Apache Mysql PHP
MAMP---- Mac os Apache Mysql PHP
XAMPP---- x-os(cross operating system) Apache Mysql PHP Perl
Introduction to HTML
The hypertext markup language (HTML) is a simple markup language. Used to create a
hypertext documents that are portable from one platform to another HTML documents are
SGML (Standard generalized mark up language) documents with generic semantics that are
appropriate for representing information from a wide range of applications. This
specification defines HTML version 3.2. HTML 3.2 aims to capture recommended practice
as of early ’96 and as such a replacement for HTML2.0 (RFC 1866).
A set of instructions embedded in a document is called mark up language. These instructions
describe what the document text means and how it should look like in a display. Hyper Text
Mark Up language (HTML) is the language used to encode World Wide Web documents.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
HTML LAYOUT:
An HTML document consists of text, which comprises the content of the document and tags,
which, defines the structure, and appearance of the document. The structure of an HTML
document is simple, consists of outer.
<HTML>tag enclosing the document header and body
<HTML>
<HEAD>
<TITLE>the title of HTML document</TITLE>
</HEAD>
<BODY>
This is where the actual HTML documents
Text lies, which is displayed in the browser
</BODY>
</HTML>
Each document has a head and body delimited by the <HEAD> and <BODY> tag. The head
is where you give your HTML document a title and where you indicate other parameters the
browser may use when displaying the document. This includes the text for displaying the
text. Tag also references special and indicates the hot spots that link your document to other
documents.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
HTML FORMS:
Creating a form usually involves two independent steps: Creating the layout for the form
itself and then writing a script program on the server side to process the formation you get
back from a form.
To create a form, You use the <FORM> tag. Inside the opening and closing FORM tags are
each of the individual form elements plus any other HTML content to create a layout for that
form.
The opening tag of the FORM element usually includes the attributes: METHOD and
ACTION. The METHOD attributes can be either GET or POST which determines how your
form data is sent to the script to process it.
The ACTION attribute is a pointer to the script that processes the form on the server side.
The ACTION can be included by a relative path or by a full URL to a script on your server
or somewhere else. For example, the following <FORM>
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
tag would call a script called form-name in cgi-bin directory on server www.myservser.com
<FORM Method= post action=http://www.mytservser.com/cgi-bin/form-name.pl>
……………….
</FORM>
METHOD ATTRIBUTE:
The other required attribute for the <form> tag sets the methods by which the browser form’s
data to the server for processing. There are two ways: the POST method and GET method.
With POST method, the browser sends the data in two steps: the browser first contacts the
form-processing server specified in the action attributes, and once contact is made, sends the
data.
BACK END TECHNOLOGY:
MYSQL
MySQL Introduction
There are a large number of database management systems currently available, some
commercial and some free.
Some of them : Oracle, Microsoft Access, Mysql and PostgreSQL.
These database systems are powerful, feature-rich software, capable of organizing and
searching millions of records at very high speeds.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
mysql_connect() function is used to establish the connection to mysql server. four arguments
need to be passed to mysql_connect() function.
hostname : if you are working on local system , you can use localhost or you can also
provide ip address or server name.
username : if there is a existing user , you can provide username. default username is ‘root’.
password : by default password is blank or null.
dbname : it is a optional field . it is basically a name of the database that need to be
connected.
mysql_connect(host, username, password, dbname);
host(Server name)---- Either a host name(server name) or an IP address
username---- The MySQL user name
password---- The password to log in with
dbname---- Optional. The database to be used when performing queries
Note : There are more available parameters, but the ones listed above are the most important.
In the following example we store the connection in a variable ($con) for later use in the
script.
<?php
// Create connection
$con=mysqli_connect("localhost","root","") or die(mysql_error());
?>
Here localhost is server name. root is MySQL default user name. default password is blank
and database name is my_db. mysql_error( ) function provides mysql connectivity error
message.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Functions
Functions are bet declared between the <Head> tag of HTML page. Functions are called by
user-initiated events. Seems reasonable to keep the functions between the <Head> tags. They
are loaded first before a user can do anything that might call a function. Scripts can be placed
between inside comment fields to ensure that older browser do not display the script itself.
<html>
<head>
<script language=”JavaScript”>
function pushbutton (){
alert (“Hello!”);
}
</script>
</head>
<body>
<form>
<input type=”button” name=”Button1” value=”push me” onclick=”pushbutton ()”>
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
</form>
</body>
</html>
If we want to test this one immediately and you are using a Java Script enabled browser then
please go ahead and push the button.
This script will create a button and when you press it a window will pop up saying “hello!”.
In fact we have a lot of possibilities just by adding functions to our scripts.
The common browsers transmit the form information by either method: here’s the complete
tag including the GET transmission method attribute for the previous form
Example
<Form method =GET action=http://www.mycompany.com/ upfdate.php>
………
</form>
Input elements.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Use the <input> tag to define any one of a number of common form elements including text
fields multiple choice lists click able images and submission buttons. There are many
attributers for this tag only that types and name attributes are required for each element, each
type of input element uses only a subset of the followed attributes. Additional <input>
attributes may be required based upon which type of the form element you specify.
Submit button:
The submit button (<input type=submit> ) does what its name implies, settings in motion the
form’s submission to the server from the browser. We many have more than submit buttons
will be added to the parameter list the browser sends along to the server.
Example
< Input type =”submit”>
<Input type=”submit” value=”submit” name=”name”>
Reset button:
The reset bu琀琀on if 昀椀rm <input> bu琀琀on is nearly self- explanatory; it lets the user reset erase
or set to some default value all elements in the form. By default the browser displays a reset
bu琀琀on worth the label “reset”. We can change that by specifying a value a琀琀ribute with tour
own bu琀琀on label.
FEASIBILITY STUDY:
Feasibility study is conducted once the problem is clearly understood. Feasibility study is a
high level capsule version of the entire system analysis and design process. The objective is
to determine quickly at a minimum expense how to solve a problem. The purpose of
feasibility is not to solve the problem but to determine if the problem is worth solving.
The system has been tested for feasibility in the following points.
1. Technical Feasibility
2. Economical Feasibility
3. Operational Feasibility.
1. Technical Feasibility
The project entitles "Courier Service System” is technically feasibility because of the below
mentioned feature. The project was developed in Java which Graphical User Interface.
It provides the high level of reliability, availability and compatibility. All these make Java an
appropriate language for this project. Thus the existing software Java is a powerful language.
2. Economical Feasibility
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
The computerized system will help in automate the selection leading the profits and details
of the organization. With this software, the machine and manpower utilization are expected
to go up by 80-90% approximately. The costs incurred of not creating the system are set to
be great, because precious time can be wanted by manually.
3. Operational Feasibility
In this project, the management will know the details of each project where he may be
presented and the data will be maintained as decentralized and if any inquires for that
particular contract can be known as per their requirements and necessaries.
Implementation:
Implementation is the stage where the theoretical design is turned into a working system.
The most crucial stage in achieving a new successful system and in giving confidence on the
new system for the users that it will work efficiently and effectively.
The system can be implemented only after thorough testing is done and if it is found to work
according to the specification.
It involves careful planning, investigation of the current system and its constraints on
implementation, design of methods to achieve the change over and an evaluation of change
over methods a part from planning. Two major tasks of preparing the implementation are
education and training of the users and testing of the system.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
flow of work, which can be identified for managerial purposes and specifies the documents
or other deliverables to be produced in each phase.
The phases in the life cycle for information system development are described differently by
different writers, but the differences are primarily in the amount of necessity and manner of
categorization. There is a general agreement on the flow of development steps and the
necessity for control procedures at each stage.
The information system development cycle for an application consists of three major stages.
1) Definition.
2) Development.
3) Installation and operation.
The first stage of the process, which defines the information requirements for a feasible cost
effective system. The requirements are then translated into a physical system of forms,
procedures, programs etc., by the system design, computer programming and procedure
development. The resulting system is test and put into operation. No system is perfect so
there is always a need for maintenance changes. To complete the cycle, there should be a
post audit of the system to evaluate how well it performs and how well it meets the cost and
performance specifications. The stages of definition, development and installation and
operation can therefore be divided into smaller steps or phrases as follows.
Definition
Proposed definition : preparation of request for proposed applications.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Testing
Testing is a process of executing a program with the indent of finding an error. Testing is a
crucial element of software quality assurance and presents ultimate review of specification,
design and coding.
System Testing is an important phase. Testing represents an interesting anomaly for the
software. Thus a series of testing are performed for the proposed system before the system is
ready for user acceptance testing.
A good test case is one that has a high probability of finding an as undiscovered error. A
successful test is one that uncovers an as undiscovered error.
Testing Objectives:
1. Testing is a process of executing a program with the intent of finding an error 2. A good
test case is one that has a probability of finding an as yet undiscovered error
Testing Principles:
All tests should be traceable to end user requirements
Tests should be planned long before testing begins
Testing should begin on a small scale and progress towards testing in large
Exhaustive testing is not possible
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
The primary objective for test case design is to derive a set of tests that has the highest
livelihood for uncovering defects in software. To accomplish this objective two different
categories of test case design techniques are used. They are
White-box testing:
White box testing focus on the program control structure. Test cases are derived to ensure
that all statements in the program have been executed at least once during testing and that all
logical conditions have been executed.
Block-box testing:
Black box testing is designed to validate functional requirements without regard to the
internal workings of a program. Black box testing mainly focuses on the information domain
of the software, deriving test cases by partitioning input and output in a manner that provides
through test coverage. Incorrect and missing functions, interface errors, errors in data
structures, error in functional logic are the errors falling in this category.
Testing strategies:
A strategy for software testing must accommodate low-level tests that are necessary to verify
that all small source code segment has been correctly implemented as well as high-level tests
that validate major system functions against customer requirements.
Testing fundamentals:
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Testing is a process of executing program with the intent of finding error. A good test case is
one that has high probability of finding an undiscovered error. If testing is conducted
successfully it uncovers the errors in the software. Testing cannot show the absence of
defects, it can only show that software defects present.
Testing Information flow:
Information flow for testing flows the pattern. Two class of input provided to test the
process. The software configuration includes a software requirements specification, a design
specification and source code.
Test configuration includes test plan and test cases and test tools. Tests are conducted and all
the results are evaluated. That is test results are compared with expected results. When
erroneous data are uncovered, an error is implied and debugging commences.
Unit Testing:
Unit testing is essential for the verification of the code produced during the coding phase and
hence the goal is to test the internal logic of the modules. Using the detailed design
description as a guide, important paths are tested to uncover errors with in the boundary of
the modules. These tests were carried out during the programming stage itself. All units of
ViennaSQL were successfully tested.
Integration testing :
Integration testing focuses on unit tested modules and build the program structure that is
dictated by the design phase.
System testing:
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
System testing tests the integration of each module in the system. It also tests to find
discrepancies between the system and it’s original objective, current specification and system
documentation. The primary concern is the compatibility of individual modules. Entire
system is working properly or not will be tested here, and specified path ODBC connection
will correct or not, and giving output or not are tested here these verifications and validations
are done by giving input values to the system and by comparing with expected output. Top-
down testing implementing here.
Acceptance Testing:
This testing is done to verify the readiness of the system for the implementation. Acceptance
testing begins when the system is complete. Its purpose is to provide the end user with the
confidence that the system is ready for use. It involves planning and execution of functional
tests, performance tests and stress tests in order to demonstrate that the implemented system
satisfies its requirements.
Tools to special importance during acceptance testing include:
Test coverage Analyzer – records the control paths followed for each test case.
Timing Analyzer – also called a profiler, reports the time spent in various regions of the code
are areas to concentrate on to improve system performance.
Coding standards – static analyzers and standard checkers are used to inspect code for
deviations from standards and guidelines.
Test Cases:
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Test cases are derived to ensure that all statements in the program have been executed at least
once during testing and that all logical conditions have been executed.
Using White-Box testing methods, the software engineer can drive test cases that
Guarantee that logical decisions on their true and false sides.
Exercise all logical decisions on their true and false sides.
Execute all loops at their boundaries and with in their operational bounds.
Exercise internal data structure to assure their validity.
The test case specification for system testing has to be submitted for review before system
testing commences.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Test cases are derived to ensure that all statements in the program have been executed at least
once during testing and that all logical conditions have been executed.
Using White-Box testing methods, the software engineer can drive test cases that
Guarantee that logical decisions on their true and false sides.
Exercise all logical decisions on their true and false sides.
Execute all loops at their boundaries and with in their operational bounds.
Exercise internal data structure to assure their validity.
The test case specification for system testing has to be submitted for review before system
testing commences.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
CONCLUSION:
The package was designed in such a way that future modifications can be done easily. The
following conclusions can be deduced from the development of the project.
Automation of the entire system improves the efficiency
It provides a friendly graphical user interface which proves to be better when compared
to the existing system.
It gives appropriate access to the authorized users depending on their permissions.
It effectively overcomes the delay in communications.
The System has adequate scope for modification in future if it is necessary.
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
BIBLIOGRAPHY
The following books were referred during the analysis and execution phase of the project
PHP and MySQL Web Development
Book by Luke Welling
Head First PHP & MySQL
Book by Lynn Beighley and Michael Morrison
PHP & MySQL for Dummies
Book by Janet Valade
WEBSITES:
www.google.com
www.w3schools.com
www.tutorialspoint.php
http://stackoverflow.com
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)
lOMoARcPSD|33451857
Downloaded by A KM (akm.ak2815@gmail.com)