banking system

140
A ON Submitted in partial fulfillment of the requirement for the award of Degree of BACHELOR OF COMPUTER APPLICATION (BCA) SUBMITTED TO SUBMITTED BY MR. PRAMOD SHARMA SONU KUMAR AVNEESH KUMAR 1 SUBMITTED TO Department of Computer Science

Upload: ranaindia2011

Post on 12-May-2017

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Banking System

A

ON

Submitted in partial fulfillment of the requirement for the award

of Degree of

BACHELOR OF COMPUTER APPLICATION (BCA)

SUBMITTED TO SUBMITTED BY

MR. PRAMOD SHARMA SONU KUMAR

AVNEESH KUMAR

ROBIN GOSWAMI

SUBMITTED AT

SHRI RAM GROUP OF COLLEGES

1

SUBMITTED TO

Department of Computer Science

Page 2: Banking System

We would like to take this opportunity to express our gratitude towards all the people who have in various ways, helped in the successful completion of our project.

We must convey our gratitude to Mr. PRAMOD SHARMA for giving our constant source of inspiration and help in preparing the project, personally correcting we work and providing encouragement throughout the project.

We also thank all our faculty members for steering we through the tough as well as easy phases of the project in a result oriented manner with concern attention.

DATE:

SONU KUMAR

AVNEESH KUMAR

ROBIN GOSWAMI

2

Page 3: Banking System

DECLARATION We are the students of BCA 6th sem. of Shri Ram College, Muzaffarnagar

(Affiliated to C.C.S. University, Meerut). Hereby declare that the project report on

banking system is our original work.

We also declare that we have done our work self accurately even then if over

mistake or error had kept in, we request to our faculties to points out these error and

guide our to remove these error for our future. We are also thankful for our faculties.

3

Page 4: Banking System

CERTIFICATE

This is to certify that Mr. SONU KUMAR, S/O Sh. RAM GOPAL Mr.

AVNEESH KUMAR, S/O…Sh. MAHIPAL SINGH, Mr. ROBIN GOSWAMI, S/O …

Sh. RATAN GOSWAMI., students of B.C.A. VIth semester in Shri Ram College,

Muzaffarnagar has completed the project titled “BANKING SYSTEM” “This project is

a part of course curriculum.

I found this project satisfactory and I wish him/her a bright future for his/her

career.

Our college is affiliated to C.C.S. University.

Mr. Nishant Rathi Mr. Pramod Kumar

(H.O.D.) (Supervisor)

4

Page 5: Banking System

5

Page 6: Banking System

Title (cover page)

Title of the Project

Acknowledgement

Certificate from Study Center

Contents

Introduction

System Objectives

Problem Definition

Project Analysis

Feasibility study

Cost & benefit analysis

Project Design

System Analysis

Design Hints & Guidelines

System Design & Development

System Design

System Development

Data Structure Diagram

Tables Description

Coding

System Evaluation and Testing

System Implementation

System Maintenance

System Documentation

Glossary

6

Page 7: Banking System

Bibliography

INTRODUCTION

COMPUTERIZED BANKING SYSTEM is a tool that it provides efficient

services to its Customers. The various types of operations and dealings take places

in the Bank. But we had undertaken the work of Computerization of New A/C,

Drafts and Staff Management which covers the activities related to Bank, & All

Types of activities corresponds to the Customer, These Operations was manually

operated by the clerks and Manager and the operations were really time consuming

task to perform. The present system will help them a lot.

7

Page 8: Banking System

System design is a solution, “How to approach ” to the creation of a new system. This important

phase is composed of several steps. It provides the understanding and procedural feasibility study.

Design gose through a logical and physical stage of development. Logical design reviews the present

physical system, prepares input – output specification, makes edit, security and control specification,

detail implementation plans, prepares a logical design walkthrough. The physical design maps out the

details of the physical system, plans the system implementation and specifies any new hardware and

software.

System design is a highly created process that can be greatly facilitated by the following:

Strong problem definition,

Pictorial description of the existing system, and

Set of requirements of the new system.

Input Design

The most common cause of errors in data processing is inaccurate input data errors entered by

the data entry operator. It can be controlled by the input design. Input design is the process of converting

user oriented inputs to the computer based formats. The goal of the input design is to make data entry as

easy, logical and free from as many errors as possible.

8

Page 9: Banking System

Output Design

Computers are the most important sources of information to the users are fed into the

computers to acquire the necessary outputs. The computers can provide the we enough output in the

form of information regarding various items to the users. The major form of output is a hard copy from

the printer. Printouts are designed around the output requirements of the user(s).

Interface Design

Forms are designed to control the redundancy, increased operator accuracy maximum

readability, easy data entry and elimination of unnecessary data to provide easier checking and

correction of data. Keeping in view the user’s requirements, the input/output forms have been designed

and developed for easy data entry and query handling. Based on the various types of inputs to be fed into

the computer in using this system, several inputs forms have been designed to make data entry easier

and accurate.

Database Design

The collection of data is usually referred to as the database. The database contains information

about the particular enterprise. Database systems are designed to manage larger bodies of information.

The management of data involves both the definition of the structures for the storage of the information

and the provision for the mechanism to manipulate the information. In addition the database system

must provide the safety of the information stored in the database, despite system crashes or attempts at

unauthorized access.

9

Page 10: Banking System

The definition of our problem lies in manual system and a fully automated system.

Manual system:

The system is very time consuming and lazy. This system is more prone to errors and sometimes the approach to various problems is unstructured.

Technical system:

With the advent of latest technology if we do not update our system then our business result in losses gradually with time. The technical systems contains the tools of latest trend i.e. computers printers, fax, Internet etc. The systems with this technology are very fast, accurate, user-friendly and reliable..

Need of banking system:

A few factors that direct us to develop a new system are given below -:1) Faster System2) Accuracy3) Reliability4) Informative5) Cancellations

10

Page 11: Banking System

FEASIBILITY STUDY:-

Feasibility study before development or customization of software we think following of the major points, which includes following: -

a) Economical

b) Technical

c) Duration

Economical:-

This study about the software basically give the suggestion like if we develop software for our

organization than how much it will forfeitable, workable as well as economical. If we developing a

software which very economical but not profitable there it is also wrong decision. So for we economical

study about the system table following of the point.

How much costing of the software?

What is the output of the customization?

What are the advantages in compression manual we check

Whether it is time or not?

Whether it is use friendly or not?

It is mountable for long term.

Understanding about the software

Corrective of software.

Technical:-

We also consider some technical points about development of software.

We see whether the software is reliable or not.

11

Page 12: Banking System

Whether it is work time for long time or not.

What are the languages as well as OS is used for development of software.

It provides security or not.

Software is reusable or not.

Software is updated or not.

Software is flexible or not whether software can maintain.

Duration:-

It is also a major point when we develop software. We also consider about time, how much time

software place to complete because for a big organization time factor is money for full successful of the

software also Tax some times so we have consider from starting to last that means beginning to

software.

12

Page 13: Banking System

13

Page 14: Banking System

ORGANISATION CHART

s

14

MANAGER

ManageAccounts

Computerized banking system

CUSTOMER

STAFF

Modify Staff

Page 15: Banking System

In developing cost estimates for a system, we need to consider servable cost elements. Among

them hardware, personnel, facility, operating, & supply costs.

Hardware Cost:-

Hardware cost relate to the actual purchase or lease of the computer & peripherals Ex. Printer,

disk, floppy drive, the best way to control for this cost is to treat it as an operating cost.

Personnel Cost:-

This includes staff salaries & benefits (health insurance, vocation time, sick pay etc.) as well as

pay for those involved in developing system. Costs incurred during the development of a system are one

time costs & are labeled developmental costs. Once the system is installed the costs of operating

&maintaining the system become recurring costs.

Facility Costs:-

Facility costs are expenses incurred in the preparation of the physical site where the application

or the computer will be i operation. This includes wiring, flooring, acoustics, lighting & air conditioning.

These costs are treated as one time costs.

Operating Cost:-

Operating costs include all costs associated with the day to day operating system. The amount

depends on the number of sifts the nature of the application & the caliber of the operating staff. There

are various ways of covering operating costs to overhead. Another approach is to change each

15

Page 16: Banking System

authorized user for the amount of processing they request from the system. The amount charged is based

on the computer time, staff time & the volume of output produced.

Supply Cost:-

These costs are variable costs that increase with increased use of paper, ribbon, disks & the like

they should be estimated & include in the overall cost of the system.

Equipment Cost:-

Equipment costs include rental & annual deprecation of any equipment such as typewriter,

copies, computer terminals & microcomputers used in connection with the system. Other costs

associated with the equipment, such as insurance & maintenance should also be included.

16

Page 17: Banking System

SYSTEM:-

A system can be defined as “A set of arrangement of elements that are organized to accomplish some method, procedure or control by processing information.”

System Analysis stages down the broad frame work of strategy stage into it’s minute details. This is the stage where intensive user interaction assumes a lot of importance.

SYSTEM DEVELOPMENT:-

Development Phase, translates a set of requirements into an operational system that we call Software. At early stages of hardware development a hardware engineer does not reach for a soldering iron, similarly the Software engineer Should not reach the compiler. Design is accomplished first.

The first phase of development concentrates on design. The design phase for software

with a description of architecture and data design. That is a modular structure is developed first,

interfaces are defined and data structure is established. Design criteria are used for the assessment of

quality. This preliminary design step is reviewed for completeness and tractability to software

requirements.

Procedural aspects of each modular component of the software design are considered next, and

is following by the CODING – the generation of program using an appropriate programming language

or CASE tool – occurs after the design is complete. Software engineering methodology views coding as

a consequence of good design. Code is then reviewed for style and clarity, but should otherwise be

directly traceable to a detailed design description.

17

Page 18: Banking System

DETAILED ENTITY RELATIONSHIP DIAGRAM:-Identification of all the Entities of importance for which data need to be stored and defined their

relationship with each other was a major task at this level. All the identified entities were mapped on a

E-R-diagram. It is of utmost importance to cover all the necessary entities and defined their relationship

with each other correctly because any errors at this stage would result in the reworking in the further

stages.

Unique Identification, UID:-A unique identification is required to be identified and associated with each other at this stage.

Function Hierarchy:-

Function hierarchy is used for grouping related functions under a parent function. The hierarchy

is balanced so that all elementary functions come in the same level of hierarchy. A good hierarchy

drawn at this stage helped in menu generation at a later stage.

The Basic Objective:-The basic objective of the system design was the system being developed should be able to fit

into the existing system, that is it become a part of the system and it should not lead to any changes

which can adversely affect the existing system. The airways having many activities which effect one

another so the approach of airways reservation is generated for the simplification of data handling.

The approach would bring in the following benefits:-

Standardization of the methods and procedures.

Availability of information centrally.

Minimizing future maintenance requirements.

Reduction in the learning process for new personal.

18

Page 19: Banking System

Packaged systems:-

The systems would have the following features:-

Completely menu drive interface with the provision of initiating even the batch jobs by

the user himself.

On – Line help

Strong documentation

Validation checks done by the system itself

Minimization of input to the system to produce maximum output.

19

Page 20: Banking System

Designing is the most important part of the software development. It requires a careful planning and logical thinking on the system designer. Designing a software means to plan how the various parts of the software are going to achieve the desired goal. It should done with the utmost care because if this phase contains any errors then that will be going to affect the performance of the system, as a result it may take more processing time, more coding, extra work load etc.

As the software is to be designed in MS-ACCESS RDBMS, the concept of the database

is must for quality designing. It will be designing of the database, designing of forms, designing of

reports.

Separate tables have been created for each entity of the system. In order to make the response

time negligible, all the tables have been created in the Memory File System. Moreover indexes have

been created on the tables in the number of records have been made random.

20

Page 21: Banking System

The design stages takes the final specification of the system from the analysis stages and finds

the best way of fulfilling them, given the technical environment and previous decision on required level

of automation

The system design is carried out in two phases:-

Architectural Design

Detailed Design

ARCHITECTURAL DESIGN:-The high level design maps the business system described in the program requirement

specification to logical data structure, it involves:

Identification of the entities that constitutes the system:-

All the entities related to the module were identified, checked and consolidated

Identifying the Relationships:-The relationships between the entities, within and outside the system were identified.

Attribute definition:-The pertaining of the entities was identified and their field characteristics were specified.

Normalization:-The entities were normalization, after first and the second normalization was achieved for all the

entities.

Interface:-Interface with the other systems were done and attributes related to external entities identified.

21

Page 22: Banking System

DETAILED DESIGN:-The low level design maps the logical model of the system to a physical database design.

Table Mapping:-The Table was created for the system using the design view, which is the part of the

MS_ACCESS. This has provision to create the entities and attributes into the Tables. The name of the entity is taken as the table name.

Default Database Design:-In Access we can create the tables very easily. The tables divide into two parts. These names are

as follow: -

ROWS

COLUMNS

The steps involved here were:-1. Generation of table

2. Check Validation Rule

3. Check Validation Text

4. Primary Keys

5. Unique Keys

6. Foreign Keys

Relationship:-

Ms-Access allows many types of relationship between the tables. These relationship names are

as follow: -

One to One Relationship

Many to One Relationship

Many to Many Relationship

Program specifications:-

22

Page 23: Banking System

The program specifications were written for the master, transactions, reports and queries. The logic for each field, block and form were written so that anyone who does not know the system will be able to code the logic. Field validations and user-friendly error messages were written as part of the program specification.

WINDOW XP used as PLATFORM Windows 98 is latest version of windows and also GUI. This is best then another Operating

system and easy.

Windows 98 has come up with another bonanza, that is, Network Communication with other

users. The users can connect with other users to share data files and peripheral devices, like Printers.

The Communication tools of Windows 98 include E-Mail and connection to Internet.

VISUAL BASIC used as FRONT END

Visual Basic uses front-end programming because VB use Back end as

like MS-ACCESS and any other Database.

In VB we can use easy database connectivity and design the Form, Report, and others MDI

applications with the help of Database.

VB facility the database controls which helps the changing, modifying, deleting and adding

facility in database with the help of command buttons and controls.

VB is used for see the Data in many modes such as with the help of MSFlexiGrid Controls,

Textbox, Combo box, List box, Image, Picture control and other.

23

Page 24: Banking System

Visual Basic gives the different types of accessing the Database (RDO, ADO and DAO)

Visual Basic is complete programming language that supports programming constructs for

looping, decision making and efficient processing. These constructs include

For………….next

Do………….loop

Select………case

With……end with

If….then…….else

Visual Basic helps of creation Menus, Master-Details Form.

MS-ACCESS 2007 used as BACK END

Ms-Access is a database and partially RDBMS. In Access we can easily create Database

design and give the validations. Access allows the many types of relations between the tables.

Access used as Backend with the Visual Basic. Access allows creating the Primary Key, Foreign

Key and Unique Key. In Access we can store the data in to the table for using the wizard options.

24

Page 25: Banking System

25

Page 26: Banking System

Table name: Types of Account

Table name: Details of check book

Table name: Details of customer

Field name Data type Description

Account type Text Types of Account

Description Text Details of account

Minimum Balance currency Balance of the account

Rate number Rate of interest

Field name Data type description

Checkbook number

text Customer of checkbook number

Account number text Details of account

Date issued Date/time Issued of checkbook

Start number text Open of a/c

26

Page 27: Banking System

Field name Data type Description

Account number text Customer of a/c number

First name text Customer of first name

Last name Text Customer of last name

Office address text Address of office

Home address text Address of Home

Date of birth Date/time D.O.B.of customer

Account type text

Gender text Male\female

E-mail text E-mail address of customer

Office phone text

Home phone text

Balance currency Types of currency

Access code Text

Date opened Date/time Date & time open account

Digital sign text

Customer picture Text

ATM card number Text

Expiry date Date/time Expiry date of a/c

27

Page 28: Banking System

Table name: Details of customer query

Table name: Details of stop payment

Table name: Details of Transactions

Field name

Data type description

Query ID text Customer of query ID

Account number

text Details of account

Query text

Status Text

Status of a/c

Date received

Date/time

Field name Data type Description

Check number

Text Customer of check number

Account number

Text Details of account

Instructions Text Instructions for customer

28

Page 29: Banking System

Table name: Details of users

Field name Data type description

Transaction ID Text Transaction ID of customer

Transaction date Date/time Date of transaction

Transaction type Text

Transaction mode text Open of a/c

From a/c number Text

To a/c number Text

Check number Text

Amount Currency Amount of currency

Status Text

Field name Data type description

Login ID text Login ID of users

Employee ID text

password text Password of User ID

Role Text Role of users

29

Page 30: Banking System

Menu chart of proposed system

BANKING SYSTEM

30

Page 31: Banking System

ENTER PASSWORD

MENU

emp Password

EMPLOYEE ACCOUNT DRAFTS Quit

Verify LOGIN

ENTER Password

If valid password

31

A B C

A

BANKING

D

Page 32: Banking System

32

Administrator

STAFF

BANKING SYSTEM

ACCOUNTS DRAFTS

Page 33: Banking System

Login File

33

Administrator Login Staff

Add New

Modify StaffDelete Staff

Page 34: Banking System

Login File

34

Administrator Login Account

Add New A/C

Modify A/CDelete Account

Page 35: Banking System

Customer File

Check for A/C

s

Printed Slip Of

Draft to

35

Administrator Login Drafts

Page 36: Banking System

36

Page 37: Banking System

Main menu

37

Page 38: Banking System

Customers

38

Page 39: Banking System

Deposits

39

Page 40: Banking System

Withdrawal

40

Page 41: Banking System

Transactions

41

Page 42: Banking System

To genrarate reports

42

Page 43: Banking System

Account settings

43

Page 44: Banking System

Bank settings

44

Page 45: Banking System

45

Page 46: Banking System

SPLASH FORMOption Explicit

Private Sub timerSplash_Timer()

End Sub

Private Sub Form_Load()

Frame1.Move (Screen.Width - Frame1.Width) / 2, (Screen.Height - Frame1.Height) / 2

End Sub

Private Sub Label2_Click()

End Sub

Private Sub timer_Timer()

Unload Me

frmLogin.Show

End Sub

46

Page 47: Banking System

LOGIN FORM Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal

lpszSoundName As String, ByVal uFlags As Long) As Long

Private Sub CmdExit_Click()

If MsgBox("Are you sure you want to exit ?", 4 + 32, title) = vbNo

GoTo EXITPROCEDURE

Else

End

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub cmdLogin_Click()

On Error GoTo errhandler

If txtPassword.Text = "" Or txtUserName.Text = "" Then

MsgBox "Please enter User Name and password ", vbExclamation, title

txtPassword.SetFocus

GoTo EXITPROCEDURE

End If

txtPassword.Text = LCase(txtPassword.Text)

recUsers.MoveFirst

Do While Not recUsers.EOF

If Trim(recUsers!LoginID) = Trim(txtUserName.Text) And _

Trim(recUsers!Password) = Trim(txtPassword.Text) Then

sndPlaySound App.Path & "\Reminder\reminder.wav", &H147

Page 48: Banking System

frmMain.status.Panels("Role").Text = Trim(recUsers!Role)

frmMain.status.Panels("Name").Text = Trim(txtUserName.Text)

UserID = recUsers!EmployeeID

UserName = recUsers!LoginID

UserPassword = recUsers!Password

UserRole = recUsers!Role

Call Enable_Menu

If UserRole = "Employee" Or UserRole = "Teller" Then

frmMain.mnuReports.Enabled = False

frmMain.mnuUser.Enabled = False

frmMain.mnuDate.Enabled = False

frmMain.mnuCheckBook.Enabled = False

End If

Unload Me

GoTo EXITPROCEDURE

End If

recUsers.MoveNext

Loop

If recUsers.EOF Then

MsgBox "Invalid password, kindly retry", vbExclamation, title

txtPassword.SelStart = 0

txtPassword.SelLength = Len(txtPassword.Text)

txtPassword.SetFocus

GoTo EXITPROCEDURE

End If

EXITPROCEDURE:

Exit Sub

48

Page 49: Banking System

errhandler:

MsgBox Err.Description, vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Form_Load()

On Error GoTo errhandler

UserID = ""

UserName = ""

UserPassword = ""

UserRole = ""

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

cmdLogin.Enabled = False

Call Disable_Menu

frmMain.status.Panels("Role").Text = ""

frmMain.status.Panels("Name").Text = ""

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox Err.Description, vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub txtPassword_GotFocus()

On Error GoTo errhandler

recUsers.MoveFirst

49

Page 50: Banking System

Do While Not recUsers.EOF

If Trim(recUsers!LoginID) = Trim(txtUserName.Text) Then

cmdLogin.Enabled = True

GoTo EXITPROCEDURE

End If

recUsers.MoveNext

Loop

If recUsers.EOF Then

MsgBox "Invalid login name, kindly retry", vbExclamation, title

txtUserName.SelStart = 0

txtUserName.SelLength = Len(txtUserName.Text)

txtUserName.SetFocus

GoTo EXITPROCEDURE

End If

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox Err.Description, vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Disable_Menu()

frmMain.mnuFile.Enabled = False

frmMain.mnuAdmin.Enabled = False

frmMain.mnuTrans.Enabled = False

frmMain.mnuReports.Enabled = False

frmMain.mnuHelp.Enabled = False

End Sub

50

Page 51: Banking System

Private Sub Enable_Menu()

frmMain.mnuFile.Enabled = True

frmMain.mnuAdmin.Enabled = True

frmMain.mnuTrans.Enabled = True

frmMain.mnuReports.Enabled = True

frmMain.mnuHelp.Enabled = True

frmMain.mnuUser.Enabled = True

frmMain.mnuCheckBook.Enabled = True

frmMain.mnuDate.Enabled = True

End Sub

51

Page 52: Banking System

MAIN FORMOption Explicit

Dim currentLength As Byte

Const msg As String = "Online Banking"

Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)

If MsgBox("Are you sure you want to exit ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

End

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub mnuAllCustomers_Click()

frmCustomers.Show

End Sub

Private Sub mnuAllUsers_Click()

Load frmUsers

frmUsers.Show

End Sub

Private Sub mnuCalculator_Click()

On Error GoTo errhandle

Shell "calc"

Exit Sub

52

Page 53: Banking System

errhandler:

MsgBox "Calculator is not available for now...", vbExclamation, title

End Sub

Private Sub mnuCalendar_Click()

On Error GoTo errhandler

Load frmCalendar

frmCalendar.Show

Exit Sub

errhandler:

MsgBox "The calendar is not available for now...", vbExclamation, title

End Sub

Private Sub mnuCheckBook_Click()

frmCheckBook.Show

End Sub

Private Sub mnuCustomerQuery_Click()

frmCustomerQuery.Show

End Sub

Private Sub mnuCustomerQueryReport_Click(

blQuery = True

blDeposit = False

blTransfer = False

blWithdrawal = False

blStop = False

frmReport.lbl.Caption = "Customer Query"

frmReport.Show

End Sub

Private Sub mnuDate_Click()

53

Page 54: Banking System

On Error GoTo errhandler

Dim dblReturn As Double

dblReturn = Shell("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl", 5)

Exit Sub

errhandler:

MsgBox "The date and time is not available for now", vbExclamation, title

End Sub

Private Sub mnuDeposit_Click()

frmDeposit.Show

End Sub

Private Sub mnuDepositReport_Click()

blQuery = False

blDeposit = True

blTransfer = False

blWithdrawal = False

blStop = False

frmReport.lbl.Caption = "Deposit Report"

frmReport.Show

End Sub

Private Sub mnuExit_Click()

If MsgBox("Are you sure you want to exit ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

End

End If

EXITPROCEDURE:

Exit Sub

54

Page 55: Banking System

End Sub

Private Sub mnuLock_Click()

Load frmLock

frmLock.Show

End Sub

Private Sub mnuLogin_Click()

Load frmLogin

frmLogin.Show

End Sub

Private Sub mnuLogoff_Click()

If MsgBox("Are you sure you want to log off ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

frmLogin.Show

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub mnuNotepad_Click()

On Error GoTo errhandler

Shell "notepad.exe", vbNormalFocus

Exit Sub

errhandler:

MsgBox "Notepad not available for now", vbExclamation, title

End Sub

Private Sub mnuStopPayment_Click()

frmStopPayment.Show

55

Page 56: Banking System

End Sub

Private Sub mnuStopPaymentReport_Click()

blQuery = False

blDeposit = False

blTransfer = False

blWithdrawal = False

blStop = True

frmReport.Frame3.Visible = False

frmReport.lbl.Caption = "Stop Payment Report"

frmReport.Show

End Sub

Private Sub mnuTransfer_Click()

frmTransfer.ShowS

End Sub

Private Sub mnuTransferReport_Click()

blQuery = False

blDeposit = False

blTransfer = True

blWithdrawal = False

blStop = False

frmReport.lbl.Caption = "TRansfer Report"

frmReport.Show

End Sub

Private Sub mnuWithDraw_Click()

frmWithdrawal.Show

End Sub

Private Sub mnuWithdrawalReport_Click()

56

Page 57: Banking System

blQuery = False

blDeposit = False

blTransfer = False

blWithdrawal = True

blStop = False

frmReport.lbl.Caption = "Withdrawal Report"

frmReport.Show

End Sub

Private Sub Timer2_Timer()

Caption = Left(msg, currentLength)

currentLength = (currentLength + 1) Mod (Len(msg) + 1)

End Sub

57

Page 58: Banking System

USER DETAILDim Control As Object

Private Sub CmdExit_Click()

If MsgBox("Are you sure you want to close this window ?", vbQuestion + 4, title) = vbNo Then

GoTo EXITPROCEDURE

Else

Unload Me

frmUsers.Show

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub cmdOk_Click()

On Error GoTo abdel

If txtLoginName.Text = "" Then

MsgBox "Please enter user name ", vbExclamation, title

txtLoginName.SetFocus

GoTo EXITPROCEDURE

End If

If txtPass.Text = "" Then

MsgBox "Please enter password ", vbExclamation, title

txtPass.SetFocus

GoTo EXITPROCEDURE

End If

58

Page 59: Banking System

If txtPassword.Text = "" Then

MsgBox "Please confirm your password ", vbExclamation, title

txtPassword.SetFocus

GoTo EXITPROCEDURE

End If

If comboRole.Text = "" Then

MsgBox "Kindly choose your role", vbExclamation, title

comboRole.SetFocus

GoTo EXITPROCEDURE

End If

If Trim(txtPass.Text) <> Trim(txtPassword.Text) Then

MsgBox "The tow passwords are not the same !", vbExclamation, title

txtPass.SelStart = 0

txtPass.SelLength = Len(txtPass.Text)

txtPass.SetFocus

GoTo EXITPROCEDURE

End If

If blUpdateUser = True Then

recUsers.MoveFirst

Do While Not recUsers.EOF

If recUsers!EmployeeID = frmUsers.lstUserID Then

recUsers!LoginID = Trim(txtLoginName.Text)

recUsers!Password = Trim(txtPass.Text)

recUsers!Role = comboRole.Text

recUsers.UpdateBatch adAffectCurrent

End If

recUsers.MoveNext

59

Page 60: Banking System

Loop

MsgBox "User's details updated successfully!" & vbCrLf & "You need to login again.", vbExclamation, title

Unload Me

frmLogin.Show

End If

If blAddUser = True Then

If txtLoginName = UserName Then

MsgBox "User Name already exist, Kindly change the name!", vbExclamation, title

txtLoginName.SelStart = 0

txtLoginName.SelLength = Len(txtLoginName.Text)

txtLoginName.SetFocus

GoTo EXITPROCEDURE

End If

recUsers.AddNew

recUsers!LoginID = Trim(txtLoginName.Text)

recUsers!EmployeeID = newUserID

recUsers!Password = Trim(txtPass.Text)

recUsers!Role = comboRole.Text

recUsers.Update

MsgBox "New user added successfully!" & vbCrLf & "You need to login again.", vbExclamation, title

Unload Me

frmLogin.Show

End If

EXITPROCEDURE:

Exit Sub

60

Page 61: Banking System

abdel:

MsgBox "Sorry, transactions unsuccessful", vbExclamation, title

GoTo EXITPROCEDURE

End Sub

Private Sub comboRole_KeyPress(KeyAscii As Integer)

KeyAscii = 0

End Sub

Private Sub Form_Load()

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

End Sub

Private Sub Form_Unload(Cancel As Integer)

blAddUser = False

blUpdateUser = False

End Sub

61

Page 62: Banking System

CUSTOMER DETAIL

Public strPath As String

Private Sub cmdBrowse_Click()

With Dialog

.ShowOpen

Pic.Picture = LoadPicture(.FileName)

strPath = .FileTitle

End With

End Sub

Private Sub cmdClose_Click()

Unload Me

frmCustomers.Show

End Sub

Private Sub cmdOk_Click()

If txtFirstName.Text = "" Then

MsgBox "Please enter the First Name.", vbExclamation, title

txtFirstName.SetFocus

GoTo EXITPROCEDURE

End If

If txtLastName.Text = "" Then

MsgBox "Please enter the Last Name.", vbExclamation, title

txtLastName.SetFocus

GoTo EXITPROCEDURE

End If

If dtpDateOfBirth.Value = Date Then

62

Page 63: Banking System

MsgBox "Date of Birth can not be today, Kindly change it", vbExclamation, title

dtpDateOfBirth.SetFocus

GoTo EXITPROCEDURE

End If

If dtpDateOfBirth.Value = Date Then

MsgBox "Date of Birth can not be in future", vbExclamation, title

dtpDateOfBirth.SetFocus

GoTo EXITPROCEDURE

End If

If cboGender.Text = "" Then

MsgBox "Please select the Gender.", vbExclamation, title

cboGender.SetFocus

GoTo EXITPROCEDURE

End If

If txtAccountNo.Text = "" Then

MsgBox "Please enter the Account Number.", vbExclamation, title

txtAccountNo.SetFocus

GoTo EXITPROCEDURE

End If

If cboAccountType.Text = "" Then

MsgBox "Please select the Account Type.", vbExclamation, title

cboAccountType.SetFocus

GoTo EXITPROCEDURE

End If

If txtBalance.Text = "" Then

MsgBox "Please enter the Balance.", vbExclamation, title

txtBalance.SetFocus

63

Page 64: Banking System

GoTo EXITPROCEDURE

End IF

If blAddCustomer = True Then

recCustomers.AddNew

recCustomers!FirstName = txtFirstName.Text & ""

recCustomers!LastName = txtLastName.Text & ""

recCustomers!OfficeAddress = txtOfficeAddress.Text & ""

recCustomers!HomeAddress = txtHomeAddress.Text & ""

recCustomers!DateOfBirth = dtpDateOfBirth.Value

If cboGender.Text = "Male" Then

recCustomers!Gender = "M"

Else

recCustomers!Gender = "F"

End If

recCustomers!Email = txtEmail.Text & ""

recCustomers!OfficePhone = txtOfficePhone.Text & ""

recCustomers!HomePhone = txtHomePhone.Text & ""

recCustomers!AccountNumber = txtAccountNo.Text & ""

recCustomers!AccountType = cboAccountType.Text & ""

recCustomers!ATMCardNumber = txtATM.Text & ""

recCustomers!ExpiryDate = dtpExpiryDate.Value & ""

recCustomers!Balance = txtBalance.Text & ""

recCustomers!AccessCode = txtAccessCode.Text & ""

recCustomers!DateOpened = dtpDateOpened

recCustomers!CustomerPicture = strPath

recCustomers.Update

Unload Me

64

Page 65: Banking System

frmCustomers.Show

End If

If blUpdateCustomer = True Then

recCustomers.MoveFirst

Do While Not recCustomers.EOF

If recCustomers!AccountNumber = Trim(txtAccountNo.Text) Then

recCustomers!FirstName = txtFirstName.Text & ""

recCustomers!LastName = txtLastName.Text & ""

recCustomers!OfficeAddress = txtOfficeAddress.Text & ""

recCustomers!HomeAddress = txtHomeAddress.Text & ""

recCustomers!DateOfBirth = dtpDateOfBirth.Value

If cboGender.Text = "Male" Then

recCustomers!Gender = "M"

Else

recCustomers!Gender = "F"

End If

recCustomers!Email = txtEmail.Text & ""

recCustomers!OfficePhone = txtOfficePhone.Text & ""

recCustomers!HomePhone = txtHomePhone.Text & ""

recCustomers!AccountNumber = txtAccountNo.Text & ""

recCustomers!AccountType = cboAccountType.Text & ""

recCustomers!ATMCardNumber = txtATM.Text & ""

recCustomers!ExpiryDate = dtpExpiryDate.Value & ""

recCustomers!Balance = txtBalance.Text & ""

recCustomers!AccessCode = txtAccessCode.Text & ""

recCustomers!DateOpened = dtpDateOpened

65

Page 66: Banking System

recCustomers!CustomerPicture = strPath

recCustomers.UpdateBatch adAffectCurrent

End If

recCustomers.MoveNext

Loop

Unload Me

frmCustomers.Show

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub Form_Load()

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

End Sub

Private Sub Form_Unload(Cancel As Integer)

blAddCustomer = False

blUpdateCustomer = False

End Sub

Private Sub Frame4_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub txtBalance_KeyPress(KeyAscii As Integer)

Call onlyNumbers(KeyAscii)

End Sub

Private Sub txtFirstName_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case vbKey0 To vbKey9

66

Page 67: Banking System

KeyAscii = 0

End Select

End Sub

67

Page 68: Banking System

CALENDAR

Private Sub cmdClose_Click()

If MsgBox("Are you sure you want to close this window ?", vbQuestion + 4, title) = vbNo Then

Exit Sub

Else

Unload Me

End If

End Sub

Private Sub Form_Load()

On Error Resume Next

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

cal.Value = Date

lbl = Date

End Sub

68

Page 69: Banking System

DATA REPORT

Private Sub cboAccountNumber_Click()

On Error GoTo errhandler

Call DisplayCustomerDetails(cboAccountNumber.Text)

txtBalance.Text = Balance

txtFirstName.Text = FirstName

txtLastName.Text = LastName

txtGender.Text = Gender

txtAccountType.Text = AccountType

cmdOk.Enabled = True

Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture

EXITPROCEDURE:

Exit Sub

errhandler:

Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")

GoTo EXITPROCEDURE

End Sub

Private Sub cmdClose_Click()

If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

Unload Me

End If

EXITPROCEDURE:

69

Page 70: Banking System

Exit Sub

End Sub

Private Sub cmdOk_Click()

If dtpFromDate.Value > dtpToDate.Value Then

MsgBox "The Second Date Should Not Be More Than The First One", vbExclamation, title

dtpFromDate.SetFocus

GoTo EXITPROCEDURE

End If

If blQuery = True And blDeposit = False And blTransfer = False And blWithdrawal = False And blStop = False Then

Set QueryReport.DataSource = con.Execute("Select * from CustomerQuery where accountnumber = '" & cboAccountNumber.Text & "' and DateReceived between #" & dtpFromDate.Value & "# and #" & dtpToDate.Value & "#")

QueryReport.Show

Set QueryReport = Nothing

End If

If blQuery = False And blDeposit = True And blTransfer = False And blWithdrawal = False And blStop = False Then

Set DepositReport.DataSource = con.Execute("Select * from Trans where Toaccountnumber = '" & cboAccountNumber.Text & "' and transactionType = 'Deposit' and transactionDate between #" & dtpFromDate.Value & "# and #" & dtpToDate.Value & "#")

DepositReport.Show

Set DepositReport = Nothing

End If

If blQuery = False And blDeposit = False And blTransfer = True And blWithdrawal = False And blStop = False Then

Set TransferReport.DataSource = con.Execute("Select * from Trans where FromAccountnumber = '" & cboAccountNumber.Text & "' and transactionType = 'Transfer' and transactionDate between #" & dtpFromDate.Value & "# and #" & dtpToDate.Value & "#")

TransferReport.Show

Set TransferReport = Nothing

70

Page 71: Banking System

End If

If blQuery = False And blDeposit = False And blTransfer = False And blWithdrawal = True And blStop = False Then

Set WithdrawalReport.DataSource = con.Execute("Select * from Trans where Fromaccountnumber = '" & cboAccountNumber.Text & "' and transactionType = 'Withdrawal' and transactionDate between #" & dtpFromDate.Value & "# and #" & dtpToDate.Value & "#")

WithdrawalReport.Show

Set WithdrawalReport = Nothing

End If

If blQuery = False And blDeposit = False And blTransfer = False And blWithdrawal = False And blStop = True Then

Set StopPaymentReport.DataSource = con.Execute("Select * from StopPayment where accountnumber = '" & cboAccountNumber.Text & "'")

StopPaymentReport.Show

Set StopPaymentReport = Nothing

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub Form_Load()

On Error GoTo errhandler

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

dtpFromDate.Value = Date

dtpToDate.Value = Date

cmdOk.Enabled = False

Call fill_Combo(cboAccountNumber)

EXITPROCEDURE:

71

Page 72: Banking System

Exit Sub

errhandler:

MsgBox "An Error occurred while loading the form", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Form_Unload(Cancel As Integer)

blQuery = False

blDeposit = False

blTransfer = False

blWithdrawal = False

blStop = False

End Sub

72

Page 73: Banking System

ADMINISTRATOR PASSWORD

Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Private Sub CmdExit_Click()

If MsgBox("Are you sure you want to exit ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

End

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub cmdLogin_Click()

On Error GoTo errhandler

If txtPassword.Text = "" Or txtUserName.Text = "" Then

MsgBox "Please enter User Name and password ", vbExclamation, title

txtPassword.SetFocus

GoTo EXITPROCEDURE

End If

txtPassword.Text = LCase(txtPassword.Text)

73

Page 74: Banking System

recUsers.MoveFirst

Do While Not recUsers.EOF

If Trim(recUsers!LoginID) = Trim(txtUserName.Text) And _

Trim(recUsers!Password) = Trim(txtPassword.Text) Then

sndPlaySound App.Path & "\Reminder\reminder.wav", &H1

frmMain.status.Panels("Role").Text = Trim(recUsers!Role)

frmMain.status.Panels("Name").Text = Trim(txtUserName.Text)

UserID = recUsers!EmployeeID

UserName = recUsers!LoginID

UserPassword = recUsers!Password

UserRole = recUsers!Role

Call Enable_Menu

If UserRole = "Employee" Or UserRole = "Teller" Then

frmMain.mnuReports.Enabled = False

frmMain.mnuUser.Enabled = False

frmMain.mnuDate.Enabled = False

frmMain.mnuCheckBook.Enabled = False

End If

Unload Me

GoTo EXITPROCEDURE

End If

recUsers.MoveNext

LooP

If recUsers.EOF Then

MsgBox "Invalid password, kindly retry", vbExclamation, title

txtPassword.SelStart = 0

txtPassword.SelLength = Len(txtPassword.Text)

74

Page 75: Banking System

txtPassword.SetFocus

GoTo EXITPROCEDURE

End If

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox Err.Description, vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Form_Load()

On Error GoTo errhandler

UserID = ""

UserName = ""

UserPassword = ""

UserRole = ""

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

cmdLogin.Enabled = False

Call Disable_Menu

frmMain.status.Panels("Role").Text = ""

frmMain.status.Panels("Name").Text = ""

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox Err.Description, vbCritical, title

GoTo EXITPROCEDURE

End Sub

75

Page 76: Banking System

Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub txtPassword_GotFocus()

On Error GoTo errhandler

recUsers.MoveFirst

Do While Not recUsers.EOF

If Trim(recUsers!LoginID) = Trim(txtUserName.Text) Then

cmdLogin.Enabled = True

GoTo EXITPROCEDURE

End If

recUsers.MoveNext

Loop

If recUsers.EOF Then

MsgBox "Invalid login name, kindly retry", vbExclamation, title

txtUserName.SelStart = 0

txtUserName.SelLength = Len(txtUserName.Text)

txtUserName.SetFocus

GoTo EXITPROCEDURE

End If

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox Err.Description, vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Disable_Menu()

frmMain.mnuFile.Enabled = False

76

Page 77: Banking System

frmMain.mnuAdmin.Enabled = False

frmMain.mnuTrans.Enabled = False

frmMain.mnuReports.Enabled = False

frmMain.mnuHelp.Enabled = False

End Sub

Private Sub Enable_Menu()

frmMain.mnuFile.Enabled = True

frmMain.mnuAdmin.Enabled = True

frmMain.mnuTrans.Enabled = True

frmMain.mnuReports.Enabled = True

frmMain.mnuHelp.Enabled = True

frmMain.mnuUser.Enabled = True

frmMain.mnuCheckBook.Enabled = True

frmMain.mnuDate.Enabled = True

End SuB

77

Page 78: Banking System

CHECKBOOK DETAIL

Private Sub cboAccountNumber_Click()

On Error GoTo errhandler

Call DisplayCustomerDetails(cboAccountNumber.Text)

txtBalance.Text = Balance

txtFirstName.Text = FirstName

txtLastName.Text = LastName

txtGender.Text = Gender

txtAccountType.Text = AccountType

txtCheckBook.Text = autogen

txtStartNo.Text = autogenStartNo

cmdOk.Enabled = True

Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)

EXITPROCEDURE:

Exit Sub

errhandler:

Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")

GoTo EXITPROCEDURE

End Sub

Private Sub cmdClose_Click()

If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then

78

Page 79: Banking System

GoTo EXITPROCEDURE

Else

Unload Me

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub cmdOk_Click()

On Error GoTo errhandler

If MsgBox("Are you sure you want to Issue Check Book Number " & txtCheckBook.Text & " ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

recCheckBookDetails.AddNew

recCheckBookDetails!CheckBookNumber = txtCheckBook.Text

recCheckBookDetails!AccountNumber = cboAccountNumber.Text

recCheckBookDetails!DateIssued = dtpDate.Value

recCheckBookDetails!StartNumber = txtStartNo.Text

recCheckBookDetails.Update

MsgBox "Check Book Has been Issued Successfully!", vbExclamation, title

Unload Me

End If

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred while issuing Check Book ", vbCritical, title

GoTo EXITPROCEDURE79

Page 80: Banking System

End Sub

Private Sub Form_Load()

On Error GoTo errhandler

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

cmdOk.Enabled = False

dtpDate.Value = Date

Call fill_Combo(cboAccountNumber)

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred while loading the form", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Public Function autogen() As String

Dim rec As New Recordset

rec.Open "select max(CheckBookNumber) from CheckBookDetails", con, adOpenDynamic, adLockOptimistic

If rec.EOF Then

autogen = "0001"

Else

autogen = Format(Right(Trim(rec(0)), 4) + 1, "0000")

End If

End Function

Public Function autogenStartNo() As String

Dim rec As New Recordset

rec.Open "select max(StartNumber) from CheckBookDetails", con, adOpenDynamic, adLockOptimistic

80

Page 81: Banking System

If rec.EOF Then

autogenStartNo = "0001"

Else

autogenStartNo = Format(Right(Trim(rec(0)), 4) + 1, "0000")

End If

End Function

Private Sub Frame5_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub Frame7_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub txtStartNo_KeyPress(KeyAscii As Integer)

Call onlyNumbers(KeyAscii)

End Sub

81

Page 82: Banking System

CUSTOMER QUERYPrivate Sub cboAccountNumber_Click()

On Error GoTo errhandler

Call DisplayCustomerDetails(cboAccountNumber.Text)

txtBalance.Text = Balance

txtFirstName.Text = FirstName

txtLastName.Text = LastName

txtGender.Text = Gender

txtAccountType.Text = AccountType

cmdOk.Enabled = True

txtQuery.Enabled = True

txtQuery.SetFocus

Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)

EXITPROCEDURE:

Exit Sub

errhandler:

Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")

GoTo EXITPROCEDURE

End Sub

Private Sub cboAccountNumber_KeyPress(KeyAscii As Integer)

Call onlyNumbers(KeyAscii)

End Sub

Private Sub cmdClose_Click()82

Page 83: Banking System

If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

Unload Me

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub cmdOk_Click()

On Error GoTo errhandler

If txtQuery.Text = "" Then

MsgBox "Please enter Query!", vbExclamation, title

txtQuery.SetFocus

GoTo EXITPROCEDURE

End If

If MsgBox("Are you sure you want to register the Query ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

recCustomerQuery.AddNew

recCustomerQuery!QueryID = autogen

recCustomerQuery!AccountNumber = cboAccountNumber.Text

recCustomerQuery!Query = Trim(txtQuery.Text)

recCustomerQuery!status = "P"

recCustomerQuery!DateReceived = dtpDate.Value

recCustomerQuery.Update

MsgBox "The Query has been registered Successfully!", vbExclamation, title

Unload Me

83

Page 84: Banking System

End If

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred while sending Customer Query ", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Form_Load()

On Error GoTo errhandler

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

cmdOk.Enabled = False

txtQuery.Enabled = False

dtpDate.Value = Data

Call fill_Combo(cboAccountNumber)

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred while loading the form", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Public Function autogen() As String

Dim rec As New Recordset

rec.Open "select max(QueryID) from CustomerQuery", con, adOpenDynamic, adLockOptimistic

If rec.EOF Then

autogen = "Q001"

Else84

Page 85: Banking System

autogen = "Q" & Format(Right(Trim(rec(0)), 3) + 1, "000")

End If

End Function

85

Page 86: Banking System

DIPOSIT DETAIL

Private Sub cboAccountNumber_Click()

On Error GoTo errhandler

Call DisplayCustomerDetails(cboAccountNumber.Text)

txtBalance.Text = Balance

txtFirstName.Text = FirstName

txtLastName.Text = LastName

txtGender.Text = Gender

txtAccountType.Text = AccountType

cmdOk.Enabled = True

txtAmount.Enabled = True

txtAmount.SetFocus

Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)

EXITPROCEDURE:

Exit Sub

errhandler:

Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")

GoTo EXITPROCEDURE

End Sub

Private Sub cboAccountNumber_KeyPress(KeyAscii As Integer)

KeyAscii = 0

End Sub

Private Sub cmdClose_Click()

If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then

86

Page 87: Banking System

GoTo EXITPROCEDURE

Else

Unload Me

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub cmdOk_Click()

On Error GoTo errhandler

If txtAmount.Text = "" Then

MsgBox "Please enter Amount!", vbExclamation, title

txtAmount.SetFocus

GoTo EXITPROCEDURE

End If

If MsgBox("Are you sure you want to deposit " & txtAmount.Text & " into Account Number " & cboAccountNumber.Text & " ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

recTrans.AddNew

recTrans!TransactionID = autogen

recTrans!TransactionDate = dtpDate.Value

recTrans!TransactionType = "Deposit"

recTrans!TransactionMode = "Cash"

recTrans!FromAccountNumber = ""

recTrans!ToAccountNumber = cboAccountNumber.Text

recTrans!checkNumber = ""

recTrans!Amount = txtAmount.Text

recTrans!status = ""87

Page 88: Banking System

recTrans.Update

con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text) + CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboAccountNumber.Text) & "'"

MsgBox "Transaction done successfully.", vbExclamation, title

Unload Me

End If

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Form_Load()

On Error GoTo errhandler

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

cmdOk.Enabled = False

txtAmount.Enabled = False

dtpDate.Value = Date

Call fill_Combo(cboAccountNumber)

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred while loading the form", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub txtAmount_KeyPress(KeyAscii As Integer)

Call onlyNumbers(KeyAscii)88

Page 89: Banking System

End Sub

Public Function autogen() As String

On Error GoTo errhandler

Dim rec As New Recordset

rec.Open "select max(TransactionID) from Trans", con, adOpenDynamic, adLockOptimistic

If rec.EOF Then

autogen = 1

Else

autogen = Val(rec(0) + 1)

End If

EXITPROCEDURE:

Exit Function

errhandler:

'MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title

GoTo EXITPROCEDURE

End Function

89

Page 90: Banking System

TRANSFER RECORDPrivate Sub cboAccountNumber_Click()

On Error GoTo errhandler

Call DisplayCustomerDetails(cboAccountNumber.Text)

txtBalance.Text = Balance

txtFirstName.Text = FirstName

txtLastName.Text = LastName

txtGender.Text = Gender

txtAccountType.Text = AccountType

cmdOk.Enabled = True

txtAmount.Enabled = True

txtCheckNo.Enabled = True

txtCheckNo.SetFocus

Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)

EXITPROCEDURE:

Exit Sub

errhandler:

Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")

GoTo EXITPROCEDURE

End Sub

Private Sub cboAccountNumber_KeyPress(KeyAscii As Integer)

KeyAscii = 0

End Sub

Private Sub cboToAccountNo_KeyPress(KeyAscii As Integer)

KeyAscii = 0

90

Page 91: Banking System

End Sub

Private Sub cmdClose_Click()

If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else Unload Me

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub cmdOk_Click()

On Error GoTo errhandler

If txtCheckNo.Text = "" Then

MsgBox "Please enter check number!", vbExclamation, title

txtCheckNo.SetFocus

GoTo EXITPROCEDURE

End If

If txtAmount.Text = "" Then

MsgBox "Please enter Amount!", vbExclamation, title

txtAmount.SetFocus

GoTo EXITPROCEDURE

End If

If cboToAccountNo.Text = "" Then

MsgBox "Please select the account you are transfering to!", vbExclamation, title

cboToAccountNo.SetFocus

GoTo EXITPROCEDURE

End If

If Check_CheckNo(txtCheckNo.Text) = True Then

91

Page 92: Banking System

MsgBox "Check Number has already been used", vbExclamation, title

txtCheckNo.SelStart = 0

txtCheckNo.SelLength = Len(txtCheckNo.Text)

txtCheckNo.SetFocus

GoTo EXITPROCEDURE

End If

If Check_StopCheckNo(txtCheckNo.Text, cboAccountNumber.Text) = True Then

MsgBox "Check Number has been stopped. You can not transfer money with it", vbExclamation, title

txtCheckNo.SelStart = 0

txtCheckNo.SelLength = Len(txtCheckNo.Text)

txtCheckNo.SetFocus

GoTo EXITPROCEDURE

End If

If Trim(txtAmount.Text) > Trim(txtBalance.Text) Then

MsgBox "The Amount you are withdrawing is more than your current balance!", vbExclamation, title

txtAmount.SelStart = 0

txtAmount.SelLength = Len(txtAmount.Text)

txtAmount.SetFocus

GoTo EXITPROCEDURE

End I

If cboAccountNumber.Text = cboToAccountNo.Text Then

MsgBox "You can transfer from and to the same Account.", vbExclamation, title

cboAccountNumber.SetFocus

GoTo EXITPROCEDURE

End If

92

Page 93: Banking System

If MsgBox("Are you sure you want to transfer " & txtAmount.Text & " from Account Number " & cboAccountNumber.Text & " to Account Number " & cboToAccountNo.Text & " ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

recTrans.AddNew

recTrans!TransactionID = autogen

recTrans!TransactionDate = dtpDate.Value

recTrans!TransactionType = "Transfer"

recTrans!TransactionMode = "Check"

recTrans!FromAccountNumber = cboAccountNumber.Text

recTrans!ToAccountNumber = cboToAccountNo.Text

recTrans!checkNumber = txtCheckNo.Text

recTrans!Amount = txtAmount.Text

recTrans!status = ""

recTrans.Update

con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text) - CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboAccountNumber.Text) & "'"

con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text) + CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboToAccountNo.Text) & "'"

MsgBox "Transaction done successfully.", vbExclamation, title

Unload Me

End if

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title

GoTo EXITPROCEDURE

End Sub

93

Page 94: Banking System

Private Sub Form_Load()

On Error GoTo errhandler

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

cmdOk.Enabled = False

txtAmount.Enabled = False

txtCheckNo.Enabled = False

dtpDate.Value = Date

Call fill_Combo(cboAccountNumber)

Call fill_Combo(cboToAccountNo)

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred while loading the form", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub txtAmount_KeyPress(KeyAscii As Integer)

Call onlyNumbers(KeyAscii)

End Sub

Public Function autogen() As String

On Error GoTo errhandler

Dim rec As New Recordset

rec.Open "select max(TransactionID) from Trans", con, adOpenDynamic, adLockOptimistic

If rec.EOF Then

autogen = 1 Else

autogen = Val(rec(0) + 1)

End If

94

Page 95: Banking System

EXITPROCEDURE:

Exit Function

errhandler:

'MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title

GoTo EXITPROCEDURE

End Function

95

Page 96: Banking System

STOP PAYMENT

Private Sub cboAccountNumber_Click()

On Error GoTo errhandler

Call DisplayCustomerDetails(cboAccountNumber.Text)

txtBalance.Text = Balance

txtFirstName.Text = FirstName

txtLastName.Text = LastName

txtGender.Text = Gender

txtAccountType.Text = AccountType

cmdOk.Enabled = True

txtAmount.Enabled = True

txtCheckNo.Enabled = True

txtCheckNo.SetFocus

Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)

EXITPROCEDURE:

Exit Sub

errhandler:

Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")

GoTo EXITPROCEDURE

End Sub

Private Sub cboAccountNumber_KeyPress(KeyAscii As Integer)

KeyAscii = 0

End Sub

96

Page 97: Banking System

Private Sub cmdClose_Click()

If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

Unload Me

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub cmdOk_Click()

On Error GoTo errhandler

If txtCheckNo.Text = "" Then

MsgBox "Please enter check number!", vbExclamation, title

txtCheckNo.SetFocus

GoTo EXITPROCEDURE

End If

If txtAmount.Text = "" Then

MsgBox "Please enter Amount!", vbExclamation, title

txtAmount.SetFocus

GoTo EXITPROCEDURE

End If

If Check_CheckNo(txtCheckNo.Text) = True Then

MsgBox "Check Number has already been used", vbExclamation, title

txtCheckNo.SelStart = 0

txtCheckNo.SelLength = Len(txtCheckNo.Text)

97

Page 98: Banking System

txtCheckNo.SetFocus

GoTo EXITPROCEDURE

End If

If Trim(txtAmount.Text) > Trim(txtBalance.Text) Then

MsgBox "The Amount you are withdrawing is more than your current balance!", vbExclamation, title

txtAmount.SelStart = 0

txtAmount.SelLength = Len(txtAmount.Text)

txtAmount.SetFocus

GoTo EXITPROCEDURE

End If

If Check_StopCheckNo(txtCheckNo.Text, cboAccountNumber.Text) = True Then

MsgBox "Check Number has been stopped. You can not withdraw money with it", vbExclamation, title

txtCheckNo.SelStart = 0

txtCheckNo.SelLength = Len(txtCheckNo.Text)

txtCheckNo.SetFocus

GoTo EXITPROCEDURE

End If

If MsgBox("Are you sure you want to withdraw " & txtAmount.Text & " from Account Number " & cboAccountNumber.Text & " ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

recTrans.AddNew

recTrans!TransactionID = autogen

recTrans!TransactionDate = dtpDate.Value

recTrans!TransactionType = "Withdrawal"

recTrans!TransactionMode = "Cash"

98

Page 99: Banking System

recTrans!FromAccountNumber = cboAccountNumber.Text

recTrans!ToAccountNumber = ""

recTrans!checkNumber = txtCheckNo.Text

recTrans!Amount = txtAmount.Text

recTrans!status = ""

recTrans.Update

con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text) - CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboAccountNumber.Text) & "'"

MsgBox "Transaction done successfully.", vbExclamation, title

Unload Me

End If

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Form_Load()

On Error GoTo errhandler

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

cmdOk.Enabled = False

txtAmount.Enabled = False

txtCheckNo.Enabled = False

dtpDate.Value = Date

Call fill_Combo(cboAccountNumber)

EXITPROCEDURE:

Exit Sub 99

Page 100: Banking System

errhandler:

MsgBox "An Error occurred while loading the form", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub txtAmount_KeyPress(KeyAscii As Integer)

Call onlyNumbers(KeyAscii)

End Sub

Public Function autogen() As String

On Error GoTo errhandler

Dim rec As New Recordse

rec.Open "select max(TransactionID) from Trans", con, adOpenDynamic, adLockOptimistic

If rec.EOF Then

autogen = 1

Else

autogen = Val(rec(0) + 1)

End if

EXITPROCEDURE:

Exit Function

errhandler:

'MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title

GoTo EXITPROCEDURE

End Function

100

Page 101: Banking System

WITHDRAWAL

Private Sub cboAccountNumber_Click()

On Error GoTo errhandler

Call DisplayCustomerDetails(cboAccountNumber.Text)

txtBalance.Text = Balance

txtFirstName.Text = FirstName

txtLastName.Text = LastName

txtGender.Text = Gender

txtAccountType.Text = AccountType

cmdOk.Enabled = True

txtAmount.Enabled = True

txtCheckNo.Enabled = True

txtCheckNo.SetFocus

Pic.Picture = LoadPicture(App.Path & "\pictures\" & CustomerPicture)

EXITPROCEDURE:

Exit Sub

errhandler:

Pic.Picture = LoadPicture(App.Path & "\Pictures\" & "NA.GIF")

GoTo EXITPROCEDURE

End Sub

Private Sub cboAccountNumber_KeyPress(KeyAscii As Integer)

KeyAscii = 0

End Sub

Private Sub cmdClose_Click()

If MsgBox("Are you sure you want to cancel ?", 4 + 32, title) = vbNo Then

101

Page 102: Banking System

GoTo EXITPROCEDURE

Else

Unload Me

End If

EXITPROCEDURE:

Exit Sub

End Sub

Private Sub cmdOk_Click()

On Error GoTo errhandler

If txtCheckNo.Text = "" Then

MsgBox "Please enter check number!", vbExclamation, title

txtCheckNo.SetFocus

GoTo EXITPROCEDURE

End If

If txtAmount.Text = "" Then

MsgBox "Please enter Amount!", vbExclamation, title

txtAmount.SetFocus

GoTo EXITPROCEDURE

End If

If Check_CheckNo(txtCheckNo.Text) = True Then

MsgBox "Check Number has already been used", vbExclamation, title

txtCheckNo.SelStart = 0

txtCheckNo.SelLength = Len(txtCheckNo.Text)

txtCheckNo.SetFocus

GoTo EXITPROCEDURE

End If

If Trim(txtAmount.Text) > Trim(txtBalance.Text) Then

102

Page 103: Banking System

MsgBox "The Amount you are withdrawing is more than your current balance!", vbExclamation, title

txtAmount.SelStart = 0

txtAmount.SelLength = Len(txtAmount.Text)

txtAmount.SetFocus

GoTo EXITPROCEDURE

End If

If Check_StopCheckNo(txtCheckNo.Text, cboAccountNumber.Text) = True Then

MsgBox "Check Number has been stopped. You can not withdraw money with it", vbExclamation, title

txtCheckNo.SelStart = 0

txtCheckNo.SelLength = Len(txtCheckNo.Text)

txtCheckNo.SetFocus

GoTo EXITPROCEDURE

End If

If MsgBox("Are you sure you want to withdraw " & txtAmount.Text & " from Account Number " & cboAccountNumber.Text & " ?", 4 + 32, title) = vbNo Then

GoTo EXITPROCEDURE

Else

recTrans.AddNew

recTrans!TransactionID = autogen

recTrans!TransactionDate = dtpDate.Value

recTrans!TransactionType = "Withdrawal"

recTrans!TransactionMode = "Cash"

recTrans!FromAccountNumber = cboAccountNumber.Text

recTrans!ToAccountNumber = ""

recTrans!checkNumber = txtCheckNo.Text

recTrans!Amount = txtAmount.Text

103

Page 104: Banking System

recTrans!status = ""

recTrans.Update

con.Execute "Update Customer set Balance = " & CCur(txtBalance.Text) - CCur(txtAmount.Text) & " Where AccountNumber = '" & Trim(cboAccountNumber.Text) & "'"

MsgBox "Transaction done successfully.", vbExclamation, title

Unload Me

End If

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title

GoTo EXITPROCEDURE

End Sub

Private Sub Form_Load()

On Error GoTo errhandler

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

Call ConnectMe

cmdOk.Enabled = False

txtAmount.Enabled = False

txtCheckNo.Enabled = False

dtpDate.Value = Date

Call fill_Combo(cboAccountNumber)

EXITPROCEDURE:

Exit Sub

errhandler:

MsgBox "An Error occurred while loading the form", vbCritical, title

GoTo EXITPROCEDURE

End Sub104

Page 105: Banking System

Private Sub txtAmount_KeyPress(KeyAscii As Integer)

Call onlyNumbers(KeyAscii)

End Sub

Public Function autogen() As String

On Error GoTo errhandler

Dim rec As New Recordset

rec.Open "select max(TransactionID) from Trans", con, adOpenDynamic, adLockOptimistic

If rec.EOF Then

autogen = 1

Else

autogen = Val(rec(0) + 1)

End If

EXITPROCEDURE:

Exit Function

errhandler:

'MsgBox "An Error occurred. Transaction was unsuccessfull, Try again", vbCritical, title

GoTo EXITPROCEDURE

End Function

105

Page 106: Banking System

During system testing, the system is used experimentally to ensure that the software does not

fall, i.e. it will run according to specification and in the way users expect. Special test data input for

processing and the result examination. A limited number of users may be allowed to use the system so

that analysis can seen whether they use it in unforeseen ways. It is preferable to discover any surprises

the organization implements the system and encounters them later on. This type of testing which allows

only a few, selected users to work on the system is known as BETA TESTING. On the other hand the

testing done by the developer (s), themselves is known as ALPHA TESTING.

Testing is generally performed by persons other than those who the original programs to

ensure complete and unbiased testing and more reliable software.

The norms followed during the testing phase were thoroughly tested by me, the

developer, I was required to release the program’s source code. The source code was copied into the

area. If some changes were desired in the program, I was suitably informed and was required to made

the necessary modifications.

Following testing procedures were used

UNIT TESTING

Unit testing is the testing of a single program module in an isolated environment. The

testing of the processing procedure is the main focus. In this regard, all the modules were separately

tested first as isolated and complete entities. This helped a lot in discovering problems related to a single

module and rectifying them in the contest of the module itself, rather than considering module-related

problem in a global context.

106

Page 107: Banking System

INTEGRATION TESTING

Integration testing is the process of testing the interfaces among system modules. Some

testing ensures that data moves between system as intended. In the regard of a particular module was

obtained in correct format, so that the next module could accept it appropriately. This could be done

either after the entire system was developed, or in stages than one module was developed.

SYSTEM TESTING

System testing is the testing of the system against its initial objectives. Such testing is

done either in a simulated environment or in a live environment.

In the case of the system which I developed, the testing was done in a pseudo-real

environment. The organization has an area called the ‘Development ‘, where all development work is

carried out, whereas the ‘Client’ is the area where all on-line work is undertaken. Since the kind of work

which I was involved dealt with insertion, updating and in tables, all the work was developed in the ‘

Development’ area. I call the environment pseudo-real since all data which is being used for on-line

transaction can be copied into the tables of the ‘Development’ and live data can be worked on. Thus

whatever would be the output on the ‘ Client ‘ is reflected exactly on the ‘ Development ’ also. Thus,

discovery of error became simpler in that the errors which would occurs in the real-time environment

were exactly duplicated in the ‘Development ‘ environment.

107

Page 108: Banking System

All the above types of testing were carried out and various extreme cases were also

introduced to check for whether the system responded as expected. The various Forms, database

packages, procedures, function; visual basic programs and functions were tested to discover they

behaved in the manner expected of them and gave accurate results. However, the factor, which helped

most in the modification and rectification of the system, was the user response. The user after using the

system would invariably come up with some idea to improve the system. Such ideas, if feasible, were

incorporated into the system, thus leading to an improvement in the overall efficiency of the system.

108

Page 109: Banking System

Implementation, literally, means to put into effect or to carry out. The system implementation

phase of software engineering deals with all activities that take place to convert from the old system to

the new. Proper implementation is essential to provide system to meet organization’s requirements.

During the implementation phase debugging, documentation of the system was created out, module in the project for

Accuracy of Results, Minimization of response Time, Clarity and Simplicity of the code, Minimization of Hard –Coding i.e. (a generic approach was followed ) Minimization of amount of memory used.

Various types of errors were discovered while debugging the modules. These ranged from errors to failure to account for various processing cases. Proper documentation of each module was done by embedding comments in the executable portion of the code. To enhance the readability, comments, indentation, parenthesis, black spaces, blank lines and borders were around the blocks of comments. Care was taken to use descriptive names for table, field, modules, forms etc., The proper use of indentation, parenthesis and blank lines was also ensured during coding.

Testing of the Report Generation module was carried out to find out the response time of the system for the generating reports. To make the response time negligible

109

Page 110: Banking System

Maintenance is a fact of life in the development of information systems. However the making of changes & adjustments don’t necessarily signal correction of error or the occurrence of problems.

Among the most frequent changes requested by end users is the addition of information

to a report format. Information requirements may be revised as the result of system usage or changing

operational needs. Perhaps oversights that occurred during the development process need to be

corrected.

Often, the need arises to capture additional data for storage in a database or perhaps when it is necessary to add error detection features to prevent system users from inadvertently taking an unwanted action.

These are the realities of application maintenance, when they occur, however they are an indication that the system is being used & that it is serving a useful function rather than being ‘’shelved’’ by the intended, such as :

More accurately defining the user’s requirements during system development. Assembling better systems documentation. Making better use of existing tools & techniques. Including proper comments.

110

Page 111: Banking System

Documentation is the process of collecting, organizing, storing and maintaining on paper (or some relatively permanently medium ) a complete record of why application were developed, for whom , what function they perform, and how these functions are carried out. Thus it provides an explanation of how a system operates & what feature characterize models & algorithms. Producing documentation is an important – but often neglected – activity of programmers.

Documentation of the system always reduces maintenance costs and makes maintenance much more easier. Documentation can be broadly classified as :

1. INTERNAL DOCUMENTATION2. EXTERNAL DOCUMENTATION

INTERNAL DOCUMENTATIONInternal documentation in the code can be extremely useful in enhancing the

understandability of programs. Internal documentation of programs is done by the use of comments. All the languages provide means of writing comments in the programs. Comments are textual statements that are meant for the reader and are not executed. Comments , if properly written, and if kept consistent with the code, can be invaluable during maintenance.

The purpose of comments is not to explain the internal logic of the program – the program itself is the best documentation for the details of logic. The comments should explain what the code is done is doing, and not how it is done it.

Comments should be provided for the block of code, particularly those parts of code which are hard to follow.

Providing comments for module is most useful as module form the unit testing , compiling , verification and modification. Comments for a module are often called prologue for the module. It is best to standardized the structure of the prologue of the module. It is desirable that prologue contains the following information :

a) Module functionality or what the module is doingb) Parameters are their purposec) Assumptions about the input, if anyd) Global variable accessed and or modified in the moduleAs explanation of parameters ( whether they are input only, output only or both input and output

, why they are needed by the module and how the parameters are modified ) can be quite useful during maintenance.

In addition to that given above , often information can be included, depending on the local coding standards. Example include :

- Name of the author,- Date of compilation- Last date of modification.

111

Page 112: Banking System

Note that if the module is modified, then the prologue should also be modified, if necessary. A prologue that is inconsistent with the internal logic of the module is prologue worse than having no prologue at all.

While coding programs for the Station Coding System special attention has been paid to the internal documentation of the system, in addition to the external documentation. Each program/module has :

Program/module name on top Date of creation of the program Last modification date The S/W tool used to developed the program Description of input to the program/module Description of the output produced How the module is related to other modules Purpose of variables/constants used

Apart from this comment lines have been inserted wherever it was felt that they were necessary. Moreover meaningful variable names/constants have been assigned to different variable/constants used in the programs.

112

Page 113: Banking System

The project made me realize the significance of developing software for client, where all

the eventualities have to be taken care of, unlike at educational institution, where the sole aim is to learn.

What may be seen to the developed to be a software complete in all respects, I was required to meet the

stringent demands of the in-house client in the materials department. Through this seemed tough at first,

I realized that pressure goaded us on to develop better and better applications.

During the project, the real importance for following all the principle of System Analysis

and Design drawled on me. I felt the necessity of going through the several stages, because only such a

process could make one understand the problems at hand, more so due to the enormous size of data

stores involved and their manipulation

In retrospect, I would like to say that the institute provided us with sample opportunities

to learn Oracle 8 and its tools. I specifically was able to learn MS-ACCESS and its Tools. I specially

was able to learn VISUAL BASIC 6.0. I also succeeded in understanding a number of tricky concept in

database, which were earlier only hazy blobs in the realm of our comprehension. However my project

library management is an asset to the organization, even then FURTHER ENHANCEMENT are

possible in this project such as new forms & reports can be included as and when required.

Unfortunately due to lack of time we can developed any report in this system but this is

not the end of this system software, it is beginning. We can change and modify this software due to

more requirement of needs and also removed some errors which is finding in this system software.

We also developed some complex reports which is required and makes this software more

powerful and friendly for user by which user can handle library data more easily and can calculate all

113

Page 114: Banking System

the calculation without any other software i.e., user’s all the requirements will be fulfill by this software

and user can manage all the numeric data calculations.

S.No.

Terms Description

1 BACK UP A copy of something preserved to insure

against the damage of primary copy.

2 DATA BASE

A repository of stored data.

3 DBMS Data Base Management System is a layer if Software between the physical database itself & the users of the system.

4 DD Data Dictionary, which is a data base that Contains “data about data” i.e. description of other in the system

5 FLOW CHART

FLOW CHART which depicts relation between different entities in the system.

6 HARDWARE

The physical equipment in a system comprising of computers, terminals, Keyboards & Other ancillary items.

7 ITD Information Technology Division.

114

Page 115: Banking System

8 MENU A group of options from which Selection is to be made.

9 MODULE A small components of a larger system

10

ON-LINE A term describing people, equipment or Devices that are in direct communication with the computer

11

PI Preliminary Investigation

12

PROGRAM

A sequence of instruction given to the Computer to solve a particular problem.

13

PROTOTYPE

A development model of the system for test Purpose

14

RDBMS A data Base/ Management System in which Relationships are defined by tables.

15

RSD Requirement Specification Document.

16

SCALABILITY

The ability to increase the performance With the growth in Hardware.

17

SOFTWARE

Computer program, procedure & Associated documentation concerned with the operator of a system.

115

Page 116: Banking System

BOOK NAME AUTHOR

1. Complete Reference of MS-Office Techmedia

2. An Introduction to Database Systems C. J. Date

3. System Analyses and Design E M. Awad

4. The Complete VISUAL BASIC Tulec

5. Programming in VB P.K.M Bride

6. Visual Basic from the Ground Up Gary Cornell

7. Mastering in VB Steve

8. VB with MS-Access Rita Sahoo

9. Visual Basic 6.0 Smith

116