Mobile Banking
Mobile Banking
Mobile Banking
mbank is a cloud based mobile banking setup designed to enable mobility for co-
operatives,micro finance,financial institution and banks. The service integrates with the
core banking software of each of these banks using a patented reverse tunneling process.
In Hamro Technology Pvt.Ltd., the frontend and backend teams develop independent
components that interact with each other through APIs.This system is highly scalable and
profitable for the business model as it saves both time and resources.
Since mbank is a cloud based mobile banking setup that contains the both hardware and
software components,developing each of the components from scratch would take up a
lot of time and resources. Thus,by making independent components,it is possible to reuse
and modify them according to the requirements of each feature.
1
1.3. Objectives
2
4. To study the different types of problem faced in software development life
cycle.
1.4 Scope
The API calls can be used by the backend team to connect the database with the
application.
These components can be used by any future new developers which are
responsible for maintenance of the application.
1.5 Limitation
The report does not provide the information about the overall integration plan of
different features of the application.
This report does not include the design process that was carried out.
This report does not include the backend process that was carried out.
3
This report does not include information about the script and routine task that are
performed to keep the system free from unwanted resource usages.
HAMRO Technology was established on 26th July 2016 and its company registered
number is 152626/073/074. Our Company is dedicated to delivering a full spectrum of
software & Mobile consulting and development services with Hardware & Networking
services to clients. With a view to provide quality Enterprise application software
products, and other services to all sorts of enterprises such as hotels, hospital, school,
college, cooperatives, Banks etc. We have set up our head office in Kathmandu and are in
the process of expansion of our branch network in near future. HAMRO Technology is a
management consulting, technology services and outsourcing company. Combining
unparalleled experience, comprehensive capabilities across all industries and business
functions, and extensive research on the world’s most successful companies, we
collaborate with clients to help them become high-performance.
4
figure 1.1 Organization Structure
HAMRO Technology pvt.ltd. follows centralized organizational structure where, the top
layer of management team has most of the decision making power and has tight control
over departments and divisions. The company has its own structure that represents the
flow of work within the organization and the designation of each employee. All the major
decision making and organizational plans and policies are decided through CEO and
Managing Director only.
5
HAMRO Technology has been associated to clients in and out of the country. This
company has proven to provide good quality products to its client. Use of latest
technology to design and build software for better user experience. Company is
dedicated to delivering a full spectrum of software & Mobile consulting and development
services with Hardware & Networking services to clients. With a view to provide quality
Enterprise application software products, and other services to all sorts of enterprises
such as hotels, hospital, school, college, cooperatives, Banks etc.
Some of the major service provided by HAMRO Technology are listd below:
1. Mobile Banking
2. SMS banking
3. Merchant On-boarding/Merchant Digitalization
4. ATM Banking
5. Internet Banking
Before selecting, the fore most things we need to take care is the interested area and
future opportunities of a student who can set a milestone for the further progress. In the
internship program, it is not an option whether to choose which organization but the
question is which organization can give you more valuable knowledge. I was interested in
JAVA programming language . So, I did research on the organizations which were related to
the particular field and which of these companies had vacancy for interns. After sending CV
to various companies, I was called for interview from HAMRO Technology Pvt. Ltd. Within
a few days of providing reference letter from the college, I was called for internship.
1.6.4 Placement
6
For my internship period in the organization, I was placed as a trainee in the Java
Development Department where I was treated as an part of the organization with access
to office space, personal computer and other organizational resources, equipment and
information. A trainer was provided who supported me and improved my programming
skills and knowledge. The author had placement in the development team. The major
tasks conducted by the author at the beginning of the tenure were self-learning,
analyzing, evaluating, observing, testing.
The duration of my internship was 12 weeks (i.e. Three Months). During this period, a
project was handled under the guidance of Er.Aadil Alam. I was placed as a employee in
the Java Development Department where I was treated as a employee of the organization
with access to office space, personal computer and other resources. The activity that was
assigned to me during the internship tenure
1.4.6 Duration
7
Organization : HAMRO Technology Pvt.Ltd.
Location : Kalanki, Kathmandu, Nepal
Opening Hours : 10:00 A.M.to 5:00 P.M.
Tel : +977-9801130007,+977-980113000
Email : info@hamrotech.com.np ,hamrotechnologies@gmail.com
Website : https://hamrotech.com.np/
8
CHAPTER 2: SYSTEM ANALYSIS
Systems analysis is the study of a system under consideration (which may be real or
imagined). System analysis is all about examining how the present system works and
identifying problems within it. System analysis involves the detailed study of the current
system model, leading to specification of a new system and a model provides the
blueprints of a system.
Functional requirement defines the functions, inputs, behavior, tasks, and output of the
system. Functional requirements may be calculations, technical details, data
manipulation, processing and other specific functionality that define what a system is
supposed to accomplish.
Use Case Diagram:
A use case model was used to capture the expected basic functions of the mobile banking
application. The use case diagram in Fig. 2 shows the various functions that can be
performed by a user that is interacting with the mobile banking application. The user-
centric functions include the opening of an account; withdrawal from an account; user’s
changing of the PIN; checking an account balance; transferring funds from one account
to another, payment of utility bills. It is also possible for the admin personnel to credit an
account with deposit from a customer.
9
Figure 2.1: Use case diagram of Mobile Banking System
Feasibility Study
A feasibility study is an analysis that takes all of a project's relevant factors into
account—including economic, technical, legal, and scheduling considerations—to
ascertain the likelihood of completing the project successfully. Project managers use
feasibility studies to discern the pros and cons of undertaking a project before they invest
a lot of time and money into it. Feasibility studies also can provide a company's
10
management with crucial information that could prevent the company from entering
blindly into risky businesses.
a. Technical Feasibility
b. Economic Feasibility
This assessment typically involves a cost/ benefits analysis of the project, helping
organizations determine the viability, cost, and benefits associated with a project
before financial resources are allocated. It also serves as an independent project
assessment and enhances project credibility—helping decision-makers determine the
positive economic benefits to the organization that the proposed project will provide.
c. Legal Feasibility
This assessment investigates whether any aspect of the proposed project conflicts with
legal requirements like zoning laws, data protection acts or social media laws. Let’s
say an organization wants to construct a new office building in a specific location. A
feasibility study might reveal the organization’s ideal location isn’t zoned for that type
of business. That organization has just saved considerable time and effort by learning
that their project was not feasible right from the beginning.
11
d. Operational Feasibility
e. Scheduling Feasibility
This assessment is the most important for project success; after all, a project will fail if
not completed on time. In scheduling feasibility, an organization estimates how much
time the project will take to complete.
12
CHAPTER 3: SYSTEM DESIGN
In system design functions and operation are described in details, including screen layout,
business rules, process diagrams and other documentation. The output of this stage will
describe the new system as a collection of modules or subsystems. Systems design could
be seen as the application of systems theory to product development. The output of this
stage will describe the full functionality of the system. The design stage takes as its initial
input the requirements identified in the approved requirements document. For each
requirement, a set of one or more design elements will be produced as a result of
interviews, workshops, and/or prototype efforts. The system’s design elements describe
the desired software features in detail, and generally include functional hierarchy
diagrams, screen layout diagrams, reprogramming of source code, and a complete system
portent.
Moreover, the second author involved in the study is an IT-biased practicing banking
professional. The layered architecture of the proposed mobile banking application is
as shown in Fig. The first layer is the presentation layer where different devices such
13
as smart phones, tablet computers, laptops and PDAs access the mobile banking
application over the Internet. The second layer is the mobile banking services layer
where the mobile banking application runs. It leverages on the Cloud Computing
Services layer and the Support Services layer of Google Apps Engine platform. The
third layer is the language run time layer that allows developers to use familiar
development tools and environments to build their applications. This includes the
Java language. For this study, Java programming language and Spring Boot
framework was used to develop the mobile banking application.
The fourth layer is the storage service layer that consists of the Google Apps Engine
Datastore , which is a schema-less object data store providing robust, scalable storage
for Web/mobile applications. It provides a rich data modelling API and SQL-like
query language called GQL.
14
3.2 Class Diagram
A class diagram in the Unified Modeling Language (UML) is a type of static structure
diagrams that describe the structure of the system by showing the system's classes, their
attributes, operations or methods, and the relationship among objects. Following diagram
shows the class diagram of system. Figure hows the first screen a user will encounter
when logged on to the application .There are several buttons on this main menu that
serve unique functions such as Open Account, which redirects a user to the open new
account form Check Balance-which allows the user to get his/her current account
balance . Fund Transfer, which allows a user to transfer money from his own account to
another .
15
3.4 Activity Diagram
16
CHAPTER 4:
In system implementation phase, we develop, install and test the system components and
deliver the system into actual use. The purpose of system implementation is to build a
system, install, replace and old systems, preparing system and user documentation. In
system implementation phase, we develop, install and test the system components and
deliver the system into actual use. The purpose of system implementation is to build a
system, install, replace and old systems, preparing system and user documentation.
System implementation has several major activities. There are five major tasks in this
phase; coding, testing, installation, documentation and training. The purpose of this phase
is to convert the physical system specifications into working and reliable software and
hardware, document she work that have been done and provide help for current and
future users.
4.1.1 Module Description
Well-structured designs improve the maintainability of a system. A structured system is
one that is developed from the top down and modular that is broken down into
manageable components. In this project we modularized the system so that they have
minimal effect on each other.
This application is designed into four independent modules which take care of different
tasks efficiently.
1. Admin Login Module
2. Interface Module
17
4.1.1.1 Admin Login Module
To access with system admin login is required. Providing valid username and password
an admin or other others created by admin can access with system and perform different
activities simultaneously.
User requirements Elaboration
Login into system Provide valid new username &
password to access system.
This module deals with presenting the data to the web page visitors. Various designing
tools like CSS and AJAX are used in this module to make the user interface graphical and
user friendly. The changes made to the content on the admin module is reflected in this
module. This module provides easy interface to the users.
18
1) Angular JS
AngularJS is a toolset for building the framework most suited to our application
development.It is fully extensible and works well with other libraries.Every
features can be modified or replace to suit our unique development workflow and
features needs.
2) Spring boot
Features
19
4.3 Testing Methodology
During the designing process, this system has so many bugs which were debugged one by
one analyzing the problem occurred on each steps. This system has gone through
following testing procedure.
Each module is tested in order to make sure it functions correctly. Later, programs are
tested in groups, followed by testing with the entire system. The first step in testing is to
compile the program to detect any syntax errors. If there is an error, the programmers
need to correct it until the program executes correctly. Then, the next step is to do a
testing, includes unit testing and system testing.
Unit testing is the testing of an individual unit or group of related units. It falls under the
class of white box testing. It is often done by the tester to test that the unit they have
implemented is producing expected output against given input. Each module of the
system has been tested for proper functionality. Following are some of the test that were
done.
20
4.3.2 System Testing
The whole system was tested for the proper functionality. Following test was conducted.
21
CHAPTER 5: Conclusion and Lesson Learnt
5.1 Conclusion
The three months of internship period has been helpful in developing practical knowledge
in the real world. During this period, a complete system was developed by the interns and
was given opportunities to work on real world projects which solved real world problems.
During the period, the interns got the opportunity to work in group and expose theoretical
knowledge into practical and learned to face with the actual working environment. Not
only to fulfill their educational degree but also to practice the knowledge gained in
colleges, internship period has been very fruitful. In these three months interns can gain
more practical knowledge than that in four years of study in college. In this period we
could focus on the fields of our interest.
Internship was a wonderful experience to work closely and under supervision of highly
professional and talented group of people who have a great experience, knowledge and
sense of determination. This is helpful for one to develop IT managerial skills necessary
to succeed in the challenging and competitive job environment in the real world.
22
5.2 Future Enhancement
23
Work under pressure.
Project completion within budget.
Regular guidance, motivation, evaluation and supervision is necessary because
internship is part of learning process. Organization should remove their mentality
of regarding burdens.
24
BIBLIOGRAPHY
2. Korth Silberschatz, Database System Concept, Tata McGrew Hill, New Delhi.
3. https://en.wikipedia.org/wiki/Application_programming_interface#cite_note-Clarke4-1
[1]
4. https://bootstrap.com/documentation [2]
5. https://en.wikipedia.org/wiki/Systems_design/ [3]
6. https://creately.com/app [4]
7. http://www.php.net [5]
8. https://www.laravel.com/user_guide/ [6]
9. http://www.jqwidgets.com/jquery-widgets-documentation/ [7]
10. http://dev.mysql.com/[8]
25