Mit 13550112 Thesis Final
Mit 13550112 Thesis Final
January 2017
M. I. W. COORAY
2017
Inventory Management and
Sales Management System
for Kolden Tea International
M. I. W. COORAY
University of Colombo School of Computing
2017
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:
This is to certify that this thesis is based on the work of Ms. [Link] under my supervision.
The thesis has been prepared according to the format stipulated and is of acceptable standard.
Certified by:
_____________________
Signature: Date:
i
ABSTRACT
Information technology has converted the whole world into such state that most of the processes
in every industry highly depend on IT systems and has become automated to get the best out of
them. The developed Inventory Management and Sales Management System (IMSM) will be
very useful to Kolden Tea international company in enhancing their day-to-day operations.
Kolden Tea is a small-scale business who distributes tea products to corporate sector and they do
not use any automated system for managing inventory, sales, clients and HR functions. Currently
all the processes are done using excel sheets. Payment calculations, invoicing and maintaining
stock re-order level are done manually. Sometimes the current practice shows wrong figures on
the available stocks due to not updated sales. When delivering tea orders there is no proper way
to cross check required tea packs with availability. Employee personal files for are being
maintained and a manual document is used to record the attendance. Useful reports are being
prepared by management but this requires a lot of time to refer the documents and excel sheets.
As a solution to overcome these issues IMSM system was proposed.
IMSM system handles all sales and inventory/stocks related processes and reduces the impact on
the service quality resulting from inconsistent data. This system minimize the manual work done
by the employees and all the files and documents are replaced with a well structured data base.
IMSM system supports the management of the company for their decisions, based on the
unambiguous information in the database. The efficiency of the new system is greater and same
will be the base for a better service of the system users. All functional, non-functional and system
requirements of the system were properly analyzed and an object oriented 'Design' solution for
the problem was identified. Microsoft Visual Studio 2010 with .NET Framework and Microsoft
SQL Server 2008 were selected for implementing the system. C# was used as the programming
language and SQL has been used as the database language. All the critical functionalities have
been thoroughly tested using black box and white box testing. Test plan was developed after
considering all the modules and functions. Test cases for each module were planned and results
were validated with requirements. User evaluation has been done by the several actual users at
various access levels. IMSM system provides a centralized system and can be accessible by any
authorized user and fulfills the purpose of the project. After a critical analysis, the developed
IMSM system can be considered as a satisfactory level project which meets all the expected
requirements of our client as well as the standards of the MIT degree program.
ii
ACKNOWLEDGEMENTS
I wish to express my gratitude to all who have assisted me to complete this project. First of all I
would like to give my deepest thanking to University of Colombo School of Computing who
gave me a vast knowledge of information technology. I extent my gratitude especially to my
Project Supervisor Mr. G. Kapila. A. Dias and to our lecturing panel for sharing their valuable
knowledge of and guiding me throughout each step of my project.
I would like to give my sincere thanks to my Mr. Ruchira Buddhika, founder and Managing
Director of Kolden Tea International for giving me this opportunity to put my knowledge into
practice and to having faith on my knowledge and work. Also my appreciation and sincere thanks
to all staff member at Kolden Tea International who guided me on their functions and allocated
time for me from their busy working hours.
My sincere gratitude to all non academic staff members at UCSC for guiding me from the
beginning of the project till now and for extending assistance whenever necessary.
I wish to express my sincere gratitude to my dear friends at MIT degree program who shared
their knowledge and encouraged me throughout the program.
I must remember my loving parents, brother and my husband who have made my life successful
and I extend my heartiest gratitude for their unconditional love, support and guidance which have
helped me in completing this project successfully.
Most importantly, I praise dear Jesus, my Lord for all the blessings he has given to my life.
iii
TABLE OF CONTENTS
DECLARATION .............................................................................................................................. i
ABSTRACT .................................................................................................................................... ii
ACKNOWLEDGEMENTS ........................................................................................................... iii
TABLE OF CONTENTS ............................................................................................................... iv
LIST OF FIGURES ....................................................................................................................... vii
LIST OF TABLES ....................................................................................................................... viii
LIST OF ABBREVIATIONS ........................................................................................................ ix
CHAPTER 1: INTRODUCTION .................................................................................................... 1
1.1. Introduction to the Client .................................................................................................. 1
1.2. Manual System ................................................................................................................. 1
1.3. Motivation for Project ....................................................................................................... 2
1.4. Aims and Objectives of the Project .................................................................................. 3
1.5. Scope of the Project .......................................................................................................... 4
1.6. Structure of the Dissertation ............................................................................................. 4
CHAPTER 2: BACKGROUND...................................................................................................... 6
2.1 Introduction .......................................................................................................................... 6
2.2 Literature Review .................................................................................................................. 6
2.3 Critical Review of Similar Systems Available .................................................................... 7
2.3.1 SalesBinder [[Link]] .............................................................................. 7
2.3.2 Stitch Labs [[Link]] .................................................................................. 8
2.4 Summary................................................................................................................................ 8
CHAPTER 3: SYSTEM ANALYSIS ............................................................................................. 9
3.1 System Analysis Introduction................................................................................................ 9
3.2 Use of Fact Finding Techniques ............................................................................................ 9
3.3 Problems Encountered During Analysis .............................................................................. 9
3.4 Use Case Diagram For The Current System ...................................................................... 10
3.5 Requirements of The System .............................................................................................. 11
3.5.1 Functional Requirements ............................................................................................. 11
iv
3.5.2 Non-functional Requirements...................................................................................... 12
3.6 System Users ...................................................................................................................... 13
3.7 Summary.............................................................................................................................. 14
CHAPTER 4: SYSTEM DESIGN ................................................................................................ 15
4.1 System Design Introduction ............................................................................................... 15
4.2 Evaluation Of Alternative Design Solutions ...................................................................... 15
4.3 Design of IMSM System In Detail ..................................................................................... 16
4.3.1 Design Tools And Techniques .................................................................................... 16
4.3.2 Architectural Design .................................................................................................... 17
4.3.3 Functional Design ........................................................................................................ 18
4.4 Summary.............................................................................................................................. 33
CHAPTER 5: IMPLEMENTATION ........................................................................................... 34
5.1 Introduction for Implementation ......................................................................................... 34
5.2 Implementation Environment .............................................................................................. 34
5.3 Implementation procedure ................................................................................................... 35
5.4 System Structure and the Modules ...................................................................................... 36
5.5 User Interfaces ..................................................................................................................... 37
5.5.1 Login page .................................................................................................................... 37
5.5.2 Add a new employee user interface .............................................................................. 38
5.5.3 Add a new tea product user interface ........................................................................... 39
5.5.4 Error messages and notifications .................................................................................. 40
5.6 Reused Methods .................................................................................................................. 41
5.6.1 generateNextID() method ............................................................................................. 41
5.7 Summary.............................................................................................................................. 41
CHAPTER 6: USER EVALUATION AND TESTING .............................................................. 42
6.1 Introduction ......................................................................................................................... 42
6.2 Testing process and test plan ............................................................................................... 42
6.3 Testing stages .......................................................................................................................... 43
6.5 Test items............................................................................................................................ 44
6.6 Test Cases ............................................................................................................................ 45
6.7 Test Data and Test Results .................................................................................................. 46
6.8 User Evaluation ................................................................................................................... 52
v
6.8.1 Usability Testing .......................................................................................................... 53
6.8.2 User Acceptance Testing .............................................................................................. 53
6.8.2 Analysis of the Questionnaire....................................................................................... 54
6.8 Summary.............................................................................................................................. 55
CHAPTER 7: CONCLUSION AND FUTURE WORK .............................................................. 56
7.1 Introduction ......................................................................................................................... 56
7.2 Conclusion ........................................................................................................................... 56
7. 2 Challenges and problems encountered ............................................................................... 57
7.3 Limitations of the current work ........................................................................................... 58
7.4 Lessons learnt ...................................................................................................................... 58
7.5 Future improvements ........................................................................................................... 59
7.6 Summary............................................................................................................................. 60
REFERENCES .............................................................................................................................. 61
APPENDIX ................................................................................................................................... 63
Appendix A - Use Case Narratives............................................................................................ 63
Appendix B - Design Diagrams................................................................................................. 67
Appendix C - User Interfaces .................................................................................................... 70
Appendix D - User Evaluation Form / Questionnaire ............................................................... 73
Appendix E - Test Cases ........................................................................................................... 77
Appendix F - Test Cases With Test Results .............................................................................. 80
Appendix G - Analysis On The Questionnaire .......................................................................... 85
vi
LIST OF FIGURES
vii
LIST OF TABLES
viii
LIST OF ABBREVIATIONS
HR - Human Resources
OO - Object Oriented
IT - Information Technology
ix
CHAPTER 1: INTRODUCTION
The proposed Inventory management and Sales management System will be developed for
Kolden Tea International Company. Kolden Tea International Company has been established as a
tea packaging and distribution Company based on the accomplishment of tea needs in Sri Lanka.
This company was started in year 2014 and now being managed by a four-director board. As of
now ten employees are working under the company including sales team and supervisors. The
Company goal is to build long term relationships with clients and provide exceptional customer
services by pursuing business through innovative product range.
They provide “Kolden Tea” products for corporate sector by providing large, small and medium
quantities in bulk or individual as per the client’s requirements.
Currently the inventory and sales are being managed through manual files and excel sheets based
documents. Even though Kolden Tea International is a small scale business, they are highly
concerned in standardizing their processes and they are in a need to upgrade current processes to
improve the efficiency of the service. As a result of the discussions with the directors of the
company the Inventory management and Sales management System was proposed.
Kolden Tea International is a small-scale business who distributes Tea products to corporate
sector. Currently they do not use any computerized system to perform the processes which
includes inventory management, sales management, managing clients and HR functions.
They purchases leaf tea from outside factories in bulk and the packing of tea is done though an
out sourced company.
1
According to the requirement they request for the packed tea and maintain sufficient stock for the
orders. They maintain the re-order level using an excel based report. Kolden Tea targets mainly
on cooperate sector and maintain a clients base.
In order to deliver the daily and monthly tea orders they maintain a report to check to whom the
order to be delivered and on which date.
When delivering the orders, a common invoice template will be used for the payment collection.
Payment may be collected on the same date or within two weeks of the order. Sales team will
also promote the tea products for the new clients. In order to do same, sales team will first make
an appointment with the client and based on the requirement, samples will be provided.
They maintain personal files for each employee and a manual document is used to record the
attendance. The management of Kolden Tea company prepares a number of useful reports on
daily and monthly basis. They use the information collected in excel sheets in order to summarize
and prepare required reports.
Information systems perform an important role for most of the operational works in present since
a proper maintenance of the efficiency and effectiveness of the functions is highly required by all
the organizations. Even though Kolden Tea International is a small scale business, it consists of
several main functions which are highly important for the success of the business.
Currently all of the processes related to inventory and sales are done using excel sheets and paper
notes. Payment calculations and preparing invoices for leaf tea purchases and sales are done
through manual calculations. Maintaining re-order level in the stock is done manually and
sometimes the current practice shows wrong figure on the available stock due to not updated
sales. As they target on cooperate sector, when delivering the daily/monthly tea requirements, it
is a requirement to have a system to check the required total tea packs on daily / monthly basis
and to check whom to deliver on which date. Personal files for each employee are being
maintained and a manual document is used to record the attendance.
2
Many useful reports are prepared by management and team on daily and monthly but this
requires a lot of time to go through the documents and excel sheets to prepare each management
report.
As a solution to overcome such issues in these processes, the Inventory management and Sales
management System was proposed. This system will replace most the paper work and will
minimize the time spent for each function. It will support the director board, sales team and
supervisors to perform the functions accurately with a less amount of time which will result in
providing a better service by the employees. In summery Inventory management and Sales
management System will provide a better solution for the current processes as well as a suitable
assignment for the MIT individual project for which I could apply the theories and knowledge
which have been obtained throughout the degree program.
Main objective of this project is to implement a computerized/on-screen system to handle all the
functionalities related to sales and inventory currently done in the company. This will help to
remove the manual work done by the employees. The new system will reduce the impact on their
service quality resulting from inconsistent data. This system will help to minimize the manual
work done by the employees and all the files and documents will be replaced with a well-
structured data base. Inventory management and Sales management system will support the
management of the company for their decisions, based on the unambiguous and precise
information in the database. The efficiency of the new system will be greater and same will be
the base for a better service of the system users.
The proposed system will facilitate to handle all ongoing functionalities which are in the Kolden
Tea Company. This system will help to,
3
Maintain up-to-date and accurate information of the processes and transactions.
Provide a platform to easily generate management reports
Reduce data redundancy
Proposed system will provide a platform to the employees to manage the same processes in an
effective manner.
System will allow the users to manage the inventory, re-ordering process and sales
process.
Users will be able to calculate the payments and print the invoices directly from the
system.
System will allow the users to maintain the clients’ details and employee details.
System will allow the users to maintain the attendance of the employees accurately.
Users will be able to check the amount of tea packets to be delivered on daily / monthly
basis and to check whom to deliver on which date.
Management will be able to generate required daily/ monthly reports through the system.
This is the first chapter of the dissertation which provides an overview of the project. This
chapter will elaborate the aims, objectives of the project, motivation for the project and the scope
involved.
Second chapter of the report, 'Background' will provide a critical review of similar systems
available and technologies available to implement this system. This chapter will further analyze
the advantages and limitations of such available similar systems.
Third chapter which is 'System Analysis’ will describe all functional, non-functional and system
requirements of the proposed system in detail. Information gathered and analyzing of the existing
process will also be presented here.
4
Fourth Chapter will elaborate the 'Design' solution for the problem. Design of this system will be
systematically described in this chapter with the relevant diagrams.
Fifth chapter of the report, 'Implementation' will describe overall implementation of the system.
Activities carried out during implementing the system including hardware and software used,
tools, techniques and methods followed will be described here.
Sixth chapter 'User Evaluation and Testing' will include testing process, testing techniques, test
cases, actual data used and results, various kinds of error messages and user evaluation. Results
of the tests will also be critically analyzed here.
As the final chapter, chapter seven 'Conclusion and Future Work' will discuss whether the
objectives of the project could be achieved. This chapter includes the results of the project,
lessons learnt, limitations of the current work and the suggestions for future improvements.
5
CHAPTER 2: BACKGROUND
2.1 Introduction
This chapter will discuss the background information of the Inventory management and Sales
management System. Since sales management and inventory management are widely concerned
processes in the business environment, several similar systems available could be identified. In
this chapter selected systems will be reviewed.
Proper management of inventory and sales is crucial for any commercial business and with the
growth of technology, many options are available for most of the business to automate their
processes.
From the past inventory control and sales control has been very important processes hence there
was always a requirement from the merchants to find a better system to manage inventory and
sales. For many years the only option was record keeping through hand written notes which was
an inefficient and erroneous way of handling the inventory and sales. With the increase use of
computer in the mid 1990's, companies started researching on implementing inventory
management software. The technology advanced into a broad inventory management solutions by
early 2000s. And now even small size businesses can easily find inventory and sales management
software solutions to meet their needs.
At present many different software solutions has been invented to support inventory, orders, sales
processes, and deliveries. Also many useful reports documents, work orders etc. can be generated
through these solutions. 'TradeGecko' [9] is the leading inventory management system in the
market at the moment and TradeGecko is considered as the best among the lot of commercial
solutions based on its key features. Zoho Inventory [10] is another top rated commercial software
in the industry for sales and inventory management. One considerable feature of this solution is,
it enables businesses to automate order and inventory management and track their delivery. This
is an ideal solution for any size of business.
6
This also integrates with popular shipping systems and cloud retailers expanding its value further.
Apart from these two top solutions, a number of commercial software could be identified while
analyzing the industry.
The requirement of the Kolden Tea international is to find a proper solution to manage their day
to day sales and inventory. Even though many solutions are available in the market, several
disadvantages could be highlighted when considering adapting an available software which will
be discussed in next section.
SalesBinder software system is a feature-full system for the discussed solution. It is online
inventory management software that provides with all the basic tools needed to manage
inventory, customers, invoices, suppliers, and purchase orders. It also provides the opportunity to
record sales prospects and estimates and then automatically convert them to customers and
invoices. SalesBinder is a product of Krave Media Group.
A small business with limited needs such as Kolden Tea International can choose this software
and do the required processes while medium or larger businesses can also customize things using
SalesBinder.
When considering the cost, SalesBinder has four pricing plans, including a free version which is a
plus point compared to many other online systems. But the drawback is the free version will be
limited for 100 records. The free version is more suitable to use as a test account rather than
practically using for a business. For larger businesses that need a more robust, extensive version
can go for another paid custom plan according to [4].
Another restriction of the system is an Internet access is mandatory to use this tool. Few design
issues of the interfaces could be identified when adding variations for inventory items. Also as
explained, even though SalesBinder offers a free version with all options, the records limitation
will make this system not suitable option for the requirements.
7
2.3.2 Stitch Labs [[Link]]
When evaluating the design of ' Stitch ', one noticeable feature could be identified which is the
great interface that is clean and understating. This application also provides tutorials on each page
when one goes step-by-step through all the basic tasks. Another very useful feature which could
be identified was the Integrations with many popular eCommerce websites such as Amazon,
eBay and BigCommerce. One can import all their products, orders, and customer information
from these websites into Stitch application. When one sells something on an eCommerce website,
it updates the inventory levels in Stitch and vice versa explained in [3]. This is a very useful and
innovative feature compared to most of similar solutions as this integration will allow one to
make their business global.
When reviewing the customer experiences few negative features could be identified. One is poor
functionality outside the United States. Several users’ complaints could be found regarding the
operating issues of 'Stitch' with its lack of currency conversion facility. Another major drawback
is 'Stitch' does not automatically adjust for refunds made through sales channels. This requires the
system users to manually update both inventory and accounting records. This limitation adds a lot
of manual work and leaves a huge risk for errors.
2.4 Summary
This chapter summarizes the background information of the system and also critically analysis
the similar systems available. In the next chapter a detailed analysis of the system will be
provided and requirements expected from the system will be discussed.
8
CHAPTER 3: SYSTEM ANALYSIS
System analysis can be considered as a very important stage of a system development which will
help to identify the role of the proposed system, how it does interact with external entities and it
will provide the input to the system design by identifying the requirements. Since the objective of
this phase is to study the current process, a sufficient amount of time was allocated and several
fact finding techniques were used accordingly in order to gather all the requirements for the
system. This chapter will elaborate the techniques used for analysis and all the requirements
including functional, non-functional and documentation requirements expected from the system.
In order to gather the requirements questionnaires, observation of the environment, sampling the
existing documentation, interviewing the users and PACT analysis were used. First few
interviews were conducted with the directors to gather basic information about the company then
a much time was allocated to conduct interviews with employees. Also observation of the
working environment was really helpful to identify the functional and non-functional
requirements of the system. Some existing documentations such as invoices, excel sheet based
documents use by the company for their processes and accounts could also be referred to gain a
clear idea about their processes. A questionnaire was also prepared for the users to gather some
requirements.
Few difficulties were encountered during analysis but most of the techniques used were very
successful. Since it was difficult to conduct interviews with every employee during one day due
to the busy work schedule, interviews were carried out for few days.
9
Also for some processes, requirements gathered were not clear so had to conduct a second
interview along with the documents referring. A medium level effort was carried out to collect
the real and complete picture of the existing system. It could not be observed how the interaction
is with Tea purchasing factory and packing company but relevant documents could be referred.
Functionalities of the current system can be summarized according to the use case diagram in
Figure 1.
10
3.5 Requirements of The System
The project requirements mainly consist of the requirements related to the development of the
project and those which will affect the overall project. This will cover the functional requirements
and nonfunctional requirements gathered through system analysis.
Login System should allow the users to log-in to the system by entering relevant
requirements username and password.
System should identify the user logged-in and should allow the particular
functionalities to be performed according to their privileges and user level.
Employees Authorized users should be able to register new employees and save their
and clients details in the data base.
registration Authorized users should be able to register new clients in the data base.
Authorized users should be able to view and modify the information of the
registered employees.
Authorized users should be able to view and modify the information of the
registered clients.
Stock control Users should be able to view and update the current stock level.
Users should be able to add new products to the stock.
Users should be able to modify and delete products from the stock when
necessary.
Sales Users should be able to add new sales orders for a client though the system.
management Users should be able to view existing sale records.
Users should be able to modify or delete existing sale orders before making
the payment.
11
Users should be able to create and print invoices for the sale orders.
Users should be able to search records of sales and clients using the system
Attendance
Users should be able to mark attendance of the employees through the
handling
system.
Management Authorized users should be able to generate reports of the clients /
reports employees and products available in the system.
Authorized users should be able to generate reports of the sales transactions
for a given criteria.
Should be able to view attendance report based on different criteria
1. Security
Login requirements - access levels must be defined in order to allow functions to the
authorized users
Password requirements - system should allow user to change the password when required.
2. Capacity
3. Usability
Look and feel standards - Interfaces should be developed in a user friendly manner and
standard screen layouts and colors must be used.
4. Respond time
Respond time of the system should be minimum. After requesting a result by the user, the
outcome should be received soon.
12
5. Documentation
User documentation with screen shots and simple guidelines must be provided for the user's
support.
Different users who will be using the IMSM system will be described here.
1. Director - Owners of the Kolden Tea company. The company is currently being handled
by four directors.
3. Sales Representative - Sales team consists of several sales representatives. They perform
several tasks such as visit clients to demonstrate the products, show samples and take
orders and report to employers on sales.
According to the processes of the IMSM system, the privileges of each user group can be further
explained as per table 2.
13
User Role
Process Sales
Director Supervisor
Representative
Add / manage users
Change user password
Register new employees
Register new clients
View registered employees
Modify/ delete registered employees
View registered clients
Modify registered clients
View current stock level
Update current stock level
Add new products to the stock
Modify and delete products in stock
Add new sales orders for a client
View existing sale records.
Modify or delete existing sale orders before
making the payment
Create and print invoices for the sale orders
Search records of sales and clients
Mark attendance of the employees
Generate reports of the clients / employees
and products available in the system
3.7 Summary
This chapter summarizes the techniques used for analysis and all the requirements including
functional, non-functional and documentation requirements expected from the system. Detailed
design solution for the system will be explained in the next chapter.
14
CHAPTER 4: SYSTEM DESIGN
System design can be defined as the process of demonstrating the methodical approach to the
design of the solution which will satisfy the requirements summarized in the system analyze
phase. In the stage of system design, requirements gathered by analyzing the current process have
been taken into consideration and have come out with a high level design as the solution for the
problem. It has then further divided into several low level design solutions in the form of UML
diagrams.
In order to select an appropriate design solution for the system several designs were studied. One
design solution for the IMSM system is to develop the system based on cloud computing. This
method will provide the service by another company and users can access the system over the
Internet. This does not require any hardware or software to install at the working area in order to
use the system. If the system is developed to access over the internet users will have the
advantage to access the system from where they are. Which means client of IMSM system will
need a reliable, high-speed, broadband Internet connection functioning the whole time they are
working. This reason makes this solution impractical for the proposed system design.
Another feasible way of designing the proposed system is as a client–server model which is a
distributed application structure. If the system is developed based on a client -server model the
application, clients and servers will be communicating over a computer network on separate
hardware. One main advantage of using this architecture is only one server will be used centrally
where that all the clients will be accessed according to [2]. Even though this is a better solution
for the system, one mandatory requirement for this model is to have network connection and
multiple computers which is a limitation at client's premises.
15
Hence considering all the factors and available and feasible solutions, the system is designed to
implement as a standalone application which will be operated in a single computer. Due to the
limitations of the personal computers and the requirement of network connection was limited at
the client's premises, this architecture was selected. A standalone model can work without any
network connection compared to client server model which requires a network connection to
operate the system.
In order to develop a design solution for the system two main methodologies could be identified.
One way of designing the system would be using the structured methodology. Another approach
for software design is object-oriented methodology (OO) which is now being used widely. After
analyzing the two methods, object-oriented methodology has been selected as the most suitable
way of designing the system.
Object-oriented methodology has been selected for the system design hence Unified Modeling
Language (UML) will be used as the modeling language to document the object oriented design
of IMSM system.
As the design tool ‘ArgoUml’ was selected which closely follows the UML standards to design
the required diagrams for the IMSM system. ArgoUml tool is a freeware available online.
16
4.3.2 Architectural Design
Architectural design involves identifying the major components of the system and the
communications between these components. The system is designed to implement as a
standalone application which will be operated in a single computer. This system does not require
connecting to a database server over network which will be installed in the same machine. Figure
2 illustrates the architectural design of the IMSM system.
17
4.3.3 Functional Design
Requirements identified at the system analysis phase will be represented using Unified Modeling
Language (UML). Different diagrams will be used to describe different views in high level
system definition. Several diagrams will be demonstrated under component design including use
case diagram, class diagram and activity diagram.
High level use case diagram provides a basic idea of the main functionalities of IMSM system
and same will demonstrate how the system will be organized. Structure of the IMSM system is
designed by dividing the whole system into several modules. Figure 3 provides the high level use
case diagram of the IMSM system which will be further divided into sub modules.
Manage employees, manage clients, manage inventory, manage sales and manage attendance use
cases in this high level use card diagram will be further divided and login, change user password,
search and generate Reports use cases will remain same. Three actors of the system will be
director, supervisor and sales representative.
18
Figure 3 - High level use case diagram
[Link].1 Login
Users can login to the system by entering their username and password. System can be accessed
by three user types who are 'director', 'supervisor' and 'sales representative'. According to the user
type the privileges of the IMSM system will be enabled. Separate user names and passwords will
be allocated to each user. When log in to the system user should provide the credentials in correct
format. System will check username and password and if they are accurate the main menu of the
system will be presented to the user.
19
[Link].2 Change user password
Users can change their password once they are successfully logged in to the IMSM system. Once
the password is changed user can use this new password from the next log-in session.
Manage employees use case is further divided into four use cases. This module will be controlled
by directors and supervisors only. Figure 4 provides the detail use case diagram for mange
employees.
20
[Link].4 Manage clients
Manage clients use case is further divided into four use cases. Figure 5 provides the detail use
case diagram for mange clients.
Manage inventory use case is further divided into five use cases. Detailed use case diagram for
manage inventory is given in the figure 6.
21
Figure 6 - Detailed use case diagram for Manage inventory
Manage sales use case is further divided into five use cases. Figure 7 provides the detail use case
diagram for mange sales.
Manage attendance use case is further divided into two use cases. Figure 8 provides the detail use
case diagram for mange attendance.
[Link].8 Search
Searching records of sales and clients will be covered by this function. Searching is allowed to all
types of users.
Preparing management reports is an existing process of Kolden Tea Company but due to the
limitation of structured information and a proper system, the reports were barely prepared.
Generate reports module will allow authorized users to easily generate management reports at
any time.
Use case narration is a textual representation of the course of events encountered when an actor is
interacting with the system. In-detail description of use cases can be illustrated as follows.
23
Use case narrative for 'Login' use case is given in the Table 3.
Use Case ID 01
Use Case Name Login
Created by M.I.W Cooray Last Update by M.I.W Cooray
Created Date 15-08-2016 Last Revision Date 15-08-2016
Actors Director , Supervisor, Sales Representative
Description Login to IMSM system
Preconditions 1. System should be properly installed and should operate without
any issue.
2. An account must have been created for the user with a username
and a password.
Main Scenario 1. User starts the IMSM system and enters the username and
password given.
2. System validates the user credentials.
3. 'Director' will be given the full access to the IMSM system.
4. 'Supervisors' and 'Sales Representative' will be given a limited
access according to the user type.
24
Use case narrative for 'Register new employee' use case is given in the Table 4.
Use Case ID 02
Use Case Name Register new employee
Created by M.I.W Cooray Last Update by M.I.W Cooray
Created Date 15-08-2016 Last Revision Date 15-08-2016
Actors Director
Description Director creates a new account for an employee
Preconditions 1. System should be properly installed and should operate without
any issue.
2. An account for director must have been created and the user
with 'Director' user type must have logged in to the system
Main Scenario 1. User clicks on the new employee registration option in the
menu.
2. System opens the interface which has the complete process for
registration.
3. User fills the necessary information and click on submit button.
4. System checks the data validity and if valid system will create a
new account for the employee.
Post conditions Successfully creates a new employee account in the IMSM system.
Alternative Scenario 1. When the user provides invalid information, system will gives a
notification or a proper error message.
2. When the user is trying to register an existing user, system will
notify same and will not allow to complete the process.
Table 4 - Use case narrative for 'Register new employee'
25
Use case narrative for 'Add a new sale' use case is given in the Table 5.
Use Case ID 03
Use Case Name Add a new sale
Created by M.I.W Cooray Last Update by M.I.W Cooray
Created Date 15-08-2016 Last Revision Date 15-08-2016
Actors Director , Supervisor, Sales Representative
Description User adds a new sale record to the system
Preconditions 1. System should be properly installed and should operate without
any issue.
2. An account for the user must have been created and the user
must have logged in to the system
3. The client relevant to the sale must have been registered to the
system.
4. The product/s of the sales order must have added to the system.
5. The relevant product must have an available stock level in the
system.
Main Scenario 1. User clicks on the new sales order option in the menu.
2. System opens the interface which has the complete process to
add the sales order.
3. User fills the necessary information of the client and product and
click on submit button.
4. System checks the data validity and if valid system will create a
new sales order.
Post conditions User Successfully adds a new sales order to the IMSM system.
Alternative Scenario 1. When the user provides invalid information, system will gives a
notification or a proper error message.
2. When the user is trying to add a not existing client or a product,
system will notify same with a proper error message and system
will not allow to add the sale.
3. When user tries to add a product which does not have a
sufficient stock, user will be notified on same and system will
not allow adding the sale.
Table 5 - Use case narrative for 'Add a new sale'
26
Use case narrative for 'View attendance report' use case is given in the Table 6.
Use Case ID 04
Use Case Name View attendance report
Created by M.I.W Cooray Last Update by M.I.W Cooray
Created Date 15-08-2016 Last Revision Date 15-08-2016
Actors Director , Supervisor
Description User views the attendance of the employees from the IMSM system
Preconditions 1. System should be properly installed and should operate without
any issue.
2. An account for the user as a 'director' or as a 'supervisor' must
have been created and the user must have logged in to the
system
3. Employees must have registered to the system and daily
attendance must have marked in the system.
Main Scenario 1. User clicks on the ' View attendance report ' option in the menu.
2. System opens the interface which has the complete process to
generate the attendance report.
3. User selects the required date range and required options for the
report and click to submit.
4. System checks the database and generates the attendance report
from the IMSM system.
Post conditions User Successfully generates an attendance report from IMSM system.
Alternative Scenario 1. If there are no results for the request, system will notify same to
the user.
Table 6 - Use case narrative for 'View attendance report'
27
Use case narrative for 'Search' use case is given in the Table 7.
Use Case ID 03
Use Case Name Search
Created by M.I.W Cooray Last Update by M.I.W Cooray
Created Date 15-08-2016 Last Revision Date 15-08-2016
Actors Director , Supervisor, Sales Representative
Description User searches for sale or a client in the system
Preconditions 1. System should be properly installed and should operate without
any issue.
2. An account for the user must have been created and the user
must have logged in to the system.
3. The client or the sale order must have been added to the system.
Main Scenario 1. User clicks on the search option in the menu.
2. System opens the interface which has the complete process to
search a sale order or a client.
3. User selects the search category, enter key words and submit.
4. System will check for the key word/s entered and if found, the
results will be displayed
28
[Link] Class Diagram for IMSM System
Class diagram represents the static view of a system and it describes the attributes and operations
of a class and also the constraints imposed on the system. The class diagram will analysis and
design of the static view of a system and describe responsibilities of a system.
29
Figure 9 - Class diagram for IMSM system
30
[Link] Activity Diagram
An activity diagram visually presents a series of actions or flow of control in a system. Activity
diagrams describe the actual state of activities of a system by showing all the sequence of
activities performed. Also these diagrams can show activities that are conditional or parallel.
Figure 10 depicts the activity diagram for the login use case.
31
Figure 11 shows the activity diagram for the search use case.
32
4.4 Summary
This chapter summarizes design solution for the problem in detail along with tools, techniques
used and high level diagrams. In the next chapter the implementation environment and the
implementation process will be discussed.
33
CHAPTER 5: IMPLEMENTATION
This chapter consist of the implementation process of the system including implementation
environment, implementation procedures, structure of the system with selected user interfaces.
Any reused modules will also be discussed here.
Development of the system was carried out using a personal notebook and the hardware and
software were carefully chosen as in the Table [Link] of the software and tools used during
implementation were free and open source.
Microsoft Visual Studio 2010 (Express edition) which is an integrated development environment
(IDE) from developed by Microsoft Corporation was used as the central development
environment. This software has been used to develop the graphical user interfaces of the
application with .NET Framework. Microsoft SQL Server 2008 was selected to manage the
database of the system. This is a relational database management system (RDBMS) developed by
Microsoft Corporation. Although this is a proprietary software, freeware edition is also available.
SQL Server Management Studio which is a software tool launched with Microsoft SQL Server,
was used to configure and manage all components within Microsoft SQL Server.
C#(C Sharp) was selected as the programming language which is a simple, structured and object-
oriented programming language. SQL (Structured Query Language) has been used to manage the
data in the SQL database and perform the functions between the application and the database.
Programming languages, software tools and hardware used during implementation are
summarized in the Table 8.
34
Main languages
Programming language C# (C Sharp)
6GB RAM
Functionalities of the current system was well studied and all functional and non functional
requirements was gathered at the first stage of the process. Considering the selected scope of the
system and duration the Rational Unified Process Methodology was selected to implement the
IMSM system.
RUP an object-oriented development methodology and separates process into four different
stages. Figure 12 shows the four stages in detail.
35
Figure 12 - Rational Unified Process Methodology
According to [5] In the inception phase, developers define the scope of the project and its
business case; in the elaboration phase, developers analyze the project's needs in greater detail
and define its architectural foundation; in the construction phase, developers create the
application design and source code; and in the transition phase, developers deliver the system to
users.
IMSM system can be accessed by three types of users: Director, Supervisor and Sales
Representative who will have different access levels. Initial view of the system will be the Login
page and this will guide user to enter to the login details and have the access to the Home page.
User will be verified at the login page and according to the privileges of the user type, Home
page functions will be assigned. Structure of the system is shown in figure 13.
36
Login page
Home page
View Invoices
Change current
Password stock level
Logout Update
stock level
User interfaces of the system have been designed in a user friendly manner so it will help users to
learn the system fast and use it efficiently.
Login page is the first user interface which will be appeared when accessing the IMSM system.
Figure 14 shows the login page of the system. Users can login to the system by entering the given
username and password to this form. If users provide invalid credentials, necessary error messages
will be prompt by the system. If not, users will be directed to the home page.
37
Figure 14 - Login page
Figure 15 shows the user interface which will add a new employee to the system.
38
Figure 15 - Add a new employee user interface
Figure 16 shows the user interface which will add a tea product to the system.
39
Figure 16 - Add a new product user interface
A variety of notifications, error and warning messages will be displayed as pop up screens to the
users between the processes of IMSM system. Information in the message boxes have been
included in a way to ensure that user is guided accurately when necessary. Sample information
message is shown in figure 17 and a sample error message is shown in figure 18.
40
Figure 18 - 5.7 Error message
This method is used in add a new client and add a new employee modules and will be used to
check the database and generate the next highest number of the ID field.
5.7 Summary
This chapter summarizes the implementation process of the system including implementation
environment, implementation procedures and the structure of the system. Next chapter
summarizes the testing process, test plan and testing techniques used during the system testing
phase.
41
CHAPTER 6: USER EVALUATION AND TESTING
6.1 Introduction
Evaluation and testing of a software product includes testing the whole system by developers and
end-users to make sure the system provides the required functionality and the system meets all
the client’s requirements. This chapter provides the detailed evaluation on how the testing
process was carried out using testing techniques. Also critical evaluation of test results and end
user testing analysis will be given in this chapter.
A test plan is an approach which contains the scope, resources, and schedule of planned testing
activities. This is a practice used to analyze and find the defects in a software system. Test items,
features to be tested, the testing tasks, who will do each task, and any risks requiring contingency
planning will be identified by a test plan. This is used to make sure that a unit can function both
effectively and efficiently.
IMSM system was tested thoroughly and a four-stage testing plan was conducted to make sure
the accuracy of functionalities. Verification and validation was also done at every stages of
system development. The stages of the testing process will be discussed later in this chapter.
Testing of each item and module was performed in unit testing and integrated testing and was
done parallelly with the development of the system. Unit testing of each items was done after the
completion of developing the particular unit. Subsequently the complete module was tested
according to the integrated testing technique. With the completion developing and testing of all
modules, system testing was performed considering the system as one unit.
42
6.3 Testing stages
In this stage each individual component of the system will be tested. In object-oriented
programming an interface or a class is usually considered as a unit. The purpose of unit testing is
to separate each component of the system and check whether the individual units are performing
accurately. It is not expected to catch the error in the system through Unit testing. It only tests the
functionality of the each individual unit/component only.
In the stage of integration testing, individual units or components will be combined and tested as
a module. In integration testing, individual units which have been checked by unit testing will be
combined in a larger groups to apply the testing. The main purpose of integration testing is to
check for any errors after integrating individual units and to confirm the expected functionality of
the modules.
System testing is a stage where the complete, integrated system is tested to evaluate the system's
fulfillment with the requirements. The objective of system testing is to ensure that each module
which was recognized during unit testing interacts with one another as designed. In this stage the
testing process is concerned with discovering any errors which will be resulted from unexpected
interactions between modules and system components.
This is the final stage in the testing process before the system is accepted for operational use in
real environment. Acceptance testing is also known as user acceptance testing (UAT), end-user
testing, site testing or field testing. Acceptance testing is performed by the actual system users.
This is performed to obtain the confirmation that the system meets all the requirements as agreed.
43
Acceptance testing will be performed at client’s location involving several users with different
access levels. Acceptance testing will be useful to identify any problems which may occur while
running in the actual environment using actual data. This will help to ensure whether the
performance of the system is acceptable for the real use.
'White box testing' technique will be use to test the internal structures of an application. White
box testing is also known as open box testing and glass box testing. White box testing is
performed by looking at the source code to detect any possible failures using suitable input data.
The testing technique will be effective only if the developer knows what the testing module is
supposed to do and to find out if the program deviate from its planned objectives.
'Black box testing' will be used to look at what are the available inputs for an application and
what are the expected outputs are that should result from each input. Various types of inputs such
as randomly generated inputs, invalid inputs, null inputs etc will be used while using this
technique. 'Black box testing' is generally performed by an external person who does not have an
idea about the system (non-technical) and this will help to identify any contradictions in actual
system and the specifications according to [6].
Testing of the entire IMSM system was done according to the above elaborated testing stages and
techniques. Test items with the relevant modules are listed in table 9 which were used for the
testing process.
44
Test Module Test Item
Login Login
Manage user Add a new user
Manage users
Change Password
Logout
Manage employees Add a new employee
Manage employees
Manage clients Add a new client
Manage clients
Manage inventory Add a new product
Manage products
View current stock level
Update stock level
Manage sales Add a new sales order
Manage sales order
Invoices
Manage attendance Mark attendance
Search Search
Generate reports All reports
Help Help manual
A test case is a detailed process that completely tests a feature or a part of a feature and plays the
role of evaluating the test plan. A test case will include description of testing, expected output,
actual output and the status of testing (whether the test is pass or fail).
Test cases for Login test item is given in the Table 10. Through these cases a variety of scenarios
will be checked such as the accuracy of credentials, possibility of entering incorrect data,
possibility of entering blank data etc.
45
Test Test Case Test Case Description Expected output Priority
case ID
1 Login with Valid Enter valid username User should be allowed to High
credentials and allocated password access Home page
to login
2 Login with Invalid Enter incorrect System should provide a High
username username and allocated suitable error message
password to login
3 Login with Invalid Enter valid username System should provide a High
password and an incorrect suitable error message
password to login
4 Login with blank Keep username and System should provide a High
credentials password fields blank suitable error message
and login
5 Login with blank Keep username field System should provide a High
username blank and enter suitable error message
password and login
6 Login with blank Enter username and System should provide a High
password keep password field suitable error message
blank and login
7 Login with a Enter username which System should provide a High
deactivated is deactivated and suitable error message
username and allocated password to
allocated password login
Table 10 - Test cases for Login test item
Test data can be defined as a set of data used to test the functionality of a system. Test data are
produced by the tester or by a module or a function which supports the tester in performing the
test plan . In order to perform the testing during the development stage, dummy data was used
and for system testing and user acceptance testing actual data was gathered from client’s
premises.
Test data were selected based on specific requirements to check the accuracy of the functions and
to check the system's ability to validate data and prompt suitable error messages.
Table 11 shows the test case for Test case ID -1 which was used to test the login form when
performed with valid credentials.
46
Test Case ID 1
Tested Component Login Page
Module Name Login Module
Test Case Login with valid credentials
Test Case Description Enter valid username and allocated password to login
Expected Output User should be allowed to access Home page
Step Actions and Test Actual Output Status
Data
1 Access login page Pass
2 Enter a valid
username and
password
3 Click on login button
Table 12 shows the test case for Test case ID - 2 which was used to test the login form when
performed with invalid username.
Test Case ID 2
Tested Component Login Page
Module Name Login Module
Test Case Login with Invalid username
Test Case Description Enter incorrect username and allocated password to login
Expected Output System should provide a suitable error message
Step Actions and Test Actual Output Status
Data
1 Access login page Pass
2 Enter an incorrect
username and a valid
password
3 Click on login button
47
Table 12 - 'Login with invalid username' test case
Table 13 shows the test case for Test case ID - 3 which was used to test the login form when
performed with invalid password.
Test Case ID 3
Tested Component Login Page
Module Name Login Module
Test Case Login with Invalid password
Test Case Description Enter a valid username and an incorrect password to login
48
Table 14 shows the test case for Test case ID - 4 which was used to test the login form when
performed with blank credentials.
Test Case ID 4
Tested Component Login Page
Module Name Login Module
Test Case Login with blank credentials
Test Case Description Keep username and password fields blank and login
49
Table 15 shows the test case for Test case ID - 5 which was used to test the login form when
performed with blank username field.
Test Case ID 5
Tested Component Login Page
Module Name Login Module
Test Case Login with blank username
Test Case Description Keep username field blank and enter password and login
50
Table 16 shows the test case for Test case ID - 6 which was used to test the login form when
performed with blank password field.
Test Case ID 6
Tested Component Login Page
Module Name Login Module
Test Case Login with blank password
Test Case Description Keep username and password fields blank and login
51
Table 17 shows the test case for Test case ID - 7 which was used to test the login form when
performed with a deactivated username.
Test Case ID 7
Tested Component Login Page
Module Name Login Module
Test Case Login with a deactivated username and allocated password
Test Case Description Enter username which is deactivated and allocated password to
login
Expected Output System should provide a suitable error message
Step Actions and Test Actual Output Status
Data
1 Access login page Pass
2 Enter a deactivated
username and a valid
password
Please refer Appendix - F for more test cases with test results.
User evaluation will be conducted to evaluate a system by testing it with actual users and actual
data. 'User evaluation' according to [7] focuses on how well users can study and use a system to
achieve their goals. Acceptance testing which is the last stage of the testing process will be done
during user evaluation.
52
6.8.1 Usability Testing
'Usability' according to [8] is the scale to which a software can be used by specified clients to
achieve quantified objectives with effectiveness, efficiency, and satisfaction in a quantified
context of use.
In simple terms, usability means the quality of the user experience when they interact with the
developed system. Usability is a combination of factors such as below according to [7].
Easy to learn design - How much effort the user need to spend in understanding the
architecture and navigation of the system
Efficiency of use - How simple it is to use the system and how fast an experienced
user can finish the tasks
Ease of learning -How fast a user who has never seen the user interface before, can
accomplish basic tasks
Memorability - After using the system, if a user can remember enough to use it
effectively in future visits
Error frequency and severity - How often users make errors while using the system, how serious
the errors are, and how users recover from the errors
User evaluation / user acceptance testing of the IMSM system was carried out at the client's
premises with the participation of the several user who will have different access levels to the
system. A user evaluation form was provided to each of them to capture user's experience on the
system and to gather any comments which was very help in improving the system.
Results obtained through the user evaluation was satisfactory a thorough analysis of each
scenario is given below.
53
Please refer Appendix - D for the Questionnaire used to evaluate the IMSM system
Figure 19 demonstrates the user friendliness of the IMSM system according to the actual user's
feedback.
Extremely user-friendly
Very user-friendly
Fairly user-friendly
Less user-friendly
Not at all user-friendly
According to the above evaluation on the friendliness of user interfaces it could be realized that
interfaces are built in a very user-friendly manner and only a less percentage of users have
experienced less and no user-friendliness in the system. Those experiences were discussed with
the relevant users and the issues were identified and were used to improve the system further.
54
Speed of Software
Figure 20 demonstrates the speed of the IMSM system according to the actual user's feedback.
Extremely Fast
Fast
Reasonable
Slow
Very slow
According to the above evaluation on the speed of user system it could be realized that the system
is performing well enough. Few comments could be noted in experiencing slow performance in
the system which was be due to slow performance of personal computers/laptops used for the
testing and the interactions between the application and the database server. However these
experiences were discussed with the relevant users and the issues were identified and were used
to improve the system speed.
6.8 Summary
This chapter summarizes all the testing process, test plan and testing techniques used during the
system testing phase with tested items, test cases and user evaluation on the system. The results
of the project with directions for future work will be critically analyzed the next chapter.
55
CHAPTER 7: CONCLUSION AND FUTURE WORK
7.1 Introduction
This chapter will review the objectives of the system, how they have been achieved, objectives
could not be achieved and a critical analysis of the results of the project with directions for future
work.
7.2 Conclusion
When revising the objectives of Inventory management and sales management(IMSM) system
developed for Kolden Tea International small scale company, the system was required to develop
in a way to perform all the current functionalities of the ongoing processes and to include some
additional features such as generating helpful reports, search etc. Authorized users can access the
system and can manage users, employees and clients in a effective manner. Tea, which is the
main product of this company can be managed by the authorized system by adding various
categories of items, modifying them when necessary and managing the current tea stock level
which is an essential fact when managing day to day sales. Users can create sales orders though
the system and are able to manage them until the end of the sales and invoicing process.
Management can check the stock level instantly before placing a sales order which will eliminate
accepting unrealistic orders or management can prepare early by refilling the stocks to
accommodate the order which was a drawback of the current process and a major requirement for
the system.
Apart from the main processes authorized users can add new employees, new users to the system
and manage them according to the requirements. The attendance also can be recorded through the
system and later reports can be generated which will be useful for month end evaluations and
salary processing.
Searching, an additional yet a useful feature has been developed in the system to give an extra
value to the current system. Whatever the information users need to find can be search through
this module.
56
A variety of reports have been set for the use of management which will be useful in assessing
their inventory, sales and other aspects such as auditing. Help manual is accessible in system to
ensure that the users can learn more in using the system.
In summary, IMSM system provides a computerized and a centralized system to which can be
accessible any authorized user and this system reduces the paper work done by the employees
which fulfill the purpose of the project. By analyzing the overall test results and the user feedback
gathered at the user evaluation, the developed IMSM system can be considered as a satisfactory
level project which meets all the expected requirements of our client as well as the standards of
the MIT degree program.
Few issues encountered during the ‘requirements gathering’ process as was bit difficult to speak
to each user during their working time and sometimes they were not available. Hence had to
spend more days than allocated, to gather all necessary details and requirements. Designing the
high-level use case diagram took more time than expected as the requirements were not clear
enough in some processes.
IMSM system was initially discussed to implement using multiple personal computers but due to
limitations in providing multiple recourses, it was decided to provide one personal computer.
Then the system was designed and implemented to work as a standalone application which will
operate in a single computer. Insufficiency of knowledge in the selected languages such as C#
and SQL lead the development process to spend more time than scheduled for learning the
technologies thoroughly. Allocated time for different modules and processes changed narrowly
due to various reasons. In general the process went smoothly yet working with the schedule was a
challenge throughout the project.
57
7.3 Limitations of the current work
IMSM system has been developed integrating several main modules but according to the
usability testing there were minor issues in the speed of the system and the response back time
issues. Hence the fine tuning of the modules and the hardware environment upgrades are required
to overcome this limitation. The IMSM system working as a standalone system due to the
resource limitation in the client's premises and is accessible through the installed computer only.
Only a limited number of reports can be generated through the current system which can be
improved with more and different management reports. Also the current system was not designed
to implement the back end process of buying tea packs from tea manufactures since this will
expand the current scope due to having a separate process of sales orders, invoices, supplies and
different set of functionalities.
Implementing an individual project with the guidance of the MIT degree is itself an enormous
experience I have obtain specially being a non-IT professional with less on hand experience.
Familiarity in selecting a suitable project with a realistic and acceptable scope, experience in
gathering all functional and nonfunctional requirements from different stake holders, preparing
questionnaires, interviewing analyzing the feasibility etc. could be achieved with this project. The
whole process of this system implementation has trained me in tasks such as to meet the scope as
proposed, working with a planned schedule, working within the deadline, scope management and
meeting the objectives and goals, deal with the stakeholders and overall experience in all the
stages of the software development life cycle.
Achieved the practice in developing a system as an individual and acquired a clear and confident
knowledge of all phases. Also this project guided me on writing a report in a standard manner, to
develop technical and non-technical documentations for a system.
58
Gained knowledge in configuring required software and databases and also a practical knowledge
could be obtained by working with commercial systems such as Visual Studio and MS SQL
server. Expertise of applying OO designing, UML designing to a system, hands on experience in
using programming and database languages such as C#.NET and SQL in real life, testing
procedures and experience in writing a report in a standard manner and developing technical and
non-technical documentations for a system can also be stated as major lessons learnt throughout
the process.
The IMSM system was completed according to the scope and the time. However the system can
be improved further for a greater product. Due to the limitations of the time and the scope of the
individual project of the MIT degree program only a considerable scope was accepted covered
but future improvements for this product can be suggested as follows for anyone who will be
interested in expanding the system.
The developed system contains several main modules which helps to conduct current processes.
According to the usability testing there were minor issues in the speed of the system. Hence fine
tuning the modules and improving the speed and the efficient in response time can be proposed as
suggestions for future improvements.
Only a limited number of reports can be generated through the current system hence as an
improvement it can be suggested to include more management reports with a variety. This can be
further modified as graphical reports with graphs and charts which will be very effective for
analyzing.
The IMSM system is working as a standalone system due to the resource limitation in the client's
premises and is accessible through the installed computer only. Hence this can be developed as a
web based system which will be accessible from anywhere which will be an added value for the
system.
59
If the web base system was developed, a mobile version of the system (a mobile app) can be
suggested as another improvement. These suggestion can be a major developments hence a
thorough study of feasibility is recommended.
Also the current system was not designed to implement the back end process of buying tea from
manufactures which will have a separate process of sales orders, invoices, a separate set of
suppliers and functionalities. One can implement these modules and then it can be integrated with
IMSM system.
Further the system can be expanded to send email and SMS notifications to clients for settling
invoices and for the management to notify on low stock levels and sales order deliveries. So that
the users does not have to log in to the system for such manual checking. Also the current system
does not provide security for passwords of system users hence this can be suggested as a security
in implementing password encrypting mechanisms.
7.6 Summary
This chapter summarizes the critical analysis of the work carried out throughout the process and
identifies the lessons learnt, limitations of the current work and future improvements.
60
REFERENCES
[5] Margaret Rouse (2015, Feb.) Rational Unified Process (RUP) [Online]. Available:
[Link] [Accessed 11
December 2016]
[6] Vijay(2016, Dec.) Black Box Testing: Types and techniques of BBT [Online].Available:
[Link] [Accessed 11 December 2016]
61
[9] Introducing Tradegecko [Online].Available [Link]
management-system [Accessed 15 January 2017]
62
APPENDIX
Appendix A - Use Case Narratives
Use case narrative for 'Change user password' use case is given in the Table 18.
Use Case ID 02
Use Case Name Change user password
Created by M.I.W Cooray Last Update by M.I.W Cooray
Created Date 20-08-2016 Last Revision Date 20-08-2016
Actors Director, Supervisor, Sales Representative
Description User changes the account's current password
Preconditions 1. System should be properly installed and should operate without
any issue.
2. An account for the user must have been created and the user
must have logged in to the system
Main Scenario 1. User clicks the change my password option in the menu.
2. System opens the interface which has the complete process for
changing the user's password.
3. User fills the 'new password' field and 'confirm new password'
field with the same new password and click on 'change my
password' button.
4. System checks the data validity and if valid system will save the
new password for the user.
Post conditions Successfully creates a new password for the user in the IMSM system.
Alternative Scenario 1. When the user provides blank, mismatching or same old
password as a new password, system will gives a notification or
a proper error message.
Table 18 - Use case narrative for ' Change user password '
63
Use case narrative for 'Add a new product' use case is given in the Table 19
Use Case ID 03
Use Case Name Add a new product
Created by M.I.W Cooray Last Update by M.I.W Cooray
Created Date 20-08-2016 Last Revision Date 20-08-2016
Actors Director , Supervisor
Description User adds a new tea product to the system
Preconditions 1. System should be properly installed and should operate without
any issue.
2. An account for the user (Director or a Supervisor) must have
been created and the user must have logged in to the system
Main Scenario 1. User clicks on the add a new product option in the menu.
2. System opens the interface which has the complete process to
add the new tea product.
3. User fills the necessary information of the tea product and
product and click on 'Add' button.
4. System checks the data validity and if valid system will create a
new product in the database.
Post conditions User successfully adds a new tea product to the IMSM system.
Alternative Scenario 1. When the user provides invalid or blank information, system
will gives a notification or a proper error message.
Table 19 - Use case narrative for 'Add a new product'
64
Use case narrative for 'View a registered employee' use case is given in the Table 20
Use Case ID 03
Use Case Name View a registered employee
Created by M.I.W Cooray Last Update by M.I.W Cooray
Created Date 20-08-2016 Last Revision Date 20-08-2016
Actors Director , Supervisor
Description User views a registered employee record in the system
Preconditions 1. System should be properly installed and should operate without
any issue.
2. An account for the user (Director or a Supervisor) must have
been created and the user must have logged in to the system
3. Employee record must have been added to the system data base.
Main Scenario 1. User clicks on the 'Manage employees' option in the menu.
2. System opens the interface which has the complete process to
view and modify a registered employee record
3. User insert the employee number and click on 'Search' button.
4. System checks the entered employee record and if it exists,
system will display the saves information of the employee. .
Post conditions User views the information reordered for this employee and user can
proceed to modify the employee record.
Alternative Scenario 1. When the user provides invalid, not existing or blank employee
number, system will gives a notification or a proper error
message.
Table 20 - Use case narrative for 'View a registered employee'
65
Use case narrative for 'Generate a report' use case is given in the Table 21
Use Case ID 03
Use Case Name Generate a report
Created by M.I.W Cooray Last Update by M.I.W Cooray
Created Date 20-08-2016 Last Revision Date 20-08-2016
Actors Director
Description User generates a report in the system
Preconditions 1. System should be properly installed and should operate without
any issue.
2. An account for the user (Director) must have been created and
the user must have logged in to the system
Main Scenario 1. User selects the type of report from the menu
2. System opens the interface which has the complete process to
generate the report
3. User selects the relevant criteria for the report and click on
'generate report' button.
4. System checks the search criteria entered by the user and if
records exists, system will generate the report.
Post conditions The report is created successfully and the user can save or print the
report.
Alternative Scenario 1. When there are no records to create a report, system will gives a
notification or a proper error message.
Table 21 - Use case narrative for 'Generate a report' use case
66
Appendix B - Design Diagrams
Figure 21 shows the activity diagram for the 'view registered employee' use case.
67
Figure 22 shows the activity diagram for the 'add a new product' use case.
68
Figure 23 shows the sequence diagram for the 'login' use case.
69
Appendix C - User Interfaces
Figure 24 shows the user interface of the home page which will be displayed to all users after the
login.
Figure 25 shows the user interface of the 'manage employees' page which will be used to modify
employee information or to delete the employee.
70
Figure 25 - 'Manage employees' page
71
Figure 27 shows the user interface used to add a new client to the system database.
72
Appendix D - User Evaluation Form / Questionnaire
Educational Level
Other
-friendly
-friendly
Fairly user-friendly
Less user-friendly
all user-friendly
Reasonable
73
4. Were the Error messages displayed at the appropriate places?
5. How would you feel about accuracy of given information through the system?
Yes
Fairly helpful
Less helpful
74
9. How would you rate the colors used in the system? Were the used colors disturbing or helpful?
Colors are ok
No Idea
Excellent
very good
Need to improve
75
Poor / difficult to use
Date -
Signature -
76
Appendix E - Test Cases
Test cases for 'Change Password' test item is given in the Table 22.
11 Change password Enter a new password in the System should provide High
with two different first field but entering a a suitable error
new passwords different character set in message
second field and try to
change the password
12 Use a new password Enter a new password in the Successfully changes High
and retype the same first field and enter the same user password as the
password password in the second field newly entered
and try to change the password and a proper
password confirmation message
should be displayed
Table 22 - Test cases for 'Change password' test item
77
Test cases for ' Add a new user' test item is given in the Table 23.
16 'New password' field Keep 'New password' blank System should provide High
blank and all other and set all other fields with a suitable error
fields valid and valid values and try to create message
create a new user a new user
78
Test cases for 'Add a new product' test item is given in the Table 24.
79
Appendix F - Test Cases With Test Results
Table 25 shows the test case for Test case ID - 8 which was used to test the 'change user
password' when performed with blank spaces.
Test Case ID 8
Tested Component Change my password Page
Module Name User profile Module
Test Case Change password with blank spaces in the password fields
Test Case Description Use blank spaces for password fields and try to change the
password
Expected Output System should provide a suitable error message
Step Actions and Test Actual Output Status
Data
1 Access ' Change my Pass
password ' page
2 Keep password fields
blank without
entering anything
3 Click on 'change my
password' button
Table 25 - 'Change password with blank spaces in the password fields' test case
80
Table 26 shows the test case for Test case ID - 9 which was used to test the 'change user
password' when performed with old password.
Test Case ID 9
Tested Component Change my password Page
Module Name User profile Module
Test Case Change password with the same old password
Test Case Description Enter the previously used password as the new password and
try to change the password
Table 26 - 'Change password with the same old password' test case
81
Table 27 shows the test case for Test case ID - 10 which was used to test the 'change user
password' when performed with a new password.
Test Case ID 10
Tested Component Change my password Page
Module Name User profile Module
Test Case Change password with a new password but keep the other
field blank
Test Case Description Enter a new password in the first but keep the field 'confirm
password' blank and try to change the password.
Table 27 - 'Change password with a new password but keep the other field blank' test case
82
Table 28 shows the test case for Test case ID - 11 which was used to test the 'change user
password' when performed with two different new passwords.
Test Case ID 11
Tested Component Change my password Page
Module Name User profile Module
Test Case Change password with two different new passwords
Test Case Description Enter a new password in the first field but enter a different character
set in second field and try to change the password
Table 28 - 'Change password with two different new passwords' test case
83
Table 29 shows the test case for Test case ID - 12 which was used to test the 'change user
password' when performed with two same new passwords.
Test Case ID 12
Tested Component Change my password Page
Module Name User profile Module
Test Case Use a new password and retype the same password
Test Case Description Enter a new password in the first field and enter the same password in
the second field and try to change the password
Table 29 - 'Use a new password and retype the same password' test case
84
Appendix G - Analysis On The Questionnaire
Figure 28 demonstrates how helpful were the error messages while using the IMSM system
according to the actual user's feedback.
Figure 29 demonstrates the whether the error messages were displayed at proper places according
to the actual user's feedback.
Yes
Sometimes
No
85
Accuracy of given information
Figure 30 demonstrates the accuracy of given information through the system, according to the
actual user's feedback.
Very accurate
Not accurate
Figure 31 demonstrates how well organize the information of the IMSM system according to the
actual user's feedback.
Yes
Up to some extent
No
86
Helpfulness of the 'help manual'
Figure 32 demonstrates how helpful was the provided 'help manual' to the users, according to the
actual user's feedback.
Extremely helpful
Very helpful
Fairly helpful
Less helpful
Not at all helpful
Figure 33 demonstrates user's experience of the character size used in the system interfaces.
87
Colors used in the system
Figure 34 demonstrates the user's thought about the colors used in the system interfaces.
Colors are ok
Colors are not ok
Need to improve
No Idea
Figure 35 demonstrates the user experience of navigating through the system, according to the
actual user's feedback.
Yes
No
No Idea
88
Performance of software
Figure 36 demonstrates how satisfy the users are regarding the performance of the software.
Extremely satisfied
Very satisfied
Fairly satisfied
Slightly dissatisfied
Very dissatisfied
Figure 37 demonstrates the overall users' rating for the IMSM system.
Excellent
Very good
Good except few issues
Need to improve
Poor / difficult to use
89