PROJECT REPORT
ON
SUBMITTED BY
YATENDRA SOLANKI
(UNIVERSITY ROLL NO: 0909414117)
MAY,2012
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.
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)
CONTENTS
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
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
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.
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.
Drishtee.
Till now the assets of company maintained manually, this is very much time consuming and
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.
Drishtee.
Till now the assets of company maintained manually, this is very much time consuming and
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.
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.
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.
Problem Specification
The first step of Inventory Management System is identifying the problem.The Project
now the assets of company maintained manually on exel, this is very much time consuming
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:
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.
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.
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
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.
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.
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.
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
2. Purpose:-
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
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.
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.
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
The most important aspect of the ASP.NET engine is that it runs inside the runtime
environment of the CLR.
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
control at design time. You could also use metadata to enable other runtime services, such as
transactions or object pooling.
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.
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.
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).
Processing Environment :-
PLATFORM : .NET 3.5
Hardware Requirements :-
Software Requirements :-
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.
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.
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)
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
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
Table design:-
The Application Page table is used to contain all the details of Product Category that newly
added :-
Table design:-
The Product table is used to contain all the details of Product that has been existed :-
Table design:-
Table design:-
Data flows:-
Data flow is, with an arrowhead showing the direction of flow.
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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
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.
The controls that allow file uploading are HtmlInputFile (an HTML server control) and
FileUpload (an ASP.NET web control). Both represent the <input type="file"> 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 <form> 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.
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.
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.
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.
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
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,
When we create a content page in this manner, initially the page contains just the following
markup:
<asp:Content ID=Content1
ContentPlaceHolderID=ContentPlaceholder1 Runat=Server>
</asp:Content>
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.
<configuration>
<appSettings>
<add key="ConnectionString"
value="server=localhost;uid=sa;pwd=;database=DBPerson" />
</appSettings>
</configuration>
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.
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 :
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.
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.
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.
ADO.NET uses a multilayered architecture that revolves around a few key concepts, such as
Connection, Command, and DataSet objects.
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.
ODBC provider: Provides access to any data source that has an ODBC driver.
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.
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 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
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
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.
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).
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 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.
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.
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
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.
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).
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.
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.
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 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
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 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.
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.
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.
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.
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 testing, the software is distributed as a beta version to the users and users test
the application at their sites. As the users explore the software, in case if any exception/defect
occurs that is reported to the developers.
Only a small number of possible inputs can actually be tested, to test every possible
input stream would take nearly forever
Without clear and concise specifications, test cases are hard to design
There may be unnecessary repetition of test inputs if the tester is not informed of test
cases the programmer has already tried
May leave many program paths untested
Cannot be directed toward specific segments of code which may be very complex
(and therefore more error prone)
Test cases
We know, test cases are integral part of testing. So we need to know more about test cases
and how these test cases are designed. The most desired or obvious expectation from the test
cases is that it should be able to find most errors with the least amount of time and effort.
Test case Test Objective Test Procedure Test Data Expected Results Passed/ Comment
ID Failed s
Brand_1 To Check all Click Submit 1.Without enter Message Enter brand Passed
Mandatory Button without any brand code. name and enter
Fields entering data. 2. Without enter brand code
any brand name.
Test case Test Objective Test Procedure Test Data Expected Results Passed/ Comment
ID Failed s
Brand_3 To check Click on All data will be All records are visible Passed
Block View/Modify in Visible. in below window
Submitted or Block link
not
Category To Check all Click Submit 1.Without enter Message Please Passed
_1 Mandatory Button without Product Category enter Product
Fields entering data. code, Product Category Code,
Category Name, Product Category
and Parent Name.
Category Name.
CONCLUSION
The goals accomplished in designing/developing of this system:
User Friendliness
The system has totally user-friendly in sense as user only has to interact with GUI pages and
almost everywhere whenever any kind of task is going to perform.
Duplicate
Query
To see all the information regarding a single Report, a Report view page has been provided.
Security
A high level security at different levels has been incorporated into the system on the basis of
user requirements.
Fast
As far as possible slow responses are avoided and, thus, the system is fast enough.
Future Plans
The development of modules are made such that user can trace back and update the error
entry.
This project offers user to enter the data through simple & interactive web-page. This is very
helpful for the client to enter the desired information through so much simplicity.
The user is mainly more concerned about the validity of the data, whatever he is entering.
There are checks in every stage of any new creation, data entry or updating. So that the user
cannot enter the invalid data, which can cause problems further?
Sometimes the user find in the later stages of using the project that he need to update some of
those information that he entered earlier. There are options for him by which he can update
the records. Moreover there is restriction for him that he cannot change the primary data
field. This keeps the validity of the data to longer extent.
User is provided the option of monitoring the records he entered earlier
He can see the desired records with the variety of options provided for him.
From every part of the project the user is provided with the links through framing so that he
can go from one option of the project to other one as per as desire and requirement. This is
bound to be simple and very friendly as per the user is concerned. That is, we can say that the
project is user friendly which is one of the primary concerns of any good project.
Data storage and Retrieval will become faster and easier to maintain because data is stored in
a systematic manner and in a single database.
Through these features it will increase the efficiency, accuracy and transparency.
Due to the requirements of the user of the data of not only of current year but also of last few
years, the size of the database becomes too bulky. Due to which the processing speed of any
request from the client becomes a little bit slow.
Since this is the On-Line Project, if the network will be down or not.
Working properly, then report will not be submitted or accepted. To overcome this problem,
the report will be submitted through soft copies (Floppies, CD etc.) or written documents.
The objective of this application is to present the secure graphical user interface much
friendly to the authorized user only, performing all the working of above mentioned
procedure efficiently.It is aimed at making department affairs getting rid off all the
bottlenecks that are there in the manual system and enabling them to focus on the core
activities of the administration, thus helping them strengthen the overall quality standards.
Further Enhancement
This is the pilot project, if needed, can be further modified according to requirement.
REFERENCES
TEXT REFERENCES
1. Pro ASP.NET 3.5 in C# 2008, Second Edition by Matthew MacDonald and Mario
Szpuszta,Apress.
2. Oreilly.Learning.Web.Design.3rd.Edition.Jun.2007.
4. Wrox.Professional.ADO.dot.NET.2.Programming.with.SQL.Server.2005.Oracle.and.MySQ
L.Dec.2005.eBook.
WEB REFERENCES
1. www.w3schools.com
2. http://msdn.microsoft.com/en-
us/library/system.web.httpcontext.session.aspx
3. www.dotnetspider.com
4. http://www.edrawsoft.com/Flowchart-tutorial.php
5. http://www.codeproject.com/KB/database/DatabaseAcessWithAd
oNet1.aspx
6. http://quickstarts.asp.net/QuickStartv20/aspnet/doc/pages/pages.
aspx
7. http://www.bigresource.com/MS_SQL-data-binding-
d4UHaJPz.html
8. http://www.sql-server-performance.com
9. http://www.sgsy.in
Purpose
If you wants to avail all the facilities of Inventory Management System properly, you need to
be registered through this Login Page and then you will be authorised user of this site
Innventory Management System. This registration process requires your basic knowledge
such as Login Name, password and Organisation etc.
Snapshot View
This shows the login page view for authorised users of Inventory Management System. Here
you can login to your account if you are already registered. This will provide you with a
username and password.
This control support forms authentication, an ASP.NET model for authenticating users
against a database and tracking their status. Rather than writing your own interfaces to work
with forms authentication, you can use these controls to get pre built, customizable login
pages, password recovery, and user-creation wizards.
When we open the project the first page opened will be login page where we enter the login
credentials of user name and password. When the entries are entered correctly the page will
be redirected to default.aspx page. Otherwise error will be displayed on the login screen.
PRODUCT BRAND :-
This is the first page of Inventory Management System (product Brand master). The page is
concerned with the following functionalities :-
(1) There are two input values on the on the form.
Brand Category Code (For entering the brand code).
Brand Category Name (For entering the name of the brand).
(2) There is a Submit Button on the form.
For submitting the input values.
(3) There is a Grid view on the form.
The Grid view show all input values on the form randomly after pressing the
Submit Button.
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 100
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
PRODUCT CATEGORY :-
The second page of Inventory Management System (Add product Category).The page is
concerned with the following functionalities :-
(1) There are two textboxes on the form :-
Product Category Code (For entering the product category code).
Product Category Name (For entering the name of the product category).
(2) There is dropdown list on the form :-
Parent Category Name (For selecting the parent category of the product)
(4) There is a Submit Button on the form.
Submit Button ( For submitting the input value)
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 101
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 102
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
PRODUCT :-
The third page of Inventory Management System (Add product).The page is concerned with
the following functionalities :-
(1) There are three textboxes on the form :-
Product Name (For entering the product name)
Product Detail (For entering the product detail)
Purchase date (For entering the purchase date of product)
Serial Number (For entering the serial number of product)
Search 1,2 (For searching the product)
(2) There are three dropdown lists on the form :-
Brand Name (For selecting the brand of the product)
Category Name(For selecting the category of the product)
Office (For selecting the particular where to transfer the product)
(3) There is a search textbox on the form
Continue.
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 103
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 104
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 105
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
The third page of Inventory Management System (Active product in stock).The page is
concerned with the following functionalities :-
(1) There is a Grid view on the form :-
Grid view (Grid view showing all the active products of company)
(2) There are Check Boxes on the Grid View of the form :-
Check Boxes (Check Boxes for selecting the ready to use products from the list
of the products, after selecting the particular row the product is transfer to Product
Form)
(3) There is a Submit Button on the form :-
Submit Button ( For submitting selecting check box values to Product Form)
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 106
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 107
INVENTORY MANAGEMENT SYSTEM Master of Computer Applications
Purpose
This module provides you the facility to View all data entries :-
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report 108