InventoryManagmentProject
Shanto-Mariam University of Creative Technology
Semester Final Project On
Inventory
Management System
Submitted To
Dr. Jebunnahar (Jebu)
Associate Professor
Shanto-Mariam
University of Creative Technology, Dhaka.
Submitted By
1.
Md. Mubarak
Hossain (Roll No: 191071015)
Registration No: 1910-7-10-15
2.
Md. Tanvir Hasan
Tomal(Roll No: 191071029)
Registration No: 1910-7-10-29
Shanto-Mariam University of Creative Technology,
Dhaka.
Under the supervision of
Mr. Pelob Chakraborti
Mr. Abdullah Bin Masud
In partial fulfillment of the requirement for the degree of
Bachelor of Computer Science & Engineering (CSE)
Dhaka, Bangladesh
February, 2021
Entitled
“INVENTORY
MANAGEMENT SYSTEM”
Has been prepared
and approved by this university.
This report is
forwarded for examination to Shanto-Mariam
University of Creative Technology, Dhaka.
.
DECLARATION
We hereby declare that the work reported in this project work
on “Inventory Management System” submitted to Dr. Jebun Nahar Jebu
(Associate Professor, Shanto-Mariam
University of Creative Technology, Dhaka.),
Shanto-Mariam
University of Creative Technology, Dhaka is our original work done in the form of partial
requirement for the degree of Bachelor’s in Computer Science & Engineering
(CSE) under the supervision of Mr. Pelob Chakraborti, Coordinator of department
(Computer Science & Engineering), Shanto-Mariam University of Creative
Technology, Dhaka and supervisor for the semester final project. The material contained in
the report has not been submitted to any University or Institution for the
award of any degree.
_____________________________
Md. Mubarak Hossain (Roll No: 191071015)
Registration No: 191071015
Md. Tanvir Hasan (Roll No:191071029)
Registration No: 191071029
CERTIFICATE OF APPROVAL
We have the pleasure in forwarding
the project of Mr. Md. Mubarak Hossain (Roll No: 191071015)
and Md. Tanvir Hasan(Roll No:191071029) entitled “Inventory Management System” for the award of the
degree of Bachelor of Computer Information System of this institute. Mr. Md. Mubarak
Hossain (Roll No: 191071015) and Mr. Tanvir
Hasan Tomal (Roll No: 191071029) have
completed the project work for the full prescribed period under Shanto-Mariam
University of Creative Technology, Dhaka curriculum and the project embodied the result of his
investigations conducted during the period they worked as a full time student
of this department.
The Final year project has been
approved by the following panel of examiners:
S.N |
Name |
|
Signature |
Date |
|||
01 |
Dr.
Jebun Nahar Jebu |
Associate Professor (Computer
Science & Engineering) |
|
|
|||
02 |
Pelob
Chakraborti |
Coordinator (Computer Science &
Engineering) |
|
|
|||
03 |
Abdullah
Bin Masud |
External Examiner (Computer Science &
Engineering) |
|
|
ACKNOWLEDGEMENT
This project
is prepared in the partial fulfillment of the requirement for the degree of
Bachelor in Computer Science & Engineering (CSE). The satisfaction and
success of completion of this task would be incomplete without heartfelt thanks
to people whose constant guidance, support and encouragement made this work
successful. On doing this undergraduate project we have been fortunate to have
help, support and encouragement from many people we would like to acknowledge
them for their cooperation.
Our first
thanks goes to Shanto-Mariam University of Creative Technology, Dhaka for designing such a worthy syllabus
and making us do this project. Our next batch of thanks goes to the faculty of Computer
Science & Engineering (CSE) of Shanto-Mariam University of Creative
Technology, Dhaka without
whose help our project would have been impossible. This list, Dr. Jebun Nahar
Jebu, Associate Professor (Computer Science & Engineering) of Shanto-Mariam
University of Creative Technology, Dhaka. Our very sincere and heartfelt thanks go to Mr. Pelob
Chakraborti, Coordinator (Computer Science & Engineering) our project supervisor
who constantly guided us through the project time period. Without his guidance,
our project would have been impossible. Last but not the least we want to thank
every direct and indirect hands that were involved in completion of this
project.
Finally, our
heartfelt thanks go to Dr. Jebun Nahar Jebu, Associate Professor (Computer
Science & Engineering) of Shanto-Mariam University of Creative Technology, Dhaka. as an examiner for our semester final project
and thanks for sharing her valuable time with us to evaluate our work and
provide professional suggestion with us.
This project
has been a wonderful experience where we have learnt and experienced many
beneficial things.
With Regards:
Md. Mubarak Hossain (Roll No: 191071015)
Registration No: 191071015
Registration No: 191071029
ABSTRACT
This project is aimed at developing a desktop based application named
Inventory Management System for managing the inventory system of any
organization. The Inventory Management System (IMS) refers to the system and
processes to manage the stock of organization with the involvement of
Technology system. This system can be used to store the details of the
inventory, stock maintenance, update the inventory based on the sales details,
generate sales and inventory report daily or weekly based. This project is categorizing
individual aspects for the sales and inventory management system. In this
system we are solving different problem affecting to direct sales management
and purchase management. Inventory Management System is important to ensure
quality control in businesses that handle transactions resolving around
consumer goods. Without proper inventory control, a large retail store may run
out of stock on an important item. A good inventory management system will
alert the wholesaler when it is time to record. Inventory Management System is
also on important means of automatically tracking large shipment. An automated
Inventory Management System helps to minimize the errors while recording the
stock.
LIST OF FIGURES
FIGURE 2.1: TIER ARCHITECTURE ..................................................................................................19
FIGURE 3.6: GANTT CHART ...............................................................................................................19
FIGURE 4.1: IMS PROCESS FLOW DIAGRAM..................................................................................20
FIGURE 4.2.1: IMS USE CASE DIAGRAM.........................................................................................21
FIGURE 5.2.1: .NET FRAMEWORK ARCHITECTURE.....................................................................
23
FIGURE 5.2.2: COMPILATION TO MANAGED CODE....................................................................
25
FIGURE 6.6.1: ADMIN OR LOGIN PAGE..........................................................................................
33
FIGURE 6.6.2: COMPANY/SHOP DETAILS......................................................................................
34
FIGURE 6.6.3: INVENTORY ENTRY SYSTEM.................................................................................
34
FIGURE 6.6.4: BACK UP AND RESTORE MENU.............................................................................
35
FIGURE 6.6.5: REPORT MENU ..........................................................................................................
35
FIGURE 6.6.6: CREATING GODWOM ..............................................................................................
36
FIGURE 6.6.7: CREATING UNITS ......................................................................................................
37
FIGURE 6.6.8: CREATING PRODUCT TYPE ....................................................................................
37
FIGURE 6.6.9: CREATING PRODUCT................................................................................................
37
FIGURE 6.6.10: INSERTING OPENING STOCK ...............................................................................
38
FIGURE 6.6.11: PURCHASING PRODUCT FORM VENDOR ..........................................................
38
FIGURE 6.6.12 SALES PRODUCT TO CUSTOMER .........................................................................
39
FIGURE 6.6.13: PURCHASE RETURN.............................................................................’...................
39
FIGURE 6.6.14: SALES RETURN..........................................................................................................
40
FIGURE: 6.6.15 REPORT OF CURRENT STOCK...............................................................................
40
FIGURE 6.6.16: BACK-UP DATA ...............................................................................................................
41
[vii]
LIST OF ABBREVIATIONS
IMS Inventory
Management System
DBMS Database
Management System
DFD Data
Flow Diagram
BCIS
Bachelor of Computer Information System
JIT Just-In-Time
DML Data
Manipulation Language
DDL Data
Definition Language
DCL Data
Control Language
CLR Common
Language Runtime
SSMSE SQL
Server Management Studio Express
SQL Structured
Query Language
SMUCT Shanto-Mariam
University of Creative Technology
[viii]
Table of Contents
RECOMMENDATION
.................................................................................................
01
DECLARATION
..........................................................................................................
02
CERTIFICATE OF APPROVAL
.................................................................................
03
ACKNOWLEDGEMENT
.............................................................................................
04
ABSTRACT..................................................................................................................
05
LIST OF FIGURES........................................................................................................
06
LIST OF ABBREVIATIONS
.......................................................................................
07
CHAPTER-1:
INTRODUCTION..................................................................................
11
1.1 Introduction to
Inventory Management System.......................................................
11
1.2 Literature
Review.....................................................................................................
11
1.3 Problem Statement....................................................................................................1
2
1.4 Objective of the Project
...........................................................................................1
2
1.4.1 Primary objective...................................................................................................1
2
1.4.2 Secondary objective...............................................................................................
12
1.6 Features of Project....................................................................................................
12
1.7 Scope of the Application...........................................................................................13
CHAPTER-2 BACKGROUND KNOWLEDGE...........................................................
14
2.1 Architectural
Review.................................................................................................
14
2.1.1 Client tier
...............................................................................................................
14
2.1.2 Business tier...........................................................................................................
14
2.1.3 Data tier ..................................................................................................................
14
2.2 Database Theory
.......................................................................................................
15
2.2.1 Relational Database.................................................................................................
15
2.2.2 Structured Query
Language (SQL) ........................................................................
16
2.3 ACID Property ..........................................................................................................
16
CHAPTER-3: ANALYSIS AND
DESIGN.................................................................... 17
3.1
Background Research ...........................................................................................1
8
3.2 Requirement Analysis
...........................................................................................
18
3.3 IMS Requirement...................................................................................................
18
3.4 Users Requirement..................................................................................................
19
3.4.1 Admin...................................................................................................................19
3.4.2 Inventory
management.........................................................................................19
3.5 Feasibility Analysis ................................................................................................19
3.5.1 Economic Feasibility............................................................................................19
3.5.2 Technical Feasibility............................................................................................19
3.5.3 Operational Feasibility.........................................................................................
20
3.5.4 Schedule Feasibility.............................................................................................
20
3.6 Gantt chart...............................................................................................................20
CHAPTER – 4: SYSTEM DESIGN ............................................................................
20
4.1 Process Flow Diagram
...........................................................................................
21
4.2 Use Case Diagram...................................................................................................
21
4.2.1 Diagram Building Block......................................................................................
22
CHAPTER – 5: TOOLS AND TECHNOLOGY
USED............................................. 22
5.1Development Tools..................................................................................................
22
5.1.1 Microsoft visual
Studio .......................................................................................
22
5.1.2 Microsoft SQL server
Management Studio Express........................................... 23
5.1.3 .NET Framework 4.5...........................................................................................
23
5.2 Technology Used....................................................................................................
23
5.2.1 .NET Framework
Structure .................................................................................
25
5.2.2 Compilation to Manage Code..............................................................................
26
5.2.3 JIT compilation....................................................................................................
27
5.2.4 The .NET Language.............................................................................................
27
5.2.5 Data Provider........................................................................................................
28
5.2.6
The Connection object...................................................................................
28
5.2.7 The command
Object ....................................................................................
28
5.2.8 The Data Reader
object .................................................................................
29
5.3 Microsoft SQL Server......................................................................................
29
CHAPTER- 6: CODING IMPLEMENTATION....................................................
29
6.1 Application Code
Structure...............................................................................
30
6.2 Logic.................................................................................................................
31
6.3 Code for Login
page and validation..................................................................
31
6.4 Backup Data code.............................................................................................
32
6.5 Restore Data code.............................................................................................
34
6.6 Project Screenshot.............................................................................................
35
CHAPTER – 7:
DEBUGGING AND TESTING................................................... 41
7.1 Purpose of
Testing ...........................................................................................
41
7.2 Type of Testing.................................................................................................
41
7.2.1 Units Test.......................................................................................................
42
CHAPTER – 8:
CONCLUSION AND LESSON LEARNT.................................. 43
8.1 Project
Limitation .............................................................................................
43
8.2 Conclusion...........................................................................................
............. 43
8.3 Lesson Learnt....................................................................................................
43
8.4 Future Enhancements........................................................................................
43
REFERENCES ....................................................................................................... 44
CHAPTER-1: INTRODUCTION
1.1
Introduction to Inventory Management System
The project
Inventory Management System is a complete desktop based application designed on
.Net technology using Visual Studio Software. The main aim of the project is to
develop Inventory Management System Model software in which all the information
regarding the stock of the organization will be presented. It is an intranet
based desktop application which has admin component to manage the inventory and
maintenance of the inventory system.
This desktop
application is based on the management of stock of an organization. The
application contains general organization profile, sales details, Purchase
details and the remaining stock that are presented in the organization. There
is a provision of updating the inventory also. This application also provides
the remaining balance of the stock as well as the details of the balance of
transaction.
Each new
stock is created and entitled with the named and the entry date of that stock
and it can also be update any time when required as per the transaction or the
sales is returned in case. Here the login page is created in order to protect
the management of the stock of organization in order to prevent it from the
threads and misuse of the inventory.
1.2
Literature Review
Products are
considered as the business resources for the organization. This includes
managing the product with appropriate way to review any time as per the
requirement. Therefore it is important to have a computer based IMS which has
the ability to generate reports, maintain the balance of the stock, details
about the purchase and sales in the organization. Before developing this
application we came up with 2 Inventory Management System existing in the
market, which helps to give the knowledge for the development of our project.
These application software are only used by the large organization but so we
came up with the application which can be used by the small company for the
management of their stock in the production houses.
After
analyzing the other inventory management system we decided to include some of
common and key features that should be included in every inventory management
system. So we decided to include those things that help the small organization
in a way or other.
1.3 Problem Statement
After
analyzing many existing IMS we have now the obvious vision of the project to be
developed. Before we started to build the application team had many challenges.
We defined our problem statement as:
Ø To make desktop based application of
IMS for small organization.
Ø To make the system easily managed and
can be secured.
Ø To cover all the areas of IMS like purchase details, sales
details and stock management.
1.4
Objective of the Project
1.4.1
Primary objective
The primary
objectives of the project are mentioned below:
Ø To fulfill the requirement for
achieving the Bachelor’s degree of Computer Information System.
Ø To know the fundamentals of the .Net Technology and Visual
Studio with the .Net Framework
1.4.2
Secondary objective
The secondary
objectives of this project are mentioned below:
Ø To develop an application that deals
with the day to day requirement of any production organization
Ø To develop the easy management of the
inventory
Ø To handle the inventory details like
sales details, purchase details and balance stock details.
Ø To provide competitive advantage to
the organization.
Ø To provide details information about
the stock balance.
Ø To make the stock manageable and simplify the use of
inventory in the organization.
1.6
Features of Project
This
application is used to show the stock remaining and details about the sales and
purchase. It gives the details about the stock on daily based and weekly based.
The details components are described below:
Login
page: As application
starts the login page appears. Admin login is determined by the username and
password that has all the authority to add, update and delete the stock of the
organization as per the requirement.
Create Godown: We can create Godown if we need to extend or we have
more than one Godown. We can create the godwom along with the date.
Sales
details: It show the
details about the sales and the remaining stock of sales. It also shows the
details about the sales in return.
Purchase
details: It shows
the details about the purchase made by the organization along with the price
and dates.
1.7 Scope
of the Application
Inventory
Management System (IMS) is targeted to the small or medium organization which
doesn’t have many godwom or warehouses i.e. only to those organization that has
single power of authority. Some of the scope are:
Ø Only one person is responsible in
assigning the details or records
Ø It is security driven.
Ø Godown can be added as per the requirement.
CHAPTER-2 BACKGROUND KNOWLEDGE
2.1
Architectural Review
This desktop
based application is based on 3-tier architecture of .Net Framework. The 3-tier
includes the three hierarchy of the flow of programming logic from user
interface to database and again database to user interface with the desired
information requested by the clients. In between there involves the logic layer
for effectively and correctly manipulating the request. The 3-tier includes the
following:
2.1.1
Client tier
The visual
part is implemented using all kinds of swing components, which does not make
database calls. The main function of this tier is to display information to the
user upon user’s request generated by user’s inputs such as firing button
events. For example, inventory list will display when user click “display”
button if he or she wants to know the list of stock remaining in the
organization.
2.1.2
Business tier
The middle
tier, business logic, is called by the client to make database queries. It
provides core function of the system as well as connectivity to the data tier,
which simplify tasks that were done by the clients tier.
2.1.3 Data
tier
Data layer is also the
class which gets the data from the business tier and sends it to the database
or gets the data from the database and sends it to business tier. This is the
actual DBMS access layer or object layer also called the business object. The
database backend stores information which can be retrieved by using the mysql
database Connectivity. Mysql database connectivity is used to manage the
commi=unication between the middle tier and the backend database by issuing
complex database queries.
Figure 2.1: Tier Architecture
Source: https://mdmubarakhossain.blogspot.com/UploadFile/a7e1c8/3-tier-clientserver-architecture/
2.2
Database Theory
A database is
a collection of information that is organizes so that it can easily be
accessed, managed and updated. In one view, database can be classified
according to types of content: bibliography, full-text, numeric, and image. In
computing, database are sometime classified according to their organizational
approach. A distributed database is one that can be dispersed or replicated
among different points in a network.
2.2.1
Relational Database
IMS has the
relational database model. A relational database is a digital database whose
organization is based on the relational model of data. This model organizes
data into one or more tables of rows and columns. These tables here have the
relation.
The relation
is maintained by the unique key defined in each row. The key can be primary and
foreign depending on their nature of connection. The standard user and
application program interface to a relational database is the structured query
language (SQL). SQL statement are used both for interactive queries for information
from relational database and for gathering data for reports.
Primary Key
The primary
key of a relational table uniquely identifies each record in the table. It can
either be a normal attribute that is guaranteed to be unique or it can be
generated by the DBMS. A primary key’s main features are:
Ø It must contain a unique value for
each row of data.
Ø It cannot contain null value.
Foreign
Key
A foreign key
is a column or group of column in a relational database table that provides a
link between data in two tables. In foreign key reference, a link is created
between two tables when the column or columns that hold the primary key value
for one table are referenced by the column or column in another table thereby
establishing a link between them. Creating a foreign key manually includes the
following advantages:
Ø Changes to primary key constraints
are checked with foreign key constraints in relation table.
Ø An index enables the Database Engine to quickly find related
data in the foreign key tables.
2.2.2
Structured Query Language (SQL)
The
structured Query language (SQL) is the set of instructions used to interact
with a relational database. In fact, SQL is the only language the most database
actually understand. Whenever you interact with such a database, the software
translates your commands into SQL statement that the database knows how to
interpret. SQL has three major Components:
Ø Data Manipulation Language (DML)
Ø Data Definition Language (DDL)
Ø Data Control Language (DCL)
2.3 ACID
Property
Every
database transaction obeys the following rules:
Atomicity – Either
the effects of all or none of its operation remain (“all or nothing” semantics)
when a transaction is completed (committed or aborted respectively). In other
words, to the outside world a committed transaction appears (by its effects on
Consistency – every
transaction must leave the database in a consistent (correct) state, i.e.,
maintain the predetermined integrity rules of the database (constraints upon
and among the database’s objects). A transaction must transform a database from
one consistent state to another consistent state (however, it is the
responsibility of the transaction’s programmer to make sure that the
transaction itself is correct, i.e., performs correctly what it intends to
perform (from the application’s point of view) while the predefined integrity
rules are enforced by the DBMS). Thus since a database can be normally changed
only by transactions, all the database’s states are consistent. An aborted
transaction does not change the database state it has started from, as if it
never existed (atomicity above).
Isolation
– Transactions
cannot interfere with each other (as an end result of their executions).
Moreover, usually (depending on concurrency control method) the effects of an
incomplete transaction are not even visible to another transaction. Providing
isolation is the main goal of concurrency control.
Durability
– Effects of
successful (committed) transactions must persist through crashes (typically) by
recording the transaction’s effects and its commit event in a non-volatile
memory.
CHAPTER-3: ANALYSIS AND DESIGN
3.1
Background Research
We started
research by identifying the need of IMS in the organization. Initially we
bounded our research to find the general reasons that emerged the needs of
Inventory Management System. We used different techniques to collect the data
that can clearly give us the overall image of the application. The techniques
we used were interview with the developers, visiting online websites that are
presented as the templates and visiting some organization to see their IMS
application. Basically the following factors forced us to develop IMS
application:
Ø Cost and affordability
Ø Lack of stock management.
Ø Effective flow of stock transfer and
management.
Ø Difficulty in monitoring the stock management.
3.2
Requirement Analysis
We collected
a number of requirements for project from our primitive research, website
visits, and interview to the concerned personnel and their experiences
regarding the concepts of its development. We have even visited some
organization in Kathmandu valley and analyze its importance and try to develop
the project by fulfilling all the weakness that were found in the application.
We then decided to bulid same type of application with different logic flow and
new language which will be suitable for the small organization.
3.3 IMS
Requirement
The goal for
the application is to manage the inventory management function of the
organization. Once it is automated all the functions can be effectively managed
and the organization can achieve the competitive advantage. Business
requirement are discussed in the Scope section, with the following additional
details:
Ø Helps to search the specific product
and remaining stock.
Ø Details information about the product
sales and purchase.
Ø Brief Information of the organization
todays status in terms of news, number of present inventory as per the date
entered.
Ø It helps to identify the total presented inventory in the
company.
Ø To know the balance and details of
sales distributed in specific date.
Ø There is proper transaction
management of inventory.
Ø All transaction has specific entry
date along with quantity and rate.
Ø Only admin can login in the page.
3.4 Users
Requirement
User
requirement are categorized by the user type
3.4.1
Admin
Ø Able to create new godwom along with
date.
Ø Able to edit the entry as per entry.
Ø Able to add, modify and delete the stock entry.
3.4.2
Inventory management
Ø Able to check the stock available.
Ø Able to check the balance payment.
Ø Able to view the remaining sales stock.
3.5
Feasibility Analysis
This software
has been tested for various feasibility criterions from various point of views.
3.5.1
Economic Feasibility
The system is
estimated to be economically affordable. The system is medium scale desktop
application and has affordable price. The benefits include increased
efficiency, effectiveness, and the better performance. Comparing the cost and
benefits the system is found to be economically feasible.
3.5.2
Technical Feasibility
Development
of the system requires tools like:
Ø Visual Studio 2015
Ø .NET Framework 4.5
Ø Microsoft SQL server 2008, etc
3.5.3 Operational Feasibility
The system
provides better solution to the libraries by adding the typical requirement and
necessities. The solution provided by this system will be acceptable to
ultimate solution for the stock management.
3.5.4
Schedule Feasibility
The organized
schedule for the development of the system is presented in the schedule
sub-section. The reasonable timeline reveals that the system development can be
finished on desired time framework.
3.6 Gantt
chart
It is one of the popular
way to illustrate project schedule. A Gantt chart is a graphical representation
of a project that shows each activity task as a horizontal bar whose length is
proportional to its time for completion. A Gantt chart for the project
deliverables within time frame. This project Gantt chart is shown below:
CHAPTER –
4: SYSTEM DESIGN
4.1
Process Flow Diagram
Process Flow
Diagram or Flowchart is a diagram which uses geometric symbols and arrows to
define the relationships. It is a diagrammatic representation of the algorithm.
The Process flow Diagram of our application is shown below:
Figure 4.1: IMS Process flow diagram
4.2 Use Case Diagram
Its purpose is to present a
graphical overview of the functionality provided by a system in terms of actors
and their goals. The main purpose of a use case diagram is to show what system
functions are performed for which actors.
4.2.1 Diagram Building Block
Use cases
A use case describes a sequence
of actions that provide something of measurable value to an actor and is drawn
as a horizontal ellipse.
Actor
An actor is a person,
organization or external system that plays a role in one or more interactions
with the system
System boundary boxes
(optional)
A rectangle is drawn around the use case called the system
boundary box to indicate scope of the system.
Figure 4.2.1: IMS Use Case Diagram
CHAPTER – 5: TOOLS AND TECHNOLOGY USED
5.1Development Tools
5.1.1
Microsoft visual Studio
Microsoft
Visual Studio is an integrated development environment (IDE) from Microsoft. It
is used to develop console and graphical user interface applications along with
Windows Form applications, websites, web applications, and web services in both
native code together with managed code for all platforms supported by Microsoft
Window, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework and
Microsoft Silverlight. Microsoft Visual Studio simplifies the basic tasks of
creating, debugging and deploying applications.
Microsoft
Visual Studio comes with .NET Framework and supports applications targeting
Windows. It supports IBM DB2 and Oracle databases, in addition to Microsoft SQL
Server. It has integrated support for developing Microsoft Silverlight
applications, including an interactive designer. Microsoft Visual Studio offers
several tools to make parallel programming simpler: in addition to the Parallel
Extensions for the .NET Framework and the Parallel Patterns Library for native
code, Visual Studio includes fools for debugging parallel applications.
The Visual
Studio code editor now highlights references; whenever a symbol is selected;
all other usages of the symbol are highlighted. It also offers a Quick Search
feature to incrementally search across all symbols in C++, C# and VB.NET
projects. Quick Search supports substring matches and camel Case searches. The
Call Hierarchy feature allows the developers to see all the methods that are
called from a current method as well as the methods that call the current one.
IntelliSense in Visual Studio supports a consume-first mode which developers
can opt into. In this mode, IntelliSense will not auto-complete identifiers;
this allows the developer to use undefined identifiers (like variable or method
names) and define those later. Visual Studio can also help in this by
automatically defining them, if it can infer their types from usage. We have used
Visual Studio Community 2017, v 14.0.23107.10 for developing the Inventory Management
System Application.
5.1.2 Microsoft SQL server Management Studio Express
Microsoft SQL
Server Management Studio Express (SSMSE) provides a graphical management tool
for SQL Server Express Edition. SSMSE user interface is a subset of SQL
Management Studio that is available with other editions of SQL Server. SSMSE
call also manage instance of the SQL Server Database Engine created by any
edition of SQL Server. Inventory Management System is developed using Microsoft
SOL Server 2017.
5.1.3 .NET
Framework 4.5
The .NET
Framework is a development platform for building apps for Windows, Windows
Phone, Windows Server, and Microsoft Azure. It consists of the common language
runtime (CLR) and the .NET Framework class library, which includes classes,
interfaces, and value types that support an extensive range of technologies.
The .NET Framework provides a managed execution environment, simplified
development and deployment, and integration with a variety of programming
languages, including Visual Basic and Visual C#.
5.2
Technology Used
5.2.1 .NET
Framework Structure
The .Net architecture is basically segregated in to three layers namely
top, middle and bottom layer. The bottom layer is CLR, it is the heart of .NET
Framework which provides the runtime environment in which programs are
executed. The middle layer comprises the next generation of standard system
services are brought under the control of the framework, making them
universally available and standardizing their usage across languages. The top
layer includes user and program interfaces as figure:
Figure 5.2.1: .Net Framework Architecture
The first
thing that you should notice when looking at this diagram is that the .NET
Framework sits on top of the operating system. There has also been a lot of talk
about .NET being ported over by some third-party companies so that a majority
of the .NET Framework could run on other platforms as well.
At the base
of the .NET Framework is the Common Language Runtime (CLR). The CLR is the
engine that manages the execution of the code. The next layer up is the .NET
Framework Base Classes. This layer contains classes, value types, and
interfaces that you will use often in your development process. Most notably
within the .NET Framework Base Classes is ADO.NET, which provides access to and
management of data.
The third
layer of the framework is ASP.NET and Windows Forms. ASP.NET should not be
viewed as the next version of Active Server Pages after ASP 3.0, but as a
dramatically new shift in Web application development. Using ASP.NET, it’s now
possible to build robust Web applications that are even more functional than
Win32 applications of the past.
5.2.2
Compilation to Manage Code
Code that is
compiled and targeted to the CLR is known as managed code. Managed code
provides metadata that is needed for the CLR to provide the services of
multi-17
language
support, code security, object lifetime management, and memory management. The
.NET Framework requires that you use a language compiler that is targeted at
the CLR, such as the Visual Basic .NET, C#, C++ .NET, or Jscript .NET compilers
provided by Microsoft. So how does the code that you typed into Visual Studio
.NET become the code that the user receives when he is using your application?
It is fairly simple and straightforward. Figure below shows a diagram of the
compilation process.
Figure 5.2.2: Compilation to managed code
The IL is
CPU-independent. This means that IL code is not reliant on the specific
computer that generated it. In other words, it can be moved from one computer
to another (as long as the computer supports the .NET Framework) without any
complications. This is what makes XCopy, or just copying over the application,
possible.
5.2.3 JIT
compilation
The .NET
Framework contains one or more JIT compilers that compile your IL code down to
machine code. This is done when the application is executed for the first time.
5.2.4 The
.NET Language
In the past,
you chose the development language for an application based upon the
functionality that you were trying to perform. Some languages were more
powerful than others, but at the same time they might have required a higher
level of understanding and were, in most cases, more difficult to program in.
C#
C++.NET and
Jscript .NET.
Microsoft
also provides J# (pronounced J-sharp), but in order to use this new language
that is basically Java for .NET, you need to download the language to install
it on your server.
5.2.5 Data
Provider
The data
provider is responsible for providing and maintaining the connection to the
database. A database provider is a set of related components that works
together to provide in an efficient and performance driven manner. Each Data provider
consists of the following components classes:
Ø The command object which is used to
execute a command.
Ø The Connection object which provides
a connection to the database.
Ø The Data Reader object which provides a ready only, connects record
set.
5.2.6 The
Connection object
The
connection object created the connection to the database. Microsoft Visual
Studio .NET provides two types of connection classes: the SQLconnection object,
which is designed specifically to connect to Microsoft SQL Server.
5.2.7 The
command Object
The command
object is represented by corresponding classes: SQL Command. Command object are
used to execute commands to a database across a data connection. The command
objects provides three methods that are used to execute commands on the
database.
Ø ExecuteNonQuery: Executes commands
that have no return values such as INSERT, UPDATE AND DELETE
Ø ExecuteScalar: Returns a single value
from a database query
Ø ExecuteReader: Returns a result set by way of a DataReader
Objects.
5.2.8 The
Data Reader object
The
DataReadre object provides a read-only, connected stream recordset from a
database. Unlike other components of the Data Provider, DataReader objects
cannot be directly instantiated. Rather, the DateReader is returned as the
result of the Command objectsExecute Reader method. The DataReader can provide
rows of data directly to application logic when one does not need to keep the
data cached in memory. Because only one row is in memory in time, the
DateReader provides the lowest overhead in terms of system performance but
requires the exclusive use of an open Connection object for the life time of
the DataReader.
5.3
Microsoft SQL Server
Microsoft SQL
Server is an application used to create computer databases for the Microsoft
Windows family of server operating systems. Microsoft SQL Server provides an
environment used to generate database that can be accessed from workstations,
the Internet, or other media such as a personal digital assistant (PDA).
Microsoft SQL Server is used to create desktop, enterprise, and web-based
database applications. It is used at different levels and with various goals.
SQL Server
makes simpler and easier to deploy, manage, and optimize enterprise data and
analytical applications. An enterprise data management platform, it performs a
single management console that enables data administrators anywhere in your
organization to monitor, manage, and tune all of the databases and associated
services across your enterprise. It provides an extensible management
infrastructure that can be easily programmed by using SQL management objects,
enabling users to customize and extend their management environment and
independent software vendors to build additional tools and functionality to
further extend the capabilities that come out of the box.
SQL Server
simplifies management by providing integrated management console to monitor and
manage the SQL Server relational database as well as integration services,
analysis services, reporting services, notification services and SQL Server
Mobile Edition across large number of distributed servers and databases.
Database
administrator can perform several tasks at the same time,
such as authorizing and executing a query, viewing server objects, managing an
object, monitoring system activities, and viewing online help.
SQL Server
expose more than 70 new measures of internal database performance and resource
usages, ranging from memory, locking, and scheduling to transactions and
network and disk I/O. these dynamic management views provide greater transparency
and visibility into the database and a powerful infrastructure for proactive
monitoring of database health and performance. The major characteristics are
listed below:
Reliability:
achieve a more
secure deployment. SQL Server provides rich security features to protect data
and network resources.
Confidentiality:
Protect your data.
SQL Server clustering supports Kerberos authentication on a virtual Server and
Microsoft-style policies on standard logins so that a consistent policy is
applied across all accounts in the domain.
Integrity:
SQL Server supports
encryption capabilities within database itself, fully integrated with a key
management infrastructure. By default, client server communications are in
encrypted.
CHAPTER- 6: CODING IMPLEMENTATION
6.1 Application Code Structure
Inventory
Management System was designed using Visual Studio as mentioned earlier
following the three tier application architecture. It provided us with the code
editor as a white blank space and the solution explorer where every code files
were kept. Code Editor is where the logical were developed into code and kept
safe in the solution explorer. In solution explorer we kept every code file by
creating the folder and adding those files in a folder that are similar in
nature. The main folder was the Inventory Management System. Following are the
list of the folders, sub-folders and their corresponding files:
6.2 Logic
Logic
is the main component of any application portrayed through the code. Every
modules in the application includes logic. Most of the logic are common and
understandable as we call 3-tier architecture based system.
6.3 Code for Login page and validation
frmLogin.cs
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
using
System.Data.SqlClient;
namespace
InventoryManagementSystem
{
public
partial class frmLogin : Form
{
public
frmLogin()
{
InitializeComponent();
clsGlobalFunction.Tab_Function(e);
clsGlobalFunction.Escape_Function(e,
btnCancel);
}
private
void txtFiscalYear_KeyDown(object sender, KeyEventArgs e)
{
clsGlobalFunction.Tab_Function(e);
clsGlobalFunction.Escape_Function(e,
btnCancel);
}
private
void btnCancel_Click(object sender, EventArgs e)
{
Application.Exit();
}
private
void btnCancel_KeyDown(object sender, KeyEventArgs e)
{
if
(e.KeyCode == Keys.Escape) { Application.Exit(); }
}
private
void btnOK_Click(object sender, EventArgs e)
{
clsGlobalFunction.temp_text
= "Select * from user_login where user_name='" + txtUserName.Text +
"' and password='" + clsGlobalFunction.Encrypt(txtPassword.Text) +
"'";
SqlDataAdapter
da = new SqlDataAdapter(clsGlobalFunction.temp_text, clsGlobalFunction.cn);
DataSet ds
= new DataSet();
da.Fill(ds,
"table0");
if
(ds.Tables[0].Rows.Count > 0)
{
this.Hide();
}
else
{
MessageBox.Show("User
Name or Password is not Correct");
txtUserName.Focus();
}
}
private
void txtUserName_Validated(object sender, EventArgs e)
{
SqlDataAdapter da = new SqlDataAdapter(clsGlobalFunction.temp_text,
clsGlobalFunction.cn);
DataSet ds
= new DataSet();
da.Fill(ds,
"table0");
txtFiscalYear.Items.Clear();
for (int i
= 0; i < ds.Tables[0].Rows.Count; i++)
{
txtFiscalYear.Items.Add(ds.Tables[0].Rows[i]["fyear"].ToString());
txtFiscalYear.Text
= ds.Tables[0].Rows[i]["fyear"].ToString();
}
}
catch { }
}
private
void txtUserName_Validating(object sender, CancelEventArgs e)
{
if
(txtUserName.Text == "") { MessageBox.Show("Please Enter User
Name", "Inventory Management System", MessageBoxButtons.OK,
MessageBoxIcon.Information); txtUserName.Focus(); return; }
}
private
void txtFiscalYear_SelectedIndexChanged(object sender, EventArgs e)
{
}
private
void label3_Click(object sender, EventArgs e)
{
}
}
}
6.4 Backup Data code
SaveFileDialog
saveBACKUP = new SaveFileDialog();
try
{
DialogResult
Dr;
saveBACKUP.Filter
= "File format (*.bak)|*.bak";
saveBACKUP.FileName
= "INVENTORY ( BACKUP ) " + DateTime.Now.Year.ToString() +
"-" + DateTime.Now.Month.ToString() + "-" +
DateTime.Now.Day.ToString();
Dr =
saveBACKUP.ShowDialog();
if (Dr ==
DialogResult.OK)
{
string s =
null;
s =
saveBACKUP.FileName;
SqlCommand
cmd = new SqlCommand("Backup database " +
clsGlobalFunction.DatabaseName + " to disk='" + s + "' WITH
STATS", clsGlobalFunction.cnMaster);
cmd.ExecuteNonQuery();
clsGlobalFunction.MessageBoxDisplay("Sucussfully
Created Backup !!!");
}
}
catch
(Exception ex) }
6.5 Restore Data code
OpenFileDialog
RestoreBACKUP = new OpenFileDialog();
try
{
DialogResult
Dr;
RestoreBACKUP.Filter
= "File format (*.bak)|*.bak";
Dr = RestoreBACKUP.ShowDialog();
if (Dr ==
DialogResult.OK)
{
string s =
null;
s =
RestoreBACKUP.FileName;
SqlCommand
cmd = new SqlCommand();
cmd.Connection
= clsGlobalFunction.cnMaster;
try
{
cmd.CommandText
= "Alter Database " + clsGlobalFunction.DatabaseName + " SET
SINGLE_USER With ROLLBACK IMMEDIATE";
cmd.ExecuteNonQuery();
cmd.CommandText
= "RESTORE DATABASE " + clsGlobalFunction.DatabaseName + " FROM
DISK = '" + s + "' WITH REPLACE";
cmd.ExecuteNonQuery();
cmd.CommandText
= "Alter Database " + clsGlobalFunction.DatabaseName + " SET
MULTI_USER";
cmd.ExecuteNonQuery();
clsGlobalFunction.MessageBoxDisplay("Sucussfully
Created Restored.Application is Restarted !!!");
Application.Restart();
}
catch
(Exception ex) { clsGlobalFunction.MessageBoxDisplay(ex.Message); }
}
6.6 Project Screenshot
Figure 6.6.1: Admin or login page
Figure 6.6.2: Company/Shop details
Figure 6.6.3: Inventory Entry System
Figure 6.6.4: Back up and Restore
Menu
Figure 6.6.5: Report Menu
Figure 6.6.6: Creating Godwom
Figure 6.6.7: Creating Units
Figure 6.6.8: Creating Product Type
Figure 6.6.9: Creating Product
Figure 6.6.10: Inserting Opening
Stock
Figure 6.6.11: Purchasing product
form vendor
Figure 6.6.12 Sales product to
Customer
Figure 6.6.13: Purchase Return
Figure 6.6.14: Sales Return
Figure: 6.6.15 Report of Current Stock
Figure 6.6.16: Back-up Data
CHAPTER – 7: DEBUGGING AND TESTING
7.1 Purpose of Testing
The purpose of software testing
is to access or evaluate the capabilities or attributes of a software program’s
ability to adequately meet the applicable standards and application need.
Testing does not ensure quality and the purpose of testing is not to find bugs.
Testing can be verification and validation or reliability estimation. The
primary objective if testing includes:
Ø To identifying defects in the application.
Ø The most important role of testing is simply to
provide information.
Ø to
check the proper working of the application while inserting updating and
deleting the entry of the products.
7.2 Type of Testing
We have used one type of
testing to ensure the error free features of our software application:
7.2.1 Units Test
This type of testing is the
testing of individual software components. It is typically done by the
programmer and not by the testers. It requires details information and
knowledge about the internal program design and code to perform this.
During unit testing, we carried
out various testing task such as the reflection of the unit data on database
and its interface. Various types of bugs associated with the component were
identified and fixed. We use various functional keys to test our software.
In our software unit testing is
concerned with the stock units, opening stock units and product units
validation as well as the validation of product units.
CHAPTER – 8: CONCLUSION AND
LESSON LEARNT
8.1 Project Limitation
Since this is our first project
it has some limitation. Due to less knowledge in particular fields and limited
time we were not able to fulfill all our expectations that we expected we could
do while the project got started. We hope this limitations are considerable.
Some of the project limitations are:
Ø This application is not suitable for those
organization where there is large quantity of product and different level of
warehouses
Ø This software application is able to generate only
simple reports.
Ø Single admin panel is only made.
Ø It is
not suitable for large organization.
8.2 Conclusion
To conclude, Inventory
Management System is a simple desktop based application basically suitable for
small organization. It has every basic items which are used for the small
organization. Our team is successful in making the application where we can
update, insert and delete the item as per the requirement. This application
also provides a simple report on daily basis to know the daily sales and
purchase details.
This application matches for
small organization where there small limited if godwoms.
Through it has some
limitations, our team strongly believes that the implementation of this system
will surely benefit the organization.
8.3 Lesson Learnt
Doing something for long time
periods always gives good lesson. Some of the things that our team learnt are
listed as below:
Ø Basically we learnt to work in team.
Ø Learnt about the IMS process.
Ø Learnt about .NET technology, its components and ways
to implement them
Ø Learnt to work in pressure and to be patient.
Ø Learnt
to manage the database under Microsoft SQL server 2008.
8.4 Future Enhancements
Since this project was started
with very little knowledge about the Inventory Management System, we came to
know about the enhancement capability during the
process
of building it. Some of the scope we can increase for the betterment and
effectiveness oar listed below:
Ø Interactive user interface design.
Ø Manage Stock Godown wise.
Ø Use of Oracle as its database.
Ø Online payment system can be added.
Ø Making the system flexible in any type.
Ø Sales and purchase return system will be added in
order to make return of products.
Ø Lost
and breakage
38
REFERENCES
Software Reference
Ø Swatik
Accounting And Inventory Software
High-tech Software, Kalimati
Ø Inventory
Management Software
Sagar International, Balkhu
Website
Visual
Studio Official Site: https://msdn.microsoft.com/en-us/library/dd492171.aspx
No comments