Abstract
This project
is designed to create a system that will enable banking activities to be performed
on the fly using mobile devices such as handsets, personal digital assistance
(PDA), smart phones, etc. The existing manual and non-mobile system has been
studied and analyzed for solutions using an electronic processing system to
obtain a faster efficient and reliable system. A detailed discussion is given
in the introductions presented in the first chapter. A brief comprehensive
literature review of the system and its benefits to mankind is outlines in
chapter two. Chapters three and four will include the description of the manual
system, the design of the new system and its implementation. At last chapter
five will present a summary of the work achieved. The new system that will be
developed for this project will be able to run on all Java-enabled mobile
devices. The system will be programmed using JAVA.
DEPARTMENT OF COMPUTER SCIENCE
CHAPTER ONE: INTRODUCTION
1.1 Background
of the study
1.2 Statement of the problem
1.3 Objectives of the study
1.4 Scope and limitation of the study
1.5 Background of the case study
CHAPTER TWO: LITERATURE REVIEW
CHAPTER THREE: RESEARCH
METHODOLOGY, SYSTEM INVESTIGATION AND ANALYSIS
3.1 Research methodology
3.2 System
investigation
3.3 System analysis
3.3.1 Data analysis
3.3.2 Input analysis
3.3.3 Output analysis
3.4 Overview of existing system
3.4.1 Problem of the existing system
3.5 Proposal of the new system
3.6.1 Objectives of the new system
3.6.1 Structured data flow
CHAPTER FOUR: SYSTEM DESIGN
4.1 System
specification
4.1.1 Mainmenu specification
4.2.1 Input specification
4.1.3 0utput specification
4.1.4 Database specification
4.2 System design
4.2.1 Scope of design
4.2.2 Input/output design
4.2.3 Input specification
4.2.4 Output specification
CHAPTER FIVE: SYSTEM
IMPLEMENTATION AND TESTING
5.1 System requirement
5.2 System flowchart
5.3 Programming language used / design
5.4 Program testing / debugging
5.5 Program documentation
5.6 Staff training
5.7 Changeover procedure
5.8 System
evaluation
5.9 System
maintenance
CHAPTER SIX: RECOMMENDATION AND
CONCLUSION
6.1 Summary of achievement
6.2 Conclusion
6.3 Recommendation
6.4 Suggestion of further studies
6.5 References
6.6 Appendix
CHAPTER ONE: INTRODUCTION
1.1
Background
of the study
The need for information that is
accurate when they are needed is one of the major problems of management, as
they are often used in the making of vital decisions. Consequently wrong or
delayed information can lead to very costly mistakes which may cost the firm or
the individual a lot thereby portraying bad or poor managerial ability.
In the financial sector, there is
need for efficient, accurate and automated analysis of such business.
Transactions should be conducted in a more convenient and comfortable mood.
Hence the need for mobile banking
is considered to be solution to this needs identified. The present system of
bank transactions bears a lot of negative effect to the customers, especially
to the incident that demands urgent attention.
The mobile banking system is the most
modern banking system. This system was built to perform balance checks and other
banking transactions through a mobile device.
1.2
Statement of
the problem
Some problems were encountered
during the development of this project. The main problem this project seeks to
address includes;
v
The problem of time wastage
v
The problem of unnecessary delays in performing
banking transactions.
1.3 Aim and objectives of the
study
Aim
The aim of this project is to
develop a software that can support the usage of mobile devices such as mobile
phone or personal Digital Assistant for banking transactions like account
transactions, payments, credit applications and etc.
Objectives include:
i)
To create a
system that will bridge the mobile gap between big banks and small banks
ii)
To enable more people have access to mobile banking
facility
iii)
To encourage the
transition to cashless society
1.4
Scope and
limitations of the study
The project is fully and working
banking solution/application or software that can run on mobile devices, capable
of holding daily transactions. This project will also show the limitations on
the operation and suggest computer –aided solutions to the problems.
Limitations
Handset operability is one of the
limitations of this project because there are large numbers of different mobile
phone devices and it is a big challenge for banks to offer mobile banking
solutions on any type of device.
Security of financial
transactions, being executed over the air, is the most complicated challenges
that need to be addressed.
Authentication of the devices
with service provider before initiating a transaction.
CHAPTER TWO:
LITERATURE REVIEW
Mobile banking
Mobile banking (also known as M-Banking, mbanking,
SMS Banking) is a term used for performing balance checks, account transactions,
payments, credit applications and other banking transactions through a mobile
device such as a mobile phone or Personal Digital Assistant (PDA). The earliest
mobile banking services were offered over SMS. With the introduction of the
first primitive smart phones with WAP support enabling the use of the mobile
web in 1999, the first European banks started to offer mobile banking on this
platform to their customers [1].
Mobile banking has until recently (2010) most often been
performed via SMS or the Mobile Web. Apple's initial success with iPhone and
the rapid growth of phones based on Google's Android (operating system) have
led to increasing use of special client programs, called apps, downloaded to
the mobile device.
A mobile banking conceptual model
In one academic model,[2] mobile banking is defined as:
Mobile Banking refers to provision and availment of banking- and financial
services with the help of mobile telecommunication devices. The scope of
offered services may include facilities to conduct bank and stock market
transactions, to administer accounts and to access customized
information."
According to this model Mobile Banking can be said to
consist of three inter-related concepts:
• Mobile Accounting
• Mobile Brokerage
• Mobile Financial Information Services
Most services in the categories designated Accounting and
Brokerage are transaction-based. The non-transaction-based services of
an informational nature are however essential for conducting transactions – for
instance, balance inquiries might be needed before committing a money
remittance. The accounting and brokerage services are therefore offered
invariably in combination with information services. Information services, on
the other hand, may be offered as an independent module.
Mobile phone banking may also be used to help in business
situations
Trends in mobile banking
The advent of the Internet has enabled new ways to conduct
banking business, resulting in the creation of new institutions, such as online
banks, online brokers and wealth managers. Such institutions still account for
a tiny percentage of the industry.
Over the last few years, the mobile and wireless market
has been one of the fastest growing markets in the world and it is still
growing at a rapid pace. According to the GSM Association and Ovum, the number
of mobile subscribers exceeded 2 billion in September 2005, and now (2009)
exceeds 2.5 billion (of which more than 2 billion are GSM).
According to a study by financial consultancy Client, 35%
of online banking households will be using mobile banking by 2010, up from less
than 1% today. Upwards of 70% of bank center call volume is projected to come
from mobile phones. Mobile banking will eventually allow users to make payments
at the physical point of sale. "Mobile contactless payments” will make up
10% of the contactless market by 2010.[3] Another study from 2010 by Berg
Insight forecasts that the number of mobile banking users in the US will grow
from 12 million in 2009 to 86 million in 2015. The same study also predicts
that the European market will grow from 7 million mobile banking users in 2009
to 115 million users in 2015.[4]
Many believe that mobile users have just started to fully
utilize the data capabilities in their mobile phones. In Asian countries like
India, China, Bangladesh, Indonesia and Philippines, where mobile
infrastructure is comparatively better than the fixed-line infrastructure, and
in European countries, where mobile phone penetration is very high (at least 80%
of consumers use a mobile phone), mobile banking is likely to appeal even more.
The population of the world mobile phone user has rising to 87 percent as of
January. Nigeria is rank number 10 in the world. With total number of
90,583,306 mobile phone user, with a population of 140,000,000 people which
approximately 64.7 percent of the population.
Mobile banking business models
A wide spectrum of Mobile/branchless banking models is
evolving. However, no matter what business model, if mobile banking is being
used to attract low-income populations in often rural locations, the business
model will depend on banking agents, i.e., retail or postal outlets that
process financial transactions on behalf telecoms or banks.
The banking agent is an important part of the mobile
banking business model since customer care, service quality, and cash
management will depend on them. Many Telco will work through their local
airtime resellers. However, banks in Colombia, Brazil, Peru, and other markets
use pharmacies, bakeries, etc.
These models differ primarily on the question that who
will establish the relationship (account opening, deposit taking, lending etc.)
to the end customer, the Bank or the Non-Bank/Telecommunication Company
(Telco). Another difference lies in the nature of agency agreement between bank
and the Non-Bank. Models of branchless banking can be classified into three
broad categories - Bank Focused, Bank-Led and Nonbank-Led.
Bank-focused model
The bank-focused model emerges when a traditional bank
uses non-traditional low-cost delivery channels to provide banking services to
its existing customers. Examples range from use of automatic teller machines
(ATMs) to internet banking or mobile phone banking to provide certain limited
banking services to banks’ customers. This model is
Additive in nature and may be seen as a modest extension
of conventional branch-based banking.
Bank-led model
The bank-led model offers a distinct alternative to
conventional branch-based banking in that customer conducts financial
transactions at a whole range of retail agents (or through mobile phone)
instead of at bank branches or through bank employees. This model promises the
potential to substantially increase the financial services outreach by using a
different delivery channel (retailers/ mobile phones), a different trade
partner (telco / chain store) having experience and target market distinct from
traditional banks, and may be significantly cheaper than the bank-based
alternatives. The bank-led model may be implemented by either using correspondent
arrangements or by creating a JV between Bank and Telco/non-bank. In this model
customer account relationship rests with the bank
Non-bank-led model
The non-bank-led model is where a bank has a limited role
in the day-to-day account management. Typically its role in this model is
limited to safe-keeping of funds. Account management functions are conducted by
a non-bank (e.g. Telco) who has direct contact with individual customers.
Mobile Banking Services
Mobile banking can offer services such as the following:
Account Information
1. Mini-statements and checking of account history
2. Alerts on account activity or passing of set thresholds
3. Monitoring of term deposits
4. Access to loan statements
5. Access to card statements
6. Mutual funds / equity statements
7. Insurance policy management
Mobile banking 3
8. Pension plan management
9. Status on cheque, stop payment on cheque
10. Ordering cheque books
11. Balance checking in the account
12. Recent transactions
13. Due date of payment (functionality for stop, change
and deleting of payments)
14. PIN provision, Change of PIN and reminder over the
Internet
15. Blocking of (lost, stolen) cards
Payments, Deposits, Withdrawals, and Transfers
1. Domestic and international fund transfers
2. Micro-payment handling
3. Mobile recharging
4. Commercial payment processing
5. Bill payment processing
6. Peer to peer payments
7. Withdrawal at banking agent
8. Deposit at banking agent
A specific sequence of SMS messages will enable the system
to verify if the client has sufficient funds in his or her wallet and authorize
a deposit or withdrawal transaction at the agent. When depositing money, the
merchant receives cash and the system credits the client's bank account or
mobile wallet. In the same way the client can also withdraw
Money at the merchant: through exchanging sms to provide
authorization, the merchant hands the client cash and debits the merchant's
account.
Investments
1. Portfolio management services
2. Real-time stock quotes
3. Personalized alerts and notifications on security
prices
Support
1. Status of requests for credit, including mortgage
approval, and insurance coverage
2. Check (cheque) book and card requests
3. Exchange of data messages and email, including
complaint submission and tracking
4. ATM Location
Content Services
1. General information such as weather updates, news
2. Loyalty-related offers
3. Location-based services
Based on a survey conducted by Forrester, mobile banking
will be attractive mainly to the younger, more "tech-savvy" customer
segment. A third of mobile phone users say that they may consider performing
some kind of
Financial transaction through their mobile phone. But most
of the users are interested in performing basic transactions such as querying
for account balance and making bill payment.
Future functionalities in Mobile Banking
Based on the 'International Review of Business Research
Papers' from World business Institute, Australia, following are the key
functional trends possible in world of Mobile Banking.
With the advent of technology and increasing use of Smartphone
and tablet based devices, the use of Mobile Banking functionality would enable
customer connect across entire customer life cycle much comprehensively than
before.
With this scenario, current mobile banking objectives of
say building relationships, reducing cost, achieving new revenue stream will
transform to enable new objectives targeting higher level goals such as
building brand of the banking organization. Emerging technology and
functionalities would enable to create new ways of lead generation,
Prospecting as well as developing deep customer
relationship and mobile banking world would achieve superior customer
experience with bi-directional communications.
Illustration of objective based functionality enrichment
In Mobile Banking
• Communication enrichment: - Video Interaction with
agents, advisors.
• Pervasive Transactions capabilities: - Comprehensive
“Mobile wallet”
• Customer Education: - “Test drive” for demos of banking
services
• Connect with new customer segment: - Connect with Gen Y
– Gen Z using games and social network ambushed to surrogate bank’s offerings
• Content monetization: - Micro level revenue themes such
as music, e-book downloads
• Vertical positioning: - Positioning offerings over mobile
banking specific industries
• Horizontal positioning: - Positioning offerings over
mobile banking across all the industries
• Personalization of corporate banking services: -
Personalization experience for multiple roles and hierarchies in corporate
banking as against the vanilla based segment based enhancements in the current
context.
• Build Brand: - Built the bank’s brand while enhancing
the “Mobile real estate”.
Challenges for a Mobile Banking Solution
Key challenges in developing a sophisticated mobile
banking application are:
Handset operability
There are a large number of different mobile phone devices
and it is a big challenge for banks to offer mobile banking solution on any
type of device. Some of these devices support Java ME and others support SIM
Application Toolkit, a WAP browser, or only SMS. Initial interoperability
issues however have been localized, with countries like India using portals
like R-World to enable the limitations of low end java based phones, while
focus on areas such as South Africa have defaulted to the USSD as a basis of
communication achievable with any phone. The desire for interoperability is
largely dependent on the banks themselves, where installed applications (Java
based or native) provide better security, are easier to use and allow
development of more complex capabilities similar to those of internet banking
while SMS can provide the basics but becomes difficult to operate with more
complex transactions. There is a myth that there is a challenge of interoperability
between mobile banking applications due to perceived lack of common technology
standards for mobile banking. In practice it is too early in the service
lifecycle for interoperability to be addressed within an individual country, as
very few countries have more than one mobile banking service provider. In
practice, banking interfaces are well defined and money movements between banks
follow the IS0-8583 standard. As mobile banking matures, money movements
between service providers will naturally adopt the same standards as in the
banking world. On January 2009, Mobile Marketing Association (MMA) Banking
Sub-Committee, chaired by Cell Trust and VeriSign Inc., published the Mobile
Banking Overview for financial institutions in which it discussed the advantages
and disadvantages of Mobile Channel Platforms such as Short Message Services
(SMS), Mobile Web, and Mobile Client Applications, SMS with Mobile Web and
Secure SMS.[5]
Security
Security of financial transactions, being executed from
some remote location and transmission of financial information over the air,
are the most complicated challenges that need to be addressed jointly by mobile
application developers, wireless network service providers and the banks' IT
departments.
The following aspects need to be addressed to offer a
secure infrastructure for financial transaction over wireless network:
1. Physical part of the hand-held device. If the bank is
offering smart-card based security, the physical security of the device is more
important.
2. Security of any thick-client application running on the
device. In case the device is stolen, the hacker should require at least an
ID/Password to access the application.
3. Authentication of the device with service provider
before initiating a transaction. This would ensure that unauthorized devices
are not connected to perform financial transactions.
4. User ID / Password authentication of bank’s customer.
5. Encryption of the data being transmitted over the air.
6. Encryption of the data that will be stored in device
for later / off-line analysis by the customer.
One-time passwords (OTPs) are the latest tool used by
financial and banking service providers in the fight against cyber fraud [6]. Instead
of relying on traditional memorized passwords, OTPs are requested by consumers
each time they want to perform transactions using the online or mobile banking
interface. When the request is received the password is sent to the consumer’s
phone via SMS. The password is expired once it has been used or once its scheduled
life-cycle has expired.
Because of the concerns made explicit above, it is
extremely important that SMS gateway providers can provide a decent quality of
service for banks and financial institutions in regards to SMS services.
Therefore, the provision of service level agreements (SLAs) is a requirement
for this industry; it is necessary to give the bank customer delivery
Guarantees of all messages, as well as measurements on the
speed of delivery, throughput, etc. SLAs give the service parameters in which a
messaging solution is guaranteed to perform.
Scalability & Reliability
Another challenge for the CIOs and CTOs of the banks is to
scale-up the mobile banking infrastructure to handle exponential growth of the
customer base. With mobile banking, the customer may be sitting in any part of
the world (true anytime, anywhere banking) and hence banks need to ensure that
the systems are up and running in a true 24 x 7 fashion. As customers will find
mobile banking more and more useful, their expectations from the solution will
increase. Banks unable to meet the performance and reliability expectations may
lose customer confidence. There are systems such as Mobile Transaction Platform
which allow quick and secure mobile enabling of various banking
Services. Recently in India there has been a phenomenal
growth in the use of Mobile Banking applications, with leading banks adopting
Mobile Transaction Platform and the Central Bank publishing guidelines for
mobile banking operations.
Application distribution
Due to the nature of the connectivity between bank and its
customers, it would be impractical to expect customers to regularly visit banks
or connect to a web site for regular upgrade of their mobile banking
application. It will be expected that the mobile application itself check the
upgrades and updates and download necessary patches (so-called "Over the
Air" updates). However, there could be many issues to implement this
approach such as upgrade /synchronization of other dependent components.
Personalization
It would be expected from the mobile application to
support personalization such as:
1. Preferred Language
2. Date / Time format
3. Amount format
4. Default transactions
5. Standard Beneficiary list
6. Alerts
Mobile banking in the world
Mobile banking is used in many parts of the world with
little or no infrastructure, especially remote and rural areas. This aspect of
mobile commerce is also popular in countries where most of their population is
unbanked. In most of these places, banks can only be found in big cities, and
customers have to travel hundreds of miles to the nearest bank. In Iran, banks
such as Parsian, Tejarat, Mellat, Saderat, Sepah, Edbi, and Bankmelli offer the
service. Banco Industrial provides the service in Guatemala. Citizens of Mexico
can access mobile banking with Omnilife, Bancomer and MPower Venture. Kenya's
Safaricom (part of the Vodafone Group) has the M-Pesa Service, which is mainly
used to transfer limited amounts of money, but increasingly used to pay utility
bills as well. In 2009, Zain launched their own mobile money transfer business,
known as ZAP, in Kenya and other African countries. In Somalia, the many
telecom companies provide mobile banking, the most prominent being Hormuud
Telecom and its ZAAD service.
Telenor Pakistan has also launched a mobile banking
solution, in coordination with Taameer Bank, under the label Easy Paisa, which
was begun in Q4 2009. Eko India Financial Services, the business correspondent
of State Bank of India (SBI) and ICICI Bank, provides bank accounts, deposit,
withdrawal and remittance services, micro-insurance, and micro-finance
facilities to its customers (nearly 80% of whom are migrants or the unbanked
section of the population) through mobile banking.[7]
In a year of 2010, mobile banking users soared over 100
percent in Kenya, China, Brazil and USA with 200 percent, 150 percent, 110
percent and 100 percent respectively.[8]
Dutch-Bangla Bank (www.dutchbanglabank.com) launches the
very first mobile banking service in Bangladesh on 31 March, 2011. This service
is launched with ‘Agent’ and ‘Network’ support from mobile operators,
Banglalink and Citycell. Sybase 365, a subsidiary of Sybase, Inc. has provided
software solution. There are around 160 million people in Bangladesh, of which,
only 13 per cent have bank accounts. With this solution, Dutch-Bangla Bank can
now reach out to the rural and unbanked population, of which, 45 per cent are
mobile phone users. Under the service, any mobile handset with subscription to
any of the six existing mobile operators of Bangladesh would be able to utilize
the service. Under the mobile banking services, bank-nominated ‘Agents’ perform
banking activities on behalf of the banks, like opening mobile banking account,
providing cash services (receipts and payments) and dealing with small credits.
Cash withdrawal from a mobile account can also be done from an ATM validating
each transaction by ‘mobile phone & PIN’ instead of ‘card & PIN’. Other
services that are being delivered through mobile banking system are person-to-person
(e.g. fund transfer), person-to-business (e.g. merchant payment, utility bill
payment), business-to-person (e.g. salary/commission disbursement),
government-to-person (disbursement of government allowance) transactions.
CHAPTER THREE:
RESEARCH METHODOLOGY, SYSTEM INVESTIGATION AND SYSTEM DESIGN
3.1 Research methodology
This includes the method used in
this research work for collection of procedure techniques, tools and
documentation aids which will help system developers in the effort to implement
a new system.
This research consists of phases
which will guide the system developer in the choice of techniques that might be
appropriate at each stage of the project.
The two main sources of data
collection used in this project are primary and secondary data sources. The
secondary source, which represents the literature review of works already done
in the corresponding research area;
These includes piece of
information from:
v
Textbooks
v
Journals
v
Seminar papers
v
Materials from internet.
And the primary sources method of
data collection included the actual participation of the researcher. It brought
her in contact with the site and the people involved in it. In this respect
personal observation, interview and questionnaire were used.
The methods will still be
explained one after the other.
v
Observation
method: this is a process whereby the researcher employs a systematic
watching and recording of events as they occur. The researcher must be patience
and must not be in a time limit because of the study. The researcher took time to visit the hospital, watch how patients
troop the hospital and some of the protocols observed.
v
Face to
face interview: this is also another method of data collection. Here, the
researcher will have respondent thereby getting the information he/she needs.
Data here is more reliable compared with others because the researcher will get
those information that are absolute on secret normal, the researcher also
adopts her method of selecting the data to avoid bias.
3.2 system investigation
System investigation is a
thorough study of the present system to know its strength, faults, benefits and
weakness. The present system under study is manual hence the reason for the
automation.
The researcher’s objective is to
monitor all investigations carried out in the bank and develop a system that
can take care of all important transactions to improve reliability and speed in
carrying out banking transactions.
During an official examination of the fact about
banking operations, it has been noticed that the process is slow. The research
work will involve sharing of resources that are important for more efficiency
in the development of mobile system for the various bank transactions.
3.3 System analysis
This is
the process of investigating the current system and deploying methods aimed at
developing a more sophisticated or systematic one, the present system is a
manually operated one, hence it’s pertinent to develop a systematic one that
will make the entire process less cumbersome and more effective, interesting
and reliable.
Analysis
is a technique that helps to describe an obtained fact and detect its pattern.
To properly uncover the entire process for the development of the entire
system, it was broken down into the
following stages.
3.3.1 Data analysis
Data
analysis for the mobile banking application based on the data gathered from the
different approaches mentioned above. Facts were critically elicited from
expert sources in the development of this system. A mobile banking application
will carry out the following functions;
- Create a bank account .
- Make deposits.
- Make withdrawals.
- Check account balance.
- Make transfer of funds.
3.3.2
Input analysis
The input analysis describes all the input operations that
will take place throughout the entire software development process. The system
is expected to have a platform that allows the user perform all the necessary
banking operations. The platform can be a simulation or an actual mobile phone.
3.3.3
Output analysis
The
expected output for every user of this software will look out for includes;
·
A mobile platform for
transactions.
·
A database for storing
data
3.4 overview of the existing system
The
present system is a manually operated one. Stacks of customers queue in the
bank for transactions which can be either creation of account, withdrawal, or
funds transfer.
3.4.1 Problems of the existing system
During this research, a number of set black to
the objectives were discovered which led to the proposal of a new system. They
include:
v Wastage
of human and material resources: with the existing system much labour is
required in the repetitive system, processes of preparing individual forms;
paper and ink are wasted, including printed material, like withdrawal slip
which cost a lot of ink.
v Time
consuming: the existing system consumes a lot of time; much time is wasted in
attending to customers in the bank.
v No
easy retrieval and sorting of file due to increase in the volume of customer.
v Delay:
the manual system does not enhance profitability and quick decision making. It
does not respond to the speculated change in demand to effect reliability. The
management board should see to it that they discontinue the existing system and
convert it to mobile banking. This will solve the time consuming problem and
keep the customer in relaxed mind and should the management persist in using
the existing method, the bank will lose most of their customer.
3.5 Proposal of the new system
Experience has shown that
using a system brings to light it’s shortcoming and this suggest improvement
especially where the system is no longer satisfying the users in this case,
mobile banking system is suggested in the
replacement of the mechanical based system which already exist . This
on-line system will help to increase the effectiveness and efficiency in
service and reduce the problem associated with mechanical ones. This new system
will be able to perform the following
1.
Processing of customer’s transaction without the
customer being present in the bank.
2.
Send customer’s information to him/her on request.
3.
Speed up processing there by reducing delay in
attending to customers
4.
Provide improved services and to reduce expenses.
3.6 Objectives of the new
system
The
objective of the new system is to exterminate these threatening problems posed
by the existing system and to create an environment which transaction can be
made easily and the customers numerous needs and predetermined requirements can
be met. Examples of such requirement are the checking of account balances,
acquiring of ATM cards etc. Another objective is to create or make provision
for staffs to react more rapidly to information stored in the system.
3.6.1 structured data flow
diagram for the design and implementation of a mobile banking application.
A data flow diagram summarizes in
a diagram what happens in the system, it depicts how information flows from one
point to the other throughout the program life cycle. Thus the figure below
shows the dataflow diagram for the mobile banking application software.
CHAPTER FOUR
SYSTEM SPECIFICATION AND DESIGN
4.1
SYSTEM SPECIFICATION
Specification is a means by which
the user of the software and the software designer communicate with each other
understandably.
Thus
bearing in mind that the actual task is developing a mobile banking application, Proper specification of the objects used in
the development process will go a long way in making sure the goal is achieved.
4.1.1 Main
menu specification
The
main menu serves as the centre point to all other forms in the system. It
comprises of menus and sub menus used to display another form on any click
event. The main menu form consists of a simulated mobile phone that performs
the following functions;
- Create a bank account.
- Make deposits.
- Make withdrawals.
- Check account balance.
- Make transfer of funds.
4.1.2 Input specification
The
input specification for this system tackles all the essential information which
the user must enter to enable the system generate accurate results. The user enters the customer’s name and
creates the account.
4.1.3 Output specification
The
output specification is based on the results obtained after the user must have
keyed in the requested data, it can send the result after processing it to the
database.
4.1.4 Database specification
The
database specification is based on the results obtained after the user must
have keyed in the requested data, it sends the result to the database, the
database should contain fairly everything that the user keys in
4.2 System design
The proposed system design is
to produce specification which will facilitate the computation and accurate
implementation of the new system without going back to the organization for
more information. The new system is designed based on the data collection and
it contains the customers’ records and document for an online mobile
processing.
4.2.1 Scope of design
This chapter specifies the scope
or boundary within which the new system is designed and implemented. Due to the
constraint and vast technical processes involved in full scale implementation
of mobile banking system.
The proposed system will be a
software simulation that actually enables bank transactions to be carried out
on the mobile handsets
4.2.2 Input/output design
4.2.3 Input specification
The input specifications for this
system are the input data referred to as input requirement. The input
requirement for this system is the banks website which when loaded by the
customers enables the customer to carry out his/her transaction.
4.2.4 Output specification
The output specification to this
system includes the software interface.
CHAPTER FIVE: SYSTEM
IMPLEMENTATION AND TESTING
5.1 System requirement
The new system requires both
hardware and software before it can be functional.
Hardware
requirement include;
*Pentium M or multiple IBM
compactable 486D with 16MB and at least 60GB hard disk.
*MODEM (internal or
externals)
*Digital telephone line
*printer
*internet service provider
(ISP) website access
*Multiple 14 super video
graphic adapter monitor
Software requirement include
*web service (Browser)
Netscape
*operating system
*transmission control
protocol /internet protocol (TCP/IP)
5.2 System flowchart
A flow chart is defined as
the diagraph cal representation of the sequential or logical flow of data in a
system. In some cases, it is regarded as data flow diagram (DFD). In the
research work, the program flow chart was used to analyze the computer system
flow chart.
5.3 Programming language used /
design
The programming language used
in the course of this project is the JAVA. The JAVA is a universal language for
preparing web document for presentation on the internet. It also allows the
preparation of web documents through the use of tags and allow for the
dissemination of information in any format, text, sound, graphic etc. It was
considered due to it is easy to learn and understand.
5.4 Program testing / debugging
The program was tested using
a typical test data and the output obtained for comparison and decision
making. This was to ensure that all
possible contingences are specified in the system specification. The program on
mobile banking system is a well debugged program. All syntax and semantic error
were properly debugged.
5.5 Program documentation
The term documentation is
generally used to denote all materials that serve primarily to describe a
system and make understandable. The purpose of documenting this project work is
to serve as guide to the users of the new system on how to operate or make use
of system. It also help the analyst to make decision on the maintenance,
operational and updating the machine for more efficient work in the near
future. The procedures are
*Go to start menu
*open internet explorer
*type www.microfinance.bank.com
Home page will appear then
follow the instruction, on the page to complete your operation
5.6 Staff training
The system implementation
requires the training of staff of the chibuikem bank. All staff directly
involved in making use of the system must be educated concerning the new system
to alleviate their fears. In adequate training of the staff, computer is
necessary so that they will adapt to the new system.
5.7 Changeover procedure
This is the stage in the
implementation process where the change is made from the existing system to the
newly designed one. There basic methods which can be employed are;
*Parallel changeover – This makes use of some input to run the old
and new system currently. The outputs are compared and the output from the old
system is to be distributed until the new system provide satisfactory.
*Direct change over-this involves the introduction of the completed
new system without any reference to previously existing system. This procedure
is useful where there is insufficient similarity between the new and old
system.
*pilot change over –this involves changing part of the system using
parallel or direct change over procedures. For the purpose of this research
work and taking into consideration the case study, the parallel change over
procedure is recommended because it gives the university the facility of fully
testing the new system while still retaining the existing system. And in a
situation where the system fails, they can easily revert to the old system.
5.8 System evaluation
System evaluation involves a
detailed measure in the design. The evaluation is to ensure and improve greater
performance efficiency. If a system performance is below the standard set in
the design, there is the need to identify the fault by the application of
relevant maintenance methods.
5.9 System maintenance
System maintenance is the act
of monitory, evaluating and modifying a system to make desirable or necessary
improvement. It involves the constant reviewing of output from the system,
updating its format to make it current as well as the need of the changing
situation. There are four maintenance approaches which include;
v Preventive
v Corrective
v Adaptive
Preventive maintenance; is the act of
regular inspection of the system to ward off system faults and error.
Corrective maintenance; is the identification of faults and fixing
up faults that has been trouble shut.
Adaptive; is the making of the system to adapt to changing
requirement of the user and that of the environment.
Perfective; is the bringing upon the system technical improvement
which has no alternative to do the basis
The researcher after going
through the whole procedure, recommends preventive approach for its evaluation
and surety.
CHAPTER SIX: RECOMMENDATION AND CONCLUSION
6.1 Summary of achievement
In summary, mobile banking
system is assumed to be the best and easy method of carrying out bank
transactions. In the existing process, there is delay in attending to customers
and at times, the customers’ files are not secure. Mobile banking system is
safe and cannot be manipulated by an unauthorized person’s
6.2 Conclusion
This researcher highlights
the development of mobile banking system which allows easy manipulation, stress
free and timely dissemination of information to customers via mobile devices.
It also gives room for fast and accurate processing. Finally I hereby conclude
that mobile banking system is the best method of carrying out bank transaction.
6.3 Recommendation
There is need for speed,
accuracy, efficiency and convenience in all managerial operation. Based on this
and other factors surrounding the existing system, the writer recommends mobile
banking system as the best method of carrying out bank transaction.
6.4 Suggestion of further studies
There is need to be improving or
upgrading the mobile banking system to enable the bank to serve its numerous
customers better.The researcher there for suggests to future researchers to go into
broader research into all aspects of IDS
References
Baran,
Paul (1964) Distributed communication http://www.rand.org/pubs/research
memoranda /rm3767.
Bob Woods
(2002) Contemporary issue information technology application ‘’validation
information in financial application’’ Abuja, volume 14, 7th Edition
Coffman,
K. G. (1998) the size and growth rate of the internet http; // www. Dtc. Umn.
Edu
Comer,
Douglass (2006) the internet book. Http; // www.internetworld stats. Com
Markere
C.C (2006) Information and communication technology policy. New York, dryder
press
Odlyzko,
A.M (1996) Corporate internet mobility magazine, October, 1996, online version
http // www. Org
Oscar V.O
(1996) online transmission of information, New York Zamco publication
Ohaejesu technology
P.C (1999) online services on information and technology, Onisha;
samakwe publication.
Ramesh G.
(2002) the effect of the internet London; Osbome publishers.
Simon R.
(2006) Contemporary issue information technology Application; E-
learning and E- commerce Application in tertiary institution Abuja, volume 14.
Tim Berner
(1993) Computer in today world USA; Richard Irioin Inc.
Walter
Willinger (2002)’’ The Hyde education new media center findings in distributed
online education’’ paper presented at a seminar at the knowledge media
institute of Open University in London, UK.
www.bloomberg. com
www.en.wikipedia .org
www.vancouver. wsu .edu
www.google. com.
Appendix
/*
* To change this template,
choose Tools | Tem
* And open the template in the
editor.
*/
package mbanking;
import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
/**
*
* @author chibuikem
*/
public class DBConn implements
Runnable {
private Display display;
private String url =
"http://localhost/mbanking/database.php";
String to_do, money,
number, firstname, surname, account_name, target, source;
public DBConn(Display
displayIn, String action, String accountnumber, String amount) {
display =
displayIn;
to_do = action;
money = amount;
Number =
accountnumber;
start();
}
public DBConn(Display
displayIn, String action, String accountnumber) {
display =
displayIn;
to_do = action;
number =
accountnumber;
start();
}
public DBConn(Display
displayIn, String action, String target_number, String source_number, String
amount) {
display =
displayIn;
to_do = action;
money = amount;
target = target_number;
source =
source_number;
start();
}
public DBConn(Display
displayIn, String action, String firstnameIn, String surnameIn, String
accountnameIn, String amount) {
display = displayIn;
to_do = action;
money = amount;
account_name =
accountnameIn;
firstname =
firstnameIn;
surname =
surnameIn;
start();
}
public void start() {
Thread t = new Thread(this);
t.start();
}
public void run() {
StringBuffer sb =
new StringBuffer();
//deposit
if (to_do.equals("deposit")) {
try {
HttpConnection c = (HttpConnection)
Connector.open(url);
c.setRequestProperty("User-Agent", "Profile/MIDP-1.0,
Configuration/CLDC-1.0");
c.setRequestProperty("Content-Language","en-US");
c.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
c.setRequestMethod(HttpConnection.POST);
OutputStream
os = c.openOutputStream();
//getConnectionInformation(c);
String params =
"number="+number + "&money=" + money +
"&action=" + to_do;
os.write(params.getBytes());
os.flush();
os.close();
// Get the
response from the servlet page.
DataInputStream is =(DataInputStream)c.openDataInputStream();
//is =
c.openInputStream();
int ch;
sb = new
StringBuffer();
while ((ch =
is.read()) != -1) {
sb.append((char)ch);
}
showAlert(sb.toString());
is.close();
c.close();
} catch (Exception
e) {
showAlert(e.getMessage());
}
}
//create new
account
if (to_do.equals("new")) {
try {
HttpConnection c = (HttpConnection) Connector.open(url);
c.setRequestProperty("User-Agent", "Profile/MIDP-1.0,
Configuration/CLDC-1.0");
c.setRequestProperty("Content-Language","en-US");
c.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
c.setRequestMethod(HttpConnection.POST);
OutputStream
os = c.openOutputStream();
//getConnectionInformation(c);
String params
= "name="+account_name + "&firstname=" + firstname +
"&surname=" + surname + "&startup=" + money +
"&action=" + to_do;
os.write(params.getBytes());
os.flush();
os.close();
// Get the
response from the servlet page.
DataInputStream is =(DataInputStream)c.openDataInputStream();
//is =
c.openInputStream();
int ch;
sb = new
StringBuffer();
while ((ch =
is.read()) != -1) {
sb.append((char)ch);
}
showAlert(sb.toString());
is.close();
c.close();
} catch (Exception
e) {
showAlert(e.getMessage());
}
}
//withdraw
if (to_do.equals("withdraw")) {
try {
HttpConnection c = (HttpConnection) Connector.open(url);
c.setRequestProperty("User-Agent", "Profile/MIDP-1.0,
Configuration/CLDC-1.0");
c.setRequestProperty("Content-Language","en-US");
c.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
c.setRequestMethod(HttpConnection.POST);
OutputStream os = c.openOutputStream();
//getConnectionInformation(c);
String params
= "number="+number + "&money=" + money +
"&action=" + to_do;
os.write(params.getBytes());
os.flush();
os.close();
// Get the
response from the servlet page.
DataInputStream is =(DataInputStream)c.openDataInputStream();
//is =
c.openInputStream();
int ch;
sb = new
StringBuffer();
while ((ch =
is.read()) != -1) {
sb.append((char)ch);
}
showAlert(sb.toString());
is.close();
c.close();
} catch (Exception
e) {
showAlert(e.getMessage());
}
}
//transfer
if (to_do.equals("transfer")) {
try {
HttpConnection c = (HttpConnection)
Connector.open(url);
c.setRequestProperty("User-Agent", "Profile/MIDP-1.0,
Configuration/CLDC-1.0");
c.setRequestProperty("Content-Language","en-US");
c.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
c.setRequestMethod(HttpConnection.POST);
OutputStream
os = c.openOutputStream();
//getConnectionInformation(c);
String params = "source="+ target
+ "&amount=" + money + "&target=" + target +
"&action=" + to_do;
os.write(params.getBytes());
os.flush();
os.close();
// Get the
response from the servlet page.
DataInputStream is =(DataInputStream)c.openDataInputStream();
//is =
c.openInputStream();
int ch;
sb = new
StringBuffer();
while ((ch =
is.read()) != -1) {
sb.append((char)ch);
}
showAlert(sb.toString());
is.close();
c.close();
} catch (Exception
e) {
showAlert(e.getMessage());
}
}
//inquire
if (to_do.equals("inquiry")) {
try {
HttpConnection c = (HttpConnection) Connector.open(url);
c.setRequestProperty("User-Agent",
"Profile/MIDP-1.0, Configuration/CLDC-1.0");
c.setRequestProperty("Content-Language","en-US");
c.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
c.setRequestMethod(HttpConnection.POST);
OutputStream
os = c.openOutputStream();
//getConnectionInformation(c);
String params
= "number=" +number + "&action=" + to_do;
os.write(params.getBytes());
os.flush();
os.close();
// Get the
response from the servlet page.
DataInputStream is =(DataInputStream)c.openDataInputStream();
//is =
c.openInputStream();
int ch;
sb = new
StringBuffer();
while ((ch =
is.read()) != -1) {
sb.append((char)ch);
}
showAlert(sb.toString());
is.close();
c.close();
} catch (Exception
e) {
showAlert(e.getMessage());
}
}
}
/* This method takes
input from user like db,user and pwd and pass to servlet */
/* Display Error On
screen*/
private void
showAlert(String err) {
Alert a = new
Alert("");
a.setString(err);
a.setTimeout(Alert.FOREVER);
display.setCurrent(a);
}
}
Bankspash
/*
* To change this template,
choose Tools | Templates
* and open the template in the
editor.
*/
package mbanking;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author chibuikem
*/
public class BankingSplash extends MIDlet implements CommandListener{
private Form splash;
private ImageItem imageitem;
private StringItem text,
author;
private Display display;
private Alert myalert;
public BankingSplash(){
splash = new
Form("Bank Smart 2.0");
text = new
StringItem("\n\nMobile Banking Application", "");
author = new
StringItem("Designed by Chibuikem", "");
myalert = new
Alert("Bank Smart 2.0", "Do you really want to quit?",
null, AlertType.CONFIRMATION);
myalert.setTimeout(Alert.FOREVER);
myalert.setType(AlertType.CONFIRMATION);
try {
imageitem = new
ImageItem("", Image.createImage("/banknote.png"),
ImageItem.LAYOUT_CENTER, "");
}catch (Exception e){
}
splash.addCommand(new
Command("Main Menu", Command.ITEM, 2));
splash.addCommand(new
Command("Exit", Command.HELP, 2));
splash.append(imageitem);
splash.append(text);
splash.append(author);
splash.setCommandListener(this);
myalert.addCommand(new
Command("Yes", Command.OK,1));
myalert.addCommand(new
Command("No", Command.BACK,2));
myalert.setCommandListener(this);
}
public void startApp() {
display =
Display.getDisplay(this);
display.setCurrent(splash);
display.vibrate(2000);
}
public void
commandAction(Command cmd, Displayable disp){
String label =
cmd.getLabel();
if
("Exit".equals(label)) {
display.setCurrent(myalert);
}
if
("Yes".equals(label)){
notifyDestroyed();
}
if
("No".equals(label)){
display.setCurrent(splash);
}
if ("Main
Menu".equals(label)){
new MainMenu(display);
}
}
public void pauseApp() {
}
public void
destroyApp(boolean unconditional) {
}
}
Mainmunu
/*
* To change this template,
choose Tools | Templates
* and open the template in the
editor.
*/
package mbanking;
import javax.microedition.lcdui.*;
/**
*
* @author chibuikem
*/
public class MainMenu implements CommandListener{
private Display display;
private List list;
private Image open,
withdraw, deposit, transfer, balance;
public MainMenu(Display
displayIn){
display = displayIn;
try {
open =
Image.createImage("/logo.png");
withdraw =
Image.createImage("/cast.png");
deposit =
Image.createImage("/result.png");
transfer = Image.createImage("/status.png");
balance =
Image.createImage("/bullet.png");
} catch (Exception
ex) {}
list = new List("", Choice.IMPLICIT);
list.append("Open
New Account\n", open);
list.append("Make
Withdrawal\n", withdraw);
list.append("Make
deposit\n", deposit);
list.append("Transfer Fund\n", transfer);
list.append("Balance
Inquiry", balance);
list.addCommand(new
Command("Proceed", Command.OK, 1));
list.addCommand(new
Command("Back", Command.OK, 2));
list.setCommandListener(this);
list.setTitle("Bank
Smart 2.0");
list.setSelectCommand(List.SELECT_COMMAND);
display.setCurrent(list);
}
public void
commandAction(Command c, Displayable displayable) {
String label =
c.getLabel();
if
("Proceed".equals(label)){
List menu = (List)
display.getCurrent();
switch
(menu.getSelectedIndex()) {
case 0:
new GUIPanel(1,
display);
break;
case 1:
new GUIPanel(2,
display);
break;
case 2:
new GUIPanel(3,
display);
break;
case 3:
new GUIPanel(4,
display);
break;
case 4:
new GUIPanel(5,
display);
break;
}
}
if
("Back".equals(label)){
//display.
}
}
}