Professional Documents
Culture Documents
Introduction
This analysis has been carefully done to find out the applicability of management and security in a Church Management System. It consist of two main areas; an overview of the overall system requirements and a description of the decision support capabilities of the system. Decision Support has been integrated with the system through a budgeting module, work or task allocation module and a module to analyze historical trends such as developments.
Problem Specification
Church Management decision making has become a challenge to many churches. Their way of keeping records is prone to misrepresenting facts and not helpful in church management decision-making. In particular their record keeping has become non-existent or a confused mess. Some of the church activities calling for decision making are Tithe and Offering records, administration of members, Missions as the main focus, among others.
FEASIBILITY STUDY
Technical Feasibility
The church in the case study as it is currently, it has no personal computers. The aim then is to first computerize the church and then introduce the system to be used. The system requires only a modern personal computer to run. The system is simple enough to the administration with no technical difficulties.
Economical Feasibility
The major resource needed is a personal computer which must be bought in which case the church is capable of buying based on its current economic status. Other costs include
development and maintenance costs, which are affordable. The software to be used are readily available in the market, though the church will make effort to meet the costs thereof. Because the church is ready to do so, then this wont be an obstacle.
Functional Requirements
These refers to the necessary tasks, action or activities that the system must accomplish, or enable the user to do. The system should provide effective, efficient and easy to use search functionality with the following features:
Inputs
Church Member Personal Details Member Attendance records Member Discipline records Member Contributions Church Activities
Processes
User input validation Adding a member Keying in Member contributions Searching for a member using a specific criteria Querying the database to retrieve useful data Budget preparation Activities undertaken by members
Outputs
Search results: Member Details, Members Attendance records, Member Activities records A budget proposal Useful Information for use to help in allocating Members tasks and duties (Leadership). Useful Information for use to help in promotion of Members.
Results Display.
Results should be displayed in the user interface Only Relevant Results are displayed.
Hardware Interfaces
This application will use a Personal Computer
2. Availability: The system should be up and running whenever needed especially during office/working hours. 3. Security: The system should provide controlled access to various types of information. Only authorized users should access and modify data in the system. This is implemented by the use of database views. 4. Extensibility: The system functionality should be easy to extend to include features that will unfold in the future. 5. Adaptability and evolution: The system should provide flexibility and production of new versions suited for new environments and changing needs. 6. Performance Requirements: The application should not interfere with the general performance of the computer in use. When the system is running, other applications should be able to function in a normal manner, e.g. it should not slow down the computer or hinder the performance of other applications.
Constraints:
a) Cost: limited financial support provided by the university towards the project b) Hardware: one PC has been dedicated for the project. The problems and unreliability of mobile networks have direct effects on the speeds of connections. c) Time: Development time from analysis to design, coding testing software validation and documentation is limited to a short duration. d) Development effort: the entire development process is limited to only one developer, who my not be in position to deliver a perfect system with all the necessary factors put into consideration.
Data Sources
Prospective users of the system e.g. students who will be checking their results using Short Message Service. JKUAT. E.g. Information on how results are Stored from JKUAT System administrator.
Interviews
This is whereby the client is interviewed to establish exactly what is needed. The client in this case is the church management as well as the personnel who will be using the system.
Observation
The church management is observed as the clergy and the elders carry out their day to day activities. What is observed is analyzed to establish the user requirements.
Document review
The church records are analyzed to see how information concerning church members and other activities is stored and in which format they are kept. This is done so as to determine how the system is going to be structured.
Activity Sequence
Usually used to model use cases by describing the way groups of the objects interact to complete a task. The sequence diagram shown here below clearly shows how the various activities in a church scenario flow and follow each other.
Adding a Member
Below is a diagram that shows what happens when information concerning a new member needs to be added so as to be stored in the system.
BUILDING COMMITTEE MINISTERS SUPPORT MISSIONS SUPPORT OFFICE MAINTAINANCE MONTHLY TOTAL ANNUAL TOTAL ANNUAL SAVINGS TOTAL INCOME AND EXPENDITURE EXPECTED IN 2006 KSH 994000 Table 1: Church Budget proposal for 2007
Total Income generated was Ksh. 994,000. Notice in the budget the building committee is allocated an amount of 24,000 per month. The amount they are allocated depends on the
income generated as we shall see below. From this amount the building committee can answer the question: Do we proceed and build the proposed store facility? A Church Budget Proposal for 2008 TITHE OFFERING OTHERS TOTAL BUILDING COMMITTEE MINISTERS SUPPORT MISSIONS SUPPORT OFFICE MAINTAINANCE MONTHLY TOTAL ANNUAL TOTAL ANNUAL SAVINGS INCOME 720000 200000 580000 1,500,000 EXPENSES 0 0 0 0 80000 30000 14000 17000 68500 822000 172000
TOTAL INCOME AND EXPENDITURE EXPECTED IN 2007 KSH 994000 Table 2: Church Budget proposal for 2008
822000
Total Income generated was Kshs 1,500,000. Notice in the budget the building committee is now allocated an amount of 80,000 per month. The amount they are allocated depends on the income generated. From this amount the building committee can answer the question: Do we now proceed and build the proposed store facility based on the amount allocated to the committee? Note that the income levels are higher than the previous budget so more funds are allocated to the building committee which will help them to base their decisions on whether to build the proposed store facility.
DATABASE DESIGN
Description of CMIS Tables
Entities
Table Members Description Details regarding Members
Stores details pertaining to Member contributions Stores details of Activities assigned to Members Stores details regarding attendance Store details regarding discipline of members Stores details of church services Stores details for composing letters Table 3: Description of CMIS tables
INTERFACE DESIGN
Here, an example of the overall structure of two modules is given. These two modules are the members module and the financial module.
Members module
Financial module
CONCLUSION
In this chapter, Analysis and the design of the system has been looked at: the problem specifications, the functional and non functional requirements of the system in the analysis phase and overall conceptual structure of the system, UML diagram describing the design and functionality of the system, the database design and the interface. Final review and endorsement of the strategies presented by this document enable the developer to continue the implementation of the CMIS System.
SYSTEM IMPLEMENTATION
Introduction
This stage involves demonstrating clearly how the various aspects of the system function in co-relation with each other in order to achieve the outlined objectives. It involves mapping the design into a programming language the aim is to come up with a functional, an efficient, effective and easy to use Church system tailored for use in a mobile device in the access of Student Exam results for University students. In the JKUAT SMS Results System, the mobile device SMS Functionality at the front-end is the main means by which the user can access the system at the backend. At the back-end, the system is supported by an SQL database that feeds the front-end with the required data and information. This is the stage in the development process that deals with demonstrating clearly how the various aspects of the system function in co-relation with each other in order to achieve the given and/or outlined objectives. In other words, it involves translating the design into a particular programming language i.e. the actual coding of the system. The aim is to come up with a functional, an efficient, effective and easy to use system tailored for use in a church scenario to provide a good management system and secure system for the churchs records and any other information regarding the day to day operations of the church. System Implementation involves mapping the design to a programming language to show how the various aspects of the system co-relate with each other in the bid to achieve the stated objectives. The system contains a front end implemented using VB.NET and a backend implemented using Microsoft SQL
Implementation Justification
With its release for the .NET platform, the Visual Basic language has undergone the following dramatic changes: The language itself is now fully object-oriented.
Applications and components written in Visual Basic .NET have full access to the .NET Framework, an extensive class library that provides system and application services.
All applications developed using Visual Basic .NET run within a managed runtime environment, the .NET common language runtime.
.NET platform is one of the most popular and easy-to-learn language provided by the .NET framework. Particularly, the language has been used because it is easier to learn with programming knowledge of earlier versions of Visual Basic. The developer also has the knowledge of developing applications using the earlier versions of Visual Basic such as Visual basic 6.0. Microsoft SQL Server works efficiently as a backend when used with the .NET framework. It provides robust database capabilities. It is capable of handling a large number of users or very extensive databases.
Actual Implementation
There are six sections in this application: Membership,View, Financial, Tools, Setup and Help. MEMBERSHIP - is designed to help manage the Churchs members and their activities. VIEW is designed to enable restricted access of information to the user of the system i.e. the user can only view fields they are allowed to.e.g. details about age,special needs are ommited. FINANCIAL - is designed to keep track of all contributions or pledges that the Church receives from its members. TOOLS - is a collection of special tools that help aid in the operations of the Church. SETUP - is where initial information about the application and the Church is entered and unique functionality is performed. HELP - provides an extensive help documentation guide about the operation and features of the application.
Front-End Implementation
This is the part that allows the user to interact with the system in a user-friendly way and it contains the general information about the church of our concern.
It is at this point that the authorization of the user is done i.e. if the user is new to the system, he or she must register first, and if he has the permission to use the system, then s/he logs into the system. A screenshot of this form is as shown below.
Code
Create view ViewMemberDetails SELECT DISTINCT dbo.TableIndividual.FirstName,dbo.TableIndividual.LastName, dbo.TableIndividual.MemberNo AS Members_Number, dbo.TableIndividual.Gender, dbo.TableContributions.ConDate,dbo.TableContributions.Amount,dbo.Tab leContributions.Note FROM dbo.TableIndividualINNERJOINdbo.TableContributionsON dbo.TableIndividual.IDIndividual = dbo.TableContributions.IDIndividual CROSS JOIN dbo.TableActivityList
2. ViewMemberPledges View
Code
Create view ViewMemberPledges SELECT dbo.TableIndividual.MemberNo, dbo.TableIndividual.FirstName, dbo.TableIndividual.LastName, dbo.TableIndividual.Gender, dbo.TablePledges.PledgeDate, dbo.TablePledges.Category, dbo.TablePledges.Amount, dbo.TablePledges.Note FROM dbo.TableIndividual INNER JOIN dbo.TablePledges ON dbo.TableIndividual.IDIndividual = dbo.TablePledges.IDIndividual
Database structure
Individual Overview
The purpose of the Individual section is to provide detail information about each individual/member in the Church. Note that the combination of the first and last name is the primary key for the individual. Each individual must have a unique primary key. Duplicate primary keys are not allowed. The individual maintenance form maintains the list of all individuals. It also contains the search button that allows one to search for individual members. Below is a screenshot of this form.
sqlad.InsertCommand.Parameters(2).Value = TextLN.Text.Trim sqlad.InsertCommand.Parameters.Add(New SqlParameter("@MemberNo", System.Data.SqlDbType.VarChar, 20, "Member #")) sqlad.InsertCommand.Parameters(3).Value = TextMNO.Text.Trim sqlad.InsertCommand.Parameters.Add(New System.Data.SqlDbType.VarChar, 20, "FamilyMember")) SqlParameter("@FamilyMember",
Searching a Member
Below is a screen shot showing how to search information relating to a particular member. Following it is the sample code.
Dim SqlDataAdapter1 As New SqlDataAdapter() Dim SqlSelectCommand1 As New SqlCommand() BSearchStrEmpty = False If TxtSearch.Text.Trim = "" Then BSearchStrEmpty = True End If StrBrowseBy = CmbBrowseBy.Text If (Compare(StrBrowseBy, "Member Name", True) = 0) Then Result = 0 StrQuery = "SELECT DISTINCT MemberNo,FirstName,LastName,IDFamily,Status from TableIndividual " If Not BSearchStrEmpty Then StrQuery += "WHERE FirstName = '" StrQuery += TxtSearch.Text & "'" StrQuery += "or LastName = '" StrQuery += TxtSearch.Text & "'" End If ElseIf (Compare(StrBrowseBy, "Member No", True) = 0) Then Result = 1 StrQuery = "SELECT DISTINCT MemberNo,FirstName,LastName,IDFamily,Status from TableIndividual " If Not BSearchStrEmpty Then StrQuery += " WHERE MemberNo = '" StrQuery += TxtSearch.Text & "'" End If ElseIf (Compare(StrBrowseBy, "Member Status", True) = 0) Then Result = 2 StrQuery = "SELECT DISTINCT MemberNo,FirstName,LastName,IDFamily,Status from TableIndividual " If Not BSearchStrEmpty Then StrQuery += "WHERE Status = '" & TxtSearch.Text & "'" End If ElseIf (Compare(StrBrowseBy, "Family", True) = 0) Then Result = 3 StrQuery = "SELECT DISTINCT MemberNo,FirstName,LastName,IDFamily,Status from TableIndividual "
If Not BSearchStrEmpty Then StrQuery += "WHERE IDFamily = '" StrQuery += TxtSearch.Text & "'" End If Else Result = -1 StrQuery = "" End If DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SqlSelectCommand1 SqlDataAdapter1.SelectCommand.CommandText = StrQuery SqlDataAdapter1.SelectCommand.Connection = SqlConnection1 SqlDataAdapter1.Fill(DsDataSet, "SearchResults") LvwSearchResult.Items.Clear() Dim IntRowCount As Integer IntRowCount = 0 For Each DrRowPicker In DsDataSet.Tables("SearchResults").Rows Dim StrSearchRow As String() = {DrRowPicker(0), DrRowPicker(1), DrRowPicker(2), DrRowPicker(3), DrRowPicker(4)} LvwSearchResult.Items.Add(New ListViewItem(StrSearchRow)) IntRowCount += 1 Next If IntRowCount = 0 Then If (IntRes = 0) Then MessageBox.Show("Couldn't find any Individual of this Member Number.") ElseIf (IntRes = 1) Then MessageBox.Show("Couldn't find any Individual of this Member Name.") ElseIf (IntRes = 2) Then MessageBox.Show("Couldn't find any Individual of this Status.") ElseIf (IntRes = 3) Then MessageBox.Show("Couldn't find any Individual of this Family.") ElseIf (IntRes = 3) Then MessageBox.Show("Couldn't find any Individual with this activity.") End If End If SqlConnection1.Close()
Back-End Implementation
Microsoft SQL Server works efficiently as a backend when used with the .NET framework. It provides robust database capabilities. It is capable of handling a large number of users or very extensive databases. Implementation of the backend for CMIS has been done using MSQL server whereby a database comprising the various tables (as shown in the database design section) has been created.
User Testing
This involves testing the system manually using sample data and then viewing its output. Various users were called upon to test the system using sample data.
Individual Overview
To search for an individual, type in the search criteria in the text box called Search Text such as an individuals name. Then from the results, select a particular member and check attendance record or discipline record. Search by Member Number
Figure 15: Search Criteria: By member status Search by Member First Name or Last Name
Financial Overview
The Financial section is designed to keep track of all contributions and pledges that the Church receives from its members.
Contributions Overview
The purpose of the Contribution section is to provide a linkage of contributions to individuals. It also allows for the categorization of all contributions. The Contributions Maintenance window provides a listing of all selected contributions dates, amounts and individuals.
Introduction Evaluation and testing is an important part of your Mobile Web development process. Usability and accessibility tests gather data about the usability of your site by a group of users performing specific tasks. Heuristic Evaluation (originally proposed by Nielsen and Molich, 1990) is a discount method for quick, cheap, and easy evaluation of the user interface. The process requires that a small set of testers (or "evaluators") examine the interface, and judge its compliance with recognized usability principles (the "heuristics").
The goal is the identification of any usability issues so that they can be addressed as part of an iterative design process. Heuristic Evaluation is popular in Mobile Web development circles because it requires few resources in terms of money, time or expertise. So any developer can enjoy the benefits of usability testing - not just those with thousands to spend on a professional assessment. Heuristic Evaluation is characterized by:
Small test scenarios that use paper mock-ups or screen shots, which can easily be changed from one test situation to the next An informal basis for assessment that doesn't require psychologists A high success rate - so only a handful of testers are needed A few key guidelines.
2 3 4 5
N/A
3 4
Does each window have a title? Are vertical and horizontal scrolling possible in each window? If "exit" or log of is a menu choice, does it always appear at the bottom of the list? Color: up to four (additional colors for occasional use only) Are attention-getting techniques used only for
N/A Yes
yes
yes
yes
Are user actions named consistently across all prompts in the system?
yes
Do error messages provide appropriate semantic information? Do error messages indicate what action the user needs to take to correct the error?
yes
Yes
Error Prevention
Even better than good error messages is a careful design which prevents a problem from occurring in the first place. # Review Checklist If the database includes groups of data, can users enter more than one group on a single screen? Are data inputs case-blind whenever possible? If the system displays multiple windows, is navigation between windows simple and visible? Do fields in data entry screens and dialog boxes contain default values when appropriate? Yes No N/A yes yes N/A Comments Vacancies can be added repeatedly
1 2 3
yes
1 2
stacked vertically)? 3 Are all data a user needs on display at each step in a transaction sequence? Are prompts, cues, and messages placed where the eye is likely to be looking on the screen? Is there an obvious visual distinction made between "choose one" menu and "choose many" menus? Are optional data entry fields clearly marked? Are sizes, boldface, underlining, color, shading, or 7 typography used to show relative quantity or importance of different screen items? 8 9 10 11 Are borders used to identify meaningful groups? Has the same color been used to group related elements? Is color coding consistent throughout the system? Is there good color and brightness contrast between image and background colors? yes yes Yes N/A yes yes
yes
5 6
Privacy
The system should help the user to protect personal or private information- belonging to the user or his/her clients. # 1 2 Review Checklist Are protected areas completely inaccessible? Can protected or confidential areas be accessed with certain passwords? Yes No N/A yes yes Comments
yes
Summary
System testing and evaluation of the system is an integral part of system development. It ensures that the system delivers the output required by the user as specified in the implementation. It also helps to detect logic errors during implementation. The system was tested using search interface which retrieves members particulars based on the criteria used. The results are then used to know the specifics of the member such as member attendance record.
CONCLUSION
Introduction
The most important aspect of any management system is that it supplies users with alternate information that may be useful to them ensuring that the system is secure and safe at the same time. This information helps the users to make informed decisions that are necessary for the progress of the organization or institution. We have dealt with specification of the system, defining its scope, requirement specification, analysis of requirements, and implementation of the system and finally testing the system. All this stages have been efficiently covered to ensure a reliable and good performance system is developed. The system has the most important sections in operation.
Achievements
The following are the objectives achieved during Implementation: 1) Analysis, Specification and Development of a Church Management Information System (MIS) 2) Analysis, Specification and Development of a data management component used for Querying Member Details using certain criteria i.e. To determine who to make a church leader Extracting information to determine the growth progress e.g. Attendance Record
Constraints
The following are the difficulties that were faced during the development and actual implementation of the system: 1. Time Barrier To come up with a complex system like this required a lot of time to be invested in it. This lead to many sacrifices being made in other fields. 2. Knowledge of the extensive codes required to create the system proved so demanding and called for more time.
by furnishing pertinent information, thus creating human computer decision making system. This means better performance and reliability in administration of activities. The future means systems that can not only manage data and make decisions rather than help in the process of decision making. These are expert systems.
14. Group Decision Support Systems (GDSS) - Interactive computer-based system that facilitates solution to unstructured problems 15. Information Data that is processed 16. Information System - It is a collection of hardware, software, data, people and procedures that are designed to generate information that supports the day-to-day, short-range, and long-range activities of users in an organization. 17. Knowledge Base - It is essentially used to provide management advice or to choose products/services. 18. Model-Driven DSS - Uses model to perform what-if and other kinds of analysis 19. Semi-structured Decisions - A decision process which has both elements of structured and unstructured decision process 20. Sensitivity Analysis -- Asks what-if questions repeatedly to determine the impact of change 21. Spatial DSS - SDSS has been associated with the need to expand the GISystem capabilities for tackling complex, ill-defined, spatial decision problems 22. Specific DSS - a stand alone systems connected or not connected to an organizational MIS 23. Structured Decisions - Unambiguous and operational, and are non-conflicting decisions 24. Unstructured Decisions - Ambiguous and non-operational, or relatively operational but numerous and conflicting decisions 25. Web-Based DSS - Support decision-making process of an existing or potential customer 26. What-If Analysis - Asks what-if questions repeatedly to determine the impact of change
APPENDIX B References
http://www.umsl.edu/~sauter/DSS/book/design.html "Supporting Decision-Makers: An Expanded Framework http://dssresources.com/papers/supportingdm
"Creating an Effective Data-Driven Decision Support System", DSSResources.COM "Using a GIS as a DSS Generator", DSSResources.COM "Data, Data Everywhere", DSSResources.COM en.wikipedia.org/wiki/Decision_support_system (Power (2002) Types of DSS) http://citeseer.ist.psu.edu/379410.html "Chapter 7 Building Data-Driven Decision Support Systems" http://www-ksl.stanford.edu/KSL_Abstracts/KSL-91-45.html (Cost-Effectiveness of a Medical Decision-Support System: A Pilot Study) http://www.staff.livjm.ac.uk/bsnmyoll/DSS%20definition%20Summary.doc http://www.ait.unl.edu/siau/1997/mgmt457/lecture1.ppt
APPENDIX D Conventions
We've used a number of different styles of text and layout in this document to help differentiate between the different kinds of information. Here are examples of the styles we used and an explanation of what they mean. Try It Outs How Do They Work? The word CMIS has been used throughout this proposal to mean Church Management Information System References appear in text like this.(Italicized) Bullets appear indented, with each new bullet marked as in this text Important words are in a bold type font Figures are represented by the abbreviation (fig) Code has several fonts and colors. VB.NET classes and keywords are written in blue.
5. McCall, D. and J. Young, "Bringing Strategic Planning Online at Electrogrid", June 16, 2006, Web-based, model-driven group DSS. 6. MySQL Staff, "Cox Communications powers massive data warehouse with MySQL", March 23, 2007, Open source data-driven DSS for real-time operational support and management control. 7. Power, D., "Transforming GE Real Estate with Innovative Data-driven Decision Support", January 12, 2007 Web-based, Data-driven DSS and risk management decision support application. 8. Power, D. J. and C. L. Fletcher, "University of Northern Iowa Dining Services uses FoodPro", posted at DSSResources.COM June 3, 2005,. Integrated Information System with transaction processing and model-driven decision support subsystem. 9. SAS Staff, "Briggs & Stratton harnesses operational data", posted at DSSResources.COM December 2, 2005,. Global data-driven executive management system with scorecards. 10. Schwartz, K. D., "Decisions at the touch of a button", posted at DSSResources.COM August 19, 2005,. Information system with remote data collection, data warehouse and data-driven DSS. 11. Stellent Staff, "University of Alberta increases timely access to policies and procedures", posted at DSSResources.COM September 17, 2004,. Document-driven DSS and document management system. 12. Stevens, A., "Implementing the Redland Genstar Data Mart", posted at DSSResources.COM July 2, 2004,. Development of a data-driven DSS. 13. Stottler Henke Associates Staff, "PADAL helps US Navy aircraft land aboard carriers", posted at DSSResources.COM January 15, 2005,. Model-driven DSS prototype. 14. Tomaszewski, B., "Erie County Emergency Response and Planning Application Performs Plume Modeling", posted at DSSResources.COM March 6, 2005,. Modeldriven DSS integrated with a Geographic Information System (GIS), also called a model-driven, spatial DSS. 15. Tully, M., "E-Docs Asset GIS: Washington County, Iowa", March 6, 2006, . Webbased Spatial DSS with data and document-driven decision support subsystems.