You are on page 1of 50

CHAPTER-1

INTRODUCTION
1.1 BACKGROUND AND SIGNIFICANCE:
With the growth of the Internet and Internet-based devices, most of the
people are fond of things available over the internet. Facebook and online media
have grown their popularity in Nepal very much these days. Online shopping sites
or online stores are also one of the popular things in the internet world now. Find
the list of best online shopping sites below.

Online shopping has become very popular among the people living in the
major cities of Nepal. It has become popular mainly because of convenience and
ease to shop from their home or office. One of the most appealing factors about
online shopping is that it alleviates the need to wait in long lines or search from
store to store for a particular item. We see many young people are attracted to
online stores, as we can view the price, compare between two or more sites and
buy the product. As per the experience, based on the availability of product,
quality of product and timely delivery with easy payment options, I have chosen
the best 5 online shopping stores in Nepal which are as follows in descending
order. .

 Nepbay.com

Nepbay started their service in 2007 as an online directory of shops in


Kathmandu and Lalitpur. They have grown to become an online platform
for Buyers, Seller and Advertisers to showcase their products and brands.

 Muncha.com
Muncha.com.np is the online version of the departmental store “Muncha
House”. They have a very early history. Muncha started its service in
2000. Muncha.com.np is a digital shopping mall and gift site where you
can find a wide variety of products to meet your needs.

1
 Sastodeal.com
Sasto Deal is one of Nepal’s biggest online shopping website. Sastodeal
deliveries are mostly free inside Kathmandu valley and a small surcharge
is added for orders outside the valley.
 Hamrobazar.com
Hamrobazar.com is an online classified which enables individuals as well
as companies to list the wide variety of new or used product online. It is
one of the most used shopping sites in Nepal as it provides the platform for
the individual to sell their own products.
 Daraz.com.np
Formerly Kaymu is fastest growing online marketplace operating in South
Asian countries Pakistan, Bangladesh, Myanmar, Sri Lanka, and Nepal. A
wide variety of products are available in Daraz.

Online shopping is broadly defined as an activity that includes finding online


retailers and products, searching for product information, selecting payment
options and communicating with other consumers and retailer as well as
purchasing products or services. Therefore, online shopping is one of the most
important online activities. It has also made significant contributions to the
economy. Customers are more sophisticated in their use of different channels, if
technology makes multi-channel possible, the evolution of multi-channel is driven
by consumer. There is a chance to increase consumer expenditure and increase
financial performance if the firm applies multi-channel strategy, consumer spend
more 20%- 30% than general consumer.

2
1.2 SCOPE AND OBJECTIVES OF THE PROJECT:

This product has great future scope. Online shopping internet software
developed on and for the windows and later versions environments and Linux OS.
This project also provides security with the use of Login-id and Password, so that
any unauthorized users can not use your account. The only Authorized that will
have proper access authority can access the software.

The objective of this project is to provide easy assistance to both the


customer as well as the merchant with proper database and information. Online
shopping is something that most of us take for granted these days. We enjoy the
convenience and other benefits of shopping online. The main objective of the
project is to provide fast, reliable and accurate management of the online business.
It provides the huge information and makes the task simpler in less effort.

The main theme of this software is to make the task simpler and completed
the work within limited time with least manpower.

The software provides the following facilities to the Administrator:

 Administrator can adding product to database.


 Administrator can edit or delete the products from the database
 Administrator can adding and sees the delivery report to the database.

The software provides the following facilities to the Consumers:

 The consumer register with their details and get authentication for an
authorize login.
 Consumers are provided with up to date information on the products
available by categories.
 Using shopping cart, see the item selected appears in the shopping.
 It provides hand cash on delivery only.
 After buying and making payment the product are send to consumers
address that he has given.

3
1.3 PROBLEM IN EXISTING SYSTEM
 Lack of visitors to the site – when people don’t know about you a lack of
visitors to your online business is either about people not knowing your
site exists, or being unable to find it. Both these problems can be tackled
by good use of Search Engine Optimization (SEO). For this you need good
content, which is not just about stuffing your site with keywords.

 Paid advertising is another method for getting people to your site. Google
can be expensive for advertising (the more popular the keyword, the more
it costs) but using less in-demand keywords will cost far less.

 Since the system currently relies on database stored on the web server
there is no backup system for application whenever server goes down.

1.4 SOLUTION OF THESE PROBLEMS


The development of the new system contains the following activities,
which try to automate the entire process keeping in view of the database
integration approach.

 User friendliness is provided in the application with various control like


user authentication, unauthorized prevention and security control.
 Vast amount of data can be stored.
 The system makes the overall project management much easier and
flexible.
 Relationship between the administrator, consumer and merchant can be
maintained very easily.

It provides high level of security using different protocol like https etc.

4
CHAPTER 2
PROJECT ANALYSIS
2.1 METHODOLOGY
In BCA project we have used agile methodology for the development of
Online shopping system site that incorporate the innovative and dynamic nature of
the web. Agile web development is a development model for web applications
that follow the same concept as the agile methodologies. This approach is more
efficient and powerful to ensure every piece of functionality is delivered early in
the development stage and improves throughout the life of the web application.

Agile web development has the following characteristics according to Clark


(2008):

 Iterative and incremental development methods that is aimed to deliver the


application at shorter period of time;

 The production progress is measured based on the complete and tested


features during the schedule release of the application.

 Tasks are broken down into smaller increments that make it more
adaptable to some changes;

This methodology follows planning, requirements analysis, designing, coding,


testing and documentation in parallel during the stage of production process.
Customer involvement during the development process by getting their feedback
improves the confidence of making changes, error free, and customer-oriented
approach.

2.2 DURATION

5
The time taken by this project is about one month. At first we have
developed a sample website taking help from other E-commerce site and we have
added modules. Later on we feel the essence of other features and added on it.

2.3 ACTIVITIES
Several activities can be combined to form a summary activity. The
duration of an activity is determined by the effort it takes to complete each of its
designated tasks. We have designed and developed the project dividing it into
various modules. Some of us designed front end and some of us code for
back end. We had regular discussion with our supervisor and the team member for
the analysis of requirement. We have made time schedules for the project
development to complete project on time.

2.4 FEASIBILITY STUDY


A feasibility study includes an estimate of the level of expertise required
for a project and who can provide it, quantitative and qualitative assessments of
other essential resources, identification of critical points, a general timetable, and
a general cost estimate. Whether a project is viable or not, i.e. whether it can
generate an equal or a higher rate of return during its lifetime requires a thorough
investigation of the investment as well as the level of current expenditure. The
preliminary design is the simple description of the conceived idea with an
indication of the main factors to be considered in the study.

2.4.1 ECONOMIC FEASIBILITY

Economic feasibility analysis is the most commonly used method for


determining the efficiency of a new project. It is also known as cost analysis. It
helps in identifying profit against investment expected from a project. Cost and
time are the most essential factors involved in this field of study. Under the cost
based study we evaluate the development cost and the operating cost. We also

6
calculate an approximate time frame to receive returns against investment keeping
in mind the future value of the project. During the process of economic feasibility
study we follow certain best practices to get the desired result.

2.4.2 TECHNICAL FEASIBILITY

Technology Feasibility is performed to identify which technologies have


the greatest likelihood of economic success. In technical feasibility the following
issues are taken into consideration.

 Whether the required technology is available or not.


 Whether the required resources are available.
- Manpower, programmers, testers & debuggers.
- Software and hardware.

Once the technical feasibility is established, it is important to consider the


monetary factors also. Since it might happen that developing a particular system
may be technically possible but it may require huge investments and benefits may
be less. For evaluating this, economic feasibility of the proposed system is carried
out.

2.4.3 LEGAL FEASIBILITY

It includes study concerning contracts, liability, violations, and legal other


traps frequently unknown to the technical staff. Other legal feasibility can be thing
like local and international laws involved in business. Every country changes laws
once a year which can change requirements as they are passed and must be
regulated by the company.

2.4.4 OPERATIONAL FEASIBILITY

Operational feasibility is mainly concerned with issues like whether the


system will be used if it is developed and implemented. Whether there will be
resistance from users that will affect the possible application benefits? Does

7
management support the project? Have the users been involved in the planning
and development of the project? Will the proposed system really benefit the
organization? Does the overall response increase? Will accessibility of
information be lost? Will the system affect the customers in considerable way?

2.5 TIME MANAGEMENT

Time Management is the art of organizing, arranging and scheduling


activities in a fashion that it optimizes an individual or perhaps a team for highest
level of productivity and success.

2.5.1 PROJECT PLANNING

Project planning is a procedural step in project management, where


required documentation is created to ensure successful project completion.
Documentation includes all actions required to define, prepare, integrate and
coordinate additional plans. The project plan clearly defines how the project is
executed, monitored, controlled and closed.

2.5.2 REQUIREMENT ANALYSIS

Requirements Analysis is the process of defining the expectations of the


users for an application that is to be built or modified. Requirements analysis
involves all the tasks that are conducted to identify the needs of different
stakeholders. Therefore requirements analysis means to analyze, document,
validate and manage software or system requirements. High-quality requirements
are documented, actionable, measurable, testable, traceable, helps to identify
business opportunities, and are defined to a facilitate system design.

2.5.3 DESIGN

8
System design is the process of designing the elements of a system such as
the architecture, modules and components, the different interfaces of those
components and the data that goes through that system. System Analysis is the
process that decomposes a system into its component pieces for the purpose of
defining how well those components interact to accomplish the set requirements.
The purpose of the System Design process is to provide sufficient detailed data
and information about the system and its system elements to enable the
implementation consistent with architectural entities as defined in models and
views of the system architecture.

2.5.4 IMPLEMENTATION

Implementation is the process that actually yields the lowest-level system


elements in the system hierarchy (system breakdown structure). System elements
are made, bought, or reused. Production involves the hardware fabrication
processes of forming, removing, joining, and finishing, the software realization
processes of coding and testing, or the operational procedures development
processes for operators' roles. If implementation involves a production process, a
manufacturing system which uses the established technical and management
processes may be required.

2.5.5 TESTING

The process or method of finding error/s in a software application or


program so that the application functions according to the end user's requirement
is called software testing. Software testing is the process of verifying a system
with the purpose of identifying any errors, gaps or missing requirement versus the
actual requirement. Software testing is broadly categorized into two types -
functional testing and non-functional testing. When to start test activities: Testing
should be started as early as possible to reduce the cost and time to rework and
produce software that is bug-free so that it can be delivered to the client. However,
in Software Development Life Cycle (SDLC), testing can be started from the
Requirements Gathering phase and continued till the software is out there in
productions. It also depends on the development model that is being used. For

9
example, in the Waterfall model, testing starts from the testing phase which is
quite below in the tree,; but in the V-model, testing is performed parallel to the
development phase. When to stop test activities: An application can never be
100% bug-free.

2.6 SYSTEM STUDY

A detailed study to determine whether, to what extent, and how automatic


data-processing equipment should be used; it usually includes an analysis of the
existing system and the design of the new system, including the development of
system specifications which provide a basis for the selection of equipment.

 Administrative user interface:


It allows you to create member accounts and control the privileges
of members. For each table in your application, you can control whether
members can add new records, edit existing ones, and/or delete records.
Moreover, you can control which records a member can edit and/or delete:
only his own records (records added by the member himself), or his
group's records (records added by any member of the group to which our
member belongs), or all records entered by him and any other member of
any group.

 The operational user interface:


The user interface (UI), in the industrial design field of human–
computer interaction, is the space where interactions between humans and
machines occur. The goal of this interaction is to allow effective operation
and control of the machine from the human end, whilst the machine
simultaneously feeds back information that aids the operators' decision-
making process.

10
2.6.1 NUMBERS OF MODULES

The number of modules used in the project is analyzed and presented as:

 Dashboard
 Add Brand
 Edit Brand
 Delete Brand
 Add Category
 Edit Category
 Delete Category
 Add Products Attributes
 Edit Products information
 Delete Product information
 Add menu
 Delete menu
 Home page manage

 Consumer panel
 Add to cart
 Product option
 Product review
 Consumer signup and login
 Product filter
 Product order
 Product order replace and view
 Consumer profile

11
 Consumer info change

2.6.2 OPERATIONAL ENVIRONMENT

The minimum requirement of hardware and software are:

Hardware Requirements:

 Processor (CPU) with 1.6 gigahertz (GHz) frequency or above


 A minimum of 1 GB of RAM
 Monitor Resolution 1024 X 768 or higher
 A minimum of 15 GB of available space on the server
 Internet Connection Broadband (high-speed) Internet connection with a
speed of 4 Mbps or higher
 Keyboard and a Microsoft Mouse or some other compatible pointing
device

Software Requirements:

 Internet Explorer.
 Google Chrome.
 Mozilla Firefox.
 Safari.
 Opera.
 Apache MySQL
 VS code
 Xampp

2.6.3 INPUTS & OUTPUTS

Inputs:
o Admin enters his or her user id and password.
o Admin/ User enter login information.
o User selects the products.

12
o User requests the search for specific product.
o System updates the records and events.

Outputs:

o Admin can view order list.


o Admin can see reports and settings.
o Admin can update the site.
o Admin can view personal detail of user.
o Consumer can view the product list and product info.

2.7 USER AUTHENTICATION AND SECURITY

The authentication process always runs at the start of the application,


before the permission and throttling checks occur, and before any other code is
allowed to proceed. Different systems may require different types of credentials to
ascertain a user’s identity. The credential often takes the form of a password,
which is a secret and known only to the individual and the system. Three
categories in which someone may be authenticated are: something the user knows,
something the user is, and something the user has.

Authentication process can be described in two distinct phases -


identification and actual authentication. Identification phase provides a user
identity to the security system. This identity is provided in the form of a user ID.
The security system will search all the abstract objects that it knows and find the
specific one of which the actual user is currently applying. Once this is done, the
user has been identified. The fact that the user claims does not necessarily mean
that this is true. An actual user can be mapped to other abstract user object in the
system, and therefore be granted rights and permissions to the user and user must

13
give evidence to prove his identity to the system. The process of determining
claimed user identity by checking user-provided evidence is called authentication
and the evidence which is provided by the user during process of authentication is
called a credential.

CHAPTER 3

SOFTWARE REQUIREMENT SPECIFICATION

3.1 INTRODUCTION
A software requirements specification (SRS) is a detailed description of a
software system to be developed with its functional and non-functional
requirements. The SRS is developed based the agreement between customer and
contractors. It may include the use cases of how user is going to interact with
software system. The software requirement specification document consistent of
all necessary requirements required for project development. To develop the
software system we should have clear understanding of Software system. To
achieve this we need to continuous communication with customers to gather all
requirements.

A good SRS defines the how Software System will interact with all
internal modules, hardware, communication with other programs and human user
interactions with wide range of real life scenarios. Using the Software
requirements specification (SRS) document on QA lead, managers creates test
plan. It is very important that testers must be cleared with every detail specified in
this document in order to avoid faults in test cases and its expected results.

3.2 FUNCTIONAL REQUIREMENTS:

The functional requirements of the system are:

14
 Upload and update details of products.
 Product order can be visible.
 Produce invoice, sells reports and overall reports.
 Generates order slip for costumer.
 Allow Feedback and comment for the product.

3.3 INTERFACE REQUIREMENT

User interfaces are the access points where users interact with designs.
Graphical user interfaces (GUIs) are designs’ control panels and faces, voice-
controlled interfaces involve oral-auditory interaction, while gesture-based
interfaces witness users engaging with 3D design spaces via bodily motions. One
thing that we can’t stress enough is the navigation menu. Don’t make things
impossible to get to. Every part of your page should be clearly labeled on the
navigation menu and placed strategically for the users. Don’t change things up
and make your menu hard to find. It will only push people away. Data Entry
component and filtering options require in good websites. For example:

o Application design
o Search box
o Categories list
o Sort options.

3.4 NON-FUNCTIONAL REQUIREMENTS

Non-functional requirements describe user visibility aspects of the system


that are not directly related to the functional behavior of the system. User interface
and human factor. Our system provides a good graphical user interface with
various forms for viewers. If user is on internet, the interface between user and
software product in web browser and any operating system. Some non functional
requirements are:

3.2.1 EFFICIENCY

15
  Performance Efficiency affects customer satisfaction, workforce
productivity, application scalability, response-time degradation, and inefficient
use of processing or storage resources. The Performance Efficiency of an
application lies in each individual component‘s performance, as well as in the
effect of each component on the behavior of the chain of components comprising
a transaction in which it participates.

3.2.2 PERFORMANCE REQUIREMENT

The system must be interactive and the delays involved must be less .So in
every action-response of the system, there are no immediate delays. In case of
opening windows forms, of popping error messages and saving the settings or
sessions there is delay much below 2 seconds, In case of opening databases,
sorting questions and evaluation there are no delays and the operation is
performed in less than 2 seconds for opening ,sorting, computing, posting > 95%
of the files. Also when connecting to the server the delay is based editing on the
distance of the 2 systems and the configuration between them so there is high
probability that there will be or not a successful connection in less than 20 seconds
for sake of good communication.

3.4.3 SECURITY REQUIREMENT

Nonfunctional security means fraud done by staff of the software company


by allows access to the outsiders or himself share the sensitive information to the
third person.

3.4.4 BEHAVIORAL REQUIREMENT

Such requirements usually describes about the inputs which are expected
with respect to system. It also describes the outputs of the system. So generally it
given the information about inputs and outputs relationships. This actually tells
how the system will react or behave or do the function when a certain input will
be given to it.

16
3.4.5 TESTING REQUIREMENT

Testing itself may be defined at various levels of SDLC. The testing


process runs parallel to software development. Before jumping on the next stage,
a stage is tested, validated and verified. Testing separately is done just to make
sure that there are no hidden bugs or issues left in the software.

17
CHAPTER 4

SELECTED SOFTWARE

4.1 SLIM FRAMEWORK

Slim is a PHP micro framework that helps you quickly write simple yet
powerful web applications and APIs. At its core, Slim is a dispatcher that receives
an HTTP request, invokes an appropriate callback routine, and returns an HTTP
response. That’s it. Slim was created to make it easier for developers to get started
on PHP projects.MVC is an acronym for ‘Model View Controller’. It represents
architecture developers adopt when building applications. With the MVC
architecture, we look at the application structure with regards to how the data flow
of our application works.

4.1.1 FEATURES OF SLIM

o MVC Architecture Support

This MVC support helps in clear logical presentation of the codes.


It improves the performance, documentation and several other functions.
o Routing
Simple yet powerful routing that supports HTTP verbs like GET,
POST, DELETE, and UPDATE. This allows you to design SEO friendly
URLs
o Template Rendering
 Let’s explain this with an example; every time a user accesses a
resource on a web server, bandwidth is consumed depending on resources.
Things like the favicon, css files don’t change frequently.

18
o Secure Cookies
Slim uses AES-256 to encrypt cookies; this sinfully improves the
security of your application and makes it harder for hackers to forge your
cookies.
o Libraries & Modular
The pre-installed object-oriented libraries and many other libraries
also add value to this framework. The most popular one is an
authentication library with loads of updated and useful feature like
password reset, monitoring active users, CSRF protection and much more.

o Logging

  This comes in handy when you want to record errors, warnings or


info.

o Error Handling and Debugging

Lets you define a custom error handler that is involved when things
go wrong. The debug option lets your app decide whether to display the
exception/error info or invoke a custom error handler when things go
wrong

o Authorization and Logical Technique for Coding

The authentication part is the most important aspect when anyone


develops code to create an app. It also determines the amount of time any
coder will take to create something new. Slim has the logical technique
that helps in streamlining authorization logic and controls access to
resources.

19
4.1.1 ARCHITECTURE OF MVC FRAMEWORK

MVC stands for Model, View and Controller. MVC separates application into
three components - Model, View and Controller.

Model: Model represents shape of the data and business logic. It maintains the
data of the application. Model objects retrieve and store model state in a database.

View: View is a user interface. View display data using model to the user and also
enables them to modify the data.

Controller: Controller handles the user request. Typically, user interact with
View, which in-turn raises appropriate URL request, this request will be handled

20
by a controller. The controller renders the appropriate view with the model data as
a response.

4.1.2 CONNECTIVITY USING MYSQL

Slim makes connecting with databases and running queries extremely


simple. The database configuration file is app/config/database.php. In this file you
may define all of your database connections, as well as specify which connection
should be used by default. Examples for all of the supported database systems are
provided in this file.

Currently Slim supports four database systems: MySQL, Postgres, SQLite, and
SQL Server.

Sometimes we may wish to use one database connection for SELECT statements,
and another for INSERT, UPDATE, and DELETE statements. Slim makes this a
breeze, and the proper connections will always be used whether you are using raw
queries, the query builder, or the Eloquent ORM.

21
Fig: Read/Write connection

Note that two keys have been added to the configuration array: read and write.
Both of these keys have array values containing a single key: host. The rest of the
database options for the read and write connections will be merged from the main
mysql array. So, we only need to place items in the read and write arrays if we
wish to override the values in the main array. So, in this case, 192.168.1.1 will be
used as the "read" connection, while 192.168.1.2 will be used as the "write"
connection. The database credentials, prefix, character set, and all other options in
the main mysql array will be shared across both connections.

22
Fig: Running Queries

4.2 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".

23
o 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.
o It is integrated with a number of popular databases, including MySQL,
PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL Server.

o PHP is pleasingly zippy in its execution, especially when compiled as an


Apache module on the Unix side. The MySQL server, once started,
executes even very complex queries with huge result sets in record-setting
time.
o 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.
o PHP is forgiving: PHP language tries to be as forgiving as possible.
o PHP Syntax is C-Like.

Common uses of PHP

o PHP performs system functions, i.e. from files on a system it can create,
open, read, write, and close them.
o PHP can handle forms, i.e. gather data from files, save data to a file,
through email you can send data, return data to the user.
o You add, delete, and modify elements within your database through PHP.
o Access cookies variables and set cookies..

4.3 HTML, CSS, JQUERY & AJAX

o HTML is the standard markup language for creating Web pages.


o HTML stands for Hyper Text Markup Language.
o HTML describes the structure of Web pages using markup.
o HTML elements are the building blocks of HTML pages.

24
o HTML elements are represented by tags.
o HTML tags label pieces of content such as "heading", "paragraph",
"table", and so on.
o Browsers do not display the HTML tags, but use them to render the
content of the page.

Basic format of HTML tags:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>

<h1>My First Heading</h1>


<p>My first paragraph.</p>

</body>
</html>

Cascading Style Sheets, fondly referred to as CSS, is a simple design


language intended to simplify the process of making web pages presentable.

CSS handles the look and feel part of a web page. Using CSS, you can control
the color of the text, the style of fonts, the spacing between paragraphs, how
columns are sized and laid out, what background images or colors are used,
layout designs, and variations in display for different devices and screen sizes as
well as a variety of other effects.

CSS is easy to learn and understand but it provides powerful control over the
presentation of an HTML document. Most commonly, CSS is combined with the
markup languages HTML or XHTML.

Basic of CSS :

25
body {
font: normal 100% "trebuchet ms", Arial, Helvetica, sans-serif;
}
a{
color: #000000;
}
A:visited {
color: #005177;
}
a:hover {
color: #005177;
}

jQuery is a fast, small, and feature-rich JavaScript library. It makes things


like HTML document traversal and manipulation, event handling, animation, and
Ajax much simpler with an easy-to-use API that works across a multitude of
browsers. With a combination of versatility and extensibility, jQuery has
changed the way that millions of people write JavaScript.

$(document).ready(function(){
  $("button").click(function(){
   $("p").hide();
  });
});

AJAX stands for Asynchronous JavaScript and XML, it is a term that


describes a new approach to using a number of existing technologies together,
including the following: HTML or XHTML, Cascading Style Sheets, JavaScript,
the Document Object Model, XML, XSLT, and the XMLHttpRequest object.
When these technologies are combined in the Ajax model, Web applications are
able to make quick, incremental updates to the user interface without reloading
the entire browser page.

26
Syntax:

$.ajax({

url: "/api/getWeather",

data: {

zipcode: 97201

},

success: function( result ) {

$( "#weather-temp" ).html( "<strong>" + result + "</strong> degrees" );

});

4.4 SQL SERVER

4.4.1 DATABASE

Database is a systematic collection of data. Databases support storage and


manipulation of data. Databases make data management easy. Let's discuss few
examples. An online telephone directory would definitely use database to store

27
data pertaining to people, phone numbers, other contact details, etc. Your
electricity service provider is obviously using a database to manage billing, client
related issues, to handle fault data, etc. Let's also consider the facebook. It needs
to store, manipulate and present data related to members, their friends, member
activities, messages, advertisements and lot more.

4.4.2 SQL

SQL (Structured Query Language) is a standardized programming


language that's used to manage relational databases and perform various
operations on the data in them. Initially created in the 1970s, SQL is regularly
used not only by database administrators, but also by developers writing data
integration scripts and data analysts looking to set up and run analytical queries.
The uses of SQL include modifying database table and index structures; adding,
updating and deleting rows of data; and retrieving subsets of information from
within a database for transaction processing and analytics applications. Queries
and other SQL operations take the form of commands written as statements
commonly used SQL statements include select, add, insert, update, delete, create,
alter and truncate.

4.4.3 PRIMARY KEY

The primary key concept is critical to an efficient relational database.


Without the primary key and closely related foreign key concepts, relational
databases would not work.

Almost all individuals deal with primary keys frequently but unknowingly in
everyday life. For example, students are routinely assigned unique identification
(ID) numbers, and all U.S. citizens have government-assigned and uniquely
identifiable Social Security numbers. To uniquely identify customers, a column or
combination of columns is selected to guarantee that two customers never have

28
the same unique value. Thus, certain columns are immediately eliminated, e.g.,
surname and date of birth. A good primary key candidate is the column that is
designated to hold Social Security numbers. However, some account holders may
not have Social Security numbers, so this column’s candidacy is eliminated. The
next logical option is to use a combination of columns, such as adding the
surname to the date of birth to the email address, resulting in a long and
cumbersome primary key.

4.4.4 RELATIONAL DATABASE

A relational database (RDB) is a collective set of multiple data sets


organized by tables, records and columns. RDBs establish a well-defined
relationship between database tables. Tables communicate and share information,
which facilitates data search ability, organization and reporting. RDBs use
Structured Query Language (SQL), which is a standard user application that
provides an easy programming interface for database interaction. RDBs organize
data in different ways. Each table is known as a relation, which contains one or
more data category columns. Each table record (or row) contains a unique data
instance defined for a corresponding column category. One or more data or record
characteristics relate to one or many records to form functional dependencies.

4.4.5 FOREIGN KEY

One or more data or record characteristics relate to one or many records to


form functional dependencies. So foreign keys are an essential part of relational
database systems. Without foreign keys, we wouldn’t be able to match data in one
table with data from another. At least, we wouldn’t be able to match it with full
confidence that the results are correct. This is because the value of the primary
field is a unique identifier.

4.4.6 DATA ABSTRACTION

29
Database systems are made-up of complex data structures. To ease the user
interaction with database, the developers hide internal irrelevant details from
users. This process of hiding irrelevant details from user is called data abstraction.

We have three levels of abstraction:

Physical level: This is the lowest level of data abstraction. It describes how data is
actually stored in database. You can get the complex data structure details at this
level.

Logical level: This is the middle level of 3-level data abstraction architecture. It
describes what data is stored in database.

View level: Highest level of data abstraction. This level describes the user
interaction with database system.

4.4.6 ADVANTAGE OF DBMS

Reducing Data Redundancy 

This is prevented in a database as there is a single database and any change


in it is reflected immediately. Because of this, there is no chance of encountering
duplicate data.

Sharing of Data

In a database, the users of the database can share the data among
themselves. There are various levels of authorization to access the data, and
consequently the data can only be shared based on the correct authorization
protocols being followed. 

Data Integrity

30
Data integrity means that the data is accurate and consistent in the
database. Data Integrity is very important as there are multiple databases in a
DBMS. All of these databases contain data that is visible to multiple users. So it is
necessary to ensure that the data is correct and consistent in all the databases and
for all the users. 
Data Security
Data Security is vital concept in a database. Only authoriz ed users should be
allowed to access the database and their identity should be authenticated using a
username and password. Unauthorized users should not be allowed to access the
database under any circumstances as it violates the integrity constraints.
Privacy
The privacy rule in a database means only the authorized users can access
a database according to its privacy constraints. There are levels of database access
and a user can only view the data he is allowed to. For example - In social
networking sites, access constraints are different for different accounts a user may
want to access.
Backup and Recovery
Database Management System automatically takes care of backup and
recovery. The users don't need to backup data periodically because this is taken
care of by the DBMS. Moreover, it also restores the database after a crash or
system failure to its previous condition. 
Data Consistency
Data consistency is ensured in a database because there is no data
redundancy. All data appears consistently across the database and the data is same
for all the users viewing the database. Moreover, any changes made to the
database are immediately reflected to all the users and there is no data
inconsistency.

4.4.7 DISADVANTAGE OF DBMS

Increased costs

31
One of the disadvantages of DBMS is Database systems require
sophisticated hardware and software and highly skilled personnel. The cost of
maintaining the hardware, software, and personnel required to operate and manage
a database system can be substantial. Training, licensing, and regulation
compliance costs are often overlooked when database systems are implemented.

Management complexity

Database systems interface with many different technologies and have a


significant impact on a company’s resources and culture. The changes introduced
by the adoption of a database system must be properly managed to ensure that
they help advance the company’s objectives. Given the fact that database systems
hold crucial company data that are accessed from multiple sources, security issues
must be assessed constantly.

Maintaining currency

To maximize the efficiency of the database system, you must keep your
system current. Therefore, you must perform frequent updates and apply the latest
patches and security measures to all components.

Frequent upgrade/replacement cycles

DBMS vendors frequently upgrade their products by adding new


functionality. Such new features often come bundled in new upgrade versions of
the software. Some of these versions require hardware upgrades. Not only do the
upgrades themselves cost money, but it also costs money to train database users
and administrators to properly use and manage the new features.

CHAPTER 5

32
PROJECT DESIGN

5.1 SOFTWARE ENGINEERING PARADIGM APPIED

The two design objectives continuously sought by developers are


reliability and maintenance.

5.1.1 Reliable System

Design of reliable systems meeting stringent quality, reliability, and


availability requirements is becoming increasingly difficult in advanced
technologies. The current design paradigm, which assumes that no gate or
interconnect will ever operate incorrectly within the lifetime of a product, must
change to cope with this situation. Future systems must be designed with built-in
mechanisms for failure tolerance, prediction, detection and recovery during
normal system operation.

These practices, collectively referred to as design for reliability, improve


reliability through design in several ways:

• They ensure that the supply-chain participants have the capability to


produce the parts (materials) and services necessary to meet the final reliability
objectives and that those participants are following through.

• They identify the potential failure modes, failure sites, and failure
mechanisms.

• They design to the quality level that can be controlled in manufacturing


and assembly, considering the potential failure modes, failure sites, and failure
mechanisms, obtained from the physics-of-failure analysis, and the life-cycle
profile.

• They verify the reliability of the system under the expected life-cycle
conditions.

33
• They demonstrate that all manufacturing and assembly processes are
capable of producing the system within the statistical process window required by
the design. Because variability in material properties and manufacturing processes
will affect a system’s reliability, characteristics of the process must be identified,
measured, and monitored.

• They manage the life-cycle usage of the system using closed loop, root-
cause monitoring procedures.

5.1.2 MAINTANENCE

Maintenance is the process of modifying an information system to


continually satisfy organizational and user requirements. There is a vast difference
between hardware and software maintenance in costs as well as in objectives.

Hardware maintenance - the purpose of maintaining computer system


hardware is to keep the equipment in working order without changing its
functionality. Traditionally, this aspect of system maintenance has been covered
by maintenance contracts with equipment manufacturers.

Systems maintenance - the principal effort in system maintenance is


directed at maintaining the applications software. Software maintenance includes
all modifications of a software product after it has been turned over to operations.
The cost of this maintenance over the useful life of an application is typically
twice the development cost.

5.2 OUTPUT DESIGN

The design of output is the most important task of any system. During
output design, developers identify the type of outputs needed, and consider the
necessary output controls and prototype report layouts.

5.2.1 OBJECTIVES OF OUTPUT DESIGN


The objectives of input design are:

34
 To develop output design that serves the intended purpose and eliminates
the production of unwanted output.
 To develop the output design that meets the end users requirements.
 To deliver the appropriate quantity of output.
 To form the output in appropriate format and direct it to the right person.
 To make the output available on time for making good decisions.

5.2.1 OUTPUT MEDIA

In the next stage it is to be decided that which medium is the most


appropriate for the output. The main consideration when deciding about the
output media are:

 The response time required.


 The need for a hard copy.
 The location of user.
 The software and hardware available.

5.2.3 TYPES OF OUTPUT

Whether the output is formatted report or a simple listing of the contents


of a file, a computer processes will produces the output.

 A document
 A message
 Retrieval from data store.
 Directly from output source.
 Transmission from a process or system activity.

5.3 INPUT DESIGN

35
In an information system, input is the raw data that is processed to produce
output. During the input design, the developers must consider the input devices
such as PC, MICR, OMR, etc. Therefore, the quality of system input determines
the quality of system output. Well-designed input forms and screens have
following properties:

 It should serve specific purpose effectively such as storing, recording, and


retrieving the information.
 It ensures proper completion with accuracy.
 It should be easy to fill and straightforward.
 It should focus on user’s attention, consistency, and simplicity.

5.3.1 INPUT STAGE

The main input stage can be listed below:

 Data recording
 Data transcription
 Data conversion
 Data verification
 Data control
 Data transmission
 Data validation
 Data correction

5.3.2 INPUT TYPES

It is necessary to determine the various types of inputs. Inputs can be categorized


as follows:

36
 External Input
 Internal Input
 Operational Input
 Interactive Input

5.4 LAYOUT DESIGN

Design layout is the organization of text and images on a web page, poster,
book or two-dimensional page. Web designers and graphic designers apply
graphic design principles and typography to organize, or lay out, the contents of a
page. Composing a design layout also helps organize the text and images into a
easily understood hierarchy of information.

According to Creative Bloq, a design website for graphic designers, the


primary objective of a design layout is to communicate information clearly and
effectively to readers. One of the best ways to do this is to create a balanced
layout, which ensures the key information is delivered effectively.

5.5 NORMALIZATION

Database Normalization is a technique of organizing the data in the


database. Normalization is a systematic approach of decomposing tables to
eliminate data redundancy (repetition) and undesirable characteristics like
Insertion, Update and Deletion Anomalies. It is a multi-step process that puts data
into tabular form, removing duplicated data from the relation tables.

Normalization is used for mainly two purposes:

 Eliminating redundant (useless) data.


 Ensuring data dependencies make sense i.e data is logically stored.

37
First Normal Form:

If a relation contain composite or multi-valued attribute, it violates first normal


form or a relation is in first normal form if it does not contain any composite or
multi-valued attribute. A relation is in first normal form if every attribute in that
relation is singled valued attribute

Second Normal Form

To be in second normal form, a relation must be in first normal form and relation
must not contain any partial dependency. A relation is in 2NF iff it has No Partial
Dependency, i.e., no non-prime attribute (attributes which are not part of any
candidate key) is dependent on any proper subset of any candidate key of the
table.

Third Normal Form

A relation is in third normal form, if there is no transitive dependency for non-


prime attributes is it is in second normal form.

A relation is in 3NF if at least one of the following condition holds in every non-
trivial function dependency X –> Y

X is a super key. Y is a prime attribute (each element of Y is part of some


candidate key).

5.5.1 TRANSITIVE DEPENDENCY

A transitive dependency in a database is an indirect relationship between


values in the same table that causes a functional dependency. To achieve the
normalization standard of Third Normal Form (3NF), you must eliminate any
transitive dependency.

38
By its nature, a transitive dependency requires three or more attributes (or
database columns) that have a functional dependency between them, meaning that
Column A in a table relies on Column B through an intermediate Column C.

5.5.2 DATA DICTIONARY

A data dictionary is a file or a set of files that contains a database's


metadata. The data dictionary contains records about other objects in the database,
such as data ownership, data relationships to other objects, and other data.
The data dictionary is a crucial component of any relational database. Ironically,
because of its importance, it is invisible to most database users. Typically, only
database administrators interact with the data dictionary.

5.6 ER- DIAGRAM

An entity-relationship diagram (ERD) is a data modeling techniques that


graphically illustrates an information system’s entities and the relationships
between those entities. An ERD is a conceptual and representational model of data
used to represent the entity framework infrastructure.

The elements of an ERD are:

 Entities
 Relationships
 Attributes

Steps involved in creating an ERD include:

 Identifying and defining the entities.


 Determining all interactions between the entities.
 Analyzing the nature of interactions/determining the cardinality of the
relationships.

39
Fig:-ER Diagram

5.7 DATA FLOW DIAGRAM

40
A picture is worth a thousand words. A Data Flow Diagram (DFD) is
traditional visual representation of the information flows within a system. A neat
and clear DFD can depict a good amount of the system requirements graphically.
It can be manual, automated, or combination of both.

It shows how information enters and leaves the system, what changes the
information and where information is stored. The purpose of a DFD is to show the
scope and boundaries of a system as a whole. It may be used as a communications
tool between a systems analyst and any person who plays a part in the system that
acts as the starting point for redesigning a system.

Fig:-Context Diagram

A system context diagram (SCD) in system development life cycle is a diagram


that defines the boundary between the system, or part of a system, and its
environment, showing the entities that interact with it. This diagram is a high level
view of a system. In the case of context diagram there involve only one process
that indicates by circle.

41
Fig: - Data Flow Diagram for admin

Fig: - Data Flow Diagram for user (consumer)

42
CHAPTER 6

SCREENSHOTS

Fig: - Home page

Fig:-Product brands

43
Fig:-Products

Fig:-Category list

44
Fig:-Login & Register

Fig:-Place order & order

45
Fig:- Admin login

Fig:-Dashboard

46
CHAPTER 7

PROJECT TESTING

7.1 BLACKBOX TESTING

Black box testing, also known as Behavioral Testing, is a software testing


method in which the internal structure/design/implementation of the item being
tested is not known to the tester. These tests can be functional or non-functional,
though usually functional.

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

7.1 WHITEBOX TESTING

White box testing (also known as Clear Box Testing, Open Box Testing, Glass
Box Testing, Transparent Box Testing, Code-Based Testing or Structural Testing)
is a software testing method in which the internal structure/design/implementation
of the item being tested is known to the tester. The tester chooses inputs to

47
exercise paths through the code and determines the appropriate outputs.
Programming know-how and the implementation knowledge is essential. White
box testing is testing beyond the user interface and into the nitty-gritty of a
system.

This method is named so because the software program, in the eyes of the tester,
is like a white/transparent box; inside which one clearly sees.

7.1.1 TYPES OF WHITE BOX TESTING

Unit Testing:

The developer carries out unit testing in order to check if the particular
module or unit of code is working fine. The Unit Testing comes at the very basic
level as it is carried out as and when the unit of the code is developed or a
particular functionality is built.

Static and dynamic Analysis:

Static analysis involves going through the code in order to find out any
possible defect in the code. Dynamic analysis involves executing the code and
analyzing the output.

Statement Coverage:

In this type of testing the code is executed in such a manner that every
statement of the application is executed at least once. It helps in assuring that all
the statements execute without any side effect.

Branch Coverage:

No software application can be written in a continuous mode of coding, at


some point we need to branch out the code in order to perform a particular
functionality. Branch coverage testing helps in validating of all the branches in the

48
code and making sure that no branching leads to abnormal behavior of the
application.

Security Testing:

Security Testing is carried out in order to find out how well the system can
protect itself from unauthorized access, hacking – cracking, any code damage etc.
which deals with the code of application. This type of testing needs sophisticated
testing techniques.

Mutation Testing:

A kind of testing in which, the application is tested for the code that was
modified after fixing a particular bug/defect. It also helps in finding out which
code and which strategy of coding can help in developing the functionality
effectively.

7.1.2 ADVANTAGES OF WHITE BOX TESTING ARE:

 As the knowledge of internal coding structure is prerequisite, it becomes


very easy to find out which type of input/data can help in testing the
application effectively.

 The other advantage of white box testing is that it helps in optimizing the
code

 It helps in removing the extra lines of code, which can bring in hidden
defects.

7.1.3 DISADVANTAGES OF WHITE BOX TESTING ARE:

 As knowledge of code and internal structure is a prerequisite, a skilled


tester is needed to carry out this type of testing, which increases the cost.

49
BIBLOGRAPHY

1. PHP & MySQL Web Development – by Luke Welling & Laura


Thompson
2. IT Project Management Book by Joseph Phillips
3. System Analysis and Design by V.K Jain
4. www.wikipedia.com
5. www.w3schools.com
6. www.stackoverflow.com
7. www.tutorialspoint.com

50

You might also like