Anything Possible
Anything Possible
W A S C NANDASENA
2018
Point of Sale and Stock Management
System for Wathumal Traders
(PVT), Ltd.
WA S C NANDASENA
University of Colombo School of Computing
2018
Declaration
The thesis is my original work and has not been submitted previously for a degree at this or
any other university/institute.
To the best of my knowledge it does not contain any material published or written by another
person, except as acknowledged in the text.
_____________________
Signature: Date: 20th February 2018
Certified by:
Supervisor Name: Dr. Enosha Hettiarachchi
_____________________
Signature: Date: 20th February 2018
i
Abstract
Any shop or a market place needs a proper Point of Sale (POS) and Stock Management System,
since manual managing of stocks is considered to be a very difficult task. Mishandling of stock
could lead to dire consequences like stock expiration, storage issues, and loss of sale.
Point of sales and stock management system provide facilities such as tracking availability of
stock for uninterrupted sales, providing a scientific basis for planning an inventory, aiding the
decision making of the management to ensure the stock allocation are done appropriately, and
reducing wastage whilst saving time.
The client for the project, Wathumal Traders (PVT) Ltd, is vending grocery items and kitchen
related products. Currently the processes related to selling items are done manually. Hence it
is very difficult to generate data to make future sales predictions, and to efficiently summarize
transactions to fulfil the regulatory requirements. So Wathumal Traders (PVT), Ltd plans to
terminate the traditional methods which are inefficient and go for an automated system.
When the manual system is automated, the company will be able to calculate revenue due for
every order entered, record the method of the payments, price adjustments and initiate
promotion campaigns.
The automated system is tested using various testing methods such as unit test, Integration test,
System test and finally Acceptance test. First the units of codes are tested and which is called
a code level testing. To test the modules of the system an integration testing is performed. The
whole system gets tested after the unit testing and integration testing to guarantee the standard
of the system using an environment similar to the environment where the system is going to
practically used. A customer confirmation is obtained by a user acceptance testing after the
completion of the system. It ensures the requirements are fulfilled by the developed system.
This Stock and POS portal has the scope of all the main function required for a stock process,
such as: .Build point of sales module for the Wathumal Traders, Enable add item to the stock,
Get details about Business, Get details about due customers, Upload new stock by using SQL,
Download current stock database, Generate reports that include in total revenue, no of items in
stock, Custom Bar code generation and return items.
ii
Acknowledgment
I would like to express my deepest appreciation to all those who provided me the possibility to
complete this project. I am especially grateful to my supervisor and coordinator, Dr. Enosha
Hettiarachchi who has supported and guided me to carry out the project and provided
suggestions and encouragement during the development of system.
Furthermore I would like to acknowledge with much appreciation the crucial role of the staff
of Wathumal Traders (PVT), Ltd, who gave the permission to use all required documents to
complete the project.
I would also like to take this opportunity to thank my friends and colleagues, who gave endless
support and advices during the development of this project.
I am also indebted to my parents and my beloved wife. Without the continued support and
encouragement provided by them, especially during those difficult times, I may have not
reached the end of this strenuous journey.
W.A.S.C NANDASENA
iii
Table of Contents
Declaration .................................................................................................................................. i
Abstract ......................................................................................................................................ii
Acknowledgment ..................................................................................................................... iii
List of Tables ...........................................................................................................................vii
List of Figures ........................................................................................................................ viii
List of Abbreviations ................................................................................................................ ix
Chapter 1 Introduction ............................................................................................................... 1
1.1 Introduction ................................................................................................................. 1
1.2 Problem Statement ...................................................................................................... 1
1.3 Motivation of the project ............................................................................................. 2
1.4 Objectives of proposed system .................................................................................... 2
1.5 Scope of the project ..................................................................................................... 3
1.6 Dissertation Outline..................................................................................................... 4
Chapter 2 Background ............................................................................................................... 6
2.1 Introduction ................................................................................................................. 6
2.2 Review of present well-known Point of Sale and Stock Management Systems ......... 6
2.3 Critical Analysis of Similar Systems .......................................................................... 8
2.4 Summary ..................................................................................................................... 8
Chapter 3 Analysis and Design .................................................................................................. 9
3.1 Introduction ................................................................................................................. 9
3.2 Requirements Gathering .............................................................................................. 9
3.2.1 Fact Finding Techniques ...................................................................................... 9
3.3 Requirement analysis and Management .................................................................... 10
3.4 Analysis of the ongoing systems ............................................................................... 10
3.5 Requirements for the new system ............................................................................. 10
3.5.1 Functional Requirements ................................................................................... 10
3.5.2 Non-Functional Requirements ........................................................................... 13
3.5.3 Hardware and Software requirements ................................................................ 14
3.5.4 System Architecture ........................................................................................... 15
3.6 Design of system ....................................................................................................... 15
3.6.1 Introduction ........................................................................................................ 15
3.6.2 ER Diagram ....................................................................................................... 15
3.6.3 Use case descriptions ......................................................................................... 16
3.6.4 High-level use case diagram for the system ...................................................... 20
iv
3.6.5 Sequence diagrams for entire process ................................................................ 20
3.6.6 Class diagram for the system ............................................................................. 22
3.7 Summary ................................................................................................................... 22
Chapter 4 Implementation........................................................................................................ 23
4.1 Introduction ............................................................................................................... 23
4.2 System Overview ...................................................................................................... 24
4.3 Add Section ............................................................................................................... 25
4.4 Printing Section ......................................................................................................... 27
4.5 Technology and Tools ............................................................................................... 28
4.6 Hardware and Software /Application Requirements ................................................. 29
4.6.1 Hardware configuration for user PC .................................................................. 29
4.7 Server Environment................................................................................................... 30
4.7.1 Hardware Configuration .................................................................................... 30
4.7.2 Software/Application Configuration .................................................................. 30
4.8 Client side requirement ............................................................................................. 30
4.8.1 Hardware Configuration .................................................................................... 30
4.8.2 Major code segments ......................................................................................... 30
4.8.3 Validation ........................................................................................................... 32
4.9 Summary ................................................................................................................... 34
Chapter 5 Evaluation and Testing ............................................................................................ 35
5.1 Introduction ............................................................................................................... 35
5.2 Main objective of the Test process ............................................................................ 35
5.3 Front End Testing ...................................................................................................... 35
5.4 Test Cases .................................................................................................................. 36
5.4.1 Unit Testing ....................................................................................................... 36
5.4.2 Integration Testing ............................................................................................. 36
5.4.3 System Testing ................................................................................................... 36
5.4.4 Black-box testing ............................................................................................... 37
5.4.5 White-box testing ............................................................................................... 37
5.4.6 Regression Testing ............................................................................................. 37
5.5 Automated testing for Wathumal traders .................................................................. 42
5.6 User Acceptance form ............................................................................................... 42
5.7 Summary ................................................................................................................... 42
Chapter 6 Conclusion and Future work ................................................................................... 43
6.1 Introduction ............................................................................................................... 43
v
6.2 Lesson learned ........................................................................................................... 43
6.3 Conclusion................................................................................................................. 43
6.3.1 Future Works ..................................................................................................... 43
References ................................................................................................................................ 44
APPENDIX A – Use Cases ..................................................................................................... 45
APPENDIX B – Activity Diagrams ........................................................................................ 48
APPENDIX C – User Manual ................................................................................................. 50
APPENDIX D - Questionnaires............................................................................................... 57
APPENDIX E – Test Cases ..................................................................................................... 66
vi
List of Tables
vii
List of Figures
Figure 3-1: ER diagram ........................................................................................................... 16
Figure 3-2 :High-level use case diagram ................................................................................. 20
Figure 3-3 : Sequence Diagram ............................................................................................... 21
Figure 3-4: Class Diagram ....................................................................................................... 22
Figure 4-1: POS Section .......................................................................................................... 24
Figure 4-13: Validation of required id ..................................................................................... 33
Figure 4-16: Validation of Quantity ........................................................................................ 34
Figure B 1: Activity diagram of Add items ............................................................................. 48
Figure B 2: Activity diagram of Logging ................................................................................ 49
Figure C 1 logging ................................................................................................................... 50
Figure C 2: cashier logging ...................................................................................................... 51
Figure C 3: Cashier sales orders .............................................................................................. 51
Figure C 11: Payments ............................................................................................................. 56
Figure C 12: Back up ............................................................................................................... 56
Figure D 1: Evaluation of attractiveness of the interface ........................................................ 59
Figure D 2: Evaluation of the complicated aspect ................................................................... 59
Figure D 3: Evaluation of the process in the software ............................................................. 60
Figure D 4: Evaluation of the speed of the software ............................................................... 60
Figure D 5: Evaluation of the user communication ................................................................. 61
Figure D 6: Evaluation of response rate .................................................................................. 61
Figure D 7: Evaluation of satisfaction with the software solution........................................... 62
Figure D 8: Evaluation of service provide by the software ..................................................... 62
Figure D 9: Evaluation of fulfilment of user requirements...................................................... 63
Figure D 10: Evaluation of title used ....................................................................................... 63
Figure D 11: Evaluation of the software guide and the manual .............................................. 64
Figure D 12: Evaluation of compatibility with other application software ............................. 64
Figure D 13: Evaluation of software robustness ...................................................................... 65
Figure D 14: Evaluation of users’ likeliness of recommending the software to others ........... 65
viii
List of Abbreviations
ER Diagram …………………………. Entity Relationship Diagram
UAT …………………………. User Acceptance Test
POS …………………………. Point Of Sale
UML …………………………. Unified Modeling Language
CUITs …………………………. Coded User Interface Tests
UI …………………………. User Interface
ix
Chapter 1 Introduction
1.1 Introduction
Any shop or a market place needs a proper Point of Sale (POS) and Stock Management System,
since manual managing of stocks is considered to be a very difficult task. Mishandling of stock
could lead to dire consequences like stock expiration, storage issues, and loss of sale. Manual
processing of stock management, sales handling and reporting is a time consuming process. It
also generates a lot of paper work in day to day activities. All these procedures are inefficient
and expensive. To overcome these problems, proper Point of Sale (POS) and Stock
Management System need to be implemented. The client for the project, Wathumal Traders
(PVT), Ltd, vends grocery and kitchen items. Currently recordings related to stock and sales
items are done manually. It is cumbersome to generate reports to analyse the past data to
identify trends, and to fulfil regulatory requirements. In order to be more efficient and cost
effective they planned to terminate the traditional methods and move towards an automated
system.
This system will assist the company to calculate cash due for every order entered, record the
method of payment, keeps track of the items sold and record information on debtors .The
system will display the debtor due period by separate colours indicating their due period. This
will enable the user to identify the debtors who will likely to become bad debtors and could
stop further business with them.
Wathumal Traders (PVT), Ltd carries their recordings manually and enters all the data to a
paper based system. Due to manual handling of work, they have to face several drawbacks. All
these procedure are time consuming. They could not get reports of the daily revenue, daily
sales, item of the stock, and items that need to be reordered for the stock. Also, traditional
methods are inefficient and generates substantial amount of paper records. For an example
extracting relevant information about previous revenue from the ledger book for investment
decision-making is a complicated and a time consuming task. Deterioration of records,
unreadable hand writing leads to confusion and many documents were found with incomplete
information. This leads to incorrect resources allocation which mainly affect the profit margins.
1
Lack of up to date and real time information on stocks due to not connection between all the
modules of systems creates significant issues in the business. Mishandling of stocks is
untraceable and it has become a serious problem at most of the companies at present.
The company also faces a problem of bad debts. The Manual recordings hardly help to identify
the debtor periods and untrustworthy trade partners.
The unnecessary gathering of the inventory creates problems such as excessive wear housing
costs and inventory management costs. Unable to identify the goods which are nearing to the
expiry date also creates wastage of goods.
The company also faces a challenge in identifying the goods which are in frequent high demand
and seasonal trends.
Point of sale and stock management system mainly involves maintaining the record of stock
and cash registry of the shop, which could include a system to analyse data and find new trends
in sales items.
When the Point of sale and stock management system is implemented, the company will be
able to calculate revenue due for every order entered, record the method of the payments, price
adjustments and initiate promotion campaigns.
It also provide facilities to keep records on customer details, generate reports and get historical
data about products, customers and suppliers. This aids the decision making process of the
management.
This system combines all those facilities together to achieve better control and management.
Main objective of this system is to automate the manual stock management system. Then the
company will be able to calculate revenue due for every order entered, record the method of
the payments, and price adjusting and promotion campaign. Sub objectives in this system can
be listed as follows,
2
2. Develop a strong point of sales and stock management system to handle stock
management.
3. Enforce security by adding user account with different privilege and regular data
backup.
4. Provide point of sales of stock management system with detailed report for sorted
according to the needs of the management, such as report by best- selling, report by
purchase date, report by current stock data, daily sales, identify items which near to
expire date. Also record by payment due date, report by payment methods.
5. Create the point of sales module for the Wathumal Traders using barcode searching and
item searching.
6. Obtain the details about Business behaviour based on total profit per month, no of items
in the stock, investment for current stock.
7. Obtain the details about due customers and amount due from those customers.
8. Generate the custom bar code for items such as vegetables.
9. Support various types of POS printers to print bill
This point of sales section of this system mainly consists of modules for product customer and
reporting. For the customer module, system gives the detail about payments. After the payment
(cash/credit) receipt will be printed through the system. Customer can pay any amount of the
due payment for bill and remaining amount of the payment will be recorded. Managers will be
provided with authority to adjust prices and conduct promotion campaign when necessity arise.
They can also edit the receipt details when any product is incorrectly entered by cashier. Also,
System can provide reports that the management needs for the analysing purposes. There will
be three type of reports. One such report is time based report. It provides details above the sales
of stock, expire date of stock, available quantity of stock on daily, weekly , monthly, quarterly,
and annual basis. Another one is product base report. This describe availability of the stock as
future demands of the items. This open a clear path to manager to take decisions about
introducing new products to the market. As well as it will remove existing products which has
come to its declining stage. Next report is payments report. This provide details of payments
methods, due payments, with respective customers. User should be able to logging the system
and perform their duties. They will be authorized to perform their task according to the
3
difference user levels and privileges. Managers can used their privileges to user management
and logging module. Stock part is handle by manager of the branch. Various types of items
selling by the shop. Suppliers are included in the suppliers’ category. Items supplied by the
suppliers are included in the items category. System can allocate space for different item which
comes under difference suppliers. Also, it provide space for single item which supplied by
difference suppliers.
All the items are issued by the cashier of the shop. All the details regarding issuing items will
be maintained by this issue section. Manger can check the issued items. Discount prices are
given for some items. All the discount related decisions are taken by the Manager.
All the return items will be handle by manager. Coordinating with suppliers to return their
rejected items is also another task comes under the return section. At the same time, when some
items got expired, destroying or removing of such items from the existing stock will also be
handle by this section.
Chapter 1-Introduction
Describes the problems being faced currently and how to address all those problems with the
proposed system. Project scope, goals and dissertation structure is also provided.
Chapter 2-Background
This chapter targets a crucial review of matching systems and technologies and related
applications. Additionally, it is aimed for the evaluation of stock management process and
justification of tool and technology selections with quotation.
Chapter 4-Implementation
Appropriate coding and implementation tools and techniques which are used to developing the
system are included.
4
Chapter 5-Evaluation
Developed system is tested against the user requirements, which are gathered at the beginning.
Actual data from the client’s environment is used. The chapter also includes aspects such as
test plan, test cases, use of test automation tools and testing frameworks.
5
Chapter 2 Background
2.1 Introduction
Computerization makes it easy for a company do to their internal and external work. There are
many studies found in terms of implementing point of sales and stock management software.
The idea is that they are very common and people may find it difficult to customize according
to their business needs because of their busy life cycle. Businessmen are now interested in
customized software module for their business to reduce their busy work load. Because they
believe that customized solution always become user friendly as it is required very less
technical knowledge to operate. These reasons shows a path to develop simple user friendly
system.
There are plenty of Point of Sales and Stock Management systems which are using around the
world to make it easy to sell items and Stock Management. Developing POS and Stock
management industry is enhancing daily and can forecast well way beyond the borders. Few
of them are,
myPOS
myPOS is a point of sales solution, used in Cool planet fashion chain in Sri Lanka. It gives you
a convenient way of checking out customers and of recording sales whilst keeping record of
the order processing, printing out receipts, carrying out promotions, tracking customers,
managing sales assistants performances, etc. The system eases the flow at checkout terminals,
while recording all the information that can help you make better business decisions.
When checking out a customer Sales person can input the sales item, use a bar code scanner.
myPOS also provides reports on inventory, sales, customers, etc. Since it is already recording
each sale, it can easily tell you the sales and revenue of the day.
myPOS provides an easy to use interface for all activities of the sales person and It can make
the job of the cashier a lot easier by automating the routine tasks of the day. myPOS comes
6
with a wide variety of modules and Sales person can choose one that fits your budget and meets
the needs of his particular business. [1]
WallacePOS
WallacePOS is an open-source, intuitive & modern web based POS & business management
system. It uses the power of the modern web to provide an easy to use & extensible solution
suitable from small to medium businesses. It's also compatible with standard POS hardware
including receipt printers, cash draws and barcode scanners. With a rich administration
dashboard and reporting features, WallacePOS is accessible to managers and staff levels. All
the records are kept digitally. Their databases are accessible via internet. All data is made
available for export & external analysis. Configuration and item updates are delivered to POS
terminals in real time Supports POS hardware across a large number of devices and operating
systems. It Compatible with receipt printers, cash draws and standard USB barcode scanners
and also it Produces Professional receipts complete with your logo, custom text & QR code[2]
INVcool
This Provides complete physical inventory capabilities and makes inventory tracking easy with
worksheets and variance reports. It helps to Record detailed information (purchase date,
purchase cost, warranty expiration date, etc.) against inventory and stock items.
This will allow you to post charges to the Job Cost module for more complete tracking of
materials used on a project.it gives customer to easily access a complete audit trail with history,
actions and events performed by all users .It provides facility to tracks minimum, maximum,
and order point stocking levels by part to help keep stock quantities at optimum levels. Also it
provides instant inquiry of part information, including receipts, issues, returns, and
adjustments.
Its Leverages four costing methods: Standard, Average, FIFO, and LIFO.It gives easily copies
an existing part to a new part, making the setup of like items faster and easier.
It Performs transfers and disposals for individual items or groups of items. And it stores a full
history and future maintenance plans for each item.
It has facility to link inventory items with fixed assets system register INVcool produce a full
range of standard and customized reports. [3]
7
2.3 Critical Analysis of Similar Systems
2.4 Summary
This chapter gives a review of matching systems and technologies and related applications.
Additionally, it is aimed at the evaluation of stock management process and justification of tool
and technology selections with quotation.
This project has been compared with the stock management software such as myPOS,
WallacePOS and INVcool. The critical analysis of this has been shown in the above table 2.1.
8
Chapter 3 Analysis and Design
3.1 Introduction
Analysis phase mainly focused on requirement gathering, fact finding and identifying the
functional and non-functional requirements in the system. In addition, rapid analysis of existing
Point of sale and stock management systems are discussed. At the end of the analysis phase,
the system can proceed in to the design phase, that consider the software architecture design
and primary diagram designs.
Interviews
Interview is one of the best source to find out the flow of a requirement gathering
process. Each professional prefers customize flow where they can adapt. Choosing the
best flow for the process is a challenge based on different interests. However
associating with few in a list can come to a stage where we can decide an optimal flow.
9
Unstructured Interviews
A general objective or business domain in mind. Questions can differ from one
individual to another.
Structured Interviews
Pre-defined certain list of questions maintained to inquire from the interviewee.
Current work process need to be evaluated prior to any system design drafting. It can be the
best place to start with requirement analysis. When the ongoing steps and process are clear it
very easy to extract the change requirement and then new addition that needs to be
implemented.
10
Can generate new invoice
Remove item from the cart
Available for various payment method( cash/credit)
Print preview of invoice
Print option of two sizes of bill type
11
4. Obtain the details about due customers
5. Download current stock database as backup.
6. Generate reports that include total revenue, no of items in stock
7. Build point of sales module for the Wathumal Traders.
Add new item to the shopping card by using item name.
Add new item to shopping card by using bar code.
Can check available quantity.
Can adjust price of the item
Can generate new invoice
Remove item from the cart
Available for various payment method( cash/credit)
Print preview of invoice
Print option of using various pepper size)
Performance
Loading time is obviously an important part of any user experience. And many times, we’ll let
it slide to accommodate better aesthetic design, new attractive functionality or to add more
content to one pages. For example cashier sales part includes barcode reader and item issuing
and able to verify stuff for the cashier
Reliability
Information that contains within the system needs to be accurate and consistence. Most of the
shop work depends on the system. So it needs be accurate if not the business will fall.
User Friendliness
Users should quickly need to get the hang of the system flow. In addition, cashier should be
issue items speedily without wasting time of the customer. Therefore POS Interface should be
more user friendly than others. The main intention is that this system is being used by less
educated individuals and they should be understood it easily.
Availability
System Bar code reader and POS should be available all the time in the Shop without any
interrupt.
13
Security and safety
System should be secure enough to handled stock information. As well as have to provide
secure access to the admin users because they have the take decision about the Sales of the
shop, Total revenue, Current Stock, Best-selling Items, Least selling items
Privacy
Maintain security measurements for company reports is a must. Alone with that assign user
privileges and Separate Logging for Reports which consist of information such as total revenue
,stock level and other business data are an important part in the software. The cashier do not
have the authorization to view the stock levels, add items to the system or view reports. Thus
the system has a sound security.
14
3.5.4 System Architecture
The Client (also called the Presentation layer) typically could be a client application written in
Atomic. This is the Wathumal Traders exe is the app which mainly interact with client.
The logic tier (also called Business logic layer) is typically .net framework which is used to
implement this system. This is the brains of a 3-tier app and is responsible for receiving and
transmitting requests and responses from and to the presentation client. It also acts as the
intermediary to the back-end database.
The database tier is typically a database server such as MySQL, or Oracle, It could also be a
database server, that itself handles stock data. In this system Wathumal Traders data base
represents the data base tier. [4].
3.6.1 Introduction
The design and implementation phase on this system development will concern about the
design of suggested program using Unified Modelling Language (UML) plus the interpretation
of the design to the desired design specifications and source code. The main objective of the
implementation is to generate the source code and that adheres to the specifications.
3.6.2 ER Diagram
An entity–relationship model is usually the result of systematic analysis to define and describe
what is important to processes in an area of a business. It does not define the business processes;
it only presents a business data schema in graphical form. It is usually drawn in a graphical
15
form as boxes (entities) that are connected by lines (relationships) which express the
associations and dependencies between entities. [5]
A use case is a methodology used in system analysis to identify, clarify, and organize system
requirements. Use case diagrams are employed in UML (Unified Modelling Language), a
standard notation for the modelling of real-world objects and systems. UML shows the various
activities users can perform in the system and represent the dynamic aspects of system also
16
provides user’s perspective of the system. In user case diagram an actor are users of the system
and playing a role. [6]
Post conditions
17
Use-Case Add item to stock
Actor Manager
Overview
Post conditions
18
Use-Case Generate barcode of item
Actor Manager
Overview
Post conditions
19
3.6.4 High-level use case diagram for the system
High level use case diagram provides the brief description of three actors such as, cashier,
manager and customers.
The Sequence diagrams mainly use to identify the process in easily understandable way.
Without high level software architecture or design knowledge can identify each event and its
logic with the main key objects. In the below sequence diagram it has four characters such as
Cashier, manager, customer and the system. [7]
20
Figure 3-3 : Sequence Diagram
21
3.6.6 Class diagram for the system
The class diagram describes the attributes and operations of a class and the constraints imposed
on the system. The class diagrams are widely used in the modelling of object oriented systems
because they are the only UML diagrams which can be mapped directly with object oriented
languages.[8]
3.7 Summary
This section mainly focused on system analysis and design of the POS and stock management
portal. It contains requirement gathering, fact finding and find the functional and non-
functional requirements of the system at the same time brief analysis of planned system. Once
analysis completed successfully can move to the design phase. It may focus on initial diagram
designs such as ER diagram and UML diagrams. ER diagram, Class diagram, sequence
diagram and use case diagrams which are discovered in the design section.
22
Chapter 4 Implementation
4.1 Introduction
Point of sale and stock management system is implemented on windows platform. It utilizes
the MySQL Database platform. Currently database server is used to store stock database .All
the users are able to connect data base using WIFI connection or LAN connection and update
the database table every time using the system. In Current situation the database server has
been established on the shop. So there is no need to bother Internet connection availability. To
generate barcode instantly for the goods that are not having barcode, customer and Crystal
Report with Net libraries have been used in the system. With the windows platform utility, any
windows operating system can be used to run and deploy the system. All user interaction
methods are performed directly through the windows OS. Users are categorized into two main
domains; Cashier and Manager.
Practical version of the Point of sale and stock management system consist only with one
manager but can expand into multiple cashiers. Manager has responsibilities such as add
suppliers, add categories, generate bar codes for items, add item to the system, update details
of items, remove items from database, adding cashiers to the system. Apart from that system
also provides some details to take decision for managers such as search by the best-selling,
search sales by date and search by Expiry- date.
Point of sale and stock management system has a separate login for the reporting. It can be
viewed by all the transactions per day and per month, by pre-defined time duration, by the
transaction type, cash or credit and also by customer due amounts.
Point of sale and stock management system also enrich with POS part. It also enables with auto
loading features when searching item for purpose of minimizing errors.
Stock details and transaction details (database) can be downloaded using this system.
23
4.2 System Overview
Point of sale and stock management system allows the users to login as the manager and
cashier. Loading page requires master password which will be given to the system owner by
the system developer. By using the master password the manager to create logins for manager
and cashiers. If cashier or manager forget the password it can be reset using master password
which is stored at email or cloud.
Home page of the system gives the functionalities such as sale orders, add items to stock,
Database backup, find details of stock, and report section which can be used to calculate total
revenue of the shop.
Sales orders let the cashiers to access the POS part of the system and it also include some auto
loading functions and bar code features to get details of the selling item.
Sales orders is the most visited page by users and it should provide detailed idea about the
items of stock. Some of data table sections to view stock for cashier which help to get some
verification about items sold are given below.
24
4.3 Add Section
It is mandatory to include all the important information about of the items accurately to the
system. This system provides the facility to grab most important content from item as given
above in the figure 4.1.
Also system enrich with “search” function which enables the user to search items by item name
and code. There is a function called “view all” to verify the items added to the database.
Manager can update (edit or remove) the stock details when it requires.
There is a separate tab to generate bar codes for the items as shown in the figure.
Report page provide the facility to view the details of the items by all the transactions per day
and per month, by pre-defined time duration, by the transaction type, cash or credit and also by
customer due amounts.
25
Figure 4-3: Reports
Back up page provides the facility to back up the stock details and helps to prevent the extra
load to the system.
26
Figure 4-5: Backup
There are two types of printing pages are supplied by the system.
Bill width – 2”
27
Bill width – 3”
Development Process Development started by first defining classes related to each of the layer
in the layered architecture described in Chapter 4. It was decided to use some of the
relationships with Visual Studios 2008 and free reusable components in the implementation
stage of the program. The first step of the development process was to identify the conventions
that should be used when coding. It was decided to use namespaces to logically group similar
classes. [9] To create the exe set up file the visual studio 2008 software was used as newer
versions do not have that ability.
My SQL Server
MySQL Community Edition is a freely downloadable version of the world's most popular open
source database that is supported by an active community of open source developers and
enthusiasts. It’s the most widely used open source RDBMS. It is the most popular choice of
28
database management system for use in web applications. Many third-party GUI tools are
available. MySQL work bench is one example for GUI tool.[10]
Adobe Photoshop,
Adobe Photoshop CS6 tool use for user interface designing. Adobe flash and Adobe premiere
used to create the multimedia contents of the system. To create buttons, logo and the fill format
the Photoshop software have been used. [11]
Crystal Report
To generate the custom barcodes, crystal report software have been used.
29
4.7 Server Environment
My SQL server 5.0.45 has been installed in the Ubuntu Latest stable version. Then the System
database will be installed into My SQL server 5.0.45.By using wireless card or network card,
the manager or the cashier could build the access to the data base. [13]
Any Internet connected PC (at least of 512 KB/s speed internet) and having processor power
more than 2.0 GHz.
Cording of the proposed system was done using Visual Studio 2008. Some major code
segments of the system are given below.
Barcode is important part of the Point of sales system. Below shows major code of Barcode .cs
file.
30
Figure 4-8: Barcode
Data backup is main part of any system. Below shows main part of Backup code.
31
Printing Bill
4.8.3 Validation
32
Validation of date field
33
Validation of Invoice Number
4.9 Summary
Implementation chapter focus on the POS and Stock Management portal user interfaces as well
as justification of technology, tools used in the system. Configuration of server, configuration
of development PC, client hardware and software also mentioned briefly.
34
Chapter 5 Evaluation and Testing
5.1 Introduction
Evaluation phase is used to test the implemented system for its uses and accuracy by
using various test strategies. In this phase system components are tested and re-arranged
if they do not meet the requirements.
This chapter represents the work carried out during the evaluation phase of this project.
Given below are the test objectives that has been set at the beginning of testing.
1. To meet the client / user requirements
2. To arrange the system in order to free from bugs and finalize in stable condition.
3. To ensure that the system is ready for the real time use.
Standalone application is mostly based on the user interfaces (UI) because of the lack of
computer or IT knowledge of the stake holders. UI functions of the application are tested
according to the test plan using Black box testing methodology. The system has tested on each
module and the results of the each test cases were generated and given below.
35
5.4 Test Cases
Test case is an outline which tests a feature or set of features. It provides developer a
systematic approach for testing. Therefore it will ensure the completeness of test and provide
the highest likelihood for uncovering errors in the software. Test case consist of:
Test data
Expected results
Purpose of having the particular test data.
For the functions and procedures a unit testing is carried out first when coding the system. The
behavior is intended by the unit test. The units of codes are tested and it is called a code level
testing. To test the modules of the system an integration testing is processed. When using
different kinds of implementation technologies this is a must to ensure the proper working of
all the integrated components for the relevant outcome. The whole system has been tested after
the unit testing and integration testing to guarantee the standard of the system using an
environment similar to the environment where the system is going to practically used. A
customer confirmation is obtained by a user acceptance testing after the completion of the
system. It ensures the requirements are fulfilled by the developed system.
Unit testing was done while implementing the project. This is done for individual units.
Integration Testing is carried out after the separate software modules have been unit testing.
Integration testing is based on the functional specification of the software. E.g. when cashier
provided the correct credentials to the login module, it logged to the POS interface and issue
item to customer.
System testing is carried out at the completion of the integration testing. The purpose of
system testing is to prove that the software meets the agreed user requirements and works in
the target environment. System testing covers both functional and non-functional
requirements.
36
E.g.: By logging into the system and routing through different processes the whole system
was tested.
This type of testing is done without testing its internal structure. Testing is done only to see
whether it meets desired outputs.
This is done to test the systems internal structure. This is also called Glass box testing.
This is done after changes are made to a system application. This test is to prove that the
change has been made correctly and that change has not introduced any new errors.
Return
37
Stock
Test Test Case Expected out comes Success
Search Invalid or Null Item Error notifications in relevant fields.
1 Yes
Code System rejects to proceed
Search Invalid or Null Item Error notifications in relevant fields.
2 Yes
Name System rejects to proceed
Purchase date greater than Error notifications in relevant fields.
3 Yes
issue date in Quantity System rejects to proceed
4 Remove item accidentally Confirm box will pop up Yes
5 Update Item accidentally Confirm box will pop up Yes
Database
Test Test Case Expected out comes Success
Error notifications in relevant fields.
1 Backup Empty database Yes
System rejects to proceed
Error notifications in relevant fields.
2 Backup Empty database table Yes
System rejects to proceed
Reports
Test Test Case Expected out comes Success
Purchase date greater than Error notifications in relevant fields.
1 Yes
issue date in Quantity System rejects to proceed
2 Remove item accidentally Confirm box will pop up Yes
38
Customer due Amount
Test Test Case Expected out comes Success
Modify Auto generated Don’t allow to modify Auto generated
1 Yes
Invoice Number. Invoice No
Modify Auto generated Don’t allow to modify Auto generated
2 Yes
Invoice Date. Item Number.
Modify Auto generated Don’t allow to modify Auto generated
3 Yes
Customer ID. Customer ID.
Modify Auto generated Don’t allow to modify Auto generated
4 Yes
Customer Name Customer Name.
Modify Auto generated Don’t allow to modify Auto generated
5 Yes
Customer Phone Customer Phone.
Modify Auto generated Don’t allow to modify Auto generated
6 Invoice Number Yes
Invoice Number.
Modify Auto generated Total Don’t allow to modify Auto generated
2 Total Amount Yes
Amount
Modify Auto generated Don’t allow to modify Auto generated
3 Payment Yes
Payment.
Modify Auto generated Due Don’t allow to modify Auto generated
4 Due Amount.. Yes
Amount
Modify Auto generated Due Don’t allow to modify Auto generated
5 Due Age Yes
Age
System
Test Test Case Expected out comes Success
Shutdown System Error notifications in relevant fields.
1 Yes
Accidently. System rejects to proceed
Back to the Previous Menu Error notifications in relevant fields. Yes
2
accidently System rejects to proceed
Error notifications in relevant fields.
3 Incorrect Login for Cashier. Yes
System rejects to proceed
Error notifications in relevant fields.
4 Incorrect Login for Manager Yes
System rejects to proceed
39
POS
Test Test Case Expected out comes Success
Modify Auto generated Don’t allow to modify Auto generated
1 Yes
Invoice Number. Invoice Number
Modify Auto generated Don’t allow to modify Auto generated
2 Yes
Invoice Date. Invoice Date
Modify Auto generated Don’t allow to modify Auto generated
3 Yes
Customer Telephone No. Telephone No
Modify Auto generated Item Don’t allow to modify Auto generated
4 Yes
Name. Item Name.
Modify Auto generated Item Don’t allow to modify Auto generated
5 Yes
Code. Item Code.
Modify Auto generated Item Don’t allow to modify Auto generated
6 Yes
Picture. Item Picture.
Modify Auto generated Don’t allow to modify Auto generated
7 Yes
Sinhala Name Sinhala Name
Modify Auto generated Don’t allow to modify Auto generated
8 Yes
Discount Price. Discount Price.
Search Invalid or Null Item Error notifications in relevant fields.
9 Yes
Code System rejects to proceed
Search Invalid or Null Item Error notifications in relevant fields.
10 Yes
Name System rejects to proceed
Modify Auto generated Don’t allow to modify Auto generated
11 Yes
Subtotal. Subtotal.
Modify Auto generated Total Don’t allow to modify Auto generated
13 Yes
Savings Total Savings
Modify Auto generated Don’t allow to modify Auto generated
14 Yes
Grand total Grand total
Assign Custom Invoice No Don’t allow to modify Auto generated
15 Yes
after ending previous Invoice Invoice Date
40
Add Items
Test Test Case Expected out comes Success
Assign Invalid Main Category in Error notifications in relevant fields.
1 Yes
Add item System rejects to proceed
Assign Invalid Sub Category in Error notifications in relevant fields.
2 Yes
Add item System rejects to proceed
Error notifications in relevant fields.
3 Assign Duplicate Item Code Yes
System rejects to proceed
Error notifications in relevant fields.
4 Assign Duplicate Bar Code Yes
System rejects to proceed
Assign Invalid (negative number, Error notifications in relevant fields.
5 Yes
letters) values in Unit Cost System rejects to proceed
Assign Invalid (negative number, Error notifications in relevant fields.
6 Yes
letters) values in Selling Price System rejects to proceed
Assign Invalid (negative number, Error notifications in relevant fields.
7 Yes
letters) values in Our Price System rejects to proceed
Assign Invalid (negative number, Error notifications in relevant fields.
8 Yes
letters) values in Stock Quantity System rejects to proceed
Assign older date as purchasing Error notifications in relevant fields.
9 Yes
date System rejects to proceed
Error notifications in relevant fields.
10 Assign older date as Expire date Yes
System rejects to proceed
Assign older Expire date than Error notifications in relevant fields.
11 Yes
Purchasing date System rejects to proceed
Error notifications in relevant fields.
12 Search Invalid Item Code Yes
System rejects to proceed
Error notifications in relevant fields.
13 Search Invalid Item Name Yes
System rejects to proceed
Assign Duplicate entry for Error notifications in relevant fields.
14 Yes
Category System rejects to proceed
Assign Duplicate entry for Sub Error notifications in relevant fields.
15 Yes
Category System rejects to proceed
Assign Invalid values(Digits) for Error notifications in relevant fields.
16 Yes
Category description System rejects to proceed
When update button press, it
17 Edit and update button click displays in editable mode with Yes
existing data
Before remove a confirmation
18 Remove Button click Yes
message
41
5.5 Automated testing for Wathumal traders
Automated tests that drive an application through its user interface (UI) are known as coded
UI tests (CUITs). The Code First approach is a relatively new workflow introduced
by Microsoft. It is utilized to generate UI Map elements by using Search (or) Filter properties
of a control, instead of using UI Map objects generated by the Coded UI Test Builder.These
tests include functional testing of the UI controls. It let user verify that the whole application,
including its user interface, is functioning correctly. Coded UI Tests are particularly useful
where there is validation or other logic in the user interface, for example CUITs can be used to
verify all the database connectivity between UI functionalities such as WinButton,
WinCalender, WinCell, WinColumnHeader, WinComboBox, WinControl, WinCustom,
WinEdit, WinGroup, WinHyperLink, WinList, WinMenuItem, WinListItem, WinMenuBar,
WinPane, WinRadioButton, WinScrollBar etc of Wathumal Traders Software.[14]
User acceptance test (UAT) is one of the main evaluation method before the software go on
live. UAT generate instance feedbacks form the end users and it is most healthy way of
collecting feedback on the new system with real people interaction. . Please refer Appendix E
for user feedback.
5.7 Summary
This section mainly focused on Evaluation of the system. It contains tested against the user
requirements, which are gathered at the beginning. In testing actual data from the client’s
environment is used. The units of codes are tested and it is called a code level testing. Secondly
the modules of the system an integration testing is processed. The whole system has been tested
after the unit testing and integration testing to guarantee the standard of the system using an In
environment similar to the environment where the system is going to practically used. A
customer confirmation is obtained by a user acceptance testing after the completion of the
system. It ensures the requirements are fulfilled by the developed system.
The chapter also includes aspects such as test plan, test cases, use of test automation tools and
testing frameworks.
42
Chapter 6 Conclusion and Future work
6.1 Introduction
This chapter focused on conclusions of the dissertation with a critical evaluation of the system,
lesson learned and suggestions for any future work.
In the process of implementing this system it was required to gain knowledge in several aspects.
Such as requirement gathering, requirement analyze, planning, frontend and backend
development, software testing, infrastructure setup and documentation. It’s like an A to Z
process which has roles of a System Analysis, Developer, Tester, Network Administrator,
Content Write and Project Manager. The self-confidence to complete the project successfully
on time has been a great challenge for individual and it has been self-satisfactory goal for
myself. It was mandate to learn the programming Visual Studio 2008, MySQL and many other
important new technologies to lead the way and it was a very dynamic learning curve.
6.3 Conclusion
The stock and POS portal could be used to build a point of sales module for Wathumal traders.
The Manager can add new stocks to the system. Another important characteristic of the system
is to create information such as bestselling items, items close to expire and reorder levels using
the system and generate reports that can be used to improve the future business.
When the business expands and more stores are opening up in the country, the existing data
base will not be enough .By hosting a cloud Database or giving remote access from other site
to the data base should be created in the future to solve this problem.
To further develop the system, QR cord payment method will be develop in the future. This
will allow customers to scan and purchase items using its QR cords through a smart phone or
tablet.
43
References
44
APPENDIX A – Use Cases
45
Use-Case Add sub category system
Actor Manager
Overview
46
Use-Case Issue item
Actor Cashier, Manager
Overview
Post conditions
47
APPENDIX B – Activity Diagrams
48
Figure B 2: Activity diagram of Logging
49
APPENDIX C – User Manual
Point of sale and stock management system allows the users to login as manager and cashier.
Loading page requires master password (most probably developers) to create logins for
managers and cashiers.
Figure C 1 logging
After finalizing the payment for developers, manager can get the master password and create
logins for cashiers.
Sales orders let the cashiers to access the POS part of the system and it also include some auto
loading functions and bar code features to get details of the selling item.
Sales orders is the most visited page by users and it should provide detailed idea about the
items of stock. Some of data table sections to view stock for cashier which help to get some
verification about items sold are given below.
50
Available for various payment method( cash/credit)
Print preview of invoice
Print option of various types (3.0,2.0)
51
Item Return section
“Return Item” let the cashiers to access the returning part of the system and it also includes
auto loading functions to validate the invoice and customer can either get the amount returned
or buy new products using the amount.
52
12. View total numbers of item type
13. View total numbers of units
53
There is a separate tab to generate bar codes for the items as shown in the figure.
Figure C 8: Stock
Report page provide the facility to view the details of the items by all the transactions per day
and per month, by pre-defined time duration, by the transaction type, cash or credit and also by
customer due amounts.
54
Figure C 9: Manager Report Logging
1. Show due by date-show due amount and customer name and phone
2. Show all sales- view all sales
3. Show all credit- show all payment which was payment by credit cards
55
Figure C 4: Payments
Back up page provides the facility to back up the stock details and helps to prevent the extra
load to the system.
1. Select database
2. Click Download button
Figure C 5: Back up
56
APPENDIX D - Questionnaires
Name of Employee
Designation
Working Experience - – – – 10
Years
1. Is the Initial interface is attractive? Do you o Extremely Satisfied
like it? o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
2. Always, different interfaces are not o Extremely Satisfied
complicated, I feel comfortable o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
3. Processes involved in the software, are not o Extremely Satisfied
found complex. I feel comfortable. o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
4. How would you rate the speed of Application o Extremely Satisfied
Software? o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
5. Message and instructions receiving from o Extremely Satisfied
software are available where ever we need o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
6. I am satisfied with the response and o Extremely Satisfied
attendance to enquiries made o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
7. I am satisfied totally with the whole software o Extremely Satisfied
provided o Very Satisfied
o Somewhat Satisfied
57
o Not so Satisfied
8. I am fully satisfied with the service provided o Extremely Satisfied
with the software o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
9. All, in process needs within the systems of o Extremely Satisfied
the institution are fulfilled by this software o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
10. Titles used in the general process are similar o Extremely Satisfied
and find no issues within the used titles of the o Very Satisfied
software. o Somewhat Satisfied
o Not so Satisfied
11. No misleading guides were found within the o Extremely Satisfied
software and Manual. o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
12. Compatibility with other application o Extremely Satisfied
software’s? o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
13. How often does our software freeze or o Extremely Satisfied
crash? o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
14. Would you recommend our software to o Extremely Satisfied
others? o Very Satisfied
o Somewhat Satisfied
o Not so Satisfied
Table D 1: Questionnaire
58
1. Is the Initial interface is attractive? Do you like it?
Q1
Q2
59
3. Processes involved in the software, are not found complex. I feel comfortable.
Q3
Q4
60
5. Message and instructions receiving from software are available where ever we need
Q5
Q6
61
7. I am satisfied totally with the whole software provided
Q7
Q8
62
9. All, in process needs within the systems of the institution are fulfilled by this software
Q9
10. Titles used in the general process are similar and find no issues within the used titles
of the software.
Q10
63
11. No misleading guides were found within the software and Manual.
Q11
12
64
13. How often does our software freeze or crash?
Q13
Q14
65
APPENDIX E – Test Cases
Return
Test Test Case Expected out comes Success
Modify Auto Don’t allow to modify Auto generated Invoice No(Read
generated Only field)
1 Yes
Invoice
Number.
Don’t allow to modify Auto generated Item Number.(Read
Modify Auto
Only field)
2 generated Item Yes
Number.
Modify Auto Don’t allow to modify Auto generated Purchasing
generated Quantity.(Read Only field)
3 Yes
Purchasing
Quantity.
Don’t allow to modify Auto generated Sold Price.(Read only
Modify Auto field)
4 generated Sold Yes
Price.
.
Display error message on Same Page
Search Invalid “Invalid Quantity”
5 or Null Return (Read Only Field) Yes
Quantity
Return
Quantity
6 greater than Yes
Purchase
Quantity
66
Stock
Test Test Case Expected out comes Success
Error notifications in relevant fields. System
rejects to proceed
67
Backup
Test Test Case Expected out comes Success
Error notifications in relevant fields.
System rejects to proceed
68
Reports
Test Test Case Expected out comes Success
Error notifications in relevant fields. System rejects to
proceed
Purchase date
greater than
1 Yes
issue date in
Quantity
Remove item
2 Yes
accidentally
Modify Auto Don’t allow to modify Auto generated Customer ID (Read Only
generated field)
3 Yes
Customer ID.
69
Modify Auto Don’t allow to modify Auto generated Customer Name (Read
generated Only field)
4 Yes
Customer
Name
Modify Auto Don’t allow to modify Auto generated Customer Phone (Read
generated Only field)
5 Yes
Customer
Phone
Modify Auto Don’t allow to modify Auto generated Invoice Number (Read
Modify Auto Don’t allow to modify Auto generated Total Amount (Read Only
generated field)
7 Total Amount Yes
Modify Auto Don’t allow to modify Auto generated Payment (Read Only
generated field)
8 Payment. Yes
Modify Auto Don’t allow to modify Auto generated Due Amount (Read Only
generated field)
9 Due Amount Yes
Modify Auto Don’t allow to modify Auto generated Due Age (Read Only
generated field)
10 Due Age Yes
70
System
Test Test Case Expected out comes Success
Error notifications in relevant fields.
System rejects to proceed
Shutdown System
1 Yes
Accidently.
71
POS
Test Test Case Expected out comes Success
Modify Auto generated Don’t allow to modify Auto generated Invoice Number
1 Yes
Invoice Number.
Modify Auto generated Don’t allow to modify Auto generated Item Name.
4 Yes
Item Name.
Modify Auto generated Don’t allow to modify Auto generated Item Code.
5 Yes
Item Code.
Modify Auto generated Don’t allow to modify Auto generated Sinhala Name
7 Yes
Sinhala Name
72
Don’t allow to modify Auto generated Sub total.
Modify Auto generated Don’t allow to modify Auto generated Total Savings
11 Yes
Total Savings
Add Items
Test Test Case Expected out comes Success
Error notifications in relevant fields. System
rejects to proceed
73
Error notifications in relevant fields. System
rejects to proceed
74
Error notifications in relevant fields. System
rejects to proceed
75
Error notifications in relevant fields. System
rejects to proceed
76
Before remove a confirmation message
77