Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
M-FIN
MICROFINANCE LOAN MANAGEMENT
SYSTEM
T. A. MAKUMBURAGE
BIT Registration No: R081300
Index No: 0813001
Supervisor: Mrs...
ii
Declaration
iii
Abstract
Microfinance offers basic financial services mainly to the poor people who have lack
of access to banking and...
iv
Acknowledgements
Apart from the efforts of mine, the success of any project depends largely on the
encouragement and gu...
v
Table of Contents
Declaration..............................................................................................
vi
2.5.5 Loan Approval ...........................................................................................14
2.5.6...
vii
4.6.5 jExcel ........................................................................................................4...
viii
List of Figures
Figure 1.1: Iterative Waterfall Model...................................................................
ix
Figure A: 1 Features of Java Installation.............................................................................5...
x
List of Tables
Table 3.1: Table Structure – Stakeholder....................................................................
xi
List of Acronyms
SEEDS - Sarvodaya Economic Enterprise Development Services
J2EE - Java Enterprise Edition
OOD - Object...
1
Chapter 01 – Introduction
As an immerging sector of Sri Lanka, Microfinance industry has grown its leaps and
bounds to h...
2
become a mess for them because they are using a spreadsheet called ‘loan sheet’ to
extract all the reports. Also there i...
3
1.4 Scope
• Loan Processing
• Automates the loan processing s ystem and reduces the manual work.
• Provides a trial calc...
4
1.5 Selected Process Model
Among many software development process models Iterative Waterfall Model is
selected for this...
5
1.5.3 Design
Design phase transforms requirements specification in to suitable implementation in
some programming langua...
6
1.6 Dissertation Overview
The first chapter, Introduction describes the motivation for the project with scope,
objective...
7
Chapter 02 - Analysis
This phase divided in to two main activities, Requirement gathering and Requirement
analysis. Main...
8
• Mifos [WWW3]
Mifos is a web based microfinance software. It is an open source software which
charges only for support ...
9
• Loan Performer [WWW4]
Loan performer is a Multi-User MIS application for microfinance, developed by
Crystal Clear Soft...
10
There are many microfinance software created by many companies around worldwide.
Since microfinance industry has no leg...
11
• Facility Follow-up Process
SEEDS keeping a loan sheet which includes all the details about loan facilities. It is
bei...
12
Figure 2:4 shows the main actors of the M-Fin system. Following are the use cases of
the actors.
• Manager :
o Approve ...
13
2.5.1 User Authentication & Authorization
All the officers of the SEEDS should have a username and a password to login ...
14
Officers should be assigned to maintain these data in the system. And have to make
sure any modification to these data ...
15
2.6 Non-Functional Requirements
• Platform Independency
System will be capable of working flawlessly irrespective of th...
16
• Loan calculation screen to calculate loan installment and schedule according to
the parameters such as loan amount, p...
17
Chapter 03 – Design
3.1 Alternative Solutions & Justification
Several alternative solutions were compared to find the m...
18
robustness. It also has free IDEs for the development purposes. Thus J2EE is chosen as
the development language for the...
19
3.4 Systems Structuring
The software solution is divided into following modules to reduce the complexity of
the design....
20
3.5.1 Data Model
Data model is an abstract model which shows specifically how the data is stored and
accessed in the sy...
21
• Table Structures
The following is sample table structures for the table Stakeholder & System Program
in M-fin system....
22
Table 3.1: Table Structure – Stakeholder
Entity Code : SYP
Entity Name : System Program
Table Name : system Program
Tab...
23
Figure 3.5: Class Diagram related to classes of Stakeholder Reference
Figure 3.4: Class Diagram related classes of Loan...
24
3.5.2 Process Model
• Use Case Diagram
Use case diagrams are graphically model the functionality of the system using ac...
25
Table 3.3: Usecase Narrative – Input Client Details
Use case No : U2
Use case : Login to the system
Description : Allow...
26
Activity diagram is another important diagram in UML to describe dynamic aspects of
the system. They are typically used...
27
3.5.3 User Interface Design
User interfaces are the components of the system which users will interact with. User
inter...
28
• Main Screen
The following figure is the main screen of the M-fin system. It will load as a separate
window to the hom...
29
3.5.4 User Interface Standards
HyperText Markup Language (HTML) is used to develop the interfaces and Cascading
Style S...
30
• Validations
Mandatory fields of the input forms are marked in red colour asterix. Optional fields
are marked in blue ...
31
• Dialog Boxes & Messages
M-Fin system uses default browser dialog boxes and messages for alerts. These
messages are si...
32
• Reference Data Browsers
Common browser windows help user to browse and select the already defined
reference data. It ...
33
Chapter 04 – Implementation
The main activity of the implementation phase is to translate the agreed design to
source c...
34
• Software and Hardware Used
o Software
 Microsoft Windows 7
 Enterprise Architect 7
 MyEclipse 8.6
 MySQL Server 5...
35
o Operating system which supports 64bit architecture (Windows or
Linux)
o Apache Tomcat Server 6 (64bit)- Windows or Li...
36
• MySQL GUI Too ls
MySQL GUI tools are a free toolkit which consists of MySQL Administrator, MySQL
Query Browser, MySQL...
37
4.4 Coding Structure & Standards
4.4.1 Folder Structure
Following figure shows the structure of the source code where J...
38
• Struts Action Classes
An Action class in M-Fin system extends the ‘Dispatch Action’ class of the Struts
framework. Ac...
39
• Struts Property Files
Contains Buttons, Errors, Lables and Messages property files.
• Utility Classes
Contains Utilit...
40
o Form Beans
Form Beans are same as Java bean classes. The Action Servlet calls the setters of form
beans to populate t...
41
The default Spring configuration file name is applicationContext.xml. In M-Fin system
this file is extended by four oth...
42
4.6 Third Party Components Used
4.6.1 Active Widgets Grid
Active widgets Grid is a freely available cross-browser scrol...
43
4.6.4 iText
iText is a free and open source library for creating and manipulating PDF files in Java.
It generates dynam...
44
Chapter 05 – Evaluation
In the software development life cycle, testing phase is a critical point as it is the stage
th...
45
LN <relevant> P
blank<not relevant> Display Error Message P
A
2
Entering Description
aaaaaa<relevant> P
blank<not relev...
46
Display Loan Officers in the
select P
2
Check/uncheck
checkboxes
Tick 'Select All'
option
Tick all checkboxes in
select...
47
2.4
Click browse
button Load Reference Browser P
Pick a
Record
Display Stakeholder Type Code P
Expected Output at No 2....
48
5.5 Acceptance Testing
Acceptance testing was performed by the client organization in their working
environment. This w...
49
Chapter 06 – Conclusion
6.1 Critical Assessment of Project
Since microfinance industry is a rapid developing business, ...
50
6.2 Problems Encountered
There were several problems encountered during this project design and
implementation.
• Since...
51
References
[WWW1] – Wikipedia Website
http://www.wikipedia.org/ [2012.01.12]
[WWW2] – Website of Sarvodaya Economic Ent...
52
Appendix A- System Documentation
Following list of software should be installed before using M-Fin system.
• Java Devel...
53
o Next step is to configure the environmental variables for java. For that
go to My Computer -> Properties -> Advance S...
54
o Double click the Tomcat 6 setup and start the installation.
o Click next on the following screen.
o Accept the Licens...
55
o Select the program features you want to install from the next screen and
click next.
o Click install button to instal...
56
Appendix B- Design Documentation
Following are the designed usecase diagrams of the M-Fin loan management system.
Use C...
57
The following use case diagram displays the use cases of actor ‘Loan Administrator’.
The following use case diagram dis...
58
Table Structures
Table Structures designed for Stakeholder Type and Stakeholder Program are
displayed below. All other ...
59
Class Diagrams
The following are the parts of the class diagram designed for M-Fin loan management
system.
Figure: B: 3...
60
Figure: B: 5: Part of the Class diagram
Figure: B: 6: Part of the Class diagram
61
Activity Diagrams
The following is a activity diagram, ‘create application’ is drawn for the M-Fin loan
management syst...
62
Sequence Diagrams
The following are sequence diagrams drawn for the M-Fin loan management system.
Figure: B: 6: Sequenc...
63
Appendix C- User Documentation
Users can login to the system by selecting their branch and entering the username and
pa...
64
Branch Details screen is used to create Branches for the SEEDS organization. The
screen also has options to modify bran...
65
o Stakeholder→ Stakeholder Type
Figure C: 3: Stakeholder Details Screen
Figure C: 4: Stakeholder Type screen
66
Stakeholder Types for the system users can be created from this screen.There are
modify, delete and inquiry functions a...
67
o Loan Type
Loan Types for the M-Fin system can be created, modified and deleted from the above
screen.
Figure: C: 6: A...
68
• Loan Processing Module
o Loan Processing→ Loan Calculation
When creating a loan in the system, first loan calculation...
69
o Loan Processing→ Application Maintenance
When a user click the Application maintenance node system will show a screen...
70
Figure C: 10: Loan Application Screen
Figure: C: 11: Loan Appraisal Screen
71
Following is the Loan Approval screen of the M-Fin system. According to the loan
amount, Approval Groups are created in...
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
Nächste SlideShare
Wird geladen in …5
×

BIT (UCSC) Final Year Project - Microfinance Loan Management System

7.496 Aufrufe

Veröffentlicht am

BIT (UCSC) Final Year Project - Microfinance Loan Management System

Veröffentlicht in: Software

BIT (UCSC) Final Year Project - Microfinance Loan Management System

  1. 1. M-FIN MICROFINANCE LOAN MANAGEMENT SYSTEM T. A. MAKUMBURAGE BIT Registration No: R081300 Index No: 0813001 Supervisor: Mrs. G. H. Malawara Arachchi November 2012 This dissertation is submitted in partial fulfillment of the requirement of the Degree of Bachelor of Information Technology (External) of the University of Colombo School of Computing BIT
  2. 2. ii Declaration
  3. 3. iii Abstract Microfinance offers basic financial services mainly to the poor people who have lack of access to banking and related services. ‘SEEDS’ (Sarvodaya Economic Enterprise Development Services) is a leading microfinance institute in Sri Lanka, which has more than 75 branches and divisions. ’SEEDS’ is the economic arm of ‘Sarvoda ya’, which is established to eliminate poverty through the economic empowerment of rural people for sustainable livelihoods. Currently SEEDS is using a manual system for loan processing. They are facing many difficulties because of the lack of efficiency and productivity of the manual system. Loan officers often get stressed due to the workload which they have to carry out manually. So SEEDS is badly in need of a software solution for overcome these problems. This software solution, ‘M-Fin’ will cater those problems and requirements of SEEDS and help them to be productive and efficient in their field to gain competitive advantage over others. ‘M-Fin’ is a web based microfinance loan management system, which would automate the loan processing system of SEEDS. It also facilitates stakeholder details management, general ledger, loan trial calculation, management information, reports, facility follow-up, closure and day-end process. ‘M-Fin’ is designed and developed according to the requirements of the SEEDS using object oriented methodologies. Almost all the technologies used to develop the system are open-source. J2EE is chosen as the main programming language for ‘M-Fin’. Also highly productive frameworks such as ‘Struts’, ‘Spring’ and ‘Hibernate’ have been used for this system to preserve its basic needs as a financial system, such as reliability, security and efficiency. ’M-fin’ is built on ‘MyEclipse’ IDE and running on ‘Apache Tomcat’ application server.
  4. 4. iv Acknowledgements Apart from the efforts of mine, the success of any project depends largely on the encouragement and guidence of many others. I take this opportunity to express my gratitude to the people who have been instrumental in the successful completion of this project. I’m highly grateful to Sarvodaya Economic Enterprise Development Services Limited, specially Mr. Shantha Siriwardhana, Mrs. Nadeesha and Mr. Thushara Pathirana who gave immense support and guidance on behalf of the client of this project. I would like to thank Mrs. Chamila, the branch manager of the SEEDS Borella branch, who helped me to gather requirements properly. I would like to show my greatest appreciation to my project supervisor Mrs G. H Malawara Arachchi for guiding me and providing me with all the business and technical insights throughout this project. Without her encouragement and guidance this project would not have materialized. Then I would like to appreciate all the help and support given by my parents and sister throughout the project to make this a successful one. I would like to acknowledge the lecturers of OpenArc School of Business and Technology, who gave the knowledge and guidance throughout the BIT digree programme. Also I would like to thank Miss. U.V. Vandebona and my friends who have been with me and supported me to complete this project Finally I would be gratefull to University of Colombo School of Computing (UCSC) and coordinators of the Bachelor of Information Technology (BIT) degree program to giving me this opportunity to apply the knowledge which I have gained through the degree program.
  5. 5. v Table of Contents Declaration.........................................................................................................................ii Abstract............................................................................................................................iii Acknowledgements ...........................................................................................................iv Table of Contents ...............................................................................................................v List of Figures.................................................................................................................viii List of Tables .....................................................................................................................x List of Acronyms...............................................................................................................xi Chapter 01 – Introduction....................................................................................................1 1.1 Motivation for project ..........................................................................................1 1.2 Background.........................................................................................................1 1.3 Objectives and Importance ...................................................................................2 1.3.1 Objectives....................................................................................................2 1.3.2 Importance...................................................................................................2 1.4 Scope..................................................................................................................3 1.5 Selected Process Model........................................................................................4 1.5.1 Feasibility Study...........................................................................................4 1.5.2 Requirement Analysis...................................................................................4 1.5.3 Design .........................................................................................................5 1.5.4 Coding.........................................................................................................5 1.5.5 Testing.........................................................................................................5 1.5.6 Maintenance.................................................................................................5 1.6 Dissertation Overview..........................................................................................6 Chapter 02 - Analysis..........................................................................................................7 2.1 Requirements Gathering.......................................................................................7 2.2 Similar Solutions .................................................................................................7 2.3 Current Business Process....................................................................................10 2.4 Problems Exist in the Current System..................................................................11 2.5 Functional Requirements....................................................................................11 2.5.1 User Authentication & Authorization...........................................................13 2.5.2 Maintain Client Database............................................................................13 2.5.3 Maintain Reference Data.............................................................................13 2.5.4 Loan Calculation ........................................................................................14
  6. 6. vi 2.5.5 Loan Approval ...........................................................................................14 2.5.6 Print Loan Documents ................................................................................14 2.5.7 Loan Information........................................................................................14 2.5.8 Day-End process........................................................................................14 2.6 Non-Functional Requirements ............................................................................15 2.7 Benefits of the System........................................................................................15 Chapter 03 – Design .........................................................................................................17 3.1 Alternative Solutions & Justification...................................................................17 3.2 Systems Design Methodology.............................................................................18 3.3 Systems Design .................................................................................................18 3.4 Systems Structuring ...........................................................................................19 3.5 Deliverables ......................................................................................................19 3.5.1 Data Model................................................................................................20 3.5.2 Process Model............................................................................................24 3.5.3 User Interface Design .................................................................................27 3.5.4 User Interface Standards.............................................................................29 Chapter 04 – Implementation.............................................................................................33 4.1 Development Environment .................................................................................33 4.2 Hardware and Software Requirements.................................................................34 4.2.1 Server Side.................................................................................................34 4.2.2 Client Side .................................................................................................35 4.3 Development Tools............................................................................................35 4.4 Coding Structure & Standards.............................................................................37 4.4.1 Folder Structure..........................................................................................37 4.4.2 Package Structure.......................................................................................37 4.5 Open Source Frameworks Used..........................................................................39 4.5.1 Apache Struts.............................................................................................39 4.5.2 Spring........................................................................................................40 4.5.3 Hibernate ...................................................................................................41 4.6 Third Party Components Used............................................................................42 4.6.1 Active Widgets Grid ...................................................................................42 4.6.2 Date Picker................................................................................................42 4.6.3 dTree.........................................................................................................42 4.6.4 iText..........................................................................................................43
  7. 7. vii 4.6.5 jExcel ........................................................................................................43 Chapter 05 – Evaluation....................................................................................................44 5.1 Testing Method..................................................................................................44 5.2 Test Cases.........................................................................................................44 5.3 Integration Testing.............................................................................................47 5.4 System Testing ..................................................................................................47 5.5 Acceptance Testing............................................................................................48 5.6 Feedback...........................................................................................................48 Chapter 06 – Conclusion ...................................................................................................49 6.1 Critical Assessment of Project............................................................................49 6.2 Problems Encountered........................................................................................50 6.3 Lessons Learnt...................................................................................................50 6.4 Future Work......................................................................................................50 References.......................................................................................................................51 Appendix A- System Documentation .................................................................................52 Appendix B- Design Documentation..................................................................................56 Appendix C- User Documentation .....................................................................................63 Appendix D- Management Reports....................................................................................75 Appendix E – Test Results ................................................................................................77 Appendix F – Code Listing ...............................................................................................80 Appendix G – Client Certificate.........................................................................................88 Glossary & Index..............................................................................................................89
  8. 8. viii List of Figures Figure 1.1: Iterative Waterfall Model...................................................................................4 Figure 2.1: Interface of Mifos..............................................................................................8 Figure 2.2: Interface of ‘The Banker’...................................................................................8 Figure 2.3: Interface of 'Loan Performer'..............................................................................9 Figure 2.3: Interface of Octopus ..........................................................................................9 Figure 2:4: Actors of the System........................................................................................12 Figure 2:5: System Boundry for Loan WorkFlow ...............................................................13 Figure 3.1: Enterprise Architecture Tool ............................................................................19 Figure 3.2: System Structure .............................................................................................19 Figure 3.3: ER Diagram ....................................................................................................20 Figure 3.4: Class Diagram related classes of Loan process...................................................23 Figure 3.5: Class Diagram related to classes of Stakeholder Reference.................................23 Figure 3.6: Part of the Use Case Diagram...........................................................................24 Figure 3.7: Activity Diagram.............................................................................................25 Figure 3.8: Sequence Diagram...........................................................................................26 Figure 3.9: Home Page......................................................................................................27 Figure 3.10: Main Screen..................................................................................................28 Figure 3.11: Input Forms...................................................................................................29 Figure 3.12: Validations....................................................................................................30 Figure 3.13: Data Tables...................................................................................................30 Figure 3:14: Message from the System...............................................................................31 Figure 3:15: Date Field and Date Picker.............................................................................31 Figure 3:16: Common Browser..........................................................................................32 Figure 4:1: Technical Infastructure of the M-Fin system......................................................33 Figure 4:2: Source Folder Struture .....................................................................................37 Figure 4:3: Java Package Structure ....................................................................................38 Figure 4:4: Struts Framework Components.........................................................................39 Figure 4:5: Spring Framework Components .......................................................................40 Figure 4:6: Hibernate Framework Components...................................................................41 Figure 4:7: ‘Active Widgets’ Data Grid..............................................................................42 Figure 4:8: ‘Moo Tools’ Date Picker..................................................................................42 Figure 4:9: 'dTree' JavaScript Grid Component...................................................................43 Figure 5:1: User Feedback Form........................................................................................48
  9. 9. ix Figure A: 1 Features of Java Installation.............................................................................52 Figure A: 2: Environmental Variables................................................................................53 Figure A: 3: Setting 'JAVA_HOME' Variable.....................................................................53 Figure A: 4: Apache Tomcat Configuration Options ...........................................................54 Figure A: 5: MySQL Networking Options..........................................................................55 Figure B: 1: Usecase diagram for 'Officer' actor..................................................................56 Figure B: 2: Usecase diagram for 'Manager' actor...............................................................56 Figure B: 3: Usecase diagram for 'Loan Administrator' actor...............................................57 Figure B: 2: Usecase diagram for 'System Administrator' actor............................................57 Figure: B: 3: Part of the Class diagram...............................................................................59 Figure: B: 4: Part of the Class diagram...............................................................................59 Figure: B: 5: Part of the Class diagram...............................................................................60 Figure: B: 6: Part of the Class diagram...............................................................................60 Figure: B: 8: Activity Diagram for Create Application ........................................................61 Figure: B: 7: Part of the Class diagram...............................................................................61 Figure: B: 6: Sequence Diagram for Login to the system.....................................................62 Figure: B: 7: Sequence Diagram for Application Approval..................................................62 Figure: C: 1: Branch Details Screen...................................................................................63 Figure: C: 2: Branch Officer Screen...................................................................................64 Figure C: 3: Stakeholder Details Screen.............................................................................65 Figure C: 4: Stakeholder Type screen.................................................................................65 Figure C: 5: Approval Groups Creation..............................................................................66 Figure: C: 6: Approval Group Members Screen..................................................................67 Figure: C: 7: Loan Type Screen.........................................................................................67 Figure: C: 8: Loan Calculation Screen................................................................................68 Figure: C: 9: Application Maintenace.................................................................................69 Figure C: 10: Loan Application Screen ..............................................................................70 Figure: C: 11: Loan Appraisal Screen.................................................................................70 Figure C: 12: Application Approval...................................................................................71 Figure C: 13: Loan Documents Screen...............................................................................71 Figure C: 14: Assignment of Loans....................................................................................72 Figure C: 15: Loan Inquiry Screen.....................................................................................73 Figure C: 16: Access Rights Screen...................................................................................73 Figure C: 17: Login Details Screen....................................................................................74
  10. 10. x List of Tables Table 3.1: Table Structure – Stakeholder............................................................................22 Table 3.2: Table Structure – System Program.....................................................................22 Table 3.3: Usecase Narrative – Input Client Details ............................................................25 Table 3.4: Usecase Narrative – Login to the system ............................................................25 Table 3.5: Usecase Narrative – Approve Loans...................................................................25 Table 5: 1: Test Case: Stakeholder Type.............................................................................45 Table 5: 2: Test Case: Assignment of Loans.......................................................................46 Table 5: 3: Test Case: Access Rights..................................................................................47 Table B: 1: Table Structure: Stakeholder Type....................................................................58 Table B: 2: Table Structure: Stakeholder Program..............................................................58 Table D: 1: Branch Summary Report .................................................................................75 Table D: 2: Client Details Report.......................................................................................76 Table D: 3: Loan Disbursement Report ..............................................................................76 Table E: 1: Test Case: Loan Type ......................................................................................78 Table E: 2: Test Case: Approval Group..............................................................................79
  11. 11. xi List of Acronyms SEEDS - Sarvodaya Economic Enterprise Development Services J2EE - Java Enterprise Edition OOD - Object Oriented Design IT - Information Technology MIS - Management Information System UML - Unified Modeling Language MFI - MicroFinance Institute HTML - Hyper Text Markup Language CSS - Cascading Style Sheets JSP - Java Server Pages JSTL - JavaServer Pages Standard Tag Library SDK - Software Development Kit AJAX - Asynchronous JavaScript and XML MVC - Model View Controller XML - Extensible Markup Language IDE - Integrated Development Environment WYSIWYG - What You See Is What You Get PDF - Portable Document Format SMS - Short Message Service RAM - Rando m Access Memory
  12. 12. 1 Chapter 01 – Introduction As an immerging sector of Sri Lanka, Microfinance industry has grown its leaps and bounds to help the poor and poorest of the country. After the end of the war microfinance institutions has many opportunities to provide loan facilities to the people in need. Because of the close relationship maintained by microfinance institutions with people, they are more towards micro loan facilities rather than banking loans. Thus, to maintain that close relationship, microfinance institutions need lot of details about its clients and also more resources to manage loan processes. From reducing the cost and time spent, IT can provide better solution for fact gathering and loan management in microfinance institutions. 1.1 Motivation for project As the economic arm of Sarvodaya and a leading microfinance institute, SEEDS (Sarvodaya Economic Enterprise Development Services) has provided thousands of loan facilities to the poor people in Sri Lanka. Its main objective is to alleviate poverty by promoting economic empowerment of rural people for a sustainable livelihood. They don’t have proper systematic software to fulfill their needs. This software is presented as the solution for those requirements of the SEEDS to improve the productivity of their business. From this project will provide a web based software solution, mainly for the loan management purposes of the SEEDS. This system will reduce the paper work and automate the loan processing system with more management facilities. This project would help to gather more domain knowledge about the microfinance industry, much more about software development and project management. 1.2 Background Currently SEEDS is using a manual system for loan processing. They are facing many difficulties because of the lack of efficiency and productivity of the manual system. They have to maintain a manual file for each client, and that has become a huge overhead for loan officers. Also they tend to suffer financially because there is no notification system to see the loan installments due on a specific day. Reporting has
  13. 13. 2 become a mess for them because they are using a spreadsheet called ‘loan sheet’ to extract all the reports. Also there is a big risk involving paper work because there is no procedure for backing-up hard copies of loan documents. If one is misplaced or lost, there is no replacement. 1.3 Objectives and Importance 1.3.1 Objectives The main objective of the microfinance loan management system is to improve the efficiency of loan management processes and functions of the client (SEEDS) and provide a secure, reliable, platform independent and effective web-based software solution. Since this is a finance system, implement more security concerns and store client data securely in proper manner. 1.3.2 Importance The major backbone of a microfinance organization is its client base. They need to capture the client data and keep them in a secure place to further reference. With this system the loan officers can enter, organize and securely store the client information and relevant data and maintain the client database up-to-date. In the microfinance industry, loan officers must visit the clients to fill applications, collect installments, grant loans, and many other loan follow-up purposes. In this microfinance system the most of the loan processing workflow is automated, it will reduce the cost and time spent on paper work and also field work of client’s loan officers. The system will help managerial decision making by providing accurate and relevant data monitoring screens. It supports easy to understand, real-time user interfaces, showing a graphical presentation of the current status (snapshot) and historical trends of the organization’s Key Performance Indicators (KPIs) to enable immediate decisions to be made at a glance.
  14. 14. 3 1.4 Scope • Loan Processing • Automates the loan processing s ystem and reduces the manual work. • Provides a trial calculation facility to users which will apply the loan calculation and forecasts the loan schedule. • Work flow sequence for loan processing is automatically checked and controlled. • Client Data Handling • Creates a better stakeholder details base which will facilitate SEEDS to manage and expand their business strategies. • Transaction Handling • Create receipts to capture rental payments for loans. • Manage ment Information Handling • Integrated and powerful management information system with decision supported dash-boards with graphical representations. • Report Center • Equipped with a report center which enable management to monitor and analyze company performance. • Day End Handling • Provides day-end facility to process all the transactions which should occur at the end of the day. • Closure of Facilities • Provides closures to close facilities manually after completion of the installment schedule.
  15. 15. 4 1.5 Selected Process Model Among many software development process models Iterative Waterfall Model is selected for this project. Derived from the classic Waterfall Model, Iterative Waterfall Mode l has the advantage of its namesake, iterativeness. In the classic Waterfall Model assumes that no defects are introduces during any development activity. But in reality defects do get introduces in almost every phase of the life cycle. Thus we need feedback paths which included in the Iterative Waterfall Model. Figure 1.1: Iterative Waterfall Model 1.5.1 Feasibility Study Main aim of the feasibility study is to determine whether developing the project is financially and technically feasible. During this phase project manager gets an overall understanding of the problem. Then a best solution will be formulated by a cost/benefit analysis and after examining alternate strategies. 1.5.2 Requirement Analysis This phase consists of two main activities, requirement gathering and requirement analysis. Target of Requirement gathering is to collect relevant data from the customer. Then the collected data will be analyzed to clearly understand what the customer wants. The goal of requirement analysis activity is to find out any inconsistencies and resolve all incomplete requirements. It is important to avoid ambiguities and contradictions of requirements in this phase. Feasibility Study Requirement Analysis Design Coding Testing Maintenance
  16. 16. 5 1.5.3 Design Design phase transforms requirements specification in to suitable implementation in some programming language. During this phase software architecture is derived from the software requirements. There are two approaches to the design phase, Structured and Object Oriented. Object Oriented Design (OOD) is selected for this project. OOD has many advantages against the structured approach. OOD will first identify various objects (real world entities) occurred in the problem and then identify the relationships among those objects. 1.5.4 Coding Coding phase will translate software design into source code in a decided programming language. For this project Java is the selected programming language. For an agreed design, the aim of this phase is to implement the design in the best possible manner. The coding phase affects both testing and maintenance phases directly. A well written code reduces the testing and maintenance effort significantly. 1.5.5 Testing Many testing levels are performed on the source code. Unit Testing, Integration Testing, System Testing and User Acceptance Testing are the most common. Unit Testing is done by the developers to make sure their code is work with different environments, conditions and logics. Integration Testing is performed when the two modules of the system are connecting with each other. System Testing is performed on the whole system and the User Acceptance Testing is done at the client site by the customers to give their approval of the final system. 1.5.6 Maintenance Maintaining most of the software products requires much effort than the effort to develop the product itself. There are three types of maintenance, Corrective, Perfective and Adaptive. Correcting errors which were not discovered during the product development phase is Corrective maintenance. Enhance the functionalities of the system is Perfective maintenance. Adaptive maintenance is to port software product in to new environment.
  17. 17. 6 1.6 Dissertation Overview The first chapter, Introduction describes the motivation for the project with scope, objectives and illustrate about the contents in the dissertation. Then the Analysis Chapter describes the business procedure along with problems existing with the manual system, requirements and how they gathered and the details of the proposed system. Third chapter consists of design techniques used for this project. In this chapter mainly focuses on UML diagrams that used to design the application. Software and hardware environments used for develop the system are discussed in the Implementation chapter. Also it describes the source folder structure of the project and used third party components and frameworks. The followed testing approaches along with test results are given in detail in the Evaluation Chapter. Also it contains how the client feedback was regard to their expectations. The final chapter which is the Conclusion Chapter includes achievements gained from the project, problems encountered and how it solved, lessons learnt and the information about further development of the system. At the end of the main chapters a reference section for all the materials referred to write the dissertation are given. After that In appendices; System Documentation, Design Documentation, User Documentation, Management Reports, Test Results, Code Listing and the Client Certificate are shown. At the end, a glossary of terms and a general index is provided.
  18. 18. 7 Chapter 02 - Analysis This phase divided in to two main activities, Requirement gathering and Requirement analysis. Main goal of this phase is to clearly gather customer requirements, avoid ambiguities and finalize the project scope. 2.1 Requirements Gathering Requirement gathering is a crucial part of a software solution. If the requirements are crystal clear, chances are to be success is higher. But most commonly requirements might be ambiguous as well as not complete. To define the project scope clear and complete, customer requirements needed. Hence many requirement gathering techniques were used to complete the task. • From Interviews An interview is a conversation with stakeholders to elicit or validate needs and requirements. It is the most common technique has been used for requirement gathering. For this project, branch manager, IT manager, loan officers were interviewed for detailed requirements. • From Company website SEEDS has their own website hosted in http://www.seeds.lk. The website supplies many details about the company such as its vision and mission, contact details, division details, case studies, enterprise services and training details. • From documents and books published by the company After interviewing the stakeholders it will be better to study company documents and remove unnecessary ambiguity from the requirements. 2.2 Similar Solutions Similar software solutions have been studied to find other approaches to meet the requirements. Thus understanding existing solutions will be an advantage to make M- Fin a better software solution.
  19. 19. 8 • Mifos [WWW3] Mifos is a web based microfinance software. It is an open source software which charges only for support services and maintenance. The community version of the software can be downloaded from the website. It has facility to create client groups, centers and manage loan details. It is also acting as a collaborative platform to share knowledge and experience between micro finance institutions. Evaluation of similar solutions(IMPORTANT) Why u ddnt reccmnd this www.mifos.org’ software. What is lacking from it. Why ur system is so much better than this • The Banker [WWW5] This is a Sri Lankan software product with multi-user, multi-currency and multi- lingual capabilities. This product is developed by Senova Multi Systems Ltd. Figure 2.1: Interface of Mifos Figure 2.2: Interface of ‘The Banker’
  20. 20. 9 • Loan Performer [WWW4] Loan performer is a Multi-User MIS application for microfinance, developed by Crystal Clear Software Ltd in Uganda. It is developed using Microsoft Visual FoxPro and VB.Net technology. It combines basic Client data with Shares, Savings and Loan transactions. • Octopus [WWW6] Octopus is another microfinance MIS developed in France. There are three editions of Octopus software, Octopus Community, Professional and Online. Octopus software supports many sectors in microfinance. Figure 2.3: Interface of 'Loan Performer' Figure 2.3: Interface of Octopus
  21. 21. 10 There are many microfinance software created by many companies around worldwide. Since microfinance industry has no legalized act in Sri Lanka, business processes of Microfinance Institutions are much different to each other compared to banks. So most of the business of MFI’s revolves around the software product they buy. And the customization charges of such products are so high that they cannot afford to do those changes. So the M-Fin system provides fully customizable solution for SEEDS. It is providing all the necessary facilities to automate the loan process while implementing security and authorization they need. 2.3 Current Business Process The current business process of SEEDS is divided into following categories. • Client Registration Process When a customer asks for a loan he or she has to fill an application provided by the SEEDS. The document also contains the loan details, loan agreement, promissory notes, etc.Then loan officer opens a client file and keep the application manually. • Application Approval Process After the completion of the loan application, assigned field officer does an appraisal for the loan. After the appraisal, branch assistant manager visits the client to make sure everything is in order. Then the loan application is forwarded to the loan manager for the approval. Each approval authorities have given loan limits for approval. Depending on the loan amount the approval authority might be vary. • Loan Disbursement Process After loan approval loan agreement must be signed by both parties. Then the client file will be updated and documents will hand over to the client. Every client who has granted a loan must create a savings account with SEEDS. The loan executive will disburse the loan amount to client’s savings account. • Installment Collection Process The installments must be paid by the clients on or before due dates through their savings accounts. Loan cards of clients will be updated by the loan officers manually.
  22. 22. 11 • Facility Follow-up Process SEEDS keeping a loan sheet which includes all the details about loan facilities. It is being manually updated according to the day-to-day transactions. All the reports are taken based on the loan sheet. When a client didn’t pay the installments SEEDS will post reminder letters. After 3 months of arrears, the facility will be classified as non- performing and treated accordingly. 2.4 Problems Exist in the Current System SEEDS doesn’t have a proper automated loan processing system. They do most of the work manually. Spread-sheets are the only electronic media has been used by the loan officers. • For each client, SEEDS maintains a client file and keeps all hard copies of documents. If any information needed about the client they have to manually search the file and go through it for the relevant information. • When a loan installment is been paid by the client, loan officers has to manually upda te the loan card and the loan sheet. • All the transaction details are maintained manually in the ledger books. • Loan officers couldn’t view the loan installments which due on a specific date. • The loan sheet which contains all the detail about the loans can be only used by a single user at a time. This has severely reduced the efficiency and the productivity of the loan officers. • All the reports are extracted from the loan sheet, which takes lots of time. • The manual system is less productive and less efficient; it will take weeks to grant a loan facility. 2.5 Functional Requirements Functional requirement defines the function of a system component. These components added up to build the module, and integrated modules complete a whole system. Usually functional requirements are captured in use cases which is a part of Unified Modeling Language (UML).
  23. 23. 12 Figure 2:4 shows the main actors of the M-Fin system. Following are the use cases of the actors. • Manager : o Approve / reject loan applications o Inquire facility details o Loan closure • Loan Administrator : o Maintain reference data o Assign loan officers o View transaction data • Officer : o Do loan calculations o Follow-up loan facilities o Login to the system o Create receipts • System Administrator : o Grant / revoke access to users o Run dayend process Figure 2:4: Actors of the System
  24. 24. 13 2.5.1 User Authentication & Authorization All the officers of the SEEDS should have a username and a password to login in to the system. The system administrator should create new usernames and passwords for new users of the system. Also they should have access to the relevant branches which are created in the system. And the system administrator should grant the access rights to the programs of the system, to each stakeholder type. 2.5.2 Maintain Client Database For a microfinance institution client database is one of their most important assets. Client database should include most of the details about client, their family details, occupation, earnings, education and many more other important details. When a new client requests for a loan his or her details should be feed in to the system for future use. 2.5.3 Maintain Reference Data When using software system, there are many reference data to be maintained. Such as branch details, stakeholder types, loan types, approval groups, branch details, etc. Figure 2:5: System Boundry for Loan WorkFlow
  25. 25. 14 Officers should be assigned to maintain these data in the system. And have to make sure any modification to these data could be done by proper authorization level. 2.5.4 Loan Calculation SEEDS have predefined loan schemes. For each loan type there are maximum and minimum loan amounts, loan period, and interest rates. But when a customer asks for different loan amount or different repayment period or interest rate, loan officer can change those parameters and do a trial calculation. Then the system should show the net installment amount for the loan. Also system should give a facility to print the repayment schedule as a quotation. 2.5.5 Loan Approval After creating the trial calculation, loan application must be created. All the relevant data to the purpose of the loan is filled in the application. The approval groups are defined in according to the loan amounts. A member of relevant approval group can approve or reject a loan with responsibility. 2.5.6 Print Loan Documents There are mandatory documents listed for each approved loan. Loan Agreement, Promissory Note, Guarantor Document are some of them. Relevant client and application data should be filled automatically in the pre-printed document and should have a facility to print them. 2.5.7 Loan Information Information about approved loans should be viewed through a single interface. Repayment schedule, Payment receipts details, performing non-performing status of the loan, and amount in arrears, no of loans of a client are the critical MIS information. 2.5.8 Day-End process Day-end process should be run by system administrator after the loan processes are finished at the branches. Day-end process should process the loan installments due on following day, change performing /non-performing status of loan facilities on the given parameters.
  26. 26. 15 2.6 Non-Functional Requirements • Platform Independency System will be capable of working flawlessly irrespective of the operating system used in the user computer. Since this is a web solution only need a web browser to run the system. • Reliability Reliability is the ability of a system to perform its intended functions under stated conditions. ‘M-fin’ is a financial system. If a financial system becomes not functional even for a single day, it might be a huge damage for the organization. So reliability is a crucial factor of the non-functional requirements. • Usability Usability means the ease of use. Simply it is the user-friendliness of the system. System interfaces, processes and many other things user interact with should be designed and developed to lean and understand by users easily. User interfaces should be less complicated and responses should be given in a timely manner. • Maintainability Maintainability is the capability of a system that can be maintained. Maintenance will include error correction, new developments, change environments, etc. The system should be maintained with minimum effort and time. 2.7 Benefits of the System Regarding the above functional and non-functional requirements, following benifits have been provided by the ‘M-Fin’ software solution. • All system users have a login area of the home screen to log in to their specific branches. The login process will be secured with ‘https’ protocol and passwords will save to database as hash values using one-way hash functions. • System provides a registration form for capture all the stakeholder details, such as family details, residence details, education details, health details and experience. • Access rights screen provided to grant or revoke access rights from the system users.
  27. 27. 16 • Loan calculation screen to calculate loan installment and schedule according to the parameters such as loan amount, period, interest rate, etc… • There is a screen to capture loan application details. • System facilitates to print loan documents in the loan workflow screen. • There is a program to maintain approval authority details. Approval authorities are validated based on this data when authorizing a loan application. • Dual-authorization provided to relevant reference data maintenance programs. • A closure screen provided to do facility closures such as early settlement and normal closure. • A SMS will be generated to the approval authorities when an application is forwarded for their approval. • System Administrator can view active users of the system and logout any user if required.
  28. 28. 17 Chapter 03 – Design 3.1 Alternative Solutions & Justification Several alternative solutions were compared to find the most suitable method to solve the problem domain and de velop t he system. • Standalone Application According to the given requirement M-Fin system should be able to run by many SEEDS branches in the different locations throughout the country. The system must run in the network infrastructure which already connected all the branches. If a standalone solution is developed, every user has to install the system in their computer to acces the system. Also standalone applications are platform dependent. Standalone app lications also have high maintenance cost. • Mobile Solution When using mobile solution, system will be available to access from anywhere. However it is incorporated with some problems: Users of the system required to have web accessible phones such as smart phones to access the system. Currently SEEDS couldn’t afford such high cost. • Web Based Solution Web based systems run through the web browser of a computer. It can be easily accessible by many users connected to a network. Web based systems have central application server and database. Thus it can be easily maintained. Since every operating system has a web browser, the application will be system independent. Justification According to the above pros and cons the best solution would be a web based solution. There are there main technologies to develop web based application, PHP, .Net and Java. Since Microsoft offers an easy to learn development toolkit, a system can be developed in a short time period. But the price of a development IDE’s such as Microsoft Visual Studio is relatively so high. When comparing two open source solutions, Java has the most of the framework support, platform independency and
  29. 29. 18 robustness. It also has free IDEs for the development purposes. Thus J2EE is chosen as the development language for the M-Fin loan management system. 3.2 Systems Design Methodology The Design phase transforms requirements to suitable implementation in selected design model or technique. There are two approaches to the design phase, Structured and Object Oriented. Object Oriented Design (OOD) is selected for this project, Because OOD has many advantages against the structured approach. It will leads to a clear design with flexibility, scalability. Also the software can be reused and easily maintained. OOD will first identify various objects (real world entities) occurred in the prob lem and then identify the relationships among those objects. OOD aims to model the problem domain, the problem we want to solve by developing an object oriented system. Unified Model language (UML) is selected as the modeling language of the system. UML is a collection of graphical symbols for expressing model of the system. UML provides a very robust set of notations which grows from analysis to design. 3.3 Systems Design Systems design is the process of defining the architecture of the software solution to meet the specified requirements. Object oriented methodologies are used in the system design and UML notations are used to illustrate the designs. A best system design makes the software solution more efficient. • Systems Design Tools There are many tools for system design such as ‘Smart Draw’,’ Rational Rose’, etc. Also there are plug-ins for many popular IDEs such as Eclipse and NetBeans. But some of them don’t facilitate the required needs and some are using non-standard notations. ‘Enterprise Architect 7.0’ from Sparx Systems is used as the system design tool because it provides facilities to draw all the diagrams which needed and it uses more standardized representation of UML notations. Use-case diagrams, Entity- relationship diagrams, Class diagrams, Activity diagrams and Sequence diagrams which are drawn using this tool.
  30. 30. 19 3.4 Systems Structuring The software solution is divided into following modules to reduce the complexity of the design. 3.5 Deliverables The following diagrams will give information about the deliverables in the system design stage. M-Fin Loan Processing Information Center General Ledger System Administration Reference Data Figure 3.1: Enterprise Architecture Tool Figure 3.2: System Structure
  31. 31. 20 3.5.1 Data Model Data model is an abstract model which shows specifically how the data is stored and accessed in the system. • Entity Relationship Diagram Entity Relationship diagrams are abstract and conceptual representation of data which produce a type of conceptual schema. It shows the relationships between entities in a database. The following digram is the ERD for ‘M-fin’ software solution which is drawn by using the Enterprise Architect tool. . Figure 3.3: ER Diagram
  32. 32. 21 • Table Structures The following is sample table structures for the table Stakeholder & System Program in M-fin system. System : Microfinance Loan Management System E : Entity D : Derive R : Reference Entity Code : STH Entity Name : Stakeholder Table Name : stakeholder Table ID : tbl_01 Description : Stakeholder Indexes : Description Attribute Name Type Lengt h Decim al Ke y E / D / R Stakeholder Id STAKEHOLDERID Numeric 7 PK E Stakeholder Type Id STAKEHOLDERTY PEID Numeric 7 FK R Title TITLE Varchar 10 E Initials INITIALS Varchar 20 E First Name FNAME Varchar 20 E Last Name LNAME Varchar 30 E Full Name FULLNAME Varchar 100 E Date Of Birth DATEOFBIRTH Date E Gender GENDER Varchar 1 E Marial Status MARITALSTATUS Varchar 1 E NIC/Passport No NICPASSPORTNO Varchar 20 E Account No ACCOUNTNO Varchar 20 E Address Line 1 ADDRESSLINE1 Varchar 100 E Address Line 2 ADDRESSLINE2 Varchar 100 E Address Line 3 ADDRESSLINE3 Varchar 100 E Address Line 4 ADDRESSLINE4 Varchar 100 E Telephone No TELEPHONENO Varchar 20 E Fax No FAXNO Varchar 20 E Mobile No MOBILENO Varchar 20 E Email EMAIL Varchar 20 E System User ID SYSUSERID Numeric 7 E Created Date CREATEDDATE Date E
  33. 33. 22 Table 3.1: Table Structure – Stakeholder Entity Code : SYP Entity Name : System Program Table Name : system Program Table ID : tbl_05 Description : System Program Indexes : Description Attribute Name Type Len gth Decim al Ke y E / D / R System Program Id SYSTEMERPROGRAM ID Numeric 7 PK E System Program Code SYSTEMPROGRAMCO DE Varchar 4 E Description DESCRIPTION Varchar 20 E Parent ID PARENTID Numeric 7 Reference URL REFERENCEURL Varchar 100 System User ID SYSUSERID Numeric 7 E Created Date CREATEDDATE Date E Table 3.2: Table Structure – SystemProgram • Class Diagram Class diagram is the main building block of the object oriented modeling. They describe the static structure of a system. A class is a representation of an object and, in many ways; it is simply a template from which objects are created. The classes in a class diagram represent the main attributes and their interactions. In the class diagram these classes are represented with boxes which contain three parts. In the upper part there is the class name. Middle part contains the attributes of the class. Bottom part is for the methods or the operations of the class. A part of the class diagram is displayed below which is drawn using the Enterprise Architect tool.
  34. 34. 23 Figure 3.5: Class Diagram related to classes of Stakeholder Reference Figure 3.4: Class Diagram related classes of Loan process
  35. 35. 24 3.5.2 Process Model • Use Case Diagram Use case diagrams are graphically model the functionality of the system using actors and use cases. Use case diagrams are used to specify requirements on a subject, required usage of a system. An organization, a person or an external system can be represented as actors and their interactions with the system represented in use cases. When drawing a use case diagram system boundaries are marked in rectangle. Use cases are drawn using ovals. Label with the ovals with verbs that represent system’s functions. Actor stereotype is used to draw actors in the use case. Associations between actors and use cases are indicated in use case diagrams by solid lines. An association exists whenever an actor is involved with an interaction described by a use case. A sample use case diagram of M-Fin system display below, which drew for the officer actor. Compelete usecase diagrams are included in the appendix. The following are the usecase narratives of the Mfin system. Use case No : U1 Use case : Input Client Details Description : Create Stakeholder in the M-Fin system Actors : Officer Preconditions : Stakeholder Type should be exists in the system Main Flow of Events : 1. Enter the NIC number and check for existing users 2. Enter general stakeholder details 3. Enter communication details of the Stakeholder 4. Fill other stakeholder details Alternative Flows 1. If NIC already exists don't allow to create stakeholder Post Conditions : Show the genarated Stakeholder number Figure 3.6: Part of the Use Case Diagram
  36. 36. 25 Table 3.3: Usecase Narrative – Input Client Details Use case No : U2 Use case : Login to the system Description : Allow system users to login to the M-Fin system Actors : Officer, Manager, Loan Administrator, System Administrator Preconditions : User must have a username and password Main Flow of Events : 1. Run the M-Fin system in the web browser 2. Select the branch user login into 3. Enter the username 4. Enter the password 5. Click login button Alternative Flows 1. If username or password is incorrect, display an error message Post Conditions : Open the main window of the M-Fin system. Dislay the name of the user in the home screen Table 3.4: Usecase Narrative – Login to the system Use case No : U3 Use case : Approve Loans Description : Approve or reject submitted loan applications Actors : Loan Administrator Preconditions : Application must be created in the system Main Flow of Events : 1. Go to the application maintenance screen 2. Search and select the application 3. Click on the approve button Alternative Flows 1. If user click on the reject button, change application status to Cancel Post Conditions : Change application status to Approved Table 3.5: Usecase Narrative – Approve Loans • Activity Diagram Figure 3.7: Activity Diagram
  37. 37. 26 Activity diagram is another important diagram in UML to describe dynamic aspects of the system. They are typically used for business process modeling. It uses for model the logic captured by a single use case or usage scenario, or for model the detailed logic of a business rule. Activity diagrams show the workflow from a start point to the finish point detailing the many decision paths that exist in the progression of events contained in the activity. This flow can be sequential, branched or concurrent. The following diagram is an activity diagram which is drawn using Enterprise Architect tool to depict loan approval workflow of the M-Fin system. • Sequence Diagram The sequence diagram is another UML diagram used primarily to show the interactions between objects in the sequential order that those interactions occur. It enables both to documentation and validation your logic, and commonly used for both analysis and design purposes. Sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario. Time is represented in the vertical direction showing the sequence of interactions of the header elements, which are displayed horizontally at the top of the diagram. The following sequence diagram is display the sequence of Login to the M-fin system activity. It is also drawn using Enterprise Architect tool. Figure 3.8: Sequence Diagram
  38. 38. 27 3.5.3 User Interface Design User interfaces are the components of the system which users will interact with. User interface design is the part where designers focus on user interaction and experience. The goal of user interface design is to make the user's interaction as simple and efficient as possible while accomplishing business need. • Home Page The following figure shows the homepage of the M-Fin loan management system. Since M-Fin is not a website, there are no animated items available in the page. The screen is developed with professional look and feel, to assure a user can easily navigate through. It facilitates user to select the branch; then enter the user name and password for login. As an additional facility user could click on one of the modules he/she wants to login to. There is a small description below the modules, to educate user what contains in the modules. Figure 3.9: Home Page
  39. 39. 28 • Main Screen The following figure is the main screen of the M-fin system. It will load as a separate window to the home page. It is mainly divided into four sections. First one is the header section; it includes the title of the system and it displays the login branch and the system date. Second one is the navigation section, which includes a tree structure to display system modules and programs of the M-Fin system. The system tree is divided into five modules to navigate through easily. If a user select a module from home screen when login, the main screen will load with expanded tree of the selected module. A user can jump to another program by selecting it from the tree without closing the current program. That is the main reason to display navigation menu throughout the whole session. The third section is where the program screen is displays according to the selected tree node. And the forth section is the toolbar section below. For some programs the system uses a common toolbar. Which includes add, modify, delete, authorize and inquiry options. The common toolbar loads according to the requirements of the programs and the given access rights for each user. Figure 3.10: Main Screen
  40. 40. 29 3.5.4 User Interface Standards HyperText Markup Language (HTML) is used to develop the interfaces and Cascading Style Sheets (CSS) is used as the style sheet language. JavaScript is used as the client side scripting language. Common interface standard set is developed using above languages and use to standardize all the user interfaces of the M-fin microfinance system. • Input Forms Input forms contain three sections, input fields, common toolbar and action buttons. Input fields allow data to be enterd or display data selected in the grid. Display input fields will be set to readonly. Date input fileds have a button to trigger the date picker component and display the date selected by the date picker. Also there are reference input fields which also have a button to trigger the reference browser. Figure 3.11: Input Forms
  41. 41. 30 • Validations Mandatory fields of the input forms are marked in red colour asterix. Optional fields are marked in blue colour asterix. If a user violates a validation condition, the error will display in the division filed below the element. • Data Tables Data Grids display records which already saved in the database. Each column of the grid can be sorted acending or decending. The records can be selected column wise or row wise as well. Figure 3.12: Validations Figure 3.13: Data Tables
  42. 42. 31 • Dialog Boxes & Messages M-Fin system uses default browser dialog boxes and messages for alerts. These messages are simple and descriptive to avoid confusion. • Date Picker Date Picker is used to pick the dates in date fields of M-Fin system. A user can go over years and moths of the calendar easily because of its well thoughout design. It is very much user friendly and able to enter a date within seconds. Figure 3:14: Message fromthe System Figure 3:15: Date Field and Date Picker
  43. 43. 32 • Reference Data Browsers Common browser windows help user to browse and select the already defined reference data. It facilitates to search data by criteria, and display data in a grid. Button toolbar will contain an OK button for input the selected record value to the parent screen and Cancel button for simply close the popup without inputting any record. Also double clicking a row will execute the function of the OK button. • System Prints The reports of the system generated in Excel fromat and the reference data inquiries are generated in PDF format. Excel reports can be directly open by MS Excel app lication or saved to the local computer. PDF files created by the system open in popup window and can be sent to the printer or be saved in the local computer. Figure 3:16: Common Browser
  44. 44. 33 Chapter 04 – Implementation The main activity of the implementation phase is to translate the agreed design to source code using selected programming language in the best possible manner. 4.1 Development Environment Java Enterprise Edition (J2EE) is used as the main programming language of the ‘M- Fin’ software solution. The system used the n-tier architecture displayed as the following figure. HTML, Jsp/Servlets, JavaScript, JSTL and Ajax technologies are used in the Presentation Layer of the system. Struts MVC framework is used for request processing and validations as the Presentation Logic Layer. Spring framework is used as the Business Delegation Layer for dependency injection and aspect oriented programming; Hibernate framework is used as Data Access Layer and MySql is used as the database. All technologies mentioned above are open source. Combination of these frameworks gives many benefits such as validation, transaction rollback, database independency with the robustness of the java. Java Enterprise Edition Presentation Layer •JSP/ Servlet •Javascript •Ajax Presentation Logic Layer •Struts Business Delegation Layer •Spring DataAccess Layer •Hibernate Data Source •MySql Data Flow Figure 4:1: Technical Infastructure of the M-Fin system
  45. 45. 34 • Software and Hardware Used o Software  Microsoft Windows 7  Enterprise Architect 7  MyEclipse 8.6  MySQL Server 5.1  MySQL GUI Tools  Java Development Kit 1.6  Apache Tomcat Sever 6  Flex Builder 3  Web Browser with Flash and PDF reader plug-in and firebug add-one  Microsoft Office package  Struts, Spring and Hibernate jar files  Adobe Photoshop CS4 o Hardware  Desktop computer with 2.9 GHz Core2Duo processor  4GB RAM  1TB Hard disk  Keyboard and Mouse  Internet Connection 4.2 Hardware and Software Requirements 4.2.1 Server Side • Minimum Hardware Requirements o Server computer with 64bit architecture o 3.0 Core2Duo Processor o 4GB RAM o 40GB Hard disk space • Minimum Software Requirements
  46. 46. 35 o Operating system which supports 64bit architecture (Windows or Linux) o Apache Tomcat Server 6 (64bit)- Windows or Linux version (Depending on the ope rating s ystem used) o MySQL server 5.1 o Java SE 1.6 runtime environment 4.2.2 Client Side • Minimum Hardware Requirements o Computer with 2.0 GHz processor o 512MB RAM o Network Connection • Minimum Software Requirements o Windows XP or higher operating system o Browser with Flash and PDF plug-in 4.3 Development Tools When developing an enterprise scale application, third party tools are become more useful to save the time and effort of the developers. Because of that reason many development tools have been used to develop M-Fin loan management system to make it a successful one. • MyEclipse 8.6 MyEclipse is a commercially available Integrated Development Environment (IDE) for Java Enterprise Edition. It is built upon famous Eclipse platform and integrates proprietary and open source plug-ins to the development environment. It has support for JSP/XML visual designing, code debugging, code auto generation, direct control and deployment of Apache Tomcat server, adding Struts, Spring and Hibernate capabilities, refactoring, hot deployment and many other features which have been very useful for development of the project.
  47. 47. 36 • MySQL GUI Too ls MySQL GUI tools are a free toolkit which consists of MySQL Administrator, MySQL Query Browser, MySQL Migration Toolkit and MySQL System Tray Monitor. Using MySQL Administrator databases can be created, deleted and maintained. It also provides backup and restore facilities for MySQL server. Users can create tables, drop tables and view tables structures of existing tables. Main function of MySQL Query Browser is executing SQL queries. It is also used to view and modify data of tables. MySQL Migration Toolkit is used to migrate existing databases from various vendors to MySQL databases. MySQL System Tray Monitor monitors the status of the MySQL database service and provides options to start-up, shutdown or configure the instance. • Adobe Photoshop CS4 Throughout the project development Adobe Photoshop CS4 is used as the image processing software; to create images, edit pictures, and create logos and buttons which required for the project. • Adobe Flex Builder 3 Adobe Flex Builder is also an IDE built upon Eclipse platform to support Adobe Flex development. It supports WYSWUG editing of Adobe Flex application interfaces. Flex Builder 3 supports only up to Flex SDK 3.0. The newer version of the Flex Builder renamed as Adobe Flash Builder. Adobe Flex Builder is used to develop the dashboard of the M-Fin project. • Firebug Firebug is a free and famous web development tool comes as an add-on to the Mozilla Firefox web browser. It has a console and a network monitor with the support for the HTML, CSS and JavaScript languages. Firebug is really helpful for the developers because they can monitor HTTP Requests and responds with the parameters and headers. Also a developer can inspect HTML elements through firebug add-on.
  48. 48. 37 4.4 Coding Structure & Standards 4.4.1 Folder Structure Following figure shows the structure of the source code where Java classes, libraries, CSS files, images, JavaScript files, JSP files and configuration files included. 4.4.2 Package Structure Java source files are contained in the ‘src’ folder of the file structure. Inside src folder, there is a package named ‘mfin’ and rest of its sub packages are named according to the design patterns and tasks they used to perform. Java Classes Libraries CSS Files Images JavaScript Files Struts Configuration File Struts TagLibs DTD Files Validation Files Deployment Descriptor File JSP Files Root Folder Figure 4:2: Source Folder Struture
  49. 49. 38 • Struts Action Classes An Action class in M-Fin system extends the ‘Dispatch Action’ class of the Struts framework. Action classes transfer data from view layer to specific buiness process and return data from business process to view layer. • Business Deligate Classes Contains Business Delegate layer interface classes. • Business Deligate Implementation Classes Contains classes which implements Business Detagate interface methods. • Spring Configuration XML Files Contains applicationContext.xml file and extended spring configuration XML files such as spring_action.xml, spring_dao.xml, spring_service.xml and spring_global.xml. • Data Access Object Interfaces Contains interfaces of Data Access Object layer. • Data Access Object Layer Implementation Classes Contains classes which implements Data Access Object interface methods. • Domain C lasses Contains domain classses of the project. Domain classes contain the property mappings with database tables. Struts Action Classes Business Delegate Interfaces Business Delegate Implementation Classes Spring Configuration XML Data Access Object Interfaces Data Access Object Implementation Classes Struts Property Files Utility Classes Domain C lasses Figure 4:3: Java Package Structure
  50. 50. 39 • Struts Property Files Contains Buttons, Errors, Lables and Messages property files. • Utility Classes Contains Utility classes of the M-Fin project. 4.5 Open Source Frameworks Used Frameworks are collection of interfaces and classes that designed to work together to handle a particular type of problem. Following frameworks are used in the M-Fin loan management system development. 4.5.1 Apache Struts Apache Struts is an open source framework for developing Java Enterprise web applications. It implies the Front Controller design pattern. The main goal of the Struts framework is to separate the Model from the View and the Controller in the traditional MVC architecture. • Key Components of the Struts framework o Action Servlet Action Servlet is a built-in class that comes with the Struts libraries. It is the controller component of the application. Only need one Action Servlet class per web application. In M-Fin application the process method of Action Servlet get extended to check the session for each HTTP request. Request Struts-config.xml Form Bean Action object Action Servlet s Model View Figure 4:4: Struts Framework Components
  51. 51. 40 o Form Beans Form Beans are same as Java bean classes. The Action Servlet calls the setters of form beans to populate them from form data. Form validation is another main usage of form beans. o Action Object After a request is received, The Action Servlet instantiate the relevant Action class according to the Struts mapping. This action objects usually map to user actions. It has a call-back like method named execute() which will be called by the Action Servlet. o Struts-config.xml Struts-config.xml is a Struts specific deployment descriptor file. It contains mapping of request URLs to Actions, Actions to From Beans and Action to JSP pages. 4.5.2 Spring Spring is an open source application framework which implements inversion of control. Inversion of Control (IoC) is an object orient programming practise where object coupling is bound at runtime not at compile time. Spring framework made it possible by object interactions being defined through abstractions. The binding of object properties is achieved through Dependency Injection. Dependency Injection is also a design pattern which allows a choice of property to be made at runtime. IoC J2EE ------ EJB WEB ------ Struts JSP AOP DAO ------ JDBC ORM ------ Hibernate Figure 4:5: Spring Framework Components
  52. 52. 41 The default Spring configuration file name is applicationContext.xml. In M-Fin system this file is extended by four other configuration files. Those are spring_action.xml which is for Action classes mapping, spring_dao.xml which is for map DAO classes, spring_service.xml for map service classes and spring_global.xml for global bean classes. 4.5.3 Hibernate Hibernate is also an open source technology which uses for object-relational mapp ing (ORM) in Java language. Hibernate provides a framework for mapping an object oriented domain model to relational databases. It maps the Java classes to database tables. This mapping can be accomplished through a configuration file or by using Java Annotations. It also provides data querying and retrieval facilities that significantly reduces the development time. Hibernate 3.0 which used in M-Fin system provides three fully-featured query facilities. Hibernate Query Language, Hibernate Criteria API and Native SQL. Normally we use hibernate.hbm file to do the Hibernate mapping. But since we are using Hibernate with Spring framework in M-Fin application, Hibernate property mappings are written in spring_global.xml file. Hibernate Application Persistent Objects Hibernate Properties XML Mapping Database Figure 4:6: Hibernate Framework Components
  53. 53. 42 4.6 Third Party Components Used 4.6.1 Active Widgets Grid Active widgets Grid is a freely available cross-browser scrolling data grid control which builts on JavaScript. It allows developers to create data grids dynamically at the client-side with JavaScript/DHTML. This highly customizable data grid provides professional look-and-feel and high interactivity. 4.6.2 Date Picker Moo Tools Date Picker is used to pick the dates in date fields of M-Fin system. It is smoothly animating and configurable JavaScript component. It is also supports time- picking. 4.6.3 dTree dTree is a simple and free JavaScript tree menu component. The tree nodes don’t need to be in an order within the code as you can re-order them. So it is ideal for generating a tree structure from a database. It is also very customizable and easy to use. Figure 4:7: ‘Active Widgets’ Data Grid Figure 4:8: ‘Moo Tools’ Date Picker
  54. 54. 43 4.6.4 iText iText is a free and open source library for creating and manipulating PDF files in Java. It generates dynamic documents and Serve PDF to a browser. So the content can be customized or personalized; for instance, the name of the end user can be stamped on the pages. Also data can be presented with real time database information. Any further people do not need to create PDF manually dealing with massive volume in content and can be produced in unattended mode. 4.6.5 jExcel jExcel is a free and open source Java API created to read, write and modify Excel spreadsheets. It supports many font formatting and cell formatting options. The API can be used to read data from many Excel formats. In M-Fin project jExcel API is used for generate reports in Excel format. Figure 4:9: 'dTree' JavaScript Grid Component
  55. 55. 44 Chapter 05 – Evaluation In the software development life cycle, testing phase is a critical point as it is the stage that the software being verify and validate to work as expect. It will check whether the software meets specified requirements and satisfies the needs of stakeholders. So the following approach takes part to make this phase a success. 5.1 Testing Method • At the design phase, test cases were prepared to test the system with sample data. It includes expected outputs, interface standards which will later compared with the actuals. • After implementing a system program, it must go through unit testing. Unit testing is done by executing white-box testing on the program according to a test case. • When finish implementing modules, perform integration testing to check whether communications between the modules are functioning properly. • After all the modules integrated properly, system testing is done to test the non-functional requirements of the system. • Then the system is implemented in the client site and the client performs user acceptance testing. 5.2 Test Cases Test case is a testing artifact which should be designed at the test development stage. So the following test cases were designed and they were executed at each testing level as to identify defects. Several test rounds were carried on until the test case being passed. The following are the test cases used to execute the unit testing. First one is for the Stakeholder Type program. Test Case 01 Stakeholder Type Reference Program No Description Input Expected Output Pass/Fa il A 1 Entering Stakeholder Type Code a <less than 2 characters> Display Error Message P aaa <more than 2 characters> Display Error Message P
  56. 56. 45 LN <relevant> P blank<not relevant> Display Error Message P A 2 Entering Description aaaaaa<relevant> P blank<not relevant> Display Error Message P B 1 If select 'Add' Option Clear and enable inputs P If enter valid data, click 'Submit' -> click 'Ok' Create Pending record P If enter invalid data, Err. Msgs P click 'Cancel Back to state P B 2 If select 'Modify' Option Display Active Records grid P select record Display selected record P Disabled code P Enabled description P If enter valid data, click 'Submit' -> click 'Ok' Create Pending record P If enter invalid data, Err. Msgs P click 'Cancel Back to state P B 3 If select 'Delete' Option Display Active Records grid P select record Display selected record P Disabled code, description P if select non used record click 'Submit' -> click 'Ok' Create Pending record P if select used record Integrity Err. Msgs P click 'Cancel Back to state P B 4 If select 'Authorize' Option Display Pending Records grid P select record Display selected record P Disabled code, description P click 'Authorize' -> click 'Ok' Make record as ''Active" Record' P click 'Cancel Back to state P click 'Reject' -> click 'Ok' Delete 'Pending' record P click 'Cancel Back to state P Table 5: 1: Test Case: Stakeholder Type The following testcase is for the Assignment of loans program in the Loan processing module. Test Case 02 Loan Processing Module - Assignment of Loans No Description Input Expected Output Pass/ Fail 1 Screan Load Click tree node Display Officer not assigned loans in the grid P
  57. 57. 46 Display Loan Officers in the select P 2 Check/uncheck checkboxes Tick 'Select All' option Tick all checkboxes in select column P Untick 'Select All' option Untick all checkboxes in select column P Click on a unchecked checkbox cell Tick the checkbox in cell P Click on a checked checkbox cell Untick the checkbox in cell P 3 If no grid checkbox ticked Click 'Assign' Err. message P If no officer selected Err. message P If both officer is selected and at least 1 grid check box is ticked Display the name of the officer in the ticked row P 4 If Loan officer column is blank Click 'Submit' Err. message P If at least 1 Loan officer column cell is filled Click 'Submit' -> click 'OK' Create officer assigned records P Click 'Submit' -> click 'Cancel' Back to state P 5 Clear Click 'Clear' Untick checkboxes P Unselect officer P Clear officer column P Table 5: 2: Test Case: Assignment of Loans The following testcase is for the Access Rights program in the System Administration Module. Test Case 03 System Administration Module - Access Rights No Description Input Expected Output Pass /Fail 1 Screan Load Click tree node Display all the Programs on left side unchecked P 2.1 Entering Stakeholder Type AAA<not relevent> Err. Msgs P Expected Output at No 1 P 2.2 ADM<relev ent> Display Stakeholder Type Description P Display all the access given programs in the right side unchecked P Ticked all the access given programs in the left side P 2.3 Blank Expected Output at No 1 P
  58. 58. 47 2.4 Click browse button Load Reference Browser P Pick a Record Display Stakeholder Type Code P Expected Output at No 2.2 P 3 Give/Remove Accessrights Tick checkbox rightside remove the nodes below level and upper level accordingly P Untick checkbox leftside Untick the below level and upper level checkboxes accordingly P Click left button create a tree in rightside with ticked left side checkbox nodes P Tick checkbox leftside Tick checkboxes in upper level and below level accordingly P 4 If no stakeholder type Click 'Submit' Err. Msgs P If no rightside tree and new user group Err. Msgs P If no rightside tree and access given user group Remove the previously given access rights P If have rightside tree Remove the previously given access rights for removed nodes P Give access rights for added rows P 5 Clear Click 'Clear' Expected Output at No 1 P Table 5: 3: Test Case: Access Rights 5.3 Integration Testing The purpose of Integration testing was to expose the defects in the interface interactions between integrated components. Bottom-up Integration testing approach was used in this testing level. So the bottom level units were tested first and move into upper level units step by step. After test closure once the test meets the exit criteria, the integrated system was ready to system testing. 5.4 System Testing System testing is carried out using the completely integrated system. As this is the last testing level before showing the system to the users, this testing need to be thoroughly executed. So in this phase, evaluated the system’s compliance with the specified requirements is verified.
  59. 59. 48 5.5 Acceptance Testing Acceptance testing was performed by the client organization in their working environment. This was used to define acceptability of the system as they were expected and to be prepared for the delivery. A representative of each identified user groups was participated in the acceptance testing and at the end of final test round a feedback form was given to evaluate the success of the project. 5.6 Feedback At the User Acceptance Testing a feedback form was given to the system users to get their feedback about many aspects of the system. The user evaluation form shown below was distributed among the various types of users covering all the functional areas of the system in order to get their satisfactory level of the system for evaluating the system by letting them to answer defined questionnaire. The feedbacks for the project were very good and received average overall rating of 4.7 out of 5. Figure 5:1: User Feedback Form
  60. 60. 49 Chapter 06 – Conclusion 6.1 Critical Assessment of Project Since microfinance industry is a rapid developing business, there were many many international and local alternative software solutions available. Most of them are standalone and highly customized for the client requirements, thus they are not easy to maintain. So M-fin is developed as a web based software solution with the aims of easy maintenance. M-Fin has facility for In-depth access rights management which was not available in other competitive systems. When comparing with other systems, M-Fin has another advantage, a customizable automated approval system. Users can define approval levels and the system will automatically filter the approval groups based on the loan amount. M-Fin also have a SMS notification engine which other systems not possess. It generates notification SMS when a loan is assigned to an officer, when a loan is approved and when the loan is disbursed. M-fin has many other interesting MIS facilities such as interactive dashboards, manager screens to make it better than the other existing software solutions. Final output of this project is higly reliable, user friendly, web based loan management system for Sarvodaya Economic Enterprise Development Services Limited. The system was developed according to the requirements of the client and achieved almost all the objectives of the project. The requirements of the SEEDS are carefully analyzed and transformed in to a design architecture and impelented into an executable source code using Java language. Then the system is gone through Unit Testing, Integration Testing, System Testing and User Accepatance Testing for functional and non- functional requirements. After that, system was deployed at the client site to begin its operations.
  61. 61. 50 6.2 Problems Encountered There were several problems encountered during this project design and implementation. • Since the microfinance business has no act or governing rules by the government, SEEDS business was more complicated. Had to expend many site visits and more time to clearly identify the requirements. • Time factor become a main problem because the commitments with the job. • Had to do research and development for SMS handling and Flex development. 6.3 Lessons Learnt • Very important practical and industrial knowledge was gathered from this project. • Documentation and time management was very important to successfully complete the project. • Gained the experience of working with a corporate client and how to make effective communication with them. • Gatherd new knowledge in a different domain area which will be helpful for further development of my carrier. 6.4 Future Work Almost all of the system was developed in open source technology to support platform independency and scalability of the system. Any inprovements to those technologies can be easily incorporated in to the M-Fin system. Apart from that following are the expected work to be done. • Connect the M-Fin system to a SMS payment gateway to give customers an easier opportunity to make payments. • Improve flex dashboards with more features like forcasting and data minng options. • Incorporate Google maps to mark locations of customer homes. • Implement full General Ledger features.
  62. 62. 51 References [WWW1] – Wikipedia Website http://www.wikipedia.org/ [2012.01.12] [WWW2] – Website of Sarvodaya Economic Enterprise Development Services (SEEDS) http://www.seeds.lk/ [2012.01.14] [WWW3] – Another microfinance software website http://mifos.org/ [2012.01.16] [WWW4] – Another microfinance software website http://www.loanperformer.com [2012.01.16] [WWW5] – Another microfinance software website http://www.senova.lk [2012.01.18] [WWW6] – Another microfinance software website http://www.octopusnetwork.org [2012.01.17] [WWW7] – Tutorial for configuring Apache Tomcat to run on HTTPS protocol. http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
  63. 63. 52 Appendix A- System Documentation Following list of software should be installed before using M-Fin system. • Java Development Kit (JDK) 1.6 • Apache Tomcat 6.0 • MySQL server 5.1 • Installing and Configuring Java o Java Development Kit (JDK) can be downloaded from http://www.java.com for free. Download and save it to your local computer. o Double click the java setup to start the installation. o Click next on the following screen. o Select the install location from the following screen and click next. The wizard will install the JDK to the specified location. o After that it will prompt for the installation for JRE automatically. Choose the install location for JRE and click next. The wizard will finish the installation. Figure A: 1 Features of Java Installation
  64. 64. 53 o Next step is to configure the environmental variables for java. For that go to My Computer -> Properties -> Advance System Settings -> Environment Variables. o Create a new variable named JAVA_HOME under system variables. Set the path of the JDK installation directory as the value. • Installing and Configuring Apache Tomcat Server o Apache Tomcat server can be freely downloaded from following URL. http://tomcat.apache.org/download-60.cgi/ .Download it and save to the local computer. Figure A: 2: Environmental Variables Figure A: 3: Setting 'JAVA_HOME' Variable
  65. 65. 54 o Double click the Tomcat 6 setup and start the installation. o Click next on the following screen. o Accept the License Agreement. o Choose the features of Apache Tomcat you want to install from the next screen and click next. o Fill-in the basic configuration from the following screen and click next. o Select the path of the installed JRE of the system and click next. o Select the install location from the following screen. o Click finish and finish the installation wizard from the next screen. o Set JAVA_OPTS environment variable to manage maximum and minimum memory allocated to Apache Tomcat server. Ex: -Xms512M –Xmx2048M –XX:PermSize=256M – XX:MaxPermSize=2048M • Installing and Configuring MySQL Server o My SQL server 5.1 can be downloaded from following URL http://dev.mysql.com/downloads/mysql/5.1.html. o Download it and save to the local computer. o Double click the setup file to start the installation. o Click next on following screen to proceed. Figure A: 4: Apache Tomcat Configuration Options
  66. 66. 55 o Select the program features you want to install from the next screen and click next. o Click install button to install the program. And click finish from the next window. o Now start the MySQL server instance configuration wizard. o Select detailed configuration from the next screen and click next. o Select developer machine option from the following screen. o Select multifunctional database option from the following screen. o Select manual setting option from the next screen and enter the no of concurrent connections. o Add the networking options as follows. o Select default character set. o Enter security options and click next to finish the wizard. Figure A: 5: MySQL Networking Options
  67. 67. 56 Appendix B- Design Documentation Following are the designed usecase diagrams of the M-Fin loan management system. Use Case Diagram The following use case diagram displays the use cases of actor ‘Officer’. The following use case diagram displays the use cases of actor ‘Manager’. Figure B: 1: Usecase diagramfor 'Officer' actor Figure B: 2: Usecase diagramfor 'Manager' actor
  68. 68. 57 The following use case diagram displays the use cases of actor ‘Loan Administrator’. The following use case diagram displays the use cases of actor ‘System Administrator’. Figure B: 3: Usecase diagramfor 'Loan Administrator' actor Figure B: 2: Usecase diagramfor 'SystemAdministrator' actor
  69. 69. 58 Table Structures Table Structures designed for Stakeholder Type and Stakeholder Program are displayed below. All other table structures are followed that format. Entity Code STT Entity Name Stakeholder Type Table Name stakeholderType Table ID tbl_02 Description Stakeholder Type Indexes : Description Attribute Name Type Lengt h Decima l Ke y E / D / R Stakeholder Type Id STAKEHOLDERTYPEID Numeri c 7. PK E Stakeholder Type Code STAKEHOLDERTYPECO DE Varchar 3. E Description DESCRIPTION Varchar 20. E SystemUser ID SYSUSERID Numeri c 7. E Created Date CREATEDDATE Date E Entity Code STP Entity Name Stakeholder Program Table Name stakeholderProgram Table ID tbl_03 Description Stakeholder Program Indexes : Description Attribute Name Type Lengt h Decim al E / D / R Stakeholder Program ID STAKEHOLDERPROGR AMID Numeric 7. P K E System Program ID SYSTEMPROGRAMID Numeric 7. F K E Stakeholder Type ID STAKEHOLDERTYPEI D Numeric 7. F K R System User ID SYSUSERID Numeric 7. E Created Date CREATEDDATE Date E Table B: 2: Table Structure: Stakeholder Program Table B: 1: Table Structure: Stakeholder Type
  70. 70. 59 Class Diagrams The following are the parts of the class diagram designed for M-Fin loan management system. Figure: B: 3: Part of the Class diagram Figure: B: 4: Part of the Class diagram
  71. 71. 60 Figure: B: 5: Part of the Class diagram Figure: B: 6: Part of the Class diagram
  72. 72. 61 Activity Diagrams The following is a activity diagram, ‘create application’ is drawn for the M-Fin loan management system. Figure: B: 8: Activity Diagram for Create Application Figure: B: 7: Part of the Class diagram
  73. 73. 62 Sequence Diagrams The following are sequence diagrams drawn for the M-Fin loan management system. Figure: B: 6: Sequence Diagram for Login to the system Figure: B: 7: Sequence Diagram for Application Approval
  74. 74. 63 Appendix C- User Documentation Users can login to the system by selecting their branch and entering the username and password. After they login there is a system tree in the left side, which displays the links to programs user have access. The user access will be defined on the stakeholder type, which they were mapped in the system. The system is divided in to five modules. Such as, • Reference Data • Loan Processing • Information Center • General Leger • System Administration • Reference Data Module To create a new loan facility, there are some reference data to be maintained in the system related to Branch, Stakeholder and Application categories. o Branch→ Branch Details Figure: C: 1: Branch Details Screen
  75. 75. 64 Branch Details screen is used to create Branches for the SEEDS organization. The screen also has options to modify branch details, delete branch details and inquiry already created branche details. Except inquiry, other ope rations needed authorization of another system user. o Branch→ Branch Officers The purpose of the branch details screen is to map officers to their respective branches. From the top of the screen you can select or enter the officer name. Then in the left cage displays the branches added in the system, in the rightcage displays the branches already assigned to the officer. User can select a branch from the left cage and input the expiration date, add it to the right cage and click submit button to grant the access to the selected officer to the selected branch. o Stakeholder→ Stakeholder Details New user for the system can be created from the following screen. There are mandatory and opt ional fields in the screen. Figure: C: 2: Branch Officer Screen
  76. 76. 65 o Stakeholder→ Stakeholder Type Figure C: 3: Stakeholder Details Screen Figure C: 4: Stakeholder Type screen
  77. 77. 66 Stakeholder Types for the system users can be created from this screen.There are modify, delete and inquiry functions also avaiable. Same as other reference data screens, Stakeholder Type also needs dual authorization. o Application → Approval Groups For approval of loans there are different approval levels. These approval levels are are created as Approval Groups in the system. o Application → Approval Group Members Approval authorities of SEEDS such as managers, senior managers, and loan administrators need to be assigned to relevant Approval Groups in the system. For that purpose there is Approval Group Members screen. From the top of the screen you need to select the Approval Group then select the Branch where the officer you are going to assign is mapped in the system. Then select the officer, input expiration date and move it to the right cage. The right cage contains the group members of the selected Approval Group. Figure C: 5: Approval Groups Creation
  78. 78. 67 o Loan Type Loan Types for the M-Fin system can be created, modified and deleted from the above screen. Figure: C: 6: Approval Group Members Screen Figure: C: 7: Loan Type Screen
  79. 79. 68 • Loan Processing Module o Loan Processing→ Loan Calculation When creating a loan in the system, first loan calculation needed to be created. In the Loan Calculation screen, first you have to enter the loan type. Loan Type defines the value ranges for the loan amount, interest rate and loan period, then the client for the loan and loan amount. If you enter the effective rate the system will calculate the flat rate, vise-versa is also possible. Rental frequency can be selected from the options of the combo box. Loan period can be enterd in the no of rentals field. If there are down payments, advance payment or pre payment, it can be entered through this screen. There are fields for enter the stamp duty or other charges from the client when creating Loan calculation. After entering above parameters, click calculate button. System will calculate the net rental amount, total interest and total gross rental amount and display in the screen. It will also show the installment schedule of the loan in the bottom part of the screen. You can print the loan schedule as quotation and give it to the client. The print comes in a PDF format. Figure: C: 8: Loan Calculation Screen
  80. 80. 69 o Loan Processing→ Application Maintenance When a user click the Application maintenance node system will show a screen to search a created application. Application can be searched by application no, loan type, application status and application created date. After selecting an application from the search screen, click ok button to proceed. System will load the loan workflow screen next. Loan workflow includes the Loan Application, Appraisal, Approval, Documents, CheckList and Disbursement. In the loan application screen (Figure C: 10) stakeholder details of the application will be displayed. Then Loan Appraisal (Figure C: 11) need to be completed. In the appraisal you can upload user image, map of the residence, scanned copy of NIC or any required images. Also system will display the details of any previous loans client got from the SEEDS. Loan officer can include any comment about the client and the applied loan in the appraisal screen. Figure: C: 9: Application Maintenace
  81. 81. 70 Figure C: 10: Loan Application Screen Figure: C: 11: Loan Appraisal Screen
  82. 82. 71 Following is the Loan Approval screen of the M-Fin system. According to the loan amount, Approval Groups are created in the system. Then the system will automaticaly generated the approval path of the appication and display in the Application Approval screen. Figure C: 12: Application Approval Figure C: 13: Loan Documents Screen

×