0% found this document useful (0 votes)
154 views117 pages

BMS Project Report-8-7-2023

The document describes a project report on a Book Store Management System. It outlines the need for such a system to manage book store operations and inventory more efficiently compared to traditional paper-based systems. The system aims to reduce manual efforts and provide users with an interface to view book details. It also maintains a centralized database so that changes are reflected everywhere immediately.

Uploaded by

shivani rao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
154 views117 pages

BMS Project Report-8-7-2023

The document describes a project report on a Book Store Management System. It outlines the need for such a system to manage book store operations and inventory more efficiently compared to traditional paper-based systems. The system aims to reduce manual efforts and provide users with an interface to view book details. It also maintains a centralized database so that changes are reflected everywhere immediately.

Uploaded by

shivani rao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 117

A

PROJECT REPORT
ON
BOOK STORE MANAGEMENT SYSTEM

For the award of the degree of

Master of Computer Application


In
Computer Application
By
NEHA DEVI

SCHOOL OF COMPUTER SCIENCE & ENGINEERING


DEPARTMENT OF MCA
GOVT. P.G. COLLEGE DHARAMSHALA
HIMACHAL PRADESH
2021-2023
University Roll No.—21013728026 Class Roll No.--21249
A
PROJECT REPORT
ON
BOOK STORE MANAGEMENT SYSTEM
Submitted in partial fulfillment of the Requirements
For the award of Master of Computer Application Degree

HIMACHAL PRADESH TECHNICAL UNIVERSITY


HAMIRPUR (H.P.) - INDIA

MAJOR PROJECT REPORT

Submitted by
Neha Devi
(SEM-IVth)
Roll No. 21013728026
Under the Guidance of
Internal Guide External Guide
Mr. Sachin Awasthi Mr. Desh Raj

SCHOOL OF COMPUTER SCIENCE & ENGINEERING


DEPARTMENT OF MASTER OF COMPUTER APPLICATION
GOVT. P.G. COLLEGE DHARAMSHALA
HIMACHAL PRADESH
SESSION – 2021-23
GOVT. P.G. COLLEGE DHARAMSHALA
SCHOOL OF COMPUTER SCIENCE & ENGINEERING
MASTER OF COMPUTER APPLICATION

HIMACHAL PRADESH TECHNICAL UNIVERSITY


HAMIRPUR (H.P.) - INDIA
CERTIFICATE
2021-23

This is to certify that the work embodied in this dissertation entitled “BOOK STORE
MANAGEMENT SYSTEM has been satisfactorily completed by Miss. Neha Devi
(21249). It is a bonafide piece of work, carried out under our / my guidance in the Master
of Computer Application, Govt. P.G. College, and Dharamshala for the partial
fulfillment of the Master of Computer of Application degree during the academic year
2021-23.

Name of Internal Guide External Guide


Mr.Sachin Awasthi Mr. Desh Raj
Asst. Professor, Project Guide,
Department of MCA, Company Name,
Govt. P.G. College, Dharamshala
RajMaya IT
Solutions Pvt. Ltd.
Sunder Nagar
Mandi(H.P)

Approved By Forwarded by
Dr.Vikram Shree Vats Dr. Sanjivan Katoch
Coordinator , Department of MCA Principal (MCA)
Govt. P.G. College, Dharamshala Govt. P.G. College, Dharamshala
GOVT. P.G. COLLEGE DHARAMSHALA
SCHOOL OF COMPUTER SCIENCE & ENGINEERING
MASTER OF COMPUTER APPLICATION

HIMACHAL PRADESH TECHNICAL UNIVERSITY


HAMIRPUR (H.P.) - INDIA

APPROVAL CERTIFICATE
2021-23

This foregoing project work is hereby approved as a creditable study of a Computer


Application Subject carried out and presented in a manner satisfactory to warranty its
acceptance as a prerequisite to the degree for which it has been submitted. This project is
work entitled “BOOK STORE MANAGEMENT SYSTEM” Submitted by Miss. Neha
Devi (21013728026) is understood that by this approval the undersigned do not
necessarily endorse or approve any statement made, opinion expressed or conclusion
drawn therein, but approve the thesis only for the purpose for which it has been
submitted.

(Internal Examiner) (External Examiner)

Date: Date:
GOVT. P.G. COLLEGE DHARAMSHALA
SCHOOL OF COMPUTER SCIENCE & ENGINEERING
MASTER OF COMPUTER APPLICATION

HIMACHAL PRADESH TECHNICAL UNIVERSITY


HAMIRPUR (H.P.) - INDIA

DECLARATION
2021-23

I, Neha Devi (21013728026), a student of Master of Computer Application, Govt.


P.G. College, Dharamshala hereby declare that the work presented in this Major Project
is outcome of my own work, is bonafide, correct to the best of my knowledge and this
work has been carried out taking care of Software Ethics. The work presented does not
infringe any patented work and has not been submitted to any University for the award of
any degree or any professional diploma.

(Neha Devi)
Roll No. 21013728026
GOVT. P.G. COLLEGE DHARAMSHALA
MASTER OF COMPUTER APPLICATION

HIMACHAL PRADESH TECHNICAL UNIVERSITY


HAMIRPUR (H.P.) - INDIA

ACKNOWLEDGEMENT

IT industry is the most dynamic in the present world. The pace at which it is moving
ahead makes difficult for us to cope with the coding computer technology; if we climb the
hills individually .the efforts of colleagues and friends have helped me in achieving the
desired goal. My sincere thanks to Mr. Desh Raj, RajMaya IT Solutions Pvt. Ltd., for his
support and giving me an opportunity to do project me in this company and providing me
proper in reinstruction in this organization.
We acknowledge the able guidance in valuable suggestions, training about new
technology of Project leader Miss. Neha Devi, Project guide Mr. Desh Raj thankful to
whole team of crisp during the course of the project.
I would like to give special thanks to Principal Dr. Sanjivan Katoch of college and
Dr. Vikram Shree Vats Coordinator, Govt. P.G. College, Dharamshala, his great
support and inspiring me to complete my Project work.
I would like to give thanks to Dr. Pawan Thakur, Mr. Satish Sood, Mr. Sachin
Awasthi and Miss. Susheela Pathania for all their wisdom and guidance during my
years as a postgraduate student. I think him for having the confidence in me, to conduct
my research, and for giving me the opportunity to learn from my own mistakes. His
guidance has been absolutely invaluable to me, who have been imparting their immense
knowledge self-ledge for the past two years.

(Neha Devi)
Roll No. 21013728026
PREFACE
Bookstore Management System is basically used to build an web application program which help people to find
and buy latest design of Books with different categories like Biography, Programming, Management, etc. It is useful in
the way that it makes an easier way to buy Personal Bookstore.

Today most of the book shop is useful for shopping site. The admin have lots of paper work and they are using
desktop, spread sheet like MS Excel application to manage data in soft copy about user record. In this proposed
Bookstore System it will run in server and user can handle whole the registration activities.

This application maintains the centralized database so that any changes done at a location reflects immediately.
This is an online tool so more than one user can login into system and use the tool simultaneously.

The aim of this application is to reduce the manual effort needed to manage transactions and historical data used
in various gods owns. Also this application provides an interface to users to view the details And Design about
Bookstore.
In the existing system, most of the records are maintained on paper. It becomes very inconvenient to modify the data
. In the existing system, here is a possibility that the same data in different registers may have different values
which means the entries of the same data do not match. This inconsistent state does not supply the concrete
information which poses a problem in the case information related to particular search record.

Our project is very useful. User is no longer required to check his register in search of records, as now it can be
searched over the software by choosing some options. The user need not to type in most of the information. He/she is
just required to enter the desired options. On the whole it liberates the user from keeping lengthy manual records.
In a nutshell, it abates the work load of an organization.

In today’s world, no one likes to perform calculations on calculator or manually when computer is there. Everyone
wants his/her work to be done by computer automatically and displaying the result for further manipulations.
A book shop uses a personal computer to maintain the inventory of books that are being sold at the shop. The list
includes details such as author, title, price, publisher, stock position,etc. Whenever a customer wants a book, the
shopkeeper inputs the title and author of the book and the system replies whether it is in the list or not. If it is not, an
appropriate message s displayed. If book is in the list, then the system displays the book details and asks for number of
copies. If the requested copies are available the, total cost of the books is displayed; otherwise the message “Required
copies not in stock” is displayed.

.
LIST OF CONTENTS
S. NO. CHAPTER NAME PAGE NO.
1 INTRODUCTION 1
1.1 INTRODUCTION 2
1.2 OBJECTIVES 2
1.3 PROBLEM DEFINATION 2
1.4 IDENTIFICATION OF NEED 3
2 SYSTEM ANALYSIS 4-6
2.1 PRELIMINARY INVESTIGATION 6-7

2.2 FEASIBILITY STUDY 7-8

2.3 PROJECT PLANNING 9-10

2.4 PROJECT SCHEDULING(PERT CHART AND GANTT 10-14


CHART BOTH)
2.5 SOFTWARE REQUIREMENT SPECIFICATIONS(SRS) 14-18

2.6 DATA MODELS (LIKE DFD), CONTROL FLOW DIAGRAM 18-19

2.6.1 STATE DIAGRAMS/SEQUENCE DIAGRAMS 20-21

2.6.2 ENTITY RELATIONSHIP MODEL 22-23

2.6.3 CLASS DIAGRAMS/CRC 23-26

2.6.4 MODELS/COLLABORATION DIAGRAMS/USER-CASE 27-29


DIAGRAMS/ACTIVITY DIAGRAMS
3 SYSTEM DESIGN 30

3.1 MODULARISATION DETAILS 30-33

3.2 DATA INETGRITY AND CONSTRAINTS 34

3.3 DATABASE DESIGN, PROCEDURAL DESIGN/OBJECT 34-38


ORIENTED DESIGN
3.4 USER INGTERFACE DESIGN 39-40

3.5 TEST CASES (UNIT TEST CASES AND SYSTEM TEST 40-43
CASES)
4 43
CODING
S. NO. CHAPTER NAME PAGE NO.
4.1 COMPLETE PROJECT CODING 43-58

4.2 VALIDATION CHECKS 59

5 TESTING 61-63

5.1 TESTING TECHNIQUES 64-66

5.2 TESTING STRATEGIES USED 67-68

5.3 TESTING PLAN USED 68-71

5.4 TEST REPORTS FOR UNIT TEST CASES AND SYSTEM 71-92
TEST CASES
5.5 COST ESTIMATION OF THE PROJECT ALONG WITH 92-103
COST ESTIMATION MODEL
6 CONCLUSION 104

7 LIMITATION 105

8 FUTURE SCOPE AND FURTHER ENCHANCEMENT OF 106-107


THE PROJECT
9 BIBLIOGRAPHY 108

1
Chapter 1
Introduction
1.1 INTRODUCTION

Bookstore Management System is basically used to build a web application program which help people to find
and buy latest design of Books with different categories like Biography, Programming, Management, etc. It is useful in
the way that it makes an easier way to buy Personal Bookstore.

 This Software allows the Admin to store the book details and the customer details.
 Easier access to information like customer information and availability.
 Provide facility of storing data to reduce the paper work.
 In Bookstore Management System Users can by a book and Admin shows their name and other background
of the user.
 A new idea about Project how Bookstore Management System works.
Objectives

1.2 OBJECTIVES

 To reduce the paper work. To make computerized system.


 Increase operational speed. Faster searching as well as accuracy.
 Large storage of data using database.
 Manual process of vehicle purchase and sales on finance and cash and generate reports of model wise,
weekly, monthly ,annual progress is so difficult so this project make is easier.
 Speed and faster information retrieval.

1.3 PROBLEM DEFINATION

 The main purpose of Book-store Management System is to focused


on the solution of all the problems related to the paper work from the different reasons.

2
 It provides a facility to handle all the activities at one place. With the help of this application, admin can
perform different kind of operations at the same time and place.
 Bookstore management System has an ability to keep the records safe related to Books.
 We provide the best service in our website or focuses on user choice. We will improve new feat user can
 easily understand and trust our system.

1.4 IDENTIFICATION OF NEED

The old manual system was suffering from a series if drawbacks. Since whole of the system was to
be maintained with hands the process of keeping, maintaining and retrieving the information was
very tedious and lengthy. The records were never used to be in a systematic order. There used to be
lots of difficulties in associating
Any particular transaction with a particular context. If any information was to be found it was
required to go through the different registers, documents there would never exist anything like
report generation. There would always be unnecessary consumption of time while entering records
and retrieving records. One more problem was that it was very difficult to find errors while entering
the records. Once the records were entered it was very difficult to update these records.
The reason behind it is that there is lot of information to be maintained and have to be kept in mind
while running the business. For this reason we have provided features present system is partially
automated (computerized), actually existing system is quite laborious as one has to enter same
information at three different places.

3
Chapter 2
System Analysis

SYSTEM ANALYSIS
System analysis focuses on specifying for what the system or the application is required to do. It
allows the individuals to see the logical elements (what the system should do) apart from the
physical components it uses (computers, terminals and storage system). It is the process of
gathering and interpreting facts, diagnosing problems and using the information to recommend
improvements to the system.

System Analysis phase is divided into many sub-phases to make analysis work easy. This phase is
not easy phase, but very cumbersome and complex. This phase of SDLC is tricky and time
consuming also.

4
1. System study: The system study is information-oriented stage in which user; middle level and
higher-level management have to face interviews.

1.1. Interview: The system analysis team conducts face-to-face interview with the staff
of organization.
1.2. Questionnaire: distribute questions (closed, open, probing types) to user and note
their responses.
1.3. Observation: The actual position of men and machine are observed on-site. Study
of literatures, objective of organization, procedural manual etc is important tools for
data collection.

2. Requirement analysis: The user expectation with new or store system is called user requirement.
The requirement can be qualitative and quantitative.

3. Documentation: The report of system study and requirement analysis is studied and documented.
Designer team for system designing uses this document. If document does not contain appropriate
information, design cannot be successful.

5
Following points should be well considered:

 Documents and reports that must be provided by the new system: there can also be few
reports, which can help
 Management in decision-making and cost controlling, but since these reports do not get
required attention, such kind of reports and information were also identified and given
required attention.
 Details of the information needed for each document and report.
 The required frequency and distribution for each document.
 Probable sources of information for each document and report.
 With the implementation of computerized system, the task of keeping records in an
organized manner will be solved. The greatest of all is the retrieval of information, which
will be at the click of the mouse. So the proposed system helps in saving the time in
different operations and making information flow easy giving valuable reports.

2.1 Preliminary Investigation

Preliminary Investigation basically refers to the collection of information that guides the
management of an organization to evaluate the merits and demerits of the project request and make
an informed judgment about the feasibility of the proposed system. This sort of investigation
provides us with a through picture of the kind of software and hardware requirements which are
most feasible for the system, plus the environment in which the entire project has to be installed and
made operational.

1) Reviewing the documents provided by the organization

They were quite effective in guiding us towards visualizing the features that were needed to be put
together in the system and the required output which had to be generated once the system became
functional.

These specifications provided to us by the organization showed how the new system should look
like; it helped us in understanding the basic structure of the application which we were supposed to
develop.

2) On site observation:
6
Another technique utilized by us to gain information about the project was to visit the client site
where the system had to be installed. Here a detailed system study was carried out, checking the
existing system to replicate it with our system. We also observed the activities of the system
directly. During the on-site observation, we saw the office environment, work load of the system
and users, method of work, and the facilities provided by the organization. This information helped
us to understand how the system should operate. But after interviewing the persons, who is affected
by the system, we got more details that further explain the project and shown whether assistance is
merited economically, operationally and technically.

3) Conducting interviews:

This method of investigation conducted by us involved questioning the concerned personnel to get
the user’s (client) view about the system and the features they desired it to have. Some of the
Questions put forward by our team were:

a) The amount of data needed to be stored.


b) The number of customers using the system and number of which the application needed to be
installed.
c) The issue of our application with existing system was widely discussed.
d) The level of access given to the customer would depend on his department.

2.2 Feasibility Study


A feasibility study is a test of a system proposal according to its workability impact on
organization, ability to meet user needs and effective use of resources. The objective of a
feasibility study is not to solve a problem but to acquire a sense of its scope. During the study, the
problem definition is crystallized and the aspects of the problem to be included in the system are
determined. After the initial investigation of the system that helped to have in-depth study of the
existing system, understanding its strength and weaknesses and the requirements for the new
proposed system.
Feasibility study was done in three phases documented below:
a. Operational feasibility
b. Technical feasibility
c. Economic feasibility

7
a. Operational feasibility
People are inherently resistant to change and computers have been known to facilitate change.
There is always some reluctance among the users against the introduction of new system but they
were told that this system would eliminate the unnecessary overhead of database migration and
conversion, which presently had to be carried out on daily basis to facilitate transactions between
the different departments. The objective this feasibility phase is to take the operational staff into
confidence. As the success of a good system depends upon the willingness of the operating staff,
they were taken into full confidence that the new proposed system would make their jobs easier,
relieve them from the unnecessary overheads and reduce the possibility of errors creeping into the
system.

b. Technical feasibility
Technical feasibility center’s on the existing computer system. (Hardware/software) and to what
extent it can support the proposed addition also the organization already has sufficient high-end
machines to serve the processing requirements of the proposed system. So there is no need to
purchase new software as the organization has necessary software. Having gone through the steps
of the overall analysis and feasibility study the next step was to carry out a detailed system
analysis. The project analysis phase was conducted to learn about the proposed system, to study

the problems and finally select a system that would take care of the problems identified in the
working of the present system.
c. Economics feasibility
Economic feasibility is the most frequently used method for evaluating the effectiveness of the
candidate system. More commonly known as cost\benefit analysis, the procedure is to determine
the benefits and savings that are expected from a candidate system and compare them with the
costs. If benefits outweigh the costs, then the decision is made to design and implement the
system. A cost\benefit analysis was done for the proposed system to evaluate whether it would be
economically viable or not. The organization has in store many machines with high processing
power necessary to implement the system. Also the organization has necessary software or
hardware to support the system. Considering the programmer time and the negligible
hardware/software cost required for developing the system, it was found that the benefits in terms
of reduced overhead as a result of elimination of the requirement of database migration and
conversion was more than the cost.

8
2.3 Project Planning

The BMS is critical to set-up online order, customers to browse through book categories. This is a small scale
project for BMS. The basic idea is that the customers can buy a book from anywhere during any time by the cash through.
User
 User can Register, Login, Logout the system.
 View different categories and by books.
 Contact with Admin
 Add Books to Cart
 Order Books

Functionality
 One or more user visit web page at a time.

Usability
 In any browser run this webpage.

Performance
 It performs the webpage as per User’s operating system.

Admin
 Admin can manage system.
 Provide books.

Functionality
 Admin can insert a book or manage the records.

• Design of solution

As per the System Requirements it contains two (2) Modules:


1) Admin
2) Client

Functionalities of Admin:
 This Module includes the mainly following tasks:

 Entry of Category.

 Category List.

9
 Add a New Book.

 View Book.

 View Message which Send by Client.

Functionalities of Client:
 This Module includes the mainly following tasks:

 View Books.

 Add books to Cart.

 Search Books.

 View or Add items in Cart.

2.4 Project Scheduling

To ensure the smooth execution and timely completion of the Book Store Management System
Project, it is crucial to create a project schedule. The project schedule outlines the tasks, their
dependencies, estimated durations, and the sequence in which they should be completed. Here is a
sample project schedule for your reference:
1. Requirements Gathering and Analysis
 Duration: 1 week
 Tasks:
 Meet with book store owner to gather project requirements
 Analyze existing systems and identify key features for the result management
system
 Define project scope and objectives
2. System Design and Architecture
 Duration: 2 weeks
 Tasks:
 Design the database schema for storing book store data
 Determine the system architecture and decide on technologies (PHP, MySQL,
Bootstrap, CSS)
 Create wireframes and mock-ups for the user interface
3. User Registration and Login Module
 Duration: 1 week

10
 Tasks:
 Develop the user registration functionality
 Implement user login and authentication
 Set up user roles and permissions
4. Add and Manage books Information
 Duration: 2 weeks
 Tasks:
 Create forms to add and edit books details (name, title, cost, etc.)
 Implement validation and data storage for book store information
 Enable searching and filtering of books records
5. Books Entry and Management
 Duration: 3 weeks
Tasks:
 Develop the functionality to enter and update books records
 Calculate sales based on the sale data
 Implement validation and error handling for order entry
6. Reporting and Analytics
 Duration: 2 weeks
 Tasks:
 Generate reports for books, order, titles, etc.
 Implement data visualization to provide insights into book store sales
 Enable export functionality for reports in different formats (PDF, Excel)
7. User Interface Design and Enhancement
 Duration: 2 weeks
 Tasks:
 Refine the user interface design using Bootstrap
 Ensure responsiveness and compatibility with different devices
 Improve user experience through intuitive navigation and user-friendly
interfaces
8. Testing and Quality Assurance
 Duration: 1 week
 Tasks:
 Perform unit testing for each module and functionality
11
 Conduct integration testing to ensure the seamless interaction of different
components
 Identify and fix bugs and issues
9. Documentation and Project Review
 Duration: 1 week
 Tasks:
 Document the project requirements, design, and implementation details
 Create user manuals and technical documentation
 Conduct a project review to evaluate the overall success and areas of
improvement

How to schedule a project


Project scheduling occurs during the planning phase of the project. You have to ask yourself three
questions to start:

1. What needs to be done?


2. When will it be done?
3. Who will do it?

Once you’ve got answers to these questions, then you can begin to plan dates, link activities,
set the duration, milestones and resources. The following are the steps needed to schedule a
project:

1. Define activities
What are the activities that you have to do in the project? By using a Work Breakdown
Structure (WBS) and a deliverables diagram, you can begin to take these activities and organize
them by mapping out the tasks necessary to complete them in an order than makes sense.

2. Do estimates
Now that you have the activities defined and broken down into tasks, you next have to
determine the time and effort it will take to complete them. This is an essential piece of the
equation in order to calculate the correct schedule.

3. Determine dependencies

12
Tasks are not an island, and often one cannot be started until the other is completed. That’s
called a task dependency, and your schedule is going to have to reflect these linked tasks. One
way to do this is by putting a bit of slack in your schedule to accommodate these related tasks.

4. Assign resources
The last step to finalizing your planned schedule is to decide on what resources you are going
to need to get those tasks done on time. You’re going to have to assemble a team, and their
time will need to be scheduled just like the tasks.

PERT chart
A PERT chart is a project management tool that provides a graphical representation of a project's
timeline. PERT, or Program Evaluation Review Technique, allows the tasks in a particular project
to be analyzed.

Pert Chart

Gantt chart
A Gantt chart, commonly used in project management, is one of the most popular and useful ways
13
of showing activities (tasks or events) displayed against time. On the left of the chart is a list of the
activities and along the top is a suitable time scale. Each activity is represented by a bar; the
position and length of the bar reflects the start date, duration and end date of the activity.

GANTT CHART
2.5 Software Requirement Analysis

This project is a web application that is developed in PHP having MySql as back end.

 OPERATING SYSTEM: Windows 11

 ENVIRONMENT:

 LANGUAGE: PHP

 BACK END: MS SQL server

Software Requirement on Server side:-

14
a. MySQL
A database management, or DBMS, gives the user access to their data and helps them
transform the data into information. Such database management systems include dBase,
paradox, IMS, SQL Server and MySQL Server. These systems allow users to create, update
and extract information from their database.
A database is a structured collection of data. Data refers to the characteristics of people,
things and events. MySQL Server stores each data item in its own fields. In SQL Server, the
fields relating to a particular person, thing or event are bundled together to form a single
complete unit of data, called a record (it can also be referred to as raw or an occurrence).
Each record is made up of a number of fields. No two fields in a record can have the same
field name.
During an MySQL Server Database design project, the analysis of your business needs
identifies all the fields or attributes of interest. If your business needs change over time, you
define any additional fields or change the definition of existing fields.

b. Apache Server :-

Often referred to as simply Apache, a public-domain open source web server developed by a
loosely-knit group of programmers. The first version of Apache, based on the NCSA httpd
web server, was developed in 1995. Core development of the Apache web server is performed
by a group of about 20 volunteer programmers, called the Apache group. However, because the
source code is freely available, anyone canadapt the server for specific needs, and there is a
large public library of Apache Add-ons. In many respects, development of Apache is similar to
development of the Linux Operating System.
Software requirement on Client side/User interface:-
Application will be access through a browser interface. The interface would be vied best application
using 1024 x 786 and 800 x 600 pixels resolutions setting. The software would be fully compatible
with Microsoft internet explorer for version 9 and above.

Software requirement for development

Front End - CSS , BOOTSTRAP, HTML

a. CSS:- Cascading Style Sheet is a style sheet language used for describing the presentation of a document
15
written in a markup language Although most often used to set the visual style of web page and user
interfaces written in HTML and XHTML, the language can be applied to any XML document, including
plain XML, SVG and XUL, and is applicable to rendering in speech, or on other media. Along with HTML
and JavaScript, CSS is a cornerstone technology used by most websites to create visually engaging
webpages, user interfaces for web applications, and user interfaces for many mobile applications.
b. Bootstrap:- Bootstrap is a free and open-source, front-end web frame work for designing websites and
web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons,
navigation and other interface components, as well as optional JavaScript extensions. Unlike many
web frameworks, it concerns itself with front-end development only.
Bootstrap is modular and consists of a series of less stylesheets that implement the various components of
the toolkit. These stylesheets are generally compiled into a bundle and included in web pages, but
individual components can be included or removed. Bootstrap provides a number of configuration variables
that control things such as color and padding of various components.
c. HTML:- HTML stands for HYPER TEXT MARKUP LANGUAGE, which is most widely used language
on web to develop web pages. HTML refers to the way in which Web pages (HTML documents) are
linked together. Thus, the link available on a web page is called Hypertext.
HTML was created by Berners-Lee in late 1991 but “HTML 2.0” was the first standard HTML
specification which was published in 1995. HTML 4.01 was a major version of HTML and it was
published in late 1999. Though HTML 4.01 version is widely used but currently we are having HTML-5
version which is an extension to HTML 4.01, and this version was published in 2012.
As its name suggests, HTML is a Mark-up Language which means you use HTML to simply “mark-up”
a text document with tags that tells a web browser how to structure it to display.
Back End - PHP, MySQL
1. PHP

The PHP Hypertext Pre-processor (PHP) is a programming language that allows web developers to
create dynamic content that interacts with databases. PHP is basically used for developing web based
software applications. This tutorial helps you to build your base with PHP. PHP started out as a small open source
project that evolved as more and more people found out how useful it was. Rasmus Lerdorf unleashed the first
version of PHP way back in 1994.
 PHP is a recursive acronym for "PHP: Hypertext Preprocessor".
 PHP is a server side scripting language that is embedded in HTML. It is used to manage dynamic
content, databases, session tracking, even build entire e-commerce sites.
 It is integrated with a number of popular databases, including MySQL, Postgre SQL, Oracle,
Sybase, Informix, and Microsoft SQL Server.
 PHP is pleasingly zippy in its execution, especially when compiled as an Apache module on the
16
Unix side. The MySQL server, once started, executes even very complex queries with huge result
sets in record-setting time.
 PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. PHP4 added
support for Java and distributed object architectures (COM and CORBA), making n-tier
development a possibility for the first time.
 PHP is forgiving: PHP language tries to be as forgiving as possible.
 PHP Syntax is C-Like.

2. MySQL
MySQL is a database, widely used for accessing querying, updating, and managing data in
databases. MySQL is an open source RDBMS that relies on SQL for processing the data in
database. MySQL provides APIs for the languages like C, C++, Eiffel, JAVA, Perl, PHP and
Python. MySQL is most commonly used for web applications and for embedded applications
and has become a popular alternative to proprietary database system because of its speed and
reliability. MySQL can run on UNIX, Windows and Mac OS.

I. Functional Requirements
a. Log in Module (LM).
b. Registered Module (RUM).
c. Normal User Module (NUM).
d. Administrator Module (AM).
II. Non Functional Requirements
a. Accuracy
b. Fast response
c. Performance
d. Security
e. Reliability

Hardware requirement
 System type 32 bit/64 bit Operating System.

 Windows 7/8/8.1/10/11

 Linux Ubuntu / Light ubuntu

 Mac OS

 1 GB RAM

17
Software Requirement
 Xampp Server
 MySQL
 Browser
 PHP MyAdmin
Client Side Tools
 Processor : PC with a Dual core processor or above is Recommended: 2.20 GHz processor.

 RAM : 512 MB or onwards Recommended.

 Hard Disk : 45 MB of available space required on system drive of available or more.

 Operating System : Windows or open source 32/64 bit operating system, or later versions. Browser Mozilla
Firefox 2.0 /Internet Explorer 8.0 Onwards / Google Chrome.

2.6 Data Models


• Data Flow Diagrams
The Data Flow Diagrams (DFD) is a graphical representation of the flow of data through an information
system. Data Flow Diagrams are used by systems analysis to design information processing systems but also a
way to model whole organization. The main merit of DFD is that it can provide an overview of what data a
system would processes. What transformations of data are done, what data are stored and which stored data is
used, and where the result is flow.
Standard Symbols used in DFD:
Symbol Name Function
Data Flow Used to connect processes to each other.
The Arrowhead indicates the direction
of Data Flow.
Process Performs some transformation to input
data to output data.

Input / Output It is used to Input or Output data.

(Data Flow Diagram Symbols)

18
 0 Level DFD (Website Flow Diagram)

(Level Data Flow Diagram)

 1st Level DFD (Website Flow Diagram)


List of Select from
Category
books books

USER Required Select from Books


information
Selection of books
Books

Add to
cart

Order Details Processing -


User Details Data
( 1st Level Data Flow Diagram)

Order
Details

Order
Successfullylo
2.6.1 State Diagram and Sequence Diagram
w Diagram

19
 Flowchart Diagram

(BMS Flowchart Diagram)

20
 User Flow Diagram

(User Flow Diagram)

21
2.6.2 ER-Diagram
Entity-Relationship Diagram is a graphical representation of entities and their relationship to each other. It
describes how data is related to each other. An entity is a piece of data- an object or a concept about which data is
stored. A relationship is how the data is shared between entities.

In E-R Diagram, there are 3 main components:

Symbol Name Description


Entity An Entity can be any object, place, person or
anything.

Attribute An Attribute describes a property or


characteristics of an entity

Relationship A Relationship describes relation between


entities.

(E-R Diagram Symbols)

22
E-R Diagram for Bookstore Management System
E-R Diagram for Bookstore Management System)
city e-mail

password con-no

name date

id Customers Buys id

name
name
image

id price

Cart BMS
Books image
qty Contai
ns

Cat..
price

Has
Man desc
y

Category

id name

2.6.3 Class Diagram


Use Case Diagram
A use case is a set of scenarios that describing an interaction between a user and a system. A use case
diagram displays the relationship among actors and use cases. The two main components of a use case diagram
are use cases and actors.

23
(Use Case Diagram Symbols)

An actor is represents a user or another system that will interact with the sys
Item you are modeling. A use case is an external view of the system that represents some action the user
might perform in order to complete a task.

24
 User Use Case Diagram

(User Use Case Diagram)

25
BMS Use Case Diagram
BOOKSTORE MANAGEMENT SYSTEM

View Product

Order

Login

User

Add to Cart

Admin
Register

Add Cat, Books

Delete Cat, Books


Visitor

Delete User

( BMS Use Case Diagram)

26
2.6.4 Models/Collaboration diagram/Activity diagrams

Activity Diagram
Activity diagram is basically a flowchart to represent the flow from one activity to another activity. The
activity can be described as an operation of the system.
Name of symbols Symbols Description
Start symbol Represents the beginning of
a process or workflow in an
activity diagram. It can be
used by itself or with a note
symbol that explains the
starting point.
Activity symbol Indicates the activities that
make up a modeled process.
These symbols, which
include short descriptions
within the shape, are the
main building blocks of an
activity diagram.

Connector symbol Shows the directional flow,


or control flow, of the
activity. An incoming arrow
starts a step of an activity;
once the step is completed,
the flow continues with the
outgoing arrow.

Decision symbol Represents a decision and


always has at least two paths
branching out with
condition text to allow users
to view options. This
symbol represents the
branching or merging of
various flows with the
symbol acting as a frame or
container.
End symbol Marks the end state of an
activity and represents the
completion of all flows of
a process.

Joint symbol/ Combines two concurrent


Synchronization bar activities and re-introduces
them to a flow where only
one activity occurs at a

27
time. Represented with a
thick vertical or horizontal
line.

Fork symbol Splits a single activity flow


into two concurrent
activities. Symbolized with
multiple arrowed lines
from a join.

(Activity Diagram Symbols)


User Activity Diagram

Home Page

View Books
Book Detail

Add to Cart

28
(User Activity Diagram)

1. Login System Activity Diagram

(Login System Activity Diagram)

29
Chapter 3
System Design
The Purpose of Design Phase is to plan a solution for problem specified by the requirements. System Design
aims to identify the modules that should be in the system, the specification of those modules and how they
interact with other to produce the results. The goal of the design process is to produce a model that can be used later to
build that system. The produced model is called design of the system.
System Design is the process of defining the architecture, components, modules, interfaces and data for a
system to satisfy specified requirements.
Normally, the design proceeds in 2 stages:
 Physical Design
 Database Design

Physical Design
The Physical Design is a graphical representation of a system showing the system’s internal and external entities
and the flow of data into and out of these entities. An internal entity is an entity within the system that transforms
data.

3.1 Modularisation details

Modular design, or "modularity in design", is a design approach that subdivides a system into smaller parts
called modules or skids, that can be independently created and then used in different systems. A modular
system can be characterized by functional partitioning into discrete scalable, reusable modules; rigorous use
of well-defined modular interfaces; and making use of industry standards for interfaces.

Besides reduction in cost (due to less customization, and shorter learning time), and flexibility in design,
modularity offers other benefits such as augmentation (adding new solution by merely plugging in a new
module), and exclusion. Examples of modular systems are cars , computers , process systems etc.

1. Admin Module (Back End)


2. User Module (Front End)

30
Spiral Model
The spiral model combines the idea of iterative development with the systematic, controlled

aspects of the waterfall model. This Spiral model is a combination of iterative development

process model and sequential linear development model i.e. the waterfall model with a very

high emphasis on risk analysis. It allows incremental releases of the product or incremental

refinement through each iteration around the spiral.

Spiral Model - Design


The spiral model has four phases. A software project repeatedly passes through these phases

in iterations called Spirals.

Identification
This phase starts with gathering the business requirements in the baseline spiral. In the

subsequent spirals as the product matures, identification of system requirements,

subsystem requirements and unit requirements are all done in this phase.

This phase also includes understanding the system requirements by continuous communication

between the customer and the system analyst. At the end of the spiral, the product is deployed

in the identified market.

Design
The Design phase starts with the conceptual design in the baseline spiral and involves

architectural design, logical design of modules, physical product design and the final design

in the subsequent spirals.

Construct or Build
The Construct phase refers to production of the actual software product at every spiral. In the

baseline spiral, when the product is just thought of and the design is being developed a POC (Proof

of Concept) is developed in this phase to get customer feedback.

31
Then in the subsequent spirals with higher clarity on requirements and design details a working model
of the software called build is produced with a version number. These builds are sent to the customer for
feedback.

Evaluation and Risk Analysis


Risk Analysis includes identifying, estimating and monitoring the technical feasibility and

management risks, such as schedule slippage and cost overrun. After testing the build, at the end

of first iteration, the customer evaluates the software and provides feedback.

The following illustration is a representation of the Spiral Model, listing the activities in each phase.

(Figure 2 : Spiral Model)

Based on the customer evaluation, the software development process enters the next iteration

and subsequently follows the linear approach to implement the feedback suggested by the

32
customer. The process of iterations along the spiral continues throughout the life of the software.

Spiral Model Application


The Spiral Model is widely used in the software industry as it is in sync with the natural

development process of any product, i.e. learning with maturity which involves minimum risk for

the customer as well as the development firms.

The following pointers explain the typical uses of a Spiral Model −

 When there is a budget constraint and risk evaluation is important.


 For medium to high-risk projects.
 Long-term project commitment because of potential changes to economic priorities as
 the requirements change with time.
 Customer is not sure of their requirements which are usually the case.
 Requirements are complex and need evaluation to get clarity.
 New product line which should be released in phases to get enough customer feedback.
 Significant changes are expected in the product during the development cycle.

Spiral Model - Pros and Cons


The advantage of spiral lifecycle model is that it allows elements of the product to be added in,

when they become available or known. This assures that there is no conflict with previous

requirements and design.

This method is consistent with approaches that have multiple software builds and releases which

allows making an orderly transition to a maintenance activity. Another positive aspect of this

method

is that the spiral model forces an early user involvement in the system development effort.

On the other side, it takes a very strict management to complete such products and there is a risk

of running the spiral in an indefinite loop. So, the discipline of change and the extent of taking

change requests are very important to develop and deploy the product successfully.

33
The advantages of the Spiral SDLC Model are as follows −

1. Changing requirements can be accommodated.


2. Allows extensive use of prototypes.
3. Requirements can be captured more accurately.
4. Users see the system early.
5. Development can be divided into smaller parts and the risky parts can be developed earlier which
6. helps in better risk management.

3.2. Data Integrity and constraints


Integrity Constraints
o Integrity constraints are a set of rules. It is used to maintain the quality of information.
o Integrity constraints ensure that the data insertion, updating, and other processes have to
o be performed in such a way that data integrity is not affected.
o Thus, integrity constraint is used to guard against accidental damage to the database.

Types of Integrity Constraint

1. Domain constraints
o Domain constraints can be defined as the definition of a valid set of values for an attribute.
o The data type of domain includes string, character, integer, time, date, currency, etc. The value of
o the attribute must be available in the corresponding domain.

2. Entity integrity constraints


o The entity integrity constraint states that primary key value can't be null.
o This is because the primary key value is used to identify individual rows in relation and if the
o primary key has a null value, then we can't identify those rows.
o A table can contain a null value other than the primary key field.

3. Referential Integrity Constraints


o A referential integrity constraint is specified between two tables.

4. Key constraints
o Keys are the entity set that is used to identify an entity within its entity set uniquely.
o An entity set can have multiple keys, but out of which one key will be the primary key. A primary

34
o key can contain a unique and null value in the relational table.

3.3 Database Design


Various tables used in the System are as follows:
1. Admin
2. Book
3. Category
4. Contact
5. Register
6. Order
Detail of all the tables with its all the fields are as below:

1. Table Name : Admin


Primary Key : a_id
Description : For store Admin login Detail.
Field Type Description
A_id int(4) Used to Store Admin ID
A_unm Varchar(3) Used to Store Username of
Admin
A_pwd Varchar(30) Used to Store Password of
Admin

2. Table Name : Book


Primary Key : b_id
Description : Store Book Details.
Field Type Description
B_id Int(10) Used to Store Book ID
B_nm Varchar(50) Used to Store Book Name
B_cat Int(6) Used to Select or Store the Book
ID of Different Categories
B_desc Longtext Used to Store The Description of
35
The Book in Large Amount Data
B_price Int(4) Used to Store the Price of Book
B_img Varchar(50) Used to Store the Image Name of
Book
B_time Int(20) Used to store the Time of
Inserted book

3. Table Name : Category


Primary Key : cat_id
Description : Store Category Names.
Field Type Description
Cat_id Int(10) Used to Store the Category ID
Cat_nm Varchar(50) Used to Store the Category Name

4. Table Name : Contact


Primary Key : c_id
Description : Store details for Contact Us.
Field Type Description
C_id Int(4) Store Contact ID of Client/User
C_fnm Varchar(100) Store Full Name of User
C_mno Int(10) Store Mobile Number of
Client/User
C_email Varchar(60) Store the E-Mail Address of
Client/User
C_msg Longtext Store The Message or Query of
The Client/User
36
C_time Varchar(20) Store The Time of Contact Page
inserted The Data

5. Table Name : Register


Primary Key : r_id
Description : Details for Registration Visitors or Users.
Field Type Description
R_id Int(8) Store User Registration ID
R_fnm Varchar(100) Store Full Name of User
R_unm Varchar(50) Store Username of User
R_pwd Varchar(30) Store the Password of User
R_cno Varchar(10) Store the Contact Number of
User
R_email Varchar(60) store E-Mail Address of User
R_time Varchar(20) Store Time of Registration of
User

6. Table Name : Order


Primary Key : o_id
Description : Details for Order
37
.
Field Type Description
O_id Int(11) Store order ID
O_name Varchar(30) Store Full Name of User
O_address Varchar(200) Store address of User
O_[pincode Int(20) Store city Pincode
O_city Varchar(30) Store the City Name
O_state Varchar(30) store State
O_mobile Bigint(20) Store Mobile Number
O_rid Int(8) Store Register ID

38
3.4 User Interface design

Admin Login Detail


Username Admin Password Admin
Expected Result :

 If fields empty then gives a error for fill up fields


 If password or username does not exist then gives error for valid detail.

Login Detail
Username Dhaval Password Dhaval
Expected Result :

 If fields empty then gives a error for fill up fields


 If password or username does not exist then gives error for valid detail.

Registration Details
Username EMPTY Password EMPTY
Full Name EMPTY Security Answer EMPTY
Expected Result :

 If fields empty then gives a error for fill up fields

39
 If password or username does not exist then gives error for valid detail.
 If password is < 8 characters then it will gives error.

Order Details
Full Name Address Contact Number EMPTY
Expected Result :

 If fields empty then gives a error for fill up fields


 If contact number is not Numeric then gives error

3.5 Test Cases


1. User Login

(Test Cases 1)

40
2. Admin Login

(Text Cases 2)
3. Add Book

(Text Cases 3)

41
4. User Registration

( Text Cases 4)

42
Chapter 4
Coding

4.1 Complete Project Coding


Connection.php
<?php

$link = mysql_connect("localhost","root","");

mysql_select_db("bms",$link);

?>

Header.php
<?php
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Bookstore Management System</title>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width", initial-scale=1.0>

<link rel="stylesheet" type="text/css" href="style.css">

</head>
<body>
<div id="logo">
43
<h1><a href="#">Bookstore Management System</a></h1>
</div>
<!-- end #logo -->
<div id="header">
<div id="menu">
<ul>
<li><a href="index.php" class="first">Home</a></li>

<?php

if(isset($_SESSION['client']['status']))
{
echo '<li class="current_page_item"><a
href="logout.php">Logout</a></li>';
}
else
{
echo '<li><a
href="login.php">Login</a></li>';
echo '<li class="current_page_item"><a
href="register.php">Register</a></li>';
}

?>

<li><a href="contact.php">Contact Us</a></li>


<li><a href="cart.php">Cart</a></li>
</ul>
</div>
<!-- end #menu -->
<div id="search">
<form method="get" action="search.php">
<fieldset>
<input type="text" name="s" id="search-text" size="15"
placeholder="Search" />
<input type="submit" id="search-submit" value="GO" />
</fieldset>
</form>
</div>
<!-- end #search -->
</div>
<!-- end #header -->
44
<!-- end #header-wrapper -->
<div id="page">
Footer.php

<div id="sidebar">

<?php
if(isset($_SESSION['client']['status']))
{
echo '<ul>
<li>
<h2>Hi : '.$_SESSION['client']
['unm'].'</h2>
<ul>
<li><a
href="logout.php">Log Out</a></li>
</ul>
</li>
</ul>';
}
?>

<ul>
<li>
<h2>Category</h2>
<ul>
<?php

include("includes/connection.php");

$cat_q="select * from category order by


cat_nm asc";

$cat_res=mysql_query($cat_q,$link);

while($cat_row=mysql_fetch_assoc($cat_res))
{
echo '<li><a href="book_list.php?
id='.$cat_row['cat_id'].'&cat='.$cat_row['cat_nm'].'">'.$cat_row['cat_nm'].'</a></
li>';
}
45
?>
</ul>
</li>
</ul>
</div>
<!-- end #sidebar -->
<div style="clear: both;">&nbsp;</div>
</div>
<!-- end #page -->
<div id="footer">
<p>&copy; 2019. All rights reserved. Project Made By <a
href="index.php" rel="nofollow">Dhaval & Kumar</a>.</p>
</div>
<!-- end #footer -->
</body>
</html>

Login.php
<?php
include("includes/header.php");
?>

<div id="content">
<div class="post">
<h2 class="title"><a href="#">Login</a></h2>
<p class="meta"></p>
<div class="entry">

<form class="login" action="login_process.php" method="post">

User Name :<br>


<input type="text" name="unm" class="txt"><br><br>

Password :<br>
<input type="password" name="pwd" class="txt"><br><br>

<?php
if(!empty($_SESSION['error']))
{
foreach($_SESSION['error'] as $er)
{
echo '<font color="red">'.$er.'</font><br>';
}
unset($_SESSION['error']);
46
}
?>

<br>

<input type="submit" class="btn" value="Login">


<a href="admin/index.php" style="text-decoration: none; margin-left:
83px" class="btn" value="Admin Login">Admin Login</a>

<p class="login_link">
<a href="forget_password.php" style="text-decoration:
none">Forget Password ?</a>
<a href="register.php" style="margin-left: 100px;text-decoration:
none">Register</a>
</p>

</form>

</div>
</div>
</div><!-- end #content -->

<?php
include("includes/footer.php");
?>

Login Process.php
<?php

session_start();

if(! empty($_POST))
{
extract($_POST);
$_SESSION['error']=array();

if(empty($unm) || empty($pwd))
{
$_SESSION['error'][]="Please enter User Name or Password";

header("location:login.php");
}
else
{
include("includes/connection.php");

$q="select * from register where r_unm='$unm' and r_pwd='$pwd'";

$res=mysql_query($q,$link);

$row=mysql_fetch_assoc($res);

47
if(! empty($row))
{
$_SESSION['client']['unm']=$row['r_fnm'];
$_SESSION['client']['id']=$row['r_id'];
$_SESSION['client']['status']=true;

header("location:index.php");
}
else
{
$_SESSION['error'][]="Wrong Username or Password";
header("location:login.php");
}
}
}
else
{
header("location:login.php");
}

?>

Index.php
<?php
include("includes/header.php");
?>

<div id="content">
<div class="post">
<h2 class="title"><a href="#">Login</a></h2>
<p class="meta"></p>
<div class="entry">

<form class="login" action="login_process.php" method="post">

User Name :<br>


<input type="text" name="unm" class="txt"><br><br>

Password :<br>
<input type="password" name="pwd" class="txt"><br><br>

<?php
if(!empty($_SESSION['error']))
{
foreach($_SESSION['error'] as $er)
{
echo '<font color="red">'.$er.'</font><br>';
}
unset($_SESSION['error']);
}
48
?>

<br>

<input type="submit" class="btn" value="Login">


<a href="admin/index.php" style="text-decoration: none; margin-left:
83px" class="btn" value="Admin Login">Admin Login</a>

<p class="login_link">
<a href="forget_password.php" style="text-decoration:
none">Forget Password ?</a>
<a href="register.php" style="margin-left: 100px;text-decoration:
none">Register</a>
</p>

</form>

</div>
</div>
</div><!-- end #content -->

<?php
include("includes/footer.php");
?>

register.php
<?php
include("includes/header.php");
?>

<div id="content">
<div class="post">
<h2 class="title"><a href="#">User Registration</a></h2>
<p class="meta"></p>
<div class="entry">

<form class="register" action="register_process.php" method="post">

<?php
if(isset($_GET['register']))
{
echo '<font color="red">Registered Sussessfully..</font>';
echo '<br><br>';
}
?>

Full Name :<br>


<input type="text" name="fnm" class="txt">
<?php
if(isset($_SESSION['error']['fnm']))
{
echo '<font color="red">'.$_SESSION['error']
49
['fnm'].'</font>';
}
?>
<br><br>

User Name :<br>


<input type="text" name="unm" class="txt">
<?php
if(isset($_SESSION['error']['unm']))
{
echo '<font color="red">'.$_SESSION['error']
['unm'].'</font>';
}
?>
<br><br>

Password :<br>
<input type="password" name="pwd" class="txt">
<?php
if(isset($_SESSION['error']['pwd']))
{
echo '<font color="red">'.$_SESSION['error']
['pwd'].'</font>';
}
?>
<br><br>

Confirm Password :<br>


<input type="password" name="cpwd" class="txt"><br><br>

E-Mail :<br>
<input type="text" name="email" class="txt">
<?php
if(isset($_SESSION['error']['email']))
{
echo '<font color="red">'.$_SESSION['error']
['email'].'</font>';
}
?>
<br><br>

Contact No :<br>
<input type="text" name="cno" class="txt">
<?php
if(isset($_SESSION['error']['cno']))
{
echo '<font color="red">'.$_SESSION['error']
['cno'].'</font>';
}
?>
<br><br>

Security Question :<br>


<select name="question" class="txt">
50
<option>Which is your Favourite Movie ?</option>
<option>Which is your Favourite Actress ?</option>
</select>
<?php
if(isset($_SESSION['error']['que']))
{
echo '<font color="red">'.$_SESSION['error']
['que'].'</font>';
}
?>
<br><br>

Security Answer :<br>


<input type="text" name="answer">
<?php
if(isset($_SESSION['error']['answer']))
{
echo '<font color="red">'.$_SESSION['error']
['answer'].'</font>';
}
?>
<br><br>

<input type="submit" class="btn" value="Register">

<p class="login_link">
<a href="login.php" style="margin-left: 145px; text-decoration:
none">Already Account - Login</a>
</p>

</form>

<?php
unset($_SESSION['error']);
unset($_GET['register']);
?>

</div>
</div>
</div><!-- end #content -->

<?php
include("includes/footer.php");
?>

cart.php
<?php
include("includes/header.php");
?>

<div id="content">
<div class="post">
51
<h2 class="title"><a href="#">Cart</a></h2>
<p class="meta"></p>
<div class="entry">

<form action="addtocart.php" method="post">


<table class="cart" cellspacing="0" border="0" width="100%">
<tr align="center">
<th width="7%">No</th>
<th width="30%">Name</th>
<th width="20%">Image</th>
<th width="15%">Qty</th>
<th width="10%">Price</th>
<th width="10%">Rate</th>
<th width="7%">Remove</th>
</tr>

<?php

$count=1;
$total=0;

if(isset($_SESSION['cart']))
{
foreach($_SESSION['cart'] as $id=>$val)
{
$rate=$val['qty'] * $val['price'];
$total=$total+$rate;

echo '<tr>
<td>'.$count.'</td>
<td>'.$val['nm'].'</td>
<td><img src="'.$val['img'].'"
width="80" height="60"></td>
<td><input type="number" min="1"
value="'.$val['qty'].'" style="width: 50px" name="'.$id.'"></td>
<td>'.$val['price'].'</td>
<td>'.$rate.'</td>
<td><a style="color: red;text-
decoration:none;" href="addtocart.php?id='.$id.'">X</a></td>
</tr>';

$count++;
}
}
?>

<tr style="font-weight: bold;">


<td colspan="5">Total : </td>
<td colspan="2">Rs. <?php echo $total; ?></td>
</tr>
</table>

52
<div align="center" style="margin-top: 20px">
<input type="submit" value="Re-calculate" class="btn_refresh">

<?php echo '<a href="order.php?total='.$total.'" name="button"


style="font-family: open sans;" style="margin-left: 10px">Confirm & Submit Order</a>'
?>

</div>

</form>

</div>
</div>
</div><!-- end #content -->

<?php
include("includes/footer.php");
?>

contact.php
<?php
include("includes/header.php");
?>

<div id="content">
<div class="post">
<h2 class="title"><a href="#">Contact Us</a></h2>
<p class="meta"></p>
<div class="entry">

<table border="0" width="100%">


<tr valign="top">
<td width="100%">
<form class="contact" action="contact_process.php"
method="post">

Full Name :<br>


<input type="text" name="fnm" class="txt">
<?php
if(isset($_SESSION['error']['fnm']))
{
echo '<font color="red">'.
$_SESSION['error']['fnm'].'</font>';
}
?>
<br><br>

Mobile No :<br>
<input type="text" name="mno" class="txt">
<?php
53
if(isset($_SESSION['error']['mno']))
{
echo '<font color="red">'.
$_SESSION['error']['mno'].'</font>';
}
?>
<br><br>

E-Mail ID :<br>
<input type="email" name="email" class="txt">
<?php
if(isset($_SESSION['error']['email']))
{
echo '<font color="red">'.
$_SESSION['error']['email'].'</font>';
}
?>
<br><br>

Message :<br>
<textarea class="txt" name="msg"></textarea>
<?php
if(isset($_SESSION['error']['msg']))
{
echo '<font color="red">'.
$_SESSION['error']['msg'].'</font>';
}
unset($_SESSION['error']);
?>
<br><br>

<input type="submit" class="btn" value="Submit">

</form>
</td>
</tr>
</table>

</div>
</div>
</div><!-- end #content -->

<?php
include("includes/footer.php");
?>

order.php
<?php
include("includes/header.php");

include("includes/connection.php");
?>
54
<div id="content">
<div class="post">
<h2 class="title"><a href="#">Order - Cash On Delivery</a></h2>
<p class="meta"></p>
<div class="entry">

<form style="color: black" role="form" action="order_process.php"


class="register" method="post">

<?php
if(isset($_GET['order']))
{
echo '<font style="color:red">Order Successfully Placed</font><br><br>';
}
?>

<?php
if(!empty($_SESSION['error']))
{
foreach($_SESSION['error'] as $er)
{
echo '<font color="red">'.$er.'</font><br>';
}
unset($_SESSION['error']);
}
?>

<br>

Full Name :<br>


<input type="text" name="fnm" class="txt" placeholder="First Name or
Surname"><br><br>

Address :<br>
<input type="text" name="add" class="txt"
placeholder="Address"><br><br>

Pin Code :<br>


<input type="text" name="pc" class="txt" placeholder="City Pin
Code"><br><br>

City :<br>
<input type="text" name="city" class="txt"
placeholder="City"><br><br>

State :<br>
<input type="text" name="state" class="txt"
placeholder="State"><br><br>

55
Mobile Number :<br>
<input type="text" name="mno" class="txt" placeholder="Mobile
Number"><br><br>

<button type="submit" name="sub" class="btn btn-default">Confirm &


Proceed</button>

</form>

</div>
</div>
</div><!-- end #content -->

<?php
include("includes/footer.php");
?>

search.php
<?php
include("includes/header.php");
?>

<div id="content">
<div class="post">
<h2 class="title"><a href="#">Search : <?php echo $_GET['s']; ?></a></h2>
<p class="meta"></p>
<div class="entry">

<?php
include("includes/connection.php");

$s=$_GET['s'];

$blq="select * from book where b_nm like '%$s%'";

$blres=mysql_query($blq,$link);

while($blrow=mysql_fetch_assoc($blres))
{
echo '<div class="book_box">
<a href="book_detail.php?id='.$blrow['b_id'].'">
<img src="'.$blrow['b_img'].'">
<h2>'.$blrow['b_nm'].'</h2>
<p>Rs. '.$blrow['b_price'].'</p>
</a>
</div>';
}
?>

<div style="clear:both;"></div>

56
</div>
</div>
</div><!-- end #content -->

<?php
include("includes/footer.php");
?>

logout.php
<?php

session_start();

session_destroy();

header("location:index.php");

?>

forgotpassword.php
<?php
include("includes/header.php");
?>

<div id="content">
<div class="post">
<h2 class="title"><a href="#">Forget Password</a></h2>
<p class="meta"></p>
<div class="entry">

<?php
if(!empty($_SESSION['error']))
{
foreach($_SESSION['error'] as $er)
{
echo '<font color="red">'.$er.'</font><br>';
}
unset($_SESSION['error']);
}
?>

<form class="login" action="forget_password_process.php" method="post">

User Name :<br>


<?php
if(isset($_SESSION['error']['unm']))
{
echo '<font color="red">'.$_SESSION['error']
['unm'].'</font>';
}

57
?>
<input type="text" name="unm" class="txt"><br><br>

Security Question :<br>


<select name="question" class="txt">
<option>Which is your Favourite Movie ?</option>
<option>What is your Favourite A/ctress ?<option>
</select>
<br><br>

Security Answer :<br>


<input type="text" name="answer" class="txt">
<?php
if(isset($_SESSION['error']['answer']))
{
echo '<font color="red">'.$_SESSION['error']
['answer'].'</font>';
}
?>
<br><br>

New Password : <br>


<input type="text" name="pwd" class="txt">
<br><br>

Confirm New Password :<br>


<input type="password" name="cpwd" class="txt"><br><br>

<input type="submit" class="btn" value="Change Password">

</form>

</div>
</div>
</div><!-- end #content -->

<?php
include("includes/footer.php");

?>

58
4.2 Validation Checks

Validation means check the input submitted by the user. There are two types of validation are available in
PHP. They are as follows −

 Client-Side Validation − Validation is performed on the client machine web browsers.


 Server Side Validation − After submitted by data, The data has sent to a server and perform
validation checks in server machine.

Fig.5.1 validation

Some of Validation rules for field

Field Validation Rules

59
Name Should required letters and white-spaces
Email Should required @ and .
Website Should required a valid URL
Radio Must be selectable at least once
Check Box Must be checkable at least once
Drop Down menu Must be selectable at least once

Chapter 5
Testing
5. Testing
Software testing is any activity aimed at evaluating an attribute or capability of a program or system
and determining that it meets its required results. Although crucial to software quality and widely
deployed by programmers and testers, software testing still remains an art, due to limited
understanding of the principles of software. The difficulty in software testing systems from the
complexity of software: we cannot completely test a program with moderate complexity. Testing is
more than just debugging. The purpose of testing can be quality assurance, verification and
validation or reliability estimation. Testing can be used as a generic metric as well. Correctness
testing and reliability testing are two major areas of testing. Software testing is a trade-off between
budget, time and quality.

Testing Objectives
The main objective of testing is to uncover a host of errors, systematically and with minimum effort
and time. Stating formally, we can say,
 Testing is a process of executing a program with the intent of finding an error.

 A successful test is one that uncovers an as yet undiscovered error.


 A good test case is one that has a high probability of finding error, if it exists.
 The tests are inadequate to detect possibly present errors.
 The software more or less confirms to the quality and reliable standards.
6.1.1. Types of test performed
The tests are performed at two levels:

60
 Module
 Project level
Unit testing
Unit testing focuses verification effort on the smallest unit of software i.e. the module. Using the
detailed design and the process specifications testing is done to uncover errors within the boundary
of the module. All modules must be successful in the unit test before the start of the integration
testing begins.
In this project each service can be thought of a module. There are so many modules like Login,
Registration, Homepage, and Normal User. Giving different sets of inputs has tested each module.
When developing the module as well as finishing the development so that each module works
without any error. The inputs are validated when accepting from the user.
In this application developer tests the programs up as system. Software units in a system are the
modules and routines that are assembled and integrated to form a specific function. Unit testing is
first done on modules, independent of one another to locate errors. This enables to detect errors.
Through this error resulting from interaction between modules initially avoided.

Fig.6.1 Unit testing

Integration testing
Integration testing is a type of testing which involves testing the integrity of various modules i.e.

61
whether several different modules or units outputs desired result when they are integrated or made
to work together or not.

In this project integrating all the modules forms the main system. When integrating all the modules
I have checked whether the integration effects working of any of the services by giving different
combinations of inputs.

The purpose of integration testing is to verify the functional, performance, and reliability between
the modules that are integrated.

Integration Testing

System testing
System Testing (ST) is a black box testing technique performed to evaluate the complete system the
system's compliance against specified requirements. In System testing, the functionalities of the
system are tested from an end-to-end perspective.

System Testing is usually carried out by a team that is independent of the development team in
order to measure the quality of the system unbiased. It includes both functional and Non-Functional
62
testing.

System Test Type

Client side validation


Client side validation is the process of validating user inputs or requests at the client end. This
type of validation is performed so as to check whether the user input or request is correct or not
before the form is submitted. If not then an appropriate error message must be displayed to the
user. So that user can remove the wrong input and try again with valid input. This type of testing
in application is mainly done using Java. Client side validation is considered to be an important
type of validation as it doesn‘t make any request to the server for checking the validation of the
user input.

63
5.1 Testing Techniques
 Black box testing
Black-box testing is a method of software testing that examines the functionality of
an application based on the specifications. It is also known as specifications based .
Testing Independent testing team usually perform this type of testing during the
software testing life cycle.
This method of test can be applied to each and every level of software testing such as
unit, integration, system and acceptance testing.

(Black Box Testing)

This method is named so because the software program, in the eyes of the tester, is like a

black box; inside which one cannot see. This method attempts to find errors in the

following categories:

 Incorrect or missing functions


 Interface errors
 Errors in data structures or external database access
 Behavior or performance errors
 Initialization and termination errors

 Advantages of Black box Testing:

Tests are done from a user’s point of view and will help in exposing discrepancies in

the specifications.

Tester need not know programming languages or how the software has been implemented.

 White box testing


64
White box testing is a testing technique That examines the program structure and derives
test data from the program logic/code. The other names of glass box testing are clear
box testing, open box testing, logic driven testing or path driven testing or structural testing.
White box testing involves looking at the structure of the code. When you know the
internal structure of a product, tests can be conducted to ensure that the internal
operations performed according to the specification. And all internal components have
been adequately exercised.

 White box testing techniques:

A. Statement Coverage – This technique is aimed at exercising all programming statements

B. with minimal tests.

C. Branch Coverage – This technique is running a series of tests to ensure that all branches are tested

D. at least once.

E. Path coverage – This technique corresponds to testing all possible paths which means that

F. each statement and branches is covered.

 Advantages of white box Testing:

1. Forces test developer to reason carefully about implementation.


2. Reveals errors in “hidden” code.
3. Sports the code or other issues with respect to best programming practices.

 Gray-box Testing:
Grey-box testing is a testing technique performed with limited information about the
internal functionality of the system. Grey-box testers have access to the detailed design
information about requirements.
Grey box are generated based on the state based modes, UML diagrams or of the target
system.
Grey Box Testing is a technique to test the software product or application with partial
knowledge of the internal workings of an application.

65
( Gray Box Testing Testing)

66
5.2 Testing Strategies

A testing strategy is a general approach to the testing process rather than a method of devising
particular system or component tests. Different testing strategies may be adopted depending on the
type of system to be tested and the development process used. There are two different strategies
available:

a. Top-Down Testing
b. Bottom-Up Testing

a. Top-Down Testing

Top-Down Testing high levels of a system are tested before testing the detailed components. The
application is represented as a single abstract component with sub- components represented by
stubs. Stubs have the same interface as the component but very limited functionality.

After the top-level component has been tested, its sub-components are implemented and tested in
the same way. This process continues recursively until the bottom - level components are
implemented. The whole system may then be completely tested. Top- down testing should be used
with top-down program development so that a system component is tested as soon as it is coded.
Coding and testing are a single activity with no separate component or module testing phase.

If top-down testing is used, unnoticed design errors may be detected at an early stage in the
testing process. As these errors are usually structural errors, early detection means that extensive
re-design re-implementation may be avoided. Top-down testing has the further advantage that we
could have a prototype system available at a very early stage, which itself is a psychological
boost. Validation can begin early in the testing process as a demonstrable system can be made
available to the users.

67
b. Bottom-Up Testing

Bottom-Up Testing is the opposite of Top-Down. It involves testing the modules at the lower levels
in the hierarchy, and then working up the hierarchy of modules until the final module is tested. This
type of testing is appropriate for object-oriented systems in that individual objects may be tested
using their own test drivers. They are then integrated and the object collection is tested.

5.3 Test Plan

A test plan is a document describing the scope, approach, objectives, resources, and schedule of a
software testing effort. It identifies the items to be tested, items not be tested, who will do the
testing, the test approach followed, what will be the pass/fail criteria, training needs for team, the
testing schedule etc.

1. Test plan identifier


2. Introduction
3. Test items
4. Features to be tested
5. Features not to be tested
6. Approach
7. Item pass/fail criteria
8. Suspension criteria and resumption requirements
9. Test deliverables
10. Testing tasks
11. Environmental needs
12. Responsibilities
13. Staffing and training needs
14. Schedule
15. Risks and contingencies
16. Approvals

68
Test Plan Identifiers:-

S.N Parameter Description


o.

1. Test plan Unique identifying reference.


identifier

2. Introduction A brief introduction about the project and to the


document.

3. Test items A test item is a software item that is the application


under test.

4. Features to A feature that needs to tested on the test ware.


b
e
tested
5. Features not to be Identify the features and the reasons for not including
tested as part of testing.

6. Approach Details about the overall approach to testing.

7. Item Documented whether a software item has passed or


pass/fa failed its test.
il criteria

8. Test deliverables The deliverables that are delivered as part of the testing
process, such as test plans, test specifications and test
summary reports.

9. Testing tasks All tasks for planning and executing the testing.

69
10. Environmental Defining the environmental requirements such as
needs hardware, software, OS, network configurations, tools
required.

11. Responsibilities Lists the roles and responsibilities of the team


members.

12. Staffing Captures the actual staffing requirements and any


a specific skills and training requirements.
nd training needs

13. Schedule States the important project delivery dates and key
milestones.

14. Risks High-level project risks and assumptions and a


a miti
nd
Mitigation
15. Approvals Captures all approvers of the document, their titles and
the sign off date.

70
Test Planning Activities:-
 To determine the scope and the risks that need to be tested and that are not to be tested.

 Documenting Test Strategy.

 Making sure that the testing activities have been included.

 Deciding Entry and Exit criteria.

 Evaluating the test estimate.

 Planning when and how to test and deciding how the test results will be evaluated, and
defining test exit criterion.

 The Test artifacts delivered as part of test execution.

 Defining the management information, including the metrics required and defect
resolution and risk issues.

 Ensuring that the test documentation generates repeatable test assets.

5.4 Test Reports unit test case and system test case

1. Home Page

Home Page of BMS without logged in User.

71
(BMS Home Page)

72
2. Selected Category

Detective Category is selected.


Shows the Books of Detective Category.

Register

(BMS Selected Category)

73
3. Book Details (Before Login)

Book Detail for Visitors.


Visitors Can’t add Books to Add to Cart.

( BMS Book Details)

74
4. Visitor Login Page

Login Page for Viewers.

( BMS Login Page)

75
5. Register Page

Register Page for Viewers.

(BMS Register Page)

76
6. Contact Us Page

(BMS Contact Us Page)


7. Cart Page

(BMS Cart Page Viewers)

77
8. Order Page

Only Cash On Delivery is Available for Orders.

(BMS Order Page)

78
9. Home Page (Logged In)

Automatically Navigation Bar Changed.


User Can Log Out.

( BMS Logged in Page)

79
10. Book Details (Logged In)

Users can Add Book To Add to cart.


Removed Sign in Link.

(BMS Users Book Details)

80
11. Add to Cart (Logged In)

Users Can add books to add to cart.


Details of books and price.
Click Recalculate to Qty, Rate and Total will Calculate.
Users can order Books.

( BMS Users Cart Page)

81
12. Search Books

Book Search Feature.

( BMS Search Books)


13. Admin Login Page (New Template)

(BMS Admin Login page)

82
14. Admin Home Page

New Template.

(BMS Admin Home Page)


15. Add Category (Admin)

(BMS Add New Category)

83
16. View Category

List of Books.

(BMS View Category)


17. Add Books

( BMS Add New Books)


18. View Books
List Books for Admin.

84
BMS View Books)
19. View Contacted List

List of People who Contacted using Contacted Page.

(BMS Contacted List Books)

85
20. Users List

(BMS Users List)


21. Forget Password

(BMS Forget Password Page)

86
Debugging and Code Improvement

It is a systematic process of spotting and fixing the number of bugs, or defects, in a piece of
software so that the software is behaving as expected. Debugging is harder for complex systems in
particular when various subsystems are tightly coupled as changes in one system or interface may
cause bugs to emerge in another.

Debugging is a developer activity and effective debugging is very important before testing begins to
increase the quality of the system. Debugging will not give confidence that the system meets its
requirements completely but testing gives confidence.

Code improvement is the most formal type of review, which is a kind of static testing to avoid the
defect multiplication at a later stage.

 The main purpose of code inspection is to find defects and it can also spot any process
improvement if any.

 An inspection report lists the findings, which include metrics that can be used to aid
improvements to the process as well as correcting defects in the document under review.

 Preparation before the meeting is essential, which includes reading of any source
documents to ensure consistency.

 Inspections are often led by a trained moderator, who is not the author of the code.

 The inspection process is the most formal type of review based on rules and
checklists and makes use of entry and exit criteria.

 It usually involves peer examination of the code and each one has a defined set of roles.

 After the meeting, a formal follow-up process is used to ensure that corrective action is
completed in a timely manner.

87
SYSTEM SECURITY AND MEASURES

System security refers to protecting the system from theft, unauthorized access and modifications,
and accidental or unintentional damage. In computerized systems, security involves protecting all
the parts of computer system which includes data, software, and hardware. Systems security
includes system privacy and system integrity.

 System privacy deals with protecting individuals systems from being accessed
and used without the permission/knowledge of the concerned individuals.

 System integrity is concerned with the quality and reliability of raw as well as
processed data in the system.

Control Measures
There are varieties of control measures which can be broadly classified as follows −

Backup

 Regular backup of databases daily/weekly depending on the time criticality and size.

 Incremental back up at shorter intervals.

 Backup copies kept in safe remote location particularly necessary for disaster recovery.

88
 Duplicate systems run and all transactions mirrored if it is a very critical system and
cannot tolerate any disruption before storing in disk.

Physical access control to facilities

 Physical locks and Biometric authentication. For example, finger print

 ID cards or entry passes being checked by security staff.

Identification of all persons who read or modify data and logging it in a file.
Using logical or software control

 Password system.

 Encrypting sensitive data/programs.

 Training employees on data care/handling and security.

 Antivirus software and Firewall protection while connected to internet.

Risk analysis
A risk is the possibility of losing something of value. Risk analysis starts with planning for secure
system by identifying the vulnerability of system and impact of this. The plan is then made to
manage the risk and cope with disaster. It is done to accesses the probability of possible disaster and
their cost.

Risk analysis is teamwork of experts with different backgrounds like chemicals, human error, and
process equipment.

The following steps are to be followed while conducting risk analysis −

 Identification of all the components of computer system.

 Identification of all the threats and hazards that each of the components faces.

 Quantify risks i.e. assessment of loss in the case threats become reality.

89
Risk analysis

As the risks or threats are changing and the potential loss are also changing, management of risk
should be performed on periodic basis by senior managers.

System Security

Risk management is a continuous process and it involves the following steps −

 Identification of security measures.

 Calculation of the cost of implementation of security measures.

 Comparison of the cost of security measures with the loss and probability of threats.

 Selection and implementation of security measures.

90
Database/Data Security

The Database/Data Security aspect of the Student Result Management System project in PHP, MySQL,
and Bootstrap focuses on ensuring the confidentiality, integrity, and availability of the system's data. This
section outlines the measures taken to secure the database and protect sensitive student information.

 Data Encryption: Implement encryption techniques to safeguard sensitive data stored in the
database. Encryption algorithms such as AES (Advanced Encryption Standard) can be utilized to
encrypt data at rest, preventing unauthorized access even if the database is compromised.
 User Authentication and Authorization: Implement a robust user authentication system to verify
the identity of users accessing the system. This can include password-based authentication, multi-
factor authentication, or integration with existing authentication systems. Additionally, role-based
access controls should be implemented to ensure that users have appropriate permissions and access
levels based on their roles (e.g., administrators, teachers, students).
 Parameterized Queries and Prepared Statements: Utilize parameterized queries and prepared
statements when interacting with the database to prevent SQL injection attacks. This technique
ensures that user input is properly sanitized and validated before executing database queries,
mitigating the risk of unauthorized data manipulation or retrieval.
 Secure Connection: Ensure that the connection between the application and the database is
secured using SSL/TLS protocols. This encrypts the data transmission, protecting it from interception
or eavesdropping.
 Regular Data Backups: Implement regular backup procedures to create copies of the database,
ensuring that data can be restored in case of data loss, system failures, or security breaches. Backup
files should be stored securely, preferably offsite or in encrypted formats.
 Logging and Auditing: Implement logging mechanisms to track user activities and system events.
This includes logging login attempts, database queries, and critical operations. Audit logs help in
identifying suspicious activities and provide a trail for forensic analysis in case of security incidents.
 Data Privacy Compliance: Ensure compliance with applicable data privacy regulations such as
GDPR (General Data Protection Regulation) or local data protection laws. This includes obtaining
necessary consents for data collection, implementing privacy policies, and providing mechanisms for
users to manage their data preferences.
 Regular Security Assessments: Conduct regular security assessments, vulnerability scanning, and
penetration testing to identify and address potential vulnerabilities in the system. This helps in
proactively identifying security weaknesses and implementing necessary patches or updates.
91
 Employee Training and Awareness: Educate system administrators, developers, and other
personnel about data security best practices. Training programs and awareness campaigns should
emphasize the importance of data protection, secure coding practices, and handling of sensitive
information.
 System Updates and Patches: Keep the system up-to-date with the latest security patches and
updates for the PHP, MySQL, and Bootstrap frameworks. Regularly check for security advisories and
apply patches promptly to address any known vulnerabilities.
5.5 Cost Estimation Of Project

Cost Estimation Process

The process of project cost estimation is central to setting up the foundation for making key
decisions, taking initiatives, budgeting activities and controlling expenditures. Cost forecasts
and projections are used to establish a set of metrics against which project success will be
measured, and to communicate work progress to the stakeholders at any given point in
time.

Resource Costing

The resource costing aspect of the Student Result Management System project in PHP,
MySQL, and Bootstrap involves estimating the costs associated with various resources
required for the project's implementation. These resources include human resources,
92
hardware and infrastructure, and software and tools. The costs for human resources depend
on factors such as experience level and project duration, while hardware and infrastructure
costs depend on specifications and scalability requirements. Software and tools costs vary
based on licensing models and additional requirements.

Unit Costs

Unit costs refer to the expenses associated with specific components or modules of the project. This
includes development efforts, testing, documentation, and training. The estimated costs for each module
are based on the time required for development, testing activities, documentation efforts, and training
sessions.

Historical Costing
Historical costing involves analyzing costs from similar past projects or systems to estimate potential
expenses for the Student Result Management System project. By reviewing previous project records,
conducting interviews, or referring to industry benchmarks, historical cost data can be used as a
reference to estimate the overall project costs accurately.

Software Development Environment

Introduction To PHP

1. PHP:
Download and install the PHP interpreter on your system. You can get the latest version of
PHP from the official PHP website (https://www.php.net/downloads.php) based on your
operating system. Follow the installation instructions provided.

2. Web Server:
PHP applications are typically run on a web server. You have a few options for web servers
in PHP development:

 Apache:
Apache HTTP Server is a popular and widely used web server. You can download and
install Apache from the official Apache website (https://httpd.apache.org/).

 Nginx:
Nginx is another popular web server known for its performance and scalability. You can
93
download and install Nginx from the official Nginx website (https://nginx.org/).

 XAMPP or WampServer:
Alternatively, you can use pre-packaged solutions like XAMPP
(https://www.apachefriends.org/index.html) or WampServer
(https://www.wampserver.com/). These bundles include Apache, PHP, MySQL, and
other necessary components in a single installation package, simplifying the setup
process.

3. Text Editor or Integrated Development Environment (IDE): You'll need a text editor or an
IDE to write and edit your PHP code. Some popular choices for PHP development include:

 Visual Studio Code:


A lightweight, free, and extensible code editor with PHP language support. It offers
various plugins and extensions for PHP development.

 PhpStorm:
A powerful PHP IDE developed by JetBrains. It provides advanced features like code
completion, debugging, and integration with version control systems.

 Sublime Text, Atom, or Notepad++:


These are lightweight text editors that offer PHP syntax highlighting and other useful
features for code editing.

4. Database Management System:

If your application requires a database, you'll need to set up a database management system.
MySQL is a popular choice, but you can also use MariaDB or PostgreSQL, depending on
your requirements. Download and install the appropriate database system for your operating
system from their respective websites.

5. Browser:

You'll need a web browser to test and preview your PHP applications. Popular browsers like
Google Chrome, Mozilla Firefox, or Microsoft Edge can be used.
94
.PHP FRAMEWORK CLASS LIBRARY

A PHP framework is a collection of libraries, components, and tools that provide a structured way to
build web applications. These frameworks simplify the development process by providing reusable
code and predefined structures, allowing developers to focus on application logic rather than low-
level implementation details. While there are several PHP frameworks available, this section
provides an overview of a typical PHP framework's class library.
1. Routing:
 The routing component helps in defining and managing application routes, which
determine how URLs are mapped to specific actions or controllers.
 It allows developers to define routes for different HTTP methods (GET, POST, etc.)
and handle dynamic URL parameters.
 The routing class library provides methods to register routes, match incoming requests
to appropriate controllers, and pass parameters to the corresponding actions.
2. Controller:
 The controller class library contains classes that handle user requests, process data,
and generate responses.
 Controllers typically contain methods (actions) that correspond to different application
functionalities.
 The controller classes receive input from the user, interact with models or services to
retrieve or manipulate data, and generate output or views to be presented to the user.
3. Model:
 The model component provides classes and functionalities to interact with the
application's data storage, such as databases or external APIs.
 Models represent the data structures and business logic of the application.
 The model classes encapsulate data access methods, validation rules, and relationships
between different data entities.
4. View:
 The view class library focuses on rendering and presenting data to the user interface.
 Views are responsible for generating HTML, CSS, and JavaScript code that forms the
user interface.
 View templates often use templating engines or syntax to dynamically populate data
and create reusable components.
5. Middleware:

95
 Middleware classes intercept incoming requests and perform specific actions before
passing them to the appropriate controller.
 Middleware components handle tasks such as authentication, input validation,
logging, or modifying the request or response objects.
 Middleware classes can be chained or stacked to execute multiple tasks in a specific
order.
6. Form Validation:
 The form validation class library assists in validating user input data received through
forms.
 It provides methods and rules to ensure that user-submitted data meets the specified
validation criteria.
 The form validation component helps in preventing security vulnerabilities and
ensuring data integrity.
7. Authentication and Authorization:
 The authentication and authorization class library helps in managing user
authentication and access control.
 It provides methods for user registration, login, password hashing, and managing user
sessions.
 The authorization component allows developers to define access control rules based
on user roles or permissions.
8. Database Abstraction:
 The database abstraction class library simplifies database interactions by providing an
object-oriented interface.
 It includes methods for querying the database, managing transactions, and handling
database-specific operations.
 The database abstraction layer supports multiple database systems and provides a
consistent API for data manipulation.
9. Caching:
 The caching component offers methods for caching frequently accessed data, reducing
database or API calls and improving performance.
 It supports different caching strategies, such as in-memory caching, file caching, or
caching using external services like Redis or Memcached.
10. Error Handling and Logging:
 The error handling and logging class library provides mechanisms to capture and
96
manage application errors and exceptions.
 It offers logging capabilities to record application events, error messages, and stack
traces for debugging and troubleshooting.

Client Application Development

The Client Application Development aspect of the Student Result Management System project in
PHP, MySQL, and Bootstrap focuses on developing the user-facing application that enables
administrators, teachers, and students to interact with the system. This section outlines the key
considerations and activities involved in developing the client application.

a. User Interface Design:


 Conduct user research and analysis to understand the needs and preferences of the system's
users.
 Design an intuitive and user-friendly interface that promotes ease of use and efficiency.
 Utilize Bootstrap framework to create responsive and mobile-friendly designs.
 Incorporate modern design principles, such as consistent branding, clear navigation, and
visual hierarchy.

b. Front-End Development:
 Develop the client application using PHP, HTML, CSS, and JavaScript.
 Utilize the Bootstrap framework for responsive and flexible layouts.
 Implement interactive features and functionalities using JavaScript libraries and
frameworks, such as jQuery or Vue.js.
 Ensure cross-browser compatibility and accessibility to support a wide range of users.

c. User Authentication and Authorization:


 Implement secure user authentication mechanisms, such as username/password login or
social media login integration.
 Validate user credentials and manage user sessions to ensure secure access to the system.
 Implement role-based access control to determine the permissions and privileges for
different user types.

d. Data Presentation and Visualization:


97
 Retrieve and present student result data from the database in a clear and organized manner.
 Utilize appropriate data visualization techniques, such as charts or graphs, to present
performance trends or comparative analyses.
 Allow users to filter, sort, and search for specific student results based on various criteria.

e. Result Entry and Management:


 Develop forms and interfaces for administrators and teachers to enter and update student
result data.
 Implement data validation and error handling to ensure accurate and consistent data entry.
 Provide functionalities to manage student profiles, including adding new students, updating
information, and managing enrollment details.

f. Reporting and Analytics:


 Develop reporting functionalities to generate comprehensive reports on student
performance, class averages, or other relevant metrics.
 Allow users to export reports in various formats, such as PDF or Excel, for further analysis
or distribution.
 Incorporate data analytics capabilities to enable administrators and teachers to gain insights
into student performance trends and make data-driven decisions for academic
improvement.
 Integration and Interoperability:

 Integrate the client application with the back-end system, ensuring seamless data flow and
synchronization.
 Implement APIs (Application Programming Interfaces) or data exchange mechanisms to
facilitate integration with other systems, such as student information systems or learning
management systems.

g. Testing and Quality Assurance:


 Conduct thorough testing of the client application to ensure functionality, usability, and
performance.
 Perform user acceptance testing to validate that the application meets the needs and
expectations of its intended users.

98
 Implement bug tracking and issue management systems to capture and resolve any
identified issues.

h. Documentation and User Support:


 Prepare user documentation, including user guides and manuals, to assist users in
navigating and using the client application effectively.
 Provide ongoing user support through helpdesk services, FAQs, or user forums to address
user queries and concerns.

PHP TECHNOLOGY

Server Application Development

PHP TECNOLOGY

Server Application Development


PHP is a server-side scripting language designed for web development but also used as a general-
purpose programming language. PHP is now installed on more than 244 million websites and 2.1
million web servers. Originally created by RasmusLerdorf in 1995, the reference implementation of
PHP is now produced by The PHP Group. While PHP originally stood for Personal Home Page, it now
stands for PHP: Hypertext Preprocessor, a recursive acronym. PHP code is interpreted by a web
server with a PHP processor module which generates the resulting webpage: PHP commands can
be embedded directly into an HTML source
document rather than calling an external file to process data. It has also evolved to include a command-
line interface capability and can be used in standalone graphical applications. PHP is free software
released under the PHP License, which is incompatible with the GNU General Public License (GPL)
due to restrictions on the usage of the term PHP. PHP can be deployed on most web servers and also as
a standalone shell on almost every operating system and platform, free of charge.

Why PHP?
 PHP un perfectly on different operating system such as window and so on.
 PHP is compatible with almost all web servers used today (Apache).
 PHP is free to download from the official PHP resource: http://www.phpPHP YII2 .
 PHP is easy to learn and runs efficiently and swiftly on any compatible web server.

99
Backend used:

a. MySQL :
MySQL is the world's most popular open source database software, with over 100 million copies of its
software downloaded or distributed throughout it's history. With its superior speed, reliability, and ease of
use, MySQL has become the preferred choice for Web, Web 2.0, SaaS, ISV, Telecom companies and
forward-thinking corporate IT Managers because it eliminates the major problems associated with
downtime, maintenance and administration for modern, online applications. Many of the world's largest and
fastest-growing organizations use MySQL to save time and money powering their high-volume Web sites,
critical business systems, and packaged software — including industry leaders such as Yahoo!, Alcatel-
Lucent, Google, Nokia, YouTube, Wikipedia, and Booking.com. The flagship MySQL offering is MySQL
Enterprise, a comprehensive set of productiontested software, proactive monitoring tools, and premium
support services available in an affordable annual subscription. MySQL is a key part of WAMP (Windows,
Apache, MySQL, PHP / Perl / Python), the fastgrowing open source enterprise software stack. More and
more companies are using LAMP
as an alternative to expensive proprietary software stacks because of its lower cost andfreedom from
platform lock-in.
MySQL was originally founded and developed in Sweden by two Swedes and a Finn: DavidAx mark, Allan
Larsson and Michael "Monty" Widenius, who had worked together since the1980's

b. Apache Server
Often referred to as simply Apache, a public-domain open source web server developed by a loosely-
knit group of programmers. The first version of Apache, based on the NCSA httpd web server, was
developed in 1995. Core development of the Apache web server is performed by a group of about 20
volunteer programmers, called the Apache group. However, because the source code is freely
available, anyone can adapt the server for specific needs, and there is a large public library of Apache
Add-ons. In many respects, development of Apache is similar to development of the Linux Operating
System.

Software requirement for development

a) Bootstrap:

Bootstrap is an open-source JavaScript framework developed by the team at Twitter. It is a


100
combination of HTML, CSS, and JavaScript code designed to help build user interface components.
Bootstrap was also programmed to support both HTML5 and CSS3. Also it is called Front-end-
framework. Bootstrap is a free collection of tools for creating websites and web applications.

b) XAMPP:
XAMPP. Stands for "Windows, Apache, MySQL, and PHP." XAMPP is a variation of LAMP
for Windows systems and is often installed as a software bundle (Apache,MySQL, and PHP). It is
often used for web development and internal testing, but may also be used to serve live websites

c) CSS:

CSS stands for Cascading Style Sheets.CSS describes how HTML elements are to be displayed on
screen, paper, or in other media.CSS saves a lot of work. It can control the layout of multiple web
pages all at once. External style sheets are stored in CSS files.

d) jQuery:

jQuery is a lightweight, "write less, do more", JavaScript library. The purpose of jQuery is to make it
much easier to use JavaScript on your website. jQuery takes a lot of commontasks that require many
lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single
line of code. jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls
and DOM manipulation the jQuery library contains the following features: HTML/DOM
manipulation CSS manipulation HTML event methods Effects and animations AJAX Utilities

e) PHP: -
PHP is an acronym for "PHP: Hypertext Preprocessor PHP is a widely-used, open source scripting
language. PHP scripts are executed on the server .PHP is free to download anduse.

f) SQL SERVER:-

A database management, or DBMS, gives the user access to their data and helps them transform the data
into information. Such database management systems include dBase, paradox, IMS, SQL Server and SQL
Server. These systems allow users to create, update and extract information from their database.

A database is a structured collection of data. Data refers to the characteristics of people, things and events.
SQL Server stores each data item in its own fields. In SQL Server, the fields relating to a particular
person, thing or event are bundled together to form a single complete unit of data, called a record (it can
101
also be referred to as raw or an occurrence). Each record is made up of a number of fields. No two fields
in a record can have the same field name.

During an SQL Server Database design project, the analysis of your business needs identifies all the fields
or attributes of interest. If your business needs change over time, you define any additional fields or
change the definition of existing fields.

 SQL Server Tables

SQL Server stores records relating to each other in a table. Different tables are created for the various
groups of information. Related tables are grouped together to form a database.

 Primary Key

Every table in SQL Server has a field or a combination of fields that uniquely identifies each record inthe
table. The Unique identifier is called the Primary Key, or simply the Key. The primary key provides the
means to distinguish one record from all other in a table. It allows the user and the database system to
identify, locate and refer to one particular record in the database.

 Relational Database

Sometimes all the information of interest to a business operation can be stored in one table. SQL Server
makes it very easy to link the data in multiple tables. Matching an employee to the department in which
they work is one example. This is what makes SQL Server a relational database management system, or
RDBMS. It stores data in two or more tables and enables you to define relationships between the table and
enables you to define relationships between the tables.

102
 Foreign Key

When a field is one table matches the primary key of another field is referred to as a foreign key. A
foreign key is a field or a group of fields in one table whose values match those of the primary key
of another table.

 Referential Integrity

Not only does SQL Server allow you to link multiple tables, it also maintains consistency between
them. Ensuring that the data among related tables is correctly matched is referred to as maintaining
referential integrity.

Implementation approaches
Far the biggest challenge encountered was time constraints. Implementation takes an extraordinary

amount of time and a large amount of coordination. Scheduling project meetings around every

group member’s schedule has been nearly impossible. Many of the group members were unable to devote

the amount of focus that the implementation stage required. Both the former and the latter problem may

be more of an issue in the academic environment where priorities of the different group members are

skewed in a variety of directions. Another issue that cropped up was knowledge of the PHP programming.

At least two of the four group members were unfamiliar with PHP Swing API, which is php primary

user interface package. Again, this may not be as much of an issue in software engineering outside

the academic arena.

One of tools we found very useful, in situations where member responsibilities need to be hashed out, is

the responsibility matrix. It has really been the only tool that has allowed us to continue making

progress. Everyone is assigned a task, and everyone is held accountable for the completion of their

assigned task. It also allows us to track tasks that need to be done. The responsibility matrix has proven

to be an invaluable tool in the software engineering process.

103
Chapter 6
Conclusion
6. Conclusion

 At the first look we can say that Bookstore Management System is a perfect system but it has many
limitations that are as follow :
 This is also used for list the category and books also manage the customer and books of the Bookstore.
 The Bookstore Management System is used to give information of the Books to the customer.
 We faced problems like Database creation, Flow of our system, designing of front end and back end tools,
coding etc.
 Only single user can use a system at a time.
 In this system we cannot add a service module.
 We learnt new languages like jQuery, PHP, Boot-Strap, HTML, CSS, etc..

104
Chapter 7
Limitation of System
7 Limitation of system
 Help

Currently the help feature is not available. Using this functionality user can get help about the system.

 Payment

Currently the feature of online payment is not available. User cannot give payment online.

 Multilingual

Multilingual is not supported in our system. Therefore user cannot work in different languages.

 Backup & Recovery:

User cannot take the backup or recover the data in this the system.
 Many More Others.

105
Chapter 8
Future Scope of Project

8 FUTURE SCOPE OF PROJECT

The Book Store Management System project developed using PHP, MySQL, and Bootstrap has great
potential for future enhancements and expansion. Here are some key areas of future scope for the project:

 Advanced Reporting and Analytics: Enhance the reporting capabilities of the system by
incorporating advanced analytics features. This could include generating visual dashboards and
charts to present data insights, enabling administrators and customers to analyze performance
trends, identify areas for improvement, and make data-driven decisions.

 Mobile Application Development: Develop a mobile application for the Book Store Management
System, allowing administrators, customers, and stores to access the system's functionalities on
their smartphones and tablets. The mobile app can provide real-time notifications, result updates,
and personalized academic information, enhancing convenience and accessibility.

 Book Store -Customers Communication Portal: Create a dedicated portal within the system to
facilitate effective communication between book store owner and customers.

 Expand Accessibility and Multilingual Support: Enhance the system's accessibility by


incorporating features like screen reader compatibility and support for multiple languages. This
would ensure inclusivity and enable book store owner and customers from diverse backgrounds to
utilize the system effectively.

 Data Security and Privacy Enhancements: Strengthen the system's security measures to protect
sensitive customer data. Implement encryption techniques, role-based access controls, and regular
security audits to ensure data privacy and comply with relevant data protection regulations.

106
 Scalability and Performance Optimization: Optimize the system's performance to handle a larger
number of users and increasing data volumes. This can be achieved through database optimization,
code refactoring, and implementing caching mechanisms.

 Seamless Integration with Student Information Systems (SIS): Integrate the Book Store
Management System with existing Book Store Systems used in Book Stores. This integration
would enable seamless data synchronization, ensuring accurate and up-to-date student
information across different systems.

 Continuous Support and Maintenance: Provide ongoing support, bug fixes, and system updates to
ensure the smooth functioning of the Book Store Management System. Regular maintenance and
improvements will help address user feedback, accommodate changing requirements, and keep the
system up-to-date with technological advancements.

107
Chapter 8
Bibliography

9. Bibliography
Websites Used

o www.google.com

o www.w3cschools.com

o www.stackoverflow.com

o www.quora.com

o www.Scribd.com

Apps Used
 Youtube

108
A
Project Report

By
Neha Devi

School of Computer Science


& Engineering

GOVT P.G.
COLLEGE
DHARAMSHALA
SESSION – 2021-
23

Roll No.21013728026

109

You might also like