Sie sind auf Seite 1von 99

A

ON

Submitted in partial fulfillment of the requirement for the award


of Degree of
BACHELOR OF COMPUTER APPLICATION (BCA)

SUBMITTED TO
Department of Computer Science

SUBMITTED TO

SUBMITTED BY

MR. PRAMOD SHARMA

SACHIN KUMAR

SHARMA
VIPIN KUMAR
PRADEEP KUMAR

SUBMITTED AT

SHRI RAM GROUP OF COLLEGES

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:
SACHIN KUMAR SHARMA
VIPIN KUMAR
PRADEEP KUMAR

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.

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
5

System Documentation

Glossary

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.

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
7

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.

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 users 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
8

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

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 System
2) Accuracy
3) Reliability
4) Informative
5) Cancellations

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:10

We also consider some technical points about development of software.

We see whether the software is reliable or not.


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.

11

12

ORGANISATION CHART
Computerized
banking
Manage
Accounts

MANAGER
STAFF

Modify Staf
CUSTOMER

13

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 authorized
14

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.

15

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 its 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.

16

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.

17

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.

18

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.

19

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.
20

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:21

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.

22

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

Selectcase

Withend 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.

23

24

Table name:

Types of Account

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

Table name:

Details of check book

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

Table name:

Details of customer
25

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

Access code

Text

Date opened

Date/time

Digital sign

text

Customer picture

Text

ATM card number

Text

Expiry date

Date/time

26

Types of currency

Date & time open account

Expiry date of a/c

Table name:

Details of customer query

Field

Data type

description

Query ID

text

Customer of query

name

ID
Account

text

Query

text

Status

Text

Details of account

number

Status of a/c
Date
received

Date/time

Table name:
Field
name

Details of stop payment


Data

Description

type

Check
number

Text

Account
number

Text

Instruction

Text

Table name:

Customer of check
number

Details of account
Instructions for
customer

Details of Transactions
27

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

From a/c number

Text

To a/c number

Text

Check number

Text

Amount

Currency

Status

Text

Table name:

Open of a/c

Amount of currency

Details of users

Field

Data

description

Login ID

text

Login ID of users

Employee

text

password

text

name

type

ID
Password of User
ID
Role

Text

28

Role of users

Menu chart of proposed system


29

BANKING SYSTEM

ENTER PASSWORD

MENU

emp

Password

EMPLOYEE

ACCOUNT

DRAFTS

Quit

A
Verify LOGIN

ENTER Password
If valid password

BANKIN
G

30

Administrator

BANKING
SYSTEM

STAFF

DRAFTS

ACCOUNT
S

31

Delete Staf

Administrat
or

Logi
n

Modify Staf

Staf

Login File

32

Add
New

Delete Account

Administrat
or

Modify A/C

Account

Logi
n

Login File
Add New A/C

33

Customer File

Check for A/C

Administrat
or

Drafts

Logi
n

s
Printed Slip Of
Draft to

34

35

Main menu

36

Customers

37

Deposits

38

Withdrawal

39

Transactions

40

To genrarate reports

41

Account settings

42

Bank settings

43

44

ACCOUNT TYPE
FIELD NAME

DATA TYPE

AccountID

Text

AccountName

Memo

Description

Text

InterestRate

Text

MinBalance

Text

45

CUSTOMERS
FIELD NAME

DATA TYPE

CustomerID

Text

FirstName

Text

LastName

Text

contactTitle

Text

IDNO

Text

AccountNo

Text

Address

Text

PostalCode

Text

Location

Text

phoneNo

Text

Email

Text

DateJoined

Date/Time

AccountType

Text

Balance

Text

46

DEPOSITES
FIELD NAME

DATA TYPE

TransactionID

Text

CustomerID

Text

AccountNo

Text

Narration

Text

AmountDeposited

Text

Mode

Text

Checkno

Text

Date

Date/Time

47

BANK
FIELD NAME

DATA TYPE

Bank name

Text

Branch_No

Number

Add1

Text

Add2

Text

Add3

Text

State

Text

Country

Text

Pin

Text

48

WITHDRAWALS
FIELD NAME

DATA TYPE

TransactionID

Text

customerId

Text

AccountNo

Text

Narration

Text

AmountWithdrawn

Text

Date

Date/Time

49

50

CUSTOMERS
'frmCustomers
Private Sub cboAccType_Click()
Set rsTemp = New ADODB.Recordset
rsTemp.Open "Select * FROM tblAccTypes WHERE AccountName='" &
cboAccType.Text & "'", cnBank, adOpenKeyset, adLockOptimistic
If rsTemp.RecordCount > 0 Then lblMin = rsTemp(4)
End Sub

Private Sub cmdNavigate_Click(Index As Integer)


Select Case Index
Case Is = 0 'Move First
Call MoveToFirst(rsCustomers)
Call DisplayCustomers(rsCustomers)
Case Is = 1 'Move Previous
Call MoveToPrev(rsCustomers)
Call DisplayCustomers(rsCustomers)
Case Is = 2 'Move Next
Call MoveToNext(rsCustomers)
Call DisplayCustomers(rsCustomers)
Case Is = 3 'Move Last
Call MoveToLast(rsCustomers)
Call DisplayCustomers(rsCustomers)
End Select
End Sub

Private Sub cmdOptions_Click(Index As Integer)


51

Dim i As Integer
Select Case Index
Case Is = 0 'Add
For i = 0 To 4: cmdOptions(i).Enabled = False: Next i
cmdOptions(1).Enabled = True: cmdOptions(2).Enabled = True
Call UnLock_Form_Controls(Me)
Call clear_Form_Controls(Me)
Call GenerateNewCustomerCode
txtCustomer(0).Locked = True
txtCustomer(1).SetFocus
rsCustomers.AddNew
txtDateJoined.Value = Date
Case Is = 1 'Save
If txtCustomer(9).Text = "" Then txtCustomer(9).Text = "N/A"
For i = 0 To 10
If txtCustomer(i).Text = "" Then
Call Messager
txtCustomer(i).SetFocus
Exit Sub
End If
Next i

If CCur(txtCustomer(10).Text) < CCur(lblMin.Caption) Then


MsgBox "Opening balance should be atleast " & lblMin.Caption & " for this
type of Account", vbInformation
Exit Sub
End If
52

z=0
For X = 0 To 13
Select Case X
Case Is = 3: rsCustomers(X) = cboContactTitle.Text
Case Is = 11: rsCustomers(X) = txtDateJoined.Value
Case Is = 12: rsCustomers(X) = cboAccType.Text
Case Else: rsCustomers(X) = txtCustomer(z).Text: z = z + 1
End Select
Next X
For i = 0 To 4: cmdOptions(i).Enabled = True: Next i
cmdOptions(1).Enabled = False: cmdOptions(2).Enabled = False
Call Lock_Form_Controls(Me)

Case Is = 2 'Cancel
rsCustomers.CancelUpdate
For i = 0 To 4: cmdOptions(i).Enabled = True: Next i
cmdOptions(1).Enabled = False: cmdOptions(2).Enabled = False

Call DisplayCustomers(rsCustomers)
Call Lock_Form_Controls(Me)
Case Is = 3 'Edit
For i = 0 To 4: cmdOptions(i).Enabled = False: Next i
cmdOptions(1).Enabled = True: cmdOptions(2).Enabled = True
Call UnLock_Form_Controls(Me)
txtCustomer(0).Locked = True
Case Is = 4 'Delete

53

If (MsgBox("Sure To Delete?", vbYesNo + vbQuestion, "Confirm Delete")) =


vbYes Then
With rsCustomers
If .BOF = True And .EOF = True Then
MsgBox "Nothing to delete", vbInformation
Exit Sub
End If
.Delete
Call clear_Form_Controls(Me)
.MoveFirst
Call DisplayCustomers(rsCustomers)
End With
Call Lock_Form_Controls(Me)
End If
End Select
End Sub
Public Sub GenerateNewCustomerCode()
Dim lastnumber As Long, newnumber As Long
With rsCustomers
If .BOF = True And .EOF = True Then
lastnumber = 2004000
Else
.MoveLast
lastnumber = !CustomerID
End If

newnumber = lastnumber + 1
54

txtCustomer(0).Text = newnumber
End With
End Sub
Private Sub Form_Load()
Call create_navigation_buttons(Me)
txtDateJoined.Value = Date
With cboContactTitle
.AddItem "MR."
.AddItem "MRS."
.AddItem "MISS."
.AddItem "DR."
.AddItem "PROFF."
.AddItem "SIR."
.AddItem "REV."
.AddItem "FR."
End With
Call connectDatabase
For X = 1 To rsAccTypes.RecordCount
cboAccType.AddItem rsAccTypes(1) '!AccountName
rsAccTypes.MoveNext
Next X
Call DisplayCustomers(rsCustomers)
Call Lock_Form_Controls(Me)
End Sub

Public Sub DisplayCustomers(myrs As Recordset)


Dim z As Integer
55

With myrs
If .BOF = True And .EOF = True Then Exit Sub
On Error Resume Next
z=0
For X = 0 To 13
Select Case X
Case Is = 3: cboContactTitle.Text = myrs(X)
Case Is = 11: txtDateJoined.Value = myrs(X)
Case Is = 12: cboAccType.Text = myrs(X)
Case Else: txtCustomer(z).Text = myrs(X): z = z + 1
End Select
Next X
StatusBar1.SimpleText = CStr("Record :" & .AbsolutePosition & " of " &
.RecordCount)
End With
End Sub

Private Sub txtCustomer_LostFocus(Index As Integer)


If Index = 10 Then
If IsNumeric(txtCustomer(10).Text) = False And Not (txtCustomer(10).Text =
"") Then
MsgBox "Invalid Input", vbOKOnly + vbCritical, "Error"
txtCustomer(10).Text = ""
txtCustomer(10).SetFocus
End If
End If
End Sub

56

DEPOSITES
'frmDeposits
Dim currBalance As Currency
Private Sub cboCustomerNo_Click()
Set rsTemp = New ADODB.Recordset
rsTemp.Open "Select * FROM tblCustomers WHERE CustomerID='" &
cboCustomerNo.Text & "'", cnBank, adOpenKeyset, adLockOptimistic
With rsTemp
If .RecordCount > 0 Then
txtDeposits(1).Text = !AccountNo
txtDeposits(2).SetFocus
Else
MsgBox "Invalid Customer Code", vbInformation
txtDeposits(1).Text = ""
Exit Sub
End If
.Close
End With

Set rsTemp = New ADODB.Recordset


rsTemp.Open "Select * FROM tblCustomers WHERE CustomerID='" &
cboCustomerNo.Text & "'", cnBank, adOpenKeyset, adLockOptimistic
If rsTemp.RecordCount > 0 Then
lblBalance.Caption = rsTemp(13)
Else
Exit Sub
End If
rsTemp.Close
57

End Sub

Private Sub cmdOptions_Click(Index As Integer)


Dim i As Integer
Select Case Index
Case Is = 0
If cboCustomerNo.Text = "" Then
Call Messager
cboCustomerNo.SetFocus
Exit Sub
End If

If txtDeposits(1).Text = "" Then


MsgBox "Please Enter the Customer Correctly.", vbInformation
cboCustomerNo.SetFocus
Exit Sub
End If

For i = 0 To 5
If txtDeposits(i).Text = "" Then
Call Messager
txtDeposits(i).SetFocus
Exit Sub
End If
Next i

58

i=0
For X = 0 To 7
Select Case X
Case Is = 1
rsDeposit(X) = cboCustomerNo.Text
Case Is = 7
rsDeposit(X) = txtDated.Value
Case Else
rsDeposit(X) = txtDeposits(i).Text
i=i+1
End Select
Next X
rsDeposit.Update
currBalance = (CCur(lblBalance.Caption) + CCur(txtDeposits(3).Text))

Set rsTemp = New ADODB.Recordset


rsTemp.Open "Select * FROM tblCustomers WHERE CustomerID='" &
cboCustomerNo.Text & "'", cnBank, adOpenKeyset, adLockOptimistic
If rsTemp.RecordCount > 0 Then
rsTemp(13) = currBalance
Else
Exit Sub
End If
rsTemp.Update
rsTemp.Close

If Check1.Value = 1 Then
59

DataEnvironment1.rsCommand1.Filter = "TransactionID='" &


txtDeposits(0).Text & "'"
DataReport1.Show
End If
Case Is = 1
rsDeposit.CancelUpdate
End Select
Unload Me
End Sub

Private Sub Form_Load()


With cmdOptions(0)
.Picture = LoadPicture(App.Path & "\pictures\n2.jpg")
End With
For i = 1 To 1
Load cmdOptions(i)
With cmdOptions(i)
.Visible = True
.Left = cmdOptions(i - 1).Left + cmdOptions(i - 1).Width + 25
If i = 1 Then
.Picture = LoadPicture(App.Path & "\pictures\n3.jpg")
Else
.Picture = LoadPicture(App.Path & "\pictures\n10.jpg")
End If
End With
Next i

60

Call connectDatabase

For X = 1 To rsCustomers.RecordCount
cboCustomerNo.AddItem rsCustomers(0)
rsCustomers.MoveNext
Next X
Call clear_Form_Controls(Me)
Call GenerateNewTransactCode
rsDeposit.AddNew
End Sub

Public Sub GenerateNewTransactCode()


Dim lastnumber As Long, newnumber As Long
If rsDeposit.BOF = True And rsDeposit.EOF = True Then
lastnumber = 1000
Else
rsDeposit.MoveLast
lastnumber = rsDeposit(0)
End If
newnumber = lastnumber + 1
txtDeposits(0).Text = newnumber
End Sub

Private Sub optCash_Click(Index As Integer)


Select Case Index
Case Is = 0
txtDeposits(5).Text = "N/A"
61

txtDeposits(5).Locked = True
txtDeposits(4).Text = "CASH"
txtDeposits(4).Locked = True
Case Is = 1
txtDeposits(4).Text = "CHEQUE"
txtDeposits(4).Locked = True
txtDeposits(5).Text = ""
txtDeposits(5).Locked = False
txtDeposits(5).SetFocus
Case Is = 2
txtDeposits(4).Locked = False
txtDeposits(4).SetFocus
txtDeposits(4).Text = ""
txtDeposits(5).Text = "N/A"
txtDeposits(5).Locked = True
End Select
End Sub

Private Sub txtDeposits_LostFocus(Index As Integer)


If Index = 3 Then
If IsNumeric(txtDeposits(3).Text) = False And Not (txtDeposits(3).Text = "")
Then
MsgBox "Invalid Input", vbOKOnly + vbCritical, "Error"
txtDeposits(3).Text = ""
txtDeposits(3).SetFocus
End If
End If
62

End Sub

63

REPORTS
'frmReports

Private Sub Command1_Click()


For i = 0 To 2
'If Option1(i).Value = False Then Exit For
Next i
Select Case i
Case Is = 0
DataReport3.Show
Case Is = 1
DataReport4.Show
Case Is = 2
frmTransactions.Show
End Select
Unload Me
End Sub

Private Sub Form_Load()


Command1.Picture = LoadPicture(App.Path & "\pictures\n10.jpg")
End Sub

64

BANK SETTINGS
'frmSettings
Public rsSettings As Recordset

Private Sub cmdNavigate_Click(Index As Integer)


Select Case Index
Case Is = 0 'Move First
Call MoveToFirst(rsAccTypes)
Call DisplayCustomers(rsAccTypes)
Case Is = 1 'Move Previous
Call MoveToPrev(rsAccTypes)
Call DisplayCustomers(rsAccTypes)
Case Is = 2 'Move Next
Call MoveToNext(rsAccTypes)
Call DisplayCustomers(rsAccTypes)
Case Is = 3 'Move Last
Call MoveToLast(rsAccTypes)
Call DisplayCustomers(rsAccTypes)
End Select
End Sub

Public Sub DisplayCustomers(myrs As Recordset)


For i = 7 To 11: Text1(i).Text = myrs(i - 7): Next i
End Sub

Private Sub cmdOptions_Click(Index As Integer)


Select Case Index
65

Case Is = 0 'Add
For i = 0 To 4: cmdOptions(i).Enabled = False: Next i
cmdOptions(1).Enabled = True: cmdOptions(2).Enabled = True
Call UnLock_Form_Controls(Me)
Call clear_Form_Controls(Me)
rsAccTypes.AddNew
Case Is = 1 'Save
For i = 7 To 11
If Text1(i).Text = "" Then Call Messager
Next i

For i = 7 To 11
rsAccTypes(i - 7) = Text1(i).Text
Next i

For i = 0 To 4: cmdOptions(i).Enabled = True: Next i


cmdOptions(1).Enabled = False: cmdOptions(2).Enabled = False
Call Lock_Form_Controls(Me)

Case Is = 2 'Cancel
rsAccTypes.CancelUpdate
For i = 0 To 4: cmdOptions(i).Enabled = True: Next i
cmdOptions(1).Enabled = False: cmdOptions(2).Enabled = False

Call DisplayCustomers(rsAccTypes)
Call Lock_Form_Controls(Me)

66

Case Is = 3 'Edit
For i = 0 To 4: cmdOptions(i).Enabled = False: Next i
cmdOptions(1).Enabled = True: cmdOptions(2).Enabled = True
Call UnLock_Form_Controls(Me)

Case Is = 4 'Delete
If (MsgBox("Sure To Delete?", vbYesNo + vbQuestion, "Confirm Delete")) =
vbYes Then
With rsAccTypes
If .BOF = True And .EOF = True Then
MsgBox "Nothing to delete", vbInformation
Exit Sub
End If
.Delete
Call clear_Form_Controls(Me)
.MoveFirst
Call DisplayCustomers(rsAccTypes)
End With
Call Lock_Form_Controls(Me)
End If
End Select
End Sub

Private Sub Form_Load()


Call create_navigation_buttons(Me)
picLogo.Picture = LoadPicture(App.Path & "\pictures\logo.jpg")
Call create_countries(Combo1)
67

Call connectDatabase

Set rsSettings = New ADODB.Recordset


rsSettings.Open "tblSettings", cnBank, adOpenKeyset, adLockOptimistic
Call Lock_Form_Controls(Me)
Call DisplayCustomers(rsAccTypes)
End Sub

Private Sub picLogo_DblClick()


With dialog
.DialogTitle = "Choose the Picture"
.FileName = ""
On Error GoTo e
.ShowOpen
If .FileName = "" Then Exit Sub
End With

picLogo.Picture = LoadPicture(dialog.FileName)
FileCopy dialog.FileName, App.Path & "\pictures\logo.jpg"
e:
If Err.Number <> 0 Then MsgBox Err.Description
End Sub

Private Sub SSTab1_Click(PreviousTab As Integer)


If PreviousTab = 1 Then
For i = 0 To 6
If i < 6 Then Text1(i).Text = rsSettings(i)
68

If i = 6 Then
Combo1.Text = rsSettings(i)
Text1(i).Text = rsSettings(i + 1)
End If
Next i
Call UnLock_Form_Controls(Me)
Else
For i = 0 To 6
If i < 6 Then rsSettings(i) = Text1(i).Text
If i = 6 Then
rsSettings(i) = Combo1.Text
rsSettings(i + 1) = Text1(i).Text
End If
Next i
rsSettings.Update
End If
End Sub

69

TRANCTIONS
'frmTransactions
Dim lstItem As ListItem
Private Sub Command1_Click()
If find_tran("tblWithdrawals Where Dated BETWEEN #" & dtFrom.Value & "# AND
#" & dtTo.Value & "#", MSFlexGrid1, 1) = False And find_tran("tblDeposits Where
Dated BETWEEN #" & dtFrom.Value & "# AND #" & dtTo.Value & "#", MSFlexGrid2,
2) = False Then
MsgBox "No Transaction found. Please Try Again", vbInformation
End If
End Sub
Private Sub set_dat(qr As String)
Set rsTemp = New ADODB.Recordset
rsTemp.Open "Select * from " & qr, cnBank, adOpenKeyset, adLockOptimistic
With rsTemp
If .RecordCount > 0 Then
cboAccNo = !AccountNo
cboCustomerID = !CustomerID
cboFirst = !FirstName
Else
MsgBox "Invalid customer ID/Name/Account NO. Please Try Again",
vbInformation
Exit Sub
End If
.Close
End With
If find_tran("tblWithdrawals Where AccountNo='" & cboAccNo.Text & "'",
MSFlexGrid1, 1) = False And find_tran("tblDeposits Where AccountNo='" &
cboAccNo.Text & "'", MSFlexGrid2, 2) = False Then
70

MsgBox "No Transaction found. Please Try Again", vbInformation


End If
End Sub

Private Sub cboCustomerID_Click()


Call set_dat("tblCustomers Where CustomerID='" & cboCustomerID.Text & "'")
End Sub

Private Sub cboCustomerID_KeyPress(KeyAscii As Integer)


If KeyAscii = 13 Then Call cboCustomerID_Click
End Sub

Private Sub cboFirst_Click()


Call set_dat("tblCustomers Where FirstName='" & cboFirst.Text & "'")
End Sub
Private Sub cboAccNo_Click()
Call set_dat("tblCustomers Where AccountNo='" & cboAccNo.Text & "'")
End Sub

Function find_tran(tbl As String, MSFlex As MSFlexGrid, pu As Integer) As Boolean


Set rsTemp = New ADODB.Recordset
rsTemp.Open "Select * from " & tbl, cnBank, adOpenKeyset, adLockOptimistic
MSFlex.Clear
If pu = 1 Then
Call create_with(rsTemp)
Else
71

Call create_dep(rsTemp)
End If
With rsTemp
If .RecordCount > 0 Then
Call LoadListView(rsTemp, MSFlex)
Else
find_tran = False
Exit Function
End If
.Close
End With
find_tran = True
End Function

Private Sub cboAccNo_KeyPress(KeyAscii As Integer)


If KeyAscii = 13 Then Call cboAccNo_Click
End Sub

Private Sub cboFirst_KeyPress(KeyAscii As Integer)


If KeyAscii = 13 Then Call cboFirst_Click
End Sub

Private Sub Form_Load()


Option1(1).Value = True
Frame1.Enabled = False
Frame2.Enabled = False
Call connectDatabase
72

Call create_with(rsWithdrawal)
Call LoadListView(rsWithdrawal, MSFlexGrid1)
Call create_dep(rsDeposit)
Call LoadListView(rsDeposit, MSFlexGrid2)
With rsCustomers
.MoveFirst
For X = 1 To .RecordCount
cboCustomerID.AddItem !CustomerID
cboFirst.AddItem !FirstName
cboAccNo.AddItem !AccountNo
.MoveNext
Next X
End With
Frame1.Enabled = False
End Sub

Private Sub Option1_Click(Index As Integer)


If Index = 0 Then
Frame1.Enabled = True
Frame2.Enabled = True
Else
Frame1.Enabled = False
Frame2.Enabled = False
If find_tran("tblWithdrawals", MSFlexGrid1, 1) = False And
find_tran("tblDeposits", MSFlexGrid2, 2) = False Then
MsgBox "No Transaction found.", vbInformation
End If
73

cboAccNo.Text = "Select..."
cboCustomerID.Text = "Select..."
cboFirst.Text = "Select..."
End If
End Sub
Public Sub create_dep(rs As Recordset)
With MSFlexGrid2
.Rows = rs.RecordCount + 1
.Cols = 8
.Row = 0:
.Col = 0: .Text = "TransactionID"
.Col = 1: .Text = "CustomerID"
.Col = 2: .Text = "AccountNo"
.Col = 3: .Text = "Narration"
.Col = 4: .Text = "AmountDeposited"
.Col = 5: .Text = "Mode"
.Col = 6: .Text = "CheckNo"
.Col = 7: .Text = "Dated"
End With
End Sub
Public Sub create_with(rs As Recordset)
With MSFlexGrid1
.Rows = rs.RecordCount + 1
.Cols = 6
.Row = 0
.Col = 0: .Text = "TransactionID"
.Col = 1: .Text = "CustomerID"
74

.Col = 2: .Text = "AccountNo"


.Col = 3: .Text = "Narration"
.Col = 4: .Text = "AmountWithdrawn"
.Col = 5: .Text = "Dated"
End With

End Sub
Public Sub LoadListView(myrs As Recordset, MSFlex As MSFlexGrid)
MSFlex.Rows = myrs.RecordCount + 1
MSFlex.Row = 0
With myrs
While Not .EOF
MSFlex.Row = MSFlex.Row + 1
For i = 0 To .Fields.Count - 1
MSFlex.Col = i
MSFlex.Text = .Fields.Item(i)
Next i
.MoveNext
Wend
End With
End Sub

75

WITHDRAWAL
'frmWithdrawal
Private Sub cmdOptions_Click(Index As Integer)
Dim i As Integer
Select Case Index
Case Is = 0
If cboCustomerNo.Text = "" Then
Call Messager
cboCustomerNo.SetFocus
Exit Sub
End If
If txtDeposits(1).Text = "" Then
MsgBox "Please Enter the Customer Correctly.", vbInformation
cboCustomerNo.SetFocus
Exit Sub
End If

For i = 0 To 3
If txtDeposits(i).Text = "" Then
Call Messager
txtDeposits(i).SetFocus
Exit Sub
End If
Next i
If (Val(lblBalance.Caption) - Val(txtDeposits(3).Text)) < Val(Label3.Caption)
Then
MsgBox "Money cant be withdrawn as the account balance has reached
minimum!"
76

Exit Sub
End If
i=0
For X = 0 To 5
Select Case X
Case Is = 1
rsWithdrawal(X) = cboCustomerNo.Text
Case Is = 5
rsWithdrawal(X) = txtDated.Value
Case Else
rsWithdrawal(X) = txtDeposits(i).Text
i=i+1
End Select
Next X
rsWithdrawal.Update

Set rsTemp = New ADODB.Recordset


rsTemp.Open "Select * FROM tblCustomers WHERE CustomerID='" &
cboCustomerNo.Text & "'", cnBank, adOpenKeyset, adLockOptimistic
If rsTemp.RecordCount > 0 Then
rsTemp(13) = Val(lblBalance.Caption) - Val(txtDeposits(3).Text)
Else
Exit Sub
End If
rsTemp.Update
rsTemp.Close

77

If Check1.Value = 1 Then
DataEnvironment1.rsCommand2.Filter = "TransactionID='" &
txtDeposits(0).Text & "'"
DataReport2.Show
End If
Case Is = 1
rsDeposit.CancelUpdate
End Select
Unload Me
End Sub

Private Sub Form_Load()


With cmdOptions(0)
.Picture = LoadPicture(App.Path & "\pictures\n2.jpg")
End With
For i = 1 To 1
Load cmdOptions(i)
With cmdOptions(i)
.Visible = True
.Left = cmdOptions(i - 1).Left + cmdOptions(i - 1).Width + 25
If i = 1 Then
.Picture = LoadPicture(App.Path & "\pictures\n3.jpg")
Else
.Picture = LoadPicture(App.Path & "\pictures\n10.jpg")
End If
End With
Next i
78

Call connectDatabase

For X = 1 To rsCustomers.RecordCount
cboCustomerNo.AddItem rsCustomers(0)
rsCustomers.MoveNext
Next X

Call clear_Form_Controls(Me)
Call GenerateNewTransactCode
rsWithdrawal.AddNew
End Sub
Public Sub GenerateNewTransactCode()
Dim lastnumber As Long, newnumber As Long
If rsWithdrawal.BOF = True And rsWithdrawal.EOF = True Then
lastnumber = 15000
Else
rsWithdrawal.MoveLast
lastnumber = rsWithdrawal(0)
End If
newnumber = lastnumber + 1
txtDeposits(0).Text = newnumber
End Sub
Private Sub cboCustomerNo_Click()
Set rsTemp = New ADODB.Recordset
Set rsTemp2 = New ADODB.Recordset

79

rsTemp.Open "Select * FROM tblCustomers WHERE CustomerID='" &


cboCustomerNo.Text & "'", cnBank, adOpenKeyset, adLockOptimistic
With rsTemp
If .RecordCount > 0 Then
txtDeposits(1).Text = !AccountNo
txtDeposits(2).SetFocus
Else
MsgBox "Invalid Customer Code", vbInformation
txtDeposits(1).Text = ""
Exit Sub
End If
.Close
End With
Set rsTemp = New ADODB.Recordset
rsTemp.Open "Select * FROM tblCustomers WHERE CustomerID='" &
cboCustomerNo.Text & "'", cnBank, adOpenKeyset, adLockOptimistic
If rsTemp.RecordCount > 0 Then
lblBalance.Caption = rsTemp(13)
Else
Exit Sub
End If
rsTemp2.Open "Select * FROM tblAccTypes WHERE AccountName='" &
rsTemp(12) & "'", cnBank, adOpenKeyset, adLockOptimistic
Label3.Caption = rsTemp2(4)
rsTemp2.Close
rsTemp.Close
End Sub

80

MAIN FORM
'MDIForm1
Private Sub Cmdmenu_Click(Index As Integer)
Select Case Index
Case 0: frmCustomers.Show
Case 1: frmDeposits.Show
Case 2: frmWithdrawal.Show
Case 3: frmTransactions.Show
Case 4: frmReports.Show
Case 5: frmSettings.Show
End Select
End Sub

Private Sub MDIForm_Load()


Cmdmenu(0).Picture = LoadPicture(App.Path & "\pictures\1.jpg")
For i = 1 To 5
Load Cmdmenu(i)
Cmdmenu(i).Visible = True
Cmdmenu(i).Left = Cmdmenu(i - 1).Left + Cmdmenu(i - 1).Width + 500
Cmdmenu(i).Picture = LoadPicture(App.Path & "\pictures\" & (i + 1) & ".jpg")
Next i
End Sub

81

MODULS
'Module1
Public cnBank As Connection
Public rsCustomers As Recordset
Public rsDeposit As Recordset
Public rsWithdrawal As Recordset
Public rsAccTypes As Recordset

Public rsTemp As Recordset


Public rsTemp2 As Recordset

Public X As Integer

Public Sub create_navigation_buttons(frm As Form)


With frm
With .cmdOptions(0)
.Picture = LoadPicture(App.Path & "\pictures\n1.jpg")
.DisabledPicture = LoadPicture(App.Path & "\pictures\nd1.jpg")
End With
For i = 1 To 4
Load .cmdOptions(i)
With .cmdOptions(i)
.Visible = True
.Left = frm.cmdOptions(i - 1).Left + frm.cmdOptions(i - 1).Width + 25
.Picture = LoadPicture(App.Path & "\pictures\n" & (i + 1) & ".jpg")
.DisabledPicture = LoadPicture(App.Path & "\pictures\nd" & (i + 1) &
".jpg")
82

End With
Next i

.cmdNavigate(0).Picture = LoadPicture(App.Path & "\pictures\n6.jpg")


For i = 1 To 3
Load .cmdNavigate(i)
With .cmdNavigate(i)
.Visible = True
.Left = frm.cmdNavigate(i - 1).Left + frm.cmdNavigate(i - 1).Width + 15
.Picture = LoadPicture(App.Path & "\pictures\n" & (i + 6) & ".jpg")
End With
Next i
.cmdOptions(1).Enabled = False: .cmdOptions(2).Enabled = False
End With
End Sub

Public Sub create_countries(combobx As ComboBox)


Dim st() As String
Dim st2 As String
Dim i As Integer
st2 = "United
Kingdom\Albania\Argentina\Afghanistan\Algeria\Australia\Belgium\Brazil\China\Can
ada\Colombia\Costa Rica\Czech Republic\Germany\Denmark\Egypt\Ecuador\United
Arab Emirates\Finland\France\Greece\Hong
Kong\Hungary\Indonesia\Ireland\India\Israel\Italy\Japan\Lebanon\Malaysia\Mexico\N
etherlands\Norway\New
Zealand\Austria\Philippines\Pakistan\Poland\Portugal\Peru\Puerto Rico\Russia\Saudi
Arabia\Sweden\Spain\Singapore\Switzerland\Thailand\Turkey\Taiwan\Tajikistan\Tanz
ania\Tunisia\Tuvalu\United States of America\Ukraine\Venezuela\South
Africa\Uganda\Uzbekistan\Vatican City\Vietnam\Yemen\Zimbabwe"
st = Split(st2, "\")
83

For i = LBound(st) To UBound(st)


combobx.AddItem (st(i))
Next i
combobx.ListIndex = 25
End Sub

Public Sub connectDatabase()


Set cnBank = New ADODB.Connection

With cnBank
.Provider = "Microsoft.JET.OLEDB.4.0"
.ConnectionString = App.Path & "\dbBank.mdb"
.Open
End With

Set rsCustomers = New ADODB.Recordset


rsCustomers.Open "tblCustomers", cnBank, adOpenKeyset, adLockOptimistic

Set rsDeposit = New ADODB.Recordset


rsDeposit.Open "tblDeposits", cnBank, adOpenKeyset, adLockOptimistic

Set rsWithdrawal = New ADODB.Recordset


rsWithdrawal.Open "tblWithdrawals", cnBank, adOpenKeyset, adLockOptimistic

Set rsAccTypes = New ADODB.Recordset


rsAccTypes.Open "tblAccTypes", cnBank, adOpenKeyset, adLockOptimistic

84

End Sub

Public Sub clear_Form_Controls(frm As Form)


Dim ctrl As Control
For Each ctrl In frm.Controls
If TypeOf ctrl Is TextBox Then
ctrl.Text = ""
ElseIf TypeOf ctrl Is ComboBox Then
ctrl.Text = ""
End If
Next ctrl
End Sub
Public Sub Messager()
MsgBox "Please Ensure that all fields are Complete", vbExclamation
End Sub
Public Sub Lock_Form_Controls(frm As Form)
Dim ctrl As Control
For Each ctrl In frm.Controls
If TypeOf ctrl Is TextBox Then
ctrl.Locked = True
ElseIf TypeOf ctrl Is ComboBox Then
ctrl.Locked = True
ElseIf TypeOf ctrl Is DTPicker Then
ctrl.Enabled = False
End If
Next ctrl
End Sub
85

Public Sub UnLock_Form_Controls(frm As Form)


Dim ctrl As Control
For Each ctrl In frm.Controls
If TypeOf ctrl Is TextBox Then
ctrl.Locked = False
ElseIf TypeOf ctrl Is ComboBox Then
ctrl.Locked = False
ElseIf TypeOf ctrl Is DTPicker Then
ctrl.Enabled = True
End If
Next ctrl
End Sub
Public Sub MoveToFirst(rsFirst As Recordset)
With rsFirst
Call CheckDatabaseStatus(rsFirst)
.MoveFirst
If .BOF Then
.MoveFirst
MsgBox "This is the first Record..", vbInformation
Exit Sub
End If
End With
End Sub
Public Sub MoveToPrev(rsPrev As Recordset)
With rsPrev
Call CheckDatabaseStatus(rsPrev)
.MovePrevious
86

If .BOF Then
.MoveFirst
MsgBox "This is the first Record..", vbInformation
Exit Sub
End If
End With
End Sub
Public Sub MoveToNext(rsNext As Recordset)
With rsNext
Call CheckDatabaseStatus(rsNext)
.MoveNext
If .EOF Then
.MoveLast
MsgBox "This is the last Record..", vbInformation
Exit Sub
End If
End With
End Sub

Public Sub MoveToLast(rsLast As Recordset)


With rsLast
Call CheckDatabaseStatus(rsLast)
.MoveLast
If .EOF Then
.MoveLast
MsgBox "This is the last Record..", vbInformation
Exit Sub
87

End If
End With
End Sub
Public Sub CheckDatabaseStatus(rsStat As Recordset)
With rsStat
If .BOF = True And .EOF = True Then
MsgBox "There are currently No records Available for this module",
vbInformation
Exit Sub
End If
End With
End Sub

88

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 programs 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

89

module and rectifying them in the contest of the module itself, rather than considering module-related
problem in a global context.

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.

90

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.

91

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 organizations 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

92

Maintenance is a fact of life in the development of information systems. However the making of
changes & adjustments dont 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 users requirements during system development.


Assembling better systems documentation.
Making better use of existing tools & techniques.
Including proper comments.

93

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.
2.

INTERNAL DOCUMENTATION
EXTERNAL DOCUMENTATION

INTERNAL DOCUMENTATION
Internal 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 doing
b)
Parameters are their purpose
c)
Assumptions about the input, if any
d)
Global variable accessed and or modified in the module
As 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.
94

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.

95

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

96

the calculation without any other software i.e., users all the requirements will be fulfill by this software
and user can manage all the numeric data calculations.

S.

Terms

Description

BACK UP

A copy of something preserved to insure

No.

against the damage of primary copy.

DATA

A repository of stored data.

BASE
3

DBMS

Data Base Management System is a layer


if Software between the physical database itself
& the users of the system.

DD

Data Dictionary, which is a data base that


Contains data about data i.e. description of
other in the system

FLOW
CHART

HARDWA
RE

ITD

FLOW
CHART
which
depicts relation between different entities in the
system.
The physical equipment in a system
comprising of computers, terminals, Keyboards
& Other ancillary items.
Information Technology Division.
97

MENU

MODULE

ON-LINE

PI

A group of options from which Selection


is to be made.
A small components of a larger system
A term describing people, equipment or
Devices that are in direct communication with the
computer
Preliminary Investigation

1
1

PROGRA

A sequence of instruction given to the


Computer to solve a particular problem.

PROTOTY

A development model of the system for


test Purpose

RDBMS

A data Base/ Management System in


which Relationships are defined by tables.

RSD

M
1

PE

Requirement Specification Document.

5
1
6
1
7

SCALABI

The ability to increase the performance


With the growth in Hardware.

SOFTWA

Computer program, procedure


&
Associated documentation concerned with the
operator of a system.

LITY

RE

98

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

99

Das könnte Ihnen auch gefallen