Bict Group Project Documentation

You might also like

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

BICT GROUP PROJECT

SALES AND INVENTORY MANAGEMENT SYSTEM

Group | BICT | 28/11/2022


GROUP MEMBERS
ARNOLD NDOMBI JUMA N16/3/0819/019
LANCE NGUMA BARAKA N16/3/0796/019
IAN MATHENGE N16/3/0843/019
BRANDON MURIITHI N16/3/0809/019
KEVIN KIPTOO N16/3/0821/019
KEN KIPSANG N16/3/0835/019

A software project submitted in partial fulfillment for the requirement of the


award of a degree in Bachelor of Science in Information Communication
and Technology. Degree of Laikipia University Main Campus.

FEBRUARY 2023
DECLARATION
This software project is our own original work, and has not been presented
for a degree in any university or any other award.
ARNOLD NDOMBI JUMA(N16/3/0819/019) ………………………
LANCE NGUMA BARAKA(N16/3/0796/019) ……………………
BRANDON MURIITHI(N16/3/08/019) …………………
IAN MATHENGE(N16/3/0843/019) ……………………….
KEN KIPTOO(N16/3/0835/019) ……………………………
KEVIN KIPTOO(N16/3/0821/019) …………………………
CERTIFICATION
The undersigned certifies that he has read and hereby recommends for
acceptance of Laikipia University a software project entitled
Ms Lorna Ogake …………………………..
Date……………………………….
COPYRIGHT
This software project is copyright material protected under the Berne
Convection, the copyright act 1999 and other international and national
enactments in that behalf, on intellectual property, it may not be reproduced
by any means in full or in part except foe short extracts in fair dealings so
for research or private study, critical scholarly review or discourse with
acknowledgment , with written permission of the Dean school of Science
and Applied Technology on behalf of both the authors and Laikipia
University.
DEDICATION

We dedicate this project to Almighty God for he has given us wisdom,


knowledge, understanding and strength to be able to complete this project. I
also dedicate this work to my supervisor Mr Nyakundi, he has guided us all
the way and we have learnt a lot through him till completion of this project.
Finally we dedicate this work to our parents for their support.
ACKNOWLEDGEMENT

We would like to express my sincere thanks and gratitude to each and every
one who helped and gave me support to be able to complete this project.
First, I would thank God and acknowledge the department of Computing and
Informatics in Laikipia University for providing the courses and the
supportive staff that enabled me complete different chapters of this paper.
We are sincerely grateful and thankful to our supervisor mr Nyakundi for
helping, guiding and supporting us throughout the project completion. We
would like to thank our family members for their continuous support
towards our University education, without them life would have been
miserable. Finally, we thank all our friends who have been a support all
through our campus life. Without their support and encouragements our lives
in campus would have been a challenge. May God help you all even as we
exit to life outside Campus.
ABSTRACT
This project is aimed at developing a desktop-based application named
Inventory Management System for managing the inventory system of any
organization. The Inventory Management System (IMS) refers to the system
and processes to manage the stock of organization with the involvement of
Technology system. This system can be used to store the details of the
inventory, stock maintenance, update the inventory based on the sales
details, generate sales and inventory report daily or weekly based. This
project is categorize individual aspects for the sales and inventory
management system. In this system we are solving different problem
affecting to direct sales management and purchase management. Inventory
Management System is important to ensure quality control in businesses that
handle transactions resolving around consumer goods. Without proper
inventory control, a large retail store may run out of stock on an important
item. A good inventory management system will alert the wholesaler when it
is time to record. Inventory Management System is also on important means
of automatically tracking large shipment. An automated Inventory
Management System helps to minimize the errors while recording the stock.
TABLE OF CONTENTS
DECLARATION………………………………………………….2
CERTIFICATION………………………………………………...3
COPYRIGHT……………………………………………………..4
DEDICATION……………………………………………………5
ACKNOWLEDGMENTS………………………………………..6
ABSTRACT……………………………………………………..7
INTRODUCTION………………………………………………..8
Problem statement………………………………………10
Objectives of the project……………………………...11
Features of the project………………………………...12
Inventory details………………………………………12
Scope of application…………………………………...12
LITERATURE REVIEW………………………………..12-14
METHODOLOGY
Introduction………………………………….14
Software process model adopted…………….15
Requirements Gathering……………………..16
System requirements…………………………16
ANALYSIS AND DESIGN………………………………17
Requirement analysis………………….17
IMS requirement………………………18
User requirement……………………...18
Feasibility analysis………………………19
Economic analysis………………………19
Operational feasibility…………………..20
Scheduling feasibility…………………..20
System feasibility………………………20
SYSTEM IMPLEMENTATION AND TESTING……….22
Tools and technology used……………..22
Relational database design……………..22
Screenshots…………………………….24-34
Debugging and testing…………………35
Conclusion…………………………….36-37

INTRODUCTION
A Sales and Inventory Management System is a software application that
helps businesses track and manage sales transactions, inventory levels, and
purchase orders. It automates many manual processes, making it easier to
manage day-to-day operations, improve accuracy and increase efficiency.
The system typically includes modules for:
Sales Order Management: tracking customer orders, processing payments,
and generating invoices.

Inventory Management: keeping track of stock levels, generating purchase


orders, and monitoring stock movements.

Purchase Order Management: managing the procurement of goods and


materials, monitoring supplier performance, and managing vendor
relationships.

Reporting and Analytics: generating reports on sales, inventory, and


customer behavior to help businesses make informed decisions.

The goal of a sales and inventory management system is to help businesses


optimize their inventory levels, reduce stock-outs and overstocking, and
improve their overall supply chain management.

PROBLEM STATEMENT
After analyzing many existing IMS we have now the obvious vision of the
project to be developed. Before we started to build the application team had
many challenges. We defined our problem statement as:

To make desktop based application of IMS for small organization.

 To make the system easily managed and can be secured.

 To cover all the areas of IMS like purchase details, sales details and stock
management.

Objective of the Project


1.4.1 Primary objective

The primary objectives of the project are mentioned below:

 To fulfill the requirement for achieving the Bachelor’s degree of


Computer Information System.

The secondary objectives of this project are mentioned below:

 To develop an application that deals with the day to day requirement of


any production organization

 To develop the easy management of the inventory

 To handle the inventory details like sales details, purchase details and
balance stock details.

 To provide competitive advantage to the organization.

 To provide details information about the stock balance.

 To make the stock manageable and simplify the use of inventory in the
organization.

Features of Project

This application is used to show the stock remaining and details about the
sales and purchase. It gives the details about the stock on daily based and
weekly based. The details components are described below:

Login page: As application starts the login page appears. Admin login is
determined by the username and password that has all the authority to add,
update and delete the stock of the organization as per the requirements
Inventory details:

Inventory details refer to information about the stock of goods and materials
a business keeps on hand. This information is crucial in managing the supply
chain and ensuring that there is enough stock to meet customer demand
while avoiding overstocking and stock-outs.

Sales details: It show the details about the sales and the remaining stock of
sales. It also show the details about the sales in return.

Purchase details: It shows the details about the purchase made by the
organization along with the price and dates.

Scope of the Application

Inventory Management System (IMS) is targeted to the small or medium


organization which doesn’t have many warehouses i.e. only to those
organization that has single power of authority. Some of the scope are:

 Only one person is responsible in assigning the details or records

 It is security driven.

2.LITERATURE REVIEW

"Many business currently manages sales and inventory manually using


spreadsheets and paper-based systems, leading to inefficiencies, errors, and
difficulties in tracking sales and inventory in real-time. As a result, they face
issues with stock-outs, overstocking, and limited visibility into their sales
and inventory data. This negatively impacts levels of customer satisfaction,
profitability, and decision-making ability.

We need a solution that can automate sales and inventory processes, provide
real-time visibility into our data, and improve accuracy and efficiency in
managing our sales and inventory. The solution should integrate with
existing systems, be user-friendly and scalable, and provide robust reporting
and analytics capabilities."

Products are considered as the business resources for the organization. This
includes managing the product with appropriate way to review any time as
per the requirement. Therefore it is important to have a computer based IMS
which has the ability to generate reports, maintain the balance of the stock,
details about the purchase and sales in the organization. Before developing
this application we came up with 2 Inventory Management System existing
in the market, which helps to give the knowledge for the development of our
project. These application software are only used by the large organization
but so we came up with the application which can be used by the small
company for the management of their stock in the production houses. After
analyzing the other inventory management system we decided to include
some of common and key inventory management system. So we decided to
include those things that help the small organization in a way or other.
METHODOLOGY

Introduction

A Software Development Life Cycle (SDLC) is a framework that describes


the stages of software design, development, and maintenance. Over the
years, a wide range of such frameworks have emerged, each with its own set
of recognized strengths and weaknesses. One software development
methodology may not be appropriate for all projects. Based on various
factors, each of the available methodologies is best suited to specific types of
projects.

SOFTWARE PROCESS MODEL ADOPTED

During development of this software project iterative process model was


used, where the development process employed a lot of iterations. The
process involved planning, design, development and testing steps.
Strength of iterative process model

The choice of this iterative process model in the project is to ensure working
software quickly and at early stage of the development life cycle, less costly
to change scope and requirements, test and debug easily and manage risks
identified during the iteration process.
Weakness of iterative process model

Although the cost of change is lesser, the process is not very suitable for
changing requirements. More management attention is needed.

Figure 1: Iterative Process Model

REQUIREMENTS GATHERING

The data for the study will come from both primary and secondary sources.
Primary sources

Questionnaires, interviews, and observations will be utilized to gather


information.
Secondary sources

In addition to the core data described above, secondary data will be acquired
over the course of this study. These were gathered and examined historical
data from both public and unpublished sources in order to track the existence
of an event in the past and provide support for data from primary sources.
Government and local government publications, books, journals,
newspapers, magazines, and past theses are examples of secondary sources.

. System Requirements.

These are both hardware and software required for the smooth running of the
proposed

System. They include:

Hardware Requirements

 Intel processor speed of 1.0GHz onwards


 4GB RAM

4.ANALYSIS AND DESIGN


Background Research

We started research by identifying the need of IMS in the organization.


Initially we bounded our research to find the general reasons that emerged
the needs of Inventory Management System. We used different techniques to
collect the data that can clearly give us the overall image of the application.
The techniques we used were interview with the developers, visiting online
websites that are presented as the templates and visiting some organization
to see their IMS application.

Basically the following factors forced us to develop IMS application:

 Cost and affordability

 Lack of stock management.

 Effective flow of stock transfer and management.

 Difficulty in monitoring the stock management.

Requirement Analysis
We collected a number of requirements for project from our primitive
research, website visits, and interview to the concerned personnel and their
experiences regarding the concepts of its development. We have even visited
some organization in Nyahururu and analyze its importance and try to
develop the project by fulfilling all the weakness that were found in the
application. We then decided to bulid same type of application with different
logic flow and new language which will be suitable for the small
organization.

IMS Requirement
The goal for the application is to manage the inventory management
function of the organization. Once it is automated all the functions can be
effectively managed and the organization can achieve the competitive
advantage. Business requirement are discussed in the Scope section, with the
following additional details:

 Helps to search the specific product and remaining stock.

 Details information about the product sales and purchase.

 It helps to identify the total presented inventory in the company.

 There is proper transaction management of inventory.

 All transaction have specific entry date along with quantity and rate.

 admin and user can login in the page.

Users Requirement

User requirement are categorized by the user type

Admin

Through this account you have rights to see every detail of the bakery.

Change the password and account types

Able to edit the entry as per entry.

Able to add, modify and delete the stock entry.

User

 This a Limited access account. This account is for employees of the


bakery. Through this account you can sell products,
 make transaction,
 can see current products in bakery etc.

Feasibility Analysis

This software has been tested for various feasibility criterions from various
point of views.

Economic Feasibility

The system is estimated to be economically affordable. The system is


medium scale desktop application and has affordable price. The benefits
include increased efficiency, effectiveness, and the better performance.

Comparing the cost and benefits the system is found to be economically


feasible.

Technical Feasibility Development of the system requires tools like:

Python module Tkinter

Python module Sqlite3

Which are easily available within the estimated cost and schedule.

Operational Feasibility

The system provides better solution to the libraries by adding the typical
requirement and necessities. The solution provided by this system will be
acceptable to ultimate solution for the stock management.

Schedule Feasibility
The organized schedule for the development of the system is presented in
the schedule sub-section. The reasonable timeline reveals that the system
development can be finished on desired time framework.

SYSTEM DESIGN

Architectural design

Process flow diagram

Process Flow Diagram or Flowchart is a diagram which uses geometric


symbols and arrows to define the relationships. It is a diagrammatic
representation of the algorithm. The Process flow Diagram of our
application is shown below :
5.SYSTEM IMPLEMENTATION AND TESTING
Tools and technology used

IMPLEMENTATION
Project’s GUI is implemented using Python module Tkinter which has a
Database at backend to maintain all records of the bakery. Project is
implemented by using OOP Paradigm.

Database is implemented by a Python module Sqlite3.It is a SQl based


database.

This project has two different account types, for bakery’s administrator and
for bakery’s employee. Both accounts have different options according to
their accessibility.

RELATIONAL DATA BASE DESIGN


Login-: Login table is for keeping username, passwords and account type of
users. Login table has three attributes -:

 Username (Primary key)


 Password (Not Null)
 Account type (Not Null)

Password and Account Type are mandatory fields.

Products-: Product table is for keeping details of products in the bakery.


Product table has 6 attributes-:
 Product id (Primary key)
 Product name (Not Null)
 Description
 Category
 Price (Not Null)
 Stock (Not Null)

Product Name, Price and Stock are mandatory fields.

 Sales-: Sales table is for keeping transaction records of the bakery. This
table has 6 attributes-:
 Transaction id (Primary key)
 Invoice no. (Not Null)
 Product id (Foreign key)
 Quantity (Not Null)
 Date
 Time
Invoice no. and Quantity are mandatory fields.
Here Transaction no. is for transaction of product and Invoice
no. is bill number.

These tables are in 3rd Normal form.

RUN PROGRAM
To run Program, you have to run main.py on shell.

PROJECT SCREENSHOT

Admin Login page

To log in to admin type account

Username—Arnold Juma

Password---Bradley28J

To login in User type account-:

Username-> LANCE NGUMA

Password-> NGUMA28

Username and Password are not case sensitive.


You can either click sign in button or press Enter to login.

ADMIN ACCOUNT

 Inventory-: An inventory window opens up. Through this window you


can edit product details or add stock to the product or remove product
that are out of stock. You can search in this table by product description.
You can select any row of the table the entry boxed will fill automatically.

To update product detail just press update button. Table is dynamic in nature
it will get automatically updated. To remove product just press remove
button

To reset search option just press reset button.

 Items-: You can add items to the inventory through items button. Here
Product id should be in numbers. Product id and product description
should be unique. Press add item button to add item to the bakery or
Back button to go back to the inventory.

Here Category search box is a suggestion box it will fill automatically


and will give suggestion to the user.
 Profiles-: To check Profiles currently in bakery’s database user can click
profile button. All entry boxes will fill automatically if you select any
row of the table. You can edit or remove accounts from the data base.
You can also edit passwords of the user profiles.
User can also create a new profile by clicking on create user button. A
register user window will pop up. By default, it will create a User
account. To make it Admin type you can edit its property through profile
type combo box.

 Sign Out-: To sign out click sign out button. You will get back to Login
window.
 Quit-: To quit Inventory user can press quit button to exit the Inventory
or X button on the window.

USER ACCOUNT
This a Limited access account. This account is for employees of Kai and
Karo. Through this account you can sell products, make transaction, can see
current products in the car shop etc.

Invoice-: By clicking Invoice Button. You will enter to the transaction


window. There is Invoice no. at top, this is bill no. by which you can fetch
the bill details through Sales button in Admin type account

After Invoice no. there is transaction table. It will get automatically filled
when you enter a product for sale.

User can search Product by description or Product id in search box. This box
will provide suggestions to the user. To make entry in Transaction table
Press Add cart button. Automatically its product detail will get displayed.
Here product details are not for edit it is a User type account.

You can remove any record from current transaction by clicking remove
button.
To make a Bill User can click proceed button.

After proceed, it will prompt user to take a print out of this transaction.

 Items-: User can view Items in the shop. The details are not for edit.
 Sign Out-: To sign out click sign out button. You will get back to Login
window.

Quit-: To quit Inventory user can press quit button to exit the Inventory or X
button on the window
DEBUGGING AND TESTING

Purpose of Testing The purpose of software testing is to access or evaluate


the capabilities or attributes of a software program’s ability to adequately
meet the applicable standards and application need. Testing does not ensure
quality and the purpose of testing is not to find bugs. Testing can be
verification and validation or reliability estimation. The primary objective if
testing includes:

 To identifying defects in the application

.  The most important role of testing is simply to provide information

.  to check the proper working of the application while inserting updating


and deleting the entry of the products.

Type of Testing We have used one type of testing to ensure the error free
features of our software application:

Units Test This type of testing is the testing of individual software


components. It is typically done by the programmer and not by the testers. It
requires details information and knowledge about the internal program
design and code to perform this.

During unit testing, we carried out various testing task such as the reflection
of the unit data on database and its interface. Various types of bugs
associated with the component were identified and fixed. We use various
functional keys to test our software.

In our software unit testing is concerned with the stock units, opening stock
units and product units validation as well as the validation of product units.
CONCLUSION AND LESSON LEARNT

Project Limitation Since this is our first project it has some limitation. Due
to less knowledge in particular fields and limited time we were not able to
fulfill all our expectations that we expected we could do while the project
got started. We hope this limitations are considerable. Some of the project
limitations are:

 This application is not suitable for those organization where there is large
quantity of product and different level of warehouses

 This software application is able to generate only simple reports.

 Single admin panel is only made.

 It is not suitable for large organization

Conclusion

To conclude, Inventory Management System is a simple desktop based


application basically suitable for small organization. It has every basic items
which are used for the small organization. Our team is successful in making
the application where we can update, insert and delete the item as per the
requirement. This application also provides a simple report on daily basis to
know the daily sales and purchase details.

Though it has some limitations, our team strongly believes that the
implementation of this system will surely benefit the organization.

You might also like