Вы находитесь на странице: 1из 121

SAM TECHNOLOGIES Inventory Management System

Inventory Management System (IMS)

ABSTRACT

Abstract of the project

This project is aimed at developing an Inventory Management System (IMS) for a


departmental store. This system can be used to store the details of the inventory, update the
inventory based on the sale details, produce receipts for sales, generate sales and inventory
reports periodically etc. This is one integrated system that contains both the user component

1
SAM TECHNOLOGIES Inventory Management System

(used by salespersons, sales managers inventory managers etc) and the admin component (used
by the administrators for performing admin level functions such as adding new items to the
inventory, changing the price of an item etc).

This system runs on multiple terminals, offers a GUI interface to its users and connects to a
common database(s).

Functional components of the project

Following is a list of functionalities of the system. More functionality that you find appropriate
can be added to this list. And, in places where the description of functionality is not adequate,
you can make appropriate assumptions and proceed.

There are registered people in the system (sales people working in the shop, inventory
managers, admin et al). Each one of them may have some exclusive privileges (admin, for
example, could create new users to the system whereas sales people cannot).

1. A sales person should be able to

 login to the system through the initial screen of the system

 change the password after logging into the system

 see the status of the inventory, i.e., whether a particular item is available or not
etc

 search for a particular item by typing the initial letters (‘app’ for example may
bring up the item ‘apple’ in the top) or by category-wise (apple, for example,
may be looked up by going through the category ‘fruits’)

 enter the items purchased by a customer and produce a bill for the same (the bill
will have a unique sale id, date, time, item/quantity/price details etc)

 cancel the produced bill, in case of error in entering the details, and produce a
new one

 take back an already sold item that is not satisfactory to the customer (the shop
allows that) and produce a receipt for the same

 inform the inventory manager about the items that are not available, so that they
can be stocked

 inform the sales manager about any exceptions (such as an item is being
purchased, but it is not available in the system)

2
SAM TECHNOLOGIES Inventory Management System

 get help about the system on how to use the different features of the system

2. The inventory manager should be able to

 login to the system/change his password after logging in etc

 check the status of the inventory

 see the reports from sales people about items that are not available and need to
be kept in the inventory

 validate the inventory against the sales done in the previous day (whether the
items that are sold and the change in the inventory for the corresponding items
match etc)

 generate inventory reports of the items category-wise, price-wise etc

 generate inventory-trends (like how is coffee powder stock changing over the
month)

3. The sales manager should be able to

 login to the system/change his password after logging in etc

 check how many bills have been generated in the day so far

 check how much money is transacted in the day so far

 check how many bills have been cancelled so far in the day(due to wrong entry by
the sales persons)

 check how many items have been returned so far in the day

 check for any exception reports from the sales persons and correct it by contacting
the inventory manager

 generate sales-trend graphs for each of the item (like how is apple selling in the last
one month)

4. The administrator should be able to

 login to the system and change his password after logging in

3
SAM TECHNOLOGIES Inventory Management System

 add new users to the system

 add new items/categories to the inventory (‘grape’ may be added to the category
‘fruits’ or a new category such as ‘vegetables’ may be added)

 change the price of an item

INDEX

S. N CONTENTS

4
SAM TECHNOLOGIES Inventory Management System

1. INTRODUCTION

2. ANALYSIS

2.1 SYSTEM ANALYSIS

2.2 SYSTEM SPECIFICATIONS

3. DESIGN APPROACH

3.1 INTRODUCTION TO DESIGN

3.2 UML DIAGRAMS

3.3 DATA FLOW DIAGRAMS

3.4 E-R DIAGRAMS

4. PROJECT MODULES

5. IMPLEMENTATION

4.1 CONCEPTS AND TECHNIQUES

4.2 TESTING

4.2.1 TEST CASES

6. OUTPUT SCREENS

7. CONCLUSION

8. FUTURE ENHANCEMENTS

9. BIBILIOGRAPHY

5
SAM TECHNOLOGIES Inventory Management System

INTRODUCTION:

This project is aimed at developing an online


Sales and Inventory Management System (SIMS) for a departmental store. This system can be
used to store the details of the inventory, update the inventory based on the sale details,
produce receipts for sales, generate sales and inventory reports periodically etc. This is one
integrated system that contains both the user component (used by salespersons, sales managers
inventory managers etc) and the admin component (used by the administrators for performing
admin level functions such as adding new items to the inventory, changing the price of an item
etc).

This system runs on multiple terminals, offers a GUI interface to its users and connects to a
common database(s).

6
SAM TECHNOLOGIES Inventory Management System

7
SAM TECHNOLOGIES Inventory Management System

SYSTEM ANALYSIS:
1. Existing System

Online Sales And Inventory Management System (SIMS) deals with online
communicating between all users in this system. In the existing manual system huge
expenditure and a lot of time is spent in collecting the inventory information and doing the bill
based on category he choose. So, there is a need for an integrated automated system, which has
some centralized control over the entire process.
The following drawbacks of the existing system emphasize the need for online sales
and inventory management system:
1) Conventional system makes use of huge amounts of time for providing the information
about the inventory to the manager.

8
SAM TECHNOLOGIES Inventory Management System

2) Difficulty in tracking and retrieving data from the related inventory. So, there is a need
computerization. With computerized systems paper work drastically reduces, data retrieval
becomes easy, duplication of work is avoided.

2. Proposed System

The proposed system consists of full on-line data entry with online validations on field
and referential checking. The goal of this system is to bring down the workload with the
increased efficiency and to speed up the activities. The major activity of Online sales and
inventory management system is to provide online communication between the users of the
system. Auto generation of emails as soon as the inventory manager or sales person or sales
manager is required to send a mail to the administrator , intimating if any problem occurred
due to their work.

The other advantages are:


1. Availability of the information immediately after data captures.
2. An integrated normalized relational database will be maintained for the process.
3. Pre defined queries for generation of any specific enquiry purposes.
3. Objective of the System

The objective of the Online sales and inventory management system is to provide better
optimization and cost reducing for the users of this system.

System Specifications

Hardware Requirements:-

 Pentium-IV(Processor).
 256 MB Ram

9
SAM TECHNOLOGIES Inventory Management System

 512 KB Cache Memory


 Hard disk 20 GB
 Microsoft Compatible 101 or more Key Board

Software Requirements: -

 Operating System : Windows

 Programming language: JAVA1.5

 Web-Technology: JSP

 Front-End: HTML, Java Script

 Back-End: Oracle 10g

 Web Server: Apache Tomcat.

10
SAM TECHNOLOGIES Inventory Management System

INTRODUCTION:

Design is the first step in the development phase for any techniques
and principles for the purpose of defining a device, a process or system in sufficient detail to
permit its physical realization.

Once the software requirements have been analyzed and specified


the software design involves three technical activities - design, coding, implementation and
testing that are required to build and verify the software.

The design activities are of main importance in this phase, because in


this activity, decisions ultimately affecting the success of the software implementation and its
ease of maintenance are made. These decisions have the final bearing upon reliability and
maintainability of the system. Design is the only way to accurately translate the customer’s
requirements into finished software or a system.

Design is the place where quality is fostered in development.


Software design is a process through which requirements are translated into a representation of

11
SAM TECHNOLOGIES Inventory Management System

software. Software design is conducted in two steps. Preliminary design is concerned with the
transformation of requirements into data.

UML Diagrams:
Actor:
A coherent set of roles that users of use cases play when interacting with the use cases.

Use case:
A description of sequence of actions, including variants, that a system performs that yields
an observable result of value of an actor.

UML stands for Unified Modeling Language. UML is a language for specifying, visualizing
and documenting the system. This is the step while developing any product after analysis. The
goal from this is to produce a model of the entities involved in the project which later need to
be built. The representation of the entities that are to be used in the product being developed
need to be designed.

12
SAM TECHNOLOGIES Inventory Management System

There are various kinds of methods in software design:


They are as follows:
 Use case Diagram
 Sequence Diagram
 Collaboration Diagram
 Activity Diagram
 State chat Diagram

USECASE DIAGRAMS:

Usecase diagrams model behavior within a system and helps the developers understand of what
the user require. The stick man represents what’s called an actor.

Use case diagram can be useful for getting an overall view of the system and
clarifying who can do and more importantly what they can’t do.

Use case diagram consists of use cases and actors and shows the interaction
between the use case and actors.

 The purpose is to show the interactions between the use case and actor.
 To represent the system requirements from user’s perspective.
 An actor could be the end-user of the system or an external system.

USECASE DIAGRAM:

A Use case is a description of set of sequence of actions. Graphically it is rendered as


an ellipse with solid line including only its name. Use case diagram is a behavioral diagram

13
SAM TECHNOLOGIES Inventory Management System

that shows a set of use cases and actors and their relationship. It is an association between the
use cases and actors. An actor represents a real-world object. Primary Actor
–Sender,
Secondary Actor -Receiver.

14
SAM TECHNOLOGIES Inventory Management System

usecase diagram of Administrator

Change Password

Add Employee

Change Price Of Item

Administrator

Add Catogory

Logout

15
SAM TECHNOLOGIES Inventory Management System

usecase diagram of Inventory manager

Change Password

Check Status of Item

Generate Reports price and category wise

Inventory Manager

Graphs for Item

Logout

16
SAM TECHNOLOGIES Inventory Management System

usecase diagram of sales person

Change Password

Searching Item

produce bill

Sales Person

cancel produced bill

Logout

17
SAM TECHNOLOGIES Inventory Management System

usecase diagram of sales manager

Change Password

Total MoneyTransactions per day

bils per dayl

Sales Manager

returned Itemsl

Logout

18
SAM TECHNOLOGIES Inventory Management System

SEQUENCE DIAGRAM:

Sequence diagram and collaboration diagram are called INTERACTION DIAGRAMS.


An interaction diagram shows an interaction, consisting of set of objects and their relationship
including the messages that may be dispatched among them.
A sequence diagram is an introduction that empathizes the time ordering of messages.
Graphically a sequence diagram is a table that shows objects arranged along the X-axis and
messages ordered in increasing time along the Y-axis

Sequence diagram for Administrator

Login change password add employee changeitemPrice add category logout

admin
Login change password

Admin
add Employee

Not valid user change item price

Add category

logout

Termination

19
SAM TECHNOLOGIES Inventory Management System

Sequence diagram for InventoryManager

Login change password Status of Item Generate Reports GraphOfItems logout

Inventory manager
Login change password

Inventory manager
Status of Item

Not valid user Generate Reports

GraphOfItems

logout

Termination

20
SAM TECHNOLOGIES Inventory Management System

Sequence diagram for SalesPerson

Login change password Search an Item produce bill cancel bill logout

SalesPerson
Login change password

sales person
Search an Item

Not valid user produce bill

cancel bill

logout

Termination

21
SAM TECHNOLOGIES Inventory Management System

Sequence diagram for SalesManager

Login change password Total Transactions bils per dayl returnedItems logout

SalesManager
Login change password

SalesManager
Total Transactions

Not valid user bils per dayl

returnedItems

logout

Termination

22
SAM TECHNOLOGIES Inventory Management System

CLASS DIAGRAM:
Class is nothing but a structure that contains both variables and methods. The Class
Diagram shows a set of classes, interfaces, and collaborations and their relating ships. There is
most common diagram in modeling the object oriented systems and are used to give the static
view of a system. It shows the dependency between the classes that can be used in our system.
he interactions between the modules or classes of our projects are shown below. Each block
contains Class Name, Variables and Methods.

CLASS:
A description of set of objects that share the same attributes, operations, relationships, and
semantics

23
SAM TECHNOLOGIES Inventory Management System

Class diagrams of Administrator


Add professor details
empname:String
empno:String
mailId:Striong
location:String
* Joining date:Date
role:String
Admin Login
ID
PASSWORD add()

Generatiion o f Reports
empname:String
empno:String
mailId:Striong
add cetegory location:String
change price Joining date:Date
add employee Status:no role:String
Gno : number
Category:string

24
SAM TECHNOLOGIES Inventory Management System

Statechart Diagram for Admin:

Admin
Login

admin validtion
Not valid admin

Checking for Valid admin

add employee

changeItemPrice

Add category

changePassword

logout

25
SAM TECHNOLOGIES Inventory Management System

Statechart Diagram for InventoryManager:

InventoryManager
Login

admin validtion
Not valid admin

Checking for Valid admin

changepassword

ItemStatus
26
SAM TECHNOLOGIES Inventory Management System

Statechart Diagram for InventoryManager:

InventoryManager
Login

admin validtion
Not valid admin

Checking for Valid admin

changepassword

ItemStatus

generate reports

Grapg for Item

logout

27
SAM TECHNOLOGIES Inventory Management System

28
SAM TECHNOLOGIES Inventory Management System

Statechart Diagram for SalesPerson:

Sales Person
Login

admin validtion
Not valid admin

Checking for Valid admin

changepassword

SearchItem

produce bill

cncel bill

logout

29
SAM TECHNOLOGIES Inventory Management System

Statechart Diagram for SalesManager:

SalesManager
Login

admin validtion
Not valid admin

Checking for Valid admin

changepassword

All Transactions

Bills Per day

ReturnedItems

logout

30
SAM TECHNOLOGIES Inventory Management System

DATA FLOW DIAGRAMS:

The DFD takes an input-process-output view of a system i.e. data objects flow into the
software, are transformed by processing elements, and resultant data objects flow out of the
software.

Data objects represented by labeled arrows and transformation are represented


by circles also called as bubbles. DFD is presented in a hierarchical fashion i.e. the first data
flow model represents the system as a whole. Subsequent DFD refine the context diagram
(level 0 DFD), providing increasing details with each subsequent level.

The DFD enables the software engineer to develop models of the information
domain & functional domain at the same time. As the DFD is refined into greater levels of
details, the analyst perform an implicit functional decomposition of the system. At the same
time, the DFD refinement results in a corresponding refinement of the data as it moves through
the process that embody the applications.

A context-level DFD for the system the primary external entities produce
information for use by the system and consume information generated by the system. The
labeled arrow represents data objects or object hierarchy.

31
SAM TECHNOLOGIES Inventory Management System

RULES FOR DFD:

 Fix the scope of the system by means of context diagrams.

 Organize the DFD so that the main sequence of the actions

 Reads left to right and top to bottom.

 Identify all inputs and outputs.

 Identify and label each process internal to the system with Rounded circles.

 A process is required for all the data transformation and Transfers. Therefore, never
connect a data store to a data Source or the destinations or another data store with
just a Data flow arrow.

 Do not indicate hardware and ignore control information.

 Make sure the names of the processes accurately convey everything the process is
done.

 There must not be unnamed process.

 Indicate external sources and destinations of the data, with Squares.

 Number each occurrence of repeated external entities.

 Identify all data flows for each process step, except simple Record retrievals.

 Label data flow on each arrow.

 Use details flow on each arrow.

 Use the details flow arrow to indicate data movements.

DATAFLOW DIAGRAMS:

32
SAM TECHNOLOGIES Inventory Management System

Database:

Administra
tor Login
Login

Checking for
validation

Database

Administrator Login

admin
Administrator Login

Add View Delete View all Report


professor professor professor professor Generatio
n

Database:

Administra
tor Login
Login 33
SAM TECHNOLOGIES Inventory Management System

Checking for
validation

Database

Administrator Login

admin
Administrator Login

Add Change Change Add


Employee Password Item Price Category
professor professor professor

Database:

Inventory
MgrLogin

34
SAM TECHNOLOGIES Inventory Management System

Checking for
validation

Database

InventoryMgr Login

Invent
InventoryMgr Login ory
Mgr

Status of Change Generate Graph for


Item Password Report Item
professor Item Price

Database:

Salespers
on Login

35
SAM TECHNOLOGIES Inventory Management System

Checking for
validation

Database

Salesperson Login

Sales
Salesperson Login perso
n

Search for Change Produce Cancel bill


Item Password bill
professor

Database:

SalesMgr
Login

36
SAM TECHNOLOGIES Inventory Management System

Checking for
validation

Database

Sales Manager Login

Sales
Sales Manager Login Mgr

Total Change Bills per Returned


Transactio Password day Items
ns professor

E-R Diagrams:

The Entity-Relationship (ER) model was originally proposed by Peter in 1976 [Chen76] as a
way to unify the network and relational database views. Simply stated the ER model is a
conceptual data model that views the real world as entities and relationships. A basic
component of the model is the Entity-Relationship diagram which is used to visually represents
data objects. Since Chen wrote his paper the model has been extended and today it is
commonly used for database design For the database designer, the utility of the ER model is:

37
SAM TECHNOLOGIES Inventory Management System

 it maps well to the relational model. The constructs used in the ER model can easily be
transformed into relational tables.
 it is simple and easy to understand with a minimum of training. Therefore, the model
can be used by the database designer to communicate the design to the end user.
 In addition, the model can be used as a design plan by the database developer to
implement a data model in a specific database management software.

Connectivity and Cardinality

The basic types of connectivity for relations are: one-to-one, one-to-many, and many-to-many.
A one-to-one (1:1) relationship is when at most one instance of a entity A is associated with
one instance of entity B. For example, "employees in the company are each assigned their own
office. For each employee there exists a unique office and for each office there exists a unique
employee.

A one-to-many (1:N) relationships is when for one instance of entity A, there are zero, one, or
many instances of entity B, but for one instance of entity B, there is only one instance of entity
A. An example of a 1:N relationships is

a department has many employees

each employee is assigned to one department

A many-to-many (M:N) relationship, sometimes called non-specific, is when for one instance
of entity A, there are zero, one, or many instances of entity B and for one instance of entity B
there are zero, one, or many instances of entity A. The connectivity of a relationship escribes
the mapping of associated .

ER Notation

There is no standard for representing data objects in ER diagrams. Each modeling


methodology uses its own notation. The original notation used by Chen is widely used in
academics texts and journals but rarely seen in either CASE tools or publications by non-

38
SAM TECHNOLOGIES Inventory Management System

academics. Today, there are a number of notations used, among the more common are
Bachman, crow's foot, and IDEFIX.

All notational styles represent entities as rectangular boxes and relationships as lines
connecting boxes. Each style uses a special set of symbols to represent the cardinality of a
connection. The notation used in this document is from Martin. The symbols used for the basic
ER constructs are:

 entities are represented by labeled rectangles. The label is the name of the entity. Entity

names should be singular nouns.

 relationships are represented by a solid line connecting two entities. The name of the

relationship is written above the line. Relationship names should be verbs

 attributes, when included, are listed inside the entity rectangle. Attributes which are

identifiers are underlined. Attribute names should be singular nouns.

 cardinality of many is represented by a line ending in a crow's foot. If the crow's foot

is omitted, the cardinality is one.

 existence is represented by placing a circle or a perpendicular bar on the line.

Mandatory existence is shown by the bar (looks like a 1) next to the entity for an

instance is required. Optional existence is shown by placing a circle next to the entity

that is optional

39
SAM TECHNOLOGIES Inventory Management System

PROJECT MODULES

 Admin
 Inventory Manager
 Sales Person
 Sales Manager

40
SAM TECHNOLOGIES Inventory Management System

MODULE DESCRIPTION

Name of the module-1: Admin

Description: Can login to the system through the first page of the application and Can create
new user account for an employee and assign (if existing user) username and password.

Sub modules:

 Add New Employee


 Change Password

 Change Price of Item

 Add Category

Add New Employee:

In this submodule the administrator can login to his/her account. After logging into the
form, admin can add a new employee for the system

. Change Password:

In this sub module the administrator can login to his/her account. After logging into the
form, admin can change his/her password.

Change Price Of Item:

In this sub module the administrator can login to his/her account. After logging into the
form, admin can change the price of an Item that is in inventory.

Add Category:

41
SAM TECHNOLOGIES Inventory Management System

In this sub module the administrator can login to his/her account. After logging into the
form, admin can add new items/categories to the inventory (‘grape’ may be added to the
category ‘fruits’ or a new category such as ‘vegetables’ may be added).

Name of the module-2: Inventory Manager:

Description: Can login to the system through the first page of the application and can do the
following sub module task.

Sub modules:

 Check Status Of Item


 Change Password

 Generate Reports Price and Category wise

 Graph For Item

Check Status Of Item:

In this sub module the Inventory manager can login to his/her account. After logging into
the form, he can find the status of item is nothing but whether the particular item is available
are not or how many items are there for a particular item.

. Change Password:

In this sub module the Inventory manager can login to his/her account. After logging into
the form, he can change his/her password.

Generate Reports Price and Category wise:

42
SAM TECHNOLOGIES Inventory Management System

In this sub module the inventory manager can login to his/her account. After logging into
the form, he can generate reports based on the price or category i.e. generates the reports in
ascending order of the price.

Graph For Item:

In this sub module the inventory manager can login to his/her account. After logging into
the form, he can generate graph based on the item.

Name of the module-3: Sales Person:

Description: Can login to the system through the first page of the application and can do the
following sub module task.

Sub modules:

 Searching Item
 Change Password

 Produce Bill

 Cancel The Produced Bill

Searching heck Status Of Item:

In this sub module the sales person can login to his/her account. After logging into the
form, he can search a particular item just by giving the initial letters of the item.

. Change Password:

In this sub module the Sales Person can login to his/her account. After logging into the
form, he can change his/her password.

43
SAM TECHNOLOGIES Inventory Management System

Produce Bill:

In this sub module the sales person can login to his/her account. After logging into the
form, he can produce the bill for the Items that are selected by the customer.

Cancel Produced Bill:

In this sub module the sales person can login to his/her account. After logging into the form,
he can cancel the produced bill, if there is any mistake in the produced bill .

Name of the module-4: Sales Manager:

Description: Can login to the system through the first page of the application and can do the
following sub module task.

Sub modules:

 Total Money Transactions per day


 Change Password

 Bills Per Day

 Returned Items Details

Total Money Transactions per Day:

In this sub module the sales manager can login to his/her account. After logging into the
form, he can see the details of the total money transactions per day.

. Change Password:

In this sub module the Sales Manager can login to his/her account. After logging into the
form, he can change his/her password.

44
SAM TECHNOLOGIES Inventory Management System

Bills per Day:

In this sub module the sales manager can login to his/her account. After logging into the
form, he can see the details of the total bill details per a day and also see how many bills are
produced for this day.

Returned Item Details:

In this sub module the sales manager can login to his/her account. After logging into the
form, he can see the details about the returned Items in particular week or day.

CONCEPTS AND TECHNIQS

The Java Packages

Eight packages comprise the standard Java development environment.

The Java Language Package

The Java language package, also known as java.lang, contains classes that are core to the
Java language. The classes in this package are grouped as follows:
Object

The granddaddy of all classes--the class from which all others inherit.

Data Type Wrappers

A collection of classes used to wrap variables of a primitive data type: Boolean,


Character, and Double, Float Integer and Long.
Strings

Two classes that implement character data. The String and String Buffer Classes is
a thorough lesson on the use of both types of strings.

System and Runtime

45
SAM TECHNOLOGIES Inventory Management System

These two classes provide let your programs use system resources. System provides a
system-independent programming interface to system resources and Runtime gives you direct
system-specific access to the runtime environment. Using System Resources Describes both
the System and Runtime classes and their methods.
Threads
The Thread, Thread Death and Thread Group classes supplement the multi-threading
capabilities so important to the Java language.
Classes

The Class provides a runtime description of a class and the Class Loader class allows you
to load classes into your program during runtime.

IMPLEMENTATION

ABOUT JAVA:

The Internet helped catapult Java to the forefront of programming, and Java, in
turn, has had a profound effect on the Internet. The reason for this is quite simple: Java
expands the universe of objects that can move about freely in the cyberspace. In a network, two
very broad categories of objects are transmitted between the server and our computer passive
information and dynamic, active programs.

As desirable as dynamic, networked programs are, they also present serious problems
in the areas of security and portability. Java achieves this security or protection by confining a
Java program to the Java execution environment and not allowing it to access to other parts of
the computer. Many types of the computers and operating systems are in use throughout the
world and many are connected to the Internet. For programs to be dynamically download to all
the various types of platforms connected to the Internet, some means of generating portable
executable code is needed.

Java was designed to be easy for the professional programmers to learn and use
efficiently. The object model of Java is simple and easy to extend, while simple types, such as
integers are kept as high-performance non-objects.

46
SAM TECHNOLOGIES Inventory Management System

E-care is implemented using the Java language so as to make the programmers


(which includes super user, and Levels) and different corporate clients and corporate users to
handle e-Care easily without any difficulty.

The multi platformed environment of the web places extraordinarily demands on a


program, because the program must execute reliably in a variety of systems. Thus, the ability to
create robust programs was given a high priority in the design of Java. At the same time, Java
frees us from having to worry about many of the most common cause of programming errors.
Because Java is strictly typed language, it checks our code at the compile time and also at run-
time.

Java was designed to meet the real world requirements of creating


interactive,Networked programs. Java supports multithreaded programming, which allows us
to write programs that do many things simultaneously. A central issue for the Java designers
was that of code longevity and portability. Their goal was “write once; run anywhere, any
time , forever “.

Java enables the creation of the cross-platform programs by compiling into


intermediate representation called Java bytecode. This code can be interpreted on any system
that provides a java virtual machine. Java is designed for the distributed environment of the
Internet, because it handles TCP/IP protocols. In fact, accessing a resource using a URL is not
much different from accessing a file. The original version of Java (OAK) included features for
intra-address-space messaging. Java programs carry with them substantial amounts of the run-
time type information that is used to verify and resolve accesses to objects at run-time. This
makes it possible to dynamically link code in a safe and expedient manner.

ABOUT INTERNET AND INTRANET

Technologically, the Internet is network of computers. Not just a few special


Computers, but over nine million of all kinds of computers. Similarly it is not just a network,
but a network of networks hence the name and using TCP/IP (transmission control protocol
and internet protocol).

47
SAM TECHNOLOGIES Inventory Management System

Internet is the name for a vast, worldwide system consisting of people,


information and computers. Internet is global communication system of diverse, INTER
connected computer NETWORK for the exchange of information of virtually every
conceivable topic known to man.

Internet is not just one thing. It is a lot of things to lot of people. In today’s world it
is one of the most importanommodity of life. The Internet is more important in what it enables
than what it is, more of a phenomenon than fact.

Intranet

The classical definition of Intranet is the application of the Internet technologies to the
internal business applications media most refer to the Intranet in terms of applying web
technologies to information systems in the organization.

ABOUT JDBC (JAVA DATA BASE CONNECTION)

It is a java data base connectivity having data base as a back-end of java as front end.
Database is a collectivity of related data. A data base management system (DBMS) controls the
storage or retrieval of data in the database. The main use of this JDBC is the database
connectivity.

Using drivers we can get connection to the back-end:

1.which drive we are going to connect back-end.

2.create a data source name (dsn).

48
SAM TECHNOLOGIES Inventory Management System

3.create a statement for connection.

The package we use here is import java. Sql. *

Interfaces of jdbc include driver, connection, and statement; prepare statement, callable
statement, Result Set, Result Set Meta data. Classes of JDBC are driver manages, driver
property information, date, time, and timestamp, type. The driver defined by the classJdbc
odbc driver in package sun.jdbc.odbc. Class sun.jdbc.odbc.jdbc odbc driver represents the jdbc
to odbc bridge driver.

ABOUT SERVLETS

Servlet is server side applet. It contains several advantages. They are:Performance is


significantly better. Servlets execute within the address space of the web server. Creating a
separate process to handle each client request isn’t necessary.

Servlets are platform-independent, because they are written in Java. Several web servers, from
vendors such as sun, Netscape, and Microsoft, offer the servlet API

Programs developed for this API can be moved to any of these environments without
recompilation.

The java security manager on the server enforces a set of restrictions to protect the resources
on a server machine.

The full functionality of the Java class libraries is available to a servlet. It can communicate
with applets, databases, or other software via the sockets and RMI mechanisms.

The Lifecycle of a servlet:

Three methods are central to the lifecycle of a servlet: init (), service( ), and destroy( ). First,
assume that a user enters a Uniform Resource Locator (URL) to the web browser. The web

49
SAM TECHNOLOGIES Inventory Management System

browser then generates an HTTP request for this URL and sends it to the appropriate server.
Second the web server receives this HTTP request. The server maps this request to particular
servlet The servlet is dynamically retrieved and loaded into the address space of the server.
Third, the server invokes the init( )

method of the servlet. This method is invoked only when the servlet is first loaded into the
memory. Fourth, the server invokes the servlet service( ) method , which is called to process
the HTTP request. The service( ) method is called for each HTTP request. Two packages are
required to build the servlet they are javax.servlet and javax.srevlet.http. They constitute of
servlet API. ServletRequest interface is used to read the data from a client0request and
servletResponse is used to write data to the client response. The javax.srevlet.http package
include interfaces like HttpServletRequest which enables servlets to read data from HTTP
request and HttpServletResponse which enables servlets to write data from HTTP
response.

Introduction to HTML

The hypertext markup language (HTML) is a simple markup language. Used to create a
hypertext documents that are portable from one platform to another HTML documents are
SGML (Standard generalized mark up language) documents with generic semantics that are
appropriate for representing information from a wide range of applications. This specification
defines HTML version 3.2. HTML 3.2 aims to capture recommended practice as of early ’96
and as such a replacement for HTML2.0 (RFC 1866).

A set of instructions embedded in a document is called mark up language. These


instructions describe what the document text means and how it should look like in a display.
Hyper Text Mark Up language (HTML) is the language used to encode World Wide Web
documents.

WHY TO HTML?

50
SAM TECHNOLOGIES Inventory Management System

Website is a collection of pages, publications, and documents that reside on web server.
While these pages publications and a document as a formatted in a single format, you should
use HTML for home page and all primary pages in the site. This will enable the millions of
web users can easily access and to take advantage of your website.

HTML is considered first for formatting any new material you plan to publish on the web.
HTML documents are platform independent, meaning that they don’t confirm to any standard.
If they are created properly you can move home page to any server platform or you can access
them with any complaint www browser.

STRUCTURE OF HTML

HTML elements perform a defined task. HTML uses two types of elements

. Empty Tags

. Container Tags

These tags differ because of what they represent. Empty tags represent formatting
constricts such as line breaks and horizontal rules. Container tags define a section of text,
formats and dot all of the selected text. A container tag has both a beginning and an ending.

HTML LAYOUT:

An HTML document consists of text, which comprises the content of the


document and tags, which, defines the structure, and appearance of the document. The
structure of an HTML document is simple, consists of outer.

<HTML>tag enclosing the document header and body

<HTML>

51
SAM TECHNOLOGIES Inventory Management System

<HEAD>

<TITLE>the title of HTML document</TITLE>

</HEAD>

<BODY>

This is where the actual HTML documents

Text lies, which is displayed in the browser

</BODY>

</HTML>

Each document has a head and body delimited by the <HEAD> and <BODY> tag. The head is
where you give your HTML document a title and where you indicate other parameters the
browser may use when displaying the document. This includes the text for displaying the text.
Tag also references special and indicates the hot spots that link your document to other
documents.

HTML FORMS:

Creating a form usually involves two independent steps: Creating the layout for the form itself
and then writing a script program on the server side to process the formation you get back from
a form.

To create a form, You use the <FORM> tag. Inside the opening and closing FORM tags are
each of the individual form elements plus any other HTML content to create a layout for that
form.

52
SAM TECHNOLOGIES Inventory Management System

The opening tag of the FORM element usually includes the attributes: METHOD and
ACTION. The METHOD attributes can be either GET or POST which determines how your
form data is sent to the script to process it.

The ACTION attribute is a pointer to the script that processes the form on the server side. The
ACTION can be included by a relative path or by a full URL to a script on your server or
somewhere else. For example, the following <FORM> tag would call a script called form-
name in cgi-bin directory on server www.myservser.com

<FORM Method= post action=http://www.mytservser.com/cgi-bin/form-name.pl>

……………….

</FORM>

METHOD ATTRIBUTE:

The other required attribute for the <form> tag sets the methods by which the browser
form’s data to the server for processing. There are two ways: the POST method and GET
method. With POST method, the browser sends the data in two steps: the browser first contacts
the form-processing server specified in the action attributes, and once contact is made, sends
the data.

The GET method in the other hand, contacts the form processing server and sends the
form data in a single transaction step: the browser appends the data to the form’s action URL,
separated by the question mark (?) character.

INTRODUCTION TO JAVA

CREATION OF JAVA:

53
SAM TECHNOLOGIES Inventory Management System

Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank and
Mike Sheridan at SUN Microsystems Incorporation in the year 1991.It took 18 months to
develop the 1st working version. This language was initially called “OAK”, but was renamed
“JAVA” in 1995, many more contributed to the design and evolution of the language.

JAVA OVERVIEW

Java is a powerful but lean object-oriented programming language. It has generated a lot of
excitement because it makes it possible to program for Internet by creating Applets. Programs
that can be embedded in web page. The context of an applet can be an animation with sound,
an interactive game or a ticker tape. With constantly updated stock prices. Applets can be just
little decorations to liven up web page, or they can be serious applications like Word processor
or Spreadsheet.

But Java is more than a programming language for writing Applets. It is being used more
and more for writing standalone applications as well. It is becoming so popular that many
people believe it will become standard language for both general purpose and Internet
programming.

There are many buzzwords associated with Java, but because of its spectacular growth in
popularity, a new buzzword has appeared ubiquitous. Indeed, all indications are that it will
soon be everywhere.

Java builds on the strength of C++. It has taken the best features of C++ and discarded the
more problematic and error prone parts. To this lean core, it has added garbage collection
(automatic memory management), multithreading (the capacity for one program to do more
than one thing at a time), security capabilities. This result is that Java is simple, elegant, and
powerful and easy-to-use.

Java is actually a platform consisting of 3 components:

54
SAM TECHNOLOGIES Inventory Management System

Java Programming Language.

Java Library of Classes and Interfaces.

Java Virtual Machine

The following sections will say more about these components.

JAVA IS PORTABLE:

One of the biggest advantages Java offers is that it is portable. An application written
in Java will run on all the major platforms. Any computer with a Java-based browser can run
the applications or Applets written in the Java-Programming-Language. A programmer no
longer has to write one program to run on a Macintosh, another program to run on a Windows-
machine still another to run on a UNIX-machine and so on. In other words, with Java
developers write their programs only once.

The Virtual Machine is what gives Java is cross platform capabilities. Rather being
compiled into machine language, which is different for each OS’s and computer architecture,
Java code is compiled into Byte codes.

With other languages, the program code is compiled into a language that the computer
can understand. The problem is that other computers with different machine instruction set
cannot understand that language. Java code on the other hand is compiled into Byte-Code
rather than a machine language. These byte codes go to the JVM, which executes them directly
or translates them into the language that is understood by the machine running it.

In summary, these means that with the JDBC API extending Java, a programmer
writing Java code can access all the major RDBMS on any platform that supports the JVM.

55
SAM TECHNOLOGIES Inventory Management System

JAVA IS OBJECT-ORIENTED

The Java programming language is OBJECT-ORIENTED, which makes program design


focus on what you are dealing with, rather than on how your are going to do something. This
makes it more useful for programming in sophisticated projects, because one can break the
things into understandable components. A big benefit is that these components can then be
reused.

Object-Oriented Languages use the paradigm of classes. In simplest term, a class


includes both the data and the functions to operate on data. You can create an instance of a
class, also called an object, which will have all the data members and functionality of its class.
Because of this, you can think of a class as being like template, with each object being a
specific instance of a particular type of class.

The class paradigm allows one to encapsulate data so that specific data values are those
using the data cannot see the function implementation. Encapsulation makes it possible to
make the changes in code without breaking other programs that use that code.

If for example, the implementation of a function is changed, the change is invisible to


any programmer who invokes that function, and does not affect his/her program, except
hopefully to improve it.

56
SAM TECHNOLOGIES Inventory Management System

Java includes inheritance, or the ability to derive new classes from existing classes. The
derived class, is also called as Sub-Class, inherits all the data in the functions of the existing
class.

JAVA DEVOLPMENT EVNIRONMENT

To code, edit, debug and test the java programs, one needs to have a java development
environment. At the minimum this will consists of a java compiler interpreter and applet
viewer where applets can be testted.

Sun’s java development kit (JDK) latest version is 2.2 can be freely downloaded from
the Internet.

Java compiler is available on DOS, Win95, WIN’NT, Solaris and MAC etc.

Process :

Process objects represent the system process that is created when you use Runtime to
execute system commands. The java.lang Package defines and implements the generic The
compiler automatically imports this package for you. No other package Automatically
imported.

The Java I/O Package:


The Java I/O Package (java.io) provides a set of input andOutput streams used to
read and write data to files or other input and output sources. The classes and interfaces defined
in java.io are covered fully in Input and Output Streams.

The Java Utility Package:

This Java package, java.util, contains a collection of utility classes. Among them are
several generic data structures (Dictionary, Stack, Vector, and Hash table) a useful object for
tokenizing a string and another for manipulating calendar dates.

57
SAM TECHNOLOGIES Inventory Management System

The java.util package also contains the Observer interface and Observable class, which allow
objects to notify one another when they change. The java.util classes aren't covered separately
in this tutorial although some examples use these classes.

The Java Networking Package:

The java.net package contains classes and interface definitions that implement various
networking capabilities. The Classes in this package include a class that implement a URL, a
connection to a URL, a socket connection, and a datagram packet. You can use these classes to
implement client-server applications and other networking communication
applications.Custom Networking and Security has several examples using these classes,
including a client-server example and an example that uses datagrams.
The Abstract Window Toolkit Packages

Three packages comprise the Abstract Window Toolkit:Java.awt, java.awt.image, and


java.awt.peer.
FEATURES OF JAVA

SYSTEM DESIGN:

Design of software involves conceiving, planning out and specifying the externally
observable characteristics of the software product. We have data design, architectural design
and user interface design in design process. The goal of design process is to provide blue print
for implementation, testing, maintenance..

DATA DESIGN:

The primary activity during data design is to select logical representations of data
objects identified during requirement analysis and software analysis. A data dictionary
explicitly represents the relationships among data objects and the constrains on the elements of
the data structure. A data dictionary should be established and used to define both data and
program design.

58
SAM TECHNOLOGIES Inventory Management System

Introduction to JavaScript

JavaScript:

JavaScript is a new scripting language for WebPages. Scripts written with java script can
be embedded into your HTML pages. With java script you have many possibilities for
enhancing your HTML page with interesting elements. For example you are able to respond to
user-initiated events quite easily. Some effects that are now possible with java script were
some time ago only possible with CGI. So you can create really sophisticated pages with the
helps of java script on the Internet.

Difference between java and Java Script

Although the names are almost the same Java is not the same as Java Script. These are two
different techniques for Internet programming. Java is programming language. JavaScript is a
scripting language as the name implies. The difference is that we can create real programs with
java. But java script in not real programming. Java Script is meant to be easy to understand
and easy to use. JavaScript authors should not have to care too much about programming. We
could say that Java Script is rather an extension to HTML than a separate computer language.
Of course this is not the official definition but it makes it easier to understand the difference
between java and java script.

How can Java Script scripts run?

The first browser to support java script was the Netscape Navigator 2.0 of course the higher
versions do have java script as well. You might know that java does not run on all Netscape

59
SAM TECHNOLOGIES Inventory Management System

Navigators 2.0 (or higher versions) versions. But this is not true for java script -although there
are some problems with the different versions.

The Mac version for example seems to have many bugs. In the near future there are going to
be some other browsers, which support java script. The Microsoft Internet explorer 3.0 is
going to support java script. JavaScript enabled browsers are going to spread soon - it is worth
learning this new technique now. You might realize that is really easy to write Java Script
scripts. We have to know is some basic techniques and some work-around for problems you
might encounter. Of course we need a basic. Understanding HTML before reading this tutorial
you can find many really good online resources about HTML. Best you make an online search
about ‘html’ at yahoo if you want to get informed about HTML. Now I want to show some
small scripts so you can learn how they are implemented into HTML-documents and to show
which possibilities you have with the new scripting language. The following is a very small
script, which will only print a text into an HTML document.

<html>

<head>

My first JavaScript

</head>

<body><br>

This is a normal HTML document

<br>

<script language=”JavaScript”>

Document.write (“this is a java script”)

</script><b r>

Backing HTML again

</body>

60
SAM TECHNOLOGIES Inventory Management System

</html>

If you are using a java script enabled-browser at the moment then you will have the possibility
to see this script working. If your browser doesn’t support Java Script then this output might be
some kind of strange…

This is a normal HTML document

This is java script!

Back in HTML again.

Functions

Functions are bet declared between the <Head> tag of HTML page. Functions are called by
user-initiated events. Seems reasonable to keep the functions between the <Head> tags. They
are loaded first before a user can do anything that might call a function. Scripts can be placed
between inside comment fields to ensure that older browser do not display the script itself.

<html>

<head>

<script language=”JavaScript”>

function pushbutton (){

alert (“Hello!”);

</script>

</head>

<body>

<form>

61
SAM TECHNOLOGIES Inventory Management System

<input type=”button” name=”Button1” value=”push me” onclick=”pushbutton ()”>

</form>

</body>

</html>

If we want to test this one immediately and you are using a Java Script enabled browser then
please go ahead and push the button.

This script will create a button and when you press it a window will pop up saying “hello!”.
In fact we have a lot of possibilities just by adding functions to our scripts.

The common browsers transmit the form information by either method: here’s the complete
tag including the GET transmission method attribute for the previous form

Example

<Form method =GET action=http://www.mycompany.com/cgi-bin/upfdate.pl>

………

</form>

Input elements.

Use the <input> tag to define any one of a number of common form elements including text
fields multiple choice lists click able images and submission buttons. There are many
attributers for this tag only that types and name attributes are required for each element, each
type of input element uses only a subset of the followed attributes. Additional <input>
attributes may be required based upon which type of the form element you specify.

Submit button:

62
SAM TECHNOLOGIES Inventory Management System

The submit button (<input type=submit> ) does what its name implies, settings in motion the
form’s submission to the server from the browser. We many have more than submit buttons
will be added to the parameter list the browser sends along to the server.

Example

< Input type =”submit”>

<Input type=”submit” value=”submit” name=”name”>

Reset button:

The reset button if firm <input> button is nearly self- explanatory; it lets the user reset erase
or set to some default value all elements in the form. By default the browser displays a reset
button worth the label “reset”. We can change that by specifying a value attribute with tour
own button label.

INTRODUCTION TO JDBC

JDBC (Java Database connectivity) is a front-end tool for connecting to a server to ODBC
in that respect, however JDBC can connect only java client and it uses ODBC for the
connectivity. JDBC is essentially a low-level API since any data manipulation, storage and
retrieval has to be done by the program itself. Some tools, which provide a higher-level
abstraction, are expected shortly.

The next question that needs to be answered is why we need JDBC, once we have ODBC on
hand. We can use the same ODBC to connect the entire database and ODBC is a proven
technology.

Problem for doing this is ODBC gives a ‘c’ language API, which uses pointers extensively.

63
SAM TECHNOLOGIES Inventory Management System

Since java does not have any pointes and is object-oriented sun Microsystems, inventor of java
developed to suit its needs.Requirements to use JDBC: To use JDBC you need a basic
knowledge of databases and SQL.A part from this you need the jdk1.1 (Java Development
Kit1.1 available javasoft’s website) or a version of Java since jdk1.1 and above come bundled
with JDBC software.

After that you need to have a back-end database engine for which a JDBC driver is
available. When JDBC drivers are not available JDBC-ODBC bridge drivers are used to access
the database through ODBC. Back-end is not needed when JDBC driver is capable of storing
and retrieving the data itself, or if JDBC-ODBC Bridge and the ODBC driver can be used to
store and retrieve the information.

DATABASE MODELS

JDBC and accessing the database through applets and JDBC API via an intermediate server
resulted server resulted in a new type of database model which is different from the client-
server model. Based on number of intermediate server through the request should go it is
named as single tire, two tire and multi tire architecture

Single Tier

In a single tier the server and client are the same in the sense that a client program that
needs information (client) and the source of this type of architecture is also possible in java, in
case flat files are used to store the data. However this is useful only in case of small
applications. The advantage with this is the simplicity and portability of the application
developed.

Server and
client

64
SAM TECHNOLOGIES Inventory Management System

Database

Two Tier (client-server)

In two tier architecture the database resides in one machine and client in different
machine they are connected through the network. In this type of architecture a database
management takes control of the database and provides access to clients in a network. This
software bundle is also called as the server. Software in different machines, requesting for
information are called as the clients.

Server

Client

Database

Client

Three Tier and N-Tier

65
SAM TECHNOLOGIES Inventory Management System

In the three-tier architecture, any number servers can access the database that resides on
server. Which in turn serve clients in a network. For example, you want to access the database
using java applets, the applet running in some other machine, can send request only to the
server from which it is down loaded. For this reason we will need to have a intermediate server
which will accept the requests from applets and them to the actual database server. This
intermediate server acts as a two-way communication channel also. This is the information or
data from the database is passed on to the applet that is requesting it. This can be extended to
make n tiers of servers, each server carrying to specific type of request from clients, however
in practice only 3 tiers architecture is popular.

JDBC Driver Types:

The JDBC drivers that we are aware of at this time fit into one of four categories:

1. JDBC-ODBC BRIDGE PLUS ODBC DRIVER

The java soft bridge product provides JDBC access via ODBC drivers. Note that ODBC
binary code end in many cases database client code must be loaded on each client machine that
uses this driver. As a result, this kind of driver is most appropriate on a corporate network
where client installations are not major problem, or for application server code written in java
in a 3-tier architecture.

2. NATIVE API PARTLY-JAVA DRIVER

This kind of driver converts JDBC calls into calls on the client API for MySQL Sybase,
Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver requires
that some binary code be loaded on each client machine.

3. JDBC-NET ALL-JAVA DRIVER

This driver translates JDBC calls into a DBMS independent net protocol, which is then
translated, to a DBMS protocol by a server. This net server middle-ware is able to connect its
all java clients to many different databases. The Specific protocol used depends on the vendor.

66
SAM TECHNOLOGIES Inventory Management System

In general, this most flexible JDBC alternative. It is likely that all vendors of this solution will
provide products suitable for intranet use. In order for these products to also support Internet
access, they must handle the additional requirements for security, access through firewalls, etc
that the web imposes. Several vendors are adding JDBC drivers to their existing database
middleware products.

NATIVE PROTOCOL ALL-JAVA DRIVER

This kind of driver converts JDBC calls into the network protocol used by DBMS
directory. This allows a direct call from the client machine to the DBMS server that is practical
solution for intranet access. Since many of these protocols are proprietary, the database vendors
themselves will be the primary source. Several database vendors have these in progress.
Eventually, we expect that driver categories 3 and 4 will be the preferred way to access
databases from JDBC. Driver categories one and two are interim solutions where direct all java
drivers are not yet available. Category 4 is in some sense the ideal; however, there are many
cases where category 3 may be preferable: eg: -where a thin DBMS-independent client is
desired, or if a DBMS –independent protocol is standardized and implemented directly by
many DBMS vendors.

Servlets

Servlets provides a Java-Based solution used to address the problems currently associated with
doing server side programming, including inextensible scripting solutions, platform specific
APIs, and incomplete interfaces. Servlets are objects conform to a specific interface that can be
plugged into a Java-based server. Servlets are to the server-side what applets are to the client-
side-object byte codes that can be dynamically loaded off the net. They differ from applets in
that they are faceless objects (without graphics or a GUI component). They serve as platform
independent, dynamically loadable, plug gable helper byte code objects on the server side that
can be used to dynamically extend server-side functionality.

For example, an HTTP servlet can be used to generate dynamic HTML content. When
you use servlets to do dynamic content you get the following advantages:

67
SAM TECHNOLOGIES Inventory Management System

1.They’re faster and cleaner than CGI scripts.

2.They use a standard API (the Servlet API)

3.They provide all the advantages of Java (run on a variety of servers without needing to be
rewritten)

The attractions of Servlets

There are many features of servlets that make them easy and attractive to use. These include:

Easily configured using the GUI-based Admin Tool.

Can be loaded and invoked from a local disk or remotely across the network.

Can be linked together, or chained, so that one servlet can call another servlets, or several
servlets in sequence.

Can be called dynamically from within HTML pages, using server-side include tags

Invoking the servlet

To invoke a servlet you call it by creating a URL with “/servlet/” pretended to the
servlet name. Then enter this URL in your favorite browser to see the output of the Servlet.

Example:

After installing according to the directions above, access the HelloServlet by entering the
following URL in your favorite browser:

http://server-host-name:8080/servlet/hell

Internal Servlets

68
SAM TECHNOLOGIES Inventory Management System

The Java Server servlet architecture is very flexible and the server takes advantage of
this by dividing up its work among several internal servlets.

They are

1.File Servlet

2.Invoker Servlet

3.Server side include servlet

4.Admin Servlet

5.CGI Servlet

6.Image map servlet

File Servlet

The file servlet provides the standard document serving capabilities of java server. This
servlet includes a caching mechanism to speed up response times of frequently accesses files.
In addition it recognizes files that are to be parsed for server side includes and passes them on
to the SSInclude Servlet.

Servlets are an effective substitute for CGI scripts and provide a faster and cleaner way
to generate dynamic documents.

The java server is both flexible and extensible. Using the java server APIs you can write
your own servlet and incorporate it into the server. To do this follows these three steps

1. Write the servlet

2. Configure the servlet

3. Invoke the servlet

69
SAM TECHNOLOGIES Inventory Management System

Writing the Servlet

Unless they are used with the http protocol, servlets subclass the servlet. GenericServlet
class and override the service (Servlet Request, ServletResponse) method.

Servlets use with the HTTP protocol should subclass the javax.servlet.HttpServlet class
override one or both of the doGet (HttpServletRequest, HttpServletResponse) and

doPost (HttpServletRequest, HttpServletResponse) methods

Servlets class may choose to override the default implementations of the servlet
“lifecycle” servlet methods, init (ServletConfig) and destroy ().

Configuring the Server:

The real beauty of the java server is that it is extensible. But, before you can use a Servlet to
add an extended functionality to the JavaServer. You have to use the Java Server administration
applet to install the Servlet and specify the default parameters and arguments.

Display the Administration Applet by connecting to:


http://server_Host_Name:9090/index.html

Are secure-even when downloading across the network, the servlets security model and the
Servlet sandbox to protect your system from unfriendly behavior.

The advantage of the Servlet API

One of the great advantages of the Servlet API is protocol independence. It assumes nothing
about:

The protocol being used to transmit on the net.

How it is loaded.The server environment it will be running in.

70
SAM TECHNOLOGIES Inventory Management System

These qualities are important, because it allows the Servlet API to be embedded in many
different kinds of Servers. There are other advantages to the servlet API as well.

Servlet Features

The Java Server provides several important Servlet features. These include: Loading &
Invoking Servlets.

Servlets can be loaded both locally and remotely.

Filters and Servlets change.

The Java Server uses MIME types to call Servlets sequentially.

Server size includes:

Servlets can be invoked from dynamic HTML documents using Server side include tags.

Replacing the CGI Scripts.

DATABASE TABLES:

O_LOGIN:

NAME NOT/NULL TYPE KEY

USERID NOT NULL VARCHAR2(8) PRIMARY KEY

PASSWORD NOT NULL VARCHAR2(8) ------

AUTH NOT NULL NUMBER(2) --------

O_EMP:

NAME NOT/NULL TYPE KEY

ENAME NOT NULL VARCHAR2(50) -------

ENO NOT NULL VARCHAR2(8) PRIMARY KEY

71
SAM TECHNOLOGIES Inventory Management System

EEMAIL NOT NULL VARCHAR2(50) ---------

ELOCATION NOT NULL VARCHAR2(25) --------

EJDATE NOT NULL DATE --------

EROLL NOT NULL VARCHAR2(30)

O_ITEM_CATEGORY:

NAME NOT/NULL TYPE KEY

CATEGORY_CODE NOT NULL VARCHAR2(10) PRIMARY KEY

CATEGORY_NAME NOT NULL VARCHAR2(20)

O_ITEM:

NAME NOT/NULL TYPE KEY

ITEM_CODE NOT NULL VARCHAR2(15) PRIMARY KEY

ITEM_NAME NOT NULL VARCHAR2(25) ---------

ITEM_PRICE NOT NULL NUMBER(10,2) ---------

ITEM_QUANTITY NOT NULL NUMBER(10) ----------

72
SAM TECHNOLOGIES Inventory Management System

ITEM_QUALITY NUMBER(2) --------

ITEM_DISCRIPT VARCHAR2(50) --------

CATEGORY_CODE VARCHAR2(10) FOREIGN KEY

O_BILL:

NAME NOT/NULL TYPE KEY

BILL_ID NOT NULL VARCHAR2(15) PRIMARY KEY

BILL_AMOUNT NOT NULL NUMBER(15,2) -------

BILL_STATUS NOT NULL NUMBER(1) --------

BILL_DATE ------- TIMESTAMP(6) -------

O_ITEM_BACKUP:

NAME NOT/NULL TYPE KEY

ITEM_CODE NOTNULL VARCHAR2(15)

ITEM_PRICE NOT NULL NUMBER(10,2) --------

ITEM_QUANTITY NOT NULL NUMBER(10) ---------------

BILL_ID NOT NULL VARCHAR2(15) FOREIGN KEY

73
SAM TECHNOLOGIES Inventory Management System

FEASIBILITY STUDY:

Feasibility study is
conducted once the problem is clearly understood. Feasibility study is a high level capsule
version of the entire system analysis and design process. The objective is to determine quickly
at a minimum expense how to solve a problem. The purpose of feasibility is not to solve the
problem but to determine if the problem is worth solving.

The system has been tested for feasibility in the following points.

1. Technical Feasibility

2. Economical Feasibility

3. Operational Feasibility.

1. Technical Feasibility

The project entitles "Courier Service System” is technically feasibility because of


the below mentioned feature. The project was developed in Java which Graphical User
Interface.

It provides the high level of reliability, availability and compatibility. All these make
Java an appropriate language for this project. Thus the existing software Java is a powerful
language.

2. Economical Feasibility

The computerized system will help in automate the selection leading the
profits and details of the organization. With this software, the machine and manpower
utilization are expected to go up by 80-90% approximately. The costs incurred of not creating
the system are set to be great, because precious time can be wanted by manually.

74
SAM TECHNOLOGIES Inventory Management System

3. Operational Feasibility

In this project, the management will know the details of each


project where he may be presented and the data will be maintained as decentralized and if any
inquires for that particular contract can be known as per their requirements and necessaries.

Implementation:

Implementation is the stage where the theoretical design is turned into a working system.
The most crucial stage in achieving a new successful system and in giving confidence on the
new system for the users that it will work efficiently and effectively.

The system can be implemented only after thorough testing is done and if it is found to work
according to the specification.

It involves careful planning, investigation of the current system and its constraints on
implementation, design of methods to achieve the change over and an evaluation of change
over methods a part from planning. Two major tasks of preparing the implementation are
education and training of the users and testing of the system.
The more complex the system being implemented, the more involved will be the systems
analysis and design effort required just for implementation.

The implementation phase comprises of several activities. The required hardware and
software acquisition is carried out. The system may require some software to be developed.
For this, programs are written and tested. The user then changes over to his new fully tested
system and the old system is discontinued.

75
SAM TECHNOLOGIES Inventory Management System

TESTING:

The testing phase is an important part of software development. It is the puterized


system will help in automate process of finding errors and missing operations and also a
complete verification to determine whether the objectives are met and the user requirements
are satisfied.

Software testing is carried out in three steps:

1. The first includes unit testing, where in each module is tested to provide its
correctness, validity and also determine any missing operations and to verify whether the
objectives have been met. Errors are noted down and corrected immediately. Unit testing is the
important and major part of the project. So errors are rectified easily in particular module and
program clarity is increased. In this project entire system is divided into several modules and is
developed individually. So unit testing is conducted to individual modules.

2. The second step includes Integration testing. It need not be the case, the
software whose modules when run individually and showing perfect results, will also show
perfect results when run as a whole. The individual modules are clipped under this major
module and tested again and verified the results. This is due to poor interfacing, which may
results in data being lost across an interface. A module can have inadvertent, adverse effect on
any other or on the global data structures, causing serious problems.

3. The final step involves validation and testing which determines which the
software functions as the user expected. Here also some modifications were. In the completion
of the project it is satisfied fully by the end user.

76
SAM TECHNOLOGIES Inventory Management System

Maintenance and environment:

AS the number of computer based systems, grieve libraries of computer software began to
expand. In house developed projects produced tones of thousand soft program source
statements. Software products purchased from the outside added hundreds of thousands of new
statements. A dark cloud appeared on the horizon. All of these programs, all of those source
statements-had to be corrected when false were detected, modified as user requirements
changed, or adapted to new hardware that was purchased. These activities were collectively
called software Maintenance.
The maintenance phase focuses on change that is associated with error correction,
adaptations required as the software's environment evolves, and changes due to enhancements
brought about by changing customer requirements. Four types of changes are encountered
during the maintenance phase.

Correction
Adaptation
Enhancement
Prevention

Correction:

Even with the best quality assurance activities is lightly that the customer will
uncover defects in the software. Corrective maintenance changes the software to correct
defects.

Maintenance is a set of software Engineering activities that occur after software has
been delivered to the customer and put into operation. Software configuration
management is a set of tracking and control activities that began when a software
project begins and terminates only when the software is taken out of the operation.

We may define maintenance by describing four activities that are undertaken after a
program is released for use:

Corrective Maintenance
Adaptive Maintenance
Perfective Maintenance or Enhancement
Preventive Maintenance or reengineering

Only about 20 percent of all maintenance work are spent "fixing mistakes". The

77
SAM TECHNOLOGIES Inventory Management System

remaining 80 percent are spent adapting existing systems to changes in their external
environment, making enhancements requested by users, and reengineering an
application for use.

ADAPTATION:

Over time, the original environment (E>G., CPU, operating system, business rules,
external product characteristics) for which the software was developed is likely to change.
Adaptive maintenance results in modification to the software to accommodate change to its
external environment.

ENHANCEMENT:

As software is used, the customer/user will recognize additional functions that will provide
benefit. Perceptive maintenance extends the software beyond its original function
requirements.

PREVENTION :

Computer software deteriorates due to change, and because of this, preventive


maintenance, often called software re engineering, must be conducted to enable the
software to serve the needs of its end users. In essence, preventive maintenance makes
changes to computer programs so that they can be more easily corrected, adapted, and
enhanced. Software configuration management (SCM) is an umbrella activity that is
applied throughout the software process. SCM activities are developed to

INTRODUCTION TO JDBC

78
SAM TECHNOLOGIES Inventory Management System

JDBC(Java Database connectivity) is a front-end tool for connecting to a server to ODBC


in that respect, However JDBC can connect only Java clients and it uses ODBC for the
connectivity. JDBC is essentially a low-level application programming interface. It is called a
low-level API since any data manipulation, storage and retrieval has to be done by the program
itself. Some tools which provide a higher level abstraction or expected shortly.
The next question that needs to be answered is why we need JDBC, once we have
ODBC on hand. We can use the same ODBC to connect all the databases and ODBC is proven
technology.
Problem for doing this is ODBC gives a ‘C’ language API, which uses pointers
extensively. Since Java does not have pointers and is object oriented sun micro systems,
inventor of java developed to suit its needs.
Requirements to use JDBC:
To use JDBC you need a basic knowledge of databases and SQL. Apart from this
you need jdk1.1 (Java Development Kit1.1 available Javasoft’s website) or a version of Java
since jdk1.1 and above come bundled with JDBC software.
After that you need to have a back-end database engine for which a JDBC driver is
available. When JDBC drivers are not available, JDBC-ODBC bridge drivers are used to
access the database through ODBC. Back-end is not needed when JDBC driver is capable of
storing and retrieving the data itself, or if JDBC-ODBC bridge and the ODBC driver can be
used to store and retrieve the information.

Database Models:

JDBC and accessing the database through applets, and JDBC API via an intermediate
server resulted in a new type of database model which is different from the client-server model.

79
SAM TECHNOLOGIES Inventory Management System

Based on number of intermediate servers through which request should go it si named as single
tier, two tier and multi tier architecture.

Single Tier:

In a single tier the server and client are the same in the sense that a client program that
needs information (client) and the source of this type of architecture is also possible in Java, in
case flat filters are used to store the data. However this is useful only in case of small
applications. The advantage with this is the simplicity and portability of the application
developed.

Two Tier (Client-Server):


In a two tier architecture the database resides in one machine(server) and the data
can be accessed by any number of machines(clients) in the net work. In this type of
architecture a database manager takes control of the database and provides access to clients in
a network. This software bundle is also called as the server. Software in different machines,
requesting for information are called as clients.

Three tier and N-tier:


The three tier architecture, the database that resides one server, can be accessed
by any number of servers, which In turn serve clients in a network .for example, you want to
access the database using java applets, the applet running in some other machine, can send
requests only to the server from which it is down loaded. For this reason we will need to have a
intermediate server acts as a two way communication channel also This is, the information or
data from the database is passed on to the applet that is recession it. This can extended to make
n tiers of servers, each server carryingtype of request from clients, however in practice only
three tier architecture is more popular.

JDBC Driver Types:


The JDBC drivers that we are aware of at this time fit into one of four
categories:

80
SAM TECHNOLOGIES Inventory Management System

1.JDBC_ODBC bridge plus ODBC driver: the java soft bridge product provides JDBC
access via ODBC drivers. Note that ODBC binary code and in many cases database client code
must be loaded on each client machine that uses this driver. As a result, this kind of driver is
most appropriate on a corporate network where client installations are not a major problem, or
for application server code written in java in a 3-tier architecture.
2.Native-API partly java driver: This kind of driver converts JDBC calls into calls on
the client API for Oracle, Sybase Informix, DB2,or other DBMS, Note that ,like the bridge
driver ,this style of driver requires some binary code be loaded on each client machine .
3.JDBC-Net all-Java driver: This driver translates JDBC calls into a DBMS-independent
net protocol by a server. This net server middleware is able to connect its all-Java clients to
many different databases. The specific protocol used depends on the vendor. In general, this the
most flexible JDBC alternative. It is likely that all vendors of this solution will provide product
suitable for Intranet use. In order for these products to also support internet access, they must
handle the additional requirements for security, access though fire walls, etc., that the web
imposes. Several vendors are adding JDBC drivers to their existing database middleware
products.
4.Native-protocol all-java driver: This kind of driver converts JDBC calls into the
network protocol used by DBMS directly. This allows a direct call from the client machine to
the DBMS server and is a practical solution for Intranet access. Since many of these protocols
are proprietary
the database vendors themselves will be the primary source. Several database vendors have
these in progress.
Eventually, we expect that driver categories 3 and 4 will be the preferred way to access
databases form JDBC. Driver categories 1 and 2 are interim solutions where direct all-java
drivers are not yet available. Category 4 is in some sense the ideal; however, there are many
cases where Category 3 may be preferable:
e.g., where a thin DBMS-independent client is desired, or if a DBMS-independent protocol is
standardized and implemented directly by many DBMS vendors.

81
SAM TECHNOLOGIES Inventory Management System

Obtaining JDBC Drivers:


There are dozens of drivers in category 1:ODBC Drivers that can be
used with JavaSoft’s bridge. There are currently about a dozen category 2 drivers built on top
of native APIs for DBMSs. There are a few category 3 drivers. There are very few category 4
drivers currently since it takes at least a few months to write native protocol drivers in Java. We
expect, however, that there will be category 4 drivers for all the major DBMSs some time in
1997.
To get the latest information on drivers , check the JDBC web page mentioned
earlier. The first vendors with category 3 drivers available were SCO, Open Horizon, Visigenic
the database vendors themselves will be the primary source. Several database vendors have
these in progress.
Eventually, we expect that driver categories 3 and 4 will be the preferred way to
access databases form JDBC. Driver categories 1 and 2 are interim solutions where direct all-
java drivers are not yet available. Category 4 is in some sense the ideal; however, there are
many cases where Category 3 may be preferable:
e.g., where a thin DBMS-independent client is desired, or if a DBMS-independent protocol is
standardized and implemented directly by many DBMS vendors.

INTRODUCTION TO HTML4.0

What is the World Wide Web?


The World Wide Web is a network of information resources. The Web relies on
three mechanisms to make these resources readily available to the widest possible audience.
1. A uniform naming scheme for locating resources on the Web (e.g. URLs)
2. Protocols, for access to named resources over the Web (e.g. HTTP)
3. hypertext, for easy navigation among resources (e.g.HTML)

82
SAM TECHNOLOGIES Inventory Management System

The ties between the three mechanisms are apparent throughout this specification.

What is HTML?
To publish information for global distribution, one needs a universally
understood language, a kind of publishing mother tongue that all computers may potentially
understand. The publishing language used by the World Wide Web is HTML (from Hyper Text
Markup Language). HTML gives authors the means to
- Publish online documents with headings, text, tables, lists, photos, etc.
- Retrieve online information via hypertext links, at the click of a button
- Design forms for conducting transactions with remote services, for use in searching for
information, making reservations, ordering products etc.
- Include spread - sheets, video clips, sound clips, and other applications directly in their
documents.

A brief history of HTML:


HTML was originally developed by Tim Berners-Lee while at CERN, and
popularized by the Mosaic browser developed at NCSA. During the course of the 1990s it has
blossomed with the explosive growth of the Web during this time. HTML has been extended
in a number of ways. The Web depends on Web page authors and vendors sharing the same
conventions for HTML. This has motivated joint work on specifications for HTML.
HTML 2.0 (November 1995) was developed under the aegis of the Internet Engineering Task
Force (IETF) to codify common practice in late 1994. HTML (1993) and ([HTML.30]) (1995)

proposed much richer versions of HTML, despite never receiving consensus in standards
discussions, these drafts led to the adoption of a range new features. The efforts of the World
Wide Web Consortium’s HTML working group to codify common in 1996 resulted in HTML
3.2 (January 1997). Most people agree that HTML documents should work well across
different browsers and platforms. Achieving interoperability lowers costs to content providers

83
SAM TECHNOLOGIES Inventory Management System

since they must develop only one version of a document. If the effort is not made, there is
much greater risk that the Web will devolve into a proprietary world of incompatible formats,
ultimately reducing the Web’s commercial potential for all participants.

SOFTWARE METHODOLOGY

The software methodology followed in this project includes the object-oriented


methodology and the application system development methodologies. The description of these
methodologies is given below.

Application System Development – A Life cycle Approach

Although there are a growing number of applications (such as decision support systems)
that should be developed using an experimental process strategy such as prototyping, a
significant amount of new development work continue to involve major operational
applications of broad scope. The application systems are large highly structured. User task
comprehension and developer task proficiency is usually high. These factors suggest a linear or
iterative assurance strategy. The most common method for this stage class of problems is a
system development life cycle modal in which each stage of development is well defined and
has straightforward requirements for deliverables, feedback and sign off. The system
development life cycle is described in detail since it continues to be an appropriate
methodology for a significant part of new development work.

84
SAM TECHNOLOGIES Inventory Management System

The basic idea of the system development life cycle is that there is a well-defined process
by which an application is conceived and developed and implemented. The life cycle gives
structure to a creative process. In order to manage and control the development effort, it is
necessary to know what should have been done, what has been done, and what has yet to be
accomplished. The phrases in the system development life cycle provide a basis for
management and control because they define segments of the flow of work, which can be
identified for managerial purposes and specifies the documents or other deliverables to be
produced in each phase.

The phases in the life cycle for information system development are described differently
by different writers, but the differences are primarily in the amount of necessity and manner of
categorization. There is a general agreement on the flow of development steps and the
necessity for control procedures at each stage.

The information system development cycle for an application consists of three major stages.
1) Definition.
2) Development.
3) Installation and operation.
The first stage of the process, which defines the information requirements for a feasible
cost effective system. The requirements are then translated into a physical system of forms,
procedures, programs etc., by the system design, computer programming and procedure
development. The resulting system is test and put into operation. No system is perfect so there
is always a need for maintenance changes. To complete the cycle, there should be a post audit
of the system to evaluate how well it performs and how well it meets the cost and performance
specifications. The stages of definition, development and installation and operation can
therefore be divided into smaller steps or phrases as follows.

Definition
Proposed definition : preparation of request for proposed applications.
Feasibility assessment : evaluation of feasibility and cost benefit of proposed system.

85
SAM TECHNOLOGIES Inventory Management System

Information requirement analysis : determination of information needed.

Design
Conceptual design : User-oriented design of application development.
Physical system design : Detailed design of flows and processes in applications processing
system and preparation of program specification.
Development
Program development : coding and testing of computer programs.
Procedure development : design of procedures and preparation of user instructions.

Installation and operation

Conversion : final system test and conversion.


Operation and maintenance : Month to month operation and maintenance
Post audit : Evaluation of development process,application system and results
of use at the completion of the each phase, formal approval sign-off is required from the users
as well as from the manager of the project development.

HTML CODE:

86
SAM TECHNOLOGIES Inventory Management System

<html>
<head><H2><CENTER><U><font face="WST_Czec"color=""size="6">LOGIN
FORM</font></U></CENTER></H2>
</head>
<body background=".\images\bg80.gif">
<form action="validation.jsp">

<br><br><center><font face="WST_Czec"color=""size="4">SELECT USER</font>


<select name="log">
<option value=""> Select User </option>
<option value="Operator">Operator
<option value="Municipal officer">Municipal officer
</select></center>
<table align="center"><tr><td><font face="WST_Czec"color=""size="4">ENTER USER
ID</font></td><td><input type="text" name="uid"></td><br>
<tr><td><font face="WST_Czec"color=""size="4">ENTER PASSWORD</td><td><input
type="password" name="pass"><td></tr></font><br>
<tr><td><br><center><input type="submit" value=" Login
"></td></center></form></tr></table>

</body></html>

JSP CODE

<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>


<%
try{
String category = request.getParameter("category");
String question = request.getParameter("question");
String choice1=request.getParameter("choice1");
String choice2=request.getParameter("choice2");
String choice3=request.getParameter("choice3");
String choice4=request.getParameter("choice4");
String answer=request.getParameter("answer");
String description=request.getParameter("description");
int qnum=Integer.parseInt(request.getParameter("qnum"));

System.out.println(category+"\n"+qnum+"\n"+question+"\n"+choice1+"\n"+choice2+"\n"+cho
ice3+"\n"+choice4+"\n"+answer+"\n"+description);

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

87
SAM TECHNOLOGIES Inventory Management System

Connection
con=DriverManager.getConnection("jdbc:oracle:thin:@ipoghome:1521:orcl","spm","spm");

String sql="insert into questionmaker1 values(?,?,?,?,?,?,?,?,?)";


PreparedStatement pstmt=con.prepareStatement(sql);

pstmt.setString(1,category);
pstmt.setString(2,question);
pstmt.setString(3,choice1);
pstmt.setString(4,choice2);
pstmt.setString(5,choice3);
pstmt.setString(6,choice4);
pstmt.setString(7,answer);
pstmt.setString(8,description);
pstmt.setInt(9,qnum);
int i=pstmt.executeUpdate();
if(i>0)
{
out.println("question added");
}
else
{
out.println("question not added");
}
}
catch(SQLException e)
{
System.out.println(e);
}
%>

<html>
<body><form action="welcome.html">

<center>
<H2>SUBMITED SUCCESSFULY<BR>YOUR GRIEVANCE NUMBER IS
&nbsp;&nbsp;<u><%=i%></u> <BR>YOUR WORK WILL COMPLETES WINTH IN 10
DAYS<BR>THANK YOU</H2><br><br>
<input type="submit"value="HOME"></form></center>
</body></html>

88
SAM TECHNOLOGIES Inventory Management System

SERVLET CODE:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class insert extends HttpServlet
{
public void doPost(HttpServletRequest req,HttpServletResponse res)throws
ServletException,IOException
{
PrintWriter out=res.getWriter();
res.setContentType("text/html");
String id=req.getParameter("id");
String password=req.getParameter("password");

try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:ds","scott","tiger");
Statement st=con.createStatement();
int i=st.executeUpdate("insert into operator values('"+id+"','"+password"')");
if(i>0)
out.println("success");
else
out.println("failure");
con.close();

}
catch(Exception e)
{
out.println(e); }}}

89
SAM TECHNOLOGIES Inventory Management System

90
SAM TECHNOLOGIES Inventory Management System

Testing is a process of executing a program with the indent of finding an error. Testing is a
crucial element of software quality assurance and presents ultimate review of
specification, design and coding.

System Testing is an important phase. Testing represents an interesting anomaly for the
software. Thus a series of testing are performed for the proposed system before the system is
ready for user acceptance testing.

A good test case is one that has a high probability of finding an as undiscovered error. A
successful test is one that uncovers an as undiscovered error.

Testing Objectives:

1. Testing is a process of executing a program with the intent of finding an error


2. A good test case is one that has a probability of finding an as yet undiscovered error
3. A successful test is one that uncovers an undiscovered error

Testing Principles:

 All tests should be traceable to end user requirements


 Tests should be planned long before testing begins
 Testing should begin on a small scale and progress towards testing in large
 Exhaustive testing is not possible
 To be most effective testing should be conducted by a independent third party

The primary objective for test case design is to derive a set of tests that has the highest
livelihood for uncovering defects in software. To accomplish this objective two different
categories of test case design techniques are used. They are

91
SAM TECHNOLOGIES Inventory Management System

 White box testing.

 Black box testing.

White-box testing:

White box testing focus on the program control structure. Test cases are derived to
ensure that all statements in the program have been executed at least once during testing and
that all logical conditions have been executed.

Block-box testing:

Black box testing is designed to validate functional requirements without regard to the internal
workings of a program. Black box testing mainly focuses on the information domain of the
software, deriving test cases by partitioning input and output in a manner that provides through
test coverage. Incorrect and missing functions, interface errors, errors in data structures, error
in functional logic are the errors falling in this category.

Testing strategies:

A strategy for software testing must accommodate low-level tests that are necessary to
verify that all small source code segment has been correctly implemented as well as high-level
tests that validate major system functions against customer requirements.

Testing fundamentals:

Testing is a process of executing program with the intent of finding error. A good test
case is one that has high probability of finding an undiscovered error. If testing is conducted
successfully it uncovers the errors in the software. Testing cannot show the absence of defects,
it can only show that software defects present.

Testing Information flow:

92
SAM TECHNOLOGIES Inventory Management System

Information flow for testing flows the pattern. Two class of input provided to test the
process. The software configuration includes a software requirements specification, a design
specification and source code.

Test configuration includes test plan and test cases and test tools. Tests are conducted
and all the results are evaluated. That is test results are compared with expected results. When
erroneous data are uncovered, an error is implied and debugging commences.

Unit testing:

Unit testing is essential for the verification of the code produced during the coding
phase and hence the goal is to test the internal logic of the modules. Using the detailed design
description as a guide, important paths are tested to uncover errors with in the boundary of the
modules. These tests were carried out during the programming stage itself. All units of
ViennaSQL were successfully tested.

Integration testing :

Integration testing focuses on unit tested modules and build the program structure that
is dictated by the design phase.

System testing:

System testing tests the integration of each module in the system. It also tests to find
discrepancies between the system and it’s original objective, current specification and system
documentation. The primary concern is the compatibility of individual modules. Entire system
is working properly or not will be tested here, and specified path ODBC connection will
correct or not, and giving output or not are tested here these verifications and validations are
done by giving input values to the system and by comparing with expected output. Top-down
testing implementing here.

Acceptance Testing:

This testing is done to verify the readiness of the system for the implementation. Acceptance
testing begins when the system is complete. Its purpose is to provide the end user with the

93
SAM TECHNOLOGIES Inventory Management System

confidence that the system is ready for use. It involves planning and execution of functional
tests, performance tests and stress tests in order to demonstrate that the implemented system
satisfies its requirements.

Tools to special importance during acceptance testing include:

Test coverage Analyzer – records the control paths followed for each test case.

Timing Analyzer – also called a profiler, reports the time spent in various regions of the code
are areas to concentrate on to improve system performance.

Coding standards – static analyzers and standard checkers are used to inspect code for
deviations from standards and guidelines.

Test Cases:

Test cases are derived to ensure that all statements in the program have been executed at
least once during testing and that all logical conditions have been executed.
Using White-Box testing methods, the software engineer can drive test cases that
 Guarantee that logical decisions on their true and false sides.
 Exercise all logical decisions on their true and false sides.
 Execute all loops at their boundaries and with in their operational bounds.
 Exercise internal data structure to assure their validity.
The test case specification for system testing has to be submitted for review before system
testing commences.

94
SAM TECHNOLOGIES Inventory Management System

95
SAM TECHNOLOGIES Inventory Management System

Login page.

96
SAM TECHNOLOGIES Inventory Management System

Admin entered successfully

97
SAM TECHNOLOGIES Inventory Management System

Admin can add employee.

98
SAM TECHNOLOGIES Inventory Management System

Employee added successfully.

99
SAM TECHNOLOGIES Inventory Management System

Change an item price.

100
SAM TECHNOLOGIES Inventory Management System

Admin changed the item price.

101
SAM TECHNOLOGIES Inventory Management System

Admin entered a new category.

102
SAM TECHNOLOGIES Inventory Management System

Category added successfully.

103
SAM TECHNOLOGIES Inventory Management System

104
SAM TECHNOLOGIES Inventory Management System

The sales manager entered the system.

105
SAM TECHNOLOGIES Inventory Management System

Sales manager generated the daily report.

106
SAM TECHNOLOGIES Inventory Management System

Bills per day.

107
SAM TECHNOLOGIES Inventory Management System

Inventary manager login.

108
SAM TECHNOLOGIES Inventory Management System

Inventary manager logged in successfully.

109
SAM TECHNOLOGIES Inventory Management System

To change status of inventary.

110
SAM TECHNOLOGIES Inventory Management System

add the item quantity.

111
SAM TECHNOLOGIES Inventory Management System

Item quantity updated.

112
SAM TECHNOLOGIES Inventory Management System

generate reports depending on category.

113
SAM TECHNOLOGIES Inventory Management System

The report generated

114
SAM TECHNOLOGIES Inventory Management System

Graphs generated successfully.

115
SAM TECHNOLOGIES Inventory Management System

CONCLUSION:

116
SAM TECHNOLOGIES Inventory Management System

The package was designed in such a way that future modifications can be
done easily. The following conclusions can be deduced from the development of
the project.

 Automation of the entire system improves the efficiency


 It provides a friendly graphical user interface which proves to be better when
compared to the existing system.
 It gives appropriate access to the authorized users depending on their
permissions.
 It effectively overcomes the delay in communications.
 Updating of information becomes so easier.
 System security, data security and reliability are the striking features.
 The System has adequate scope for modification in future if it is necessary.

117
SAM TECHNOLOGIES Inventory Management System

118
SAM TECHNOLOGIES Inventory Management System

FUTURE ENHANCEMENTS:

This application avoids the manual work and the problems concern with it. It is an
easy way to get the grievances from citizens related to different regions.

Well I and my team members have worked hard in order to present an improved
website better than the existing one’s regarding Grievance Handling System. Still, we can
enhance our project as till now supervisor did not involve externally, but the operator update
the status based on the information given by the supervisor. So we can add Supervisor field.
The next enhancement is that based on the user feedback, if the user suggest particular
requirement that can add to our project. They are the two enhancements that we could think of
at present.

119
SAM TECHNOLOGIES Inventory Management System

BIBLIOGRAPHY

120
SAM TECHNOLOGIES Inventory Management System

The following books were referred during the analysis and execution phase of the
project

ORACLE 8I THE COMPLETE REFERENCE


By Oracle Press

SOFTWARE ENGINEERING
By Roger S. Pressman

UNIFIED MODELING LANGUAGE


By Gradi Booch,Ivar Jacobson,
James Rambaugh

COMPLETE REFERENCE JAVA


By Herbert Schildt

MSDN 2003
By Microsoft

IMAGES
Google Search

HTML PUBLISHING BIBLE


- Alan Simpson.

JAVA NETWORK PROGRAMMING


- RustyHarod.

WEBSITES:
www.google.com

121

Вам также может понравиться