DESIGN AND IMPLEMENTATION OF MOBILE BANKING IN NIGERIA



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

}
Share on Google Plus

Declaimer - MARTINS LIBRARY

NB: Join our Social Media Network on Google Plus | Facebook | Twitter | Linkedin