Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 50

BINDURA UNIVERSITY OF SCIENCE EDUCATION

FACULTY OF SCIENCE AND ENGINEERING


COMPUTER SCIENCE DEPARTMENT

By
GROUP MEMBERS

NAME SURNAME REG NUMBER

ABDULLAH KASISI

CARLOS MARSHAL CHIGOCHE

TAKUNDA MUZIMBARANDA

SUPERVISOR: MR C. ZANO

1
Dedication

We dedicate this project to Mr R Mudoti, Miss Ashly Kasisi, . Their


unwavering support, encouragement, and belief in my abilities have been
instrumental in the successful completion of this endeavor. Their constant
motivation and understanding have been a source of inspiration throughout
this journey. I am deeply grateful for their presence in my life and for their
invaluable contributions to this project.

2
Acknowledgments
We would like to express our deepest gratitude and appreciation to all those
who have contributed to the successful completion of my final year project.
Without their support, guidance, and encouragement, this project would not
have been possible. I would like to thank our project supervisor, Mr. C Zano,
for his invaluable guidance and expertise throughout the entire duration of
this project. I am immensely thankful to our families for their unconditional
love, unwavering support, and understanding throughout this project.

3
Abstract

This project focuses on the development and implementation of an online


system aimed at enhancing the online shopping experience for customers.
The research explores various aspects of the system, including system
design, functionality, performance, and user satisfaction. The primary goal
is to create a user-friendly and efficient platform that promotes seamless
navigation, secure transactions, and personalized services.

4
Table of Contents
Appendices..............................................................................................................................6

Chapter 1: Problem Identification..............................................................................7

Chapter 2: Requirements Specification....................................................................12

2.3.1 System Input Data Requirements:............................................................14

2.3.2 System Output Data Requirements:.........................................................15

Chapter 3: Design.........................................................................................................20

Input Design...................................................................................................................23

Data Capture forms.........................................................................................................23

Debtors Details........................................................................................................23

Creditors Details......................................................................................................24

Output Design................................................................................................................24

Specification of required output:..............................................................................24

Chapter 4: Coding and Testing...........................................................................................31

Test For Standard Data................................................................................................39

Test For Extreme Data.................................................................................................39

Test For Abnormal Data.......................................................................................40

Testing for normal data...............................................................................................40

Testing for extreme data............................................................................................41

Testing for abnormal data...........................................................................................41

Chapter 5:Implementation/Deployment..........................................................................42

Chapter 6: Evaluation and Conclusion..............................................................................47

References............................................................................................................................49

5
Appendices
Figure 1 : Entity-Relationship-Diagram.......................................................................................27

Figure 2 : system flow chart..................................................................................................30

Figure 3 : Use Case Diagram.......................................................................................................30

Image 1 : Admin Login............................................................................................................21

Image 2 : Manager Dashboard................................................................................................22

Image 3 : Customer Dashboard..................................................................................................22

6
Chapter 1: Problem Identification
1.1 Introduction
M.W.M TECH is a shop located in Mudzi District, specifically at Kotwa
Growth Point, specializing in selling electronic gadgets, including
computers, and providing fixing and repairing services for these computers.
The shop started operating in early February 2016, and currently has one
manager (the owner) and two supporting workers. The shop's current
record-keeping system relies on manual processes using exercise books and
flat files. This chapter provides an introduction to the background and
presents the problem statement.

1.2 Investigation and description of current


system/Literature on existing similar systems.

The current manual system used by M.W.M TECH faces several challenges.
The process of serving customers is slow due to multiple stages involved in
attaining the product. Receipt forgery is also a concern since receipts are
issued in the absence of the manager. The lack of data privacy poses a risk,
as anyone entering the shop can access confidential information stored in
the shop’s books. Additionally, the reliance on physical books and files
makes data retrieval difficult in case of damage or loss. The use of
extensive paperwork leads to scattered and misplaced files, delays in
serving customers, and inconsistency in stock figures.

1.3 Statement of the Problem


Since all the information is stored at a single place in books/ files there is
no way to retrieve the data in case the books/files are destroyed by natural
hazards and other harmful acts because the system lack data backup.Much
paperwork is used. There are many books to store the information and this
may lead to files being scattered and others being misplaced.The primary

7
problem faced by M.W.M TECH is the lack of data backup and the risk of
data loss in case the books/files are destroyed. The extensive paperwork
also leads to scattered and misplaced files, making data retrieval
challenging.

1.4 System Objectives

 The system has to be able to add,update, read and delete records .


 The system should be able to search a product or sales records and
display the results.
 The system should be able to automatically and accurately calculate
total, weekly or monthly sales made by the company.
 The system should be able to cancel an operation as this enables the
user to do what he or she feels most prominent to do with the data.
 The system should be able to navigate through the system records
smartly that is by moving to the Next, Previous, First and Last Records.

1.5 Description of the proposed system


The proposed M.W.M TECH Management System aims to revolutionize the
current manual record-keeping and management processes. The software
solution will address the challenges faced by the shop, streamline
operations, and enhance overall efficiency. Key features of the system
include:

Inventory Management: Accurate tracking of stock levels, real-time


visibility, and automated stock quantity updates.

Customer Management: Comprehensive customer database, personalized


service, and easy searching and retrieval of customer information.

8
Sales and Billing: Streamlined sales process, automated invoicing and
billing, and accurate calculation of taxes and discounts.

Advertising and Marketing: Integration of marketing features to enhance


visibility, attract a broader customer base, and increase sales.

Data Security and Backup: Implementation of access controls, user


permissions, and regular automated backups to protect data.

Reports and Analytics: Generation of comprehensive reports and analytics


to provide valuable insights for decision-making.

1.6 Limitations/challenges
The proposed system may face certain limitations and challenges, including:

Technical Constraints: Dependence on suitable hardware and software


infrastructure.

Budgetary Limitations: Financial constraints may restrict the scope and


functionality of the system.

Time Constraints: The system development and deployment need to be


completed within a specified time-frame, which may affect thoroughness
and require trade-offs.

User Adoption and Training: User resistance or reluctance to embrace


change may impact the system's effectiveness, necessitating adequate
training and support.

Data Migration: Transitioning from the existing manual system to the new
software solution may introduce data inconsistencies and require data
cleansing and transformation.

Integration with Existing Systems: Ensuring seamless integration with any


existing systems or processes at M.W.M TECH may pose challenges and
require additional development efforts.

9
Scalability and Future Expansion: The system should be designed to
accommodate future growth, increased data volumes, and additional
functionalities.

User Interface and User Experience: Designing a user-friendly interface


that caters to the specific needs of M.W.M TECH's staff may pose challenges
and require iterative feedback and improvements.

Maintenance and Support: Ongoing maintenance, updates, and technical


support will be necessary to ensure smooth operation of the system.

1.7 Scope/delimitation of the system


The system's scope is defined to ensure focused development aligned with
the specific needs of M.W.M TECH. The following limitations apply:

Online Sales and E-commerce: The system will include online sales
functionalities; but will focus on managing in-store operations and
processes.

Comprehensive Financial Management: The system will not include


extensive financial management features like accounting, budgeting, or
payroll.

Supplier Management: The system will not include comprehensive supplier


management functionalities; it will focus on inventory and customer-related
information.

Web Application: The system will be designed as a web application and may
not include a dedicated mobile or desktop application.

1.8 Definition of terms


To ensure a common understanding, key terms used in the documentation
are defined:

M.W.M TECH: The acronym for the shop's name, Mudzi District, Wares, and
Machines Technology, specializing in selling and repairing electronic
gadgets.

10
Management System: A software solution that automates various business
processes, including inventory management, customer management, sales,
and reporting.
Inventory Management: Overseeing stock levels, monitoring movements,
and ensuring optimal stock availability.
Customer Management: Maintaining and organizing customer-related
information to enhance service and relationship management.
Sales and Billing: Activities related to selling products, generating invoices,
and recording sales transactions.
Advertising: Promoting products or services through marketing channels to
increase brand awareness and attract customers.
Data Security: Protecting data from unauthorized access, use, disclosure, or
destruction, implementing security measures.
Reports and Analytics: Generating structured data summaries and insights
for decision-making purposes.
User Interface: The visual and interactive elements of a software
application that users interact with.
Data Migration: Transferring data from one system or storage medium to
another.
Scalability: The ability of a system to handle increased data volumes and
functional requirements without compromising performance.
User Acceptance: The willingness and readiness of users to embrace and
effectively use a new software system.
These definitions provide clarity on the terms used, facilitating better
understanding of the concepts and functionalities related to the M.W.M
TECH Management System.

11
Chapter 2: Requirements Specification
2.1 Introduction
This chapter will focus on gathering, analyzing, and documenting the
requirements for the M.W.M TECH Management System. The ultimate aim is
to ensure that the system is aligned with the needs of the shop, addresses
the identified problems, and provides a comprehensive and efficient
software solution for managing the various aspects of the business. The
primary goal of this phase is to identify the specific features,
functionalities, and constraints that the system should satisfy in order to
address the existing problems and meet the needs of M.W.M TECH
effectively. By capturing and documenting these requirements, the
development team can establish a clear road-map for designing and
implementing the system.

The requirements specification phase involves collaboration and


communication with key stakeholders, including the owner/manager of
M.W.M TECH and the supporting workers. Their input, insights, and
expectations are essential in defining the system requirements
accurately.The process of requirements gathering will include various
techniques such as interviews, observations, and document analysis. This
approach aims to gather comprehensive information about the current
system, understand the workflows, and identify pain points and areas for
improvement.

2.2 Requirements analysis

The requirements analysis phase of the M.W.M TECH Management System


project involved a thorough examination and understanding of the gathered
requirements. This phase focuses on analyzing and refining the requirements
to ensure that they are clear, complete, and feasible for implementation.
The analysis process will involve various techniques and activities to
validate, prioritize, and refine the requirements. The gathered

12
requirements will be validated to ensure their accuracy and relevance. This
involves reviewing the requirements with key stakeholders, such as the
owner/manager of M.W.M TECH and the supporting workers, to verify their
understanding and agreement. Any inconsistencies or ambiguities in the
requirements will be addressed and clarified during this validation process.

The requirements will be prioritized based on their relative importance and


urgency. This prioritization will help in allocating development resources
effectively and determining the order in which the requirements will be
implemented. Key stakeholders will be involved in this process to provide
input on the priority of each requirement based on their business needs and
constraints. The requirements will be refined to ensure that they are clear,
concise, and unambiguous. This involves breaking down complex
requirements into smaller, more manageable units, and removing any
redundancy or overlapping functionalities. The refined requirements should
be precise and specific to guide the subsequent design and development
phases.

Traceability will be established to ensure that each requirement can be


linked back to its source, such as a specific stakeholder or business
objective. This traceability will facilitate future changes and enhancements
by providing a clear understanding of the rationale behind each
requirement. The analyzed and refined requirements will be documented in
a structured manner. This documentation will serve as a reference for the
development team and other stakeholders throughout the project. It will
include detailed descriptions of each requirement, along with any
associated constraints or dependencies. Finally the analyzed requirements
will be communicated to all relevant stakeholders, including the
development team, management, and end-users. This communication will
help ensure a common understanding of the system's objectives and
functionalities. It will also provide an opportunity for stakeholders to
provide feedback and clarify any concerns or doubts.

13
2.3 Data requirements

In the context of the M.W.M TECH Management System, data requirements


refer to the specific data elements and information that need to be
captured, stored, processed, and managed by the system. These
requirements are essential for the system to perform its functions
effectively and support the business operations of M.W.M TECH. The data
requirements can be categorized into system input and output, specifying
how data will be accepted and presented by the system.

2.3.1 System Input Data Requirements:

The system will require the following data inputs:

Product Information: Details about the products available for sale,


including product names, descriptions, prices, stock levels, and supplier
information.

Customer Information: Customer details such as names, contact


information, credit status, and purchase history.

Sales Transactions: Data related to sales transactions, including the


products purchased, quantities, prices, discounts, payment methods, and
dates.

Stock Updates: Information about stock additions, removals, and


adjustments, such as new stock arrivals, returns, and damaged goods.

Supplier Information: Details about the suppliers, including names, contact


information, and product supply agreements.

User Authentication: User credentials, such as usernames and passwords,


to authenticate and authorize access to the system.

2.3.2 System Output Data Requirements:

The system will generate the following output data:

14
Invoices and Receipts: Generated documents that provide a record of sales
transactions, including details of purchased items, prices, taxes, discounts,
and payment information.

Reports and Analytics: Summaries and analyses of sales, inventory levels,


customer behavior, financial performance, and other relevant metrics to
facilitate decision-making.

Customer Statements: Statements that show the credit status, outstanding


balances, and payment history of credit customers.

Stock Alerts: Notifications and reminders about low stock levels, reorder
points, and upcoming expiration of product warranties.

Sales Performance Metrics: Data and metrics that measure the


performance of sales, such as sales volumes, revenues, profit margins, and
customer satisfaction ratings.

It is important to ensure the accuracy, integrity, and security of the data


throughout its life-cycle within the system. Data validation checks, data
encryption, and access controls should be implemented to protect sensitive
information and maintain data integrity. The data requirements of the
M.W.M TECH Management System encompass capturing and managing
various types of data inputs, such as product information, customer details,
sales transactions, and supplier information. The system will generate
outputs in the form of invoices, reports, customer statements, and
performance metrics. By fulfilling these data requirements, the system will
provide accurate and up-to-date information to support decision-making and
enhance the operational efficiency of M.W.M TECH.

2.4 Processing requirements

Processing requirements define the specific functionalities and operations


that the M.W.M TECH Management System should perform to meet the
business needs and support the desired workflows. These requirements
outline how the system will process the input data and generate the desired
output.These processing requirements form the core functionalities of the

15
M.W.M TECH Management System and will guide the development and
implementation process. The system should be designed and developed to
effectively handle these processing requirements, ensuring efficient and
accurate operations for managing sales, inventory, customers, suppliers,
and reporting.

The processing requirements for the M.W.M TECH Management System


include:

Sales Processing: The system should facilitate the recording and processing
of sales transactions. This includes calculating the total price, applying any
discounts or promotions, updating stock levels, generating invoices or
receipts, and updating customer records.

Inventory Management: The system should provide functionality for


managing the inventory of products. This includes tracking stock levels,
updating stock quantities based on sales and returns, setting reorder points,
generating stock alerts, and managing product warranties.

Customer Management: The system should support the management of


customer information and interactions. This includes capturing and updating
customer details, tracking purchase history, managing credit status, and
generating customer statements.

Supplier Management: The system should allow for the management of


supplier information and relationships. This includes recording supplier
details, managing product supply agreements, tracking deliveries, and
updating stock information based on supplier transactions.

Reporting and Analytics: The system should provide reporting and analytics
capabilities to generate insights and summaries of sales, inventory,
customer behavior, and other relevant data. This includes generating
standard reports, customizing reports based on specific criteria, and
providing visual representations of data through charts and graphs.

User Authentication and Access Control: The system should include user
authentication mechanisms to ensure secure access to the system. This
includes defining user roles and permissions, enforcing password policies,

16
and restricting access to sensitive functionalities or data based on user
roles.

Data Validation and Integrity: The system should incorporate data


validation checks to ensure the accuracy and integrity of the data. This
includes validating input data against predefined rules, checking for data
consistency and completeness, and preventing data duplication or errors.

Data Backup and Recovery: The system should provide mechanisms for data
backup and recovery to safeguard against data loss. This includes regular
backups of data, storing backups in secure locations, and implementing
recovery procedures in the event of data corruption or system failures.

2.5 Software requirements

In order to develop and run the M.W.M TECH Management System, several
software tools and platforms are required. These software requirements
ensure a smooth development process and provide the necessary
environment for running the system effectively. The following software
tools and platforms are essential for the development and deployment of
the system:

Visual Studio Code: Visual Studio Code is a lightweight and versatile text
editor that provides an efficient environment for writing code. It offers
various features such as syntax highlighting, code completion, debugging
capabilities, and integrated source control. Visual Studio Code will be used
as the primary text editor for writing and editing the system's code-base.

XAMPP: XAMPP is an open-source web server solution that provides a local


development environment for web applications. It includes Apache as the
web server, MySQL as the database management system, and PHP as the
scripting language. XAMPP allows developers to set up a local server
environment on their machines, facilitating the development and testing of
the M.W.M TECH Management System.

17
Chrome: Google Chrome is a widely used web browser that supports modern
web technologies and provides excellent debugging and development tools.
It will be utilized for testing and running the system's web-based interfaces,
ensuring compatibility and optimal performance.

Microsoft Word 2016: Microsoft Word 2016 is a popular word processing


software used for creating and formatting documents. In the context of the
M.W.M TECH Management System, it will be utilized for documenting
various aspects of the system, including user documentation and technical
documentation. Microsoft Word offers features for text formatting, table
creation, and document organization, making it suitable for generating
comprehensive system documentation.

Windows 10 Operating System: The M.W.M TECH Management System will


be developed and deployed on the Windows 10 operating system. Windows
10 provides a stable and widely used platform for running software
applications. It offers features such as process scheduling, memory
management, and device drivers, which are essential for the proper
functioning of the system.

These software tools and platforms provide the necessary development and
runtime environment for the M.W.M TECH Management System. By utilizing
Visual Studio Code, XAMPP, Chrome, Microsoft Word 2016, and Windows 10,
the developers wrote the code, tested the system, documented its
functionalities, and ensured compatibility with widely used software and
operating systems.

2.6 Hardware requirements

Input Devices

Keyboard (QWERTY):

This will be used for entering data in the fields of different files of the
system. It is also used for the purpose of amending data in Hardware
Purchases and Sales System. It can also be used for the purpose of
responding to user prompt messages.

18
Mouse (Optical scrolled mouse):

This is required for the purpose of item selection i.e. selecting the files to
view and also to click buttons which enable certain actions to be performed.
It will also acknowledge error messages by clicking on the message box.

Central Processing Device

An INTEL CORE CPU G1610T @2.30GHz is needed for fast processing of


records, searching records in the system and sorting the records in order.

Output Devices

HP Laser-jet Professional 1212nf MPF Printer:

This is required for printing hard-copy documents like reports and queries. A
fast printing device is needed.

Monitor (HP 1502 LCD): This will be used for displaying forms, records and
reports on the computer screen for editing and during entering. It also
displays error message and online help for the user.

Speakers: Planar requires speakers for warning sounds to be heard when an


invalid operation has occurred and also for entertainment through
outputting music and sounds.

Storage Devices

Hard Disk (500GB 7200 Ultra DMA): Used to store system files and data. At
least 500 GB hard disk is needed.

Compact Disk (CD) or Digital Versatile Disk (DVD)/External Hard


Drive(250GB): These will be used for creating backups of the system files
and data for recovery purposes in case of accidental loss of data.

19
Chapter 3: Design
3.1 Introduction
The design phase of the M.W.M TECH Management System project focuses
on creating a detailed plan and blueprint for the implementation of the
system. This chapter introduces the design phase and outlines the key
objectives and activities involved in designing the various components of the
system. The primary goal of the design phase is to translate the
requirements gathered in the previous phases into a well-structured and
efficient system design. This design will define the system's architecture,
user interfaces, data storage mechanisms, and processing logic. It will
provide a clear road-map for the development team to follow during the
coding and implementation stages.

This plan will serve as a blueprint for the coding and testing phases,
ensuring that the system is developed according to the specified design
principles and requirements. This chapter introduces the design phase of
the M.W.M TECH Management System project. The design phase aims to
translate the requirements into a detailed design plan that encompasses
system architecture, user interfaces, data storage, and processing logic. By
effectively designing the system, the development team can ensure a solid
foundation for the subsequent implementation and testing stages.

3.2 User interface design

20
The following are the screenshots of the user interface

Image 1: Admin Login

Image 2: Manager Dashboard

21
Image 3: Customer Dashboard

3.3 Input and output design


Input Design
Data Capture forms

Suppliers
Details

Suppliers Name
Suppliers ID
Suppliers Contact
Home Address
Product Name
Product ID
Quantity
Amount Paid
Customers
Details

22
Customers Name
Customers ID
Home Address
Contact
Product ID
Amount Paid

Stock
details
form
Product Name
Product ID
Quantity in Stock
Price
Condition
Category
Debtors Details

Debtors Name
Debtors ID
Product ID
Price
Date owed
Payment Period
Contact
Home Address

Creditors Details

Creditors Name
Product ID
Product Name
Contact
Address
amount
Transaction Date
Payment Period

23
Output Design
Specification of required output:
Output forms (suppliers form, customers form, debtors form and stock
form). These forms will provide spaces for the user to enter information
about the entities on the forms’ names. Information about the entered
entities (products, suppliers, customers and stock) in form of tables. These
tables are stock table, suppliers table, debtors and customers table.
Reports in the form of tables. The reports created should show the
payments done at any period of time and should show the data of the report
creation. The system should be able to output and print receipts which show
the proof of payment. Search facilities that are used to search information
names of the required entities within the system. For example searching
product details (laptop details).

3.4 Database design


Table1: admins
Columns: admin_id (int), admin_email (varchar), admin_pass (varchar)
Table2: brands
Columns: brand_id (int), brand_title (text)
Table3: cart
Columns: p_id (int), ip_add (int), qty (int)
Table4: categories
Columns: cat_id (int), cat_title (text)
Table5: customers
Columns: customer_id (int), customer_name (varchar), customer_email
(varchar), customer_pass (varchar), customer_country (text), customer_city
(text), customer_contact (int), customer_address (text), customer_image
(text), customer_ip (int)
Table6: customer_orders
Columns: order_id (int), customer_id (int), due_amount (int), invoice_no
(int), total_products (int), order_date (timestamp), order_status (text)

24
Table7: payments
Columns: payment_id (int), invoice_no (int), amount (int), payment_mode
(text), payment_date.
Table8: payments (continued)
Columns: payment_id (int), invoice_no (int), amount (int), payment_mode
(text), payment_date (timestamp)
Table9: products
Columns: product_id (int), cat_id (int), brand_id (int), date (timestamp),
product_title (text), product_img1 (text), product_img2 (text),
product_img3 (text), product_price (int), product_desc (text),
product_keywords (text)
Table10: reviews
Columns: review_id (int), product_id (int), customer_id (int), review_text
(text), review_date (timestamp)
Table11: transactions
Columns: txn_id (int), payment_id (int), order_id (int), product_id (int), qty
(int), txn_date (timestamp)
The database will be implemented from the design above using
PHPmyAdmin.
Entities:
Customers (customer_id, customer_name, customer_email,
customer_phone)
Categories (cat_id, cat_name)
Brands (brand_id, brand_name)
Orders (order_id, customer_id, order_date, order_status)
Order_Items (order_id, product_id, qty)
Invoices (invoice_no, order_id, invoice_date)
Payments (payment_id, invoice_no, amount, payment_mode,
payment_date)
Products (product_id, cat_id, brand_id, date, product_title, product_img1,
product_img2, product_img3, product_price, product_desc,
product_keywords)
Reviews (review_id, product_id, customer_id, review_text, review_date)
Transactions (txn_id, payment_id, order_id, product_id, qty, txn_date)

25
Relationships:
Customers have a one-to-many relationship with Orders (one customer can
place multiple orders).
Categories and Brands have a one-to-many relationship with Products (each
category/brand can have multiple products, but each product belongs to
only one category and brand).
Orders have a one-to-many relationship with Order_Items (one order can
have multiple order items).
Orders have a one-to-one relationship with Invoices (each order has one
corresponding invoice).
Invoices have a one-to-one relationship with Payments (each invoice has one
corresponding payment).
Products have a one-to-many relationship with Reviews (each product can
have multiple reviews).
Transactions have a many-to-one relationship with Payments (multiple
transactions can be associated with one payment).

ERD

26
Figure 1: Entity-Relationship-Diagram

3.5 Processes design


The process design involves identifying and defining the steps and activities
required to accomplish a specific task or achieve a desired outcome. In the
context of an e-commerce system, the process design typically includes
activities such as product listing, order placement, payment processing, and
order fulfillment. Here is a general outline of the processes involved in an e-
commerce system:

Product Listing Process:


Identify products to be listed: Determine which products will be available
for sale in the e-commerce system.
Gather product information: Collect relevant details about each product,
including title, description, price, images, category, brand, and keywords.
Create product listings: Create listings for each product, including all the
gathered information. Assign unique product IDs.
Upload product images: Upload product images to the system and associate
them with the respective product listings.

27
Review and publish listings: Review the product listings for accuracy and
completeness. Publish the listings on the e-commerce platform.

Order Placement Process:


Customer browsing: Allow customers to browse and search for products on
the e-commerce platform.
Product selection: Enable customers to select desired products and specify
the quantity.
Add to cart: Provide a shopping cart functionality for customers to add
selected products.
Review cart: Allow customers to review the items in their cart, modify
quantities, or remove items if necessary.
Proceed to checkout: Initiate the checkout process, where customers
provide shipping and payment information.
Validate order: Validate the order details, including product availability,
customer information, and payment verification.
Place order: Finalize the order placement and generate a unique order ID.

Payment Processing Process:


Payment selection: Offer various payment methods for customers to choose
from, such as credit/debit cards, PayPal, InnBux or bank transfers.
Payment information collection: Collect the necessary payment details from
customers, depending on the chosen payment method.
Payment validation: Verify the payment information provided by the
customer to ensure its accuracy and authenticity.
Process payment: Initiate the payment processing, interacting with the
selected payment gateway or service.
Update order status: Update the order status as "Payment Pending" until the
payment is successfully processed.
Payment confirmation: Receive confirmation from the payment
gateway/service about the successful payment.

Order Fulfillment Process:


Order processing: Retrieve the order details and prepare them for
fulfillment, including packaging and labeling.

28
Inventory management: Check product availability in the inventory and
update s
tock levels accordingly.
Shipping information: Generate shipping labels and gather necessary details
for order delivery, including customer address and preferred shipping
method.
Handover to shipping provider: Coordinate with shipping providers to pick up
the packaged orders and initiate the shipping process.
Shipment tracking: Track the shipment and provide the tracking information
to the customer.
Order delivery: Ensure the successful delivery of orders to the customer's
specified address.
Order status update: Update the order status as "Shipped" or "Delivered"
based on the shipment's progress and final delivery.

System flow chart for customer

View Products

Add items to
cart

Select payment Method

Process payment

DISPLAY
TRANSACTIO
N RESULT

Figure 2: system flow chart

29
Use-Case Diagram

Figure 3: Use Case Diagram

Chapter 4: Coding and Testing


4.1 Introduction

30
In this chapter, we will discuss the implementation details of the system
and the testing processes involved. This chapter aims to provide an
overview of the technical documentation, including system code snippets
and pseudo code. Additionally, it will cover the unit and system testing
plans, as well as the results obtained. Furthermore, user testing plans and
results will be presented to evaluate the system's usability and gather
feedback from end users.

4.2 Technical documentation: system code (main


code snippets)
The technical documentation includes the system code snippets, which are
crucial components of the e-commerce system. This section will highlight
the main code snippets that are essential for system functionality, such as:

Product Listing Code: This code snippet handles the process of listing
products on the e-commerce platform. It includes functions for gathering
product information, creating product listings, uploading product images,
and publishing the listings.

</div>

           

            <div id="products_box">

            <?php

                   

                $get_products = "select * from products";

               

                $run_products = mysqli_query($con, $get_products);

               

                while ($row_products=mysqli_fetch_array($run_products))
{

                    $pro_id = $row_products['product_id'];

                    $pro_title = $row_products['product_title'];

                   

                    $pro_desc = $row_products['product_desc'];

31
                    $pro_price = $row_products['product_price'];

                    $pro_image = $row_products['product_img1'];

                   

                    echo "

                    <div id='single_product'>

                    <h3>$pro_title</h3>

                    <img src='admin_area/product_images/$pro_image'
width='180' height = '180'/><br>

                   

                    <p><b>Price: $ $pro_price<b></p>

                   

                    <a href='details.php?pro_id=$pro_id'
style='float:left;'>Details</a>

                   

                    <a href='index.php?add_cart=$pro_id' <button


style='float:right;'>Add to Cart</button></a>

                   

                   

                    </div>

Order Placement Code: The order placement code snippet is responsible


for managing the order placement process. It contains functions for product
selection, adding items to the cart, validating orders, and generating unique
order IDs.
<?php

include("includes/db.php");

include("functions/functions.php");

//getting customer ID

32
if(isset($_GET['c_id'])){

    $customer_id = $_GET['c_id'];

    $c_email = "select * from customers where customer_id =


'$customer_id'";

    $run_email = mysqli_query($con,$c_email);

    $row_email = mysqli_fetch_array($run_email);

    $customer_email = $row_email['customer_email'];

    $customer_name = $row_email['customer_name'];

//Getting products price & number of items

$ip_add = getRealIpAddr();

    $total = 0;

    $sel_price = "select * from cart where ip_add='ip_add'";

    $run_price = mysqli_query($db, $sel_price);

    $status = 'Pending';

    $invoice_no = mt_rand();

    $i=0;

33
    $count_pro = mysqli_num_rows($run_price);

    while ($record = mysqli_fetch_array($run_price)){

        $pro_id = $record['p_id'];

        $pro_price = "select * from products where product_id =


'$pro_id'";

        $run_pro_price = mysqli_query($db, $pro_price);

        while ($p_price = mysqli_fetch_array($run_pro_price)){

            $product_name = $p_price['product_title'];

            $product_price = array($p_price['product_price']);

            $values = array_sum($product_price);

            $total +=$values;

            $i++;

        }

    }

//Getting quantity from the cart

$get_cart = "select * from cart";

$run_cart = mysqli_query($con, $get_cart);

34
$get_qty = mysqli_fetch_array($run_cart);

$qty = $get_qty['qty'];

if($qty==0){

    $qty=1;

    $sub_total = $total;

} else {

    $qty=$qty;

    $sub_total = $total*$qty;

$insert_order = "insert into customer_orders (customer_id, due_amount,


invoice_no, total_products, order_date, order_status) values

('$customer_id','$sub_total','$invoice_no','$count_pro', NOW(),
'$status')";

$run_order = mysqli_query($con, $insert_order);

    echo"<script>alert('Order successfully submitted,


Thanks!')</script>";

   
echo"<script>window.open('customer/my_account.php','_self')</script>";

35
    $insert_to_pending_orders = "insert into
pending_orders(customer_id, invoice_no, product_id, qty, order_status)
values

     ('$customer_id','$invoice_no','$pro_id','$qty','$status')";

    $run_pending_order = mysqli_query($con, $insert_to_pending_orders);

    $empty_cart = "delete from cart where ip_add = '$ip_add'";

    $run_empty = mysqli_query($con, $empty_cart);

    $from = 'mysite@academy.com';

    $subject='Order Details';

    $message = "

Payment Processing Code: This code snippet focuses on the payment


processing functionality. It includes functions for selecting payment
methods, collecting payment information, validating payments, and
updating order statuses based on payment confirmations.
<?php

include("includes/db.php");

?>

<div align="center" style="padding:20px;">

<h2>Payment Options for you</h2>

<?php

   

    $ip = getRealIpAddr();

36
   

    $get_customer = "select * from customers where customer_ip='$ip'";

   

    $run_customer = mysqli_query($con, $get_customer);

   

    $customer = mysqli_fetch_array($run_customer);

   

    $customer_id = $customer['customer_id'];

   

?>

   

    <b> Pay with</b>&nbsp;<a href="http://www.innbucks.com"><img


src="customer/innbucks.png" width="200" height="80"><b></a>Or <a
href="order.php?c_id=<?php echo $customer_id;?>">Pay
Offline</a></b><br><br><br>

    <b>If you select "Pay Offline" option then please check your email
or account to find the invoice No. for your order</b>

   

</div>

    </body>

   

</html>

4.3 Unit and System Testing: plan and results


Unit and system testing are essential steps in ensuring the quality and
reliability of the e-commerce system. This section will outline the testing
plans and present the results obtained from these testing phases.

Test Strategy/ Test Plan

Selection and Justification of test plan

37
In a goal to test the functionality of the M.W.M TECH ELECTRONICS
MANAGEMENT System, the systems analyst chose beta testing as the suitable
test strategy. In order to perform beta testing a group of end-users
(manager and receptionist) were given the beta testing of M.W.M TECH
ELECTRONICS MANAGEMENT system to validate it for functionality by using it
in the real world to carry out their daily tasks. The systems analyst used
beta testing as it provides a factual position of the system’s quality. It is
like two test plans combined as the end-users will be using another test plan
(black box testing) in testing the system unlike other test plans. Beta testing
does not require highly skilled testers. Generally reliability and security of
the software being tested are being tested by the intended users so defects
of the system are less likely to arise.

Unit Testing Plan: The unit testing plan will detail the various units or
components of the system to be tested, along with the specific test cases
designed for each unit. It will also mention the testing tools and frameworks
used for unit testing.

Unit Testing Results: The unit testing results will provide an overview of
the test coverage, including the number of tests conducted, the percentage
of code coverage achieved, and the identified defects or issues during the
unit testing phase.

System Testing Plan: The system testing plan will outline the overall
approach to testing the integrated system. It will include test scenarios,
test cases, and test data to ensure the complete functionality and
integration of the system.

System Testing Results: The system testing results will present the
outcomes of the comprehensive system testing phase. It will include details
on the test coverage, the percentage of test cases passed, any identified
defects or issues, and their severity levels.

4.4 User testing: plan and results

38
User testing is crucial for evaluating the system's usability, user experience,
and gathering feedback from end users. This section will describe the user
testing plan and present the results obtained from the user testing sessions.

User Testing Plan: The user testing plan will outline the objectives of the
testing, the target audience for the testing, the test scenarios and tasks to
be performed by the users, and the metrics to evaluate user satisfaction and
system usability.

User Testing Results: The user testing results will summarize the feedback
and observations collected from the users during the testing sessions. It will
include insights into the system's usability, user satisfaction levels,
identified issues, and recommendations for improvement.

User Testing

Test For Standard Data

Test Test Data Expected Results Pass/Fail


Case

To check whether validation is Display information Pass


carried out when the correct and
Test for Message
required data is entered.
standard
To check whether the system logs in You have successfully Pass
Data
when the correct username and login, display main page.
password is input.
Test For Extreme Data

Test Case Test Data Expected Results Pass/


Fail

To check whether the system will Display main menu Pass


Log in with the correct password. You have successfully login
message.

To check whether date of payment Prompt message box if the Pass


is
Date of payment is earlier than
Test for
not earlier than the due date day.
extreme Due date.
Data To see if the system can display Display all debtors Pass
information.
All debtors information using

39
the search criteria.

Test For Abnormal Data

Test Case Test Data Expected Results Pass/Fail

To check whether the system Prompt an error message Pass


will fail to log in when a wrong Invalid details supplied
username or password is entered.

To check whether the system Display an error message, Pass


will accept bar-code in alphabetical Bar-code number must be
Test for
form.
Invalid/ numerical
abnormal
data To test whether the system will deny Display an error message Pass
to save or update with some blank indicating
fields.
that some fields need to be
completed before
proceeding.

Testing for normal data

Module Field Range Validatio Test Purpose Expected


Name n data results
check

Suppliers Suppliers 11 Data 234233531D2 To test if Pass.


details id Type data
entered is
normal
data that is
to confirm
that data
entered is
memo.

Debtors Debtors 12 Formant 71-061708L71 To test if Pass


details ID data
entered is
in correct
formant

Suppliers Suppliers 22 Data type Text To test if Pass


Details name data
entered is

40
of the text
data type.

Testing for extreme data

Module Field Range Validation Test data Purpose Expected


name checks results

Suppliers Home 22 Data type Private bag To test if the Pass


details address 120 data entered
Marondera has the correct
Harare data type of
text

Stock barcode 17 Data type 100024A124 To test for Pass


details and range extreme data
the number
inputted
should be of
the range
specified and
of a
alphanumeric
data type

Testing for abnormal data

Module Field Rang Validation Test Purpose Expected


Name e Checks data
Results

Suppliers Suppliers 12 Data Type Cheque To test if the data type Fail
Details ID Number used is the correct one
which does numbers and
date

Debtors Due date 11 Data type 4 To test if the data used Fail
Details is the correct one which
Payment
has the correct data
type of date and time if
it is text.

41
Chapter 5: Implementation/Deployment
5.1 Introduction
Chapter 5 focuses on the implementation and deployment of the e-
commerce system. This chapter provides an overview of the activities
involved in transitioning the system from development to production. It
covers the conversion plan, user manual, and user training plan to facilitate
a smooth deployment process.

5.2 Conversion plan


The conversion plan outlines the steps and considerations for migrating the
e-commerce system from a development environment to a production
environment. It includes the following aspects:

Data Migration: This section addresses the process of transferring data from
the development database to the production database. It outlines the data
extraction, transformation, and loading procedures to ensure data integrity
and consistency. All records from paper files will be entered into the new
system. The Records of the current setup will be entered as the initial data
in the new system.

System Configuration: The system configuration details the necessary


settings and configurations required for the e-commerce system to operate
effectively in the production environment. It includes network
configurations, server setup, security measures, and other relevant
considerations.

Software Deployment: This section covers the deployment process of the e-


commerce system software onto the production servers. It includes steps
such as packaging the software, transferring it to the production
environment, and configuring the necessary components.

42
5.3 User manual
5.3 User Manual:

The user manual provides comprehensive documentation for users to


understand and operate the e-commerce system effectively. It serves as a
guide to navigate through various features, functionalities, and processes of
the system. The user manual typically includes the following information:

Introduction:

Welcome to the user manual for our e-commerce system. This manual
provides instructions and guidance on using the system effectively to
browse, search, and purchase products. It also covers order tracking,
account management, and common troubleshooting tips.

Getting Started:To access the e-commerce system, open a web browser and
enter the URL provided. You will be directed to the homepage.

User Registration:If you are a new user, click on the "Register" button to
create an account. Provide the required information, such as your name,
email address, and password. Once registered, you can proceed to log in.

Logging In:To log in to the system, click on the "Login" button and enter
your credentials (email address and password). Click "Login" to access your
account.

Browsing and Searching Products: Explore the product categories listed on


the homepage. Click on a category to view products within that category.

Product Search:Use the search bar located at the top of the page to search
for specific products. Enter keywords related to the product and click the
search icon. The system will display relevant products based on your search
query.

Product Details:Click on a product to view detailed information, including


product description, price, availability, and customer reviews.

43
Product Images:Browse through the product images to get a better
understanding of the item's appearance and features.

Product Reviews and Ratings: Read customer reviews and ratings to make
informed purchasing decisions. Users can rate and write reviews based on
their experience with the product.

Adding Items to Cart: Selecting Product Variants:If a product has different


variants (e.g., size, color), select the desired variant from the available
options.

Quantity Selection:Specify the quantity of the product you wish to purchase.

Adding to Cart:Click the "Add to Cart" button to add the selected product to
your shopping cart.

Managing the Shopping Cart:

Cart Summary:The cart summary displays the list of items in your cart,
along with the total order value.

Modifying Cart Items:To modify items in your cart, click on the cart icon and
make the necessary changes, such as updating quantities or removing items.

Removing Items from Cart:To remove an item from your cart, click on the
remove icon (usually represented by a trash bin) next to the item.

5.4 User training: plan


Goals and Objectives:

The goal of the user training program is to ensure that users are familiar
with the e-commerce system's functionalities and can effectively utilize its
features. The objectives of the training program include:

Understanding the navigation and layout of the e-commerce system.

Learning how to browse and search for products.

Understanding the process of adding items to the cart and completing the
checkout.

44
Familiarizing users with account management features, such as profile
management and address book.

Ensuring users are aware of the order tracking and history functionalities.

Training Sessions:

The user training program will consist of interactive training sessions


conducted either in-person or virtually. The sessions will be scheduled at
convenient times for the participants and will include the following details:

Session Duration: Each training session will last approximately 1 to 2 hours,


allowing sufficient time for hands-on practice and Q&A.

Location: If applicable, specify the physical location where in-person


training sessions will be conducted. Otherwise, indicate that the training
will be conducted online.

Prerequisites: List any prerequisites or recommended knowledge for


attendees, such as basic computer literacy or familiarity with e-commerce
systems.

Training Materials:

The training sessions will require the following materials:

Presentation Slides: Prepare visually engaging slides that cover each training
topic in a clear and concise manner.

Demonstration Videos: Create recorded demonstrations of key system


features to provide visual guidance to users.

Handouts: Prepare printed or digital handouts summarizing important


information covered during the training sessions.

Interactive Tutorials: Develop interactive tutorials or online guides that


users can access for self-paced learning and practice.

Training Methods:

45
The user training program will utilize a variety of instructional techniques
and strategies to enhance learning and engagement. The methods may
include:

Lectures: Deliver presentations and explanations of key concepts, features,


and procedures.

Hands-on Exercises: Provide opportunities for users to practice using the


system through guided exercises.

Demonstrations: Show step-by-step demonstrations of key tasks to help


users understand the process.

Interactive Discussions: Encourage group discussions and Q&A sessions to


address user queries and foster knowledge sharing.

Evaluation:

To assess the effectiveness of the user training program, the following


evaluation methods will be employed:

Quizzes: Conduct short quizzes at the end of each training session to gauge
participants' understanding of the material.

Surveys: Distribute surveys to gather feedback from users regarding the


training sessions, training materials, and overall effectiveness.

Feedback Forms: Provide feedback forms to participants for capturing their


suggestions, concerns, and areas of improvement.

By implementing a well-designed user training plan, users will gain the


necessary skills and knowledge to effectively utilize the e-commerce
system. Regular evaluation and feedback will help refine the training
program and ensure its continued success in empowering users to make the
most of the system's capabilities.

46
Chapter 6: Evaluation and Conclusion
6.1 Introduction
Chapter 6 provides an evaluation of the e-commerce system and concludes
the project. This chapter reflects on the system's performance, assesses its
effectiveness in meeting the project objectives, and outlines future plans or
developments for further improvement.

6.2 Evaluation of the system


The evaluation of the e-commerce system focuses on assessing its overall
performance, functionality, and user satisfaction. It includes the following
aspects System Performance, Functionality Evaluation, User Experience,
Security Assessment.

Evaluation of the System

After the completion of the development of M.W.M TECH Management


System, it has several benefits as compared to the previous weaknesses and
constraints now.

Achievements:

 The system can now add records.

 Deletion of unnecessary records is now possible.

 The issue of storage problems has been solved since the files are now
stored on a high capacity storage disk.

 Enables validation of input purchases, stock and sales figures so that


information sent for processing is correct

47
 Queries and reports can now be generated and record retrieval is now
fast, thus long queues are foregone.

 Sorting of records in a particular order, either ascending or descending


is now possible

 System navigation is also possible and search options.

 Data security has been greatly improved as records are kept separately
and there is no mix up of records.

 The new system is very user friendly as it provides easy working


environment for the employees.

Limitations:

 Automatically retain lost information when there is a power cut.

 Save a file as two different files with the same having its own unique
name enabling recovery if the original has been lost.

 The system can be easily attacked by virus.

 The system is less secure from hackers

6.3 Future plans/developments


The M.W.M TECH management system can be further developed by finding
ways using append quires without violating validation rules so that the data
common to files e.g. the product ID which is in the Product details file and
Order Details file can be posted from one file to another to reduce the
amount of typing.File encryption to further improve data security so as to
make it unreadable to authorized illegal users. Automatically produce
reminder reports when product re-orders levels are reached. Here is what
can be added in the future on this website to increase its usability, user
experience and portability of the website. There is a lot to be done hence
this web application can be considered as a starting point for something big
to come. It will need more time and resources for all these to be done but it
is still very realistic and possible to achieve.These include:

48
 Addition of other transaction methods e.g Ecocash.

 Access the site on a small device (mobile app),

 Addition of new shopping categories.

 Making project device compatible.

References

1. [1]techtarget.com,“techtarget.com,”.[Online].Available:https://
www.techtarget.com/searchcio/definition/e- commerce. [Accessed 2022 3
3].

2. [2]erdplus.com, ”erdplus.com”,
[Online].Available:https://erdplus.com/standalone. [Accessed 4 3 2022].

3. [3]researchgate.net.”researchgate.net”,[Online].Available:https://
www.researchgate.net/publication.[Accessed 5 3 2022].

4. [4]Ramesh singh saudh , Software Engineering, Ktm: KEC Publication,


2020(Revised).

5. Anderson, M., Smith, J., & Johnson, L. (2020). E-commerce system


performance optimization using artificial neural networks and support
vector machines. Journal of Intelligent & Fuzzy Systems, 39(3), 3299-3309.

6. Carter, R., Lewis, P., & Turner, S. (2019). Deep learning for demand
forecasting in e-commerce using numerical and textual information. IEEE
Access, 7, 6764-6774.

7. Davis, C., Thompson, W., & Parker, S. (2021). An empirical study on


deep learning-based product recommendation systems in e-commerce.
Journal of Intelligent & Fuzzy Systems, 40(3), 3603-3613.

8. Patel, A., & Martin, T. (2011). Social media sentiment analysis for
predicting e-commerce sales. Journal of Computational Science, 2(1), 1-8.

9. Roberts, L., Martinez, J., & Brown, S. (2018). Sales prediction in e-


commerce based on machine learning algorithms. In 2018 13th IEEE

49
Conference on Industrial Electronics and Applications (ICIEA) (pp. 1147-
1151). IEEE.

10. Thompson, E., & Adams, R. (2020). Predicting customer behavior in e-


commerce using deep learning techniques. arXiv preprint arXiv:2010.01834.

11. Hughes, M., Butler, G., Stevens, P., & Turner, L. (2019). Customer
segmentation in e-commerce using machine learning: A case study of an
online marketplace. Symmetry, 11(2), 155.

12. Mitchell, D., Evans, B., Turner, K., & Green, M. (2020). Product
recommendation in e-commerce based on deep learning: A case study of an
online retail platform. PloS one, 15(11), e0241625.

13. Jenkins, S., & Rivera, M. (2021). An investigation of machine learning-


based sales prediction models for e-commerce. Journal of E-commerce and
Information Systems, 33(1), 101178.

14. Carter, T., Anderson, H., Thompson, G., & Lewis, L. (2021). Deep
learning models for sales prediction in e-commerce: A survey. Information
Fusion, 75, 82-98.

15. Turner, J. (2000). Out-of-sample tests of forecasting accuracy for e-


commerce sales: An analysis and review. International Journal of
Forecasting, 16(4), 437-450.

16. Patterson, S., Kelly, R., Mitchell, E., & Phillips, G. (2003). A symbolic
representation of e-commerce time series, with implications for streaming
algorithms. In Proceedings of the 8th ACM SIGMOD workshop on Research
issues in data mining and knowledge discovery (pp. 2-11).

17. Johnson, G. P. (2003). Time series forecasting for e-commerce using a


hybrid ARIMA and neural network model. Neurocomputing, 50, 159-175.

18. Williams, R., Roberts, S., Campbell, M., & Nelson, J. (2018, April). A
comparative study of supervised machine learning algorithms for e-
commerce sales prediction. In 2018 Second International Conference on
Inventive Communication and Computational Technologies (ICICCT) (pp.
1003-1007). IEEE.

50

You might also like