You are on page 1of 43

Integrated PROJECT REPORT

ON

INTERNET BANKING
SUBMIITED IN PARTIAL FULFILLMENTOF THE DEGREE OF BE(CSE)

Under the guidance of: Name: Amit kumar Arora Designation: Lecturer Department: CSE

Submitted by: Hani Jindal Id No: b100010117 Cherish Id No: b100010084

Ishu Gupta Id No: b100010133 Isha Sood Jigmed Id No:b100010128 Id No:b100010148

ACKNOWLEDGMENT
We have taken efforts in this project. However, it would not have been possible without the kind support and help of many individuals and organizations. We would like to extend my sincere thanks to all of them. I am highly indebted to Mr. Amit Kumar Arora for their guidance and constant supervision as well as for providing necessary information regarding the project & also for their support in completing the project. I would like to express my gratitude towards my parents & member of Chitkara University for their kind co-operation and encouragement which help me in completion of this project. I would like to express my special gratitude and thanks to industry persons for giving me such attention and time. My thanks and appreciations also go to my colleague in developing the project and people who have willingly helped me out with their abilities.

PREFACE

Internet banking project explains about a online software application which can handle different banking functions through online like online money transfer, balance enquiry, cheque book request and customer service. This project report will cover details about model diagram, literature survey, system analysis, hardware and software requirements, system design and system testing. This application is implemented in Asp.Net language which contains different modules for customers and bank employees. At present online banking usage had increased and because of online banking facility banking customers are increasing. Online banking application can save time for customers to access their account information. This application will provide different facilities like online report generation like bank statements.Etc for customers and employees.

\CONTENTS
Topics Introduction Project undertaken Introduction to assigned job Feasibility study Requirements Analysis Design Testing Future enhancements Conclusion Bibliography Page No. 5 12 13 14 15 16 17 38 41 42 43

INTRODUCTION

Online banking (or Internet banking or E-banking) allows customers of a financial institution to conduct financial transactions on a secure website operated by the institution, which can be a retail or virtual bank, credit union or building society. To access a financial institution's online banking facility, a customer having personal Internet access must register with the institution for the service, and set up some password (under various names) for customer verification. The password for online banking is normally not the same as for telephone banking. Financial institutions now routinely allocate customer numbers (also under various names), whether or not customers intend to access their online banking facility. Customer numbers are normally not the same as account numbers, because a number of accounts can be linked to the one customer number. The customer will link to the customer number any of those accounts which the customer controls, which may be cheque, savings, loan, credit card and other accounts.

Features

Online banking facilities offered by various financial institutions have many features and capabilities in common, but also have some that are application specific. The common features fall broadly into several categories

A bank customer can perform some non-transactional tasks through online banking, including o viewing account balances o viewing recent transactions o downloading bank statements, for example in PDF format o viewing images of paid cheques o ordering cheque books Bank customers can transact banking tasks through online banking, including o Funds transfers between the customer's linked accounts o Paying third parties, including bill payments (see, eg., BPAY) and telegraphic/wire transfers o Investment purchase or sale o Loan applications and transactions, such as repayments of enrollments Financial institution administration

Management of multiple users having varying levels of authority Transaction approval process

Some financial institutions offer unique Internet banking services, for example

Personal financial management support, such as importing data into personal accounting software. Some online banking platforms support account aggregation to allow the customers to monitor all of their accounts in one place whether they are with their main bank or with other institutions.

ASP.NET

ASP.NET is a Web application framework developed and marketed by Microsoft to allow programmers to build dynamic Web sites, Web applications and Web services. It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language. The ASP.NET SOAP extension framework allows ASP.NET components to process SOAP messages.

Architecture of ASP.NET
3-Tier architecture of ASP.NET generally contains UI or Presentation Layer, Business Access Layer (BAL) or Business Logic Layer and Data Access Layer (DAL).

Presentation Layer (UI) Presentation layer cotains pages like .aspx or windows form where data is presented to the user or input is taken from the user. Business Access Layer (BAL) or Business Logic Layer BAL contains business logic, validations or calculations related with the data, if needed. I will call it Business Access Layer in my demo. Data Access Layer (DAL) DAL contains methods that helps business layer to connect the data and perform required action, might be returning data or manipulating data (insert, update, delete etc). For this demo application, I have taken a very simple example. I am assuming that I have to play with record of persons (FirstName, LastName, Age) and I will refer only these data through out this article.

Conclusion
By using 3-Tier architecture in your project you can achive 1. Seperation - the functionality is seperated from the data access and presentation so that it is more maintainable 2. Independence - layers are established so that if one is modified (to some extent) it will not affect other layers. 3. Reusability - As the layers are seperated, it can exist as a module that can be reused by other application by referencing it.

Characteristics

Pages ASP.NET Web pages, known officially as Web Forms are the main building block for application development. Web forms are contained in files with an ".aspx" extension; these files typically contain static HTML markup, as well as markup defining server-side Web Controls and User Controls where the developers place all the required static and dynamic content for the Web page. Additionally, dynamic code which runs on the server can be placed in a page within a block <% -- dynamic code -- %>, which is similar to other Web development technologies such as PHP, JSP, and ASP. With ASP.NET Framework 2.0, Microsoft introduced a new code-behind model which allows static text to remain on the .aspx page, while dynamic code remains in an .aspx.vb or .aspx.cs or .aspx.fs file (depending on the programming language used). Directives A directive is special instructions on how ASP.NET should process the page.[11] The most common directive is <%@ Page %> which can specify many attributes used by the ASP.NET page parser and compiler.

User controls
User controls are encapsulations of sections of pages which are registered and used as controls in ASP.NET. User controls are created as ASCX markup files. These files usually contain static HTML markup, as well as markup defining server-side Web controls. These are the locations where the developer can place the required static and dynamic content. A user control is compiled when its containing page is requested and is stored in memory for subsequent requests. User controls have their own events which are handled during the life of ASP.NET requests. An event bubbling mechanism provides the ability to pass an event fired by a user control up to its containing page. Unlike an ASP.NET page, a user control cannot be requested independently; one of its containing pages is requested instead.

Session state

Server-side session state is held by a collection of user-defined session variables that are persistent during a user session. These variables, accessed using the Session collection, are unique to each session instance. The variables can be set to be automatically destroyed after a defined time of inactivity even if the session does not end. Client-side user session is maintained by either a cookie or by encoding the session ID in the URL itself. ASP.NET supports three modes of persistence for server-side session variables:

In-Process Mode The session variables are maintained within the ASP.NET process. This is the fastest way; however, in this mode the variables are destroyed when the ASP.NET process is recycled or shut down.

ASP State Mode ASP.NET runs a separate Windows service that maintains the state variables. Because state management happens outside the ASP.NET process, and because the ASP.NET engine accesses data using .NET Remoting, ASP State is slower than In-Process. This mode allows an ASP.NET application to be load-balanced and scaled across multiple servers. Because the state management service runs independently of ASP.NET, the session variables can persist across ASP.NET process shutdowns. However, since session state server runs as one instance, it is still one point of failure for session state. The session-state service cannot be load-balanced, and there are restrictions on types that can be stored in a session variable.

SqlServer Mode State variables are stored in a database, allowing session variables to be persisted across ASP.NET process shutdowns. The main advantage of this mode is that it allows the application to balance load on a server cluster, sharing sessions between servers. This is the slowest method of session state management in ASP.NET.

View state

View state refers to the page-level state management mechanism, utilized by the HTML pages emitted by ASP.NET applications to maintain the state of the Web form controls and widgets. The state of the controls is encoded and sent to the server at every form submission in a hidden field known as __VIEWSTATE. The server sends back the variable so that when the page is rerendered, the controls render at their last state. At the server side, the application may change the view state, if the processing requires a change of state of any control. The states of individual controls are decoded at the server, and are available for use in ASP.NET pages using the View [ State collection. The main use for this is to preserve form information across postbacks. View state is turned on by default and normally serializes the data in every control on the page regardless of whether it is actually used during a post back. This behavior can (and should) be modified, however, as View state can be disabled on a per-control, per-page, or server-wide basis.

Developers need to be wary of storing sensitive or private information in the View state of a page or control, as the base64 string containing the view state data can easily be de-serialized. By default, View state does not encrypt the __VIEWSTATE value. Encryption can be enabled on a server-wide (and server-specific) basis, allowing for a certain level of security to be maintained

Microsoft SQL Server


Microsoft SQL Server is a relational database server, developed by Microsoft: it is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). There are at least a dozen different editions of Microsoft SQL Server aimed at different audiences and for different workloads (ranging from small applications that store and retrieve data on the same computer, to millions of users and computers that access huge amounts of data from the Internet at the same time).

PROJECT UNDERTAKEN

COMPLETE OBJECTIVE
The main objective of the proposed solution is to automate the various function and activities of the bank through. The solution will facilitate to the bank employees and the account holders with the different modules. This solution is very much necessary for the private sector banks and the corporate sector. The banking industry will take a new shape and explore like never before. Using the solution the bankers and the account holders cant generate various kinds of reports.

NEEDS TO CHOOSE PROJECT


To understand the need and benefits offered by Internet Banking. We need to know and Understand traditional form of Banking, its limitation and shortcoming:

Customer need to visit the bank regularly Customer has to wait in queue for his turn Customer need to update his passbook regularly Customer need to fill various form before his query is resolved Customer has to visit the bank if he/she want to update address

To overcome this limitation and short comes we need this project.

INDUSTRY APPLICATION
This project can be developed into professional internet banking solution for providing online banking services to customers of various banks in a real time environment.

INTRODUCTION TO ASSIGNED JOB

1. Database Creation: Ishu Gupta and Isha Sood had done creation of database. The database is in 2 NF. 2. Maintain Layout: Jigmed Wangchuk and Cherish Sharma had worked on creating layout, links. 3. Security: Hani jindal is working on Security part during transaction. 4. Linkage of Databases: Hani jindal had done linkage of databases.

FEASIBILITY STUDY
The purpose of feasibility study is not to solve the problem, but to determine whether the problem is worth solving. The feasibility study of internet banking project concentrates on the following area:

Operational Feasibility
Operational feasibility study tests the operational scope of the software to be developed. Internet banking software will have high operational feasibility. The usability will be high.

Technical Feasibility
The technical feasibility study compares the level of technology available in the software development and the level of technology required for the development of the product. Here the level of technology consists of the programming language, the hardware resources, Other software tools etc. In internet banking commonly used language Asp.Net which is compatible with most widely used windows platform is used which makes it a highly technically feasible to develop and implement in daily usage.

Economic Feasibility
The economic feasibility study evaluate the cost of the software development against the ultimate income or benefits gets from the developed system. There must be scopes for profit after the successful Completion of the project. In case of internet banking project, since common language Asp.Net which is compatible with existing system is used. There involves no extra cost of software or hardware. It will save enormous amount of time for the banks customer and HR resources for the bank making it economically viable to implement.

REQUIREMENTS

Hardware Requirements
Processor Motherboard Monitor Cache Memory Floppy Disk Drive CD ROM RAM Key Board ' Mouse Hard Disk AMD Sempron 2200+ ASRock K7VM3 15" SVGA Color Monitor 256K 1.44MB 52X 128MB Standard 101/102 key PS/2 compatible 100 MB of Free space

Software Requirements
Operating System Windows 2000 or Higher

Platform

.Net (ASP.Net and VB.Net)

Back End

MS SQL Server 200

Server

Windows Server 2003

ANALYSIS

MODULAR DECSRIPTION

1. Money transaction module In money transaction, customer is able to send this money from one account to another account of same bank. In this module, customer has to add payee (person to whom he want to transfer money). If payee name and account number is not present in database, then customer will not able to transfer money. Then he has to enter the amount of money he wants to transfer. If the amount he wants to transfer is larger than the amount present in this account, then it will show error. Then customer has to enter the transaction password. If the password is same that is present by bank authority, then only transaction is possible else it will show error. 2. Transaction module In transaction module, customer able to see the transaction he had done in past days. In this module, he has to enter the date from where he wants to see transaction he had done. 3. Add payee module In this module, user is able to add the other customer to whom he wants to transfer funds/money. In this module, customer has to enter other customer name and his/her account number. If entered information is not present in the database, then it will show error. 4. Cheque book request module In this module, customer is able to request for new cheque book. He will be given option for cheque book of 25 pages or 50 pages. If customer has request cheque recently, then he will not be able to request again for certain period of time. 5. Account summary In this module, customer is able to see his account number and name. Also, the current balance present in the account and the last 5 transaction he had made in past. 6. Change password In this module, customer can change his login password any time.

DESIGN

Database Management System (DBMS)


A database management system (DBMS) is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators (DBAs) and other specialists. A database is an integrated collection of data records, files, and other objects. A DBMS allows different user application programs to concurrently access the same database. DBMSs may use a variety of database models, such as the relational model or object model, to conveniently describe and support applications. It typically supports query languages, which are in fact high-level programming languages, dedicated database languages that considerably simplify writing database application programs. Database languages also simplify the database organization as well as retrieving and presenting information from it. A DBMS provides facilities for controlling data access, enforcing data integrity, managing concurrency control, and recovering the database after failures and restoring it from backup files, as well as maintaining database security.

The database design transforms the information domain model created during the analysis into the data structures (tables) that will be required to implement the system or software. The database design is made up of two levels 1. Conceptual Level 2. Normalization

Conceptual Level

This level represents major data objects and relationships between them. Conceptual level, describes the features of the system data. Just like a DFD for a system, the conceptual level uses symbols from a modeling method called Entity- Relationship Analysis. Entity -Relationship Analysis uses three major abstractions to describe data.

Entities, which are distinct in the system. > Relationships, which have meaningful interaction between objects. > Attributes, which are properties of entities, have relationships.

An entity is a conceptual representation of an object. Relationships between them make up data base structure. Three types of relationships exist among the entities. They are One-to-One, Oneto-many, Many-to-Many relationships. A One-to-One (1:1) relationship is an association between two entities. A One-to-Many (1: M) relationship describes an entity that may have two or more entities related to it. A Many-to-Many (M: M) relationship describes entities that may have relationships in both directions.

After the conceptual level, the next level of process of database design to organize the database structure into a good shape is called Normalization. The normalization simplifies the entities, removing redundancies from the system data and finally builds a data structure, which is both flexible and adaptable to the system. Normalization offers a systematic step-by-step approach towards this goal.

The different normal forms applied during the database design are given below: :

First Normal Form (1NF) Second Normal Form (2NF) Third Normal Form (3NF)

First Normal Form

A relation is said to be in 1NF if and only if it satisfies the constraints that it contains primary key only

Second Normal Form

A relation is said to be 2NF is and only if it satisfies all 1 NF conditions for the primary key and every non-primary key attribute of the relation is full dependent on its primary key alone. If a non-key attribute is not dependent on the key, it should be removed from the relation and placed as a separate relation i.e., the fields of a table in 2NF are all related to the primary key.

Third Normal Form

A relation is said to be in 3NF if and only if it is in 2NF and moreover non-key attributes of the relation should not depend on other non-key attributes.

De-normalization

Full normalization of 3NF sometimes creates a problem called proliferation. This makes large databases unmanageable and we have to maintain joins of 3 or 4 tables to execute a query, as the number of tables is increased and related attributes in different tables. Therefore De-normalization denotes recombining tables to a state that is less then full moralization. This reduces the number of potential joins.

Architectural design

The primary objective of the architectural design is to develop a modular program structure of the system. This is performed after the database design of the system is over. In addition, it melds program structure and the database structure, defining interfaces that enable data to flow through the system.

The online banking system is mainly divided into two modules. Each module performs its own operations that would help the user to get an efficient output. The modules are broadly divided into two. 1. Online system module 2. Administration module

Data Dictionary Accounts


acno pwd tpwd ahname email balance Int varchar(10) varchar(10) varchar(50) varchar(50) Money Not Null Allows Null Allows Null Not Null Allows Null Not Null

Cbrequest
acno pwd tpwd ahname email balance Int varchar(10) varchar(10) varchar(50) varchar(50) Money Not Null Allows Null Allows Null Not Null Allows Null Not Null

Payee
tno acno tdate ttype tamount chequeno remarks Int Int Datetime char(1) Money Int varchar(200) Not Null Not Null Not Null Not Null Not Null Allows Null Allows Null

Transaction
acno pwd tpwd ahname email balance Int varchar(10) varchar(10) varchar(50) varchar(50) Money Not Null Allows Null Allows Null Not Null Allows Null Not Null

Data Flow Diagram (DFD)

A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system, modeling its process aspects. Often they are a preliminary step used to create an overview of the system which can later be elaborated. DFDs can also be used for the visualization of data processing (structured design). A DFD shows what kinds of data will be input to and output from the system, where the data will come from and go to, and where the data will be stored. It does not show information about the timing of processes, or information about whether processes will operate in sequence or in parallel (which is shown on a flowchart). Some of the data flow diagrams are:

Banking System
Maintain account conduct transaction

Administrator

Internet Banking System


Transaction report transaction report

Customer

Cheque book request

Funds Transfer

View Account Transactions

SNAPSHOTS

1. Login Page

2. Admin Page

3. Customer Front Page

4. To view transcation

5. To transfer the funds to another user

6. to transfer the funds to another user

7. To view transaction for certain period

8. To logout

9.To change the password

10. For the payee Management

11. For the cheque book request

TESTING
Testing is a process of executing a program with the intend of finding an error. A good test case is one that has a high probability of finding an error that is not yet discovered.A successful test is one that uncovers error that is not yet discovered. Testing can be divided into the following categories according to their characteristics.
Unit testing Integration testing Validation Output testing User acceptance testing

UNIT TESTING
This is the first level of testing. In this different modules are tested against the specification produces during the design of the modules. Unit testing is done during the coding phase and to test the internal logic of the modules. It refers to the modules. It refers to the verification of single program module in an isolated environment. Unit testing first focuses on the modules independently of one another to locate errors. After coding each dialogue is tested and run individually. All necessary coding where removed and it was ensured that all the modules are worked, as the programmer would expect. Logical errors found where correctedSo, by working all the modules independently and verifying the outputs of each module in the presence of staff we conducted that the programs was functioning as expected.

Integration Testing

Data can be lost across an interface: one module can be adverse effort on another; sub functions when combined may not produce the desired major functions. Integration testing is a systematic testing for constructing the program structure. Conducting the tests is to uncover errors associated within the interface. The objective is to take unit tested to modules and build a program structure. All the modules are combined and tested as a whole, Here correction is difficult because the vast expenses of the entire program complicate the isolation of causes. Thus in the integration testing step, all the errors uncovered are corrected for the next testing steps.

Validation Testing
This provides the final assurance that the software meets the all the functional, behavioral and performance requirements. The software is completely assembled as a package. Validation succeeds when the software functions in a manner in which user wishes. Validation refers to the process of using software in live environment in order to find errors. During the course of validation the system failure may occur and sometime the coding has to be hanged according to the requirement. Thus the feedback from the validation phase generally produces changes in the software. Once the application was made of all logical and interface errors, inputting dummy data ensured that the software developed satisfied all the requirements of the user. This dummy data is known as test case.

Output Testing
After performing the validation testing, the next step is output testing of the proposed system since no system could be useful if it does not produce the required output in the specific format. Asking the users about the The output format on the screen found to be correct as the format was designed in the system design phase according to the user needs. For the hard copy also, the output comes out as the specified requirement by the user. Hence output testing does not result in any correction in the system.

User Acceptance Testing

Acceptance test refers to the acceptance of data into the system for processing. The acceptance test contributes to the consistency and smooth working of the system. The system under consideration is tested for users at a time of developing and making changes whenever required. This is done with regard to the following points:

1. Input screen design

2. Output screen design

3. On-line message to guide the user

4. Format of ad-hoc report and other outputs.

Taking the various kinds of test data does the above testing. Preparation of test data plays a vital role in the system testing. After preparing the test data the system under study is tested using that test data. While testing the system by using test data errors are again uncovered and corrected by using above testing steps and correction are also noted for future use.

FUTURE ENHANCEMENTS

1. We can implement more security features , so that internet banking become more secure and safe. 2. We can future add more modules like online bill payment, credit card request. 3. We can also join our project with merchandise for online shopping payment.

CONCLUSION

The main aim of developing software is to provide all information that is required by the users. User friendliness is a must that is the user must get the details without complicated searching procedures. Other important requirements of software are data security, extensibility and maintainability. All these features are included in this web application. The project greatly helped in understanding the various phases in website development and exposure to a new developer platform MS Visual Studio .Net and database MS SQL Server.

BIBLIOGRAPHY

5. 6. 7. 8.

Database Management System by Navathe Database Management System by Parteek Bhatia Beginning ASP.NET 2.0 using C# Build Your Own ASP.NET 3.5 Web Site Using C#

You might also like