Académique Documents
Professionnel Documents
Culture Documents
1
8.3 Future Enhancement Suggestion:...................................................................................69
9.1 Reference Books:............................................................................................................71
9.2 Other Documentations and resources:............................................................................71
2
Chapter 1: Introduction..................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
The goal of this design is provide an interface which allows the controlling
authority to remotely configure the system and to be accessible by a wide
range of people. The interaction provides direct manipulation and natural
language interfaces. Input will be in the form of a graphical user interface.
Output will be from high resolution graphics, and printed forms. The
representation of information will be textual with iconic augmentation.
Because of safety and privacy concerns the system will be put in fixed
locations inside enclosures which will limit the interaction to one person at a
time.
The primary goal of developing such software is to develop software so
that consumer can access a bank’s computer and carry out their own financial
transactions without the mediation of a bank employee.
3
market today, but largely it includes all the essential features that an ATM
software must have.
The ATM software is intended to serve both bank and customer. For the
bank, ATM software increases automation and reduces manual handling of
routine paperwork. For the customer the ATM is ubiquitous and always
available, handling routine transactions whenever and whenever the customer
desires.
1.3 Scope:
Any software development effort is a financial institutions. From an
economic perspective, it is desirable to minimize the investment, maximize
4
the revenue, and realize revenue as soon as possible. The domains of the
software are the financial institutions. Customer takes it for granted that a
bank will have an ATM machine. ATM machine are available at many stores,
sporting events, colleges and other locations throughout the world.
1.4.1 Hardware:
1.4.2 Software:
Windows–XP.
Application tool – Java Development Kit.
5
Chapter 2: System Analysis
There are 1.5 million ATMs deployed around the world today and this
figure is forecast to reach 2 million by 2011 according to Retail Banking
Research. With 63% of all bank customer transactions taking place via the
ATM, the ATM is one of the most fundamental and important of all channels
for customers. It is time that ATMs evolve from being simply a mechanism
for cash withdrawal to become an integral part of the customer’s
6
communication with the bank. In order to minimize costs and to ensure that
the ATM channel remains self sufficient, it is becoming increasingly
important to offer a broader transaction set via the ATM. With the advent of
new Windows based software combined with any ATM hardware, banks can
now offer revenue generating facilities such as mobile top-up and bill
payment as well as provide a vehicle for targeted third party and own products
and services advertising.
7
Chapter 3: Feasibility Study
All projects are feasible, given unlimited resources and infinite time.
Unfortunately, the development of a computer based system or product is
more likely suffered by a scarcity of resources and difficult delivery dates. It
is both necessary and prudent to evaluate the feasibility of a project at the
earliest possible time. However during the development of our project we
concentrate on the following feasibility:
Resource Availability:
Has the relevant technology progressed to the stage that will support the
system?
8
we need hard disk space of 2GB and a Pentium processor. These are only
requirements, which can be easily met.
9
Chapter 4: Technology Used
10
“Java is just a small, simple, safe, object-oriented, interpreted or
dynamically optimized, byte-coded, architecture-neutral, garbage-collected,
multithreaded programming language with a strongly typed exception-
handling mechanism for writing distributed, dynamically extensible
programs.”
A Java program is created as a text file with the file extension .java. It is
compiled into one or more files of byte codes with the extension .class. Byte
codes are a set of instructions similar to the machine code instructions created
when a computer program is compiled. The difference is that machine code
must run on the computer system it was compiled for; byte codes can run on
any computer system equipped to handle Java programs.
Java Development Kit (JDK):
When the Java programming language was introduced in 1995, the only
development tool available was the Java Development Kit (JDK) from Sun.
This set of command-line tools makes it possible to write, compile, and debug
Java programs (among other things). However, the JDK is a far cry from
integrated development environments such as Visual Basic and Borland C++.
An integrated development environment (IDE) is software that combines
several development tools into a single, cohesive package. The assortment
usually includes a source code editor, compiler, debugger, and other utilities.
These tools work together through the development process; most packages
are highly visual and rely on windows, drag-and-drop, and other graphical
elements. The goal is to make software design faster, more efficient, and
easier to debug.
11
Runtime interpreter
Compiler
Applet viewer
Debugger
Class file dissembler
Header and stub file generator
Documentation generator
Archive
Digital signer
Remote Method Invocation tools
Sample demos and source code
API source code
Exploring Swing:
The Swing-related classes are contained in javax.swing. Many other Swing-
related components exist such as:
JApplet:
Fundamental to Swing is the JApplet class, which extends Applet.
For adding a component to an instance of JApplet one can call add ( ) for
the content pane of the JApplet object. The content pane can be obtained via
the method shown here:
Container getContentPane( )
The add( ) method of Container can be used to add a component to a content
pane. Its form is shown here:
void add(comp)
12
Here, comp is the component to be added to the content pane.
Text Fields:
The Swing text field is encapsulated by the JTextComponent class, which
extends JComponent. It provides functionality that is common to Swing text
components. One of its subclasses is JTextField, which allows you to edit one
line of text.
Buttons:
Swing buttons provide features that are not found in the Button class defined
by the AWT. Swing buttons are subclasses of the AbstractButton class,
which extends JComponent. AbstractButton contains many methods that
allow you to control the behavior of buttons, check boxes, and radio buttons.
The JButton Class
The JButton class provides the functionality of a push button. JButton allows
an icon, a string, or both to be associated with the push button. Some of its
constructors are shown as:
JButton(Icon i)
JButton(String s)
JButton(String s, Icon i)
Here, s and i are the string and icon used for the button.
Check Boxes:
The JCheckBox class, which provides the functionality of a check box, is a
concrete implementation of AbstractButton. Its immediate superclass is
JToggleButton, which provides support for two-state buttons. Some of its
constructors are shown here:
JCheckBox(Icon i)
JCheckBox(Icon i, boolean state)
JCheckBox(String s)
13
JCheckBox(String s, boolean state)
JCheckBox(String s, Icon i)
JCheckBox(String s, Icon i, boolean state)
Here, i is the icon for the button. The text is specified by s. If state is true, the
check box is initially selected. Otherwise, it is not.
The state of the check box can be changed via the following method:
void setSelected(boolean state)
Here, state is true if the check box should be checked.
Combo Boxes:
Swing provides a combo box (a combination of a text field and a drop-down
list) through the JComboBox class, which extends JComponent. A combo
box normally displays one entry. However, it can also display a drop-down
list that allows a user to select a different entry. You can also type your
selection into the text field. Two of JComboBox’s constructors are shown
here:
JComboBox( )
JComboBox(Vector v)
Here, v is a vector that initializes the combo box.
Items are added to the list of choices via the addItem( ) method, whose
signature is shown here:
void addItem(Object obj)
Here, obj is the object to be added to the combo box.
Tables:
A table is a component that displays rows and columns of data. You can drag
the cursor on column boundaries to resize columns. You can also drag a
column to a new position. Tables are implemented by the JTable class, which
extends JComponent. One of its constructors is shown as:
14
JTable(Object data[ ][ ], Object colHeads[ ])
Here, data is a two-dimensional array of the information to be presented, and
colHeads is a one-dimensional array with the column headings.
Here are the steps for using a table in an applet:
1. Create a JTable object.
2. Create a JScrollPane object. (The arguments to the constructor specify the
table and the policies for vertical and horizontal scroll bars.)
3. Add the table to the scroll pane.
4. Add the scroll pane to the content pane of the applet.
15
Chapter 5: Technical Part
5.3.1 Definition:
A socket is one endpoint of a two-way communication link between
two programs running on the network. A socket is bound to a port number so
that the TCP layer can identify the application that data is destined to be sent.
16
like SMTP (Simple Mail Transfer Protocol) runs on port number 25, HTTP
(Hyper Text Transfer Protocol) on port number 80. Therefore generally a port
number greater than 2000 is chosen to avoid conflicts. Anything that
understands the standard protocol can plug into the socket and can
communicate. Both TCP/IP and UDP Sockets can be created.
TCP/IP Sockets are used to implement reliable, bi-directional,
persistent, point-to-point, stream based connections between hosts. A Socket
can be used to connect two Java’s I/O system to other programs that may
reside on local or remote machine.
Java has two types of Sockets.
Server Socket: For Server
On the client-side: The client knows the hostname (IP address) of the
machine on which the server is running and the port number on which the
server is listening. To make a connection request, the client tries to make
contact with the server on the server's machine and port. The client also needs
to identify itself to the server so it binds to a local port number that it will use
during this connection. This is usually assigned by the system.
17
If everything goes well, the server accepts the connection. Upon
acceptance, the server gets a new socket bound to the same local port and also
has its remote endpoint set to the address and port of the client. It needs a new
socket so that it can continue to listen to the original socket for connection
requests while tending to the needs of the connected client.
18
implements one side of a two-way connection between one Java program and
another program on the network. The Socket class sits on top of a platform-
dependent implementation, hiding the details of any particular system from
our Java program. By using the java.net.Socket class instead of relying on
native code, your Java programs can communicate over the network in a
platform-independent fashion. Additionally, java.net includes the
ServerSocket class, which implements a socket that servers can use to listen
for and accept connections to clients.
19
mode does not have to connect to a destination socket; it simply sends the
datagram. The UDP protocol promises only to make a best-effort delivery
attempt. Connectionless operation is fast and efficient, but not guaranteed.
6.1.1 Description:
20
Software Engineering is the establishment and use of sound engineering
principles in order to obtain economically software that is reliable and works
efficiently. It is a layered technology. The bedrock that supports software
engineering is a quality focus. Software engineering encompasses a process
management technical methods and tools.
The foundation for software engineering is the process layer. Process
defines a framework for a set of key process areas. Software engineering
methods provide the technical how-to for building software. Software
engineering tools provided automated or semi automated support for the
process and the methods.
Incremental Model:
21
Fig. Showing the Incremental Model
Advantages:
Disadvantages:
22
6.1.3 Reasons for Use:
The project can be created through a series of delivery steps with each
delivery steps adding a new feature to the existing product. Thus the process
model suited to the project is Incremental Model. It combines elements of the
Linear Sequential model with the interactive philosophy of prototyping.
23
− authorization process
− transaction (withdrawal process)
∗ Requirements of the bank computer
− authorization process (bank code and password)
− transaction
6.2.2 Non-functional Requirements
The non-functional requirement is bellowed.
∗ The ATM network has to be available 24 hours a day.
∗ Each bank may be processing transactions from several ATMs at the same
time.
∗ The ATM must be able to use several data formats according to the data
formats that are provided by the database of different banks.
24
Client Server Model: The model of interaction between two application
programs in which a program at one end (client) request a service from a
program at the other end (server).
Guided Media: Transmission media with a physical boundary.
IP address: A 32bit address used to uniquely define a host on an
Internet.
Java: An object-oriented programming language for creating
distributed, executable applications
Local Area Network (LAN): A network connecting devices inside a
single building or inside buildings close to each other.
Mbps: Mega bits per second.
Message: A message is the content of the communication between 2
processes.
Method: A function that can perform operations on data.
Model: A model is a representation of the system.
Network Interface Card (NIC): An electronic device, internal or
external to a station that contains circuitry to enable a station to be connected
to the network.
Object: A variable defined as being a particular class type. An object
has the data and methods as specified in the class definition.
Operation: An operation is a function that can be performed on an
object.
Port: A number used to identify TCP/IP applications. Generally a port
is an entry or exit point.
Process: It is an operating system concept that captures the idea of a
program in execution. A process is always executing at some points in a
program.
25
Processor: It is the part of a computer system that executes instructions.
It is also called a CPU.
Robot: A term for software programs that automatically explore the
Web for a variety of purposes. Robots that collect resources for later database
queries by users are sometimes called spiders.
Server: A program that can provide services to other programs, clients.
Socket: In TCP/IP, an addressable point that consists of an IP address
and a TCP or UDP port number that provides applications with access to
TCP/IP protocols.
26
Reliability:
The reliability is the mean time to failure, accordingly the to have
higher reliability the mean time to failure should be very large. This software
provides relevant results and these results would be quick. As far as recovery
is concerned, it provides reliable and consistent recovery of complete file.
Supportability:
This software is supportable on Windows XP Platform and all others
which JAVA Framework.
Usability:
The software can be used to provide various services of the ATM
systems that are used by the banks and any other financial institutions. It can
be used as a computerized telecommunications device that provides
the clients of a financial institution with access to financial transactions in a
public space without the need for a cashier, human clerk or bank teller.
27
minimum human requirement for our project is 1. However, our team for
the project development consists of 4 members. However, for using and
maintaining the software, one person would suffice.
2. Hardware Requirement:
3. Software Requirement:
5. Time:
The stipulated time for the development of the application was 4-5
months.
28
1. Democratic Decentralized (DD)
2. Controlled Decentralized (CD)
3. Controlled Centralized (CC)
4. Democratic Decentralized (DD)
The team structure can be specified as The team working to build this
software comprises of three members under the guidance of a project guide.
Our software engineering team has no permanent leader. Rather, “task
coordinators are appointed for short durations and then replaced by others
who may coordinate different tasks”. Decisions on problems and approach are
made by group consensus and are taken democratically. Communication
among team members is horizontal.
29
6.3.3.1 Team Structure
30
Type of risks:
Project risk:
Project risks threaten the project plan.
For example: If a project risk occurs in reality, then it is likely that the project
schedule will slip and that the cost will increase.
Project risk identify potential budgetary, schedule, personnel, resource,
customer and requirements problems and their impact on software project.
Technical risk:
Technical risk threatens the quality and timeliness of the software to be
produced. A technical risk makes implementation difficult or at times,
impossible. Technical risk identifies the potential design, implementation,
interfacing, maintaining and verification problems.
Business risk:
Business risk threatens the viability of the software to me built.
Business risk often jeopardizes the product or project. This risk occurs when a
product or a system is built correctly but it is not wanted in the market (known
as market risk) .or when a product is built without keeping the overall
31
business strategy of the company in mind (known as strategic risk), or when a
product does not fetch the price in the market it is expected to (known sell
risk), or the tem members do not work cohesively towards completing the
product (management risk), or when the cost of the product exceeds the
budgetary allocation (known as budget risk) .
The business risk in our project in our project lies in the fact that it may
not be required as it may not give that feel of the preparation or a better
application by other professionals might have been developed.
Known risk:
Known risk is risks that are previously known to the developers. These
risks include t he delays related to the delivery date of the project. The known
risk of our project is that it may not be submitted on desired date.
Predictable risk:
Predictable risk are risks that can be foretold based on experience
gained in developing past project, Or in developing previous segments gained
in developing past projects, or in developing previous segments of the current
project. For example a risk ignored in the analysis phase is likely to cause a
risk in the design phase.
Unpredictable risk:
32
Unpredictable risks are undesirable events that occur unexpectedly.
This type of risk covers such situations like the one where the user changes his
requirement during the development of the project.
The unpredictable risk which may exist is the formatting issue related to
the display of the test.
S. Risk
No. Risk Category Probability Impact Exposure
Application designed
1 becomes outdated BI 40% 2 0.8
2 Inexperienced Developers SE 60% 2 1.2
3 Delivery Date tightened BI 50% 2 1
4 Cost Exceeds Budget BI 25% 3 0.75
5 Change in Requirement PS 10% 4 0.4
Technology will not meet
6 expectations TE 60% 1 0.6
Design Problems and
7 Bugs SE 20% 2 0.4
8 Insufficient Time for TE 20% 2 0.4
33
Testing
9 Lack of Training on Tools DE 80% 2 1.6
Catastrophe
Critical
Marginal
Negligible
Risk Prioritization:
34
Delivery Deadline will be tightened.
Insufficient Time for Testing
Larger Number Of user than Planned.
Customer changes the requirements.
Lack of Training on Development Tools.
Technology does not meet requirements.
End users resist system.
Project Loss due to Hard Disk Failure.
6.4 Design:
35
Abstraction:
Procedural Abstractions:
1. Higher Level:
To provide the security services to the Clients when they connect to the
outside network. To accomplish this task we restrict the unauthorized access
of different clients.
2. Middle Level:
3. Lower Level:
36
module, Identification Services module, Administration Services module,
Usage Accounting Services module, Caching module.
Data abstraction:
1. Higher Level:
The packets are flowing between proxy server and client and vice
versa.
2. Lower Level:
The data flowing through different modules are IP addresses of
different Machines, Login, Log-off time, services requested and response
provided.
Refinement:
Modularity:
37
Software architecture embodies modularity; that is, software is divided into
separately named and addressable components called modules that are
integrated to satisfy problem requirements. Modularization reduces the effort
and complexity of the problem, hence it should be followed, but care should
be taken to avoid under modularity or over modularity.
Design Techniques:
Bottom up Design
Top-Down Design
Hybrid Design
1. Bottom up Design:
Since the design progress from bottom layer upwards, the method is called
bottom up design. The main argument for this design is that if we start coding
a module soon after its design, the chances of recoding is high; but the coded
module can be tested and design can be validated sooner than module whose
sub modules have not yet been designed .The limitation of this design is that
38
we need to use a lot of intuitions to decide exactly what functionality a
module should provide.
39
2. Top-Down Design:
Most design methodologies are based on this approach and this is suitable, if
the specification is clear and development is from scratch. If coding of a part
start soon after design, nothing can be tested until all its subordinate modules
are coded.
40
3. Hybrid Design:
Pure top-down and pure bottom-up approaches are often not practical. For a
bottom up approach to be successful, we must have a good notion of the top at
which the design should be heading.
Without a good idea about the operations needed at the higher layers, it is
difficult to determine what operations the current layers should support.
41
To permit common sub modules.
Near the bottom of the hierarchy, where the intuitions is simpler, and
the need for the bottom-up testing is greater.
In the use of pre-written library modules, in particular, reuse of
modules.
42
43
44
6.5 Implementation Phase:
The main features of Java which makes it such a widely used language
across the globe are described as follows:
45
were declared to be, or use explicit casts to manipulate them. This
arrangement permits mistakes in variable use to be caught when the program
is compiled, rather than letting them creep into a running program where
they're harder to find. As a result, programs behave in a more predictable
manner.
Java inherits its object-oriented concepts from C++ and other languages
such as Smalltalk. The fact that a programming language is object oriented
may not seem like a benefit to some. Object-oriented programming can be an
intimidating subject to tackle, even if you have some experience programming
with other languages. However, object-oriented programs are more adaptable
for use in other projects, easier to understand, and more bug proof. The Java
46
language includes a set of class libraries that provide basic variable types,
system input and output capabilities, and other functions. It also includes
classes to support networking, Internet protocols, and graphical user interface
functions.
Java Is Safe:
47
against a user's disk drives, an applet cannot, by default, open, read, or write
files on the user's system.
Java is Architecture-Neutral:
The Java designers made several hard decisions in the Java language
and the Java Virtual Machine in an attempt to alter the situation of programs
not running on the same machine after few days. Their goal was “Write once;
run anywhere, any time, forever”.
48
Java is distributed:
Java is Dynamic:
6.6. Testing:
49
result of different phases are evaluated and then compared with the expected
results. If the errors are uncovered they are debugged and corrected. A
strategy approach to software testing has the generic characteristics:
Testing begins at the module level and works outwards towards the
integration of the entire computer based system.
Different testing techniques are appropriate at different point of time.
Testing and debugging are different activities, but debugging must be
accommodating in the testing strategy.
A strategy for the software testing must accommodate low level test
that are necessary to verify that a small source code segment is performing
correctly according to the customers’ requirement and that of developers’
expectations.
Testing Objectives:
50
Testing Principles:
This testing alludes to tests that are conducted at the software interface.
Although they are designed to uncover errors, black-box tests are used to
demonstrate that software functions are operational, that input is properly
accepted and output is correctly produced, and that the integrity of external
information is maintained. A black-box test examines the fundamental aspects
of a system with little regard for internal logical structure of the software.
51
White box testing:
52
with Black Box testing. White Box testing is a test case design method that
uses control structure of procedural design to derive test cases. Using the
white box testing methods, the software engineer can derive test cases that
guarantees that
53
input conditions that will fully exercise all functional requirements for a
program. This approach is complementary to White Box testing and is likely
to uncover a different class of errors than White Box method.
54
Chapter 7: Design
Initiate Session: The ATM establishes the identity of the user and
makes available a list of accounts and actions.
55
• The ATM asks the user to insert a card.
• The user inserts a cash card.
• The ATM accepts the card and reads its serial number.
• The ATM requests the password.
• The user enters password.
• The ATM verifies the password by contacting the bank.
• The ATM displays a menu of accounts and commands.
• The user choices the command to terminate the session.
• The ATM asks the user to insert the card.
Query Account: The system provides general data for an account such
as the current balance, date of last transactions, and date for mailing last
statement.
56
ensures that all completed transactions are ultimately written to the
bank’s database.
57
• The consortium accepts the requests and forwards it to the appropriate
bank.
• The bank receives the requests and retrieves the desired data.
• The bank sends the data to the consortium.
• The consortium routes the data to the ATM.
58
The only permanent data stores are in the bank computers. A database
ensures that data is consistent and available for concurrent access. The ATM
systems process each transaction as a single batch operation, locking an
account until the transaction is complete.
Concurrency arises because there are many ATM stations, each
of which can be active at any time. There can be only one transaction per
ATM station.
The bank computer is the only unit with only unit with any nontrivial
procedures, but even those are mostly just database updates. The only
complexity might come from failure handling. The bank computers must have
capacity to handle the expected worst-case load, and they must have enough
disk storage all transactions.
The system must contain operations for adding and deleting ATM
stations and bank computers. Each physical unit must protect itself against the
59
failure or disconnection from the rest of the network. A database protects
against loss of data. However, a special attention must be paid to failure
during a transaction so that neither the user nor the bank loses money – this
may require a complicated acknowledgement protocol before committing the
transaction.
60
7.4 ATM Simulation Transaction Interaction Diagram
61
7.4 Use Cases for ATM System
The system is started up when the operator turns the operator switch to the
"on" position. The operator will be asked to enter the amount of money
currently in the cash dispenser, and a connection to the bank will be
established. Then the servicing of customers can begin.
62
System Shutdown Use Case
The system is shut down when the operator makes sure that no customer is
using the machine, and then turns the operator switch to the "off" position.
The connection to the bank will be shut down. Then the operator is free to
remove deposited envelopes, replenish cash and paper, etc.
63
A session is started when a customer inserts an ATM card into the card reader
slot of the machine. The ATM pulls the card into the machine and reads it. (If
the reader cannot read the card due to improper insertion or a damaged stripe,
the card is ejected, an error screen is displayed, and the session is aborted.)
The customer is asked to enter his/her PIN, and is then allowed to perform one
or more transactions, choosing from a menu of possible types of transaction in
each case. After each transaction, the customer is asked whether he/she would
like to perform another. When the customer is through performing
transactions, the card is ejected from the machine and the session ends. If a
transaction is aborted due to too many invalid PIN entries, the session is also
aborted, with the card being retained in the machine.
The customer may abort the session by pressing the Cancel key when entering
a PIN or choosing a transaction type.
A transaction use case is started within a session when the customer chooses a
transaction type from a menu of options. The customer will be asked to
furnish appropriate details (e.g. account(s) involved, amount). The transaction
64
will then be sent to the bank, along with information from the customer's card
and the PIN the customer entered.
If the bank approves the transaction, any steps needed to complete the
transaction (e.g. dispensing cash or accepting an envelope) will be performed,
and then a receipt will be printed. Then the customer will be asked whether
he/she wishes to do another transaction.
If the bank reports that the customer's PIN is invalid, the Invalid PIN
extension will be performed and then an attempt will be made to continue the
transaction. If the customer's card is retained due to too many invalid PINs,
the transaction will be aborted, and the customer will not be offered the option
of doing another.
If a transaction is cancelled by the customer, or fails for any reason other than
repeated entries of an invalid PIN, a screen will be displayed informing the
customer of the reason for the failure of the transaction, and then the customer
will be offered the opportunity to do another.
All messages to the bank and responses back are recorded in the ATM's log.
65
A withdrawal transaction asks the customer to choose a type of account to
withdraw from (e.g. checking) from a menu of possible accounts, and to
choose a dollar amount from a menu of possible amounts. The system verifies
that it has sufficient money on hand to satisfy the request before sending the
transaction to the bank. (If not, the customer is informed and asked to enter a
different amount.) If the transaction is approved by the bank, the appropriate
amount of cash is dispensed by the machine before it issues a receipt. (The
dispensing of cash is also recorded in the ATM's log.)
66
transaction is automatically cancelled if the customer fails to insert the
envelope containing the deposit within a reasonable period of time after being
asked to do so.
67
An invalid PIN extension is started from within a transaction when the bank
reports that the customer's transaction is disapproved due to an invalid PIN.
The customer is required to re-enter the PIN and the original request is sent to
the bank again. If the bank now approves the transaction, or disapproves it for
some other reason, the original use case is continued; otherwise the process of
re-entering the PIN is repeated. Once the PIN is successfully re-entered, it is
used for both the current transaction and all subsequent transactions in the
session. If the customer fails three times to enter the correct PIN, the card is
permanently retained, a screen is displayed informing the customer of this and
suggesting he/she contact the bank, and the entire customer session is aborted.
Chapter 8: Conclusion
68
1. Software is restricted to work in a LAN.
2. If the server processor is slow then bottleneck problem on server occur.
3. Software works well in a LAN with star topology and in other
topologies it is restricted to some limited number of clients because of
a single link used.
Once the keyboard & mouse locked, there is no way to unlock them
except restarting the system.
Improper money checking can cause the possibility of a customer
receiving counterfeit banknotes from an ATM.
Although ATMs were originally developed as just cash dispensers, they have
evolved to include many other bank-related functions. In some countries,
especially those which benefit from a fully integrated cross-bank ATM
network (e.g.: Multibanco in Portugal), ATMs include many functions which
are not directly related to the management of one's own bank account, such as:
69
Purchasing
Postage stamps.
Lottery tickets
Train tickets
Concert tickets
Movie tickets
Shopping mall gift certificates
70
Chapter 9: Bibliography and References
1. www.java.com
2. www.sun.java.com
3. www.sitepoint.com
4. www.oreilley.com
5. www.wikipedia.com
71