Sie sind auf Seite 1von 93

Kishor Bhattarai Computing Project 00169803

Acknowledgement:
Following project on E-shop is done for the completion of 2nd year course of BIT. I would like
to thank to every single indivisual for helping me complete this research through this letter.
This is a good opportunity to express my gratitude towards my fellow individuals for giving me
a direction to complete the project.
I express my respect towards NCC Education for letting me this chance to research in this
paaticular field, to complete my Bachelor in IT course. Firstly, my grateful thanks goes to
Softwarica College of IT and E-Commerce for enrolling me in this curriculum. In addition to
that, I owe a huge respect and thankfulness to Mr. Sudeep Lal Bajimaya for his mentor-ship
and his sincere guidance during the process of this research.
I would like to show my gratitude to Mr. Pramod Poudel(Campus chief of Softwarica
College of IT and E-Commerce) along with Mr. Sudeep Lal Bajimaya( My course tutor) for
having me as a student and encouraging me for this project.
At last, I would like to express my gratitude to every individuals who have contributed to this
project including my mentor (Mr.Sudeep Lal Bajimaya), (Mr. Pramod Poudel) who have
supported me for the completion of the project.
Thank you.
Kishor Bhattarai
Softwarica College of IT and E- commerce

Abstract:
E-Shop is a web application which helps users to surf the web for the different kinds of
products available in the shop. Today is the time of digitization, E-shop plays a additional role
to contibute to the digital world. Nowadays, people are living a cozy life where they want
every thing on their doorsteps, E-shop helps people to buy products online which is delivered
by the staffs of E-shop. User can choose the products based on their preference, category
and brand. E-shop is a digital platform for the supermarket. User can add list of items to the
cart and continue their shopping. Further description of the project will be described
following..
For the completion of the project I have used different Programming skills like PHP, CSS,
HTML, JAVASCRIPT, MYSQL and interfaces like XAMPP, NOTEPAD etc.
Following are the keywords to be found in the documentation.
XAMPP, HTML, CSS, PHP, ORACLE, DFD, SSADM, MYSQL

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Introduction
E-shop (Elite Shop) is a mart established in 2017 A.D with government authorization to
legally run through the area. In its starting phase, it was established with a less number of
products and few brands. Looking at its scope now, it is now reachable to large number of
people. This project is conducted to overcome the physical boundary of the mart, where
people have to visit store in order to buy their products.

Chapter 1
1.1 Project Introduction
E-shop is mart with good amount of products which people can filter through, currently it is
growing its business strategies. There are 7 staffs twenty four seven to accept the order and
provide best service to the people. This web based system offers customer to buy products
sitting at home. For shopping, customer has to register and choose their desired products and
add them to cart. After that, customer has to add the shipping address where the product
should be delivered and that’s all, the shopping is done. The ordered product will arrive at the
doorstep for the following customer. Since, old style shopping, one where we should go at the
physical store is more time unefficient E-Shop has done its best to mitigate that problem.

1.2 Background of the project


From the establishment of the project, E-shop is a manual mart where people come by
choose their product, pay money and set off. This manual process is quiet unconvenient in
this digital world. Nowadays people feel unnecessary to visit a store for buying stuffs since
their choice arrives at their doorsteps with just a few clicks. So, in order to overcome the
situation, E-shop has decided to formulate a E-commerce website where every shopping can
be done with clicks without having customers to visit physically. This step also saves
company’s warehouse space which eventually saves money. Regardless of time, E-shop can
give their customer satisfaction.

1.3 Overview of the design


E-shop web app was formulated to enhance the performance of its physical store and give
customer the satisfaction they get by shopping online. Using E-shop customer can choose
their product, add their products to the cart and check out. For using E-shop one must create
E-shop account by registering and logging in, and after choosing their desired products they
must enter the shipping address in order to check out. Following features are included in E-
shop :
 User can create E-shop account by registering
 user can log in to the system

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

 Registered user can place an order


 Registered user can cancel their order
 user can contact E-shop
 user can view their shopping list
 user can modify heir shopping list
 Admin can view and finalize an order
 admin can manage the products
 Admin can update or modify the order
 Admin can print the invoice for the order
 Admin can contact the customer immideiately

1.4 Aims and Objectives


E-shop has formulated a plan to facilitate its costumer and gain new stakeholders through E-
shop web platform. This system plays a vital role in growing Elite Shop’s business and
encouraging its customer. E-shop has step into the modern digital world with certain aims and
objectives for growing its customers.
1.4.1 Aims:
Following are the aims of the company:
 The main aim is to formulate and establish a web based system of an E-commerce for
E-shop
 To create a interactive interface for the customers
 To increase the company’s revenue.
 To maintain and develop company standard by launching a web based system.
1.4.2 Objectives:
Following are the main objectives of E-Shop:
 Generating a user friendly web based platform for shopping
 To reduce the time and effeciency of the customers.
 Contribute to the modern digital world.
 Displaying every possible products

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

 Making user more conscious towards online shopping.

Chapter 2 : Analysis
2.1 Introduction:
Analysis is the process for formulating information by breaking the core information into
several parts. It may include many approach with breaking and brainstorming the ideas.
Analysis defines the output. If the analysis is done properly, the risk of project failure is
minimum. It covers the initial phase of the project. Below are the analysis for E-shop
presented into discrete form:

2.2 Requirement Gathering Techniques:


There are several requirement gathering techniques, the most popular ones are listed below:
 Survey
 Prototyping
 Observation
 Questionnaires
 Group discussion
 reverse enginering
 Documentation analysis
 Brain Stroming
 One-on-one interview
Due to our limited resource I have conducted following techniques-for-gathering-
requirements:
 Questionnaires
 Group Discussion
 Documentation Analysis
Questionnaires: For this, I have made two sets of the questions, one is a MCQ (Multiple
Choice Questions) and the other is free sets of questions. These questions helps to collect
data from different perspectives. The first set contains of fixed set of answers where one has
to choose between the answers and the second one only contains questions where one has
to answer manually.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Group Discussion: due to our tight schedule I preferred group discussion over one on one
interview. During a project timing is a core factor. The general outcome of the one on one
interview can be predicted through group discussion. This technique gives me the overall idea
on how people are not satisfied with the current system. This helps in developing the
functionality of the system.
Documentation Analysis: Current documentation on the system helps to determine a core
value and other requirements of the system more efficiently. Analyzing the system from the
pre existed documentation makes the process easier and gives fact about the system.

2.3 Feasibility Study


The study to identify the certain criteria whether thr project comes under feasible or
compatible boundary done is known as feasibility study. It covers the problems for the project
and solutions to the problems. Many ideas comes handy during this study. Feasibility study
should be conducted properly for the good will of the project.
I have listed the importance of feasibility study in a project:
 The requirements which consists of the project work are formulated.
 Feasibility works as a strong pillar for the business plan.
 It identifies the problems related to the shopping criteria and finds out the possible
solutions.
Feaasibility study has its own fundamental components which are described below:
Social Feasibility: This study is about the acceptance about the project to the real world.
This study focuses on making the system as simple and as easy as possible. If the the
system is complex, the probability of system working on the real world is low.
Technical feasibility: This study provides us with the problems realeated to technical issues,
some of them might be, the management of products and its brand, the management of
Orders done by the customers.
Scheduling feasibility: This study is taken as one of the main factor to effect our project.
Since, time is the key part of our project, it determines whether the project is successful or
not. If the time factor is neglected, no matter how good the project will turn out, it is
considered as a failure. In addition to that, a precise timeframe should be generated for the
different phase of the project development.
Financial Feasibility: This study is all about the cost factor in our project. It is mostly
discussed at the beginning of the project. Once it is fixed, it rarely changes. But one thing I
would like to mention is, the longer the project exceeds, the costlier it becomes.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Legal Feasibility: This study mainly focuses on the overall system and its legal acceptance
by the government. Government has a set of rules for a system to be public, if the system
outlaws the rule, the system is considered to be failure. This study may vary from one country
to another.

2.4 Analysis Methodology


I have selected Hard Approach to Information System Analysis for the analysis
methodology and among it’s types I have chosen SSADM ( Structured Systems Analysis
and Design Methodology ).
SSADM:
 In UK it is widely used computer application development method.
 This is a water fall method.
 It helps to get the precise output information when handled sincerely and also well
documented system.

Pros of Using SSADM:


 This is a waterfall method so each step are required to be terminated for ongoing
process into next one which proves that each tasks are accomplished.
 The goal confined by each step is to measure the aggression.
 It is determined by sheer management and scheming.

Cons of Using SSADM:


 There is mediocre number of user concerned in the project as its standpoint is on
technical requirements.
 It is likely to be costly to renew the requirement stages or impossible to return if the
requirements are incorrect or altered while the order of development of the system.
 It might possibly take tedious amount of time to liberate than other.
2.4.1 Steps of SSADM
In order to create well-documented and precise system there are confined steps in SSADM.
The required steps are:
 Feasible Study:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Study is conducted so as to determine if the project is budget friendly or


not, therefore financial, social and technical possibility are demonstrated and decided.
 Analysis and Requirement Specification:
Now the research is conducted on the environment system. The
requirements are specified and analyzed. And also modeling is performed on the
present business, Logical data structure and Modeling DFD (Data Flow Diagram).It’s
motive is to achieve the system events, data and functions and so on. Prototyping are
used for the development of the HCI.
 Design:
Diagram is designed under the consideration of the aspects like back-
end and front-end. Technical and logical system specification is used to produce a set
of program specification and physical database design.
 Implementation:
The system is executed in the firm after the completion of the project in
the direct or indirect way or just the application of the system till the beginning of the
new system.
 Testing:
In order to know the proper functionality and the work effectivity of the
system, the system is tested after the completion of the development of the system of
the project.
 Documentation:
After the completion of the project, it is documented consequently.

2.4.2 DFD (Data Flow Diagram)


The moment of the data on the system is represented through a diagram which is known as
Data Flow Diagram (DFD). It consists of the data within the system, data entered to the
system and the output and storage of the data with the system.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

DFD for User-1:

DFD For User-2

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

The above diagram is DFD for customer. As in the figure user fills the registration form, then
the data is checked for validation, if the data isnt valid the message will appear and user
should re fill the registration form, if the data is valid, the data is transferred to the database
and stored. The stored data is passed to the registration form and hence the registration
complete message is appeared and the user can now login into the system. Once the user is
registered, he/she can login into the system and order their desired products. Once they click
the products there will be the option for buying, if the user clicks on buy the product is
transferred into the cart. To complete the ordering user must check out with the shipping
address. Once the user completes the check out, the order is transferred into the admin.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

DFD for Admin

The above figure is DFD for admin. For admin access the user must request the login panel
by entering the URL. Once the login appears, the admin must enter the email and password.
After that, the dashboard is opened. In the dashboard there will be CRUD for products, Brand
and category and there will be a panel for order management. For the products, Brand and
the category admin can perform all the CRUD functionality. And for the management of order,
admin can first view the order list from different customers. Then admin can accept the
pending orders, in addition to that admin can view individual order by selecting one. The
admin can also download the invoice for the order by clicking the download button.
2.4.3 Hard approach to information System Analysis
I preferend hard approach to the information System Analysis over Soft approach. The reason
for choosing hard approach to system analysis are listed below:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

 it mainly focuses on the technical requirement of the system.


 Requirements are precise.
 Steps should be completed to progress to another level which is simple.
 It is similar to waterfall modeling.

2.5 Software/System Requirements Specification:


It is the documented form of overall system which is to be developed. It consists of all the
requirements for the system. In addition to that it gives us the idea of how acutal system is
going to perform in the document form. It consists of both functional and the non functional
requirements. The importance of the SRS is listed below:
 it works as bridge between user requirements and the developer.
 It is considered as the effective way of understanding the requirements.
 The development is based on the SRS.
The qualities of the SRS to be mentioned are listed below:
 Unambiguous.
 Ranked for importance and /or Sustainability.
 Complete.
 Correct.
 Traceable.
 Verifiable.
 Modifiable.
 Consistence.
2.5.1 Functional Requirements:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

2.5.2 Non-functional Requirements:

2.6 Use-Case:
For identifying and analyzing the system we use use case diagram. Use case is a graphical
representation of interaction between the system components and the components consists
of four different elements which are listed below:
Use cases: Use case defines the actions or task done by the Actor of the system. They are
represented through ovals.
Actor: Actors are the one who interact with the system. They might be human or a different
system who get involve in the system to feed the necessary data to the system. They are
generally represented by a stick figure.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Relationship: Relation in use case are the bridge factor between Actor and the use cases.
They define the relation between the actor and their use-case. They are represented through
lines.
System Boundary: It is the certain frame where the system operates. The workflow of the
system are inside the system boundary.
Use case for Customer-1.

Use Case of customer 1:


 customer can request the registration page and complete the registration
 Customer can login into the system
 Customer can view individual products
 Customer can buy the products
Use case for customer-2:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Use case for Customer 2


 once the customer is logged in, he/she can view the products available
 He/she can add multiple products by using the cart
 He/she can change and cancel the list.
 He/she can view the details of their order.

Use case for Admin

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Use case for Admin:


 Admin can login into the system by requesting the admin login form.
 Admin can manage the order.
 Admin can manage the products
 Admin can manage the brands
 Admin can manage the category

2.7 Prioritization:
Prioritization basically means setting the most used and least used functionality of the system
in an order. The functionality of the system are not distributed evenly, some of them are used
in many case and some are least used. Putting them ni hierarchical order makes us easier to

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

understand the system. For the prioritization, MoSCoW prioritization is used. Must Have,
Should Have, Could Have, Wont have terms are used in this prioritization.
Must have: The requirement which should be strictly followed comes under must have.
Should have: The requirement that are important to the system but can be accommodated
comes unde Should have.
Could have: The requirement which we want but isn’t really necessary to the system comes
under Could have.
Won’t have: The requirement which aren’t included in the system comes under Won’t have.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

2.8 Natural Language Analysis (NLA):


Elite Shop currently established as a department store/ mart for different products is willing
to develop a e-commerce website (E-Shop) for its customer reach and business expansion.
Currently all the shopping is done manually by visiting the store, the shop is not satisfied with
its business standards and has thought to expand it rapidly. With the system, customer can
place an order to the products by sitting in home and the product is delivered to the desired
place. For this, customer must register into E-shop login and choose the product and
checkout with the shipping details. After that the shop will call the customer for the delivery of
the products.
The candidate classes are listed below:
 Client
 Order
 Brand
 Category
 Products
 Cart
 Checkout
 register
 login

2.9 Software and hardware requirements:


Following are the requirements for using E-shop
Software requirements: Windows/Mac/Linux, Chrome/ firrefox/ other browsers, PDF reader,
etc.
Hardware requirements: Monitor, CPU with basic system(4 GB ram or above), mouse,
keyboard, etc.

3. Design:
Design is the process in which all the gathered information on requirements are tranfored into
a understandable form to implement code for the live system. Design helps the developer to
understand the requirements for coding. Design can be categorized into different forms. All
the information form the design are hand over to the developer. I have mentioned the
importance of the design below:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

 It helps to understand the requirements properly.


 It helps to reduce the risk of system being failure.
 It helps to increase the resuagebility and reduce the redundancy in the system.
The design phase is further classified into three types:
 Structural model
 Behavioral model
 Database model

3.1 Structural Model


This module consists of organization of the components for making the system and its
relationship. Basically this model is static with the structure of the system design. It is
formulated during the planning of system archetecture. It is furthermore cateriozed into seven
diagrams which are mentioned below:
 Class Diagram
 Component Diagram
 Component structured diagram
 deployment diagram
 Object Diagram
 Package Diagram
 Profile Diagram
3.1.1 Class Diagram
The static diagram which gives us the knowledge of the structure of the system with the help
of classes and their attributes and the operation of the system along with their relation. There
are two phase of the class diagram and they are:
Initial Class Diagram

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Final Class Diagram

The reason for using the class diagram in the system are listed below:
 It contains operations and attributes of the system.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

 It can directly be mapped with Object-Oriented Programming.

3.1.2 Rich Picture


It is a diagram to relate our idea for providing solutions by linking series of contents to the
system. It is basically brainstorming ideas into a pictorial form for the understanding of the
system.

The above rich picture is for the E-shop, where user can view and order products by entering
the shipping details. Admin can add, update and delete desired Products, Brands and
Categories. In addition to that, admin can also manage order and print the invoice of the
order.
Reason for using the Rich Picture are given below:
 it gives basic knowledge of the system

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

 it is easier to express our ideas through a picture.


 It is simply hand made.

3.2 Behavioral Model:


This model provides us with the information of controlled structure of the system. It is a
dynamic model which consists of Object Interaction, Object states and Sequence of
Operation. It has several number of diagram which are listed below:
 Activity Diagram
 state machine diagram
 Use-case Diagram
 Interaction Diagram( Sequence Diagram, Communication Diagram, Timing Diagram)
3.2.1 Activity Diagram:
Activity diagram is a dynamic form of flow-chart, it visually represents the flow of control in the
system or the series of action in the system. Activity diagram consists of flow of action which
may be in a sequence or can be concurrent. Many elements come under activity diagram
such as decisions, time events, flow of the control, etc.
The screenshot of the symbols used in the activity diagram is listed below:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Activity diagram for the admin

The above figure is activity diagram for the admin of the system. For admin access the user
must request the login panel by entering the url. Once the login appears, the admin must
enter the email and password. After that, the dashboard is opened. In the dashboard there will
be CRUD for products, Brand and category and there will be a panel for order management.
For the products, Brand and the category admin can perform all the CRUD functionality. And
for the management of order, admin can first view the order list from different customers.
Then admin can accept the pending orders, in addition to that admin can view individual order

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

by selecting one. The admin can also download the invoice for the order by clicking the
download button.

Activity Diagram for the user

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

The above figure is activity diagram of the user in the system. As in the figure user fills the
registration form, then the data is checked for validation, if the data isnt valid the message will
appear and user should re fill the registration form, if the data is valid, the data is transferred
to the database and stored. The stored data is passed to the registration form and hence the
registration complete message is appeared and the user can now login into the system. Once
the user is registered, he/she can login into the system and order their desired products.
Once they click the products there will be the option for buying, if the user clicks on buy the
product is transferred into the cart. To complete the ordering user must check out with the
shipping address. Once the user completes the check out, the order is transferred into the
admin.

3.2.2 Sequence Diagram


The diagram showing the work flow of the operation is known as sequence diagram. It is one
of the popular diagram for dynamic modeling. The interaction between the classes are
presented as the the message over time and are called events. This diagram is a proper way
of describing different scenarios of the flow of the system over run time.
The screenshot of the symbols used in sequence diagrams are given below:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Sequence diagram for registration

The above figure is the sequence diagram for registration process. In the above diagram,
user fills the registration form, then the data is checked for validation, if the data isnt valid the
message will appear and user should re fill the registration form, if the data is valid, the data is
transferred to the database and stored. The stored data is passed to the registration form and
hence the registration complete message is appeared and the user can now login into the
system.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Sequence Diagram for Login

The above sequence diagram is for logging in to the system. For this, user must already be
registered into the system. For logging in user requests login form by clicking on login form.
Then the user enters the login data. Once the data is entered system checks the data from
the database and processes the data, if the data is invalid, the login will not be completed and
error message is shown, if the data is valid the user can login into the system.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Sequence
diagram
for Order

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

The above diagram is sequence diagram for ordering. Once the user is registered, he/she can
login into the system and order their desired products. Once they click the products there will
be the option for buying, if the user clicks on buy the product is transferred into the cart. To
complete the ordering user must check out with the shipping address. Once the user
completes the check out, the order is transferred into the admin.

Sequence diagram for Admin

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

The above figure is the sequence diagram for admin. For admin the user must request the
login panel by entering the url. Once the login appears, the admin must enter the email and

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

password. After that, the dashboard is opened. In the dashboard there will be CRUD for
products, Brand and category and there will be a panel for order management. For the
products, Brand and the category admin can perform all the CRUD functionality. And for the
management of order, admin can first view the order list from different customers. Then admin
can accept the pending orders, in addition to that admin can view individual order by selecting
one. The admin can also download the invoice for the order by clicking the download button.
The reson for using sequence diagram in this project are given below:
 Every operations can be viewed in sequential order.
 The use cases can be visualized in this diagram.

3.3 Database Model


This model gives us the idea of all the procedures for the database of our system. Database
are first analyzed and then designed. This model helps in designing and maintenance of the
database. If the database isnt formulated properly, the system may not be reliable. In this
model, a database is designed through ER diagram.
3.3.1 ER Diagram:
This diagram helps to propose the database system for our system. In this diagram entities
are created which can act as a table in the real scenario and the entities are joined using a
relationship. A normalized form of data dictionary is considered to be a fundamental factor for
a ER diagram. It is created through a technique known as data modeling technique.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

The above given E-R diagram consists of eleven entities six of them for the main table and
five of them for the joining propose. The in between lines are the relationship between the
entities. The customer entity consists of the details about the customer. The order entity
consists of the order made by the customers. The customer_order entity is for joining
customer and order entity. The product entity is for the details about the products which
consists of the brand name and category name taken from the brand and category entity
respectively. The category and product is joined by category_product whereas the brand and
the product is joined by the brand_product entity. The order details entity consists of overall
details of the order including the product information and amount for customer and the
shipping details. The order details and the product entity is joined by product_order entity. And
the order and order details is joined by order_OrderDetails entty.

3.3.2 Data Dictionary:


Data dictionary is the term used to define the data and its composition. It defines the actual
database system. It may consist of name, data type, length of a precise data and many more.
It is mostly used to give a structure to the database system and maintaining the database in
the large system. Since it contains fundamental data for a database system it is hidden form
the general uses whether by an encryption technique.

1. Data dictionary for customer table

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

2. Data Dictionary for order details table

3. Data dictionary for products table

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

4. Data dictionary for order table

5. Data dictionary for order_customer table

6. Data dictionary for Brand table

7. Data dictionary for Category table

8. Data dictionary for brand_product table

9. Data dictionary for category_product table

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

10. Da
ta
dictionary
for product_order

11. Data Dictionary for Order_OrderDetails

In the above screenshot of the data dictionary, there are six columns, which describes the
data name, data types, length, nullability, key and the constraints of the table. The column
name determines the data names, the type determines the type of data whether integer or
etc, the the null explains whether the is null or not, the key determines the field is primary key
or foreign key or none of them and the constraint provides the constraints name.
The importance of the database in the system is given below:
 the data dictionary provides us with a clear information on databases
 A developer can clearly understand the database through the data dictionary
 The database is difficult to understand because it is very huge. Hence, data dictionary
helps us to retrieve all the information of database in a system.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

3.4 UI Design:

Chapter 4 Coding
Coding refers to the creation of computer programming code. It is the language of the
computer. Computer programming or coding is the process of developing software i.e. the
language which is further used for the development of websites and computer applications
etc.
Coding is the way for the connection between computers and humans. In this internet age
every latest technology that we are utilizing are the product of coding. For example;
Skype,Yahoo etc.

4.1 Importance of Coding


There are many importance of coding in this internet era. Few of them are listed below:
 For the better productiveness of the programs and the applications.
 It can be used relatively for creating projects.
 The applications created by coding are more authentic.

4.2 Tools Used


For the completion of my project different tools were used and for the coding purpose I have
used certain tools which help me to reach my goal and they are:
 Xampp
 Phpstorm

4.3. Language Used


In this project I have used style sheet language as well as markup language with other
different computer languages for the coding design. They are:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Style sheet language


 CSS
Markup language
 HTML
Programming language
 JavaScript
 PHP

Chapter 5 Testing:
The estimation of the software on the basis of the requirements which were collected from the
specifications and the user is conducted. Testing is done at the project or the phase level in
the software development cycle. It involves verification and confirmation.

5.1. Software validation:


It is the way of determining if the software has fulfilled the requirements of the user or not
during the course of development of the software which is executed at the terminal of the
SDLC.

5.2. Software verification:


The testament on the requirements of the software on the basis of the accurate specifications
and reliable methodologies is the Software verification.

5.3. Targets of the tests:


The three different targets of tests among various targets of tests are as described below:
 Errors:
The variations in the required output and the output provided by the software and also the
mistakes conducted by the developers when creating code leads to error.
 Failure:
The error in the system causes indigence in the performance of the system which is the
root cause of failure.
 Fault:
Fault is the cause of failure of the system. The presence of error is the occurrence of
fault. It is also called as bug.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

5.4. Testing process types:


By the help of automated testing tool, testing can be conducted automatically or manually.

5.4.1. Automated testing:


The testing which is done with the help of automated testing tools is known as Automated
testing. It helps in demolishing the restrictions on manual testing.

5.4.2. Manual testing:


The testing which is conducted without any use of automated testing tools is known as
Manual testing.
It takes more time amount and the resource than automated testing process.

5.5. Types of testing


The two types of testing are listed below:
 Dynamic testing
 Static testing

5.6. Static Testing


The testing of the system without testing the code is known as the Static testing. It contains
two parts. They are:
 Static analysis:
It is the evaluation of the code written by the developer for structural flaws which in turn
may be the cause for glitch.
 Review:
It is done for searching the errors in documents and for the exclusion of the problems
like design, test cases and requirements etc.

5.7. Dynamic Testing


The dynamic behavior of the system is verified by using this method. There are two types of
dynamic testing, they are:
 White box testing:
The testing of the internal structure of the system or the working of the system is called
White box texting. It is also known as clear box, open box or glass box testing.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

 Black box testing:


The testing of the functionality of the system is called Black box testing. It doesn’t
require for the observation of the working of the system.
There are two types of this testing. They are:
 Non- functional
The testing which is focused on the non-functional requirements like performance,
memory leaks and robustness etc rather than the functional specifications of the
system is known as Non-functional testing. It consists:
 Security testing
 Stress testing
 Reliability testing
 Performance testing
 Compatibility testing
 Functional
The testing which is focused on the functional aspects of the system is known as
Functional testing. It consists of the following testings:
 Acceptance testing
 Interface testing
 Unit testing
 System testing
 Integration testing
 System testing
For the testing of my system, I have used Black box testing.

5.8 Black Box Testing:

Test 1: Registration.
Test ID: 1.
Testing Title: Register Testing Test Planned Date: 2019-apr-5

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test Priority (High/Medium/Low): High Test Executed BY: Kishor


Bhattarai Test Completing Date:
2019-apr-5

Pre- condition: User should enter the form


Dependency: User must be able to login after successful registration

Post-Condition: Admin can now login to the system.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test 2: Login Testing.


Test ID: 2.
Testing Title: Login testing Test Planned Date: 2019-apr-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor
Bhattarai Test Completing Date:
2019-apr-5

Pre-Condition: User must be registered


Dependency: User should enter login credentials

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Post-conditions: User must be logged in.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test 3: Add to cart test.


Test ID: 3.
Testing Title: Add to cart Test Planned Date: 2019-apr-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor Bhattarai
Test Completing Date: 2019-apr-5

Conditions: Products must be available


Dependency: User must be logged in

Po
st-condition: Use can select multiple products.

Test 4: Shipping Test.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test ID: 4.
Testing Title: Shipping test Test Planned Date: 2019-apr-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor Bhattarai
Test Completing Date: 2019-apr-5

Conditions: Products must be selected


Dependency: User must be logged in.

Post-conditions: User must be able to choose a payment method.

Test 5: Add product test.


Test ID: 5.
Testing Title Add Product Test Planned Date: 2019-apr-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor
Bhattarai Test Completing Date:
2019-apr-5

Conditions: Admin should be logged in


Dependency: Admin must be logged in.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Post-condition: Product should be added

Test 6: Edit product test.


Test ID: 6.
Testing Title: Edit Product Test Planned Date: 2019-apr-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor
Bhattarai Test Completing Date:
2019-apr-5

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Conditions: Product must be selected


Dependency: Admin must be logged in.

Po
st-conditions: Products must be edited.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test 7: Add Brand Test.


Test ID: 7.
Testing Title: Add Brand Test Test Planned Date: 2019-apr-5
Test Priority
(High/Medium/Low): High Test Executed BY: Kishor Bhattarai
Test Completing Date: 2019-apr-5

Conditions: Admin must be logged in


Dependency: Admin must be logged in.

Po
st-Condition: Brand must be added

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test 8: Edit Brand Test.


Test ID: 8.
Testing Title: Edit Brand Test Test Planned Date: 2019-apr-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor
Bhattarai Test Completing Date:
2019-apr-5

Conditions: Brand must be available

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Dependency: Admin must be logged in.

pos
t-condition: Brand must be updated

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test 9: Add Category Test.


Test ID: 9.
Testing Title: Add Category Test Planned Date: 2019-apr-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor
Bhattarai Test Completing Date:
2019-apr-5

Conditions: Admin must be logged in.


Dependency: Admin must be logged in.

Post-condition: Category Must be added

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test 10: Category Edit Test.


Test ID: 10.
Testing Title: Edit Category Test Planned Date: 2019-apr-5

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test Priority (High/Medium/Low): High Test Executed BY: Kishor


Bhattarai Test Completing Date:
2019-apr-5

Conditions: Category details must be available.


Dependency: Admin must be logged in.

Post-condition: Category must be edited

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test 11: Delete Category Test


Test ID: 11.
Testing Title: Delete Category Test Planned Date: 2019-apr-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor
Bhattarai Test Completing Date:
2019-apr-5

Conditions: Category details must be available.


Dependency: Admin must be logged in.

Po
st-condition: Category must be deleted

Test 12: Delete Product Test.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test ID: 12.


Testing Title: Delete Product Test Planned Date: 2019-APR-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor
Bhattarai Test Completing Date:
2019-apr-5

Conditions: Product details must be available.


Dependency: Admin must be logged in.

Pos
t-condition: Products must be deleted

Test 13: Delete Brand Test.


Test ID: 13.
Testing Title: Delete Brand Test Planned Date: 2019-apr-5

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Test Priority (High/Medium/Low): High Test Executed BY: Kishor


Bhattarai Test Completing Date:
2019-apr-5

Conditions: Brand details must be available.


Dependency: Admin must be logged in.

Post-Condition: Brand Must be deleted

5.9 Unit Testing

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Chapter 6:
6.1. Other Issues in the project
Although, my project was successful, I faced different issues during the completion of the
system. I would like to point out the different issues I faced during the development phase of
the system. They are given as follows:
 First of all, the project analysis was tough. I had to schedule each and every phase of
the project while making the proposal. The projected outcome of the scheduling was
hard to keep in track. In addition to that, the DFD was difficult to foresee.
 The design of the UI took more than expect, I wouldn't say it as a difficult task but it dit
take a lot of time which made other phase of development tight-scheduled.
 The designing of the Data Flow Diagram was tough. All the flow of the data in the
system may not be drafted properly.
 Choosing the right software for designing database was a challenge, I would say.
Many software didn't have the option for a complete database designing feature.
Because of that, I had to use MS. Word for the data dictionary and Visual Paradigm
both simultaneously.
 I used XAMPP as my local server and during the development, it stopped working. I
had to configure XAMPP to change my port.
 Every functionality and I mentioned in my proposal were unable to be completed due
to the tight-schedule and limited resource.
 The Testing was difficult too. I have to re-write the testing codes which shortned
deadline of the project.

6.2 Evaluation of own work


My project is a web application or a semi e commerce website on E-shop which is located in
Kathmandu. The decision of developing this project was difficult. The super mart (Elite shop)
was not satisfied with its business reach and decided to make a e-commerce site. This was
my first big project. I was too execited about this project, on the other hand I was equally
nervous. I made up my mind to give it a try. I planned to develop the system in PHP on
CodeIgniter(CI) framework. I had a little experience on developing a project which was on my
second year curriculum to develop a vet management system. I proposed a proposal to my
tutor(MR. Sudeep Bajimaya) who was very supportive and accepted my proposal. Then I
started to learn more about the working of E-commerce on medias. When I thought I was

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

ready, I started gathering requirements. After that, I started designning the project. It took a lot
of time to design these diagrams. When I started coding, I didn’t have a core knowledge on
the PHP patterns and its frameworks. Firstly, I starting watching tutorials on Youtube about the
codeigniter. I had enough time to complete the project, so I worked gradually. The most
difficult part was to use multiple database where I seek a help of my friend (Former Softwarica
Student). After that, I increased my pace of working and am finally able to complete the
system with least flaws. As we all know no any project is perfect, E-shop also has few touch-
ups to be given which couldn’t be completed due to short time period.

6.3 Configuration Management:


A system engineering process which helps to establish and maintain consistency of the
system’s performance, function, and its physical attributes with the system’s requirements,
design and operation through the system lifetime is considered as Configuration
Management. It is a system engineering management procedure where every system is
bounded. It is simply collection of techniques and procedures for ensuring the system’s
physical and functional attributes.
Below given are the importance of configuration management in the system:
 it helps to establish and maintain consistency in system’s performance.
 Risk of breaching the system is reduced by keeping the track in changes of the
system.
 A fast problem solving ability can be inherited by Configuration Management System.
 A clean record of changes and upgrades in the system can be maintained.
Below given are the steps of performing Configuration Management:
 Planning
 Identification of configuration system.
 Managing records
 recording status
 Auditing
For the configuration of my project, I created a folder name ‘E-management’ , where all the
folders related to the system are places on a tree architecture form, which is also shown in
the figure down below:
For increasing the security for the folder, I backed up my file in google drive giving it a name
’E-Shop’, which is represented in the screenshot below:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

6.4 Future Work:


Like I have mentioned earlier, no project can be called as a perfect project. Every project
needs to be contiguously upgraded from time to time looking at the performance and
audience’s demand. Having said that, a incomplete project is a failure. E-shop is a complete
project but it has a some touch-ups to be done. I have done my best to complete all the
features I have included in the proposal, but from the different circumstances I was unable to
complete all the features I have mentioned in the proposal. I have included the remaining
features as the future work of E-Shop. The following are the foture works of my project:
 Changing password of the user if forgotten by sending them a mail
 Mailing invoice to every customer who order.
 Giving user to update their password.
 Canceling orders by the administrator.
 Adding a online payment system to the system.
 Adding comment to the product with rating feature.
 Special token offers with discounts.

6.5 Limitations of my project:


There are many factors which bounds E-Shop from its complete performance. It may vary
from the user to user along that, the system itself has its own flow and mechanism. Below
given are some of the factors that limits E-shop.
 There is not a complete mechanism from creating a fake E-shop account.
 User can only shop after registering and loging into the system.
 User may be confused as per their knowledge on e-shopping.

6.6 User Manual:


This is a system on E-shop where user can loginto the system and enjoy shopping with just a
few clicks. This is a manual for general users which are not so familiar with E-commerce web
site.
Information
This website is a website on focusing the user to using E-commerce more efficiently. In this
system, firstly, user have to register into the system by filling the registration form from the
website registration page. After that the user can login into the system and browse the
products available from their account. User can view the products and add their products into

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

a basket termed as Cart. After adding the items into the cart user can either continue
shopping and add other products to the cart or simply finish the shopping by clicking into the
checkout bottom. One thing I would like to mention is that, user can view their shopping
details by pressing into the cart. After that, user must enter the shipping details including
name. Number, address and email. After that, user must choose the payment option, currently
there is only cash on delivery available. When that is done, the shopping is complete.
There is not a hardcore requirement for installing the system, the requirements are listed
below:
 Any operating system will work
 Any browser will be okay.
 XAMPP or other database system must be there for local use.
 Ram with up to 100MB of free space
 Hard Drive with up to 1GB free space.

The core functionality of the system is given below:

 User can login and register into the system.


 Admin can perform CRUD operation to the product, brand and category.
 Registered customers can shop online
 Admin can accept the order from the customers.
 Customers can cancel their shopping
 Admin can view and generate invoice.
For logging in:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

For logging in, user must enter the registered data into the form. Once the login is complete,
user can shop easily.

For registering:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

For registering into E-shop, user must request the register page and enter the above given
data. If the data isbt valid, message will appear and if the data is valid user can log in into the
system.
For browsing:

The above screenshot is of the dashboard of the system, user can view different products
from dashboard too.
Product page:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

This is a product page of the system.

Single product:

By clicking on the details of the product one can find the details of the product.

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Added products

Once the user adds products to the cart the above panel opens.
Checking out:

if the user wasn’t logged in and checked out after adding the product to the cart the above
panel appears asking the user to weather login or register.
And if the user is already logged in, after clicking the checkout the following panel appears:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

In this panel user must enter the shipping address to complete the shopping and in addition to
that, user must choose the payment option as shown in the screenshot below.

After choose the payment option, shopping is complete and the order products data is
transferred to admin.

Chapter 7
7.1 The Conclusion:
E-shop is a web application for shopping online. It was initially build for Elite Shop, for its
business expansion and Customer satisfaction. It has a basic E-commerce functions where
user can order the available products and admin can perform CRUD operations on the details
of the product and Manage the order requested by the customer.
I have chosen E-shop as a part of my project for Computing Project Curriculum. Initially I
proposed a proposal to my modulator and thanks to him, the proposal was accepted. After
that I studied over different frameworks and choose CI in PhP. Then, I started doing my
research on different diagrams needed for the development of the system. Then I started to
learn more about the working of E-commerce on medias. When I thought I was ready, I

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

started gathering requirements. After that, I started designning the project. It took a lot of time
to design these diagrams. When I started coding, I didn’t have a core knowledge on the PHP
patterns and its frameworks. Firstly, I starting watching tutorials on Youtube about the
codeigniter. I had enough time to complete the project, so I worked gradually. The most
difficult part was to use multiple database where I seek a help of my friend (Former Softwarica
Student).
Continuing the analysis phase, i choose hard approach for the system because it suited the
project more over soft approach. After that on the design phase, I started designing different
diagrams (Functional, Structural and database). There are many design attached to the
system like Use-case diagram, E-R diagram, Activity diagram, sequence diagram, etc. then I
started coding which was a challenge for me as I mentioned earlier YouTube helped me a lot
as long as my modular teacher. As stated above I used PHP in CodeIgniter framework which
works on MVC pattern. I choose MVC pattern because I was familiar on it. I had my 3months
internship program on the CI framework. Then when the coding was finished I starting testing
in which I performed BlackBox testing and Unit Testing.
After the testing, I started writing the documentation to be submitted to the College along with
the limitations of my project and the future works. As mentioned earlier this project isnt perfect
and there are few touch ups to be given. Overall, the system was completed on time with two
module one for admin and the other for the customer.

Appendix
Admin Dashboard:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Login for admin:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Product page:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Brand Page:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Category Page:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Order page:

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803


Kishor Bhattarai Computing Project 00169803

Kishor Bhattarai Computing Project 00169803

Das könnte Ihnen auch gefallen