Constituency Development Fund (CDF) Management System
Constituency Development Fund (CDF) Management System
BY
AN INFORMATION SYSTEM PROJECT SUBMITTED IN PARTIAL FULFILLMENT FOR THE REQUIREMENTS OF THE DIPLOMA IN BUSINESS INFORMATION TECHNOLOGY (DBIT)
APRIL 2010
~i~
DECLARATION
This IS project is the original work of the author and has not been submitted for a degree program in any other University.
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
~ ii ~
Things should be made simpler but not too simple -Albert Eistein
~ iii ~
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.
~ iv ~
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 projects 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 managers 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 offices 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.
~v~
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
~ vi ~
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
~ vii ~
~ viii ~
~ ix ~
LIST OF TABLES/FIGURES
List of Tables
Table 1: Overview of the Projects 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 Accounts 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 projects progress .............................................................. 9 Figure 6: Use case depicting Generation of Reports ......................................................................10 Figure 7: Use case depicting user interaction with program .........................................................11 Figure 8: Proposed Systems 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
~x~
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
~ xi ~
1.0 INTRODUCTION
1.0 Introduction and Background Information
Armed with an ink pen and a writing pad, I stepped through the Butula Constituencys CDF Office. I was given an impromptu meeting the managers secretary, as the manager was out on some business trip. The feedback from the interview was positive, and so its 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.
Besides these, is an 18 member committee comprising of: i. ii. iii. iv. v. vi. vii. A manager(head of the committee ) The Member of Parliament as the patron The area District Commissioner, 2 councilors 2 representatives for men and women, 2 representatives for youths 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.
~1~
The office has no departments but it is coordinated by various sub-entities being run by various members of the staff.
2. 3. 4.
~2~
1 2 3 4 5 6 7 8
Activity Feasibility Study Proposal Review System physical and logical design Database Design Coding Testing and Integration of modules Implementation Documentation
Date/Period 8th-12th Jan 2010 2 days 2 weeks 1 week 6 weeks 3 weeks 3 days 12th Jan-27th April
Milestone Project Proposal Supervisors remarks Class and Use case diagrams Entity Relationship Models (ERMs) Complete class definitions Bug-free code Installable software User manual, Project Documentation
~3~
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 constituencys 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.
~4~
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 hasnt 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 offices 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 applicants 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 offices effectiveness.
~5~
2.1 Process Models for the Proposed System 2.1.1 The General Use Case
~6~
Administrator logs in
Administrator
Secretary
Issue username
Administrator logs out extends New staff Session time out undergoes orientation
New Staff
~7~
Clerk
extends providing project submit details proposal extends Capture applicant's details applying for bursary Applicant
Secretary
~8~
~9~
~ 10 ~
2.1.7 Use Case: User Interaction with NyMO (name of the system)
~ 11 ~
Office_Staff -Staff-id : Boolean -Fname : string -Profile : string +register() : void +saveNew() : void 1 +update() : void +findBy() : void 1
Registration -reg_no : boolean(idl) -staff type : string +get admin() : void +get staff_id() : void Tracker -rec_id : int -date : Date -remarks : string 1..* +getCDFAcctstatus() +getFieldOfficer() +validateManager() +committoDB() 1..* 1
FundsApplicants +ApplicantNo : int +Name : string +AcctNo : int +Address : char +AmtNeeded : double +ApplicDate : Date +AmtAwarded : double +DateAwaded : Date +getProjectApplications() : void +getBursaryApplications() : void +awardedBefore() : bool +getApplicType() : void
CDF committee -member_id : boolean(idl) +getStaffDetails() : void 0..1 1 1..* FundsAllocation -AccountNo 1..* : int -AllocID : int -Date : Date 0..1 -Amount : double +authenticate() +substractFrom() +commitToDb() 1..* CDF_Account 1 -Account no. : int 1 -Amount in : double -Amount out : double +validateManager() : void +validateSecretary() : void +transferFunds() : void +receiveFunds() : void
Can have
Reports -ReportName :1string -report_id : int -date : Date +finance() : void +office staff() : void 1 +allocations() : void +committoDB() : string 1 Current_Users -user_id : char 0..* -userPass : string -session time : int +errors() : void +comment() : void 1
1..*
Bursary_Application Project_Applications -Name : String -Description : String -Contractor : String -Type : String -StatDate : Date -EndDate : Date -Site : String -TotalCost : Double +applicDetails() : void 1 +addNew() : void +update() : void 1 Proposals -ProjectNo : Integer -ProjName : String -Summary : String +getProjDetails() : void +setProjeDetails() : void -ApplicName : String -Sex : String -AdmnNo : Integer -ClassorCos : String -SchorInst : String -Year : Date -FamFinance : Double +getApplicdetails() : void +addNew() : void +saveNew() : void +delete() : void +update() : void
generates 1..*
~ 12 ~
3: login() 4: submitDetails 6: [authenticate]register staff 7: reviewapplicant details() 9: displayStatus () 8: return true 10: viewStatus ()
5: return ApplicID
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()
~ 13 ~
~ 14 ~
~ 15 ~
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. Theres 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 NYMOs 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 proposers 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 isnt sure of what to do on login theres 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.
~ 16 ~
If there are no more records to be captured, end. 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.
i. ii.
~ 17 ~
2.5 Functional and Technical Requirements for NyMO 2.5.1 Functional Requirements
The systems 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 officers 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 users password is enabled through administrators 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.
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 its 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
~ 18 ~
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.
~ 19 ~
Figure 14: Shows a MySQL Workbench's expression of the users' sub database ERM
~ 20 ~
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 ~
~ 23 ~
~ 24 ~
Table 9: Database View that updates the CDF Account with Allocation details
~ 25 ~
~ 26 ~
~ 27 ~
~ 28 ~
Other subsystems
Visitor Console
..
Manager Console
Clerks Console
Administrator Console
End Users
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
~ 29 ~
Username Password Enter Login as Guest Figure 19: Sketch depicting the Login Window Cancel
~ 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
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
Figure 28: Office Accountant's Console in the Netbeans IDE's Design View
~ 36 ~
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.
~ 37 ~
~ 38 ~
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. Money Allocation After the CDF committee verifies the records of students and submitted proposals, recommendations are made to the manager, the committees 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. 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 projects status in terms of progress and resource available should be indicated here. This is key; to keep a trail on the money as its withdrawn from the constituencys account to various projects. 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)
iii.
iv.
v.
~ 39 ~
should also be possible. The accountant should submit the offices 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 systems developer(s).
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){} }
~ 40 ~
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_SCRO LL_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(); }
~ 41 ~
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){} }
~ 42 ~
4.4 Sample Test-data and Error Handling 4.4.1 Incorrect Login Details
If the users details do not match on login, the following message will be shown:
~ 43 ~
Figure 36: Message Dialog after Entry of an Invalid Username During User Registration
Phone number
Ggf89745.2
897452
Comments ID should have 8 digits Email is in the format [email protected] The alphabets and the dot are trapped User name must be unique Some inputs must be provided, such as applicants name The alphabets are trapped Digits are trapped
89745200
Amount of money is expressed in digits only All names require alphabets only.
~ 44 ~
Manager
Secretary
Clerk Accountant
Rights -View all reports -Submit a comment or an appointment -Revoke and grant rights to users -Register users -Register staff members -Access the database, where necessary -Respond to user comments -View staff and committee records -Access funds application module -Approve funds allocation -Assign a field official to track a project -Assist in capturing applicants details -View reports, prepare reports -Set appointments for the manager -Update some applicants details -Request appointments to the secretary for an applicant -Respond to users needs in the absence of the administrator -Update the system with the offices expenses -Submit financial reports -View other reports -Make appointments for committee meetings where necessary
~ 45 ~
o o o o
o o o o o o
~ 46 ~
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. 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.
~ 47 ~
6.0 REFERENCES
6.1 Books
o o o o o o o PENDER, T. , 2003. UML Bible.Indianapolis, IN:Wiley. CONOLLY, TM. 2005. Database Systems A practical approach to design, implementation and management. Harlow UK: Addison Wesley. MUKHAR, K. 2001. Beginning Java Databases, Birmigham, UK:Wrox Press. CADLE, J., 2004.Project management for information systems , Harlow,UK: FT/Prentice Hall MARTIN C. R., 2009. Clean Code, Upper saddle river: Pearson Education Sun Microsystems Inc., 2009 JDBC TM RowSet Implementations Tutorial, Revision 1.0, :4150 Network Circle SantUSA DEITEL D., 2007. Java How to Program ,7th Edition, UK: Prentice Hall
o o
o o
~ 48 ~
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) You will need an IP address of the database server to connect to the database if you are accessing it from a different location.
3.
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.
Login Details for the Administrator: User Name: Admin Password: isjon
~1~
~2~
~3~
~4~
~5~
~6~
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 doesnt 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 its 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.
~7~
~8~
~9~
~ 10 ~
~ 11 ~
F Supervision Sheet
~ 12 ~