of 108
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 1
PROJECT REPORT
ON
INVENTORY MANAGEMENT SYSTEM
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE AWARD OF
THE DEGREE OF
MASTER OF COMPUTER APPLICATIONS
SUBMITTED BY
YATENDRA SOLANKI
(UNIVERSITY ROLL NO: 0909414117)
DEPARTMENT OF COMPUTER SCIENCE
GALGOTIAS INSTITUTE OF MANAGEMENT AND TECHNOLOGY
1, KNOWLEDGE PARK 2
GREATER NOIDA (U.P) 201 306
MAY,2012
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 2
CANDIDATE'S DECLARATION
I, hereby certify that the work which is being presented in the project entitled INVENTORY
MANAGEMENT SYSTEM is carried out at Drishtee Development & Communication LTD in
partial fulfillment of the requirement for the award of degree of MASTER OF COMPUTER
APPLICATION submitted in the Department of Computer Science at GALGOTIAS INSTITUTE OF
MANAGEMENT AND TECHNOLOGY, GREATER NOIDA under GAUTAM BUDDH TECHNICAL
UNIVERSITY, LUCKNOW is an authentic record of my own work carried out during a period from
January to May,2012 under the guidance of Mr. SUSHIL PANDEY.
Name: YATENDRA SOLANKI
University Roll No: 0909414117
This is to certify that the above statement made by the candidate is correct to the best of my knowledge.
Industrial coordinator:
H.O.D
(Computer Science)
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 3
CONTENTS
ABOUT THE ORGANIZATION
1. INTRODUCTION
1.1 Abstract Of Project
1.1.1 Title Of The Project
1.1.2 Objective
1.2 Problem Specification
2. Feasibility Study
3. Software Requirement Specification
3.1 Introduction
3.2 Selection Of Technology/Specific Requirement
4 Design
4.1 ER Diagram
4.2 Data Flow Diagram
4.3 Modules
4.4 Database
4.5 Input-Output Form
5. Implementation
6. Testing & Result
7. Enhancement
8. Limitation
9. Conclusion
10. Bibliography
11. Snap Shots & Description
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 4
ACKNOWLEDGEMENT
I convey my gratitude to all those who helped me reach a stage where I have immense confidence to
launch my career in the competitive world of Information & Technology.
I would like to express my deep sense of gratitude to Drishtee Development and Communication Ltd. ,
Noida for extending me the opportunity for the project training and improving all the necessary resources
and expertise for this purpose.
I am very grateful to Mr. Deependra Singh Solanky, Mr. Sushil Panday,Mr. Gaurav Choudhary and Mr.
Utkarsh Choudhary for helping me in completing my project. I would definitely like to pay my thanks for
his constant interest and support for this venture.
My profound thanks to Ms Blassy, Head of MCA Department, Galgotias College, Greater Noida, who
has been a source of perpetual inspiration to me and for gently guiding and paving my way towards a
bright career, throughout my M.C.A Course.
I acknowledge the role of my Project Head, Mr. Mr. Sushil Panday who guided me frequently during my
training period. He was always willing to give all kind of support and encouragement. It was only
because of care, support and help of the teachers that I was able to overcome my initial hiccups during
my early days in the institute.
Although I have tried to express my gratitude to every person who contributed to my project, there may
still someone hiding the veils of unknown, whom I may not be able to recognize. I would like to say
thanks to all of them who helped me throughout my training.
YATENDRA SOLANKI
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 5
In rural India, villagers live without easy access to trade, government, business and health services. This
makes them easy prey for intermediaries who control the supply chain of products and services and can
demand high payments to allow villagers access to it. In addition to this, there is a high opportunity cost
for availing these services as any transaction involves long travel and loss of daily wage.
In this context, Information and Communication Technologies (ICTs) can play a significant role in
making information and services available at a reasonable cost. Through a tiered franchise and
partnership model, Drishtee facilitates the establishment of ICT nodes enabling access to information as
well as local services to the rural community at nominal value. The business model is driven by the
village entrepreneur, who owns the village node to operate a self-sustaining, profitable kiosk. The kiosk
provides access to information like government records, agricultural data, and health insurance; help in
filing of applications for licenses, certificates, compensations, and benefits; commodity product rates in
different markets; education like computer courses, and Spoken English Programs. The entrepreneur
earns by charging the community a nominal fee for the services provided. Drishtee has a fixed sharing
with the Kiosk operator and a variable revenue sharing with the service providers. The Social Return on
Investment Analysis shows that for every US$1 of social cost incurred, US$20 of social benefit is
generated.
Drishtee has successfully demonstrated this concept across various geographic regions. Each Kiosk
caters to approximately 1200 households, majority of which have an aggregated income of less than $ 2 a
day. With a vision to reach out to every village in the country and beyond, Drishtee has set for itself an
ambitious target of reaching out to 10,000 Villages in the next 2 years. Over a longer a period, Drishtee is
geared up to become a rural supply chain for last mile deliveries.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 6
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 7
Abstract of Project
In times of economic slow -down, cutting costs is the major strategy used by the companies.
There is a need to track the performance of each product in terms of demand to determine
how much to order and when to order. The parameters that are required to answer these
questions are economic order quantity (EOQ) and the re-order point. The annual cost of
each product is obtained to determine the best deal for the invoices received for the product.
The Project INVENTORY MANAGEMENT SYSTEM is for maintaining the IT Assets of
Drishtee.
Till now the assets of company maintained manually, this is very much time consuming and
have lots of errors. To overcome this problem INVENTORY MANAGEMENT SYSTEM
software isrequired.
This project implemented a inventory management system and tracks the performance of
each product using a web application. This will help the decision makers to initiate accurate
re-order and make forecast and demand of the product at any point of time.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 8
Title of the Project
The Project INVENTORY MANAGEMENT SYSTEM is for maintaining the IT Assets of
Drishtee.
Till now the assets of company maintained manually, this is very much time consuming and
have lots of errors. To overcome this problem INVENTORY MANAGEMENT SYSTEM
software isrequired.
This project implemented a inventory management system and tracks the performance of
each product using a web application. This will help the decision makers to initiate accurate
re-order and make forecast and demand of the product at any point of time.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 9
Objectives
Inventory Management system provides information to efficiently manage the flow of
materials, effectively utilize people and equipment, coordinate internal activities and
communicate with customers . Inventory Management does not make decisions or manage
operations, they provide the information to managers who make more accurate and timely
decisions to manage their operations.
Inventory Management must be designed to meet the dictates of market place and support the
companys Strategic Plan . The many changes in the market demand , new opportunities due
to worldwide marketing , global sourcing of materials and new manufacturing technology
means many companies need to change their Inventory Management approach and change
the process for Inventory Control.
The Inventory Management system and the Inventory Control Process provides information
to efficiently manage the flow of materials, effectively utilize people and equipment,
coordinate internal activities, and communicate with customers. Inventory Management and
the activities of Inventory Control do not make decisions or manage operations; they provide
the information to Managers who make more accurate and timely decisions to manage their
operations.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 10
Practicality:
The system should be stable and can be operated by the people with average
intelligence.
Efficiency:
There should be balance amongst various factors like accuracy, comprehensiveness on
one hand and response timeliness of the system on the other hand.
Cost:
It is desirable to aim for the system with a minimum cost subject to the condition
that it must satisfy the entire requirement.
Flexibility:
The system should be modifiable depending on the changing needs of the user. Such
modifications should entail extensive reconstructing or recreation of software. It should also
be portable to different computer systems.
Security:
This is very important aspect requiring rigorous designing of database including hardware
reliability, fallback procedures and physical security of data.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 11
DESCRIPTION OF SOFTWARE DEVELOPMENT LIFE CYCLE
Problem Specification
The first step of Inventory Management System is identifying the problem.The Project
INVENTORY MANAGEMENT SYSTEM is for maintaining the IT Assets of Drishtee. Till
now the assets of company maintained manually on exel, this is very much time consuming
and have lots of errors. To overcome this problem INVENTORY MANAGEMENT
SYSTEM software is required.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 12
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 13
Feasibility Study
A feasibility study is a formal study used to decide what type of system can be developed
which meets the needs of the organization.
Systems Investigation
Techniques used in gathering information to investigate the present system include:
Observation and inspection of records
Systems Analysis
Systems analysis is a detailed look at a current system and what a new system will be
required to do. The objectives of the new system:-
To ease data management and storage of information.
To reduce the number of errors creeping with the current system.
Designing in a proper sequenced way to facilitate cross-checking.
Testing The primary purpose of this phase is to determine whether the software developed and unit
tested in Phases 3 and 4 is ready for implementation. Each testing stage will have a unique
testing team, who will define the work plan, approach, scope and entry and exit criteria for
each stage. Each testing stage should be completed
Maintenance Phase
Any change to any component of the product (including documentation) after it has passed
the acceptance test.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 14
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 15
General Architecture Of Inventory Management System
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 16
FEASIBILITY STUDY
Feasibility study is a test of a system proposal according to its workability, impact on the
organization, ability to meet user needs, and effective use of resources. It focuses on 3 major
questions: -
1. What are the users demonstrable needs &how does a candidate system meet them?
2. What resources are available for given candidate systems? Is the problem worth solving?
3. What are the likely impacts of the candidate system on the organization? How well does it fit
within the organizations?
The objective of a feasibility study is not to solve the problem but to acquire a sense of its
scope. During the study, the problem definition is crystallized and aspects of the problem to
be included in the system are determined. Consequently, costs and benefits are estimated
with greater accuracy at this stage.
The result of the feasibility is a formal proposal. It consists of the
following: -
1. Statement of the problem
A carefully worded statement of the problem that led to analysis.
2. Summary of findings& recommendations
It is ideal for user who requires quick access to the results of the analysis of the system
under study. Conclusions are stated, followed by a list of the recommendation justification
for them.
3. Details of findings
An outline of the methods & procedures undertaken by the existing system, followed by
coverage of the objective and procedures of the candidate system. It also includes output
reports, file structures& cost and benefits of candidate system.
4. Recommendations and conclusions
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 17
Specific Recommendations regarding the candidate system, including personnel assignments,
costs, project schedule, and target dates.
FEASIBILITY CONSIDERATION
Three key considerations are involved in the feasibility analysis: -
1. Economical feasibility
2. Technical feasibility
3. Behavioral feasibility
Economicalfeasibility :-
It is used for evaluating the effectiveness of a candidate system. More commonly known as
cost/benefit analysis, the procedure is to determine the benefits and savings that are expected
from a candidate system and compare them with costs.
Technical feasibility :-
It centers around the existing computer system and to what extent it can support the roposed
addition. If the budget is a serious constraint, then the project is judged not feasible.
Behavioral feasibility:-
People are inherently resistant to change & computers have been known to facilitate change.
An estimate should be made of how strong a reaction the user stay is likely to have toward
the development of a computerized system. It is common knowledge that computer
installations have something to do with turnover, transfers & changes in employee job status.
Therefore, it is understandable that the introduction of a candidate system requires special
effort to educate, sell & train the staff on new ways of conducting business.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 18
ECONOMICAL ANALYSIS
Among the most important information contained in a feasible study in cost benefit analysis
and assessment of the economic justification for a computer based system project. Cost
benefit analysis delineates costs for project development and weighs them against tangible
(i.e. measurable directly in dollars) & intangible benefits of a system. Cost benefit analysis
is complicated by criteria that vary with the characteristics of system to be developed the
relative size of the project & the expected returns on investment desired as part of companys
strategic plan. In addition many benefits derived from computer-based systems are intangible
(e.g. better design quality through interactive optimization, increased patient satisfaction pre
analyzed sales data). Direct quantitative comparisons may be difficult to achieve. Costs
associated with development of a computer-based system are:
TECHNICAL ANALYSIS
During technical analysis, analyst evaluates the technical merits of system concept, while at
the same time collecting additional information about performance, reliability,
maintainability and predictability. Technical analysis begins with an assessment of the
technical viability of the proposed system.
1. What technologies are required to accomplish system function and performance?
2. What new materials, methods, algorithm, or processes are required and what is their
development risk?
3. How will these technology issues affect cost? The result obtained from technical analysis
from basis for another go/no-go decision on the test system If technical risk severe, if models
indicates that desired function cannot be achieved, if the pieces just wont fit together
smoothly- its back to the drawing board! data and information generated were firstly
retrieved. The project that has to be completed must have minimum data entry and
consistency of record.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 19
PROBLEM ANALYSIS
The application of computers speeds up data processing activities and adds some flexibility
to the management of data and the information generated from it. Widespread and easy
access to data from computers, advances in logical and physical access methods, matched by
step increased in the density and volumes of disk storage devices, led gradually to a
reassessment of the role of data management decision making. Here the recognition of need
is done.
Analysis involves interviewing the clients and end users. During this process of analysis, a
massive amount of information is collected in forms of answers to questions. One of the
major problems during analysis is how to organize the information obtained so the
information can be effectively evaluated for completeness and consistency.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 20
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 21
SYSTEM REQUIREMENT SPECIFICATION
Requirement specification document:-
1. Abstract 2. Purpose 3. Scope
1. Abstract:-
This is the requirements specification document There is a need to track the performance of
each product in terms of demand to determine how much to order and when to order. The
parameters that are required to answer these questions are economic order quantity (EOQ)
and the re-order point. The annual cost of each product is obtained to determine the best deal
for the invoices received for the product. The Project INVENTORY MANAGEMENT
SYSTEM is for maintaining the IT Assets of Drishtee.
2. Purpose:-
The Project INVENTORY MANAGEMENT SYSTEM is for maintaining the IT Assets of
Drishtee. Till now the assets of company maintained manually on exel,this is very much
time consuming and have lots of errors. To overcome this problem INVENTORY
MANAGEMENT SYSTEM software is required.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 22
3. Scope:-
The software will be ONLINE, web based software to manage the IT assets of Drishtee.. The
proposed software will run from an Internet browser and Internet connectivity is compulsory
for the functioning of this software.
Developers responsibility over view
The developer is responsible for:
(a) Developing the system.
(b) Performing test cases
(c) Installing the software on clients hardware.
(d) For conducting any user training that might be needed for using system.
(e) Designing course and assignments.
(f) Monitoring system for period of one year.
FRONT END - A DESCRIPTION
For software applications, front end is the same as user interface.
In client/server applications, the client part of the program is often called the
front end and the server part is called the back end.
Compilers, the programs that translate source code into object code, are often
composed of two parts: a front end and a back end. The front end is responsible for checking
syntax and detecting errors, whereas the back end performs the actual translation into
object code.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 23
WHY FRONT END - ASP.NET?
1: ASP.NET Is integrated with the .NET Framework
The .NET Framework is divided into an almost painstaking collection of functional
parts, with a staggering total of more than 10,000 types(the .NET term for classes, structures,
interfaces, and other core programming ingredients). The massive collection of functionality
that the .NET Framework provides is organized in a way that traditional Windows
programmers will see as a happy improvement. Each one of the thousands of classes in the
.NET Framework is grouped into a logical, hierarchical container called a namespace.
Different namespaces provide different features. Taken together, the .NET namespaces offer
functionality for nearly every aspect of distributed development from message queuing to
security. This massive toolkit is called the class library.
2: ASP.NET Is Compiled, Not Interpreted
One of the major reasons for performance degradation in classic ASP pages is its use of
interpreted script code. Every time an ASP page is executed, a scripting host on the web
server needs to interpret the script code and translate it to lower-level machine code, line by
line. ASP.NET applications are always compiledin fact, its impossible to execute C# or
Visual Basic code without it being compiled first.
3: ASP.NET Is Multilanguage
IL is a stepping stone for every managed application. (A managedapplicationis any
application thats written for .NET and executes inside the managed environment of the
CLR.) In a sense, IL is thelanguage of .NET, and its the only language that the CLR
recognizes.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 24
4: ASP.NET Is Hosted by the Common Language Runtime
The most important aspect of the ASP.NET engine is that it runs inside the runtime
environment of the CLR.
Its benefits are :-
A: Automatic memory management and garbage collection:
Every time your application instantiates a reference-type object, the CLR allocates space on
the managed heapfor that object. However, you never need to clear this memory manually.
The garbage collector runs periodically inside the CLR, automatically reclaiming unused
memory for inaccessible objects. This model saves you from the low-level complexities of
C++ memory handling and from the quirkiness of COM reference counting.
B: Type safety:
When you compile an application, .NET adds information to your assembly that indicates
details such as the available classes, their members, their data types, and so on. As a result,
other applications can use them without requiring additional support files, and the compiler
can verify that every call is valid at runtime. This extra layer of safety completely obliterates
whole categories of low-level errors.
C: Extensible metadata:
The information about classes and members is only one of the types of metadata that .NET
stores in a compiled assembly. Metadatadescribes your code and allows you to provide
additional information to the runtime or other services. For example, this metadata might tell
a debugger how to trace your code, or it might tell Visual Studio how to display a custom
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 25
control at design time. You could also use metadata to enable other runtime services, such as
transactions or object pooling.
D: Structured error handling: .
NET languages offer structured exception handling, which allows you to organize your error-
handling code logically and concisely. You can create separate blocks to deal with different
types of errors. You can also nest exception handlers multiple layers deep.
E: Multithreading:
The CLR provides a pool of threads that various classes can use. For example, we can call
methods, read files, or communicate with web services
asynchronously, without needing to explicitly create new threads.
5: ASP.NET Is Object-Oriented:
ASP provides a relatively feeble object model. It provides a small set of objects; these objects
are really just a thin layer over the raw details of HTTP and HTML. On the other hand,
ASP.NET is truly object-oriented. Not only does your code have full access to all objects in
the .NET Framework, but you can also exploit all the conventions of an OOP (object-
oriented programming) environment. For example, you can create reusable classes,
standardize code with interfaces, extend existing classes with inheritance, and bundle useful
functionality in a distributable, compiled component.
6 : ASP.NET Is Multiservice and Multibrowser:
One of the greatest challenges web developers face is the wide variety of browsers they need
to support. Different browsers, versions, and configurations differ in their support of HTML.
Web developers need to choose whether they should render their content according to HTML
3.2, HTML 4.0, or something else entirelysuch as XHTML 1.0 or even WML (Wireless
Markup Language) for mobile devices. This problem, fueled by the various browser
companies, has plagued developers since the World Wide Web Consortium (W3C) proposed
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 26
the first version of HTML. Life gets even more complicated if you want to use an HTML
extension such as JavaScript to create a more dynamic page or provide validation.
7 : ASP.NET Is Easy to Deploy and Configure :
Every installation of the .NET Framework provides the same core classes. As a result,
deploying an ASP.NET application is relatively simple. Distributing the components your
application uses is just as easy. All you need to do is copy the component assemblies along
with your website files when you deploy your web application. Because all the information
about your component is stored directly in the assembly file metadata, theres no need to
launch a registration program or modify the Windows registry. Configuration is another
challenge with application deployment, particularly if you need to transfer security
information such as user accounts and user privileges. ASP.NET makes this deployment
process easier by minimizing the dependence on settings in IIS (Internet Information
Services). Instead, most ASP.NET settings are stored in a dedicated web.config file. The
web.config
file is placed in the same directory as your web pages. It contains a hierarchical grouping of
application settings stored in an easily readable XML format that you can edit using nothing
more than a text editor such as Notepad.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 27
.NET Framework in context
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 28
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 29
BACK END A DESCRIPTION
The back-end comprises the components that process the output from the front-end.Back-
end is hidden from the user.
A back-end database is a database that is accessed by users indirectly through an
external application rather than by application programming stored within the database
itself or by low level manipulation of the data (e.g. through SQL commands).
A back-end database stores data but does not include end-user application elements
such as stored queries, forms, macros or reports.
SQL SERVER:-
SQL Server is an SQL-compliant RDBMS. SQL-compliant means it
use the ANSI (American National Standard Institute) version of Structured Query Language
or SQL. Structured Query Language is a command that allow us to modify or retrieve
information from the database.
Client server means that SQL Server is designed to store data in the central location (the
server) and deliver it on demand to numerous other locations (the client). SQL Server is also
a Relational Database Management System (RDBMS).
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 30
SOFTWARE AND HARDWARE REQUIREMENT
Processing Environment :-
PLATFORM : .NET 3.5
Operating System : Windows 7 Professional.
Language : ASP.NET using C#
Back End : SQL Server 2000 R2
Hardware Requirements :-
Pentium Dual-Core Processors
1GB of RAM
160GB of Hard Disk
Server/Client Machine
Software Requirements :-
Visual Studio.Net (version 3.5)
.Net Framework (version 3.5) SQL Server 2008
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 31
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 32
SYSTEM DESIGN
System layout is the first step of the software development, which requires a mindful
and sensible planning. The aim of S/W designing is to achieve the desired goal by planning
how various parts are to be coded properly. It is to be done carefully because if this phase
contains any error then that is going to effect the performance of the system. As a result it
may take more processing time, response time and extra coding i.e. programs will occupy
extra memory.
What is system design?
As S/W is to be designed in Microsoft Visual Studio 2008 with Microsoft SqlServer
2005, the concept of database must be known for the quality designing, containing the design
of database, design of forms, design of reports. Chances of errors are minimized and if done
then corrected. Designing the system has reduced all the time consuming efforts, manual
work and handling of history cards. The existing system contains all information in manual
files. The files have been created and indexes have been created on the tables in which
number of records is very large. As a result, the system search for a value has been direct
and fast in comparison to the sequential searching.
Design objective:-
Goals in mind while designing the system:
1 To reduce the manual work required to be done.
2 To reduce errors inherently manually making the output inconsistent & incorrect.
3 To make the system completely menu driven & user friendly.
4 To design the system so that even non- programmer can use the system effectively and
system could act catalyst in achieving objectives.
5 To improve the management of permanent information of the company by keeping it in
properly structured tables.
6 To provide the facility to modify any record whenever required.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 33
DESIGN OVERVIEW
The design stage takes the final specification of the system from analysis stages and finds
the best way of fulfilling them, given the technical environment and previous decision on the
required level of automation.
The system design is carried in two phases:
The architectural design (high level design)
The detail design (low level design)
LOW LEVEL DESIGN
The low level design maps the business system described in the program requirements
specification data structure, involving:
Identification of entities:
All the entities related to the module were identified, checked and can be solicited.
Identification of relationship:
The relationship between the entities, within and outside the system was identified.
Normalization
The entities were normalized first.
HIGH LEVEL DESIGN
The high-level design maps the logical model of the physical databases design.
Fast path table mapping:
Table was created for the system using fast path table mapping. This has provision to map
the entities and attributes into the tables. The name of entity is taken as the table name.
Default database design:
This utility creates columns and cons traits definition from the entity modeland the table
entity mapping entered in the case of dictionary. The database design can be refined
according to your application to your regarding using the tables, columns and key cons traits
definition screen to make amendments.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 34
The steps involved were:
Generation of table script.
Check the constraint.
Keys.
Generate the program:
The program was generated based on the relationship specified and according to the
preferences.
Program specification:
The program specifications are written for the transaction, modification, queries, reports and
printer. The logic for each field, block and form were written so that anyone who does not
know system will be able to code logic. Field validation and friendly messages were written
as a part of program specification
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 35
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 36
DATA BASE DESIGN:
One of the most important factors is building a well executing application and the
design of the database tables. For a good databases design, good understanding of the
normalization concept is needed. The tables are the basic building materials of data. A table
is two-dimensional grids with rows and columns. The column indicates fields of the table
while rows indicate records of the table. The tables have been so created that duplicity of the
items and optimizing the database prevents redundancy. The packages is made keeping in
mind that job mustnt be time consuming and less manpower and efforts are required so that
the user is satisfied.
Table design:-
The tables of the project designed on the behalf of following pages :-
1. Product Brand
2. Product Category
3. Product
4. Product Transaction
5. Product Transaction List
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 37
TABLE FOR PRODUCT BRAND PAGE
The Application Page table is used to contain all the details of Product Category that newly
added :-
Table design:-
Field name Datatype Size Key Allow nulls
Brand_code Varchar 6 Primary
key
___
Brand_name Varchar 250 Checked
Created_on Datetime - Checked
Created_by Char 10 Checked
Modified_on Datetime - Checked
Modified_by Char 10 Checked
Ip_address Varchar 15 Checked
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 38
TABLE FOR PRODUCT CATEGORY PAGE
The Application Page table is used to contain all the details of Product Category that newly
added :-
Table design:-
Field name Datatype Size Key Allow nulls
Category_code Int - Primary
key
___
Category_sub_code Varchar 6 Checked
Category_name Varchar 250 Checked
Category_parent_code Int - Checked
Created_on Datetime - Checked
Created_by Char 10 Checked
Modified_on Datetime 50 Checked
Modified_by Char 10 Checked
Ip_address Varchar 15 Checked
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 39
TABLE FOR PRODUCT PAGE
The Product table is used to contain all the details of Product that has been existed :-
Table design:-
Field name Datatype Size Key Allow nulls
Category_code Int - Primary
key
----
Brand_code Varchar 6
Checked
Product_fixed_
asset_no
Int -
----
Product_id Int -
Product_name Varchar 250 ----
Product_detail Varchar 1000 ----
Serial_no Varchar 100 Checked
Purchase_date Datetime - Checked
Search_option1 Varchar 100 Checked
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 40
Search_option2 Varchar 100 Checked
Office_id Int - ----
Current_status Char 1 Checked
Current_status_on Datetime Checked
Created_by Char 10 ----
Created_on Datetime - ----
Modified_on Datetime - Checked
Modified_by Char 10 Checked
Ip_address Varchar 15 Checked
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 41
TABLE FOR TRANSACTION PAGE
The table is used to contain all the details of Transactions :-
Table design:-
Field name Datatype Size Key Allow nulls
Serial_no Int - Primary key ----
Product_id Int - ----
Transaction_type
_
code
Int - ----
Transaction_date Datetime - ----
Remarks Varchar 1000 ----
Office_id Int - ----
Holder_emp_cod
e
Char 10 ----
Transaction_
history_no
Int - ----
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 42
Created_on Datetime - ----
Created_by Char 10 ----
Ip_address Varchar 15 Checked
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 43
TABLE FOR TRANSACTION LIST PAGE
The table is used to contain all the details of Transactions List :-
Field name Datatype Size Key Allow nulls
Transaction_type_
code
Int - Primary key ----
Transaction_type_
name
Varchar 250 ----
Active_status Char 1 ----
Created_on Datetime - ----
Created_by Char 10 ----
Ip_address Varchar 15 Checked
Holder_emp_code Char 10 ----
Transaction_
history_no
Int - ----
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 44
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 45
DATA FLOW DIAGRAM
External entities Data flow diagrams are a graphic tool .It is a model of system. It is used to
describe and analyze the movement of data through system. They focus on the data flowing
into system. Between process and Out of data stores .a DFD also knew as a bubble chart.
Data flow elements:
A data flow diagram is composed of 4 elements:-
1. Data flows
2. Processes
3. External Entities
4. Data stores
Data flows:-
Data flow is, with an arrowhead showing the direction of flow.
Data Flow Processes:-
A process transforms incoming data flows into outgoing data flow. It can be symbolized by a
circle. The area of the circle is divided into two parts i.e. identification & description of
function.
External Entities:-
External sources or destination of data, which may be people, organization or outer entities,
interact with system but are outside its boundary. A solid square defines a source or sink of
data.
Data stores:-
An open-ended rectangle is a data store data at rest or temporary storage of data.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 46
Developing data flow diagrams:-
1. Physical diagram
2. Exploded diagram
Physical diagram:-
The DFD showing the general that is the top layer of the system is called the context
diagram. The physical context diagram describes the payroll monitoring system at very top
level.
Exploded diagram:-
To understand the system better we required to get a clear idea of the system in that case we
draw a lower level of DFD i.e. exploded.
DATA FLOW DIAGRAM There are following types of DFD's has been created:
DFD( Data flow Diagram) for Login Page :-
Following Data Flow Diagram shows the user Login Authentication to protect unwanted
users.First Check the users authentication before Inventory Management system Login if
login authentication is true then he/she will be Login for Inventory Management system
Home else not Login for desired Login Users.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 47
Data Flow Diagaram0 Level
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 48
DFD( Data flow Diagram) for 1 level:-
After you login following Data Flow Diagram shows the user interaction with the login. The
DFD shows Login, Assets Master, Transaction, Report and user output.
Data Flow Diagaram1 Level
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 49
DFD( Data flow Diagram) for 2 level:-
In 2 level DFD the user enter the Product Brand Master, Product Category Master and then
only move to the Product Master. The entry details save on Assets Master Database
Data Flow Diagaram2Level
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 50
DFD( Data flow Diagram) for 3 level:-
In 3 level DFD the user enter the Product Brand Master, Product Category Master and
directly on Product Master. The entry details save on Assets Master Database
Data Flow Diagaram3Level
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 51
DFD( Data flow Diagram) for 4 level:-
Data Flow Diagaram3Level
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 52
FLOWCHARTS
Flowcharts are maps or graphical representations of a process. Steps in a process are shown
with symbolic shapes, and the flow of the process is indicated with arrows connecting the
symbols.
Benefits of using flowcharts are that they:
Promote process understanding by explaining the steps pictorially. People may have differing
ideas about how a process works. A flowchart can help you gain agreement about the
sequence of steps. Flowcharts promote understanding in a way that written procedures cannot
do. One good flowchart can replace pages of words.
Provide a tool for training employees. Because of the way they visually lay out the sequence
of steps in a process, flowcharts can be very helpful in training employees to perform the
process according to standardized procedures.
Identify problem areas and opportunities for process improvement . Once you break down
the process steps and diagram them, problem areas become more visible. It is easy to spot
opportunities for simplifying and refining your process by analyzing decision points,
redundant steps, and rework loops.
Depict customer-supplier relationship, helping the process workers understand who their
customers are, and how they may sometimes act as suppliers, and sometimes as customers in
relation to other people.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 53
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 54
SYSTEM IMPLEMENTATION
After a thorough testing of the different aspects of the system described above are to be put
to actual use by use by using live data by user staff after sufficient training for the use of the
software has been provided to the department members. The result indicated a considerable
time saving with the candidate system and comes out with fast and efficient development.
What is system implement:-
System Implementation is the process of having system personnel check out and put new
software in to use, train users, install the new application and construct any files of data
needed to use it.There are many implementation strategies, sometimes system developers
may choose to pilot (test) the operation in only one area of the firm, say in one department or
with only one or two persons. Sometimes they run old and new system together to compare
the results.
USER`S TRAINING
In the Inventory Management System all the separate modules were put into a menu and after
that this menu was attached with a master page. The first few days, I was physically present
with the staff of the training department and made them understand the new system, as they
were unfamiliar with it. I got them acquainted with the various screens and the various terms
and the various interrelationships between them.After a thorough testing of the different
aspects of the system as described above are to be put to actual use by using live data by user
staff after sufficient training for the use of the software has been provided to the all drishtee
staff members of Territery Division Office. The result indicated a considerable time saving
with the candidate system and comes out with fast and efficient development.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 55
IMPLEMENTATION MECHANISMS
To implement this software, the following s/w and h/w specification are needed as:
Operating environment: -
Pentium processor
20MB hard disk memory space.
128-256MB RAM and more for fast and efficient execution.
Pointing device such as mouse
Windows XP/7
Minimum Software environment required: -
Platform used: Windows 7
Front end (GUI): Visual Studio .Net 2010
Back end (Data base): SQL Server 2008 R-2
Minimum Hardware required: -
Processor speed-133MHz
Memory-2GB and more
RAM-64MB
Monitor
Keyboard
Floppy Drive
Mouse
CD-ROM.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 56
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 57
FILE UPLOAD CONTROL
Making Use of the File Upload Control
The FileUpload control lets users upload a file to your Web site. It displays a text box in
which the user can enter a filename and path. In addition, a Browse button displays a dialog
box the user can access to browse to the file.
ASP.NET includes two controls that allow website users to upload files to the web server.
Once the web server receives the posted file data, its up to your application to examine it,
ignore it, or save it to a back-end database or a file on the web server.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 58
The controls that allow file uploading are HtmlInputFile (an HTML server control) and
FileUpload (an ASP.NET web control). Both represent the HTML tag.
The only real difference is that the FileUpload control takes care of automatically setting the
encoding of the form to multipart/form data. If you use the HtmlInputFile control, its up to
you to make this change using the enctype attribute of the tagif you dont, the
HtmlInputFile control wont work.
Declaring the FileUpload control is easy. It doesnt expose any new properties or events that
you can use through the control tag.
C# example :-
protected void btnUpload_Click(Object sender,
System.EventArgs e)
{ _
String path = @C:\temp\
+ FileUpload1.FileName;
FileUpload1.PostedFile.SaveAs(path);
}
Some few other quirks of the FileUpload control that are good to know:
You can check the size of the uploaded file using the PostedFile. ContentLength
property. This lets you put a size limit on uploads. Just dont call the SaveAs
method if the file exceeds the maximum length.
The ASP.NET user account must have access rights to the location to which you
save the file.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 59
The SaveAs method isnt what copies the file from the users computer to the
server. Instead, the file is copied to the server when the user posts the page by
clicking the Upload button. The SaveAs method merely directs the FileUpload
control to save the file that has been copied to the server. If you dont call the
SaveAs method, the uploaded file is discarded.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 60
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 61
MASTER PAGE
A Master Pageis simply a template a page that provides elements that appear consistently
on each page, as well as contentplaceholdersthat specify where the variable content for each
page should appear. A page that actually holds the content that a Master Page displays in its
content area is called acontent page. The ContentPlaceHolder is a portion of the page where
the content page can insert content.
We can use a master page to ensure that every web page in your application has the same
header, footer, and navigation controls. Master pages are an ASP.NET feature thats designed
specifically for standardizing web-page layout.
Master Page Basics
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 62
To provide a practical, flexible solution for page templating, a number of requirements must
be met:
The ability to define a portion of a page separately and reuse it on multiple pages.
The ability to create a locked-in layout that defines editable regions. Pages that reuse this
template are then constrained to adding or modifying content in the allowed
regions.
The ability to allow some customization of the elements you reuse on each page.
The ability to bind a page to a page template declaratively (with no code) or to bind to a page
dynamically at runtime.
The ability to design a page that uses a page template with a tool such as Visual Studio.
Master pages meet all of these requirements.
How to create a Master Page ?
To create a master page in Visual Studio, select Website. Add New Item from the menu.
Select Master Page, give it a filename (such as SiteTemplate.master), and click Add.
A master page is similar to an ordinary ASP.NET web form. Like a web form, the master
page can include HTML, web controls, and code (either in an inline script block or in a
separate file). One difference is that while web forms start with the Page directive, a master
page starts with a Master directive that specifies the same information, as shown here:
Another difference between master pages and ordinary web forms is that master pages can
use the ContentPlaceHolder control, which isnt allowed in ordinary pages. The
ContentPlaceHolder is a portion of the page where the content page can insert content.
Creating a content pages
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 63
There are two ways to create a content page:
Use the WebsiteAdd New Item command, select Web Page as the template, check
the Select Master Page option, and then choose the Master Page you want the content
page applied to.
Select a Master Page either in the Solution Explorer or the Web Designer window,
then choose the WebsiteAdd Content Page command.
When we create a content page in this manner, initially the page contains just the following
markup:
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 64
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 65
WEB CONFIG
Web.config acts as a central location for storing the information to be accessed by web
pages. This information could be a Connection String stored at a centralized location so that
it can be accessed in a data-driven page. If the connection string changes its just a matter of
changing it at one place.
In classic ASP such global information was typically stored as an application variable.
In the sample we'll read the information from web.config using ASP.NET and ASP as there
could be a possibility of project having ASP and ASP.NET pages.
What is Web.ConfigFile ?
Web.config file, as it sounds like is a configuration file for the Asp .net web
application. An Asp .net application has one web.config file which keeps the configurations
required for the corresponding application. Web.config file is written in XML with specific
tags having specific meanings.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 66
What is Machine.configFile ?
As web.config file is used to configure one asp.net web application, same way
Machine.config file is used to configure the application according to a particular machine.
That is, configuration done in machine.config file is affected on any application that runs on
a particular machine. Usually, this file is not altered and only web.config is used which
configuring applications.
What can be stored in Web.config file ?
There are number of important settings that can be stored in the configuration file. Here are
some of the most frequently used configurations, stored conveniently inside Web.config file..
1. Database connections
2. Session States
3. Error Handling
4. Security
Database Connections :
The most important configuration data that can be stored inside the web.config file is the
database connection string. Storing the connection string in the web.config file makes sense,
since any modifications to the database configurations can be maintained at a single location.
As otherwise we'll have to keep it either as a class level variable in all the associated source
files or probably keep it in another class as a public static variable. But it this is stored in the
Web.config file, it can be read and used anywhere in the program. This will certainly save us
a lot of alteration in different files where we used the old connection.
Session States :
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 67
Session in Asp .net web application is very important. As we know that HTTP is a stateless
protocol and we need session to keep the state alive. Asp .net stores the sessions in different
ways. By default the session is stored in the asp .net process.
Error Handling :
Error handling is one of the most important part of any web application. Each error has to be
caught and suitable action has to be taken to resolve that problem. Asp.net web.config file
lets us configure, what to do when an error occurs in our application.
Security :
The most critical aspect of any application is the security. Asp.net offers many different types
of security method which can be used depending upon the condition and type of security you
need.
1.) No Authentication:
No Authentication means "No Authentication" :) , meaning that Asp.net will not implement
any type of security.
2.) Windows Authentication:
The Windows authentication allows us to use the windows user accounts. This provider uses
IIS to perform the actual authentication, and then passes the authenticated identity to your
code. If we like to see that what windows user is using the Asp.net application we can use:
User.Identity.Name;
This returns theDOMAIN\UserNameof the current user of the local machine.
3.) Passport Authentication:
Passport Authentication provider uses Microsoft's Passport service to authenticate users.
You need to purchase this service in order to use it.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 68
4.) Forms Authentication:
Forms Authentication uses HTML forms to collect the user information and than it takes
required actions on those HTML collected values.
web.config: Contains a key-value pair.
web.config
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 69
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 70
ADO.NET ADO.NET consists of managed classes that allow .NET applications to connect to data
sources (usually relational databases), execute commands, and manage disconnected data.
The ADO.NET Architecture
ADO.NET uses a multilayered architecture that revolves around a few key concepts, such as
Connection, Command, and DataSet objects.
1. ADO.NET Data Providers
A data provideris a set of ADO.NET classes that allows you to access a specific database,
execute SQL commands, and retrieve data. Essentially, a data provider is a bridge between
your application and a data source.
The classes that make up a data provider include the following :
Connection: You use this object to establish a connection to a data source.
Command: You use this object to execute SQL commands and stored procedures.
DataReader: This object provides fast read-only, forward-only access to the data
retrieved from a query.
DataAdapter: This object performs two tasks. First, you can use it to fill a DataSet (a
disconnected collection of tables and relationships) with information extracted from a
datasource.Second, you can use it to apply changes to a data source, according to the
modifications
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 71
The .NET Framework is bundled with a small set of four providers:
SQL Server provider: Provides optimized access to a SQL Server database (version
7.0 or later).
OLE DB provider: Provides access to any data source that has an OLE DB driver. This
includes SQL Server databases prior to version 7.0.
Oracle provider: Provides optimized access to an Oracle database (version 8i or later).
ODBC provider: Provides access to any data source that has an ODBC driver.
The ADO.NET Namespaces
1. System.Data : Contains the key data container classes that model columns, relations,
tables, datasets, rows, views, and constraints. In addition,contains the key interfaces that are
implemented by the connection based data objects.
2. System.Data.Common: Contains base, mostly abstract classes that implement some of
the interfaces from System.Data and define the core ADO.NET functionality. Data providers
inherit from these classes (such as DbConnection, DbCommand, and so on) to create their
own Specialized versions.
3. System.Data.OleDb :Contains the classes used to connect to an OLE DB provider,
Including OleDbCommand, OleDbConnection, OleDbDataReader and OleDbDataAdapter.
These classes support most OLE DB providers,but not those that require OLE DB version 2.5
interfaces.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 72
4. System.Data.SqlClient : Contains the classes you use to connect to a Microsoft SQL
Server database, including SqlDbCommand, SqlDbConnection, SqlDataReader, and
SqlDBDataAdapter. These classes are Optimized to use the TDS interface to SQL Server.
5. System.Data.OracleClient : Contains the classes required to connect to an Oracle
database including OracleCommand, OracleConnection, OracleDataReader, and
OracleDataAdapter. These classes are using the optimized Oracle Call Interface (OCI).
6. System.Data.Odbc: Contains the classes required to connect to most ODBC drivers.These
classes include OdbcCommand, OdbcConnection, OdbcDataReader, and OdbcDataAdapter.
ODBC drivers are included for all kinds of data sources and are configured through the Data
Sources icon in the Control Panel.
7. System.Data.SqlTypes : Contains structures that match the native data types in SQL
Server.These classes arent required but provide an alternative to using standard .NET data
types, which require automatic conversion.
The Connection Class
The Connection class allow us to establish a connection to the data source that you want to
interact with. Before you can do anything else (including retrieving, deleting, inserting, or
updating data), you need to establish a connection.
When we create a Connection object, we need to supply a connection string. The connection
string is a series of name/value settings separated by semicolons (;).
The Command and DataReader Classes
The Command class allow us to execute any type of SQL statement. Although we can use a
Command class to perform data definitiontasks (such as creating and altering databases,
tables,and indexes), were much more likely to perform data manipulationtasks (such as
retrieving and updating the records in a table).The provider-specific Command classes
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 73
implement standard functionality, just like the Connection classes. In this case, the
IDbCommand interface defines a few key properties and the core set of methods that are
used to execute a command over an open connection.
Command Basics
Before we can use a command, we need to choose the command type, set the command text,
and bind the command to a connection. We can perform this work by setting the
corresponding properties (CommandType, CommandText, and Connection), or we can pass
the information we need as constructor arguments.
Method Description
1. ExecuteNonQuery() Executes non-SELECT commands, such as SQL commands that
insert, delete, or update records. The returned value indicates the number of rows affected by
the command. You can also use ExecuteNonQuery() to execute data-definition commands
that create, alter, or delete database objects (such as tables, indexes, constraints, and so on).
2. ExecuteScalar() Executes a SELECT query and returns the value of the first field of the
first row from the rowset generated by the command. This method is usually used when
executing an aggregate SELECT command that uses functions such as COUNT() or SUM()
to calculate a single value.
3. ExecuteReader() Executes a SELECT query and returns a DataReader object that wraps a
read-only, forward-only cursor.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 74
The DataReader Class
A DataReader allow us to read the data returned by a SELECT command one record at a
time, in a forward-only, read-only stream. This is sometimes called a firehose cursor. Using
a DataReader is the simplest way to get to your data, but it lacks the sorting and relational
abilities of the disconnected DataSet.
Method Description
1. Read() Advances the row cursor to the next row in the stream. This method must also be
called before reading the first row of data. (When the DataReader is first created, the row
cursor is positioned just before the first row.) The Read() method returns true if theres
another row to be read, or false if its on the last row.
2. GetValue() Returns the value stored in the field with the specified index, within the
currently selected row. The type of the returned value is the closest .NET match to the native
value stored in the data source. If you access the field by index and inadvertently pass an
invalid index that refers to a nonexistent field, you will get an IndexOutOfRangeException
exception.
3. GetValues() Saves the values of the current row into an array. The number of fields that
are saved depends on the size of the array you pass to this method. You can use the
DataReader.FieldCount property to determine the number of fields in a row, and you can use
that information to create an array of the right size if you want to save all
the fields.
4. NextResult() If the command that generated the DataReader returned more than one
rowset, this method moves the pointer to the next rowset (just before the first row).
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 75
5. Close() Closes the reader. If the originator command ran a stored procedure that returned
an output value, that value can be read only from the respective parameter after the reader
has been closed.
The DataAdapter Class
To extract records from a database and use them to fill a table in a DataSet, we need to use
another ADO.NET object : a DataAdapter. The DataAdapter comes in a provider-specific
object, so there is a separate DataAdapter class for each provider (such as SqlDataAdapter,
OracleDataAdapter, and so on).
The DataAdapter serves as a bridge between a single DataTable in the DataSet and the data
source. It contains all the available commands for querying and updating the data source. To
enable the DataAdapter to edit, delete, and add rows, you need to specify Command objects
for the UpdateCommand, DeleteCommand, and InsertCommand properties of the
DataAdapter. To use the DataAdapter to fill a DataSet, you must set the SelectCommand.
.
Method Description
1. Fill() Adds a DataTable to a DataSet by executing the query in the SelectCommand. If our
query returns multiple result sets, this method will add multiple DataTable objects at once.
You can also use this method to add data to an existing DataTable.
2. FillSchema() Adds a DataTable to a DataSet by executing the query in the
SelectCommand and retrieving schema information only. This method doesnt add any data
to the DataTable. Instead, it simply preconfigures the DataTable with detailed information
about column names, data types, primary keys, and unique constraints.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 76
3. Update() Examines all the changes in a single DataTable and applies this batch of changes
to the data source by executing the appropriate InsertCommand, UpdateCommand, and
DeleteCommand operations.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 77
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 78
Testing
Testing is the major control measure used during software development. Its basic function is
to detect errors in the software. During requirement analysis and design, the output is a
document that is usually textual and no executable. After the coding phase, computer
programs are available that can be executed for testing purpose. This implies that testing not
only has to uncover errors introduced during coding, but also errors introduced during
previous phase. Thus the goal of testing is to uncover the requirements, design and coding
errors in the programs.
Objectives of testing
First of all objectives should be clear.
Testing as a process of executing a program with the intent of finding errors.
To perform testing, test cases are designed. A test case is a particular made up of artificial
situation upon which a program is exposed so as to find errors. So a good test case is one that
finds undiscovered errors.
If testing is done properly, it uncovers errors and after fixing those errors we have software
that is being developed according to specifications.
The above objective implies a dramatic change in viewpoint .The move counter to the
commonly held view than a successful test is one in which no errors are found. In fact, our
objective is to design tests that a systematically uncover different classes of errors and do so
with a minimum amount of time and effort.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 79
Testing principles
Before applying methods to design effective test cases, software engineer must understand
the basic principles that guide the software testing process. Some of the most commonly
followed principles are:
All test should be traceable to user requirements as the objective of testing is to uncover
errors, it follows that the most severe defects (from the users point of view) are those that
causes the program to fail to meet its requirements.
Tests should be planned long before the testing begins. Test planning can begin as soon as
the requirement model is complete. Detailed definition of test cases can begin as soon as the
design model has been solidated. Therefore, all tests can be planned and designed before any
code can be generated.
The Pareto principle applies to software testing stated simply the Pareto principle implies that
80 percent of all errors uncovered during testing will likely be traceable to 20 percent of all
program modules. The problem of course, is to isolate these suspects modules and to
thoroughly test them.
Testing should begin in the small and progress towards testing in large. The first tests
planned and executed generally focus on individual modules. As testing progresses, testing
shifts focus in an attempt to find errors in integrated clusters of modules and ultimately in the
entire system.
Exhaustive testing is not possible. The number of paths permutations for impossible to
execute every combination of paths during testing. It is possible however to adequately cover
program logic and to ensure that all conditions in the procedural design have been exercised.
To be most effective, an independent third party should conduct testing. By most effective,
we mean testing that has the highest probability of finding errors (the primary objective of
testing).
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 80
Test information flow
Testing is a complete process. For testing we need two types of inputs:
Software configuration
It includes software requirement specification, design specification and source code of
program. Software configuration is required so that testers know what is to be expected and
tested.
Test configuration
It is basically test plan and procedure. Test configuration is testing plan that is, the way how
the testing will be conducted on the system. It specifies the test cases and their expected
value. It also specifies if any tools for testing are to be used.
Test cases are required to know what specific situations need to be tested. When tests are
evaluated, test results are compared with actual results and if there is some error, then
debugging is done to correct the error. Testing is a way to know about quality and reliability.
Error rate that is the occurrence of errors is evaluated. This data can be used to predict the
occurrence of errors in future.
A software product can be tested in two ways :-
In first approach, only overall functioning of the product is tested. Inputs are given and
outputs are checked. This approach is called black box testing. It does not care about the
internal functioning of the product.
The other approach is called white box testing. Here the internal functioning of the product is
tested. Each procedure is tested for its accuracy. It is more intensive than black box testing.
But for the overall product both these techniques are crucial. There should be sufficient
number of tests in both categories to test the overall product.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 81
Basic methods of Testing
White box testing
White box testing is performed to reveal problems with the internal structure of a program.
This requires the tester to have detailed knowledge of the internal structure. A common goal
of white box testing is to ensure a test case exercises every path through a program. A
fundamental strength that all white box strategies share is that the entire software
implementation is taken into account during testing, which facilitates error detection even
when software specification is vague or incomplete. The effectiveness or thoroughness of
white box testing is commonly expressed in terms of test or code coverage metrics, which
measure the fraction of code exercised by test cases.
Basic Path Testing
It is a white box technique. It was proposed by Tom McCabe. These tests guarantee to
execute every statement in the program at least one time during testing. Basic set is the set of
all execution paths of a procedure.
Black Box Testing
Black box tests are performed to access how well a program meets its requirements, looking
for incorrect or missing functionality. Functional tests typically exercise code with valid or
nearly valid input for which the expected output is known. This includes concepts such as
boundary values.
Performance tests evaluate response time, memory usage, throughput, device utilization and
execution time. Stress tests push the system to or beyond its specified limits to evaluate its
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 82
robustness and error handling capabilities. Reliability tests monitor system response to
representative user input, counting failures over time to measure or certify reliability.
Black box testing uncovers the following types of errors
4. Incorrect or missing functions
5. Interface errors
6. External database access
7. Performance errors
8. Initialization and termination errors
What is a Black Box Testing Strategy?
Black Box Testing is not a type of testing; it instead is a testing strategy, which does not need
any knowledge of internal design or code etc. As the name "black box" suggests, no
knowledge of internal logic or code structure is required. The types of testing under this
strategy are totally based/focused on the testing for requirements and functionality of the
work product/software application. Black box testing is sometimes also called as "Opaque
Testing", "Functional/Behavioral Testing" and "Closed Box Testing".
The base of the Black box testing strategy lies in the selection of appropriate data as per
functionality and testing it against the functional specifications in order to check for normal
and abnormal behavior of the system. Now a days, it is becoming common to route the
Testing work to a third party as the developer of the system knows too much of the internal
logic and coding of the system, which makes it unfit to test the application by the developer.
In order to implement Black Box Testing Strategy, the tester is needed to be thorough with
the requirement specifications of the system and as a user, should know, how the system
should behave in response to the particular action.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 83
Various testing types that fall under the Black Box Testing strategy are: functional testing,
stress testing, recovery testing, volume testing, User Acceptance Testing (also known as
UAT), system testing, Sanity or Smoke testing, load testing, Usability testing, Exploratory
testing, ad-hoc testing, alpha testing, beta testing etc.
These testing types are again divided in two groups:
a) Testing in which user plays a role of tester
b) User is not required.
Testing method where user is not required:-
Functional Testing :-
In this type of testing, the software is tested for the functional requirements. The tests are
written in order to check if the application behaves as expected.
Stress Testing :-
The application is tested against heavy load such as complex numerical values, large number
of inputs, large number of queries etc. which checks for the stress/load the applications can
withstand.
Load Testing :-
The application is tested against heavy loads or inputs such as testing of web sites in order to
find out at what point the web-site/application fails or at what point its performance
degrades.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 84
Ad-hoc Testing :-
This type of testing is done without any formal Test Plan or Test Case creation. Ad-hoc
testing helps in deciding the scope and duration of the various other testing and it also helps
testers in learning the application prior starting with any other testing.
Exploratory Testing :-
This testing is similar to the ad-hoc testing and is done in order to learn/explore the
application.
Usability Testing :-
This testing is also called as Testing for User-Friendliness. This testing is done if User
Interface of the application stands an important consideration and needs to be specific for the
specific type of user.
Smoke Testing :-
This type of testing is also called sanity testing and is done in order to check if the
application is ready for further major testing and is working properly without failing up to
least expected level.
Recovery Testing :-
Recovery testing is basically done in order to check how fast and better the application can
recover against any type of crash or hardware failure etc. Type or extent of recovery is
specified in the requirement specifications.
Volume Testing :-
Volume testing is done against the efficiency of the application. Huge amount of data is
processed through the application (which is being tested) in order to check the extreme
limitations of the system.
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 85
Testing where user plays a role/user is required:
User Acceptance Testing :-
In this type of testing, the software is handed over to the user in order to find out if the
software meets the user expectations and works as it is expected to.
Alpha Testing :-
In this type of testing, the users are invited at the development center where they use the
application and the developers note every particular input or action carried out by the user.
Any type of abnormal behavior of the system is noted and rectified by the developers.
Beta Testing :-
In this type of tes