You are on page 1of 102

INTRODUCTION

Almost a century ago a spate ushered in the first industrial


revolution. Within a short span of time many countries became
industrialized. Now, we have gone through another industrial
revolution. The major cause being the invention of computers. Man
has invented many electronic devices but the computer has made a
greater impact on our society than any other single electronic device.
They are so versatile that they have become indispensable to
engineers, managers, administrators, accountants, teachers and
students. They have strengthened mans power in numerical
computations and information processing and there by have
increased the effectiveness of organizations.

In todays competitive environment, the business organizations


must have financial information i.e.

Timely that is current.


Accurate
Easily accessible
In the appropriate form for use.

A well-conceived and well-run automatic accounting system provides


information that meets these requirements at the best level. The

1
explosion of financial data has brought organizational managers to
recognize that only computerized system can produce results which
meet all the above four criteria. The basic reason is that the speed
accuracy of the computer provides rapid classification and
manipulation back volumes of data.

2
SYSTEM
ANALYSIS &
DESIGN

3
SYSTEM ANALYSIS AND DESIGN
Defining A System

Collections of components, which are interconnected, and work together to


realize some objective, form a system. There are three major components in
every system, namely input, processing and output.

Input Output

Processing

Systems Life Cycle

The sequencing of various activities required for developing and maintaining


systems in an ordered form is referred as Systems Life Cycle. It helps in
establishing a system project plan as it gives overall list of process and sub-
processes required for developing any system. Here, the systems life cycle
will be discussed with reference to the development of Employee
Management System.

Broadly, following are the different activities to be considered while


defining the systems development cycle for the said project:

Problem Definition

Systems analysis

Drawbacks of the existing system

Systems Requirement study

4
Data flow analysis

Feasibility study

Systems design

Input Design (Database & Forms)

Updating

Query /Report Design

Testing

Implementation

Maintenance

SYSTEM ANAYSIS

The main purpose of conducting system analysis is to


study the various process of the system and to find out its
requirements. These may include ways of capturing or
processing data ,processing information, controlling a
business activity. The determination of requirement entails
studying the existing system and collecting details about to
find out what thee requirements are.

Since system Analyst do not work as managers or


employees in user departments, they do not have the same
base of facts & details as the managers and users in those

5
areas. Hence an early step in the analysts investigation is to
understand the situation .Certain types of requirements are so
fundamental as to be common in most situations.

It is useful to view requirements determination through the


three major activities of requirement.
REQUIREMENT ANTICIPATION
REQUIREMENT INVESTIGATION
REQUIREMENT SPECIFICATION
Basic Requirements:
What is the basic process?
What data are used or produced during the
process?
What are the limits imposed by time and volume
of work ?
What performance controls are used ?

BASIC PROCESS:
ACCOUNT MAINTAINANCE
NEW ACCOUNT
MODIFY ACCOUNT
CLOSE ACCOUNT

6
TRANSACTIONS
Daily Transactions.
REPORT GENERATION
List of account.
Pass book of account.
Monthly report of account.

7
FEASIBILITY
STUDY

FEASIBILITY STUDY

After defining the problem the next step is to determine


exactly what the candidate system is to do by defining its
expected performance. Thus a feasibility study is carried out
to select the best system that meets performance requirement.

OBJECTIVE OF THE FEASIBILITY STUDY

8
Is there a new and a better way to do the job that will
benefit the user ?
What are the costs & savings of the alternatives?
What is recommended?

TYPES OF FEASIBILITY

ECONOMIC FEASIBILITY:

Economic analysis is the most frequent method


used for evaluating the effectiveness of a candidate
system. More commonly known as cost/benefit
analysis, the procedure is to determine the benefits and
saving that are expected from a candidate system and
compare them with costs.
If benefits outweigh cost, then a decision is made to
design and implement the system. Otherwise further
justification or alterations in the proposed system will
have to be made if it is to have a chance of being
approved. This is an ongoing effort that improves in
accuracy at each phase of the system life cycle.

9
TECHNICAL FEASIBILITY:

Technical feasibility centers around the existing


computer system (hardware, software etc.) and to what
extent it can support the proposed addition. It involves
financial considerations to accommodate technical
enhancements. If the budget is a serious constraint then
the project is judged not feasible.

BEHAVIORAL FEASIBILITY:

People are inherently resistant to change and


computers have been known to facilitate change. An
estimate should be made of how strong a reaction the
user staff is likely to have toward the development of a
computerized system. It is common knowledge that
computer installations have something to do with
turnover, transfers, retraining and change in employee
job status.

BENEFITS

10
Orderly and efficient manipulation of customer
accounts.
Efficient modification updating of user accounts.
Enough constraints have been added to maintain data
validity and consistency.
Quick and easy report generation for pass books w.r.t
entries up to a particular date.
You can easily print or save the generated report for
future reference.
Easy access to data being saved in individual costumer
file.
Easy querying about the status of the account.
Easy closing of a particular account without any
inconsistency in the saved data.

FEASIBILITY ANALYSIS

Form a project team and appoint a project leader.


Prepare system flowcharts.
Enumerate potential candidate system.

11
Describe and identify characteristics of candidate
systems.
Determine and evaluate performance and cost
effectiveness of each candidate system.
Weight system performance and cost data.
Select the best candidate system.
Prepare and report final project directive to
management.

12
SOFTWARE
ENGINEERING
TOOL

SYSTEM DEVELOPMENT LIFE CYCLE

To understand system development, we need to


recognize that a candidate system has a life cycle, just like a

13
living system or a new product. System analysis and design
are keyed to system life cycle. The stages are shown below.
Recognition of need
Feasibility study
Analysis
Design
Implementation

Linear sequential model for system development

The linear sequential model is often known as classical life


cycle or water fall model. It encompasses all the activity
shown above. An activity starts only when the previous
activities has been completed.

The conventional model of waterfall or linear sequence has


few problems. Theoretically, it is the best model for the
development but it has some practical problems. Often , a
customer defines a set of objectives for the system but he
doesnt identify detailed input, processing & output
requirement.

14
Secondly the system development life cycle takes too long.
Analyst seem to get bogged down with tedious
methodologies for developing system.
In these situation where the requirements of the user are not
clear prototyping model may offer best approach.

15
MODEL USED
FOR
SYSTEM
DEVELOPMENT

PROTOTYPING MODEL FOR SYSTEM


DEVELOPMENT

16
Prototyping model is an advanced technique. Prototyping
recognizes problems of cognitive style and uses advanced
computer technology. It advocates building a simple system
through trial and error and refining it through an iterative
process.
The basic steps are:
1 Identify the users information and operating
requirements.
2 Develop a working prototype that focuses on only the
most important function, using a basic data base.
3 Allow the user to use the prototype, discuss requested
changes and implement the most important changes.
4 Repeat the next version of the prototype with further
changes incorporated until the system fully meets user
requirements.

Identify user Analyze prototype Implement


requirement Input, processing, Prototype
Output

17
Revised through

Iterative process

Maintenance Post Final


implementation conversion

Prototyping and advanced system development techniques


have been successful in wide variety of applications. The
benefits include shorter development time, more accurate
user requirements and greater user participation and support.

18
DFD & Data
Dictionary

DFD & DATA DICTIONARY

19
One of the tools of Structured Analysis is the Data Flow Diagram. A
Data Flow Diagram is a graphic documentation of a system. Data
Flow Diagrams server two purposes :

Provide a graphic tool which can be used by the analyst to explain


his understanding of the system to the user.

Can be readily converted into a structure chart which is used in


design.

Data Flow Diagram Elements :

A Data Flow Diagram only shows the flow of data and not the
physical movement of goods. A Data Flow Diagram needs to be
simple because a user to go through it, understand it and suggestion
corrections or changes. A Data Flow Diagram uses only four basic
elements.

1. External Entity It is a source and/or destination of data, it


is represented by a square Account Holder in our proposed
system

20
2. Data Flow : A Data flow portrays an interface among
different components in a Data Flow Diagram, it represents
the path of data as it flows through a system. It is
represented by an arrow, the arrow head points in the
direction in which the data moves. The name of the data flow
is written along the line. In our system it is Payment, Valid-
payment, Deposit, Valid-Deposit.

3. Process : A process represents some amount of work being


performed on data. A process does any transformation of
data from one form to another. A circle represents a process.
The area of the circle is divided into two parts. The process
number is written in the top portion. In our system it is verify
deposit/withdrawal and update account information.

4. Data Store : It is a logical requirement for the data to be


stored, it is held in a data store. A data store, therefore, is a
repository of data. It is represented by a open ended
rectangle. Each data store, like a process, is identified by a
number and a name. In our system it is self.dat, trans.dat
and temp.dat

In our system the amount deposited at the bank is credited to the


holders account. When the depositor withdraws an amount, it has
to be debited in the account. The balance amount for each
account, between different transactions of deposits and
withdrawals, is kept in a data store.

21
Whenever an account holder wants to withdraw some cash he
presents a cheque or withdrawal slip. The account is chequed for
the requisite balance. If the necessary balance exists, the cash is
paid and the account is updated. The account holders pass book
is updated, indicating the withdrawal. The direction of arrows
leading to or from a data store is significant. The arrow point
towards the data store means that account is being updated into a
data store. While the arrow pointing away from the data store
indicates that the data is being read.

Withdrawal Acknowledgement

Enter
Amount
Valid Withdrawn
Balance
C
Cheque Verify
Account Balance
Holder

Account Master

Figure show a Data Flow Diagram for withdrawal of amount in Saving


Bank Account

22
Data Dictionary :

A Data Dictionary is a special kind of dictionary. It contains all the


information about the data of a system. It forms an integral part of
structured specification. There is an entry in the Data Dictionary for
every element of a Data Flow Diagram. In a Data Dictionary, data
flows and data stores are described in terms of data elements and
data structures.

The Data Dictionary is an integral part of the structured specification.


Without it, Data Flow Diagrams are just pretty figures that give some
idea of what is going on in a system. It is only when each and every
element of DFD has been rigorously defined, that the whole can
constitute a Specification. This set of rigorous definitions of all DFD
elements is the Data Dictionary.

In our project the data store would contain details regarding holder of
account no like name of the account holder, his or her address and
the initial amount he or she deposits while opening the account.

Data Element : A data element is the smallest unit of data that is


meaningful. With respect to out case name, address, introducing
person and initial deposit are the data elements.

23
DATA FLOW DIAGRAMS
A Data flow diagram is a way of expressing system
requirements in graphical form. It is also known as a bubble
chart which has the purpose of clarifying system
requirements and identifying major transformations that will
become program in system design.

A DFD consists of series of bubbles joined by lines. The


bubble represents data transformations and line represents
data flows in the system. The DFD is a representation of
various process and the input and output in each process.
Further it also represents the various data.

Source

24
Process1 Destination

Process2 Data store

SYMBOLS USED IN DFD

A Square defines a source or destination of system data .


An arrow defines data flow-data in motion .It is a pipeline
though which information flows.
A circle (a bubble) or an oval represents process that
transforms incoming data flow(s) to out going data flow(s).
An open rectangle is a data store-data at rest or a temporary
repository of data.

1. Data Flow

25
2 Process

3. Source or Destination

4. Data Store

Data Structure : Data structures are made up of data elements, data


structures or a mixture of both. Account No. is a data structure. This
data structure is made up of three data elements (Name, Address,
Introducing_Person and Initial_Deposit.

26
ACCOUNT-NO Data Structure
Name
Address
Introducing_Person Data Elements
Initial_Deposit

Data Dictionary

27
FLOW CHART
FLOW CHARTS

Flowcharts are used to create visual maps of a process. They can


help identify pr

ocesses that need improvement in general, as well as specific steps


to improve within the process, or "hot spots." A good flowchart should
show all process steps under analysis by the quality improvement
team, identify critical process points for control, suggest areas for
further improvement and help explain and solve a problem.

Creating flow charts

When creating a flow chart, it is important that we map the process as


accurately as possible. This means getting input from everyone
involved in that process.

Types of flowcharts

There are two types of flow charts that are most commonly used in
quality improvement projects - macro and deployment.

Macro Flowcharts provide a high-level perspective on a process.


They are simply the steps in a process connected in a linear fashion.

28
They can be used to provide a quick representation of a process and
to compare several processes to identify improvement areas

Deployment Flowcharts are a next level of detail after macro


flowcharts. The main differece in deployment charts is that they
assign steps of a process to the individual who perfroms them.
A
Begin by making
Start a column for each member of the process. Assign
tasks to that member as necessary. Try to make each step into an
action phrase that completes a sentence beginning with the actor as
Main Menu
New Account
the subject
List of Accounts
Individual Account
Deposit/Withdrawal
Monthly Report
Edit Account
Exit

Yes
Choice = =1 N

Yes
Choice = =2 L

No
Yes
Choice = =3 I

No
Yes
Choice = =4 D

No
Yes
Choice = =5 M

No
Yes
Main menu Choice = =E E

No
29
Stop
I
Individual Accounts

Input Account No.

If Yes
t_accno= t_acc A

No

No
A If!found_account
(t_accno)

Yes

Box_for_
display(t_accno)

open self.dat

Read file

Yes
want=wamt+amount
tamt=tamt+amount return
If tran==D

No
Yes
want=wamt+amount close self.dat
tamt=tamt-amount If tran==W

Display Accunt No, Date


Yes Particulars, Deposit,
Withdrawal,Balance
Is eof
No
30
Deposit/WithdrawalTransaction

D
Deposit/Withdrawal

Input Account No.

If Yes
t_accno= 0 A
A

No

No
Account No. If!found_account
Not Found (t_accno)

Yes
Return_name(t_accno)
Return_address(t_acc_no)
give_balance(t_accno)

Deposit or
Withdraw

Yes
A If t_tran= =0

No
Enter by Cash
I or Cheque

If t_type= =cash ||
t_type= =cheque

Enter Amount

31 J
Deposit/Withdrawal Transaction contd

If Yes
t_amount== 0 A

No
I
t_amount=0
Invalid Data

If Yes
t_tran== W &&
t_amount>t_balance

No

Save transaction

If No A
ch == y
Yes

Calculate_interest()

If
t_tran== D
Yes

No
t_balance=t_balance
+ t_amount

If
t_tran== W

Yes
t_balance=t_balance
- t_amount

Update_balance()
add_to_file()

32
Return
FRONT AND BACKENED

33
FRONT & BACKENED USED
JAVA

Java (with a capital J) is a high-level, third generation programming


language, like C, Fortran, Smalltalk, Perl, and many others. You can use
Java to write computer applications that crunch numbers, process words,
play games, store data or do any of the thousands of other things computer
software can do.

Compared to other programming languages, Java is most similar to C.


However although Java shares much of C's syntax, it is not C. Knowing how
to program in C or, better yet, C++, will certainly help you to learn Java.
Unlike C++ Java is not a superset of C. A Java compiler won't compile C
code, and most large C programs need to be changed substantially before
they can become Java programs.

What's most special about Java in relation to other programming languages


is that it lets you write special programs called applets that can be
downloaded from the Internet and played safely within a web browser.
Traditional computer programs have far too much access to your system to
be downloaded and executed willy-nilly. Although you generally trust the
maintainers of various ftp archives and bulletin boards to do basic virus
checking and not to post destructive software, a lot still slips through the
cracks. Even more dangerous software would be promulgated if any web
page you visited could run programs on your system. You have no way of

34
checking these programs for bugs or for out-and-out malicious behavior
before downloading and running them.

Java solves this problem by severely restricting what an applet can do. A
Java applet cannot write to your hard disk without your permission. It cannot
write to arbitrary addresses in memory and thereby introduce a virus into
your computer. It should not crash your system.

JAVA IS PLATFORM

Java is a platform for application development. A platform is a loosely


defined computer industry buzzword that typically means some combination
of hardware and system software that will mostly run all the same software.
For instance PowerMacs running Mac OS 9.2 would be one platform. DEC
Alphas running Windows NT would be another.

There's another problem with distributing executable programs from web


pages. Computer programs are very closely tied to the specific hardware and
operating system they run. A Windows program will not run on a computer
that only runs DOS. A Mac application can't run on a Unix workstation.
VMS code can't be executed on an IBM mainframe, and so on. Therefore
major commercial applications like Microsoft Word or Netscape have to be
written almost independently for all the different platforms they run on.
Netscape is one of the most cross-platform of major applications, and it still
only runs on a minority of platforms.

35
Java solves the problem of platform-independence by using byte code. The
Java compiler does not produce native executable code for a particular
machine like a C compiler would. Instead it produces a special format called

JAVA IS SIMPLE:

Java was designed to make it much easier to write bug free code. According
to Sun's Bill Joy, shipping C code has, on average, one bug per 55 lines of
code. The most important part of helping programmers write bug-free code
is keeping the language simple.

Java has the bare bones functionality needed to implement its rich feature
set. It does not add lots of syntactic sugar or unnecessary features. Despite
its simplicity Java has considerably more functionality than C, primarily
because of the large class library.

Because Java is simple, it is easy to read and write. Obfuscated Java isn't
nearly as common as obfuscated C. There aren't a lot of special cases or
tricks that will confuse beginners.

About half of the bugs in C and C++ programs are related to memory
allocation and deallocation. Therefore the second important addition Java
makes to providing bug-free code is automatic memory allocation and
deallocation. The C library memory allocation functions malloc() and free()
are gone as are C++'s destructors.

36
Java is an excellent teaching language, and an excellent choice with which to
learn programming. The language is small so it's easy to become fluent. The
language is interpreted so the compile-run-link cycle is much shorter. The
runtime environment provides automatic memory allocation and garbage
collection so there's less for the programmer to think about. Java is object-
oriented unlike Basic so the beginning programmer doesn't have to unlearn
bad programming habits when moving into real world projects. Finally, it's
very difficult (if not quite impossible) to write a Java program that will crash
your system, something that you can't say about any other language.

JAVA IS OBJECT-ORIENTED:

Object oriented programming is the catch phrase of computer programming


in the 1990's. Although object oriented programming has been around in one
form or another since the Simula language was invented in the 1960's, it's
really begun to take hold in modern GUI environments like Windows, Motif
and the Mac. In object-oriented programs data is represented by objects.
Objects have two sections, fields (instance variables) and methods. Fields
tell you what an object is. Methods tell you what an object does. These fields
and methods are closely tied to the object's real world characteristics and
behavior. When a program is run messages are passed back and forth
between objects. When an object receives a message it responds accordingly
as defined by its methods.

Object oriented programming is alleged to have a number of advantages


including:

37
Simpler, easier to read programs
More efficient reuse of code
Faster time to market

More robust, error-free code

JAVA IS PLATFORM INDEPENDENT:

Java was designed to not only be cross-platform in source form like C, but
also in compiled binary form. Since this is frankly impossible across
processor architectures Java is compiled to an intermediate form called byte-
code. A Java program never really executes natively on the host machine.
Rather a special native program called the Java interpreter reads the byte
code and executes the corresponding native machine instructions. Thus to
port Java programs to a new platform all that is needed is to port the
interpreter and some of the library routines. Even the compiler is written in
Java. The byte codes are precisely defined, and remain the same on all
platforms.

The second important part of making Java cross-platform is the elimination


of undefined or architecture dependent constructs. Integers are always four
bytes long, and floating point variables follow the IEEE 754 standard for
computer arithmetic exactly. You don't have to worry that the meaning of an
integer is going to change if you move from a Pentium to a PowerPC. In
Java everything is guaranteed.

38
However the virtual machine itself and some parts of the class library must
be written in native code. These are not always as easy or as quick to port as
pure Java programs.

HTML
HYPERTEXT MARKUP LANGUAGE

HTML, an initialism of HyperText Markup Language, is the predominant


markup language for Web pages. It provides a means to describe the
structure of text-based information in a document by denoting certain text
as links, headings, paragraphs, lists, and so on and to supplement that text
with interactive forms, embedded images, and other objects. HTML is
written in the form of tags, surrounded by angle brackets. HTML can also
describe, to some degree, the appearance and semantics of a document, and
can include embedded scripting language code (such as JavaScript) which
can affect the behavior of Web browsers and other HTML processors.

HTML Tags, an informal CERN document listing twelve HTML tags,


was first mentioned in public. The list was updated in November
1992. July 1993

39
Hypertext Markup Language] was published by the IETF as an
Internet-Draft (a rough proposal for a standard). It expired in January
1994.
November 1993
HTML was published by the IETF as an Internet-Draft and was a
competing proposal to the Hypertext Markup Language draft. It
expired in May 1994.
April 1995 (authored March 1995)

HTML 3.0 was proposed as a standard to the IETF, but the proposal expired
five months later without further action. It included many of the capabilities
that were in Raggett's HTML+ proposal, such as support for tables, text flow
around figures, and the display of complex mathematical formulas.

EDIT HTML LANGUAGE:

HTML markup consists of several key components, including elements (and


their attributes), character-based data types, and character references and
entity references. Another important component is the document type
declaration.

[edit] Elements
See HTML elements for more detailed descriptions.
Elements are the basic structure for HTML markup. Elements have
two basic properties: attributes and content. Each attribute and each
element's content has certain restrictions that must be followed for an
HTML document to be considered valid. An element usually has a
start tag (e.g. the designation class="notation" to indicate that all

40
elements with this class value are subordinate to the main text of the
document. Such elements might be gathered together and presented as
footnotes on a page instead of appearing in the place where they occur
in the HTML source.

An author may use the style non-attributal codes presentational


properties to a particular element. It is considered better practice to
use an elements son- id page and select the element with a stylesheet,
though sometimes this can be too cumbersome for a simple ad hoc
application of styled properties.

The title attribute is used to attach subtextual explanation to an


element. In most browsers this attribute is displayed as what is often
referred to as a tooltip.

Most elements also take the language-related attributes lang and dir.

[edit] Character and entity references


See also: List of XML and HTML character entity references

As of version 4.0, HTML defines a set of 252 character entity references and
a set of 1,114,050 numeric character references, both of which allow
individual characters to be written via simple markup, rather than literally. A
literal character and its markup counterpart are considered equivalent and
are rendered identically.

The ability to "escape" characters in this way allows for the characters < and
& (when written as &lt; and &amp;, respectively) to be interpreted as
character data, rather than markup. For example, a literal < normally

41
indicates the start of a tag, and & normally indicates the start of a character
entity reference or numeric character reference; writing it as &amp; or &#x26;
or &#38; allows & to be included in the content of elements or the values of
attributes. The double-quote character ("), when used to quote an attribute
value, must also be escaped as &quot; or &#x22; or &#34; when it appears
within the attribute value itself. The single-quote character ( '), when used to
quote an attribute value, must also be escaped as &#x27; or &#39; (should
NOT be escaped as &apos; except in XHTML documents) when it appears
within the attribute value itself. However, since document authors often
overlook the need to escape these characters, browsers tend to be very
forgiving, treating them as markup only when subsequent text appears to
confirm that intent.

Escaping also allows for characters that are not easily typed or that aren't
even available in the document's character encoding to be represented within
the element and attribute content. For example, the acute-accented e (), a
character typically found only on Western European keyboards, can be
written in any HTML document as the entity reference &eacute; or as the
numeric references &#233; or &#xE9;. The characters comprising those
references (that is, the &, the ;, the letters in eacute, and so on) are available
on all keyboards and are supported in all character encodings, whereas the
literal is not.

[edit] Data types

HTML defines several data types for element content, such as script data and
stylesheet data, and a plethora of types for attribute values, including IDs,
names, URIs, numbers, units of length, languages, media descriptors, colors,

42
character encodings, dates and times, and so on. All of these data types are
specializations of character data.

[edit] The Document Type Declaration

HTML documents are required to start with a Document Type Declaration


(informally, a doctype). In browsers, the function of the doctype is
selecting the rendering modeparticularly to avoid the quirks mode.

The original purpose of the doctype is to enable validation based on


Document Type Definition (DTD) with SGML tools. The DTD to which the
DOCTYPE refers contains machine-readable grammar specifying the
permitted and prohibited content for a document conforming to such a DTD.
Browsers do not read the DTD, however. validation is not DTD-based, so in
HTML5 the doctype does not refer to a DTD.

This declaration references the Strict DTD of HTML 4.01, which does not
have presentational elements like <font>, leaving formatting to Cascading
Style Sheets and the span and div tags. SGML-based validators read the
DTD in order to properly parse the document and to perform validation. In
modern browsers, the HTML 4.01 Strict doctype activates standards layout
mode for CSS as opposed to quirks mode.

In addition, HTML 4.01 provides Transitional and Frameset DTDs. The


Transitional DTD was intended to gradually phase in the changes made in
the Strict DTD, while the Frameset DTD was intended for those documents
which contained frames.

43
EDIT SEMANTIC LANGUAGE: There is no official specification
called "Semantic HTML", though the strict flavors of HTML discussed
below are a push in that direction. Rather, semantic HTML refers to an
objective and a practice to create documents with HTML that contain only
the author's intended meaning, without any reference to how this meaning is
presented or conveyed - the doctrine of separation of presentation and
content. A classic example is the distinction between the emphasis element
(<em>) and the italics element (<i>). Often the emphasis element is displayed
in italics, so the presentation is typically the same. However, emphasizing
something is different from listing the title of a book, for example, which
may also be displayed in italics. In purely semantic HTML, a book title
would use a different element than emphasized text uses (for example a
<span>), because they are meaningfully different things.

The goal of semantic HTML requires two things of authors:

1. To avoid the use of presentational markup (elements, attributes, and


other entities).
2. To use available markup to differentiate the meanings of phrases and
structure in the document. So for example, the book title from above
would need to have its own element and class specified, such as <cite

class="booktitle">The Grapes of Wrath</cite>. Here, the <cite>

element is used because it most closely matches the meaning of this


phrase in the text. However, the <cite> element is not specific enough
to this task, since we mean to cite specifically a book title as opposed
to a newspaper article or an academic journal.

44
Semantic HTML also requires complementary specifications and software
compliance with these specifications. Primarily, the development and
proliferation of CSS has led to increasing support for semantic HTML,
because CSS provides designers with a rich language to alter the
presentation of semantic-only documents. With the development of CSS, the
need to include presentational properties in a document has virtually
disappeared. With the advent and refinement of CSS and the increasing
support for it in Web browsers, subsequent editions of HTML increasingly
stress only using markup that suggests the semantic structure and phrasing
of the document, like headings, paragraphs, quotes, and lists, instead of
using markup which is written for visual purposes only, like <font>, <b>

(bold), and <i> (italics). Some of these elements are not permitted in certain
varieties of HTML, like HTML 4.01 Strict. CSS provides a way to separate
document semantics from the content's presentation, by keeping everything
relevant to presentation defined in a CSS file. See separation of style and
content.

Semantic HTML offers many advantages. First, it ensures consistency in


style across elements that have the same meaning. Every heading, every
quotation, every similar element receives the same presentation properties.

Second, semantic HTML frees authors from the need to concern themselves
with presentation details. When writing the number two, for example, should
it be written out in words ("two"), or should it be written as a numeral (2)? A
semantic markup might enter something like <number>2</number> and
leave presentation details to the stylesheet designers. Similarly, an author
might wonder where to break out quotations into separate indented blocks of
text: with purely semantic HTML, such details would be left up to stylesheet

45
designers. Authors would simply indicate quotations when they occur in the
text, and not concern themselves with presentation.

A third advantage is device independence and repurposing of documents. A


semantic HTML document can be paired with any number of stylesheets to
provide output to computer screens (through Web browsers), high-resolution
printers, handheld devices, aural browsers or braille devices for those with
visual impairments, and so on. To accomplish this, nothing needs to be
changed in a well-coded semantic HTML document. Readily available
stylesheets make this a simple matter of pairing a semantic HTML document
with the appropriate stylesheets. (Of course, the stylesheet's selectors need to
match the appropriate properties in the HTML document.)

Some aspects of authoring documents make separating semantics from style


(in other words, meaning from presentation) difficult. Some elements are
hybrids, using presentation in their very meaning. For example, a table
displays content in a tabular form. Often such content conveys the meaning
only when presented in this way. Repurposing a table for an aural device
typically involves somehow presenting the table as an inherently visual
element in an audible form. On the other hand, we frequently present lyrical
songssomething inherently meant for audible presentationand instead
present them in textual form on a Web page. For these types of elements, the
meaning is not so easily separated from their presentation. However, for a
great many of the elements used and meanings conveyed in HTML, the
translation is relatively smooth.

46
EDIT DELIVERY OF HTML:

HTML documents can be delivered by the same means as any other


computer file; however, they are most often delivered in one of two forms:
over HTTP servers and through e-mail.

[edit] HTTP

The World Wide Web is composed primarily of HTML documents


transmitted from a Web server to a Web browser using the Hypertext
Transfer Protocol (HTTP). However, HTTP can be used to serve images,
sound, and other content in addition to HTML. To allow the Web browser to
know how to handle the document it received, an indication of the file
format of the document must be transmitted along with the document. This
vital metadata includes the MIME type (text/html for HTML 4.01 and
earlier, application/xhtml+xml for XHTML 1.0 and later) and the character
encoding (see Character encodings in HTML).

In modern browsers, the MIME type that is sent with the HTML document
affects how the document is interpreted. A document sent with an XHTML
MIME type, or served as application/xhtml+xml, is expected to be well-
formed XML, and a syntax error causes the browser to fail to render the
document. The same document sent with an HTML MIME type, or served
as text/html, might be displayed successfully, since Web browsers are more

47
lenient with HTML. However, XHTML parsed in this way is not considered
either proper XHTML or HTML, but so-called tag soup.

If the MIME type is not recognized as HTML, the Web browser should not
attempt to render the document as HTML, even if the document is prefaced
with a correct Document Type Declaration. Nevertheless, some Web
browsers do examine the contents or URL of the document and attempt to
infer the file type, despite this being forbidden by the HTTP 1.1
specification.

[edit] HTML e-mail

Most graphical e-mail clients allow the use of a subset of HTML (often ill-
defined) to provide formatting and semantic markup capabilities not
available with plain text, like emphasized text, block quotations for replies,
and diagrams or mathematical formulas that could not easily be described
otherwise. Many of these clients include both a GUI editor for composing
HTML e-mail messages and a rendering engine for displaying received
HTML messages. Use of HTML in e-mail is controversial because of
compatibility issues, because it can be used in phishing/privacy attacks,
because it can confuse spam filters, and because the message size is larger
than plain text.

[edit] Naming conventions

The most common filename extension for files containing HTML is .html. A
common abbreviation of this is .htm; it originates from older operating
systems and file systems, such as the DOS versions from the 80s and early
90s and FAT, which limit file extensions to three lette

48
MICROSOFT ACCESS
Access version 1.0 was released in November 1992, followed in May of
1993 by an Access 1.1 release to improve compatibility with other Microsoft
products.

Microsoft specified the minimum operating system for Version 2.0 as


Microsoft Windows v3.0 with 4 MB of RAM. 6 MB RAM was
recommended along with a minimum of 8 MB of available hard disk space
(14 MB hard disk space recommended). The product was shipped on seven
1.44 MB diskettes. The manual shows a 1993 copyright date.

The software worked well with small recordsets but testing showed some
circumstances caused data corruption. For example, file sizes over 10 MB
were problematic (note that most hard disks were smaller than 500 MB at
the time this was in wide use). The Getting Started manual warns about a
number of circumstances where obsolete device drivers or incorrect
configurations can cause data loss. However, in recent years with the
phasing out of Windows 95, 98 and ME, improved network reliability and
Microsoft having released eight service packs for the Jet Database Engine,
the reliablity of Access databases has been vastly improved.

49
Access's initial codename was Cirrus; the forms engine was called Ruby.
This was before Visual Basic - Bill Gates saw the prototypes and decided
that the BASIC language component should be co-developed as a separate
expandable application, a project called Thunder. The two projects were
developed separately as the underlying forms engines were incompatible
with each other; however, these were merged together again after VBA.

[edit] Uses

Microsoft has strongly recommended for the past decade that Jet databases
are inappropriate for basic web based applications hosted on Microsoft's
Internet Information Services and utilizing Microsoft Active Server Pages
ASP.

Some professional application developers use Access for rapid application


development, especially for the creation of prototypes and standalone
applications that serve as tools for on-the-road salespeople.

Access applications do not scale well if data access is via a network,


however by moving an Access application to a an Application Server such as
Microsoft Terminal Services the number of users that can be supported is
substantially increased. Moving to an Application Server also has the benefit
of allowing database use over a Wide Area Network.

Applications that are used by more than a handful of people tend to rely on
Client-Server based solutions. However, an Access "front end" (the forms,
reports, queries and VB code) can be used against a host of database
backends, including JET (file-based database engine, used in Access by

50
default), Microsoft SQL Server, Oracle, and all other ODBC-compliant
product.

In addition to traditional ODBC methods, Access also offers "Access Data


Projects" for accessing SQL Server data, which provides a number of
advantages over linked tables. Unfortunately, there are also several bugs
with the technology, and after years of promoting it, Microsoft now appears
to be downplaying its use.

[edit] Features

One of the benefits of Access from a programmer's perspective is its relative


compatibility with SQL (structured query language) queries can be
viewed graphically or edited as SQL statements, and SQL statements can be
used directly in Macros and VBA Modules to manipulate Access tables.
Users can mix and use both VBA and "Macros" for programming forms and
logic and offers object-oriented possibilities.

MSDE (Microsoft SQL Server Desktop Engine) 2000, a scaled down


version of Microsoft SQL Server 2000, has been a free download for a
decade and may be used with Access as an alternative to the Jet Database
Engine.

Unlike other RDBMS, Microsoft Access does not implement database


triggers or stored procedures.

Starting in Access 2000 (Jet 4.0), there is a new syntax for creating queries
with parameters, in a way that looks like creating stored procedures, but
these procedures are still limited to one statement per procedure.

51
In ADP files (supported in Access 2000 and later), the database-related
features are geared more towards a client-server architecture with MSDE or

52
Project Analysis

53
PROJECT ANALYSIS

With the rapid growth of industrialization, development activities both


in rural and urban areas it is a need for computerization of Indian
banks. Banks can be the large organizations to invest heavily in
computing. In banks a large but manageable amount of book-keeping
is done manually, but such has been the expansion in banking that a
huge labor force would be needed to tackle todays massive volume
of book-keeping. The computerization is by far the efficient and
necessary means to tackle this issue.

The problems faced with the manual system are numerous :

1. First of all is the opening of the new account where bank clerk
have to look in his register the last account no. given to the
individual which consumes a lot of time. Second is the problem
of duplicate account no, if by mistake he gives same account to
the person which has already been given, then he faces a lot of
problem once the transactions takes place and it can land into
mess.

2. The bank authorities have to maintain two or more registers


one for the accounts and other for the daily transactions and
have to update both the registers daily and also tally the

54
amount. This leads to redundancy and can also leads to
inconsistency. The problem of redundancy leads to
inconsistency as the details of the individual account are being
maintained at two or more places, incorrect or missing entry in
any one leads to a problem which takes lot of energy and time
to find and rectify it.

3. If the individual wants his monthly transactions it is very difficult


to have it quickly and when he gets it, one is not sure whether it
is correct. The manual report generation requires lot of man
power, time and all the above patience.

4. If the individual wants to modify his address of close his or her


account in the bank, manual systems demands more time and
again there is the problem of updating and closing the records
in multiple places. A bit of mistake could lead to individual
having a tough time closing his updating his account.

5. More manual work means more human power and paper. This
leads to use of lot of space, time and in maintaing them. Natural
disasters, clematis, animal menace, theft, fire & human nature
are the other factors which makes manual job for difficult and
challenging.

6. Next is the problem of security of the registers as they are in


manual form there is a fair chance of tempering the registers,

55
they can easily be stolen and records can be manipulated
which effects the credibility and trust in the banking system.

Keeping all the above factors in mind we decided to develop a online


banking system software for keeping track of saving accounts.

In most instances computer is sited centrally. Branches are equipped


with terminals, giving them online accounting facility and enabling
them to interrogate the central system for information on such things
as current balance fixed deposits, recurring-deposits, overdraft,
interest charges, shares and trustee records etc.

The main feature of the online banking system is its feature of menu
driven and user friendly interface :

1. When an individual comes to the bank for opening his account


he is given a account no after feeding his details such as name,
address, introducer name and the initial money he or she
wants to deposit in its account.

2. When ever he or she wants to deposit/withdraw or wants his or


her monthly transaction details he or she know his account
number which enables the bank clerk to give its account details
within a couple of keystrokes on his computer system.

56
3. It becomes very easy for bank people to maintain user details
at one place, they can know all the details of the accounts
opened so far in their bank, their daily transactions, monthly
reports etc.

4. As the data is stored in one place there is no redundancy and


hence to inconsistency of data.

5. There is a less paper work and a tremendous cut in man power


and time to process the whole job.

6. With proper regular backup at the end of the day and keeping
multiple copies of the data and at different locations reduces the
risk of data loss, theft, and other natural and manmade
problems.

57
SYSTEM TESTING

58
SYSTEM TESTING

In a software development project, errors can be injected at any


stage during development. However, no technique is perfect, and it is
expected that some of the errors of the earlier phases will finally be
manifest themselves in the code. This is particularly true because in
the earlier phases most of the verification techniques are manual
because no executable code exists. During testing, the program to be
tested is executed with a set of test cases and the output of the
program for the test cases is evaluated to determine if the program is
performing as expected. Due to its approach, dynamic testing can
only ascertain the presence of errors in the program; the exact nature
of the errors is not usually decided by testing. Testing forms the first
step in determining the errors in a program.

Generally, only black box testing is performed at higher levels, while


at lower levels white box testing is also done. If the testing is white
box, then the test cases are determined based on the structure of the
code. Consequently, for such testing, the object-oriented structure
can impact the testing activity. As unit testing is the place where
different approaches may be required for object-oriented software. As
the basic unit in object-oriented software is typically a class, here the
testing is focused on testing of classes.

59
Testing Mechanism used

Testing classes is a fundamentally different problem than testing


functions, as a function (or a procedure) has a clearly defined input-
output behavior, while a class does not have an input-output behavior
specification. We can test a method of a class using approaches for
testing functions, but we cannot test the class using these
approaches. Testing classes brings in some new issues that are not
present in testing functions. First, a class cannot be tested directly,
only an instance of a class can be tested. We therefore tested a class
indirectly by testing its instances, we then created different instances
of the class and then test them to test the class.

In object-oriented programs, control flow is characterized by message


passing among objects, and the control flow switches from one object
to another by inter-object communication. Hence, for testing objects,
the state of an object has to play an important role.

Java language with object oriented support is versatile enough in


providing various features. The use of function facilitates the error
trapping easy and hence testing the functioning of the software and
also saves memory space, as the code is not repeatedly compiled.
When the compiler sees a function call, it normally generates a jump
to the function. At the end of the function, it generates another jump
to the statement after the call.

60
As in this system data is entered at different levels, I considered
providing automatic generation of account numbers and hence avoid
duplicate account numbers, the entry of name and address of the
customer is compulsory, customer has to deposit minimum Rs. 500
as the initial money other wise his or her account number is not
opened. One can edit his or her profile at the later stage in the edit
account module.

In the deposit/withdrawal module. The program tests whether


Individual his having enough money to be withdrawn.

Since the software menu driven and user friendly the data screens
are designed in such a way that they were:

Consistent
Esay to use
Had a fast response time

The following conventions were used while designing the various


screens:

61
The software is divided into different functions which are called in
the main programs.
Error and validation messages are provided wherever required.

Testing Procedures

Extensive testing procedures were followed, which included the


following:

State-Based Testing

State-based testing is a technique to test whether or not the methods


of a class interact correctly among themselves by monitoring the
data members of the class. By checking whether or not the state of
an object is changed in the expected way by any particular method of
the object, we can exercise the path between the definition and use
all instance variables of the object. The testing technique is to test all
the methods of a class, one by one, against the set of states that the
object can take. If any of the features does not change the state of
the object in the expected way, then that method is declared as
containing errors.

62
In the state-based testing technique all methods of an object are
tested one at a time. A method is involved in all possible states that
the object can assume, and after each invocation the resulting state
is checked to see whether or not the method takes the object under
test to the expected state. In this form of testing, emphasis is on the
interaction between methods, that is whether the method is
communicating properly with other methods of the object through the
state of the object.

Unit Testing

Unit Testing is the testing of a single program module in an isolated


environment. Testing of the processing procedures is the main focus.

Integration Testing

Integration Testing is the testing of the interfaces among system


modules. In other words, it ensures that the data moving between the
modules is handled as intended.

System Testing

63
System Testing is the testing of the system against its initial
objectives. It is done either in a simulated environment or in a live
environment.

Stress Test

Applying Stress to a program means that a large amount of data is


fed in for processing in a short period of time. In other words,
consumption of computer resources is drastically raised in that time
frame with the intention to ensure that the system will still perform
effectively if the same condition occurs in the future.

Test Review

Test Review is the process, which ensures that testing is carried out
as planned. Test Review decides whether or not the program is ready
to be shipped out for implementation.

For each data entry screen, I prepared test data with extreme values
and tested under all relevant test conditions. After the relevant data -
entry screens against real data.

64
FUTURE SCOPE OF THE PROJECT

The basic objective of this project work is to develop ideas of


computerized banking system. So I considered only saving bank
account in Indian Banks. In developing the package an attempt has
been made to develop menu-driven interactive and user friendly
interface.

In this system, terminal is sited on the bank counter it is a stand alone


system with no networking as such, means the package will sun in
the standalone mode. The data will not be shared among other
terminals. While opening the account or depositing/ withdrawal of the
money will be at the single place. Data have to backuped daily and
kept at the safe and sound place.

Well its just a beginning forward in computerization of banks. We


could wait and watch for the package to run and note all the pros and
cons of the package, we can rectify all the shortcomings in future
packages. Having a practical experience with the package, one can
add additional features of Recurring Deposit, Loan Accounts, Pension
accounts to make a multipurpose package so that it can attain the
goal of total computerization.

65
Once we have good experience with the package we can make it a
networking package so that the package is not confined to a
standalone machine and can be handled from any counter which will
greatly reduce the ones man job.

66
SNAP SHOTS

67
68
69
70
71
72
73
74
75
76
77
CODING

import java.io.*;
import javax.servlet.*;
import java.sql.*;
import javax.servlet.http.*;

public class Client extends HttpServlet


{
Connection con;
String s3="",s4="";

public void init(ServletConfig sc)throws ServletException


{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:aravind");
}catch(Exception ee){System.out.println(ee);}
}

public void doGet(HttpServletRequest req,HttpServletResponse


res)throws ServletException,IOException
{
PrintWriter pw=res.getWriter();
res.setContentType("text/html");

String s1=req.getParameter("user");
String s2=req.getParameter("pwd");

try{

78
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select name from pass where
name='"+s1+"'");

if (rs.next())
{
pw.println("User already exist");

}
else

if(s1.equals("")||s2.equals(""))
{
pw.println("invalid");

res.sendRedirect("http://localhost:8080p/tball.gif");
}
else
{
PreparedStatement pst=con.prepareStatement("insert into pass
values(?,?)" );
pst.setString(1,s1);
pst.setString(2,s2);
pst.execute();

Statement s12=con.createStatement();
ResultSet rs1=s12.executeQuery("select max(accno) from auser");
rs1.next();
int accno=rs1.getInt(1);

79
accno++;

PreparedStatement pst12=con.prepareStatement("insert into auser


values(?,?,?,0)" );
pst12.setString(1,s1);
pst12.setString(2,s2);
pst12.setInt(3,accno);
pst12.execute();
res.sendRedirect("http://localhost/welcome.html");
}
}catch(Exception e)
{res.sendRedirect("http://localhost:8080/invalid.html");}
}
}
import java.io.*;
import javax.servlet.*;
import java.sql.*;
import javax.servlet.http.*;

public class Client2 extends GenericServlet


{
Connection con;
public void init(ServletConfig sc)throws ServletException
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:aravind");

}
catch(Exception ee)
{

80
System.out.println(ee);
}
}

public void service(ServletRequest req,ServletResponse res)throws


ServletException,IOException
{ boolean j=true;
String s1=req.getParameter("t1");
String s2=req.getParameter("t2");
String s3=req.getParameter("t3");
String s4=req.getParameter("r");
String s5=req.getParameter("s");
String s6=req.getParameter("t4");
String s7=req.getParameter("t5");
String s8=req.getParameter("t6");
String s9=req.getParameter("s1");
String s10=req.getParameter("t7");
String s11=req.getParameter("t8");
String s12=req.getParameter("t9");

System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println(s4);
System.out.println(s5);
System.out.println(s6);
System.out.println(s7);
System.out.println(s8);
System.out.println(s9);
System.out.println(s10);
System.out.println(s11);

81
System.out.println(s12);

try{
PreparedStatement pst=con.prepareStatement("insert into entry
values(?,?,?,?,?,?,?,?,?,?,?,?)" );

pst.setString(1,s1);pst.setString(2,s2);pst.setString(3,s3);pst.setString(4,s4)
;
pst.setString(5,s5);pst.setString(6,s6);pst.setString(7,s7);pst.setString(8,s8)
;
pst.setString(9,s9);pst.setString(10,s10);pst.setString(11,s11);pst.setString(
12,s12);
pst.execute();

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

PrintWriter pw=res.getWriter();
res.setContentType("text/html");
pw.println("inserted.into table..");

}
}import java.io.*;
import javax.servlet.*;
import java.sql.*;
import javax.servlet.http.*;

82
public class Client3 extends HttpServlet
{
Connection con;
String s3="",s4="";

public void init(ServletConfig sc)throws ServletException


{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:aravind");
}catch(Exception ee){System.out.println(ee);}
}

public void doGet(HttpServletRequest req,HttpServletResponse


res)throws ServletException,IOException
{
PrintWriter pw=res.getWriter();
res.setContentType("text/html");
Cookie c[]=req.getCookies();
System.out.println(c[1].getValue());
pw.println("<html>");
pw.println("<head><center><h2><i><u>Transaction
Screen</u></i></center>");
pw.println("<script language='JavaScript'>");
pw.println("function a1()");
pw.println("{alert(\"SORRY, you can't change it\")");
pw.println("document.f1.t2.select()}");
pw.println("</script></head>");
pw.println("<body bgcolor=pink
background='http://localhost/backgrnd[2].gif'>");

83
pw.println("<center><form name=f1
action='http://localhost:8080/servlet/Transaction2' method=get><pre>");
pw.println(" Enter UserId :<input type=text name=t1
value="+c[0].getValue()+" size=20 onfocus=\"a1()\">");
pw.println("Password :<input type=password name=t2
size=20></pre><br>");
pw.println("Amt :<input type=text name=t3 size=20></pre><br>");
pw.println("Trans type:<select name=t4><option
value='Withdrawl'>Withdrawl<option value='Deposit'>Deposit</select>");

pw.println("<input type=submit value='submit'>");


pw.println("<input type=reset value='clear'><br><br> ");
pw.println("<a href='http://localhost/home.html' target=_top><img
src='http://localhost/home[1].gif' height=40 width=40 align=right></a> ");
pw.println("HELLO "+c[0].getValue());
pw.println("</form></body></html>");

}
} import java.io.*;
import javax.servlet.*;
import java.sql.*;
import javax.servlet.http.*;

public class Client4 extends HttpServlet


{
Connection con;
String s3="",s4="";

public void init(ServletConfig sc)throws ServletException


{
try{

84
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:aravind");
}catch(Exception ee){System.out.println(ee);}
}

public void doGet(HttpServletRequest req,HttpServletResponse


res)throws ServletException,IOException
{
PrintWriter pw=res.getWriter();
res.setContentType("text/html");
Cookie c[]=req.getCookies();
System.out.println(c[1].getValue());
pw.println("<html>");
pw.println("<head><center><h2><i><u>Transaction
Screen</u></i></center>");
pw.println("<script language='javascript'>");
pw.println("function a1()");
pw.println("{ ");
pw.println("alert('SORRY, you can't change it')");
pw.println("}");
pw.println("</script></head>");
pw.println("<body bgcolor=pink
background='http://localhost:8080/backgrnd[2].gif'>");
pw.println("<center><form name=frm1
action='http://localhost:8080/servlet/Transaction2' method=get><pre>");
pw.println("<input type=button value='click' onClick='a1()'>");
pw.println(" Enter UserId :<input type=text name=t1
value="+c[0].getValue()+" size=20 onfocus='a1()'>");
pw.println("Transaction key :<input type=password name=t2
size=20></pre><br>");
pw.println("<input type=submit value='submit'>");

85
pw.println("<input type=reset value='clear'><br><br> ");
pw.println("<a href='http://localhost:8080/home.html' target=_top><img
src='http://localhost:8080/home[1].gif' height=40 width=40 align=right></a>
");
pw.println("HELLO "+c[0].getValue());
pw.println("</form></body></html>");

}
} import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class Client11 extends HttpServlet


{
String s1="",s2="",s3=""; int j;
String s4="",s5="",accno;

double amount,i;
Connection con;
public void init(ServletConfig sc)throws ServletException
{
super.init(sc);
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:aravind");
}catch(Exception e){ System.out.println(e);}
}
public void doGet(HttpServletRequest req,HttpServletResponse res)throws
ServletException,IOException

86
{
res.setContentType("text/html");
PrintWriter pw=res.getWriter();

s1= req.getParameter("user");
s2=req.getParameter("pwd");
System.out.println(s1);
System.out.println(s2);

try{
//accountno,usid,pwd,balance from transact where usid='"+s1+"'");
con.commit();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select
USER_ID,PUBLIC_KEY,ACCNO,BALANCE from auser where
user_id='"+s1+"'");

if (rs.next())
{
//System.out.println(s1); System.out.println(s2);

s3=rs.getString(1);
s4=rs.getString(2);
s5=rs.getString(3); //getString(3);
i=rs.getDouble(4);

87
}
// System.out.println(s3); System.out.println(s4);
if(s3.equals(s1)&& s4.equals(s2))
{
System.out.println(s3);
System.out.println(s4);
Cookie uname=new Cookie("user",s1);
Cookie uaccno=new Cookie("acc",s5);
pw.println("<html><head><center>");
pw.println("<h2><u><b><i>WELCOME TO
BANKING</i></b></u></h2></center>");
pw.println("</head><a href='http://localhost/aboutus.html'>");
pw.println("<img src='http://localhost/home2[1].gif' align=right></a>");
pw.println(" <body bgcolor=yellow
background='http://localhost:8080/backgrnd[2].gif' text=red >");
pw.println(" <font face=arial size=5 color=blue><br><br>");
pw.println("<center><h3><i><b>STATEMENT</b></i></h3></center></font>"
);
pw.println(" <br><center>");
pw.println("<table border=22 bgcolor=yellow bordercolor=blue>");
pw.println("<tr><td bordercolor=blue bordercolorlight=maroon align=center
>");
//pw.println("<a href='http://localhost/statement.html'>Statement</td>");
pw.println("<td align=center>");
pw.println("<a href='http://localhost:8080/servlet/Client3'
target=_top>Transaction</td>");
//transaction2
pw.println("<td align=center>");
pw.println(" <a
href='http://localhost/usermanager.html'>UserManager</td>");

88
pw.println("<td align=center><a href='http://localhost/logout.html'
target=_top>Logout</td>");
pw.println("</tr></table>");
pw.println("<form ><center><pre>Name :<input type=text name=t1 size=20
value="+s3+" DISABLED>");
pw.println("Account No"+"<input type=text name=t2 size=20 value="+s5+"
DISABLED ><br>");
pw.println("<h4>The Balance in Your Account is RS :");
pw.println("<input type=text name=t3 value="+i+" DISABLED>");
pw.println("<br><br></center></pre><center><p>");
//pw.println("<input type=button name=b1 value=statement>");
//pw.println("<input type=button name=b2 value=Query>");
pw.println("</center></p></form></body></html>");
res.addCookie(uname);
res.addCookie(uaccno);
}
else
{
res.sendRedirect("http://localhost/invalid1.html");
}

//System.out.println(s3);
}catch(Exception e1){ System.out.println(e1);}
}
}control panel->Administrative Tools->Data Sources(ODBC)->System DSN-
>Add -> select (Microsoft Access Driver(*.mdb)->Data Source
Name(aravind)->DataBase select(D:\internetbanking\db2.mdb); import
java.io.*;
import javax.servlet.*;
import java.sql.*;
import javax.servlet.http.*;

89
public class Loan extends HttpServlet
{
Connection con;
String s3="",s4="";

public void init(ServletConfig sc)throws ServletException


{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:aravind");
}catch(Exception ee){System.out.println(ee);}
}

public void doGet(HttpServletRequest req,HttpServletResponse


res)throws ServletException,IOException
{
PrintWriter pw=res.getWriter();
res.setContentType("text/html");
Cookie c[]=req.getCookies();
System.out.println(c[1].getValue());
pw.println("<html><head><center><h2><u><i>Savings to Loan
Screen</i></u></h2></center>");
pw.println("<title>Loan SCREEN</title>");
pw.println("<script language=\"JavaScript\">");
pw.println("function a2(){");
pw.println("alert(\"sorry you can't change the value\")");;
pw.println("document.f3.t2.select()}</script></head>");
pw.println("<br><br><body bgcolor=pink text=red><center><form name=f3
action=\"http://localhost:8080/servlet/SaveToLoan\">");

90
pw.println("Your AccNo :<input type=text name=t1 value="+c[1].getValue()
+" size=20 onfocus=\"a2()\"><br><br>");
pw.println("Loan_id:<input type=text name=t2 size=20><br><br>");
pw.println("Amount :<input type=text name=t3 size=20><br><br>");
pw.println("<input type=submit value=' OK '>");
pw.println("<input type=reset value=cancel>");
pw.println("</form></center></body></html>");
}
} import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class SaveToLoan extends HttpServlet
{
Connection con;
Statement s1,s2;
PreparedStatement ps1,ps2,ps3,ps4,ps5,ps6;
Statement st;
ResultSet rs1,rs2,rs3,rs6;
String a[]=new String[2];
public void init(ServletConfig conf)throws ServletException
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:aravind");
}catch(Exception e)
{ System.out.println(e); }
}

91
public void doGet(HttpServletRequest req,HttpServletResponse res) throws
ServletException,IOException
{

try{
res.setContentType("text/html");
PrintWriter pw=res.getWriter();
int accno=Integer.parseInt(req.getParameter("t1"));
int taccno=Integer.parseInt(req.getParameter("t2"));
int amount=Integer.parseInt(req.getParameter("t3"));
pw.println(taccno+amount);

//UPDATION STARTED

s1=con.createStatement();
s2=con.createStatement();
int h=s1.executeUpdate("update auser set
balance=balance-"+amount+"where accno="+accno);
int j=s2.executeUpdate("update auser set
balance=balance+"+amount+"where accno="+taccno);
pw.println("updated");

//UPDATION COMPLETED

ps1=con.prepareStatement("select user_id from auser where


accno="+accno+" or accno="+taccno);
rs1=ps1.executeQuery();
int i=0;
while(rs1.next())
{
a[i]=rs1.getString(1);

92
i++;
}
pw.println(a[0]);
pw.println(a[1]);
System.out.println(a[0]+a[1]);

System.out.println("hello");
String userid=a[0];
String userid1=a[1];
ps2=con.prepareStatement("select nvl(max(transaction_id),0)+1 from
atransact where to_char(transaction_date,'dd-mon-
yyyy')=to_char(sysdate,'dd-mon-yyyy')");
rs2=ps2.executeQuery();
rs2.next();
int tno=rs2.getInt(1);
ps3=con.prepareStatement("select sysdate from dual");
rs3=ps3.executeQuery();
rs3.next();
java.sql.Date d1=rs3.getDate(1);

// UPDATION FOR DEBIT0R

// pw.println(" "+userid+" "+accno);


String ttype1="DEBIT";

ps4=con.prepareStatement("insert into atransact values(?,?,?,?,?,?)");


ps4.setString(1,userid);
ps4.setInt(2,accno);
ps4.setString(3,ttype1);
ps4.setInt(4,amount);

93
ps4.setDate(5,d1);
ps4.setInt(6,tno);
int k=ps4.executeUpdate();
st=con.createStatement();
ps6=con.prepareStatement("select nvl(max(transaction_id),0)+1 from
atransact where to_char(transaction_date,'dd-mon-
yyyy')=to_char(sysdate,'dd-mon-yyyy')");
rs6=ps6.executeQuery();
rs6.next();
int tno1=rs6.getInt(1);
System.out.println("debiting");

//UPDATION FOR CREDITOR

String ttype="CREDIT";
ps5=con.prepareStatement("insert into atransact values(?,?,?,?,?,?)");
ps5.setString(1,userid1);
ps5.setInt(2,taccno);
ps5.setString(3,ttype);
ps5.setInt(4,amount);
ps5.setInt(6,tno1);
ps5.setDate(5,d1);
int l=ps5.executeUpdate();
pw.println("<h1>AMOUNT PAID</h1>");
rs1.close();
rs2.close();
rs3.close();
ps1.close();
ps2.close();
ps3.close();
ps4.close();

94
ps5.close();
// ps6.close();
}catch(Exception ee){System.out.println(ee);}
}
}

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class SaveToSave extends HttpServlet
{
Connection con;
Statement s1,s2;
PreparedStatement ps1,ps2,ps3,ps4,ps5,ps6,ps7,ps8;
Statement st;
ResultSet rs1,rs2,rs3,rs6;
String a[]=new String[2];
public void init(ServletConfig conf)throws ServletException
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:aravind");
}catch(Exception e)
{ System.out.println(e); }
}

95
public void doGet(HttpServletRequest req,HttpServletResponse res) throws
ServletException,IOException
{

try{
res.setContentType("text/html");
PrintWriter pw=res.getWriter();
int accno=Integer.parseInt(req.getParameter("t1"));
int taccno=Integer.parseInt(req.getParameter("t2"));
int amount=Integer.parseInt(req.getParameter("t3"));
pw.println(taccno+amount);

//UPDATION STARTED

s1=con.createStatement();
s2=con.createStatement();
int h=s1.executeUpdate("update auser set
balance=balance-"+amount+"where accno="+accno);
int j=s2.executeUpdate("update auser set
balance=balance+"+amount+"where accno="+taccno);
pw.println("updated");

//UPDATION COMPLETED

ps1=con.prepareStatement("select user_id from auser where


accno="+accno+" or accno="+taccno);
rs1=ps1.executeQuery();
int i=0;
while(rs1.next())
{

96
a[i]=rs1.getString(1);
i++;
}
pw.println(a[0]);
pw.println(a[1]);
System.out.println(a[0]+a[1]);

System.out.println("hello");
String userid=a[0];
String userid1=a[1];
ps2=con.prepareStatement("select nvl(max(transaction_id),0)+1 from
atransact where to_char(transaction_date,'dd-mon-
yyyy')=to_char(sysdate,'dd-mon-yyyy')");
rs2=ps2.executeQuery();
rs2.next();
int tno=rs2.getInt(1);
ps3=con.prepareStatement("select sysdate from dual");
rs3=ps3.executeQuery();
rs3.next();
java.sql.Date d1=rs3.getDate(1);

// UPDATION FOR DEBIT0R

// pw.println(" "+userid+" "+accno);


String ttype1="DEBIT";

ps4=con.prepareStatement("insert into atransact values(?,?,?,?,?,?)");


ps4.setString(1,userid);
ps4.setInt(2,accno);
ps4.setString(3,ttype1);

97
ps4.setInt(4,amount);
ps4.setDate(5,d1);
ps4.setInt(6,tno);
int k=ps4.executeUpdate();
st=con.createStatement();
ps6=con.prepareStatement("select nvl(max(transaction_id),0)+1 from
atransact where to_char(transaction_date,'dd-mon-
yyyy')=to_char(sysdate,'dd-mon-yyyy')");
rs6=ps6.executeQuery();
rs6.next();
int tno1=rs6.getInt(1);
System.out.println("debiting");

//UPDATION FOR CREDITOR

String ttype="CREDIT";
ps5=con.prepareStatement("insert into atransact values(?,?,?,?,?,?)");
ps5.setString(1,userid1);
ps5.setInt(2,taccno);
ps5.setString(3,ttype);
ps5.setInt(4,amount);
ps5.setInt(6,tno1);
ps5.setDate(5,d1);
int l=ps5.executeUpdate();
pw.println("<h1>AMOUNT TRANSFERED</h1>");
rs1.close();
rs2.close();
rs3.close();
ps1.close();
ps2.close();
ps3.close();

98
ps4.close();
ps5.close();
// ps6.close();
}catch(Exception ee){System.out.println(ee);}
}
}

import java.io.*;
import javax.servlet.*;
import java.sql.*;
import javax.servlet.http.*;

public class Saving extends HttpServlet


{
Connection con;
String s3="",s4="";

public void init(ServletConfig sc)throws ServletException


{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:aravind");
}catch(Exception ee){System.out.println(ee);}
}

public void doGet(HttpServletRequest req,HttpServletResponse


res)throws ServletException,IOException
{

99
PrintWriter pw=res.getWriter();
res.setContentType("text/html");
Cookie c[]=req.getCookies();
System.out.println(c[1].getValue());
pw.println("<html><head><center><h2><u><i>Savings to Savings
Screen</i></u></h2></center>");
pw.println("<title>SAVINGS SCREEN</title>");
pw.println("<script language='JavaScript'>");
pw.println("function a1(){");
pw.println("alert(\"sorry ,you can't change it\")");
pw.println("document.f2.t2.select()}");
pw.println("</script></head>");
pw.println("<br><br><body bgcolor=pink text=green><center><form
name=f2 action=\"http://localhost:8080/servlet/SaveToSave\">");
pw.println("<u>Your AccNo</u> :<input type=text name=t1
value="+c[1].getValue()+" size=20 onfocus=\"a1()\"><br><br>");
pw.println("<u>To Accno:</u><input type=text name=t2
size=20><br><br>");
pw.println("<u>Amount :</u><input type=text name=t3
size=20><br><br>");
pw.println("<input type=submit value=' OK '>");
pw.println("<input type=reset value=cancel>");
pw.println("</form></center></body></html>");
}
}

100
CONCLUSION

The recognition of the professional and social


implications of the computer has led all applications to be
viewed from computer point of view. The conclusion that
automation can mark a new approach inInternet Banking
allured me into doing a project in this field.

Internet Banking System developed is the tool to use


available hardware resources to fullest to reduce the
drudgery of the Internet Banking and, freeing up them from
most of the monotonous jobs like Employee Account, Cash
withdrawl and deposit, Maintaining the Account, the
personnels are also required to maintain proper for each of
the above tasks so that the records can be reviewed later on
for decision-making and policy planning by the
administration.

101
BIBLIOGRAPHY & REFERENCES

1. Ivan Bayross. JAVA, 1991-2001.

2. Complete Reference,The Complete Reference in Jave 1996-


2001.

3. Ivan Bayross,Hyper Text Mark Up Language 2001.


.

102

You might also like