1.INTRODUCTION
1
1.1
System Overview
This is a new feature which is made available to customers for interaction with banks indirectly. This system registers the bank details from banks and account details from the customers through online and is helpful to the customers to do the online transactions through out the globe. In this system any person can register but have bank account with in registered banks. The aim of this project is to develop an online bank reporting and transaction system which is easily accessible to the customers, official persons(employees) and the administrative department of the banks.
1.2 Purpose In Banks every activity is handled manually such as reports generation etc. Here we can transfer the money through online only with in the same bank, We cannot transfer the money from one account in one bank to all another baml accounts , only a few is possible. If we want to do transactions person has to go to the bank and do all these things.It is a manual process which is time consuming.Here the client is focused with a problem. . This software helps the customers to generate online reports about the bank account details and do the online transactions between different banks with different accounts without any error. This is helpful to customers to do online tranasactions. .This is also helpful for banks .
2
2. SYSTEM ANALYSIS
3
2.1 Problem Definition In Banks every activity is handled manually such as reports generation etc. Here we can transfer the money through online only with in the same bank, We cannot transfer the money from one account in one bank to another account in another account. If we want to do this the person has to go to the bank and do all these things.It is a manual process which is time consuming.Here the client is focused with a problem. .
2.2 Need for Computerization
Portability.
Any user can access the system from a given domain.
Information sharing is made easy.
Highly secure.
Easy to maintain.
2.3 Proposed System In Proposed System we are concentrating on the problems which the customer faced with the existing system .By introducing the Bank Global Access System the customer can have a quick response for the services like transaction service ,report generation etc. Here we can transfer the money from one bank to another bank .To access your account through this system we need a unique number which provides security.
4
3. SYSTEM REQUIREMENTS
3.1 Software Requirements 5
Operating System
: Windows
Technology
: Java/J2EE(Jdbc, Jsp)
Web Technology
: Html, JavaScript
IDE
: Net Beans 6.0
Web Server
: Tomcat
Database
: Oracle
Software's
: J2sdk6.0,Tomcat 6.0 ,Oracle 9i
3.2 Hardware Requirements Hard disk
: 80GB
Processor
: 1.2Ghz
RAM
: 512GB
Display Unit
: 17”ColorMonitor
6
4. SYSTEM DESIGN
4.1 Data Dictionary
7
A data dictionary is a collection of descriptions of the data objects or items in a data model for the benefit of the programmer and others who need to refer to them. A first step in analyzing a system of objects with which users interact is to identify each object and its relationship to other objects. This process is called data modeling results in a picture of object relationships. After each data object or item in is given a descriptive name, its relationship is described the type of data is described, possible predefined values are listed and a brief textual description is provided. This collection can be organized for reference in to a book called data dictionary. When developing programs that use the data model, a data dictionary can be consulted to understand where a data item fits in the structure, what values it may contain and basically what the data item means in real world terms. A data dictionary is a set of Meta data that contain definitions and representations of data elements with in the context of a DBMS a data dictionary is a database in its own dictionary.
Database Tables TNAME BANKACOUNTS
TABTYPE TABLE 8
CLUSTERID
CHECKBOOK
TABLE
COMPOSE
TABLE
CREDITCARD
TABLE
EMPLOYEE
TABLE
GPSI
TABLE
LOGIN
TABLE
NEWACCOUNT
TABLE
OFFREG
TABLE
REG
TABLE Table 4.1.1: Database Tables
TABLE NAME: BANKACOUNTS Field Name
Data Type
Size
GAID
Varchar2
10
BANKNAME
Varchar2
10
ACCOUNTNO
Varchar2
10
BALANCE
Number
(10,2)
9
Table 4.1.2: Bankaccounts TABLE NAME: CHECKBOOK Name
Data Type
Size
GPSI
Varchar2
15
ACCNO
Varchar2
15
PINO
Varchar2
15
NAME
Varchar2
20
OLDCHKBOOKNO
Varchar2
15
NEWCHKBOOKNO
Varchar2
15
STATUS
Varchar2
15
Table 4.1.3: Checkbook
TABLE NAME: COMPOSE Name
Data Type
Size
FROMID
Varchar2
20
TOID
Varchar2
20
SUBJECT
Varchar2
35
MESSAGE
Varchar2
100
MESGNO
Number
4
Table 4.1.4: Compose 10
TABLE NAME: CREDITCARD Name
Data Type
Size
GPSI
Varchar2
15
GAID
Varchar2
15
CUSTOMERNAME
Varchar2
15
ACCOUNTNO
Varchar2
15
CARDTYPE
Varchar2
15
CARDNO
Varchar2
15
DATEOFISSUE
Varchar2
15
DATEOFEXPIRY
Varchar2
15
CARDLIMIT
Varchar2
15
Table 4.1.5: CreditCard
TABLE NAME:EMPLOYEE Name
Data Type
Size
EMPNAME
Varchar2
15
EMPID
Varchar2
15
DOB
Varchar2
15
DESG
Varchar2
15
DOJ
Varchar2
15
BANKNAME
Varchar2
15
GPSI
Varchar2
15
11
Table 4.1.6: Employee
TABLE NAME: GPSI Name
Data Type
Size
BANKNAME
Varchar2
20
GPSI
Varchar2
10
NOB
Varchar2
5
LOCATION
Varchar2
100
Table 4.1.7: Gpsi
TABLE NAME: LOGIN Name
Data Type
Size
USERID
Varchar2
15
PWD
Varchar2
10
TYPE
Varchar2
10
Table 4.1.8: Login
TABLE NAME: NEWACCOUNT Name NAME
Data Type
Size
Varchar2
20
12
ACCNO
Varchar2
15
DOB
Varchar2
20
OPENBAL
Number
(7,2)
BANK
Varchar2
15
GPSI
Varchar2
10
Table 4.1.9: Newaccount
TABLE NAME: OFFREG Name
Data Type
Size
FIRSTNAME
Varchar2
15
LASTNAME
Varchar2
15
GENDER
Varchar2
7
ADDRESS
Varchar2
20
DOB
Varchar2
10
PHNO
Number
14
MOBILE
Number
16
EMAILID
Varchar2
20
DESGNATION
15
EMPID
Varchar2
15
PASSWORD
Varchar2
15
13
BANK
Varchar2
15
GPSI
Varchar2
10
Table 4.1.10: Offreg
TABLE NAME: REG Name
Data Type
Size
USERID
Varchar2
20
PWD
Varchar2
20
FIRSTNAME
Varchar2
20
LASTNAME
Varchar2
GEN
Varchar2
20
ADDR
Varchar2
20
DOB
Date
PNO
Number
MNO
Number
EID
Varchar2
20
DESIG
Varchar2
20
ACCOUNTNO
Varchar2
20
14
BANK
Varchar2
20
GPSI
Varchar2
20
Table 4.1.11: Reg
4.2 Data Flow Diagrams Data flow diagrams represent the flow of data through a system. A DFD is composed of:
Data movement shown by tagged arrows.
Transformation or process of data shown by named bubbles.
Sources and destination of data represented by named rectangles.
Static storage or data at rest denoted by an open rectangle that is named. The DFD is intended to represent information flow but it is not a flow chart and it is
not intended to indicate decision-making, flow of control, loops and other procedural aspects of the system. DFD is a useful graphical tool and is applied at the earlier stages of requirements analysis. It may be further refined at preliminary design states and is used as mechanism for creating a top level structural design for software. The DFD drawn first at a preliminary level is further expanded into greater details: The context diagram is decomposed and represented with multiple bubbles.
Each of these bubbles may be decomposed further and documented as more detailed DFD’s. 15
Notations Messages1
Database
Public
Module
Accept complaint s
Process Squares representing external entities, which are sources or destinations of data.
Process
Arrows representing the data flows, which can either be electronic data or physical items
Open-ended rectangles representing data stores, such as databases It is the permanent database.
Temporary database.
Weak entity
16
Level-0 DFD Diagram for Bank Global Access System
Fig 4.2.1: level-0 DFD for Bank Global Access System
17
Administration
18
Reg
login
D1
D2
P2 Custmr
Custom er
login
Reg
P3
Home page
Cstmr
card
D3
P4 Custom er
card dtls
Acct
D4
P5 Custmr
custmr Cstmr no dtl
sen t
P6
recv e
D5 P7
Sent mmail
Recma il
subjct
subjct
P8
logou t
D6 custmr
detals
Fig 4.2.2: level-0 DFD for Bank Customer 19
D 5
Custmr
Reg
login
D1
D2
P2 Offcial
Official
login
Reg
P3
Home page
Offcial
cstm r
D3
P4
View
Official
dtls
Acct
D4
P5
VewAcc tt
Official
dtls
chk chk
D5
P6
P7
Updt ch
Official
Viw ch
Chk no
Chk no
P8
logou t
D6 custmr
detals
Fig 4.2.3: level-1 DFD for Official person 20
D 5
Sys mngr
:
Sys mngr
login
D1
P2 login
Sys mngr
P3
Home page
GAID
D2
P4 Sys mngr
dtls dtls
GAID
D4
P5 Sys mngr
delet Gaid no
em ply
P6
emp D5 P7
Addem p
deltem p
detls
detls
P8
logou t
D6
detals
Fig 4.2.2: level-1 DFD for Administrator 21
D 5
4.3 Entity-Relationship Diagrams
An E-R Diagram stand for Entity Relationship model is a tool that is commonly used to translate different views of data among managers, users and programmers to fit into a common framework, define data processing and constraint requirements to help us meet the different views and helps to implement the database. The E-R model forms the basis of E-R diagram that represent the conceptual database as viewed by the end user. These diagrams depict the E-R model three main Components:
Entities
Attributes
Relationships
Entities:
An entity at the E-R modeling level actually refers to the entity set not to a single entity occurrence. In other words the word “entity” in the E-R model corresponds to a table and not to a row in the relational environment. The E-R model refers to a specific table row as an entity instance or entity occurrence. An entity is represented by a rectangle containing the entity occurrence. An entity is represented by a rectangle containing the entities name. r
It is denoted by rectangle by specifying the table name in it.
22
Attributes:
Attributes are represented by ovals and are connected to the entity with a line. Each oval contain the name of the attribute it represents. For example Criminal Details entity includes the attributes cid, fname, lname, etc.
Relationship:
A relationship is an association between entities. Each relation is identified so that its name is descriptive of the relation. Ideally the name is an active verb.
23
Name
PID
Empi d
Uid
Acctn o
Pwd
CUSTOMER Doorn o
emp nam e
desgn tn Gaid
A cc o u T nt
OFFICIAL
Pwd Uid
Addres s
ma nag mn t
Stret name City
ADMINISTRATION
24
Uid
Address
Pwd
Stretna
Cit y Doorno
Fig4.3.1: ER diagram for Bank Global Access System
4.4 UML Diagrams UML (Unified Modeling Language): The unified modeling language is a standard language for Specifying, Visualizing, Constructing and documenting the software system and its components. It is a graphical language which provides a vocabulary and set of semantics and rules. The UML focuses on the conceptual and physical representation of the system. It captures the decisions and understandings about systems that must be constructed. It is used to understand, design, configure, maintain and control information about the systems. Diagrams in UML: Diagrams are graphical presentation of set of elements. Diagrams project a system, or visualize a system from different angles and perspectives. The UML has nine diagrams these diagrams can be classified into the following groups. Static: 1. Class diagrams. 2. Object diagrams. 3. Component diagrams. 4. Deployment diagrams 25
Dynamic:
1. Use case diagram. 2. Sequence diagram. 3. Collaboration diagram. 4. State chart diagram. 5. Activity diagram.
Static or structural diagrams: Class diagram: This shows a set of classes, interfaces, collaborations and their relationships. There are the most common diagrams in modeling the object oriented systems and are used to give the static view of a system.
Object diagram: Shows a set of objects and their relationships and are used to show the data structures, the static snapshots of instances of the elements in a class diagram. Like class diagram, the object diagrams also address the static design view or process view of a system.
Component diagram: Shows a set of components and their relationships and are used to illustrate the static implementation view of a system. They are related to class diagrams where in components map to one or more classes, interfaces of collaborations.
Deployment diagram: 26
This shows a set of nodes and their relationships. They are used to show the static deployment view of the architecture of a system. They are related to the component diagrams where a node encloses one or more components.
Dynamic or behavioral diagrams: Use Case diagram: This shows a set of use cases and actors and their relationships. These diagrams illustrate the static use case view of a system and are important in organizing and modeling the behaviors of a system.
Sequence diagram & collaboration diagram: These two diagrams are semantically same i.e. the dynamics of a system can be modeled using one diagram and transform it to the other kind of diagram without loss of information. Both form the Interaction diagram.
Sequence diagram: Sequence diagram is an interaction diagram which focuses on the time ordering of messages it shows a set of objects and messages exchange between these objects. This diagram illustrates the dynamic view of a system.
Collaboration diagram: 27
This diagram is an interaction diagram that stresses or emphasizes the structural organization of the objects that send and receive messages. It shows a set of objects, links between objects and messages send and received by those objects. There are used to illustrate the dynamic vies of a system.
State Chart Diagram and Activity Diagrams: These Diagrams are semantically similar. State chart diagram shows a state machine consisting of states, transitions and activities these illustrates the dynamic view of a system. They focus on the event ordered
Activity Diagrams: Activity diagram shows the flow from one activity to another within a system. The activities may be sequential or branching objects that act and are acted upon. These also show the dynamic view of the system
Sequence Diagrams: A sequence diagram represents the sequence and the interactions of given case or scenario. A sequence diagram shows an interaction arranged in a time sequence. It shows the objects participating in the interaction by their lifetimes and messages they exchange, arranged in a time sequence. A sequence diagram has two dimensions: the vertical dimension represents time; the horizontal dimension represents different objects. The vertical line is called the object's lifeline. The lifeline represents the object's existence during the interaction. An object is shown as box at the top of a dashed vertical line. A role is a slot for an object with in a collaboration that describes the type of object that may play the role and its relationships to other roles. Each 28
ustomer
message is represented by an arrow between lifetimes of two objects. The order in which these message is occur is shown top to bottom on the page. Each message is labeled with message name.
4.4.1 Use case Diagrams 4.4.1.1 Use Caseregistration diagram for Customer: login
view home page
transactions
credit card details
account details
check book status
compose
inbox sent mails
change password
29
Fig 4.4.1.1: Use Case diagram for Customer
Use case ID:SRS-001
Use case name: Customer
Version:1.0
Date:05-03-2009
Source:SRS-001 Summary: User can easily utilize this service without knowledge of computer, in this we provide one option to view, register and has an option to do transactions Preconditions: Any bank account holder ,who wants to online transactions Trigger: User can interact with application from starting stage to end registration process Actor: Public Basic course of events:
Actor Interactions:
Viewing account details about Actor his and do transactions.
interaction
System Responses: must For every request of actor
because depending on the system must give response by request gaid provided to do retrieving data from database transactions.
& updating in database.
Alternative paths: we can use available services Conclusion: Users can do online transactions
30
4.4.1.2
Use Case Diagram for Official person:
31
registration
login
view home page
add customer account details
view all account details
update customers amount
official person
add check book details
view check book details
update check book
add credit card details
view credit card details
delete credit card details inbox sent mails change password
Fig 4.4.1.2: Use Case diagram for Official person
32
Use case ID:SRS-002
Use case name: Official person
Version:1.0
Date:05-03-2009
Source:SRS-002 Summary: Official person can view the all account details and add account details of the new customer and etc,. Preconditions: Official person must belongs to particular bank Trigger: Official person request response get with updated values of database Actor: Official person Basic course of events: Viewing
account
Actor Interactions: details Actor
interaction
System Responses: must For every request of actor
information & adding account because depending on the system must give response by details of the new customer request of customer provide retrieving data from database etc.,.
account openings occurred.
& updating in database.
Alternative paths: we can use available services Conclusion: Official person can view the account details of the customers and add the customers.
4.4.1.3 Use Case diagram for Administrator
33
login
view home page add gpsi
delete gpsi
add employees
administrator
delete employees
compose
inbox
sent mails change password
Fig 4.4.1.3 Use Case diagram for Administrator
Use case name: Administrator Use case ID:SRS-003 Version:1.0
Date:05-03-2009 34
Source:SRS-003 Summary: Administrator view the database for the bank details and deletion the bank gpsi numbers and able to send the messages to customers and official persons. Preconditions: Administrator must belongs to organization Trigger: Administrator request response get with updated values of database Actor: Administrator Basic course of events: Viewing
banks
Actor Interactions: and
System Responses:
official Actor interaction must For every request of actor
personddeletingemployee,addgpsi(global because depending on the system
must
party system index) to the banks.
by
request of administrator response crime
report
responds
give
retrieving
database data from database & updating the database.
Alternative paths: we can use available services Conclusion:
Administrator can view the banks and official person deleting employee,
add gpsi (global party system index) to the banks
Activity Diagram:
35
Fig 4.4.2.1 :Activity Diagram
4.4.3 Class Diagrams
36
User
transaction() account details() credit card details() credit card details() inbox() compose() sentmails()
Official person
Fig 4.4.3.1: Class Diagram for User module
addacc _details() updateamount() credit card details() checkbookdetails() inbox() comose() sent()
Fig 4.4.3.2: Class Diagram for Official module
37
Administrator
addgpsi() addemployee() deleteemployee() inbox() comose() sent()
Fig 4.4.3.3: Class Diagram for Administrator module
4.5 LITERATURE OVERVIEW 38
4.5.1 JAVA: The term Java actual refers to more than just a particular language like Cor Pascal. Java encompasses several parts, including: A high level language – the Java language is a high level one that at a glance looks very similar to C and C++ but offers many unique features of its own. Java byte code - a compiler, such as Sun's javac, transforms the Java language source code to byte code that runs in the JVM. Java Virtual Machine (JVM) – a program, such as Sun's java, that runs on a given platform and takes the byte code programs as input and interprets them just as if it were a physical processor executing machine code.
Fig 4.5.1: Architecture of Java Virtual Machine
4.5.1.1 FEATUERS OF JAVA: •
Platform Independence
39
o
The Write-Once-Run-Anywhere ideal has not been achieved (tuning for different platforms usually required), but closer than with other languages.
•
Object Oriented o
Object oriented throughout - no coding outside of class definitions, including main ().
o •
An extensive class library available in the core language packages.
Compiler/Interpreter Combo o
Code is compiled to byte codes that are interpreted by a Java virtual machines (JVM) .
o
This provides portability to any machine for which a virtual machine has been written.
o
The two steps of compilation and interpretation allow for extensive code checking and improved security.
•
Robust o
Exception handling built-in, strong type checking (that is, all data must be declared an explicit type), local variables must be initialized.
•
•
Several dangerous features of C & C++ eliminated: o
No memory pointers
o
No preprocessor
o
Array index limit checking
Automatic Memory Management o
•
Automatic garbage collection - memory management handled by JVM.
Security o
No memory pointers
o
Programs run inside the virtual machines and box.
o
Array index limit checking
o
Code pathologies reduced by 40
byte code verifier - checks classes after loading
Class loader - confines objects to unique namespaces. Prevents loading a hacked "java.lang.SecurityManager" class, for example.
Security manager - determines what resources a class can access such as reading and writing to the local disk.
•
•
Dynamic Binding o
The linking of data and methods to where they are located is done at run-time.
o
New classes can be loaded while a program is running. Linking is done on the fly.
o
Even if libraries are recompiled, there is no need to recompile code that uses classes in those libraries.
o
This differs from C++, which uses static binding. This can result in fragile classes for cases where linked code is changed and memory pointers then point to the wrong addresses.
Good Performance o
Interpretation of byte codes slowed performance in early versions, but advanced virtual machines with adaptive and just-in-time compilation and other techniques now typically provide performance up to 50% to 100% the speed of C++ programs.
•
Threading o
Lightweight processes, called threads, can easily be spun off to perform multiprocessing.
o
Can take advantage of multiprocessors where available
o
Great for multimedia displays.
4.5.2 JAVA SERVER PAGES: 4.5.2.1 Introduction to JSP: 41
JSP (Java Server Pages) technology provides a simplified, fast way to create dynamic web content. JSP technology enables rapid development of web-based applications that are serverindependent and platform-independent. JSP simply puts Java inside HTML pages. JSP is being turned into a Java file, compiled and loaded. This compilation only happens once, so after the first load, the file doesn't take long to load anymore. Every time you change the JSP file, it will be re-compiled again. Every JSP page will have a corresponding servlet which is generated by ‘JSP Engine’ (which is a part of web container and itself is a servlet) Corresponding servlet for JSP is generated only once when JSP is requested for the first time.
CLIENT
Request
IS VALI D
JSP
Text Yes Response
No
COMPILE
SERVLET
Class
Fig 4.5.2: Block Diagram for JSP The following are the jsp tags that are used for the implementation of the current project. TYPE OF TAG Script let tags Expression tags Declaration tags Comments
SYNTAX
DESCRIPTION
<% code %>
These are inserted into the servlets service () method <%= and %> encloses java expressions, which are evaluated at run time <%! Java code %> for processing the request outside of the service() method <%--comment-- %> A jsp comment, ignored by jsp to script let translator A HTML comment. 42
Table: The used JSP tags
4.5.3 INTRODUCTION TO JDBC JDBC (Java Database Connectivity) is an API developed by Sun Microsystems that provides a standard way to access data using the Java programming language. Using JDBC, an application can access a variety of databases and run on any platform with a Java Virtual Machine. It isn't necessary to write separate applications to access different database systems (Oracle and Sybase, for example). Using JDBC allows you to write one application that can send SQL statements to different database systems. SQL is the standard language for accessing relational databases. The JDBC API defines a set of Java interfaces that encapsulate major database functionality, such as running queries, processing results, and determining configuration information. Because JDBC applications are written in Java, applications work on any platform. The JDBC API makes it possible to do three things: •
Establish a connection with a database or access any tabular data source
•
Send SQL statements
•
Process the results
4.5.3.1 JDBC DRIVERS: Today, there are four types of JDBC drivers in use: •
Type 1: JDBC-ODBC bridge
•
Type 2: partial Java driver
•
Type 3: pure Java driver for database middleware
•
Type 4: pure Java driver for direct-to-database
43
In this project we are using Type4 driver which provides best database connectivity for internet based application. TYPE 4: NATIVE-PROTOCOL/ALL-JAVA DRIVER: The native-protocol/all-Java driver (JDBC driver type 4) converts JDBC calls into the vendor-specific database management system (DBMS) protocol so that client applications can communicate directly with the database server. Level 4 drivers are completely implemented in Java to achieve platform independence and eliminate deployment administration issues.
Client Machine Netprotocol/a ll-Java driver
Server Machine Data Base Server
Fig 4.5.3: Native-protocol/all-Java driver Web Application Archives: Web clients are packaged in web application archives. In addition to Web components, a Web application archive usually contains other files, including the following: •
Server-side utility classes (database beans and so on).
•
Of the these classes conform to the JavaBeans component architecture
•
Static Web content (HTML, image, and sound files, and so on).
•
Client-side classes (applets and utility classes).
The top-level directory of a WAR is the document root of the application. The document root is JSP pages, client-side classes and archives, and static Web resources are stored. The document root contains a subdirectory called WEB-INF, which contains the following files and directories. 44
•
web.xml: The Web application deployment descriptor
•
Tag library descriptor files.
•
Classes: A directory that contains server-side classes: servlets, utility classes, and JavaBeans components.
•
Lib: A directory that contains JAR archives of libraries (tag libraries and any utility libraries called by server-side classes).
War file is created like this way Jar cvf archiveName.war.
4.5.4. ORACLE: Oracle is a relational database management system, which organizes data in the form of tables. Oracle is one of many database servers based on RDBMS model, which manages a seer of data that attends three specific things-data structures, data integrity and data manipulation. With oracle cooperative server technology we can realize the benefits of open, relational systems for all the applications. Oracle makes efficient use of all systems resources, on all hardware architecture; to deliver unmatched performance, price performance and scalability. 4.5.4.1 DISTINCT FEATURES OF ORACLE: Oracle is Portable: The Oracle RDBMS is available on wide range of platforms ranging from PCs to super computers and as a multi user loadable module for Novel NetWare, if you develop application on system you can run the same application on other systems without any modifications. Oracle is Compatible: Oracle commands can be used for communicating with IBM DB2 mainframe RDBMS that is different from Oracle that is Oracle compatible with DB2. Oracle RDBMS is a high performance fault tolerant DBMS, which is specially designed for online transaction processing and for handling large database applications. 45
Multithreaded Server Architecture: Oracle adaptable multithreaded server architecture delivers scalable high performance for very large number of users on all hardware architecture including symmetric multiprocessors (sumps) and loosely coupled multiprocessors. Performance is achieved by eliminating CPU, I/O, memory and operating system bottlenecks and by optimizing the Oracle DBMS server code to eliminate all internal bottlenecks.
4.5.4.2 FEATURES OF ORACLE: Most popular RDBMS in the market because of its ease of use •
Client/server architecture.
•
Data independence.
•
Ensuring data integrity and data security.
•
Managing data concurrency.
•
Parallel processing support for speed up data entry and online transaction processing used for applications.
•
DB procedures, functions and packages.
Database Design: Database design is an important phase in designing a system. During this phase care should be taken to avoid redundancy of information storing into a database, since it leads to wastage of memory space. For this purpose a normalization technique has been applied here exhaustively to design the databases. Normalization Normalization is a process of simplifying the relationship between data elements in a record. Through normalization a collection of data in a record structure is replaced by successive record structures that are simpler and more predictable and therefore more manageable. First Normal Form
46
A repeating group, the recurrence of a data item or group of data items with in a record is actually another relation. Second Normal Form Second normal form is achieved when a record is in first normal form and each item in the record is fully dependant on the primary key distinguishes the records. Third Normal Form Third normal form is achieved when transitive dependencies are removed from a record design List of SQL statements that can be issued against an Oracle database schema are: •
ALTER-Change an existing table, view or index definition(DDL)
•
COMMIT-Make all recent changes permanent(DML-transitional)
•
CREATE-Create new database objects such as tables or views
•
DELETE-Delete a rows from a database table(DML)
•
DROP-Drop a database object such as tables, view or index(DDL)
•
INSERT-Insert new data into a database table(DML)
•
SELECT-Retrieve data from a database table(DML)
•
UPDATE-Change the values of some data items in the database table(DML)
4.5.5 HTML 4.5.5.1 Introduction to HTML: HTML are initials that stand for Hyper Text Markup Language •
Hyper is the opposite of linear. It used to be that computer programs had to move in a linear fashion. This before this, this before this, and so on. HTML does not hold to that pattern and allows the person viewing the World Wide Web page to go anywhere, any time they want.
•
Text is what you will use. English letters, just like you use everyday..
•
Markup is what you will do. You will write in plain English and then mark up what you wrote.
•
Language. Some may argue that technically html is a code, but you write html in plain, everyday English language.
47
HTML is the code behind your webpage and is what your browser looks for to display a webpage, the way the webdesigner intended it to look, and is a series of tags that tells the browser where to display what. It is really a series of simple commands that you give to the browser, just like telling your dog to sit, and because it is in plain English it is easy to learn. For example, if you want your text to show in a bold type, you command it to be bold text , it really is that easy. Keep this in mind: HTML documents must be text only. When you save a HTML document, you must save only the text, nothing else. HTML browsers can only read text. Look at your keyboard. See the letters and numbers and little signs like % and @ and *? There are 128 in all (read upper- and lowercase letters as two). That's text. That's what the browser reads. It simply doesn't understand anything else.
48
5. Coding and Implementation
5. Implementaion 5.1 Modules
Administrator
Customer
Official person/employee
5.2 Module Description Administrator: 49
From this module admin register the banks GPSI and add employee’s. The employee details are stored into the Employee Database. The Gpsi details are stored into the Gpsi Database
Administrator also have rights to delete the banks gpsi and employees from banks GAID(Global Acess ID) provided to customer through web or telephone for online money transactions. Composing the mail to others like customer and official persons. Check the inbox messages. Check the status of the sented mails list. Password changing is also possible this is for security purpose
Customer: From this module customer register with the help of bank account details. The customer transfer the money from one account to another account between different banks View the credit card details and account details View the check book status Composing the mail to others like customer and official persons. Check the inbox messages. 50
Check the status of the sented mails list. Password changing is also possible this is for security purpose
Official person: This module gives main responsibility to add the account details of the customers
Update the customer account details and amount. Update the customer credit card details and check book details He is also having the responsibility to provide the GAID to customers(administrator provided) Composing the mail to others like customer and official persons. Check the inbox messages. Check the status of the sented mails list. Password changing is also possible this is for security purpose
5.3 User Characteristics:
Description Who
Customer
What
The person who has an account
When
When he wants to any transactions.
Where
Through Internet. 51
Why
To Deposit or Withdraw.
How
By using Global Access ID provided by the administrator or official person
Table 5.3.1: User Characteristics of Customer
Description Who
Admin
What
Maintaing the database.
When
If he wants any changes in the database.
Where
Through Internet.
Why
To maintain System
How
Through our application
Table 5.3.2 User Characteristics of Admin
Description Who
Official
What
Cashier.
When
When he wants to do any modifications.
Where
Through Internet
Why
To maintain the system.
How
Through our application 52
Table 5.3.3 User Characteristics of Official person
5.4 Functional Requirements As we have mentioned in the proposed system, we are implementing the facilities like view the account details and do the online transactions.here we are providing the facility to do transactions in more secure manner.. Adding Employee: First the administrator add the employee after that official peron login,and he add the customers account details .GAID is provided for online transactions through mail or by hand or phone .
Registration Of Official person: Administrator has add the employee details after the official person registered with the help of those requirements provided by the administration. after login he add the account details of the customer and update the customers amount, creditcard details, check book status.
Customer Registration
53
The customer registered with the help of account details provided by the official person(banks).after login he want to do the money transaction need GAID(Gblobal Access ID) it is provided by administrator through telephone or mail or by hand. This GAID is a unique number through out the globe.
6. TESTING 54
6. TESTING 6.1 Testing Techniques Software testing is a critical element of software quality assurance and represents the ultimate reviews of specification, design and coding. Testing represents an interesting anomaly for the software. During earlier definition and development phases, it was attempted to build software from an abstract concept to a tangible implementation. No system is error free because it is so till the next error drops up during any phase of the development or usage of the product. A sincere effort however needs to be put to bring out a product that is satisfactory. The testing phase involves the testing of development system using various data. Preparation of the test data plays a vital role in system testing. After preparing the test data, the system under study was tested using those data. While testing the system, by using the test data, errors were found and corrected by using the following testing steps and corrections were also noted for future use. Thus, a series of testing is performed on the proposed system before the system is ready for implementation.
Software Testing:
55
As the coding is completed according to the requirement we have to test the quality of the software. Software testing is a critical element of the software quality assurance and represents the ultimate review of specification, design and coding. Although testing is to uncover the errors in the software functions appear to be working as per the specification, those performance requirements appear to have been met. In addition, data collected as testing is conducted provide good indication of software reliability and some indications of software quality as a whole. To assure the software quality we conduct both white box testing and black box testing. White box testing White box testing is a test case design method that uses the control structure of the procedural designs to derive test cases. As we are using a non procedural language, there is very small scope for the white box testing. Whenever it is necessary, there the control structures are tested and successfully passed all the control structures with a very minimum errors. Black box testing It focuses on the functional requirements of the software. It enables to derive sets of input conditions that will fully exercise all functional requirements for a program. The Black box testing finds almost all errors. It finds some interface errors and errors in accessing the database and some performance errors. In Black box testing we use two techniques equivalence partitioning the boundary volume analyzing technique. Equivalence Partitioning In this method we divide input domain of a program into classes of data from which test cases are derived. An equivalence class represents a set of valid or invalid or a set of related values or a Boolean condition. The equivalence for these are Input condition requires specific value or specific or non specific two classes. 56
Input condition requires a range in the range or out of range two classes. Input condition specifies a member of a set belongs to a set or not belongs to set two classes. Input condition is Boolean valid or invalid Boolean condition two classes.
Boundary Values Analysis: Number of errors usually occurs at the boundaries of the input domain generally. In this technique a selection of test cases is exercised using boundary values i.e., around boundaries.
System testing: It is designated to uncover weakness that was not detected in the earlier tests. The total system is tested for recovery and fallback after various major failures to ensure that no data are lost. An acceptance test is done to validity and reliability of the system. The philosophy behind the testing is to find error in project. There are many test cases designed with this in mode. The flow of testing is as follows
Code Testing : Specification testing is done to check if the program does with it should do and
how it should behave under various condition or combinations and submitted for processing in the system and it is checked if any overlaps occur during the processing. This strategy examines the logic of the program. Here only syntax of the code is tested. In code testing syntax errors are corrected, to ensure that the code is perfect.
57
Unit Testing :
The first level of testing is called unit testing. Here different modules are tested against the specification produced ruing the design of the modules. Unit testing is done to test the working of individual modules with test oracles. Unit testing comprises a set of tests performed by an individual programmer prior to integration of the units into a large system. A program unit is usually small enough that the programmer who developed it can test it in a great detail. Unit testing focuses first on the modules to locate errors. These errors are verified and corrected so that the unit perfectly fits to the project.
System Testing :
The next level of testing is system testing and acceptance testing. This testing is done to check if the system has met its requirements and to find the external behavior of the system. System testing involves two kinds of activities.
Integration testing
Acceptance testing The next level of testing is called the Integration testing. In this many tested
modules are combined into subsystems, which were then tested. Test case data is prepared to check the control flow of all the modules and to exhaust all possible inputs to the program. Situations like treating the modules when there is no data entered in the test box is also tested. This testing strategy dictates the order in which modules must be available and exerts strong influence on the order in which the modules must be written, debugged and unit tested. In integration testing, all modules on which unit testing is performed are integrated together and tested. 58
Acceptance testing: This testing is performed finally by user to demonstrate that the implemented system satisfies its requirements. The user gives various inputs to get required outputs.
Specification Testing:
This is done to check if the program does what it should do and how it should behave under various conditions or combination and submitted for processing in the system and it is checked if any overlaps occur during the processing. Performance Time Testing:
This is done to determine how long it takes to accept and respond i.e., the total time for processing when it has to handle quite a large number of records. It is essential to check the exception speed of the system, which runs well with only a handful of test transactions. Such systems might be slow when fully loaded. So testing is done by providing large number of data for processing. A system testing is designed to uncover weaknesses that were not detected in the earlier tests. The total system is tested for recovery and fall back after various major failures to ensure that no data is lost during an emergency. An acceptance test is done to ensure about the validity and reliability of the system. Test cases:
Majority of SI & SM functional test cases defined in this document will be re used to prepare for SM and SC end to end call flow functional and performance testing. The objective is to have one common set of SI and SM test data so that the SM, SC, Performance, 59
and High availability test teams can maximize their time to verify the key CCE features as advertised to the customer.
6.2 Test Cases: 6.2.1 TEST CASES FOR OUR SYSTEM: 1. Customer Module: Test Case
Customer module
Test Description
To verify whether the customer has do any transaction.
Pre Conditions
The customer has to login to the system
Action Performed
transfer/submit button is clicked
Expected Results
Transaction successfully done
Conditions Verified
Yes
Result
Success
Table 6.2.1: Test case forCustomer Module
2. Admin Module: Test Case
Admin Module
Test Description
To view/add the GPSI numbers to the banks and add employees.
60
Pre Conditions
Admin has to login to the system
Action Performed
transfer/submit button is clicked
Expected Results
The GPSI numbers and employee details of the bank are added into the database successfully .
Conditions Verified
Yes
Result
Success
Table 6.2.2: Test case for Administrator Module
3. Official person Module Test Case
Official person module
Test Description
To add the account details of the customers.
Pre Conditions
The official person has to login to the
Action Performed
system View add customer button is clicked
Expected Results
The customer account details added successfully.
Conditions Verified
Yes
Result
Success
Table 6.2.3: Test case for Official person Module
61
7. USER INTERFACES
62
Fig 7.1: Home Page
Fig 7.2: Contact US Page 63
Fig 7.3: About Us Page
Fig 7.4: Login Page Fig 7.5: Services Page 64
Fig 7.6: Official Registration Page
Fig 7.7: Customer Registration Page
65
Fig 7.8: VeriSign Identity Protection Network Page
Fig 7.9: Admin Home Page
66
Fig 7.10: Adding the GPSI for banks
Fig 7.11: Gpsi of banks added Successfully
67
Fig 7.12: Details of GPSI Page
Fig 7.13: Deletion of GPSI of banks Page 68
Fig 7.14: GPSI details deleted successfully
Fig 7.15: Adding Employee Details Page
69
Fig 7.16: Adding Employee Details Successfully Page
Fig 7.17: Deleting Employee Details Page 70
Fig 7.18: Deleting Employee Details Successfully Page
71
Fig 7.19: Messgae Composing Home Page
Fig 7.20: Composing the message Successfully Page
72
Fig 7.21: Inbox Page of Admin
Fig 7.22: Sent mails details Page
73
Fig 7.23: Deleting the messages from inbox/sent mails Page
Fig 7.24: Admin Change Password Page
74
Fig 7.25: Login Page of Customer
Fig:7.26:Custome Home Page
75
Fig:7.27:Transaction Page of Customer
Fig:7.28:Creditcaard details Page
76
Fig:7.29:Creditcaard details Page
Fig:7.30:Account Details Page
Fig:7.31:Check Book Status Page 77
Fig:7.32:Official Login Page
Fig:7.33:Official Login Page
78
Fig:7.34:Add Cusomer Account details Page
Fig:7.35: View Customer Account details Page 79
Fig:7.36:View Update Amount details of Customer
Fig:7.37:Update Check Book Details of Customer Page 80
Fig:7.38:View Check Book Details Page
Fig:7.39:Update Check Book Details Page 81
Fig:7.40:Add Credit Card Details Page
Fig:7.41:View Credit Card Details Page 82
Fig:7.42:Delete Credit Card Details Page
Fig:7.43:Logout Page 83
84
8. CONCLUSION
8. Conclusion
85
The system is developed after analyzing the all requirements of bank customers and it provides an efficient service to the banks and its customers globally by using GAID (Global Access ID), GPSI (Global Party System Index) and PI (Party Identifier).
86
9. REFERENCES
9. References 1. Software Engineering Author: Roger’s. Pressman 2. Database System Concepts 4th edition Author: Silberschatz, Korth, Sudarshan 3. Desinging the user interface 87
Author: Ben Shneiderman 4. The Complete Reference JAVA2 Author: Patrick Naughton, Herbert Schildt 5. Java Certification Author: Jaworsick
Web Sources: www.codeproject.com www.1000projects.com www.123aspx.com www.w3schools.com
88