Professional Documents
Culture Documents
PROJECT MWM
PROJECT MWM
By
GROUP MEMBERS
ABDULLAH KASISI
TAKUNDA MUZIMBARANDA
SUPERVISOR: MR C. ZANO
1
Dedication
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
4
Table of Contents
Appendices..............................................................................................................................6
Chapter 3: Design.........................................................................................................20
Input Design...................................................................................................................23
Debtors Details........................................................................................................23
Creditors Details......................................................................................................24
Output Design................................................................................................................24
Chapter 5:Implementation/Deployment..........................................................................42
References............................................................................................................................49
5
Appendices
Figure 1 : Entity-Relationship-Diagram.......................................................................................27
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.
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.
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.
8
Sales and Billing: Streamlined sales process, automated invoicing and
billing, and accurate calculation of taxes and discounts.
1.6 Limitations/challenges
The proposed system may face certain limitations and challenges, including:
Data Migration: Transitioning from the existing manual system to the new
software solution may introduce data inconsistencies and require data
cleansing and transformation.
9
Scalability and Future Expansion: The system should be designed to
accommodate future growth, increased data volumes, and additional
functionalities.
Online Sales and E-commerce: The system will include online sales
functionalities; but will focus on managing in-store operations and
processes.
Web Application: The system will be designed as a web application and may
not include a dedicated mobile or desktop application.
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.
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.
13
2.3 Data requirements
14
Invoices and Receipts: Generated documents that provide a record of sales
transactions, including details of purchased items, prices, taxes, discounts,
and payment information.
Stock Alerts: Notifications and reminders about low stock levels, reorder
points, and upcoming expiration of product warranties.
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.
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.
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 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.
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.
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.
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.
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.
Output Devices
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.
Storage Devices
Hard Disk (500GB 7200 Ultra DMA): Used to store system files and data. At
least 500 GB hard disk is needed.
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.
20
The following are the screenshots of the user interface
21
Image 3: Customer Dashboard
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).
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
27
Review and publish listings: Review the product listings for accuracy and
completeness. Publish the listings on the e-commerce platform.
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.
View Products
Add items to
cart
Process payment
DISPLAY
TRANSACTIO
N RESULT
29
Use-Case Diagram
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.
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
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>
</div>
include("includes/db.php");
include("functions/functions.php");
//getting customer ID
32
if(isset($_GET['c_id'])){
$customer_id = $_GET['c_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'];
$ip_add = getRealIpAddr();
$total = 0;
$status = 'Pending';
$invoice_no = mt_rand();
$i=0;
33
$count_pro = mysqli_num_rows($run_price);
$pro_id = $record['p_id'];
$product_name = $p_price['product_title'];
$product_price = array($p_price['product_price']);
$values = array_sum($product_price);
$total +=$values;
$i++;
}
}
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;
('$customer_id','$sub_total','$invoice_no','$count_pro', NOW(),
'$status')";
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')";
$from = 'mysite@academy.com';
$subject='Order Details';
$message = "
include("includes/db.php");
?>
<?php
$ip = getRealIpAddr();
36
$customer = mysqli_fetch_array($run_customer);
$customer_id = $customer['customer_id'];
?>
<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>
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.
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
39
the search criteria.
40
of the text
data type.
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.
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.
42
5.3 User manual
5.3 User Manual:
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.
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.
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 to Cart:Click the "Add to Cart" button to add the selected product to
your 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.
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 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:
Training Materials:
Presentation Slides: Prepare visually engaging slides that cover each training
topic in a clear and concise manner.
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:
Evaluation:
Quizzes: Conduct short quizzes at the end of each training session to gauge
participants' understanding of the material.
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.
Achievements:
The issue of storage problems has been solved since the files are now
stored on a high capacity storage disk.
47
Queries and reports can now be generated and record retrieval is now
fast, thus long queues are foregone.
Data security has been greatly improved as records are kept separately
and there is no mix up of records.
Limitations:
Save a file as two different files with the same having its own unique
name enabling recovery if the original has been lost.
48
Addition of other transaction methods e.g Ecocash.
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].
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.
8. Patel, A., & Martin, T. (2011). Social media sentiment analysis for
predicting e-commerce sales. Journal of Computational Science, 2(1), 1-8.
49
Conference on Industrial Electronics and Applications (ICIEA) (pp. 1147-
1151). IEEE.
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.
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.
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).
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