Constituency Development Fund (CDF) Management System

71
~ i ~ STRATHMORE UNIVERSITY FACULTY OF INFORMATION TECHNOLOGY Diploma in Business Information Technology ANALYSIS, DESIGN AND TECHNICAL SUMMARY OF A CONSTITUENCY DEVELOPMENT FUND MANAGEMENT SYSTEM FOR BUTULA CONSTITUENCY BY ADAMS JOHN OPIYO REG NO: 053988 AN INFORMATION SYSTEM PROJECT SUBMITTED IN PARTIAL FULFILLMENT FOR THE REQUIREMENTS OF THE DIPLOMA IN BUSINESS INFORMATION TECHNOLOGY (DBIT) FACULTY OF INFORMATION TECHNOLOGY STRATHMORE UNIVERSITY APRIL 2010

description

An Information System Project Documentation that is based on real research on Butula Constituency, Kenya. It was submitted to the Faculty of IT at Strathmore University. The documentation scored an 84%. Java and MySQL are the underlying development tools for the software. Feel free to adopt and or make recommendations.

Transcript of Constituency Development Fund (CDF) Management System

Page 1: Constituency Development Fund (CDF) Management System

~ i ~

STRATHMORE UNIVERSITY

FACULTY OF INFORMATION TECHNOLOGY Diploma in Business Information Technology

ANALYSIS, DESIGN AND TECHNICAL SUMMARY OF A CONSTITUENCY DEVELOPMENT FUND MANAGEMENT

SYSTEM FOR BUTULA CONSTITUENCY

BY

ADAMS JOHN OPIYO

REG NO: 053988

AN INFORMATION SYSTEM PROJECT SUBMITTED IN PARTIAL

FULFILLMENT FOR THE REQUIREMENTS OF THE DIPLOMA IN BUSINESS INFORMATION TECHNOLOGY (DBIT)

FACULTY OF INFORMATION TECHNOLOGY

STRATHMORE UNIVERSITY

APRIL 2010

Page 2: Constituency Development Fund (CDF) Management System

~ ii ~

DECLARATION This IS project is the original work of the author and has not been submitted for a degree program in any other University.

Signed _____________________________________ Date: _________________

ADAMS, JOHN OPIYO

This IS project has been submitted for examination with the approval of the undersigned as the University Supervisor.

Signed _____________________________________ Date: _________________

MR. E. KWEYU Lecturer, Faculty of Information Technology Strathmore University

Page 3: Constituency Development Fund (CDF) Management System

~ iii ~

“Things should be made simpler but not too simple”

-Albert Eistein

Page 4: Constituency Development Fund (CDF) Management System

~ iv ~

ACKNOWLEDGEMENT

My gratitude goes to my supervisor, Mr. Emmanuel Kweyu, for his frank comments and remarks in every single stage of this work,

I appreciate Strathmore University and its entire community for having given me a chance to pursue this course under sponsorship,

Thank you Sanda Katembo, Mark Thuo, Gilbert Owinga, Kelvin Ochieng for assisting me with a work station through which this work has been realized,

I thank my entire family for having assisted me financially and given me moral support through this entire exercise,

Finally, thanks to the Almighty Father for having given me the strength and ability to carry on with this work in pursuit of the greater good.

Page 5: Constituency Development Fund (CDF) Management System

~ v ~

ABSTRACT

Being in a world when everything is fast changing with the technological wave, some things are noble if embraced. This project aims at making the developer gain a deeper understanding of what happens behind closed doors of any CDF Office today in Kenya. As the undertaker, it was aimed at making me learn and unlearn concepts, try to work under pressure but above all build my confidence as an upcoming system analyst from the knowledge gained in the 18 months of the DiBIT program. The project’s other major deliverable is a working software program that seeks to address the issue of embezzlement of public funds in our government institutions, here, the CDF Offices. Through interviewing the manager’s secretary and observation in December 2009 of the Butula Constituency CDF Office, the information gathered has was used to come up with NyMO which is a Java based application that will run on standalone computers or better those in a local area network, and meant to cut down on time wasted in collecting and analyzing funds applicants’ data from various sub-locations in Butula constituency. This is not all; it seeks to uphold accountability and efficiency in use of the money that the government disburses annually. NyMO will simply support staff in capturing data, storing, retrieving it easily, updating, preparing reports that reflect the office’s progress and most importantly, securing the data which will be in a different location. This whole experience has given rise to plenty of ideas and all that can said is that development is a cycle and anyone is open to contribute to this course.

Page 6: Constituency Development Fund (CDF) Management System

~ vi ~

TABLE OF CONTENTS

DECLARATION .....................................................................................................................................II

ACKNOWLEDGEMENT .................................................................................................................... IV

ABSTRACT ........................................................................................................................................... V

LIST OF ABBREVIATIONS USED IN THIS REPORT .................................................................... IX

LIST OF TABLES/FIGURES ............................................................................................................... X

LIST OF TABLES ........................................................................................................................................... X LIST OF FIGURES .......................................................................................................................................... X

1.0 INTRODUCTION ............................................................................................................................. 1

1.0 INTRODUCTION AND BACKGROUND INFORMATION ............................................................................... 1 1.1 THE OFFICE STRUCTURE ....................................................................................................................... 1 1.2 THE PROBLEM WITHIN ........................................................................................................................... 2 1.3 OBJECTIVES AND TERMS OF REFERENCE ............................................................................................... 2

1.3.1 Personal Objectives ...................................................................................................................... 2 1.3.2 Societal Objectives ........................................................................................................................ 2

1.4 PROJECT TIMELINE ................................................................................................................................ 3 1.5 REPORT OUTLINE OVERVIEW ................................................................................................................ 3

2.0 SYSTEM ANALYSIS ........................................................................................................................ 4

2.1 DESCRIPTION OF THE CURRENT SYSTEM ............................................................................................... 4 2.1 PROCESS MODELS FOR THE PROPOSED SYSTEM .................................................................................... 6

2.1.1 The General Use Case .................................................................................................................. 6 2.1.2 Use Case: Staff Member Registration ........................................................................................... 7 2.1.3 Use Case: Funds Application Registration ................................................................................... 8 2.1.4 Use Case: Funds Allocation .......................................................................................................... 9 2.1.5 Use Case: Project Tracking .......................................................................................................... 9 2.1.6 Use Case: Reports Generation .................................................................................................... 10 2.1.7 Use Case: User Interaction with NyMO (name of the system).................................................... 11

2.2 CLASS MODELS ................................................................................................................................... 12 2.2.1 The Class Diagram for NyMO .................................................................................................... 12

2.3 SEQUENCE MODELS ............................................................................................................................ 13 2.3.1 Inter-objects Communication ...................................................................................................... 13 2.3.2 Exception: Committee reads a negative balance ........................................................................ 14 2.3.3 Exception: Awarding an applicant twice .................................................................................... 15 2.3.4 Exception: Few funds available for allocation ........................................................................... 15

2.4 USE CASE NARRATIVES ...................................................................................................................... 16 2.4.1 Scenario: A successful process through the NyMO system ......................................................... 16 2.4.2 Scenario: Register staff/committee members .............................................................................. 16 2.4.3 Scenario: Applying for funds ...................................................................................................... 17

2.5 FUNCTIONAL AND TECHNICAL REQUIREMENTS FOR NYMO ............................................................... 18

Page 7: Constituency Development Fund (CDF) Management System

~ vii ~

2.5.1 Functional Requirements ............................................................................................................ 18 2.5.2 Technical Requirements .............................................................................................................. 18

2.6 DEVELOPMENT ENVIRONMENT TOOLS AND JUSTIFICATION ................................................................ 18 2.7 DESCRIPTION OF THE PROPOSED SOLUTION TO THE CURRENT SYSTEM .............................................. 19

3.0 SYSTEM DESIGN .......................................................................................................................... 20

3.1 ENTITY RELATIONSHIP MODEL TO LDM MAPPING ............................................................................. 20 3.2 DATABASE SCHEMA ............................................................................................................................ 21 3.3 DATA DICTIONARY ............................................................................................................................. 22 3.4 ARCHITECTURAL DESIGN .................................................................................................................... 29

3.4.1 Abstract View .............................................................................................................................. 29 3.5 INTERFACE DESIGN ............................................................................................................................. 30

3.5.1 Input ............................................................................................................................................ 30 3.5.2 Output ......................................................................................................................................... 37

4.0 SYSTEM IMPLEMENTATION AND TESTING .......................................................................... 39

4.1 DEVELOPMENT TOOLS AND THE ENVIRONMENT ................................................................................. 39 4.2 DESCRIPTION OF MAIN FUNCTIONAL MODULES.................................................................................. 39 4.3 SAMPLE CODE SNIPPETS ..................................................................................................................... 40

4.3.1 Database Connection class ......................................................................................................... 40 4.3.2 Database Connection Class Used in another Class .................................................................... 42

4.4 SAMPLE TEST-DATA AND ERROR HANDLING ...................................................................................... 43 4.4.1 Incorrect Login Details ............................................................................................................... 43 4.4.2 Validation Failure on Data Entry ............................................................................................... 44 4.4.2 Summary of Validation Checks ................................................................................................... 44 4.4.3 Data/Information Security Handling .......................................................................................... 45

5.0 CONCLUSIONS AND RECOMMENDATIONS ........................................................................... 46

5.1 ACHIEVEMENTS ................................................................................................................................... 46 5.2 CHALLENGES EXPERIENCED ................................................................................................................ 46 5.3 FUTURE WORKS .................................................................................................................................. 47

6.0 REFERENCES ................................................................................................................................ 48

6.1 BOOKS ................................................................................................................................................. 48 6.2 THE WEB ............................................................................................................................................. 48

7.0 APPENDIX ........................................................................................................................................ 1

A USER MANUAL ........................................................................................................................................ 1 B1 PREVIEW OF THE 50 PAGE REPORT OF NTA ON BUTULA CONSTITUENCY ............................................. 2 B2 PREVIEW OF THE 50 PAGE REPORT OF NTA ON BUTULA CONSTITUENCY ............................................. 3 B3 PREVIEW OF THE 50 PAGE REPORT OF NTA ON BUTULA CONSTITUENCY ............................................. 4 B4 PREVIEW OF THE 50 PAGE REPORT OF NTA ON BUTULA CONSTITUENCY ............................................. 5 B5 PREVIEW OF THE 50 PAGE REPORT OF NTA ON BUTULA CONSTITUENCY ............................................. 6 C INTERVIEW SHEET ................................................................................................................................... 7 D1 BURSARY APPLICATION FORM .............................................................................................................. 8 D2 BURSARY APPLICATION FORM .............................................................................................................. 9 D3 BURSARY APPLICATION FORM ............................................................................................................ 10

Page 8: Constituency Development Fund (CDF) Management System

~ viii ~

E PROJECT APPLICANT AND PROJECT’S DETAILS FORM ............................................................................ 11 F SUPERVISION SHEET .............................................................................................................................. 12

Page 9: Constituency Development Fund (CDF) Management System

~ ix ~

LIST OF ABBREVIATIONS USED IN THIS REPORT CD-Compact Disk CDF-Constituency Development Fund CFC- Constituency development Funds Commission DiBIT- Diploma in Business Information Technology ERM- Entity Relationship Model IDE-Integrated Development Environment IS- Information System IT- Information Technology LAN-Local Area Network LDM-Logical Data Model MB-Megabytes MP-Member of Parliament NTA-National Taxpayers Association RAM-Random Access Memory SDK-Software Development Kit URL-Unique Resource Locator

Page 10: Constituency Development Fund (CDF) Management System

~ x ~

LIST OF TABLES/FIGURES

List of Tables Table 1: Overview of the Project’s timeline ..................................................................................... 3 Table 2: Accountant's reports table. .............................................................................................. 22 Table 3: View for all applicants' numbers ...................................................................................... 23 Table 4: Bursary Applicants ............................................................................................................ 23 Table 5: Database table with Bursary Details ................................................................................ 24 Table 6:Database table with CDF Acount attributes ...................................................................... 24 Table 7: Database View to display CDF Account’s balance ............................................................ 24 Table 8:Database Table with Funds Allocation attributes ............................................................. 25 Table 9: Database View that updates the CDF Account with Allocation details ............................ 25 Table 10: Database table with Login records' attributes ............................................................... 25 Table 11: Database table with System Users' attributes ............................................................... 25 Table 12: Database table with Office Expense attributes .............................................................. 26 Table 13: Database View that shows Applicant's award history ................................................... 26 Table 14: Database table with Project Applicants' attributes ........................................................ 26 Table 15: Database table with Project Progress attributes............................................................ 27 Table 16: Database table with Projects' attributes ........................................................................ 27 Table 17: Database table with Staff Members' attributes ............................................................. 28 Table 18: Database View that shows Applicants to be awarded ................................................... 28 Table 19: Database table with Visitor Appointments' attributes................................................... 28 Table 20: Database table with User Comments' attributes ........................................................... 29 Table 21: Illustrates Validation Checks Done During Data Entry ................................................... 44 Table 22: Illustrates Various System Users and their Levels of Access .......................................... 45

List of Figures Figure 1: The General Use Case Diagram for NyMO ........................................................................ 6 Figure 2: Use case depicting Registration of Staff Members ........................................................... 7 Figure 3: Use case depicting Applicant Registration ........................................................................ 8 Figure 4: Use case diagram depicting the funds allocation process ................................................ 9 Figure 5: Use case depicting tracking a project’s progress .............................................................. 9 Figure 6: Use case depicting Generation of Reports ...................................................................... 10 Figure 7: Use case depicting user interaction with program ......................................................... 11 Figure 8: Proposed System’s class diagram.................................................................................... 12 Figure 9 :Depicts Inter-objects Communication in the system ...................................................... 13 Figure 10:Depicts an exception: Committee reads a negative balance ......................................... 14 Figure 11: Depicting an Exception: Awarding an applicant twice .................................................. 15

Page 11: Constituency Development Fund (CDF) Management System

~ xi ~

Figure 12:Illustrates an exception: Few funds available for allocation .......................................... 15 Figure 13: Shows a MySQL Workbench's expression of the ERM .................................................. 20 Figure 14: Shows a MySQL Workbench's expression of the users' sub database ERM ................. 20 Figure 15: Shows a MySQL Workbench's expression of the database structure ........................... 21 Figure 16: Shows a MySQL Workbench's modeling of the users' sub database ............................ 21 Figure 17: Depicts a caption from phpMyAdmin summarizing views and tables .......................... 22 Figure 18: Depicts the Developer's impression of the System's Components ............................... 29 Figure 19: Sketch depicting the Login Window .............................................................................. 30 Figure 20: Main Window in the Netbeans IDE's Design View ........................................................ 30 Figure 21: Staff Registration Form in the Netbeans IDE's Design View ......................................... 31 Figure 22:Bursary Applicants Registration Form in the Netbeans IDE's Design View.................... 32 Figure 23: Project Applicants Registration Form in the Netbeans IDE's Design View ................... 33 Figure 24: Project Proposals Registration Form in the Netbeans IDE's Design View ..................... 33 Figure 25: CDF Account Window in the Netbeans IDE's Design View ............................................ 34 Figure 26: Project Progress Tracking Form in the Netbeans IDE's Design View ............................ 35 Figure 27: System Administrator's Console in the Netbeans IDE's Design View ........................... 36 Figure 28: Office Accountant's Console in the Netbeans IDE's Design View ................................. 36 Figure 29: Report View of Registered Staff Members ................................................................... 37 Figure 30: Report View of Registered System Users ...................................................................... 37 Figure 31: Report View of Registered Bursary Applicants ............................................................. 38 Figure 32: Report View of Registered Project Applicants .............................................................. 38 Figure 33: Report View of CDF Account Transactions .................................................................... 38 Figure 34: Invalid Login Message Dialog ........................................................................................ 43 Figure 35: Login Window After Failed Login Attempt .................................................................... 43 Figure 36: Message Dialog after Entry of an Invalid Username During User Registration ............ 44

Page 12: Constituency Development Fund (CDF) Management System

~ 1 ~

1.0 INTRODUCTION

1.0 Introduction and Background Information Armed with an ink pen and a writing pad, I stepped through the Butula Constituency’s CDF Office. I was given an impromptu meeting the manager’s secretary, as the manager was out on some business trip. The feedback from the interview was positive, and so it’s said that if need extra information, talk to the staff members at the bottom. I requested for some specific forms ad was denied; reason being, only the manager had such authority. (See the appendix for the interview sheet used)

Through observation, I identified some processes that were ongoing at the office as the interview was being interrupted; parents, students submitting the funds application forms while others inquired on their application status.

After the interview some facts were quiet evident: The Constituency Development Fund (CDF), an initiative by the Government of Kenya, is a good way of enabling all citizens to benefit from the public funds. Butula constituency has currently (2009/2010) received Ksh. 57 million. The office was instituted in the year 2003. It has so far seen to it that the yearly disbursed funds are put into good use. A good number of schools and students within the constituency have benefited from this. According to the 2007/2008 report, Ksh. 17.44 million was used in educational projects alone, while water, security, health and the environment took the rest, a total amount of Ksh. 47,178,545. I embarked on trying out a solution, a program, dubbed NyMO.

1.1 The Office Structure Butula Constituency Development Fund Office under the mandate of the current MP Hon. Alfred Odhiambo, is run by some members of staff who comprise of:

i. A manager ii. Secretary iii. An accountant and iv. Two clerks.

Besides these, is an 18 member committee comprising of:

i. A manager(head of the committee ) ii. The Member of Parliament as the patron iii. The area District Commissioner, iv. 2 councilors v. 2 representatives for men and women, vi. 2 representatives for youths vii. 2 religious representatives.

This 15 member committee makes recommendation to the manager for the authorization of funding and the manager reports to the MP who then reports to the republic of Kenya on the office affairs.

Page 13: Constituency Development Fund (CDF) Management System

~ 2 ~

The office has no departments but it is coordinated by various sub-entities being run by various members of the staff.

1.2 The Problem within It can’t go without mentioning that all data collection processes, information flow, project(s) monitoring, records keeping never run smoothly as you will see in the narrative below. Lack of a proper way of tracking a single entity as from application, funds allocation, to the moment the whole activity is deemed a success, is the reason why the current NTA’s report (see Appendix B) ranked Butula Constituency’s CDF Office among the poorly managed offices with some huge chunks of funds being disbursed to what now turns out to be ghost projects, low quality projects .According to the report, few projects cab be graded in the A category while the rest either incomplete or poorly done. Suppose an applicant of the year 2004/2005 came to reapply for funds and in a different need; it will take hours going through the files (if they exist) to identify the individuals’ records. In short, the filing system is poor to the extent that, every time committee members are reappointed, say the area MP, issues come up during handing over from the previous MP to the newly appointed one. These and many more reasons make the office inherit a bad name in the NTA’s annual report on the performance of various CDF offices around the country.

1.3 Objectives and Terms of Reference What’s the purpose of this undertaking anyway? This project is aimed at developing me personally as well as the society within and without me.

1.3.1 Personal Objectives 1. To be able to conduct an independent feasibility study on any organization, here, Butula

Constituency CDF Office, and propose an automated information system to help the organization conduct its usual business.

2. To come up with an executable plan that is limited by time, beats a deadline, and other resources like expertise and working tools.

3. To actualize a conceptualized idea by coming up with the correct design as a result of thorough consultation to my supervisor within the 3 months.

4. To learn from the entire experience of an IS project development and be ready to “unlearn” the old principles and “relearn” the existing ones as an upcoming software developer.

1.3.2 Societal Objectives 1. To let the affairs of the Butula CDF Office be run in a smooth and efficient manner. 2. To ensure that the public service is held accountable for any responsibilities it has been endorsed

on by the citizens of this nation. 3. To facilitate equitable resource sharing and adequate utilization hence forth. 4. To encourage members of the society to embrace change and new paradigms of carrying out the

usual daily duties.

Page 14: Constituency Development Fund (CDF) Management System

~ 3 ~

1.4 Project Timeline All factors constant, the entire exercise has been summarized into the following milestones. Table 1: Overview of the Project’s timeline

Activity Date/Period Milestone 1 Feasibility Study 8th-12th Jan 2010 Project Proposal 2 Proposal Review 2 days Supervisor’s remarks 3 System physical and logical design 2 weeks Class and Use case diagrams 4 Database Design 1 week Entity Relationship Models (ERMs)

5 Coding 6 weeks Complete class definitions 6 Testing and Integration of modules 3 weeks Bug-free code 7 Implementation 3 days Installable software 8 Documentation 12th Jan-27th April User manual, Project Documentation

1.5 Report Outline Overview The rest of the document entails but is not limited to the following main sections:

a) System Analysis b) System Design c) Implementation and Testing d) Conclusions and Recommendations e) References f) The Appendix

Page 15: Constituency Development Fund (CDF) Management System

~ 4 ~

2.0 SYSTEM ANALYSIS

2.1 Description of the Current System The government of Kenya sets aside money in the annual budget for CDF As to how much a constituency should get, number of variables are considered. Most of all, the needs of every society, calls for monetary chip-ins. Money held in the constituency’s account is under the full custody of the manager. The 15 member committee must be updated on the account status, project status and generally the office status, for it represents the people. The application for the funds is open to all citizens of Kenya and much more, any other individual or any other party like a contractor. However, more emphasis is put on supporting both high school going or students of higher institutions of learning who are already in university or those who have qualified but lack financial resources.

The government disburses funds annually. The manager acknowledges receipt of this funds and which is also confirmed by members of the committee (either fully or by a certain representation).

Funds application forms are available in the month of October every year, over which the applicants are given 2 months to complete filling them with the necessary details and submitting them before the stated deadline together with any other required documents like (transcripts for bursary applicants).

The secretary issues the forms upon authorization from the manager and receives them on submission. The returned forms are then scrutinized by the committee and any contradicting forms are disqualified on the spot. The successful applicants (i.e. their forms have been validated and verified) are discussed by the same committee and decisions are made as to which applicant(s) should be awarded the funds, put on hold (if the money is currently unavailable), pending or rather just rejected.

Once this stage is done, the next stage is for the committee to discuss on how to spend the funds on the very accepted applicants. The committee has to agree on how the funds will be split across the board. Something very important, the project proposals have to be evaluated with regard to their worthiness to the constituency’s development. There is a limit to the funds being asked for, since all successful applicants must be awarded a share of the available funds.

A not-so critical project can be denied funds at the expense of amore critical one. After an agreement has been made, the manager has the final say and disbursement is done as soon as possible.

Page 16: Constituency Development Fund (CDF) Management System

~ 5 ~

Funds having been disbursed, the office sends the official s to verify the project status, any concerns like insufficient funds are in too, while for the education bursary, if the financial status of the applicant hasn’t changed since the time of application, he/she can reapply for another disbursement and this has to go through the committee and the process is repeated over and over while money exists and a valid reason for support stands.

Prior to any committee sittings, the secretary(s) sends notices via the appropriate channel of communication (mail, email or telephone). Monthly reports have to be prepared that give clarity on how much money has been disbursed in total, how much to what project or in support of which pupil(s) or student(s). Any unexpected occurrence like a non-existing project having been funded is reported too. The accountant also prepares a report to reflect the office’s spending to enable the government fund its money management operations.

The head office is sent a report of all these activities via e-mail by the manager. Most documents are physically filed while reports’ data is kept as both in hard copy and in flash disks.

Updates to the data submitted by applicants can be done if and only if the committee has not sat and reviewed the particular applicant’s data.

This has to work effectively since it is most likely that the money the government disburses depends on the reports it receives from both the manager and the main one from the NTA ( which is done annually to assess the office’s effectiveness.

Page 17: Constituency Development Fund (CDF) Management System

~ 6 ~

2.1 Process Models for the Proposed System

2.1.1 The General Use Case Figure 1: The General Use Case Diagram for NyMO

Page 18: Constituency Development Fund (CDF) Management System

~ 7 ~

2.1.2 Use Case: Staff Member Registration

NyMO CDF Management System

Submit data todatabase

Obtain list fromCFC

Administrator logsin

Capture newstaff's data

Issue username

Administrator logsout

New staffundergoes orientation

Administrator Secretary

Registration of Staff Members

New Staff

«extends»Session time out

Figure 2: Use case depicting Registration of Staff Members

Page 19: Constituency Development Fund (CDF) Management System

~ 8 ~

2.1.3 Use Case: Funds Application Registration

NyMO CDF Management System

Submit data todatabase

Attend to applicant

submit details

Captureapplicant's details

inform thecommittee

Secretary logs out

Clerk

Applicant

Submission of application details

CDF Committee

«extends»Session time out

Secretary

«uses» contacting thesecretary

«extends»providing project

proposal«extends»

applying forbursary

«uses»

issuing a projector bursary number

Figure 3: Use case depicting Applicant Registration

Page 20: Constituency Development Fund (CDF) Management System

~ 9 ~

2.1.4 Use Case: Funds Allocation

Figure 4: Use case diagram depicting the funds allocation process

2.1.5 Use Case: Project Tracking

Figure 5: Use case depicting tracking a project’s progress

Page 21: Constituency Development Fund (CDF) Management System

~ 10 ~

2.1.6 Use Case: Reports Generation

Figure 6: Use case depicting Generation of Reports

Page 22: Constituency Development Fund (CDF) Management System

~ 11 ~

2.1.7 Use Case: User Interaction with NyMO (name of the system)

Figure 7: Use case depicting user interaction with program

Page 23: Constituency Development Fund (CDF) Management System

~ 12 ~

2.2 Class Models

2.2.1 The Class Diagram for NyMO Figure 8: Proposed System’s class diagram

+register() : void+saveNew() : void+update() : void+findBy() : void

-Staff-id : Boolean-Fname : string-Profile : string

Office_Staff

+getStaffDetails() : void

-member_id : boolean(idl)-

CDF committee

+finance() : void+office staff() : void+allocations() : void+committoDB() : string

-ReportName : string-report_id : int-date : Date

Reports

+getCDFAcctstatus()+getFieldOfficer()+validateManager()+committoDB()

-rec_id : int-date : Date-remarks : string

Tracker

+get admin() : void+get staff_id() : void

-reg_no : boolean(idl)-staff type : string

Registration

+geLoggedOn() : void+getLoggedOut() : void+save() : void

-date : string

User_Log_File

+errors() : void+comment() : void

-user_id : char-userPass : string-session time : int

Current_Users

+validateManager() : void+validateSecretary() : void+transferFunds() : void+receiveFunds() : void

-Account no. : int-Amount in : double-Amount out : double

CDF_Account

+authenticate()+substractFrom()+commitToDb()

-AccountNo : int-AllocID : int-Date : Date-Amount : double

FundsAllocation

+getProjectApplications() : void+getBursaryApplications() : void+awardedBefore() : bool+getApplicType() : void

+ApplicantNo : int+Name : string+AcctNo : int+Address : char+AmtNeeded : double+ApplicDate : Date+AmtAwarded : double+DateAwaded : Date

FundsApplicants

+applicDetails() : void+addNew() : void+update() : void

-Name : String-Description : String-Contractor : String-Type : String-StatDate : Date-EndDate : Date-Site : String-TotalCost : Double

Project_Applications

+getApplicdetails() : void+addNew() : void+saveNew() : void+delete() : void+update() : void

-ApplicName : String-Sex : String-AdmnNo : Integer-ClassorCos : String-SchorInst : String-Year : Date-FamFinance : Double

Bursary_Application

+getProjDetails() : void+setProjeDetails() : void

-ProjectNo : Integer-ProjName : String-Summary : String

Proposals

1

1

1..*

0..1

1

1..*

1

0..1

1

1..*

1..* 1

1

1..*

1..*

1

1..*

1

1..*

1

1

0..*

1

1

1..*

1

generates

1..*

1generates

1..*

1

generates

Can have

Manager authorizes

Submits findings

NyMO: The Class Diagram

Page 24: Constituency Development Fund (CDF) Management System

~ 13 ~

2.3 Sequence Models

2.3.1 Inter-objects Communication Figure 9 :Depicts Inter-objects Communication in the system

:FundsApplicant :StaffMember :FundsAllocation:Registration :ProjectTracker :CDFAccount :Reports

NyMO: Sequence Diagram

1: getDetails()

2: return true

4: submitDetails

5: return ApplicID

*[]forwardApplicant Details()

*[]sendtoDatabase()

return true

return true

6: [authenticate]register staff

7: reviewapplicant details()

3: login()

8: return true11: getApproved9: displayStatus ()

10: viewStatus ()

13: [auntheticate]transferfunds()

14: return true

12: allocateFunds()

15: assignTracker()

17: getAllocated ()

16: submitRecords()

18: accessCDFAccount()

19: auntheticatemanager()

20: return true

21: forward_findings

22: return true

23: viewReports()

24: viewReports()

Page 25: Constituency Development Fund (CDF) Management System

~ 14 ~

2.3.2 Exception: Committee reads a negative balance

Figure 10:Depicts an exception: Committee reads a negative balance

Page 26: Constituency Development Fund (CDF) Management System

~ 15 ~

2.3.3 Exception: Awarding an applicant twice

Figure 11: Depicting an Exception: Awarding an applicant twice

2.3.4 Exception: Few funds available for allocation

Figure 12:Illustrates an exception: Few funds available for allocation

Page 27: Constituency Development Fund (CDF) Management System

~ 16 ~

2.4 Use Case Narratives

2.4.1 Scenario: A successful process through the NyMO system Actors: Admin, Manager, Secretary, Accountant, Applicant, Committee, Visitor

Preconditions:

1. The administrator is logged in.

2. There’s a data entry facilitator.

3. The CDF account is loaded.

Flow of Events

1. All factors true, new members of staff or the committees are registered by an admin or existing secretary.

2. All meetings are scheduled and notification sends to the respective recipients. 3. Every user, either member of staff committee representative or a visitor is identified their

username that is within NYMO’s database. 4. Those seeking funds submit their details. If a project is to be funded, a proposal has to be

submitted along with the project proposer’s details. 5. All the applicants’ details being in the system, the committee meets and various remarks are

entered into the system pertaining each applicant. 6. The manager logins and approve transfer of fund from the CDF account to the applicants, changes

are saved. 7. The CDF account fund allocated bursary applicants and projects are revisited and a report

submitted to the system by the secretary. 8. All information and data being current, reports are generated for view by any user logged into the

system. 9. If the user isn’t sure of what to do on login there’s a help file to guide his /her through. Comments

can be made to express a view or a concern. 10. A user logged on must log out or be logged out on the expiry of the session timeout.

Post-Conditions 1. The admin has granted users their rights of access. 2. An applicant has been funded or rejected or put on hold. 3. The database is up to date.

2.4.2 Scenario: Register staff/committee members Actors: Admin, Registered user. Pre-condition:-Authentic user logged on

1. An admin or secretary logs in to NYMO. i. An admin has to be logged in if there is no secretary ii. Secretary captures the data if present

2. Staff/Committee members details are captured by the system. 3. The database is updated and even reports made ready.

Page 28: Constituency Development Fund (CDF) Management System

~ 17 ~

i. If there are no more records to be captured, end. ii. Allow logged on user to enter new records only and after submission no updates can

be made. 4. User logs out, else is logged out if session time ends.

Post-condition

1. New members’ records have been saved to the database.

2.4.3 Scenario: Applying for funds Actors: Secretary, Clerk, Applicant Pre-condition: 1. The period is within the application time. 2. Communication is adequate between users. 3. Applicants have all required details. 1. A clerk verifies any physical documents before data entry. i. Stop entry if some documents are missing ii.Else, secretary starts input.

2. Applicant acknowledges submission of data. i. The database generates an applicants ID and he/she is issued with it. ii. No ID generation incase of a database failure. iii. Project funding applicant must provide a proposal that should be scanned or

alternatively enter into the system. 3. Applicant id is generated 4. Details are send to the database 5. Records awaits committee’s approval for funding

Post-Conditions Applicant is on the funds waiting list Registration is a success

Page 29: Constituency Development Fund (CDF) Management System

~ 18 ~

2.5 Functional and Technical Requirements for NyMO

2.5.1 Functional Requirements The system’s internal working is as described below:

• Supports registration of users who are automatically picked from the already registered members of staff

• The system allows a non-registered member of staff to access it via the visitors account • Calculation of the amount remaining in the CDF account, how much each project

category can use is supported • Tracking of a user logged in is incorporated into the system with a clear record of the

login and log out time for each user • Supports the minimum and maximum amount of money each applicant can be awarded,

if allowed to do so under “NyMO Analytics module” • Support for categorizing applicant(s) by type (bursary or project) , type of project (for

project(s) applicant(s) only), family status (for bursary applicants only) • Field officer’s name is automatically saved into the report submitted once he or she is

logged in. • The system supports an automated calculation of the total amount disbursed by the CDF

office for a given period of time • Support for resetting a user’s password is enabled through administrator’s section • There are various levels for access for the different types of users with different rights to

modification or addition of data. • There is provision for the account to record financial expenses for the office as they occur

and later generate reports reflecting on the same. • The system also supports generation of numerous reports by category as defined by the

user. • Any input from the user is validated first before be send to the database as having past the

validation checks.

2.5.2 Technical Requirements NyMO , with regard to availability, performance and reliability, aims at the following:

• The system shall be available 99.99% of the time any time provided there is continuous flow of electricity.

• The system shall support up to 1000 concurrent transactions. • The database connection shall be timed out after every 60 seconds to enhance data

integrity. • The system shall roll back to the last used state of the database in case of an interruption

such as power failure. • The system shall also log out an inactive user as a security measure.

2.6 Development Environment Tools and Justification • The programming language: Java SDK 7.0 with the help of Netbeans 6.8 IDE • The Database Management System: MySQL • Project Modeling: Microsoft Visio, MySQL Workbench 5.1 • Project documentation: Microsoft Word 2007 • MySQL server management tools: MySQL Workbench 5.1, phpMyAdmin • Operating System: Windows XP Professional Edition: Service Park 2

My take on MySQL was because of its high capacity to handle concurrent transactions. Netbeans on the other hand makes design work easy with its code generation capabilities. I decided to use Java as it’s fully object oriented, giving you power to manipulate your objects. Consequently, Windows XP Professional is the ultimate operating system for any developer out there with its high rate of compatibility with common

Page 30: Constituency Development Fund (CDF) Management System

~ 19 ~

software. Modeling the classes and the database can be hectic if you use the wrong tools, and I decided to use Microsoft Visio and MySQL Workbench. Something about MySQL Workbench is that it can model an ERM from a database and vice versa! The current version of Microsoft Word with its amazing features such as auto-generating a list of figures, list of tables, stating your references makes the entire process of typesetting and formatting any type of document stress free and it is not sophisticated as such.

2.7 Description of the Proposed Solution to the Current System NyMO will majorly rely on the input from the user. The members of staff are registered. The committee members are also to be registered as members of staff in the module (registration of staff and committee members). These records are safely disposed to the database which is hosted on a different machine. All schedules, objectives of the office and deadlines to be beaten are to be stipulated by the staff in the system in the additional feature of the “notice board”. Users can also interact on the LAN via a chat service that can be implemented or outsourced and hence ease time in walking up and down or even wasting paper on printing memos. As usual, the office notifies the public on the available funds and hence applicants are asked to provide their details (bursary applicants/project proposers). NyMO, a convenient application collects all these data and stores it in an orderly manner (since the office is based at the country side--- data entry can be done by the skilled secretary(s) while the applicant(s) provides feedback->alternatively have data entry personnel when applicants are many. There is room to improvise NyMO such that computer literate applicants can simply queue in their details. Incase of any modifications, NyMO does it as soon as the particular record is specified. This update should be captured so as to know which user did it and at what time and date. While during committee sittings, the verified and validated applicants’ records can be browsed through and simply change the status (“approved”,”pending”,”rejected”) and consequently make comments on each applicant. The manager should then log in and approve any allocations that are to be made. Since money can be an issue, if there are many applicants to be funded, a ratio or percentage can be used to award each applicant, for that is the policy. All these changes should be effected in the in the CDF account readings too. As part of reporting, a list of records with their various statuses can be made ready for view as a report. Since the CDF account and the allocated applicants’ records are logically connected, plus the log files, tracking should be as cheap as clicking a button or link. A user can log in and view the real time data concerning projects in progress/complete and even bursary beneficiaries. Here, the field officers will play a major role of being honest and feeding the system with their findings. Reports’ production which can prove to be a challenge, NyMO by use of a java plug-in (iReport) should be in a position to give users a summary: what’s in, what’s out and what’s expected .NyMO will regulate over who can prepare a report, view a repot or even print. For instance, the accountant should be the only user allowed by NyMO to submit financial reports of the office. If possible too, NyMO should enable the manager to directly prepare a report on any of the required information and mail it directly provided the node is on the internet. Last but not least, NyMO being any other IS will allow users to submit their queries/comments for the developer to respond or to have a look at if requested by the office. A help file is also available to users who don’t know what move to make next. While logged in, the secretary or the concerned user can possibly make an announcement on NyMO’s notice board, he/she should also view other notices and announcements, and of course what logs in to NyMO definitely has to log out or else be logged if a session time out occurs-a key security measure. NyMO looks forward to being given the right garbage in for the best garbage out.

Page 31: Constituency Development Fund (CDF) Management System

~ 20 ~

3.0 SYSTEM DESIGN

3.1 Entity Relationship Model to LDM Mapping

Figure 13: Shows a MySQL Workbench's expression of the ERM

Figure 14: Shows a MySQL Workbench's expression of the users' sub database ERM

Page 32: Constituency Development Fund (CDF) Management System

~ 21 ~

3.2 Database Schema Figure 15: Shows a MySQL Workbench's expression of the database structure

Figure 16: Shows a MySQL Workbench's modeling of the users' sub database

Page 33: Constituency Development Fund (CDF) Management System

~ 22 ~

3.3 Data Dictionary

Figure 17: Depicts a caption from phpMyAdmin summarizing views and tables

Table 2: Accountant's reports table.

Page 34: Constituency Development Fund (CDF) Management System

~ 23 ~

Table 3: View for all applicants' numbers

Table 4: Bursary Applicants

Page 35: Constituency Development Fund (CDF) Management System

~ 24 ~

Table 5: Database table with Bursary Details

Table 6:Database table with CDF Acount attributes

Table 7: Database View to display CDF Account’s balance

Page 36: Constituency Development Fund (CDF) Management System

~ 25 ~

Table 8:Database Table with Funds Allocation attributes

Table 9: Database View that updates the CDF Account with Allocation details

Table 10: Database table with Login records' attributes

Table 11: Database table with System Users' attributes

Page 37: Constituency Development Fund (CDF) Management System

~ 26 ~

Table 12: Database table with Office Expense attributes

Table 13: Database View that shows Applicant's award history

Table 14: Database table with Project Applicants' attributes

Page 38: Constituency Development Fund (CDF) Management System

~ 27 ~

Table 15: Database table with Project Progress attributes

Table 16: Database table with Projects' attributes

Page 39: Constituency Development Fund (CDF) Management System

~ 28 ~

Table 17: Database table with Staff Members' attributes

Table 18: Database View that shows Applicants to be awarded

Table 19: Database table with Visitor Appointments' attributes

Page 40: Constituency Development Fund (CDF) Management System

~ 29 ~

Table 20: Database table with User Comments' attributes

3.4 Architectural Design

3.4.1 Abstract View Figure 18: Depicts the Developer's impression of the System's Components

Key: One way flow of control and information Two way flow of control and information

Operating Environment

Butula CDF Database

NyMO: The Application

Other subsystems

……….. ….. ….

………………

End Users

Visitor Console Manager Console

Secretary Console

Clerks Console

Administrator Console

Accountant’s Console

Page 41: Constituency Development Fund (CDF) Management System

~ 30 ~

3.5 Interface Design

3.5.1 Input The following controls are common to most of the input screens; navigating through records, search feature, adding new records, updating a record, deleting a record. The screen layout s are synonymous in appearance with the common controls being arranged in a common section with clear labeling of what they are or what they do. A date picker is used where the user is required to enter a date while combo boxes are provided to enable single choosing from the user.

3.5.1.1 User Login A user name or identification number and the password are needed to match before the user can login. A non-registered user can similarly login as a guest. The user rights are hidden from the user as they are assigned by the system during user registration. The password is encrypted as user types in. Figure 19: Sketch depicting the Login Window

3.5.1.2 Main Window From here, as per the user logged in, there is a “Go To” menu from which different modules are to be accessed. The help option is available to all users. The “Notice Board” is meant to be displaying the events or appointments scheduled for that particular week. A calendar is also available on the same window. The user can also make comments or suggestions and submit to the administrator.

Figure 20: Main Window in the Netbeans IDE's Design View

Username

Password

Enter Cancel

Login as Guest

Page 42: Constituency Development Fund (CDF) Management System

~ 31 ~

3.5.1.3 Register Staff Member. When the administrator is logged in, details of the staff members are captured here with their name being used as their system’s user name. The secretary, manager, and the accountant are critical to the system’s operation. The administrator account exists by default and shall not be deleted whatsoever.

Figure 21: Staff Registration Form in the Netbeans IDE's Design View

Page 43: Constituency Development Fund (CDF) Management System

~ 32 ~

3.5.1.4 Applicant Registration This section is subdivided into bursary and projects applicant. For bursary applicants, the details of the fee, school, family finance and declarations from either a religious leader or area chief/sub-chief as a confirmation to the applicant’s needs. Project applicants have to submit a proposal before they are registered. The proposals’ form capture the details of the project while the contractor‘s form captures details of the project proposer. The user can simply find out more about a bursary applicant through the menu item “Bursary Info”. For the project, the user can click on “Applicant Details” to find out more on the applicants. The ‘allocate bursary’ or ‘allocate’ controls appear on the ‘Bursary’ screen.

Figure 22:Bursary Applicants Registration Form in the Netbeans IDE's Design View

Page 44: Constituency Development Fund (CDF) Management System

~ 33 ~

Figure 23: Project Applicants Registration Form in the Netbeans IDE's Design View

Figure 24: Project Proposals Registration Form in the Netbeans IDE's Design View

Page 45: Constituency Development Fund (CDF) Management System

~ 34 ~

3.5.1.5 CDF Account This form has details of how money is flowing in and out of the office. Additional controls found here: ‘Audit Account’, ‘Approve Funds In’, ‘Save Remarks’. From these, the manager can approve funds in from the government, while an external auditor can make remarks after carrying out an audit. The ‘Current balance’ field shows the amount in the account at the moment.

Figure 25: CDF Account Window in the Netbeans IDE's Design View

Page 46: Constituency Development Fund (CDF) Management System

~ 35 ~

3.5.1.6 Project Progress Details of the project that has already been funded are entered in here. They include amount allocated to the project, amount spent so far, surveyor’s report and date of survey among others. The user can track a new project or include a new progress for an already ongoing project.

Figure 26: Project Progress Tracking Form in the Netbeans IDE's Design View

Page 47: Constituency Development Fund (CDF) Management System

~ 36 ~

3.5.1.7 The System Administrator New users are added from here. A combo box is populated with available users, and there possible rights. The password is set to the default. The additional controls are; password resetting, deleting user, viewing log files, viewing user comments.

Figure 27: System Administrator's Console in the Netbeans IDE's Design View

3.5.1.8 The Accountant’s Section Here the entries made include: expense name, amount spent, date accrued, and date expense is paid for. The office balance field is automatically updated as the system runs.

Figure 28: Office Accountant's Console in the Netbeans IDE's Design View

Page 48: Constituency Development Fund (CDF) Management System

~ 37 ~

3.5.2 Output After all the input, the user receives output in form of reports that span over an array of the type of data collected and the transactions carried out.

3.5.2.1 Registered Staff Members

Figure 29: Report View of Registered Staff Members

3.5.2.2 Registered System Users

Figure 30: Report View of Registered System Users

Page 49: Constituency Development Fund (CDF) Management System

~ 38 ~

3.5.2.3 Bursary Funds Applicants

Figure 31: Report View of Registered Bursary Applicants

3.5.2.4 Project Applicants’ Details

Figure 32: Report View of Registered Project Applicants

3.5.2.5 CDF Account

Figure 33: Report View of CDF Account Transactions

Page 50: Constituency Development Fund (CDF) Management System

~ 39 ~

4.0 SYSTEM IMPLEMENTATION AND TESTING

4.1 Development Tools and the Environment • The programming language: Java SDK 7.0 with the help of Netbeans 6.8 IDE • The Database Management System: MySQL • Project Modeling: Microsoft Visio, MySQL Workbench 5.1 • Project documentation: Microsoft Word 2007 • MySQL server management tools: MySQL Workbench 5.1, phpMyAdmin • Operating System: Windows XP Professional Edition: Service Park 2

4.2 Description of Main Functional Modules NyMO is made up of 6 main modules with each module playing a unique role in order to achieve a unique goal through its high level of coupling and low cohesion.

i. Registration of staff and the committee This will entail capturing the details of all staff members and the committee. Any changes to the records are to be done here. Further additions or omissions can be made here too after the authentic user has logged into the system. Upon completion of these processes, the database should reflect the same if queried anytime.

ii. Funds application module Project proposals on health, security, education, water or the environment originating from the sublocations are to submitted here. Pupils, students and graduates who are applying for funds must have their details captured and or submitted here. The secretaries as users must assist the applicants in this exercise then.

iii. Money Allocation After the CDF committee verifies the records of students and submitted proposals, recommendations are made to the manager, the committee’s chairperson, who authorizes funding. Therefore, the module should query the database for records whose status is “approved” before allowing the allocation is done. It should also ensure that on allocation, the record should not then appear until the committee recommends it for another successive funding. Depending on the number of projects approved, the available money must be allocated to some percentage to all of them.

iv. Tracking The module should maintain record(s) in a read only state with the necessary fields showing how the money has been allocated and used in various projects. The project’s status in terms of progress and resource available should be indicated here. This is key; to keep a trail on the money as it’s withdrawn from the constituency’s account to various projects.

v. The Reporting Module A report on existing staff, CDF Committee, the projects, the supported students and funds allocation. Printing and exporting as a portable document file (pdf) of the generated report(s)

Page 51: Constituency Development Fund (CDF) Management System

~ 40 ~

should also be possible. The accountant should submit the office’s finance reports here too. Unless otherwise, all reports should be viewed by the public.

vi. The End-User Module Provision for a help file or a guide to the users. Users can also submit their comments or suggestions here for the system’s developer(s).

4.3 Sample Code Snippets

4.3.1 Database Connection class The following sample code is an implementation of the database connection class which is reused in other classes. /*Holds methods and properties that implement the connection and communication *to the database server *Done by Adams Opiyo in April as part of the IS Project in DiBIT*/ package nymo.database; import javax.sql.rowset.*; import java.sql.*; public class nymDataCentre{ //Data members //connection parameters private static Connection con; private static final String URL="jdbc:mysql://127.0.0.1:3306/db53988"; private static final String PWD=""; private static final String USER="root"; //Rowset/Resulset data members private static PreparedStatement pstmt_rs; public nymDataCentre(){ try{ Class.forName("com.mysql.jdbc.Driver"); DriverManager.setLoginTimeout(60); //Fail after 1 minute }catch(ClassNotFoundException e){ System.out.println("Error: Driver Not FOund"); } try{ //Prepared Statements go here }catch(Exception ignored){} }

Page 52: Constituency Development Fund (CDF) Management System

~ 41 ~

public static Connection getConnection() throws SQLException{ con=DriverManager.getConnection(URL,USER,PWD); System.out.print("NyMO is Online \n"); return con; } //method passes settings to the rowset public static void passSettings(JdbcRowSet jdbcRs) throws SQLException{ jdbcRs.setUrl(URL); jdbcRs.setUsername(USER); jdbcRs.setPassword(PWD); } //Method to make a result set and pass it to a JdbcRowSet. For search or select queries public static ResultSet passResultToJdbcRowSet(Statement stmt, ResultSet rs, String sql) throws Exception{ //stmt=con.createStatement(ResultSet.CONCUR_UPDATABLE,ResultSet.TYPE_SCROLL_SENSITIVE); rs=stmt.executeQuery(sql); return rs; } //Method to make a search or select prepared statement. Pass it an sql public static void getSelectPstmt(String sql,PreparedStatement pstmt, Connection conn)throws SQLException{ pstmt=conn.prepareStatement(sql); pstmt.executeQuery(); } //prepared statement to update, delete or insert a record. Pass it an sql public static void getUpdatePstmt(String sql,PreparedStatement pstmt,Connection conn)throws SQLException{ pstmt=conn.prepareStatement(sql); pstmt.executeUpdate(); } public static void close(JdbcRowSet jdbcRs){ try{ jdbcRs.close(); }catch(Exception ignored){} }

Page 53: Constituency Development Fund (CDF) Management System

~ 42 ~

public static void close(Statement stmt){ try{ stmt.close(); }catch(Exception ignored){} } public static void close(PreparedStatement pstmt){ try{ pstmt.close(); }catch(Exception ignored){} } public static void close(Connection conn){ try{ conn.close(); }catch(Exception ignored){} } }

4.3.2 Database Connection Class Used in another Class db=new nymDataCentre(); //Instanstiate database //set up a connection private void connectNU() throws SQLException{ con=db.getConnection(); System.out.println("Connected to:"+con); //return con; } //close all connections private void closeNU(){ db.close(jdbcRs); db.close(stmt_rs); db.close(con); }

Page 54: Constituency Development Fund (CDF) Management System

~ 43 ~

4.4 Sample Test-data and Error Handling

4.4.1 Incorrect Login Details If the user’s details do not match on login, the following message will be shown:

Figure 34: Invalid Login Message Dialog

After which, the following is displayed,

Figure 35: Login Window After Failed Login Attempt

Page 55: Constituency Development Fund (CDF) Management System

~ 44 ~

4.4.2 Validation Failure on Data Entry Assume the administrator forgets to enter a username on adding new users then clicks on save new: NyMO will alert him or her as shown:

Figure 36: Message Dialog after Entry of an Invalid Username During User Registration

4.4.2 Summary of Validation Checks Table 21: Illustrates Validation Checks Done During Data Entry

Test data Input Results Comments Correct Input StaffID 1234567 Invalid

number ID should have 8 digits

123456678

Email dsdd@ert Invalid email Email is in the format [email protected]

[email protected]

Phone number Ggf89745.2 897452 The alphabets and the dot are trapped

89745200

Adding a new user An existing user

Error message

User name must be unique

A unique username

Leaving necessary fields blank

Null Error messages

Some inputs must be provided, such as applicant’s name

All required fields must be provided.

Amount requested Y65ty6y 656 The alphabets are trapped

Amount of money is expressed in digits only

Project name 5656Road rehabilitation

Road rehabilitation

Digits are trapped

All names require alphabets only.

Page 56: Constituency Development Fund (CDF) Management System

~ 45 ~

4.4.3 Data/Information Security Handling Sensitive data is limited to access by various users. Login details are enforced before any user can go ahead to revisit various sections of the system. The database is highly secured and access to it demands a password and user name which is only given to the system administrator. Note that it will rare for access to the database to be a necessity. There are various levels of access as described below:

Table 22: Illustrates Various System Users and their Levels of Access

User Rights Visitor -View all reports

-Submit a comment or an appointment Administrator -Revoke and grant rights to users

-Register users -Register staff members -Access the database, where necessary -Respond to user comments

Manager -View staff and committee records -Access funds application module -Approve funds allocation -Assign a field official to track a project

Secretary -Assist in capturing applicant’s details -View reports, prepare reports -Set appointments for the manager -Update some applicant’s details

Clerk -Request appointments to the secretary for an applicant -Respond to users’ needs in the absence of the administrator

Accountant -Update the system with the office’s expenses -Submit financial reports -View other reports -Make appointments for committee meetings where necessary

Page 57: Constituency Development Fund (CDF) Management System

~ 46 ~

5.0 CONCLUSIONS AND RECOMMENDATIONS

5.1 Achievements o Within the 4 months, the exercise has enabled me to confidently manipulate data and the structure

of the database in the very versatile MySQL database management system. o Right from the design, and the modeling, to the coding, I have been able discover the very

repetitive nature of software development. One important thing: I have learnt that it’s key to think about what you want, before you rush to start implementing.

o Excluding the threads, that are part of any program running besides the operating system, I have gained the basics of the Java language and especially with regard to data-based applications.

o Having read Robert C. Martin’s “Clean Code”, I have been able to come up with code that can be described as clean and easy to read or reuse.

o Implemented a computer program, dubbed NyMO, to help my constituency, Butula, manage the CDF funds easily.

o I have gained a better understanding of the object oriented methodologies of software development by following, keenly, my supervisor’s advice, combined with classroom lectures and my own extra findings on the same subject.

o Worked round the clock with limited resources (time, access to a computer) and come up with something that is relative to the whole experience.

o I can’t forget mentioning the enhanced research skills I have so far gained and more so, the technique of presenting the researched work to a different party without distorting the facts.

o Adapting to criticism from both my colleagues and my supervisor in an assertive manner through this entire project has been another gain for me.

o I am more certain than sure, that I can distinctively identify any problem of a given scope, model a software solution for it, and alternatively, use the provided tools to implement the solution.

o Programming is not just about writing code alone, as the experience has shown, since I had to learn how to modify a few keys in the registry while using the Windows environment.

o Though my program was incomplete by the time I was doing the demonstration, I took it up as a milestone on its own because I was on schedule; some occurrences are never expected yet inevitable.

o Jasper report, a new feature in Java, is now at my finger tips. Something I wouldn’t have known if it were not for taking up Java as my coding environment

5.2 Challenges experienced o Using MySQL for the very first time came in handy, as it involved several stages of getting to

learn its structure, data types, and the (Data Definition Language) DDL syntax. o Being the last semester, my attention also had to be divided into other units that also required an

equally good amount of time. o In search of a solution to the lack of a personal computer, I managed to get a lap from a friend

but which started slowing down when I run MySQL and Netbeans 6.8 on it, due to its limited RAM of 512MB and a single 2.2GHz processor.

o As I got to the core of coding, I started getting this very annoying “ClassDefNotFound” exception error while tested whatever code I had written. This left me coding blindly without knowing whether what I was doing was logically right or wrong since the syntax errors had been taken care of by the IDE itself while wrote code.

o On the eve of my demonstration, I had designed some reports that refused to work with the code I had developed and tried all sorts of consultation, all efforts futile, that I had to be penalized for the lack of reports during the project presentation.

Page 58: Constituency Development Fund (CDF) Management System

~ 47 ~

o I had the opportunity to work in the labs, part-time, after my classes in the evenings. The time I had best set for working on my project, I was needed in the labs. It took some ingenious method to strike a balance between all these.

o My supervisor on the other hand, was in the middle of his major academic work and other projects he was coordinating, therefore, contact period was very short and sometimes, rescheduling was not an option.

5.3 Future Works o Implement a chatting module for the users once logged on the system, add email functionality o Upload of spreadsheets has not been accomplished in this system yet. o Automatic specification of the MySQL database parameters such as a user, password and the

database URL.

Page 59: Constituency Development Fund (CDF) Management System

~ 48 ~

6.0 REFERENCES

6.1 Books o PENDER, T. , 2003. UML Bible.Indianapolis, IN:Wiley. o CONOLLY, TM. 2005. Database Systems A practical approach to design, implementation and

management. Harlow UK: Addison Wesley. o MUKHAR, K. 2001. Beginning Java Databases, Birmigham, UK:Wrox Press. o CADLE, J., 2004.Project management for information systems , Harlow,UK: FT/Prentice Hall o MARTIN C. R., 2009. Clean Code, Upper saddle river: Pearson Education o Sun Microsystems Inc., 2009 JDBC TM RowSet Implementations Tutorial, Revision 1.0, :4150

Network Circle SantUSA o DEITEL D., 2007. Java How to Program ,7th Edition, UK: Prentice Hall

6.2 The Web o http://www.sourcecodester.com/java

[Accessed: 24th Jan 2010.] MySQL documentation

o http://dev.mysql.com/doc/ o http://dev.mysql.com/doc/index-other.html

[Accessed: March 10th 2010.] Java Sun Tutorials

o http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html o http://java.sun.com/docs/books/tutorial/uiswing/examples/components/FrameworkProject/src/com

ponents/Framework.java [Accessed on 13th April 2010.] Java2s...Tutorial

o http://java2s.com/Tutorial/Java/CatalogJava.htm [Access: 22/04/2010]

o Netbeans IDE, Using Netbeans 6.8 http://netbeans.org/community/releases/68/ [Accessed on March 19th 2010]

Page 60: Constituency Development Fund (CDF) Management System

~ 1 ~

7.0 APPENDIX

A User Manual Before you go further, your computer must meet the following minimum requirements:

i. Processor speed of 1.5 GHz ii. 512MB of RAM iii. Java enabled with the jre 1.5 or an older version installed iv. 200MB of hard disk memory free. v. A simple network connection: One computer will host the MySQL server database. vi. Running on Linux, Windows XP Professional Service Pack 2 or higher or an older version of

Windows Operating System. Setting up:

1. Load the CD by inserting it into the CD-drive. Ensure you have a MySQL database installed and running on it or on a different machine that your computer can connect to.

2. Using phpMyAdmin or MySQL Workbench, connect to your database and import from the CD , a

file named ‘db53988.sql’-This contains all the SQLs that will create the database. (You must have Administrative rights in some cases to do this)

3. You will need an IP address of the database server to connect to the database if you are accessing

it from a different location.

4. Open the CD again and copy the file NyMO.jlnp to your destination of choice, preferably, it should be on the same hard disk location as the operating system.

5. Start the program by double clicking on the icon NyMO.jnlp.

Login Details for the Administrator: User Name: Admin Password: isjon

Page 61: Constituency Development Fund (CDF) Management System

~ 2 ~

B1 Preview of the 50 Page Report of NTA on Butula Constituency

Page 62: Constituency Development Fund (CDF) Management System

~ 3 ~

B2 Preview of the 50 Page Report of NTA on Butula Constituency

Page 63: Constituency Development Fund (CDF) Management System

~ 4 ~

B3 Preview of the 50 Page Report of NTA on Butula Constituency

Page 64: Constituency Development Fund (CDF) Management System

~ 5 ~

B4 Preview of the 50 Page Report of NTA on Butula Constituency

Page 65: Constituency Development Fund (CDF) Management System

~ 6 ~

B5 Preview of the 50 Page Report of NTA on Butula Constituency

Page 66: Constituency Development Fund (CDF) Management System

~ 7 ~

C Interview Sheet Feasibility Study on Butula Constituency Development Funds Office A. The Office

i. Describe the structure of office. ii. What are the various rights of access to each staff member

iii. Does the office have any departments? If yes, please give their names and function. iv. Who must be there in any board meetings? Indicate with the office title. v. Who has the final say over what money is to be disbursed? (Please describe the process fully)

vi. Who verifies the money in from the government? vii. What is the nature of projects or activities supported by the funds?

viii. Are the projects divided into categories besides the bursaries? If yes, please name them. ix. I almost forgot, can you kindly give a brief history of the office since its institution. x. Have there been any cases of mismanagement with regard to the CDF funds?

xi. Can you give examples of projects so far taken care of by these funds? B. Data Entry and Storage

i. What data is captured by the office?(Please provide the application forms to enhance understanding).

ii. Who data does the primary data entry? iii. Is this data subject to modification after entry? If yes, state who has the rights to modify and what

he or she can alter? iv. What is the mode of storage for the data? v. With the mode in B(iv) above, is there a possibility of making updates, and what type of updates

an be made? (Mention any constraint) vi. Normally, is there a time limit for the applications?

C. Information

i. What types of reports are produced at the end of this exercise? ii. What details appear on these reports?

iii. What is the frequency for generation of these reports?

D. Logic and Communication i. What happens if one qualifies for funding but doesn’t reply in good time?

ii. Is it automatic for one to qualify for the funds on application? If no, when does one qualify for them? (Conditions that must be met by any applicant)

iii. Are there any special cases that disqualification for funding is not an option but a necessity? What are the reasons for such cases?

iv. If you qualify for funding, can you apply for more and if so, after how long? v. If there are several projects to be funded, what criterion is used, since it’s obvious that money is

limited? vi. How long should it take from the time of application of cash till the actual disbursement provided

money is available? vii. How do you keep the head office informed of your activities?

Post Office Telephone Email Thank you very much for cooperation and participation.

Page 67: Constituency Development Fund (CDF) Management System

~ 8 ~

D1 Bursary Application Form

Page 68: Constituency Development Fund (CDF) Management System

~ 9 ~

D2 Bursary Application Form

Page 69: Constituency Development Fund (CDF) Management System

~ 10 ~

D3 Bursary Application Form

Page 70: Constituency Development Fund (CDF) Management System

~ 11 ~

E Project Applicant and Project’s Details Form

Page 71: Constituency Development Fund (CDF) Management System

~ 12 ~

F Supervision Sheet