MCA Synopsis MCS-044
MCA Synopsis MCS-044
MCA Synopsis MCS-044
Submitted to
Ravi kumar Director, GSE SOFT SOLUTIONS, GSE SOFT Under Guidance of Mr. SURENDRA SHARMA
SCHOOL OF COMPUTER AND INFORMATION SCIENCE IGNOU, MAIDAN GARHI, NEW DELHI-110068 PERFORMA FOR SUGGESTIONS OF MCS-044 PROJECT PROPOSAL
Note :( All entries of the proforma of suggestions should be filled in with appropriate
and complete information.Incomplete proforma of suggestions in any respect will be summarily rejected).
5. Working/Teaching experience of the counseller: 6. Software used in the project:- Java & oracle
Signature of the students: Date: Signature of the counselor Date:
Date: ---------------
Date: -----------------
: : :
Eductional qualification: I have completed MCA from IGNOU in 2008. I have done BCA from IGNOU in 2006. A (PGDCA) and O (DCA) Level from DOEACC Society. Intermediate from BIEC in 2002. 10th from BSEB, in 2000.
Working experience: Currently working with webvirtue software pvt ltd as Sr. Software Developer for Software development, Unit Testing, Database Designing, at SARS Softavate Technologies Pvt. Ltd, New Delhi.
Date:
Signature:
ABSTRACT
5
The main objective of the project entitled "BANKER" is to facilitate Reliable, Fast and Easy transaction and provide in formation on single keystroke. An attempt is made to computerized the Banking System, which would reduce the manual workload on employees of bank. This in turn would increase the efficiency of the Bank. The project contains following modules:1. Authentication: - Authentication is an important procedure, which must be performed before any users have an access to the system. Only valid users are allowed to access the system with different access modes. There are three types of users namely, (i) User (ii) Manager (iii) Administrator And there are two access modes Clerical, Managerial Managers and Administrator can also work on the system in clerical mode to perform common clerical tasks but User cannot work in the managerial. 2. Account Creation: - The Bank provides facility to open new account for their new customers. The accounts can be of following nature:(i) Current Account (CA) (ii) Saving Account (SB) (iii) Fixed Deposit (FD) 3. Transactions: - There are mainly three types of Transaction. i) Receipts ii) iii) Payments Transfers
All the above types are transactions are applicable to only Saving AC, Current AC and Cash Credit
6
4. Authorization: - Authorization is the most important module of the project. All the transactions must be authorized in order to update various tables. No payments will be possible on unauthorized accounts. However receipts will be available to those accounts also. Authorization is performed in only 'Managerial' mode. 5. DD and Cheque Module: - Demand Draft and Cheque are important instruments, which will be managed by the project very efficiently. Demand Drafts will be issued to both account holders and non-account holders. Cheque can be issued to either at account opening time or later at any time. There is a restriction of Rs. 1000/- should be maintain as minimum balance to account having cheque facility. 6. Tools:- There are various tools available for various administrative tasks such as User-ID maintenance, interest calculation etc. User-ID maintenance includes user-ID creation, user-ID modification and user-ID deletion. Interest calculation is described below. 7. Interest Calculation: - Different interest rates will be offered by bank on different account types which is reviewed by RBI (Reserve Bank of India) over period to period. No interest will be paid to Current account but some surcharge is charged to those accounts.
7
8. Reports: - Reports are essential to have a view retrieving various details related to transaction made to accounts and for sending details to head-office. Various reports includes Account Statement, Account listing for any particular account type, list of all transactions made between a given period of time etc. Above we provide only brief information about modules. The workings of each module are discussed later on in detail.
ACKNOWLEDGMENTS
I have tried to achieve all requirements of a common Retal shop. I am responsible for all omissions and for any errors found in this project. I as the Student of IGNOU, acknowledge the noble and worthy guidance of our teachers of the Pioneer Institute, Delhi-1 Who gave their support in developing this project successfully. I express my profound gratitude to My parents providing me this golden opportunity of being student of this department and for providing all necessary facilities required during the project. I have unparallel faith to work under the Guidance of Mr. Surendra Sharma for his invaluable guidance, suggestions continuous encouragement through out the project. A special thanks to the Director of IGNOU and Regional Director of Regional Centre Delhi-1 and all other those are direct or indirect support support during in my course of this department; given me a golden chance of my course for fulfill the project work.
9
At last but not least, I am thankful to all my friends who had been helpful throughout the period of my project work.
TABLE OF CONTENTS 1: Certificates 1.1: Certificate of Originality 2: Acknowledgement 3: Preface 4: Introduction 5: Objectives 6: System Study 6.1: Analysis 6.2: Existing System with Limitations 6.3: Proposed System with Objectives 6.4: Design 6.5: Implementation 6.6: Debugging 6.7: Deployment & System Testing 7: Feasibility 7.1: Economic Feasibility
10
7.2: Technical Feasibility 7.3: Operation Feasibility 8: Hardware & Software Requirements 9: Java 10: Tools 11: Oracle 12: Data Flow Diagrams (DFDs) 13: Software Engineering Paradigm 14: Data base Tables 15: Validation Checks 16: System Security 17: Gantt chart 18: Future Scope 19: Conclusion 20: Appendix 21: Synopsis
11
PREFACE
Today's commercial world is built around money. Every commercial transaction needs to be supported using a financial transaction. Traditional procedure for maintaining records using Ledgers, Day book etc. is very time consuming and may lead to error if not perfomed carefully. Keeping this in mind I have made an effort automate the banking operation by developing a small package "BANKER. "BANKER" (A Project to Automate Banking System) is developed using Java and Oracle 8 J.S.P. used as front-end for the following reasons: * * * * JAVA is a flexible Structured programming language. JAVA is widely available. JSP provides user friendly interface through forms.
12
The project has used ORACLE 8.0 as back-end for database management. The ORACLE 8.0 provides more handy and safe database management tools. ORACLE 8.0 has tools like DTS Wizards, Query analyzer, enterprise manager etc. Which makes it easier to handle the database?
13
14
INTRODUCTION About The Project: Banks facilitate financial transactions and hence are an integral part of the commercial world. Banking services has grown by leaps and bounds. Today a bank that offers its customers the widest spread of services mapped to their business (and personal) needs is the bank that is successful. The Project entitle "BANKER" (A Project to Automate Banking System) is an effort towards designing an in formation system that would provide most of the requirements of Bank. The project has been designed using the ORACLE 8.0 Database Management System. ORACLE 8.0 is an RDBMS; It uses the relational data model. In this application we have used the concept of the relations to stored and manipulate the data of the Information System. Physically there relations have been stored in form of the tables. Corresponding to each entitle and the relationships we have a database table. These tables contain the columns as the fields of table. Further, each column have some attributes such as data types, size default value etc. which defines and validate the data. In the Design of "BANKER" we have exploited the rich facilities (tools) of the Java. Java is Sun Micro system language for Rapid Application Development (RAD). It is easy to use, efficient and flexible. I prefer this language because on can build a Windows program quicker and with less effort with Java than with any other programming language. It's is natural language for building database applications, owing to the level and sophistication of the tools included with the language. We have use JSP for designing the date entry screens corresponding to each table. These forms have been further customized using the tools button, option button, data grid and functions to provide the functionality to make them as user friendly and easy to
15
use as possible. We are providing the data retrieval and the data manipulation task a matter by clicking the desire buttons and the result of the task mentioned on button would be displayed on the screen. We designed reports that would request the users parameter and provide the result based on the query define the data model of the report and the parameter passed by the users. After the designing the database tables for defining and manipulating the data, the forms for the data entry and manipulation and the reports for query processing, the next important step is of the integrating these objects into the final up BANKER. These objectives have been achieved using the form. Various forms have been used to design the screen and these screens have been used along with the coded buttons to integrate objects.
16
17
Objective The main objective of the project entitled "BANKER" is to facilitate Reliable, Fast and Easy transaction and provide in formation on single keystroke. An attempt is made to computerized the Banking System, which would reduce the manual workload on employees of bank. This in turn would increase the efficiency of the Bank. The project contains following modules:1. Authentication: - Authentication is an important procedure, which must be performed before any users have an access to the system. Only valid users are allowed to access the system with different access modes. There are three types of users namely, (i) User (ii) Manager (iii) Administrator And there are two access modes Clerical, Managerial Managers and Administrator can also work on the system in clerical mode to perform common clerical tasks but User cannot work in the managerial.
18
2. Account Creation: - The Bank provides facility to open new account for their new customers. The accounts can be of following nature:(i) Current Account (CA) (ii) Saving Account (SB) (iii) Fixed Deposit (FD) 3. of transaction. i) Receipts ii) iii) Payments Transfers Transactions: - There are mainly three types
All the above types are transactions are applicable to only Saving AC, Current AC and Cash Credit ACs. Further no any transactions will be performed on Dormant accounts. 4. Authorization: - Authorization is the most important module of the project. All the transactions must be authorize in order to update various tables. No payments will be possible on unauthorized accounts. However receipts will be available to those accounts also. Authorization is performed in only 'Managerial' mode. 5. DD and Cheque Module: - Demand Draft and Cheque are important instruments, which will be managed by the project very efficiently. Demand Drafts will be issued to both account holders and non-account holders. Cheque can be issued to either at account opening time or later at any time. There is a restriction of Rs. 1000/- should be maintain as minimum balance to account having cheque facility.
19
6. Tools:- There are various tools available for various administrative tasks such as User-ID maintenance, interest calculation etc. User-ID maintenance includes user-ID creation, user-ID modification and user-ID deletion. Interest calculation is described below. 7. Interest Calculation: - Different interest rates will be offered by bank on different account types which is reviewed by RBI (Reserve Bank of India) over period to period. No interest will be paid to Current account but some surcharge is charged to those accounts. 8. Reports: - Reports are essential to have a view retrieving various details related to transaction made to accounts and for sending details to head-office. Various reports includes Account Statement, Account listing for any particular account type, list of all transactions made between a given period of time etc. Above we provide only brief information about modules. The working of each module are discussed later on in detail.
20
21
SYSTEM STUDY Analysis: I had to undertake a logical and proficient analysis to scrutinize the feasibility of the project. The demands and system needs were carefully analyzed. I had studied several Banks in Gorakhpur. I had also studied the report of SBI . The types of considerations that were taken were economical, technical and resource wise. The resources like the users who will operate the computer, were thoroughly studied to ensure that they could ably ensure total compatibility with the objectives of the project. An effort was made to make the banking system efficient in all type of day to day transactions. Existing system with limitations: The existing system has a manual work system. The manual work system takes more time and then it may also be possible that the system has errors. The manual systems work is very slow, has emotion, tiredness and some other problems. The existing "manual banking system" has many limitations. It takes a reasonable time to search a particular account in Account Ledgers and takes reasonable time in checking, updating and authorizing various transactions. Major problem faced during interest calculation because interest will be given on the minimum balance between 10th and last of the every month. Interest Calculation is very time consuming and hard working operation when it is done manually. Also reports prepared by clerks are not very appropriate due their poor writing and improper format used. Proposed System with Objectives:
22
The approach adopted in BANKER system is very simple, lucid, comprehensive, and user friendly. The proposed system can efficiently handle all the tasks as keeping the record of the Bank and its through different sides. This task can be efficiently handled at the single instruction of the user without taking more time, which on the other hand become very hazardous when done manually. The Menus have been so easily defined one within the other so that there is no difficulty in understanding it. It is very sophisticated software and can be used by any Banking organization to store their information in an efficient manner and we hope that it will be of great help to them. This Project has been designed to reduce the manual work. Interest calculation and report generation modules are designed carefully to reflect the actual system behavior. DESIGN :
The prototype was iteratively enhanced. Each new enhanced prototype was sought to be more powerful and robust. The process of constant enhancement was carried out until the Project-guide and some other concerning persons were fully satisfied with the System-design in hand. After the analysis of the project, the most creative phase of the Project was commenced, that of the Designing. The designing dealt with the conception of the System-designs that are to be implemented to execute the project. Data-Flow-Drawings was dont to define the accurate flow of DATA. After various rounds of discussion and arguments the design was finalized.
IMPLEMENTATION: The next stage that of implementation dealt with the synergizing of the System design and application of the various technical-tools. The final prototype that was designed was coded in the tools, most convenient, powerful and flexible for the implementation of the various modules. Various modules were coded very
23
carefully only after considering every conditions and cases that may affect the functionality of the module.Experts suggestions are also considered along with my own ideas and experience. During Implementation, all the small queries and doubts were referred to the Project Guide. DEBUGGING: After successfully coding the individual modules, all the modules were crosschecked. The debugging was performed to ensure that no software bugs exited. Debugging is recursively performed until the newly designed system resembles the proposed system. It was ensure that all the modules were logically and syntactically correctly coded. During Debugging, The entire module combined together by systematically checking and correcting the modules one at a time. All the troubles hooting was dealt deftly by the experts and project guide to ensure robustness of the individual modules. DEPLOYMENT & SYSTEM TESTING: The phase of Deployment and system Testing involved the task of the linking of all the individual modules to establish the actual and complete project. The system testing involved String Testing (to check compatibility of the modules with one another to establish integration), Overall Testing (validation of the System against failures) and Ensurance to the original Project guidelines. Any discrepancy found was immediately removed and all the testing were undertaken once more to establish System- Credibility. The Project-Guide was demonstrated the Project and all his challenging enquiries were fully satisfied.
24
25
FEASIBILITY Many feasibility studies are disillusioning for both users and analysts. First, The study often presupposes that when the feasibility document is being prepared, the analyst is in a position to Evaluate solutions. Second most studies tend to overlook the confusion inherent in system development. The constraints and the assumed attitudes. If the feasibility study is to serve as a decision document, It must Answer three key question1. 2. Is there a new and better way to do the job that will benefit the user? What are the costs and savings of the alternatives?
26
3.
What is recommended? The most successful system projects are not necessarily the biggest or most visible in a business but rather those that truly meets user Expectations. More projects fail because of inflated expectation than for any other reason.
ECONOMICAL FEASIBILITY: Economical Analysis is the most frequently method for evaluating the effectiveness of a system. More Commonly Known as Cost/Benefit analysis. Cost/Benefit analysis is the procedure to determine the benefits and saving that are expected from a candidate system and compare them with costs. If benefits outweigh costs, then the decision is made to design and implement the system. Otherwise, further justification or alternation in the proposed system will have to be made if it is to have to chance of being approved. The Computerized system is economically very feasible. In this project the economy side is not affected because any banking organizations have to pay less amount and can use this software. That organization has to purchase a small configuration computer and installation of this software is very easy. TECHNICAL FEASIBILITY : Technical Feasibility centers around the existing computer system (Hardware, Software etc.) and to what extent it can support the proposed addition. For example- if the current computer is operating at 80 percent capacities and arbitrary ceiling than running another application hardware. This involves financial consideration to accommodate technical enhancement. Once you gave installed a computer system instead of manual system all things will go on in smooth and efficient manner.
27
OPERATION FEASIBILITY : The computer system is very durable as compared to manual system. The computer system has guaranteed to do works with same speed and accuracy even at longer time while a man can do it so better. Any users who know very little about the computer can also use this software very easily. So the Computerized System is time feasible than the manual system.
28
SOFTWARE REQUIREMENTS : Language :Backend :Platform :JAVA JSP ORACLE-8.0 Windows 98 (SE)
JAVA
30
Java is a technology that makes it easy to build distributed applications, which are programs executed by multiple computers across a networks. Java is designed to meet the challenges of application development in the context of heterogeneous, network-wide distributed environment. Paramount among these challenges is secure delivery of applications that consume the minimum of system resources, can run on any hardware and software platform, and can be extended dynamically. Sun had developed a new language called Oak. Oak preserved the familiar syntax of C++, but omitted the potentially dangerous features like explicit resources references, and pointer arithmetic and operator overloading. In 1994 Sun completed work on a product known as Web Runner. Web Runner was later renamed Hot Java. Finally, in 1995, Oak was renamed Java. Java is a simple, Object-Oriented, Distributed,Interpreted, Robust, Secure, Architectural, Portable,High-performance, Multithreaded, Dynamic, Buzzword-complaint, General-purpose programming for the Internet in the form of platform-independent Java applets.The most likely place to find the Java is on the World Wide Web. Java has begun to address the protocol problem by using Java applets is a Java program, which appears embedded in a Web document, just as graphics would be. Javas strength derives form its unique architecture. Java uses a compiler to convert human-readable source code into executable programs.
31
Features of Java: Java is Simple, Object-Oriented, Distributed, Interpreted, Robust, Secure, Architectural-Neutral, Language. There are several major characteristics that make Java such a powerful development tool: Simple Java is simple and elegant language whose syntax is reminiscent of the infant terrible of modern computer science like C++. Java was made simpler primarily to give programmers fewer ways of making mistakes. Java omits many rarely used, poorly understood, confusing feature of C++ that in our experience bring more brief overloading, multiple inheritance, and extensive automatic coercion. Java add auto garbage collection. Object-Oriented Unlike C++ Java required that everything be an object. Global data and standalone functions are not allowed. Every class in Java is directly or indirectly descendent from the grandfather of all classes in Java, the Object class. Java is an Object-Oriented language ; that is, it has facilities for Object-Oriented Programming incorporated into the language. Distributed and Dynamic Java has extensive library of routines for copying easily with TCP/IP protocols like HTTP and FTP. Java application can open and access object across the net via URLs with the same ease that programmers are used to when accessing a local file system. Java has inherent extensive TCP/IP and HTTP capabilities. Java is Robust Pointer to pointer manipulation can be used by knowledge based programmers to tremendous advantage. Java put a lot of emphasis on early
32
checking for possible problem, later dynamic (runtime) checking and eliminating situation that are error prone. Security Security is probably the number one problem facing Internet developers. Javas security model has three primary components: the Class Loader, Byte-code Verifier, and the Security Manager. When the class loader retrieves classes from the network, it keeps classes from different servers separate from both each other and local classes. The Security manager implements a security policy for the VM. Java is client side technology. Java is intended to be used in networking/distributed environments. After the transmission to Java byte-code phase, Java programs are in effect, download from the host machine using conventional Web Server. Java provides different level of security checks. Architectural Neutral Java byte-codes are independent of any underlying architectural. The Java compiler generate byte-code instruction which have nothing to do with a computer architecture. High Performance The byte-codes can be translated on the fly(at runtime) in to machine code for the particular CPU the application is running on. The performance of bytecode converted to machine code is almost indistinguishable from native C or C++. Multithreaded A multithreaded application can have several threads of execution running independently and simultaneously. Multithreading is a way of building
33
application with multiple threads. Java has a sophisticated set of synchronization primitives that are based on the widely used moniter and condition variable paradigm. Benefits of multithreading are better interactive responsiveness and real time behavior. Multithreading is commonly used to perform the following functions: Maintain user interface responsiveness Multitasking Multi-user application Multiprocessing Portable The Java programs are highly portable. Unlike C and C++, there are no implementation dependent aspects of the specification. The libraries that are a part of the system define portable interfaces. Interpretative The Java interpreter can execute Java byte codes directly on any machine to which the interpreter has been ported. Java links are more incremental and lightweight process, the development process can be much more rapid and exploratory. Versatility/ Flexibility Java understands interfaces classes, which have run time representation. Java is more dynamic language than C/C++(e.g. One major problem with using C++ in a production environments is a side effect of the way that code is always implemented). Open Standards
34
Java VMS are available for more than a dozen different hardware-operating system combinations. The most exciting aspect of Javas cross-platform capability is that Java class files do not need to be compiled for each platform in advance. Memory management and Garbage collection Memory management is the bane of all C and C+ + programs. If the memory allocations do not perfectly match memory be allocations, the program will either crash immediately, or consume system resources until exhausted. Temporary memory is automatically reclaimed after it is no longer referenced by any active part of the program. Memory management reinforces the security of the VM.
35
Tools and Environment used Introduction to tool concept: Tool:In a strict sense, tools are those things which are necessary to create some result. A Carpenter would use a hammer and saw to create furniture, a programmer would use a compiler and a program editor to create software. Definition (Tool):
36
A tool is any device that, when used properly, improves the performance of a task, such as the development of computer information systems. JSP A JSP page is a text-based document that describes how to process a request to create a response. JSP is a Java-based technology that simplifies the process of developing dynamic web sites. With JSP, web designers and developers can quickly incorporate dynamic elements into web pages using embedded java and simple markup tags. These tags provide the HTML designer with a way to access data and business logic stored inside java objects. Java Server Pages are text files with the extension .jsp, which take the place of traditional HTML pages. JSP files contain traditional HTML along with embedded code that allows the developer to access data from the java code running on the server. Advantages of JSP JSP technology is the JAVA platform technology for building applications containing dynamic web content such as HTML, DHTML, XHTML, and XML . The Java Server Pages technology enables the authoring of web pages that create dynamic content easily but with maximum power and flexibility. The Java Server Pages technology offers a number of advantages: Write Once, Run Anywhere properties The Java Server Pages technology is platform independent, both in its dynamic Web pages, its Web servers, and its underlying server components. We can author JSP pages on any platform, run them on any Web server or Web enabled application server, and access
37
them from any web browser. We can also build the server components on any platform and run them on any server. Support for scripting and actions The Java Server Pages technology supports scripting elements as well as actions. Actions permit the encapsulation of useful functionality in a convenient from that can also be manipulated by tools. Scripts provide a mechanism to glue together this functionality in a perpage manner. Performance JSP is typically implemented via servlets. When a web server receives a request for a JSP page, it forwards it to a special process dedicated to handling servlet execution. This process is referred to as the servlet container. In the context of JSP, it is referred to as the JSP container. The servlet container is normally a separate process from the HTTP server, primarily due to the fact that the servlet container is a Java process, running in a JVM, while most HTTP servers are written in other languages. The key factor here is that, for servlet containers associated with conventional HTTP servers, there is only one additional process for the servlet container, which handles all servlet-related requests, including JSP. This process is initiated when the HTTP server starts up, and continues to run until the HTTP server is shut down. There are three categories of JSP tags: * Directives These affect the overall structure of the servlet that results from translation, but produce no output themselves. * Scripting Elements These let us insert Java code into the JSP page (and hence into the resulting servlet). * Actions These are special tags available to affect the
38
runtime behavior of the JSP page. JSP supplies some standard actions, such as <jsp:useBean>, These custom actions are usually referred to as tag extensions or custom tags. JSP Directives syntax is: <%@ directivename attribute=value attribute=value%> There are three main directives that can be used in a JSP: * the page directive * the include directive * the taglib directive Syntax is:of the page directive
<%@ page ATTRIBUTES %> Syntax Syntax of of the include directive is:<%@ include file=Filename%> the taglib directive is:-
Scripting languages are programming languages that are interpreted by programs rather than by a computer processor. Therefore, you do not need to translate scripting languages to machine code for interpretation by the browser. Scripting languages are used to incorporate user interactivity in web documents. Java Script was developed, by Netscape Communications Corporation. JavaScript code Syntax
39
is similar to that of Pascal code and C language. JavaScript can be used for writing scripts that can be interpreted by the server and the client computers. JavaScript is supported by Internet Explorer version 4.0 and later versions and Netscape Navigator version 4.0 and later versions. JavaScript was initially called live Script by its developer, Netscape Communications Corporation. The language was later renamed JavaScript, although JavaScript is distinguishably different from Java. JavaScript was developed to be embedded with in the HTML code to enhance Client-side interactivity in the web documents. Features of JavaScript # JavaScript is an object-based Scripting language. # JavaScript works independent of the platform. # JavaScript supports, events.
40
Advantages of JavaScript * Supports enhanced user interactivity. * Supports Client-side validations. Supports browser identification. Supports plug-in detection
Supports simplification of programs. -> JavaScript also supports Client-side Scripting and Server-side scripting. The client-side JavaScript(CSJS) is used to manipulate web documents and browsers and to facilitate data processing on the client Computer. The execution of CSJS code is triggered by events on the client Computer. ->JavaScript also supports server-side Scripting. The server-side Scripting is used to facilitate the data processing on the server and for customizing server-based applications. Server-Side JavaScript(SSJS) also provides various databases and objects for web application development.
41
42
ORACLE Oracle is the most popular RDBMS among the IT organizations due to the features offered. The current version of Oracle 8i this is web enabled. More than 50% of Web applications use Oracle as their Database Server. Oracle 8i also supports Java. Introduction to Oracle and Its Tools: The Oracle product is primarily divided into * Oracle Server tools * Oracle Client tools OracleServer: Oracle is a company that produces the most widely used, Multi user RDBMS. The Oracle Server is a program installed on the Servers hard disk drive. This program must be loaded in RAM so that it can process user requests. This Oracle Server product is either called Oracle Workgroup Server or Oracle Enterprise Server The functionality of both these products is identical. However, the Oracle Workgroup Server restricts the number of concurrent users who can query the Server. Oracle Enterprise Server has no such restrictions. Either product must be loaded on a multi user operating system.
43
The Oracle Server takes care of the following: Updating the database. Retrieving information from the database. Accepting query language statements. Enforcing data integrity specifications. Managing data sharing. Oracle Client Side Tools: Oracle for Windows 95 : SQL*PLUS: The SQL *Plus tool is made up of two distinct parts. These are * Interactive SQL * PL/SQL Interactive SQL is designed to create, access and maintain all data structures like tables, indexes etc. It can also be used for interactive, data manipulation. Programmers can use PL/SQL to create programs for validation and manipulation of table data. PL/SQL adds to the power of interactive SQL and provides the user with all the facilities of a standard, modern day(4GL) programming environment. Via PL/SQL the user can not only manipulate data but also can use procedural techniques such as writing loops or branching to another block of code.
44
45
Transaction Master
Message
GeneratesReports
A/C Master
46
1 Level DFD
Report Generation
Transaction
Authorized Transaction
47
Enters Valid Users Master A/C No. Verified Valid A/c No. Deposit Transfer Withdrawal Verification A/c
Receipt
Payment
Transfer
Unauthorized Transaction
Authorizes Trans
48
49
SOFTWARE ENGINEERING PARADIGM A system consists of components, which have components of their own; indeed a system is a hierarchy of components. The highest-level component corresponds to the total system. To design such hierarchies there are two possible approaches: top-down and bottom-up. The Top- down approach starts from the highest-level component of the hierarchy and proceeds through to lower levels. A top-down design approach starts by identifying the major components of the system, decomposing them into their lower-level components and iterating until the desired level of details is achieved. Top-down design methods often result in some form of stepwise refinement. A bottom-up design approach starts with designing the most basic primitive components and proceeds to higher-level components that use these lower-level components. Bottom-up methods work with layers of abstraction. Our Project, BANKER follows bottom-up approach. Because it works with layers of abstraction. We have started with simple A/Crime Branch opening & transaction and finished the project on interest calculation. (a significantly complex procedure.)
50
51
Database table structure SQL> desc bank_login Name Null? Type ------------------------------- ------------LOGIN_ID NOT NULL VARCHAR2(10) PASSWORD VARCHAR2(10) NAME VARCHAR2(30) ADDRESS_1 VARCHAR2(20) ADDRESS_2 VARCHAR2(20) CITY VARCHAR2(15) PHONE VARCHAR2(11) EMAIL VARCHAR2(30) USER_TYPE VARCHAR2(10) SQL> desc account_master Name Null? Type ------------------------------- ------------ACCOUNT_NO NOT NULL NUMBER(8) AC_TYPE VARCHAR2(2) AC_HOLDER_NAME VARCHAR2(30) ADDRESS1 VARCHAR2(30) ADDRESS2 VARCHAR2(20) PHONE VARCHAR2(11) MINOR VARCHAR2(2) CHEQUE_ISSUED VARCHAR2(2) OP_MODE NUMBER(2) CL_BAL NUMBER(12,2) AC_BAL NUMBER(12,2) OPEN_DATE DATE VERIFIED_BY VARCHAR2(20) STATUS VARCHAR2(2) INTRO_TYPE VARCHAR2(15) SQL> desc transaction_master Name Null? ------------------------------- -------TRANS_ID NOT NULL USER_ID
52
ACCOUNT_NO TOKEN TRANS_TYPE TRANS_DATE TRANS_DB_AMT TRANS_CR_AMT TRANS_BAL TRANS_MODE CHEQUE_NO SQL> desc temp_transaction Name Null? ------------------------------- -------TRANS_ID USER_ID FROM_ACCOUNT TO_ACCOUNT TRANS_MODE CHEQUE_NO TR_DATE CREDIT_AMT DEBIT_AMT TRANS_TYPE
Type ------NUMBER(7) VARCHAR2(10) NUMBER(8) NUMBER(8) VARCHAR2(10) VARCHAR2(8) DATE NUMBER(12,2) NUMBER(12,2) VARCHAR2(3)
53
SQL> desc cheque_book Name Null? Type ------------------------------- -------------ACCOUNT_NO NUMBER(8) CHQ_ISSUE_DATE DATE ST_CHQ_NO VARCHAR2(8) END_CHQ_NO VARCHAR2(8) SQL> desc dd_master Name Null? Type ------------------------------- -------------DD_NUMBER NUMBER(7) DD_DATE DATE IN_FAVOUR_OF VARCHAR2(30) PAYABLE_AT VARCHAR2(20) AMOUNT NUMBER(8) PAY_MODE VARCHAR2(10) APPL_NAME VARCHAR2(30) APPL_ADDRESS VARCHAR2(30) APPL_AC_NO NUMBER(8) EXCHANGE_AMT NUMBER(4) ISSUED_BY VARCHAR2(10)
54
SQL> desc nominee Name Null? Type ------------------------------- ------------ACCOUNT_NO NUMBER(8) NAME1 VARCHAR2(30) ADDRESS1 VARCHAR2(20) CITY1 VARCHAR2(20) PHONE VARCHAR2(15) NAME2 VARCHAR2(30) ADDRESS2 VARCHAR2(30) CITY2 VARCHAR2(20) PHONE2 VARCHAR2(15) SQL> desc minor Name Null? Type ------------------------------- ------------AC_ID NUMBER(8) DOB DATE G_NAME VARCHAR2(30) G_ADDRESS VARCHAR2(30) G_CITY VARCHAR2(15) G_PHONE VARCHAR2(11) SQL> desc account_holder Name Null? Type ------------------------------- ------------AC_ID NUMBER(8) AC_HOLD1 VARCHAR2(30) ADDRESS1 VARCHAR2(30) CITY1 VARCHAR2(15) PHONE1 VARCHAR2(11) AC_HOLD2 VARCHAR2(30) ADDRESS2 VARCHAR2(30) CITY2 VARCHAR2(15) PHONE2 VARCHAR2(11)
SQL> desc fixed_deposit Name Null? Type ------------------------------- ------------ACCOUNT_NO NUMBER(8) FIXED_AMT NUMBER(12,2) OPEN_DATE DATE MATURITY_DATE DATE MATURITY_AMT NUMBER(14,2)
56
57
VALIDATION CHECKS
1.
2. 3. 4. 5. 6. 7.
Users login-name is Unique. Validation of user login and password is done to authenticate a legitimate user. Only Administrator can add, modify or delete login-Ids and ordinary user & manager cant. A/c no. is unique. Transaction can be done from operative account only. And the A/c should have sufficient clear balance. Only Manager can authorize or cancel transactions. Minimum balance for A/C having cheque facility should be Rs. 1000/- and for A/c having without cheque facility should be Rs. 500/-. (Applicable to only saving & current accounts only) Interest should be applied only once for a given period. If further attempt is made to calculate interest, Bank Man simply refers to do so.
8.
58
59
SYSTEM SECURITY A good software must have good security system. Any unauthorized access must not be permitted. My project has triple security system. First security for the Administrator and second security for the manager and third and lower level is User. An ordinary user cannot have an access in the supervisory or managerial mode but an administrator can have an access in the clerical and managerial mode. An administrator can give the authorization to accessing the system to the any user. A user who is authorized by the administrator is only has access right for this software. Administrator can delete an authorized user. One user is not permitted to access another user login. Administrator can change his password for well-proofed security. An entry comprise of user-ID, access mode, date and time of login. The logout time of the system is recorded when the user logged out from the system.
60
61
GANTT CHART A conceptually simple and effective scheduling technique is the Gantt chart, which uses a calendar-chart to represent the project schedule. Each activity is represented as a bar in the calendar, starting from the starting date of the activity become milestones for project. For each activities a colour bar can be drawn specifying when the activity started and ended, i.e., when these two milestones were actually achieved.
62
Gantt chart
LLD
Designijg
Preparation Integration Acceptence Dofor test of testing tesing -cumcases and -entatTest data -ation
63
64
FUTURE SCOPE I have tried to give more and more facilities in a given limited time, but many things are untouched which can be added in future. In the following section some of the facilities of Banking System which is untouched by me is given 1. 2. 3. 4. 5. In future we can take on-line Banking (Through Internet) In Future ATM facility would be provided by the Bank. Facility of clearing of cheques both local and out station would be provided by the Bank. Loaning would be started by the Bank for various purposes. Some complex report would be generated by Bank using the core concept of financial accounting.
65
66
CONCLUSIONS
On working with this project I have got to interest with many more ideas to make it more advanced & perfect. This Project will provide will provide a better management for only some modules of Banks through the computer, which runs through many of transactions every day. These transactions may be either receipts, payments, transfers, loan and so on. This project can be automatically introduces us to the vast areas of computers. This project inspires me to the ideas of developing organization-oriented software for an organization. I have got to learn more new things through these Projects. I hope that this project in conjunction with other modules will be extremely helpful to any bank.
67
68
BIBLIOGRAPHY
The complete Reference JAVE -2 Java database Programming with JDBC Mastering Java 2 Professional JSP J2EE 1.3 SOL,PL/SOL(ORACLE)
Herbert Schildt Patrick Naughton Pratik Patel Karl Moss John Zukowski Subrahmanyam, Allamaraju, & Cedric Buest
IVAN
BAYROSS
69
70
INTRODUCTION About the Project : Banks facilitate financial transactions and hence are an integral part of the commercial world. Banking services has grown by leaps and bounds. Today a Bank that offers its Customer's the widest spread of Services mapped to their business (and personal) needs is the bank that is successful. The Project entitled "BANKER" (A project to
Automate Banking System) is an effort towards designing an Information System that would provide most of the requirements of a Bank. The project has been designed using the Oracle 8. It uses the relational data model. In this application we have used the concept of the relations to stored and manipulate the data of the Information System Physically these relations have been stored in form of the tables. In the design of "BANKER" we have exploited the rich facilities (tools) of the JAVA. JAVA for Rapid Application Development (RAD). It is easy to use, efficient
71
and flexible. I prefer this language because one can build a windows program quicker and with less effort with JAVA than with any other programming language.
OBJECTIVE The main objective of the project entitled 'BANKER" is to facilitate reliable, fast and easy transaction and provide information on single keystroke. An attempt is made to computerized the Banking System, which would reduce the manual workload on employees of Bank. This in turn would increase the efficiency of the bank. CATEGORY RDBMS : The project falls in to category of RDBMS, as I have used oracle 8 as back end to keep the record of banks and JAVA as front end to generate all the screens.
72
Transaction Master
Message
Generates Reports
A/C Master
73
1 Level DFD
Report Generation
74
Transaction
Authorized Transaction
75
Receipt Transfer
Payment
Unauthorized Transaction
76
PROCESS LOGIC MODULES WISE The Project entitled "BANKER" contains following modules: 1. Authentication : Authentication is an important procedure which must be performed before any user have an access the system with different access modes. There are three types of users namely. (i) (ii) User Manager
(iii) Administrator and there are three access modes clerical, managerial and supervisory. Managers and Administrator can also work on the system in clerical mode to perform common. Clerical tasks but user cannot work in the managerial or supervisory mode. 2. Account Creation : The Bank provides facility to open new account for their new customers. The accounts can be following nature.
77
(i) (ii)
3.
Transactions : There are mainly three types of transaction : (i) (ii) Receipts Payments
(iii) Transfers All the above types are transactions are applicable to only Saving A/c, Current A/c and Cash Credit A/c. 4. Authorization : Authorization is the most important module of the project. All the transaction must be authorize in order to update various tables. No payments will be possible on unauthorized accounts. However receipts will be available to those accounts, Authorization is performed in only
'Managerial' mode.
78
5.
DD and Cheque Module : Demand Draft and cheque are important instrument
which will be managed by the project efficiently. Demand Draft will be issued to both account holders and non-account holders. Cheque can be issued to either at account opening time or later at any time. There is a restriction of Rs. 1000.00 should be maintain as minimum balance to account having cheque facility. 6. Tools : There are various tools available for various
administrative tasks such as User-ID maintenance, interest calculation etc. User-ID maintenance include user-ID
creation, user-ID modification and user-ID deletion. Interest calculation is describe below. 7. Interest Calculation : Different interest rates will be offered by bank on different account types which is reviewed by RBI (Reserve
79
Bank of India) over period to period. No interest will be paid to Current account but some surcharge is charged to those accounts. Cash Credit accounts will be charged by bank on the negative balance. 8. Reports : Reports are essential to have a view and print for retrieving various details related to transaction made to accounts and for sending details to head-office. Various reports includes Account Statement, Account listing for any particular account type, list of all transactions made between a given period of time etc.
80
Database Structure for Login Size Field Name Data Type Login_ID Password Name Address 1 Address 2 City Phone E_Mail Times D_L_L User_Type Character " " " " " " " Small Int Small Date Time Character 10 (Primary Key) 10 30 20 20 15 11 30 2 4 10
S.N o. 1. 2. 3. 4.
Database Structure for Login Info Size Field Name Data Type Login_ID Mode Login Time Logout Time Character " Date Time " 10 10 8 8
81
Database Structure for AC_Mast Size Field Name Data Type AC_Mast AC_Type AC_Holder Name Add1 Add2 City Phone Minor Cheque_Issue d OP_Mode Cl_Bal Act_Bal Open_Date Verified_By Status int Character " " " " " Bit " Small Int Money " Small Date Time Character " 4 (Primary Key) 2 30 30 30 20 11 1 1 2 8 8 4 30 1
S.N
o. 1. 2. 3. 4. 5. AC_Mast Intro_Type Intro_AC No. Name AC Type_Dsg Integer Small Int Int Character " 4 (Primary Key) 2 4 30 20
S.N o. 1. 2. 3. 4. 5. 6. 7. 8. 9.
Database Structure for AC Holder Size Field Name Data Type AC_Mast AC_Holder2 Add1 City2 Phone2 AC_Holder 3 Add 3 City 3 Phone 3 Integer Character " " " " " " " 4 (Primary Key) 30 30 20 11 30 30 20 11
S.N o. 1. 2.
Database Structure for Minor Size Field Name Data Type AC_Mast DOB Integer Small Date Time
83
4 (Primary Key) 4
3. 4. 5. 6.
30 30 20 11
Database Structure for Trans_Mast Size Field Name Data Type Trans ID User ID AC_No. Scroll No. Token No. Trans_Type Trans_Date Trans_Dr Amt Trans_Cr Amt Trans_Bal Trans_Mode Authorize Int Character Int " " Character Small Date Time Money " " Character Bit
84
4 (Primary Key) 10 4 4 4 1 2 8 8 8 6 1
S.N o. 1. 2. 3. 4.
Database Structure for Cheque Book Size Field Name Data Type AC_No ChqIsuue Date St_Chq No End_Chq No Integer Small Date Time Int Int 4 4 4 4
S.N o. 1. 2. 3. 4. 5. 6. 7.
Database Structure for Nominee Size Field Name Data Type AC_No N Name 1 N Add 1 N City 1 N Phone 1 N Name 2 N Add 2 Int Character " " " " "
85
4 30 30 20 11 30 30
8. 9.
N City 2 N Phone 2
" "
20 11
S.N o. 1. 2. 3. 4. 5. 6. 7. 8.
Database Structure for Term Dep. Size Field Name Data Type AC_No AC_Type Open Date Maturity Date Period Int Rate Ins Amt Maturity Amt Int Character Small Date Time " Small Int " Small Money Money 4 2 4 8 2 2 4 8
S.N o. 1. 2.
Database Structure for CC_Details Size Field Name Data Type AC_No CC_Limit Int Money 4 8
86
Database Structure for DD_Mast Size Field Name Data Type DD_No Date In Favour of Payable At Amt Pymt Mode Appl Name Appl Add Appl AC No Exchg Amt Issued by Int Date Time Character " Money Character " " Int Small Money Character 4 8 30 20 8 10 30 40 4 8 10
S.N o. 1. 2. 3. 4. 5.
Database Structure for Interest Size Field Name Data Type AC_Type DOI Period Year User Int Small Date Time Small Int " Character 4 4 2 2 10
5.
Reports :
87
The Report menu provide facility to generate and print various reports. Various suboptions include under this menu are :5.1
Daily Reports : This includes those reports which are list daily transaction details, daily cash receipts, daily cash payments and so on. Daily reports are printed at the end of every day.
5.2
Monthly Reports : This includes those reports which are printed at the end of every month. This include monthly receipt and payment report. It also includes the total DD issued. FD issued etc. every month.
5.3
Yearly Reports : This option generates and prints reports which are required to list the yearly details of receipts and payments. These reports includes the total interest payed and total interest received, total
Account Statement : Account statements are the most generally and important report which will be given to account holders for have a complete view of the transactions performed on their accounts. This option
88
asks the account number and prints the account statement for that account.
5.5
Account List : This option is used to generate and print the list of all accounts of particulars account type with their account holder name and Balance. This is another important report which is used to have a complete view of all accounts. VALIDATION CHECKS 1) 2) Users Login-name is Unique. Validation of User login and password is done to authenticate a legitimate user. 3) Only Administrator can add, modify or delete loginIDs and ordinary user & manager can't. 4) 5) A/c No. is unique. Transactions can be done from operative account only and the A/c should have sufficient clear balance. 6) Only Manager can authorize or cancel transactions.
89
7)
Minimum balance for A/c having cheque facility should be Rs. 100/- and for A/c having without cheque facility should be Rs. 500/-. (Applicable to only saving & current accounts only)
8)
Negative balance would be allowed in cash credit A/c but it must be with CC limit.
9)
Interest should be applied only once for a given period. If further attempt is made to calculate interest. Bank Manager simply refers to do so.
I have tried to give more and more facilities in a given limited time, but many things are untouched which can be added in future. In the following section some of the facilities of Banking System which is untouched by me is given 1) In future we can take on-line Banking (through Internet). 2) In future ATM facility would be provided by the Bank.
90
3)
Facility of clearing of cheques both Local and Out Station would be provided by the bank.
4)
5)
Some complex report would be generated by bank using the core-concept of financial accounting. HARDWARE & SOFTWARE REQURIEMENTS
1. 2. 3.
92