0% found this document useful (0 votes)
80 views95 pages

BCA Project: Hotel Management System

This document appears to be a project report submitted for a Bachelor of Computer Application degree. It includes the standard sections like an acknowledgment, declaration, contents, and introduction. The introduction provides a brief overview, stating that the project aims to computerize operations related to customers, rooms, and staff management at a hotel to make the processes more efficient compared to a manual system. It outlines some of the key sections that will be included like system objectives, analysis, design, development, testing, and documentation.

Uploaded by

Deepak Singhal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views95 pages

BCA Project: Hotel Management System

This document appears to be a project report submitted for a Bachelor of Computer Application degree. It includes the standard sections like an acknowledgment, declaration, contents, and introduction. The introduction provides a brief overview, stating that the project aims to computerize operations related to customers, rooms, and staff management at a hotel to make the processes more efficient compared to a manual system. It outlines some of the key sections that will be included like system objectives, analysis, design, development, testing, and documentation.

Uploaded by

Deepak Singhal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 95

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

GUIDED BY. SUBMITTED BY


MR. SANJAY KANT VIPIN KUMAR (8553296)

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. Vikrant Verma 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:
Abhishek Tyagi

Anshul 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
 System Documentation
 Glossary
 Bibliography
INTRODUCTION

COMPUTERISED HOTEL MANAGEMENT SYSTEM is a tool that it provides

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

places in the Hotel. But we had undertaken the work of Computerization of New

Customer, Rooms and Staff Management which covers the activities related to

Hotel, & 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

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 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.
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 Hotel Management 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:-

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.
ORGANISATION CHART

Computerized
Hotel
management
Manage
Customer

MANAGER

STAFF

Modify Staff

CUSTOMER

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


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.


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.


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

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.
Table name: Room details

Field name Data type Description

Rent Text Rent of rooms

Total Room Text Total rooms of Hotel

Booked Text Which Rooms are


Booked

Available text Which rooms are


available

Floor Text Total Floors of Hotel

Room Type Text How many type of


Rooms in Hotel

Facilities text Which facilities


provided by Hotel
Table name: Details of customer

Field name Data type Description

Customer Id text Customer Unique No.

Customer Name text Name of Customer

Contact No. Text Customer Contact No.

Address text Address of Customer

Country text Country of Customer

Room Type text stay In which Room type


where customer

Room No. text In which Room no. where


customer stay

Gender text Male\female

Booking start date Date/time Check in date of Customer

Time Date/time Check in time of Customer

Table name: Bill details


Field name Data type description

Name text Name of Customer

Room type text stay In which Room type


where customer

Arrival Date Date/time Check in date of Customer

Departure Date Date/time Check out date of


Customer

Duration text How much days customer


stay in hotel

Total amount text Total charge to the


customer

Table name: Details of Transactions


Field name Data type Description

Employee ID Text Unique id of employee

Department text Date of transaction

Name Text Name of employee

Address text Address of employee

Contact no. Text Contact no. of employee

Salary Text Salary of employee

Shift Text time

Table name: Details of users

Field name Data type Description

Login ID text Login ID of users

password text Password of User ID


Menu chart of proposed system

BANKING SYSTEM

ENTER PASSWORD

MENU

Password

A B C

User Name Password Quit

A
Verify LOGIN

ENTER Password
If valid password

HOTEL
Administrator

HOTEL
MANAGEM--
ENT SYSTEM

ROOMS STAFF
CUSTOMERS
Delete Staff Modify Staff

Administrator Login Staff

Login File
Add New
Delete Account Modify
customer

Administrator Login CUSTOMER

Login File
Add New
customer
Login Form

This is the login form. It is used for security reason.


Splash Form

Welcome form of the Project.

Main Form
Check in Form

Modify Customer Form


Check out Form
Add New Employee Form
Modify Employee Form
Delete Employee Form
Room Details Form
Bill Generating Form
Data Report

It contains all records of the customer .


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) CUSTOMERS


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)

End Select

End Sub

Private Sub cmdOptions_Click(Index As Integer)

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

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

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

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

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

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

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

End Sub
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
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


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

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)

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

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

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

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

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"

.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
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!"

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

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

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

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

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
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")

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\Canada\Colombia\Co
sta 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\Netherlands\Nor
way\New Zealand\Austria\Philippines\Pakistan\Poland\Portugal\Peru\Puerto Rico\Russia\Saudi
Arabia\Sweden\Spain\Singapore\Switzerland\Thailand\Turkey\Taiwan\Tajikistan\Tanzania\Tunisia\Tu
valu\United States of America\Ukraine\Venezuela\South Africa\Uganda\Uzbekistan\Vatican
City\Vietnam\Yemen\Zimbabwe"

st = Split(st2, "\")

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

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

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

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

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


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.

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.
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
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.
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 DOCUMENTATION
2. 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.
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.
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
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. Terms Description
No.
1 BACK UP A copy of something preserved to insure

against the damage of primary copy.

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

4 DD Data Dictionary, which is a data base that


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

5 FLOW FLOW CHART which


CHART depicts relation between different entities in the
system.

6 HARDWA The physical equipment in a system


RE comprising of computers, terminals, Keyboards
& Other ancillary items.

7 ITD Information Technology Division.


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

9 MODULE A small components of a larger system

1 ON-LINE A term describing people, equipment or


0 Devices that are in direct communication with the
computer

1 PI Preliminary Investigation
1
1 PROGRA A sequence of instruction given to the
2 M Computer to solve a particular problem.

1 PROTOT A development model of the system for


3 YPE test Purpose

1 RDBMS A data Base/ Management System in


4 which Relationships are defined by tables.

1 RSD Requirement Specification Document.


5

1 SCALABI The ability to increase the performance


6 LITY With the growth in Hardware.

1 SOFTWA Computer program, procedure &


7 RE Associated documentation concerned with the
operator of a 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

You might also like