0% found this document useful (0 votes)
20 views48 pages

Report

Uploaded by

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

Report

Uploaded by

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

Minor Project Report On

E-Commerce

By
Adarsh Singh (22015003070 )

In partial fulfillment of requirements for the award of the degree

Bachelor of Computer Application (Computer Science)

(2024)

Under the guidance of

Professor HOD

Jagaran College of arts science and commerce

21/297 yogendra vihar khandepur naubasta


Aeuhhingh
Jagaran College of arts science and commerce

Department of Computer Science

Certificate

This is to certify that Adarsh Singh (22015003070), student of Bachelor of Computer Application,

Fifth Semester, Department of Computer Science of Jagaran College of arts science and commerce ,

has pursued the Minor Project titled “E-Commerce” under the supervision of ., Head Of Department

(HOD) and Internal guide . and the report has been submitted in partial fulfillment of requirements

for the award of the degree, Bachelor of Computer Application in Computer Science by Jagaran

College of arts science and commerce in the Year 2024.

Professor HOD
Aeuhhingh
Jagaran College of arts science and commerce

Department of Computer Science

Certificate

This is to certify that Adarsh Singh (22015003070), student of Bachelor of Computer Application,

Fifth Semester, Department of Computer Science of Jagaran College of arts science and commerce ,

has pursued the Minor Project titled “E-Commerce” under the supervision of ., Head Of Department

(HOD) and Internal guide . and the report has been submitted in partial fulfillment of requirements

for the award of the degree, Bachelor of Computer Application in Computer Science by Jagaran

College of arts science and commerce in the Year 2024.

External Examiner Internal Examiner

Signature Signature
ACKNOWLEDGEMENT

I express my sincere regard and indebtedness to my project internal guide ., for his valuable time,

guidance, encouragement, support and cooperation throughout the duration of our project. I would

sincerely like to thank IT Department for giving me the opportunity to work on enhancing my

technical skills while undergoing this project. This project was done under the guidance of ., Head

of Department. This project helped in understanding the various parameters which are involved in

the development of a web application and the working and integration of front end along with the

back end to create a fully functional web application.

1 would like to thank ., Head ofDepartment and whole of department for their constant support.

Adarsh Singh

22015003070
ABSTRACT

Electronic Commerce is process of doing business through computer networks. A person sitting on

his chair in front ofa computer can access all the facilities of the Internet to buy or sell the products.

Unlike traditional commerce that is carried out physically with effort of a person to go & get

products, ecommerce has made it easier for human to reduce physical work and to save time. E-

Commerce which was started in early 1990’s has taken a great leap in the world of computers, but

the fact that has hindered the growth of e-commerce is security. Security is the challenge facing e-

commerce today & there is still a lot of advancement made in the field of security. The main

advantage of e-commerce over traditional commerce is the user can browse online shops, compare

prices and order merchandise sitting at home on their PC. For increasing the use of e-commerce in

developing countries the B2B e-commerce is implemented for improving access to global markets

for firms in developing countries. For a developing country advancement in the field of e-commerce

is essential. The research strategy shows the importance of the e-commerce in developing countries

for business applications.

The main objective of the E-commerce Portal is to manage the details of

Products,Customer,Shipping,Payment,Category. It manages all the information about Products,

Sales, Category, Products. The project is totally built at administrative end and thus only the

administrator is guaranteed the access. The purpose of the project is to build an application program

to reduce the manual work for managing the Products, Customer, Sales, Shipping. It tracks all the

details about the Shipping,Payment,Category.


INDEX

S.No. Index Page No.

Chapter 1 INTRODUCTION 1-6

1.1 Introduction

1.2 Aim

1.3 Existing System

1.4 Proposed System

L5 Feasibility Study

1.6 Project Work Schedule

1.7 Organisation of Report

Chapter 2 SOFTWARE REQUIREMENTS SPECIFICATION

2.1 Hardware Requirement

22 Software Requirement

Chapter3 DESIGN & PLANNING

3.1 Software Development Life Cycle Model

32 GENERAL OVERVIEW

33 User Flow Diagram 10

3.4 ER Diagram

35 DFD Diagram 12-14

Chapter
4 IMPLEMENTATION DETAILS 15-23

4.1 FRONT END 15-18

4.2 BACK END 19-22

Chapter 5 TESTING 23-33

5.1 UNIT TESTING 23-24

5.2 INTEGRATION TESTING 25-26


53 SOFTWARE VERIFICATION AND VALIDATION 27-29

5.4 Black-Box Testing 30

5.5 ‘White-Box Testing 31-32

5.6 SYSTEM TESTING 33

Chapter 6 RESULTS 34-38

Chapter 7 ADVANTAGES 39

Chapter 8 CONCLUSION 40

BIBLIOGRAPHY 41
CHAPTER 1 : INTRODUCTION

1.1 INTRODUCTION

Customer get many benefits via online shopping this helps e-commerce companies to build long-

lasting and profitable relationship with their customers. For making strong relationship with these

users it is very important to focus on the customer as a whole and making sense of a flood of real-

time information that goes well beyond demographics or shopping behavior. There are two entities

who will have the access to the system. One is the admin and another one will be the registered

user. Admin can add product details, view all the order details and can also view the sales of the

products. User need to register with basic registration details to generate a valid username and

password. After the user logins, it can view all the products that are recommended on the homepage

compiled by the system based on user’s information. From the recommended products, the user can

even further view its details and then if interested to buy, the system gives add to cart option for

purchasing the product. The system even has an Al bot with the help of which the user can get

answers to queries like features, warranty, price etc. details of the products. This AI Bot even

converts text to speech. After selecting the product, user can do payment for the particular product

online. Users can view their order history of their purchased product.

1.2 AIM

The main aim of e-commerce websites development is to sell products to users. The most successful

websites are carefully optimized to achieve a high percentage of purchases. To achieve success e-

commerce websites need to integrate all of the latest online closing & upsell techniques available

which have been proven to increase the chances that a visitor will purchase. There are many

important elements that go into building a successful e-commerce website such as removing friction

during the purchasing process, making the checkout smooth and easy, making the website fast and

attractive, up selling users on related products, incentivizing buyers, reducing cart abandonment,

nurturing past buyers to buy again, remarketing to past visitors who haven’t yet purchased, using

the proper payment options, having a mobile ready design and many more things which are needed
Page No. 1
to develop and e-commerce website.
1.3 EXISTING SYSTEM

This existing system of buying goods has several disadvantages. It requires lots of time to travel to

the particular shop to buy the goods. It is having lots of manual work. Since everyone is leading

busy life now a days, time means a lot to everyone. Also there are expenses for travelling from

house to shop. It is less user-friendly. In current system user must go to shop and order products. It

is difficult to identify the required product.More over the shop from where we would like to buy

some thing may not be open 24*7*365. Hence we have to adjust our time with the shopkeeper’s

time or vendor’s time. In current e commerce system user have to go shop to view the description of

the product. It is unable to generate different kinds of report.

1.4 PROPOSED SYSTEM

The proposed system helps in building a website to buy, sell products or goods online using internet

connection. Unlike traditional commerce that is carried out physically with effort of a person to go

and get products, eCommerce has made it easier for human to reduce physical work and to save

time. The basic concept of the application is to allow the customer to shop virtually using the

Internet and allow customers to buy the items and articles oftheir desire from the store.E-commerce

is fast gaining ground as an accepted and used business paradigm.

Page No. 2
1.5 FEASIBILITY STUDY

A feasibility study is a high-level capsule version of the entire System analysis and Design Process.
The study begins by classifying the problem definition. Feasibility is to determine if it’s worth
doing. Once an acceptance problem definition has been generated, the analyst develops a logical
model of the system. A search for alternatives is analyzed carefully. There are 3 parts in feasibility
study.

1) Operational Feasibility

2) Technical Feasibility

3) Economical Feasibility

1.5.1 OPERATIONAL FEASIBILITY

Operational feasibility is the measure of how well a proposed system solves the problems, and takes
advantage of the opportunities identified during scope definition and how it satisfies the
requirements identified in the requirements analysis phase of system development.The operational
feasibility assessment focuses on the degree to which the proposed development projects fits in with
the existing business environment and objectives with regard to development schedule, delivery
date, corporate culture and existing business processes.To ensure success, desired operational
outcomes must be imparted during design and development. These include such design-dependent
parameters as reliability, maintainability, supportability, usability, producibility, disposability,
sustainability, affordability and others. These parameters are required to be considered at the early
stages of design if desired operational behaviours are to be realised. A system design and
development requires appropriate and timely application of engineering and management efforts to
meet the previously mentioned parameters. A system may serve its intended purpose most
effectively when its technical and operating characteristics are engincered into the design.
Therefore, operational feasibility is a critical aspect of systems engineering that needs to be an
integral part of the early design phases.

Page No. 3
1.5.2 TECHNICAL FEASIBILITY

This involves questions such as whether the technology needed for the system exists, how difficult
it will be to build, and whether the firm has enough experience using that technology. The
assessment is based on outline design of system requirements in terms of input, processes, output,
fields, programs and procedures. This can be qualified in terms ofvolume of data, trends, frequency
of updating inorder to give an introduction to the technical system. The application is the fact that it
has been developed on windows XP platform and a high configuration of 1GB RAM on Intel
Pentium Dual core processor. This is technically feasible .The technical feasibility assessment is
focused on gaining an understanding of the present technical resources of the organization and their
applicability to the expected needs of the proposed system. It is an evaluation of the hardware and
software and how it meets the need of the proposed system.

1.5.3 ECONOMICAL FEASIBILITY

Establishing the cost-effectiveness of the proposed system i.e. if the benefits do not outweigh the
costs then it is not worth going ahead. In the fast paced world today there is a great need of online
social networking facilities. Thus the benefits of this project in the current scenario make it
economically feasible. The purpose of the economic feasibility assessment is to determine the
positive economic benefits to the organization that the proposed system will provide. It includes
quantification and identification of all the benefits expected. This assessment typically involves a
cost/benefits analysis.

Page No. 4
1.6 GAANT Chart

Page No. 5
1.7 ORGANISATION OF THE REPORT

1.7.1 INTRODUCTION

This section includes the overall view of the project i.e. the basic problem definition and the general
overview of the problem which describes the problem in layman terms. It also specifies the software
used and the proposed solution strategy.

1.7.2 SOFTWARE REQUIREMENTS SPECIFICATION

This section includes the Software and hardware requirements for the smooth running of the
application.

1.7.3 DESIGN & PLANNING

This section consists of the Software Development Life Cycle model. It also contains technical
diagrams like the Data Flow Diagram and the Entity Relationship diagram.

1.7.4 IMPLEMENTATION DETAILS

This section describes the different technologies used for the entire development process of the
Front-end as well as the Back-end development of the application.

1.7.5 RESULTS AND DISCUSSION

This section has screenshots of all the implementation i.c. user interface and their description.

1.7.6 SUMMARY AND CONCLUSION

This section has screenshots of all the implementation i.e. user interface and their description.

Page No. 6
CHAPTER 2 : SOFTWARE REQUIREMENTS SPECIFICATION

2.1 Hardware Requirements

Number Description

1 PC with 250 GB or more Hard disk.

2 PC with 2 GB RAM.

PC with Pentium 1 and Above.

2.2 Software Requirements

Number Description Type


1 Operating System Windows XP / Windows

Back-End Technology Java, Django, MySQL, PostgreSQL

Front-End Technology HTML, Python, JavaScript, Css

Browser Google Chrome

Page No. 7
CHAPTER 3 : DESIGN & PLANNING

3.1 Software Development Life Cycle Model

3.1.1 WATERFALL MODEL

The waterfall model was selected as the SDLC model due to the following reasons:

* Requirements were very well documented, clear and fixed.


Technology was adequately understood.
Simple and easy to understand and use.
¢ There were no ambiguous requirements.
* Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a
review process.
Clearly defined stages.
‘Well understood milestones.Easy to arrange tasks.

Réquirément
Analysis

System Design

Implementation

Deployment

Maintenance

Page No. 8
3.2 GENERAL OVERVIEW

E-commerce

l
Admin

Y
Upload Purchase
Product Product

1l

Database

Page No. 9
3.3 Use Case Diagram

[~filemakr_ecommerce.png

Page No. 10
3.4 ER Diagram

© Online_Shop.

Customer

0
Supplier
Phone

Supplies

Gives Order

Customer

Price

Page No. 11
3.5 DFD Diagram

3.5.1 Zero-Level DFD Diagram

Shipping
Management

Customer Sales
Management Management

-Commerce
Portal
Category System User
Management Management

Login
Management

[ Zero Level DFD - E-Commerce Portal ]

Page No. 12
3.5.2 First-Level DFD Diagram

Customer Generate
Management Customer Report

Payment Generate
Management Payment Report

Product Generate
Management Product Report
E-Commerce
Sales Portal Generate
Management Sales Report

Login Check User


Management Login Details

System User Generate System


Management User Report

( First Level DFD - E-Commerce Portal )

Page No. 13
3.5.3 Second-Level DFD Diagram

Admin
Manage Customer Details

Manage Product Details

p assword
Manage Sales Details

Manage Shipping Details

Manage Payment Details

Manage Category Details

Manage System Admins | [Manage Roles of User| [Manage User Permission Manage Report

[ Second Level DFD - E-Commerce Portal )

Page No. 14
CHAPTER 4 : IMPLEMENTATION DETAILS

In this Section we will do Analysis of Technologies to use for implementing the project.

4.1 : FRONT END


HTML
4.1.1 HTML E

HTML (Hypertext Markup Language) is a standard markup language used for creating web pages
and other information that can be displayed on the web. HTML was first introduced in the early
1990s by Tim Berners-Lee, a researcher at the European Organization for Nuclear Research
(CERN). The language has since evolved and is now in its fifth iteration, HTML5, which was
officially released in 2014. HTML is the foundation of all websites and is the backbone of the
internet.

HTML consists of a series of elements and tags that are used to define the structure and content of a
web page. The elements include headings, paragraphs, links, images, lists, tables, and more. The
tags are used to wrap around these elements to indicate how they should be displayed in a web
browser. For example, the <p> tag is used to define a paragraph, while the <img> tag is used to
insert an image. HTML also supports the use of CSS (Cascading Style Sheets) and JavaScript,
which can be used to add styling and interactivity to a website.

HTMLS5 has greatly improved the functionality ofthe web, making it easier for developers to create
dynamic and engaging websites. One of the biggest changes in HTMLS is the addition of new
clements and tags, such as the <article>, <hcader>, <footer>, and <nav> tags. These new tags allow
developers to define the structure of a web page more semantically, making it easier for search
engines and assistive technologies to understand the content. HTML5 also supports multimedia
content, such as audio and video, without the need for additional plugins. Another important feature
of HTMLS is the integration of HTML, CSS, and JavaScript, allowing developers to create rich and
dynamic user interfaces without the need for additional tools.

HTML is also used in conjunction with other technologies such as CSS (Cascading Style Sheets)
and JavaScript to create dynamic and interactive web pages. CSS is used to control the presentation
of web pages, including the font size, color, background and layout. JavaScript is used to create
dynamic effects, such as animations and interactive forms, on web pages. HTML, CSS and
JavaScript work together to create web pages that are not only visually appealing, but also
functional and user-friendly. HTML has come a long way since its introduction, and it continues to
evolve and adapt to new technologies and user needs. HTMLS5, the latest version of HTML,
includes new features such as video and audio playback, geolocation and offline storage, making it
easier for developers to create dynamic and interactive web pages.

Page No. 15
4.1.2 Python ~

Python is a high-level programming language that is widely used in various industries, such as
finance, software development, and data analysis. It was first introduced in 1991 by Guido van
Rossum and since then it has become one of the most popular programming languages. Python is a
versatile language that can be used for a variety of purposes, from simple scripts to complex
software applications. It is also an open-source language, which means that its source code is freely
available for anyone to use, modify, and distribute.

One of the main advantages of using Python is its simplicity. Unlike other programming languages,
Python uses an intuitive syntax that is easy to read and write. This makes it an ideal choice for both
beginners and experienced programmers. Python is also known for its versatility, which makes it a
good choice for a variety of tasks, such as web development, scientific computing, and machine
learning. The Python community has developed a large number of libraries and modules, which are
collections of pre-written code that can be used to perform specific tasks. These libraries make it
easy to accomplish complex tasks in just a few lines of code, which saves time and effort.

In recent years, Python has become increasingly popular in the data science community. This is
because it has a large number of libraries that are specifically designed for data analysis, such as
Pandas and NumPy. These libraries make it easy to perform complex data manipulations, such as
aggregating and summarizing data, and performing statistical analysis. Python also has libraries for
machine learning, such as scikit-learn, which make it possible to build and train machine learning
models with ease. This is why Python is often referred to as a “Swiss Army Knife” of data science,
as it provides a wide range of tools that make it possible to perform complex data analysis tasks.

Overall, Python is a highly versatile programming language that has a lot to offer. Its simplicity and
versatility make it an ideal choice for a variety of tasks, from simple scripts to complex software
applications. Python’s popularity in the data science community is also a testament to its
capabilities, as it provides a wide range of tools that make it possible to perform complex data
analysis tasks. Whether you are a beginner or an experienced programmer, Python is a language that
is worth learning, as it is sure to provide you with many opportunities to explore new areas of
programming and to expand your skills.

Page No. 16
4.1.3 JavaScript E

JavaScript is a high-level programming language that is widely used for developing interactive web
applications. It was created in the mid-90s and has since become one of the most popular scripting
languages in the world. JavaScript is used to add dynamic and interactive elements to websites,
such as drop-down menus, pop-up windows, and animations. It can be used in both the front-end
and back-end of web development, making it a versatile language for developers to master.

JavaScript is an object-oriented language, which means that it is based on objects, and objects have
properties and methods. The syntax of JavaScript is similar to that of other popular programming
languages such as C, C++, and Java, which makes it easy for developers to learn. JavaScript is a
lightweight language, which means that it can run quickly on computers and mobile devices.
JavaScript is also cross-platform, which means that it can run on any platform that has a web
browser. JavaScript is supported by all major web browsers including Chrome, Firefox, Internet
Explorer, and Safari, which means that developers can write code once and run it on multiple
platforms.

Another reason for the popularity of JavaScript is its simplicity. The syntax is easy to understand,
making it accessible to both experienced and novice developers. The language also has a large and
active community, which has created a wealth of open-source libraries and frameworks that can be
used to build complex applications quickly and easily. These libraries and frameworks make it
possible to accomplish complex tasks without writing large amounts of code, which means that
development can be done faster and more efficiently. Additionally, there are many online resources
available, such as tutorials, forums, and video courses, to help developers learn and improve their
skills.

In conclusion, JavaScript is a vital component of the development of modern web applications. Its
versatility, accessibility, and rich library of tools and frameworks make it an ideal choice for web
developers. Whether you are a beginner or an experienced developer, JavaScript offers the
flexibility and power to create dynamic and interactive web applications that engage and delight
users. As the web continues to evolve and become more complex, the importance ofJavaScript will
only continue to grow, making it an essential language for web developers to learn and master.

Page No. 17
4.1.4 Css é

CSS (Cascading Style Sheets) is a style sheet language used for describing the look and formatting
of a document written in HTML. It is an essential component of modern web development, as it
allows web developers to separate the content of a website from its presentation, making the design
and maintenance of websites much more manageable. The use of CSS makes it possible to apply
styles to a large number of web pages with just a few lines of code, rather than having to make
changes to the HTML code of each individual page.

CSS is based on a set of styling rules that are applied to specific HTML elements. These rules
specify the appearance of elements such as font, color, size, spacing, and more. CSS also provides a
way to specify the behavior of elements in response to different conditions, such as screen size or
device type. This makes it possible to create responsive designs that automatically adjust to
different screens, from desktop to mobile devices. Additionally, CSS provides a way to define the
layout of a page, using a variety of techniques such as floating elements, positioning, and the use of
grid and flexbox systems.

One of the main advantages of CSS is the ability to reuse styles across multiple pages, making it
easy to maintain consistency in the design ofa website. The use of CSS also enables developers to
create styles that are reusable across different websites, as well as making it possible to share styles
with other developers. With the widespread use of CSS, there is a vast collection of pre-built styles
available on the internet that developers can use to speed up their design process. CSS has also been
used to create complex and sophisticated visual effects, such as animations, that were previously
only possible with JavaScript. In conclusion, CSS has become an essential tool for web
development, making it possible to create visually appealing and highly functional websites that are
easy to maintain and update.

In addition to providing a consistent look and feel, CSS also helps to improve the accessibility and
usability of websites. CSS can be used to hide content from screen readers, provide alternate text for
images, and format pages for different screen sizes and devices. This makes it easier for users with
disabilities to access and interact with a website, and for mobile users to view the site on their
devices. CSS also helps to improve the performance of websites, as it can be used to minimize the
number of requests to the server, reducing the load time of a site.

Page No. 18
4.2 : BACK END

421Java & paa


Java is a high-level programming language that was created by James Gosling and developed by
Sun Microsystems in the early 1990s. Today, it is one of the most widely used programming
languages in the world, and is commonly used for creating desktop applications, web-based
applications, and mobile applications. Java is considered an object-oriented programming language,
meaning that it uses objects and classes to define and manipulate data. This is what makes Java so
flexible and powerful.

One of the main reasons Java is so popular is because of its platform independence. This means that
Java code can run on any operating system or device that has a Java Virtual Machine (JVM)
installed. This makes it much easier for developers to create applications that can run on multiple
platforms, such as Windows, Mac, Linux, and Android. This also makes it easier for businesses to
deploy applications to their employees, regardless of what type of computer they use. Java is also
known for its security features, making it a popular choice for financial and e-commerce
applications.

Another reason Java is so popular is because of its rich libraries and frameworks. Java has a large
number of libraries that are available to developers, which can greatly increase the speed and
efficiency of development. Some of these libraries include the Java Development Kit (JDK), the
Java Standard Library, and JavaFX. Additionally, there are many frameworks available for Java that
can help developers build applications more quickly and easily. Some popular Java frameworks
include Spring, Hibernate, and JavaServer Faces (JSF). These libraries and frameworks provide a
lot of pre-built code and tools, which can save developers a significant amount of time and effort.

In conclusion, Java is a high-level programming language that is widely used and has a number of
benefits. Its platform independence and security features make it a popular choice for developing
desktop, web-based, and mobile applications. Additionally, Java's rich libraries and frameworks
provide developers with a lot of pre-built code and tools, which can greatly increase the speed and
efficiency of development. Whether you're a seasoned developer or just starting out, Java is a
programming language that is definitely worth exploring.

Page No. 19
4.2.1 Django django

Django is a high-level Python web framework that enables developers to build scalable and
dynamic web applications with ease. The framework was created in 2003 by a group of developers,
who were frustrated with the limitations of existing web frameworks. They aimed to create a
framework that would make the process of web development faster and more efficient, while also
ensuring that the resulting applications were secure, reliable, and easy to maintain.

One of the key features of Django is its Model-View-Template (MVT) architecture, which separates
the application into three distinct components. The Model component is responsible for managing
the data and interactions with the database, the View component handles user requests and manages
the presentation of data, and the Template component is responsible for rendering the HTML pages.
This separation of concerns helps to keep the code clean and well-organized, making it easier to
maintain and debug. Django also includes a powerful Object-Relational Mapping (ORM) layer,
which provides an abstraction over the database, allowing developers to interact with the database
using Python instead of SQL. This eliminates the need for manual database queries and reduces the
risk of SQL injection attacks.

Another important aspect of Django is its security features. The framework includes built-in
protection against common web application security threats, such as cross-site scripting (XSS),
cross-site request forgery (CSRF), and SQL injection. It also includes user authentication and
authorization systems, allowing developers to easily manage user accounts and control access to
application resources. Additionally, Django supports caching, which can be used to speed up the
performance of web applications by storing frequently used data in memory. This can reduce the
load on the database server and improve the responsiveness of the application.

Overall, Django is an excellent choice for web development projects that require a fast, scalable,
and secure framework. Its MVT architecture, ORM layer, and security features make it a popular
choice among developers, and its wide range of built-in modules and third-party packages make it
easy to add additional functionality to an application. The large and active community of developers
who contribute to the framework also ensure that it remains up-to-date and well-supported, making
it an excellent choice for both new and experienced developers.

Page No. 20
4.2.1 MySQL @

MySQL is a popular open-source relational database management system that is widely used by
web-based applications, including e-commerce and content management systems. It was first
introduced in 1995 and since then, has become one of the most preferred databases for web-based
applications. MySQL is known for its fast, reliable, and flexible features, making it the ideal choice
for developers who need a database that can handle large amounts of data, support multiple users
and transactions, and handle complex queries.

MySQL is written in the C programming language and uses a Structured Query Language (SQL) for
data management. It supports a wide range of data types, including text, numbers, and dates, and
also offers a range of functions, triggers, and stored procedures. Additionally, it supports ACID
(Atomicity, Consistency, Isolation, Durability) transactions, which ensure that all transactions are
completed successfully, or rolled back if there is an error, ensuring data consistency and
reliability.One of the reasons for MySQL's popularity is its ease of use. MySQL is designed to be
user-friendly, making it easy for developers to create and manage databases. It is also highly
customizable, which allows developers to tailor their databases to meet their specific needs.
Additionally, MySQL is very flexible and can be used for a wide range of applications, from small
websites to large enterprise systems. It is also highly scalable, meaning that it can handle large
amounts of data and can be easily scaled to accommodate growing data requirements.

One of the key advantages of using MySQL is its open-source nature. The source code is available
to anyone, and developers can make modifications to the software to suit their specific needs. This
has led to a large and thriving community of developers and users, who are constantly working on
improving and enhancing the software. There are also numerous plugins and extensions available
that can be used to extend the functionality of MySQL. Additionally, because it is open-source,
there is no need to purchase licenses or pay for upgrades, which can save organizations a significant
amount of money. Furthermore, because it is widely used, there are a large number of online
resources and support available, making it easy for new users to get up and running quickly.

In conclusion, MySQL is an open-source database management system that offers a range of


features and functions that make it the ideal choice for web-based applications. Its fast, reliable, and
flexible features make it a popular choice for developers and businesses alike. Its scalability
features, which allow for horizontal and vertical scaling, make it an excellent choice for growing
businesses. With its wide range of data types and functions, support for ACID transactions, and its
popularity, MySQL is likely to continue to be a popular choice for developers and businesses in the
years to come.

Page No. 21
4.2.1 PostgreSQL @
PosigrsSOL.

PostgreSQL is an open-source relational database management system that is known for its
reliability, stability, and robustness. It is widely used by organizations for managing large datasets,
conducting complex data analysis, and building robust data-driven applications. In recent years,
PostgreSQL has gained popularity as a cost-effective alternative to proprictary database systems and
has been recognized as one of the most advanced open-source database management systems in the
world.

One of the key features of PostgreSQL is its ability to handle complex data structures such as
arrays, hstore (key-value pairs), and JSONB (binary JSON). This makes it ideal for storing and
managing semi-structured data such as customer preferences, social media data, or e-commerce
transactions. PostgreSQL also supports multiple data types, including text, numeric, date, and time,
which enables it to store a wide varicty of data types with ease. Furthermore, it supports advanced
data analysis through built-in functions for aggregate calculation, full-text search, and spatial
indexing.

Another strength of PostgreSQL is its scalability and performance. It can easily scale from a single
database instance to a multi-node cluster, making it ideal for large-scale data management and data
processing. This scalability is made possible through the use of the PostgreSQL Automatic Failover
system, which ensures that data is always available in the event of a failure. Furthermore,
PostgreSQL offers a rich set of extensions that allow users to add new functionalities to the database
as needed. Some of the popular extensions include pgAdmin, which is an administration and
management tool for PostgreSQL, and PostGIS, which is an extension for spatial analysis and
mapping.

In conclusion, PostgreSQL is a powerful, flexible, and reliable database management system that is
well suited for a wide range of data management needs. Its support for complex data structures,
multiple data types, and advanced data analysis make it ideal for organizations that need to store
and manage large amounts of data. Its scalability, performance, and robustness make it suitable for
large-scale data processing, and its cost-effective pricing makes it an attractive alternative to
proprietary database systems.

Page No. 22
CHAPTER 5 : TESTING

5.1 : UNIT TESTING

5.1.1 Introduction

In computer programming, unit testing is a software testing method by which individual units
of source code, sets of one or more computer program modules together with associated control
data, usage procedures, and operating procedures, are tested to determine whether they are fit for
use. Intuitively, one can view a unit as the smallest testable part of an application. In procedural
programming, a unit could be an entire module, but it is more commonly an individual function or
procedure. In object-oriented programming, a unit is often an entire interface, such as a class, but
could be an individual method. Unit tests are short code fragments created by programmers or
occasionally by white box testers during the development process. It forms the basis for component
testing. Ideally, each test case is independent from the others. Substitutes such as method
stubs, mock objects, fakes, and test harnesses can be used to assist testing a module in isolation.
Unit tests are typically written and run by software developers to ensure that code meets its design
and behaves as intended.

Page No. 23
5.1.2 Benifits

The goal of unit testing is to isolate each part of the program and show that the individual parts are
correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a result,
it affords several benefits.

1) Find problems early : Unit testing finds problems early in the development cycle. In test-driven
development (TDD), which is frequently used in both extreme programming and scrum, unit tests
are created before the code itself is written. When the tests pass, that code is considered complete.
The same unit tests are run against that function frequently as the larger code base is developed
either as the code is changed or via an automated process with the build. If the unit tests fail, it is
considered to be a bug either in the changed code or the tests themselves. The unit tests then allow
the location of the fault or failure to be easily traced. Since the unit tests alert the development team
of the problem before handing the code off to testers or clients, it is still early in the development
process.

2 ) Facilitates Change : Unit testing allows the programmer to refactor code or upgrade system
libraries at a later date, and make sure the module still works correctly (e.g., in regression testing).
The procedure is to write test cases for all functions and methods so that whenever a change causes
a fault, it can be quickly identified. Unit tests detect changes which may break a design contract.

3 ) Simplifies Integration : Unit testing may reduce uncertainty in the units themselves and can be
used in a bottom-up testing style approach. By testing the parts of a program first and then testing
the sum of its parts, integration testing becomes much easier.

4) Documentation : Unit testing provides a sort of living documentation of the system. Developers
looking to learn what functionality is provided by a unit, and how to use it, can look at the unit tests
to gain a basic understanding ofthe unit's interface (API).Unit test cases embody characteristics that
are critical to the success of the unit. These characteristics can indicate appropriate/inappropriate
use of a unit as well as negative behaviors that are to be trapped by the unit.

Page No. 24
5.2 : INTEGRATION TESTING

Integration testing (sometimes called integration and testing, abbreviated I&T) is the phase
in software testing in which individual software modules are combined and tested as a group. It
occurs after unit testing and before validation testing. Integration testing takes as its
input modules that have been unit tested, groups them in larger aggregates, applies tests defined in
an integration test plan to those aggregates, and delivers as its output the integrated system ready
for system testing.

5.2.1 Purpose

The purpose of integration testing is to verify functional, performance, and


reliability requirements placed on major design items. These "design items", i.e., assemblages (or
groups of units), are exercised through their interfaces using black-box testing, success and error
cases being simulated via appropriate parameter and data inputs. Simulated usage of shared data
areas and inter-process communication is tested and individual subsystems are exercised through
their input interface. Test cases are constructed to test whether all the components within
assemblages interact correctly, for example across procedure calls or process activations, and this is
done after testing individual modules, i.e., unit testing. The overall idea is a "building block"
approach, in which verified assemblages are added to a verified base which is then used to support
the integration testing of further assemblages.Software integration testing is performed according to
the software development life cycle (SDLC) after module and functional tests. The cross-
dependencies for software integration testing are: schedule for integration testing, strategy and
selection of the tools used for integration, define the cyclomatical complexity of the software and
software architecture, reusability of modules and life-cycle and versioning management.Some
different types of integration testing are big-bang, top-down, and bottom-up, mixed (sandwich) and
risky-hardest. Other Integration Patterns[2] are: collaboration integration, backbone integration,
layer integration, client-server integration, distributed services integration and high-frequency
integration.

Page No. 25
5.2.1.1 Big Bang

In the big-bang approach, most of the developed modules are coupled together to form a complete
software system or major part of the system and then used for integration testing. This method is
very effective for saving time in the integration testing process. However, if the test cases and their
results are not recorded properly, the entire integration process will be more complicated and may
prevent the testing team from achieving the goal of integration testing.A type of big-bang
integration testing is called "usage model testing" which can be used in both software and hardware
integration testing. The basis behind this type of integration testing is to run user-like workloads in
integrated user-like environments. In doing the testing in this manner, the environment is proofed,
while the individual components are proofed indirectly through their use. Usage Model testing takes
an optimistic approach to testing, because it expects to have few problems with the individual
components. The strategy relies heavily on the component developers to do the isolated unit testing
for their product. The goal of the strategy is to avoid redoing the testing done by the developers, and
instead flesh-out problems caused by the interaction of the components in the environment.

5.2.1.2 Top-down And Bottom-up

Bottom-up testing is an approach to integrated testing where the lowest level components are tested
first, then used to facilitate the testing of higher level components. The process is repeated until the
component at the top of the hierarchy is tested.All the bottom or low-level modules, procedures or
functions are integrated and then tested. After the integration testing of lower level integrated
modules, the next level of modules will be formed and can be used for integration testing. This
approach is helpful only when all or most of the modules of the same development level are ready.
This method also helps to determine the levels of software developed and makes it easier to report
testing progress in the form of a percentage.Top-down testing is an approach to integrated testing
where the top integrated modules are tested and the branch of the module is tested step by step until
the end of the related module.Sandwich testing is an approach to combine top down testing with
bottom up testing.

Page No. 26
5.3 : SOFTWARE VERIFICATION AND VALIDATION

5.3.1 Introduction

In software project management, software testing, and software engineering, verification and
validation (V&V) is the process of checking that a software system meets specifications and that it
fulfills its intended purpose. It may also be referred to as software quality control. It is normally the
responsibility of software testers as part of the software development lifecycle. Validation checks
that the product design satisfies or fits the intended use (high-level checking), i.e., the software
meets the user requirements.This is done through dynamic testing and other forms of
review.Verification and validation are not the same thing, although they are often
confused. Boehm succinctly expressed the difference between

* Validation : Are we building the right product?


Verification : Are we building the product right?

According to the Capability Maturity Model (CMMI-SW v1.1)

Software Verification: The process of evaluating software to determine whether the products of a
given development phase satisfy the conditions imposed at the start of that phase.

Software Validation: The process of evaluating software during or at the end of the development
process to determine whether it satisfies specified requirements.

In other words, software verification is ensuring that the product has been built according to the
requirements and design specifications, while software validation ensures that the product meets the
user's needs, and that the specifications were correct in the first place. Software verification ensures
that "you built it right". Software validation ensures that "you built the right thing". Software
validation confirms that the product, as provided, will fulfill its intended use.

Page No. 27
From Testing Perspective

« Fault — wrong or missing function in the code.


Failure — the manifestation of a fault during execution.
* Malfunction — according to its specification the system does not meet its specified functionality

Both verification and validation are related to the concepts of quality and of software quality
assurance. By themselves, verification and validation do not guarantee software quality;
planning, traceability, configuration management and other aspects of software engineering are
required. Within the modeling and simulation (M&S) community, the definitions of verification,
validation and accreditation are similar:

e M&S Verification is the process of determining that a ¢ computer model, simulation, or


federation of models and simulations implementations and their associated data accurately
represent the developer's conceptual description and specifications.
e M&S Validation is the process of determining the degree to which a model, simulation, or
federation of models and simulations, and their associated data are accurate representations of
the real world from the perspective of the intended use(s).

Page No. 28
5.3.2 Classification of Methods

In mission-critical software systems, where flawless performance is absolutely necessary, formal


methods may be used to ensure the correct operation of a system. However, often for non-mission-
critical software systems, formal methods prove to be very costly and an alternative method of
software V&V must be sought out. In such cases, syntactic methods are often used.

5.3.3 Test Cases

A test case is a tool used in the process. Test cases may be prepared for software verification and
software validation to determine if the product was built according to the requirements of the user.
Other methods, such as reviews, may be used carly in the life cycle to provide for software
validation.

Page No. 20
5.4 : Black-Box Testing

Black-box testing is a method of software testing that examines the functionality of an application
without peering into its internal structures or workings. This method of test can be applied virtually
to every level of software testing: unit, integration, system and acceptance. It typically comprises
most if not all higher level testing, but can also dominate unit testing as well.

5.4.1 Test Procedures

Specific knowledge of the application's code/internal structure and programming knowledge in


general is not required. The tester is aware of what the software is supposed to do but is not aware
of how it does it. For instance, the tester is aware that a particular input returns a certain, invariable
output but is not aware of how the software produces the output in the first place.

5.4.2 Test Cases

Test cases are built around specifications and requirements, i.e., what the application is supposed to
do. Test cases are generally derived from external descriptions of the software, including
specifications, ~requirements and design parameters. Although the tests wused are
primarily functional in nature, non-functional tests may also be used. The test designer selects both
valid and invalid inputs and determines the correct output, often with the help of an oracle or a
previous result that is known to be good, without any knowledge of the test object's internal
structure.

Page No. 30
5.5 : White-Box Testing

White-box testing (also known as clear box testing, glass box testing, transparent box testing,
and structural testing) is a method of testing software that tests internal structures or workings of an
application, as opposed to its functionality (i.e. black-box testing). In white-box testing an internal
perspective of the system, as well as programming skills, are used to design test cases. The tester
chooses inputs to exercise paths through the code and determine the appropriate outputs. This is
analogous to testing nodes in a circuit, e.g. in-circuit testing (ICT). White-box testing can be applied
at the unit, integration and system levels ofthe software testing process. Although traditional testers
tended to think of white-box testing as being done at the unit level, it is used for integration and
system testing more frequently today. It can test paths within a unit, paths between units during
integration, and between subsystems during a system-level test. Though this method of test design
can uncover many errors or problems, it has the potential to miss unimplemented parts of the
specification or missing requirements.

5.5.1 Levels

1) Unit testing : White-box testing is done during unit testing to ensure that the code is working as
intended, before any integration happens with previously tested code. White-box testing during unit
testing catches any defects early on and aids in any defects that happen later on after the code is
integrated with the rest of the application and therefore prevents any type of errors later on.

2 ) Integration testing : White-box testing at this level are written to test the interactions of each
interface with each other. The Unit level testing made sure that each code was tested and working
accordingly in an isolated environment and integration examines the correctness of the behaviour in
an open environment through the use of white-box testing for any interactions of interfaces that are
known to the programmer.

3 ) Regression testing : White-box testing during regression testing is the use of recycled white-
box test cases at the unit and integration testing levels.

Page No. 31
5.5.2 Procedures

‘White-box testing's basic procedures involves the tester having a deep level of understanding of the
source code being tested. The programmer must have a deep understanding of the application to
know what kinds of test cases to create so that every visible path is exercised for testing. Once the
source code is understood then the source code can be analyzed for test cases to be created. These
are the three basic steps that white-box testing takes in order to create test cases:

« Input involves different types of requirements, functional specifications, detailed designing of


documents, proper source code, security specifications. This is the preparation stage of white-
box testing to layout all of the basic information.
* Processing involves performing risk analysis to guide whole testing process, proper test plan,
execute test cases and communicate results. This is the phase of building test cases to make sure
they thoroughly test the application the given results are recorded accordingly.
* Output involves preparing final report that encompasses all of the above preparations and
results.

Page No. 32
5.6 : SYSTEM TESTING

System testing of software or hardware is testing conducted on a complete, integrated system to


evaluate the system's compliance with its specified requirements. System testing falls within the
scope of black-box testing, and as such, should require no knowledge of the inner design of the
code or logic. As a rule, system testing takes, as its input, all of the "integrated" software
components that have passed integration testing and also the software system itself integrated with
any applicable hardware system(s). The purpose of integration testing is to detect any
inconsistencies between the software units that are integrated together (called assemblages) or
between any of the assemblages and the hardware. System testing is a more limited type of testing;
it seeks to detect defects both within the "inter-assemblages" and also within the system as a whole.

System testing is performed on the entire system in the context of a Functional


Requirement Specification(s) (FRS) and/or a System Requirement Specification (SRS). System
testing tests not only the design, but also the behavior and even the believed expectations of the
customer. It is also intended to test up to and beyond the bounds defined in the software/hardware
requirements specification(s).

Page No. 33
CHAPTER 6 : RESULTS

Shopping Portal | Admin

Insert Product

Chooss File

[Choose File

Chooss File

© Shopping Portal

Page No. 34
Shopping Portal =] onr-psoon W

HOME BOOKS ELECTRONICS FURNITURE FASHION

ELecTtronic ArpPLiar
0000Q

S MONEY BACK o FREE SHIPPING i SPECIAL SALE

All Products

Micromax 81cm (32) HD Ready LED TV Apple iPhone 6 (Silver, 16 GB)


(32T6175MHD, 2 X OMI, 2 X USB) pogse R!fln)\\ Note 4 (Gold, 32 6B) (With 3GB
RAM]
Lenovo K6 Power (Silver, 32 GB)

it Rs.36990 haabded Rs.9999

o -
OUR BRANDS

noc & masas S tacksony Canon COMPRC Yoamin

Shopping Portal IRENTING INFORMATION


o
o Page No. 35
Q ™
Shopping Portal | Admin

Order Details #4

Detais

Product Quantity Product Price


Shippiny

Order History
Remark

© Shopping Portal

Page No. 36
& Welcome AniKumar | & MyAccont | W Wishist | W MyCart | ® Logout Track Order

Seatchhere. a omr-Rs0000 W
Shopping Portal

HOME BOOKS ELECTRONICS FURNITURE FASHION

Home / Shopping Cart

wricerer Shipping Payment


. Inage Producthame ity it Crge Grandtotl Method OnderBate Acton

REDMINOTE 4 (601D, bl 2n2a022


' 268) (353 2 1099 0 . o oy

2 LS
'THEA STILTON AND THE
2 20 w0 50 it
Debit/
o
24-
i

OUR BRANDS

noc © BAIAL * BlackBenry. Canon COMPRO Poamn

'

. OPENING TIME INFORMATION


Shopping Portal
Nam ibero tempore, cum soluta nobis est ses eligendi optio Monday-Friday To TR
ie ok i s e g oo
e e mannn )
- Bwmn0 (011 000000000000
(9110000000000
Suncy 10000200
© Moeswmicon

Page No. 37
& MyAccomt @ Whist | WMyCat @ Logn TrackOnder

Search hre. a o o0n W


Shopping Portal

HOME BOOKS ELECTRONICS FURNITURE FASHION

Home / Authentcation

SIGN IN CREATEA NEW ACCOUNT


Hello, Welcome to your account. Create your own Shopping account.

Emal Address * FullName +


l J l
[ —
l J | |
ContactNo.+

Password.*

l |
‘Confim Password.

l I

SIGN UP TODAY AND YOU'LL BEABLETO :

‘Speed your way through the checkout.


Track your orders easily.
Keep a record of all your purchases.

OUR BRANDS

Shopping Portal OPENING TINE INFORMATION

N etempor, cum so ses egendiopto Mengayiay wanne @ "o


cuma cum souta o st se evgens oot imave
- w0 (011 50000000000
(@11 000000000000
Suncay o020
© Foesermacam

Page No. 38
CHAPTER 7 : ADVANTAGES

Speed up the buying process and save time for customers.


Best Quality of services in reasonably low operation cost.
Less store setup cost and quick ROI (Return of investments).
No Geographical limitation, tap the global market form the day one.

Page No. 39
CHAPTER 8 : CONCLUSION

In general, today’s businesses must always strive to create the next best thing that consumers will
want because consumers continue to desire their products, services etc. to continuously be better,
faster, and cheaper. In this world of new technology, businesses need to accommodate to the new
types of consumer needs and trends because it will prove to be vital to their business’ success and
survival. E-commerce is continuously progressing and is becoming more and more important to
businesses as technology continues to advance and is something that should be taken advantage of
and implemented.From the inception of the Internet and e-commerce, the possibilities have become
endless for both businesses and consumers. Creating more opportunities for profit and
advancements for businesses, while creating more options for consumers. However, just like
anything else, e-commerce has its disadvantages including consumer uncertainties, but nothing that
can not be resolved or avoided by good decision-making and business practices.

Page No. 40
BIBLIOGRAPHY

https://www.tutorialspoint.com/index.htm
https://www.javatpoint.com
https://www.w3schools.com
https://html.com

Page No. 41

You might also like