MFMS Micro Finance Management System Presented by: SE 18 Team 2E Date : 10 th August 2011...
-
Upload
jessica-eunice-fowler -
Category
Documents
-
view
222 -
download
1
Transcript of MFMS Micro Finance Management System Presented by: SE 18 Team 2E Date : 10 th August 2011...
MFMSMicro Finance Management System
Presented by: SE 18 Team 2EDate : 10th August 2011
INT/MFMS/MA.1 Team SE18 2E
Outline• Introduction
• Use Case Modeling
• Overall Architecture
• Demo
•Transition Strategy
• Project Progress
• Implementation Strategy
2INT/MFMS/MA.1 Team SE18 2E
Introduction
INT/MFMS/MA.1 Team SE18 2E 3
Micro-Finance is provision of thrift, credit and other financial service and products of very small amounts to the poor in rural, semi-urban and urban areas for enabling them to raise their income levels and improve living standards.
Objective Improve the socioeconomic status of low income people Increase employment by improving their access to financial services
INT/MFMS/MA.1 Team SE18 2E 4
Micro Finance
Overview
Provide a complete IT solution for Micro Finance operations incorporating a Mobile channel which will cover
Enrolment System
Loan Disbursement /Collection using Mobile Channel
Transparent & Scalable solution
Handle large Volume of Data
Micro Finance Management System (MFMS)
INT/MFMS/MA.1 Team SE18 2E 5
The Components of the proposed System
Back Office System ie., MIFOS
Mobile Channel (IPT 300)
Branch Office Support System
Micro Finance Management System (MFMS)
INT/MFMS/MA.1 Team SE18 2E 6
Micro Finance Management System (MFMS)
Users of the System
• Administrator
Administer the entire system that will be located in the Head Office
• Branch Officer/Manager
Manage the Field Operation
• Loan Officers
Identify the Members, Form the group, Distribute the Loan and Collect Payments
INT/MFMS/MA.1 Team SE18 2E 7
Workflow
Micro Finance Management System (MFMS)
Loan Officer collects Members data using the Mobile Channel
Branch Manager approves the Member and the Loan Amount
Branch Officer uploads data into MIFOS
Branch Officer downloads /uploads data into Mobile
Loan Officer disburses the loan
Loan Officer collects payment
INT/MFMS/MA.1 Team SE18 2E 8
Use Case Modeling
INT/MFMS/MA.1 Team SE18 2E 9
INT/MFMS/MA.1 Team SE18 2E 10
Use Case Model Survey
Print Receipt
(from Use Cases)
Scan photo
(from Use Cases)
Get thumbprint
(from Use Cases)
Manage Users
(from Use Cases)
Generate Reports
(from Use Cases)
Download Data f rom Branch Of f ice
(from Use Cases)
Upload Data to Branch Of f ice
(from Use Cases)
Loan Pay ment Collection
(from Use Cases)
<<include>>
Loan Distribution
(from Use Cases) <<include>>
Create Member Prof ile
(from Use Cases)
<<extend>>
<<extend>>
Search Member
(from Use Cases)
View&Update Member Prof ile
(from Use Cases)
View Loan Details
(from Use Cases)
Administrator
(from Actors)
manage
generate
Manage Data
(from Use Cases)
Login
(from Use Cases)
access
Download Data f rom Mobile
(from Use Cases)
Upload Data to Mobile
(from Use Cases)
Branch Of f icer
(from Actors)manage
access
pull data
push data
MIFOS
(from Actors)Sy nc Data
(from Use Cases)
push/pull data
push/pull data
MobileChannel Login
(from Use Cases)
Loan Of f icer
(from Actors)
selects
selects
selects
selects
collects
selects
selects
selects
access
pull data
push data
access
: Loan Officer
: LoanOfficerHomeScreen : LoanOfficerHomeContr...
: LoanPaymentMemberScreen
: LoanPaymentController
: Member
: Payment
: LoanPaymentListScreen
: PrinterController : Printer
Exception: If no collection was done due to various reasons
: NetworkController
: SecurityController
Exceptions: If errors found in controller, error message is displayed.
1: selectLoanPayments( )
6: selectMember( )
10: confirmLoanPayment( )11: confirmNoPayment( )
2: gotoLoanPaymentCollections( )
3: startLoanPaymentCollections( )
4: getLoanPaymentCollectionMembers( )
8: getLoanPaymentDetails( )12: updateLoanPaymentDetails( )
16: updateSentFlag( )
5: displayScreen( )19: displayScreen( )
20: displayError( )
7: showCustomerLoanPaymentCollections( )
17: printReceipt( )9: displayScreen( )21: displayError( )
13: getNetworkConnection( )15: sendData( )
14: encryptData( )
18: print( )
INT/MFMS/MA.1 Team SE18 2E 11
Use Case: Loan Payment Collections
INT/MFMS/MA.1 Team SE18 2E 12
Use Case: Upload Data to MobileChannel
: Branch Officer
: BranchOfficerHomeScreen : MainController
: UploadDataController : MobileInterface
: Member
: Payment : Loan
: UploadDataScreen
1: selectUploadData( )
16: cancel( )5: selectUpload( )
2: uploadData( )
3: showUploadData( )
4: show( )
14: displaySuccess( )15: displayError( )
6: startUploadData( )7: connectMobile( )13: uploadData( )
8: getMemberDetails( )
10: getPaymentDetails( )
9: getLoanDetails( )
: SecurityController
: User
Exception: If user cancel or closes, the current screen is closed, and home screen is displayed.
Exception: if errors found in controller, error message is displayed.
12: encryptData( )
11: getUsers( )
Overall Architecture
13INT/MFMS/MA.1 Team SE18 2E
http://mifos.org/product/features
MFMS 101
MifosMifos Handheld IPT300
Handheld IPT300Data
Microfinance Management System
INT/MFMS/MA.1 Team SE18 2E 14
Mifos
Web
S
erv
ice
s
5060
git://mifos.git.sourceforge.net / mifos/head http://ci.mifos.org:9000/project/index/1
INT/MFMS/MA.1 Team SE18 2E 15
MifosHandheld IPT300
Data
Microfinance Management System
BOSSData
Branch Office Support System (BOSS)
INT/MFMS/MA.1 Team SE18 2E 16
HTMLHTML
Java Server PagesJava Server Pages
Spring MVC Framework
Spring MVC Framework Spring WS
Spring WS
Hibernate Object Relational ManagerHibernate Object Relational Manager
Apache Tomcat web server 7.0
MySql DBMySql DB
MFMS User InterfaceMFMS User Interface
IPT 300 .NET Library
IPT 300 .NET Library Web Services
Web Services
Data Access layerData Access layer
.net compact framework
MS SQL CEMS SQL CE
Business Layer
BOSS
MFMS Mobile
MFMS Architecture
INT/MFMS/MA.1 Team SE18 2E 17
Prototype
INT/MFMS/MA.1 Team SE18 2E 18
MFMS System Components
INT/MFMS/MA.1 Team SE18 2E 19
Architecture - Physical view
*Hardware redundancy has not been shown
INT/MFMS/MA.1 Team SE18 2E 20
Sizing and Performance
•Max No of Clients handled by Loan offOfficer (8 Hrs per day * 60) minutes /10 = 48 ~ 50 clients •Total number of clients served in a day
50 Clients per loan officer * 400 Loan Officers = 20000 Clients •Estimated number of transactions per customer will be limited to 3. (Assuming a client registration, a loan disbursement/loan collection and a saving account.)
Transaction per day = 20000 clients * 3 transactions = 60000 transactions •Estimated number of transactions on average to the BOSS server: 2 per sec
Avg Transactions/sec = 60000/(8 Hrs *60 * 60 ) = ~2 Transactions per second. •Estimated maximum data upload size: 3 MB per day
Client record size = Average no of data fields per request = 3030 data fields per request * 100 bytes per field = 3000 bytes /1024 ~ 3KBTotal size = 60000 * 3KB = 18000KB ~ 18MB
•Response time for client request and timeout: 1 second response and 5 second timeout •BOSS database must be able to store data up to one week Data must be processed within a week. •Database size for 7 days client records storage:
Total size = 7* 18 = 126 MB
http://www.sevaksolutions.org/docs/RTS%20Uganda%20Case%20Study.pdfINT/MFMS/MA.1 Team SE18 2E 21
Demo
INT/MFMS/MA.1 Team SE18 2E 22
Menus / Menu items
MIFOS - Mobile Channel Prototype
INT/MFMS/MA.1 Team SE18 2E 23
Create Profile
MIFOS - Mobile Channel Occasionally connected system
First Name
INT/MFMS/MA.1 Team SE18 2E 24
MIFOS - Mobile Channel Prototype
Create Profile
Date of birthSalutation
INT/MFMS/MA.1 Team SE18 2E 25
MIFOS - Mobile Channel Prototype
Savings – Deposit collection
INT/MFMS/MA.1 Team SE18 2E 26
MIFOS - Mobile Channel Prototype
Savings – Deposit collection
INT/MFMS/MA.1 Team SE18 2E 27
Transition Strategy
INT/MFMS/MA.1 Team SE18 2E 28
The mobile channel application for the Micro Finance system is built into IPT300 Handheld device.
Application development on the device will use .NET Compact Framework 3.5 with the aid of SDK for IPT300 handheld.
To store data locally SQLCE 3.5 DB shall be used on IPT-300 Industrial Handheld Terminal
MVC Architecture on .NET compact Edition shall be used; which helps inA structured way of passing data Better organized codePlatform independent navigation to views
More details along with analysis and package diagram are described in the Transition strategy for Mobile Application document
Mobile Channel Transition Strategy
INT/MFMS/MA.1 Team SE18 2E 29
BOSS is installed as a web Model View Control (MVC) on Apache tomcat
BOSS shall be written as a java based web application (J2EE)
implementation approach for BOSS is to use Spring MVC
BOSS has its own data storage and for that we are using MySQL
DispatcherServlet is one of the boundary objects of BOSS
RequestDispatcher is the control object
ModelAndView contains the model data and the name of the view
BOSS Transition Strategy
INT/MFMS/MA.1 Team SE18 2E 30
Project Progress
INT/MFMS/MA.1 Team SE18 2E 31
Project Progress – Where are we ?
Completed Phase 2 activities
INT/MFMS/MA.1 Team SE18 2E 32
Project Progress – Phase 3
INT/MFMS/MA.1 Team SE18 2E 33
Project Progress – Phase 3
INT/MFMS/MA.1 Team SE18 2E 34
Strategy for Implementation of MFMS System
INT/MFMS/MA.1 Team SE18 2E 35
Major Tasks for the Phase 3
• Prepare the development environment
• Prepare the required documents such as Detailed Design Spec, Test Plan
• Develop the Source code
• Perform the Unit Test, system Integration Test and UAT
• Provide Training
• Roll out to Production system
INT/MFMS/MA.1 Team SE18 2E 36
Management Strategy
Appendix
INT/MFMS/MA.1 Team SE18 2E 37
Branch Officer : <Actor Name>
Branch Officer : <Actor Name>
: RequestDispacher : RequestDispacher :HandlerInterceptor:HandlerInterceptor UserControllerUserController :CreateUserModelAndView
:CreateUserModelAndView
:ViewResolver:ViewResolver :CreateUserView
:CreateUserView
CreateUser()
Request()
GetController()
CreateUser()
Create()
SelectView()
User details are given in XML
ValidateUser()
Changes to dynamic behavior (BOSS)
Sequence diagram for create-user use case
INT/MFMS/MA.1 Team SE18 2E 38
Form
MenuBar
main Form
getInstance()
BasePanel
handleException()updatebyID()clearPanel()
IBasePanel
getMainPanel()
Panel
BasePanel is a abstract panel which contains some common components such as Add, update buttons etc.
Button
ActionListener
actionPerformed()
ListArea
buildListArea()
SomePanel
someOperation()registerListener()...
SomeController
getInstance()performAction()
getPersistentAdvice()
canvas
Static behavior changes to MFMS Mobile UCRR(A)
Management Problems
INT/MFMS/MA.1 Team SE18 2E 40
No Problem Description Solution
1Communication and Resource Management
Member is unavailable for discussion.
Fix schedule and venue for next meeting.
Clearly specify agenda and attendances.
Manage and encourage flexible discussions. Such as encourage separate informal discussions
2Delegation/Task Control
Member unconfident to take tasks.
Member unable to finish tasks assigned on time.
Team discussion to assign work based on what areas the member is strong
Seek agreements from members on the tasks assigned.
3Stress among team members
Due to study load, workload, together with our final project load
Encourage team members to prioritize tasks and use time efficiently. Such as 1-2 hours/day for projects. Stress reduction.