You are on page 1of 111

THE ELDORET POLYTECHNIC

TRADE PROJECT

M c5 o is 0 . ic

TITLE : ELGON VIEW HOSPITAL PAYROLL SYSTEM SUBMITTED TO THE KENYA NATIONAL EXAMINATION COUNCIL IN PARTIAL FULLFILMENT FOR THE AWARD OF DIPLOMA IN COMPUTER STUDIES AUTHOR : LAGAT MATELONG MIKE INDEX NO : 509102/139 SUPERVISOR : MR.S . KORIR AND MR.TIONNY (LECTURES ELDORET POLYTECHNIC) SERIES : NOVEMBER / DECEMBER 2005

DECLARATION BY THE CANDIDATE The work herein is my original work and has never been presented for diploma or degree in any institution of higher learning SIGNED BY.DATE.

DECLARATION BY THE POLYTECHNIC SUPERVISORS This project has been submitted to the Kenya National Examination Council with my approval as the college supervisor. SIGNED BY .DATE.

ACKNOWLEGEMENT I wish to appreciate the effort made by my supervisors Mr. Tionny and Mr. S. Korir in trying to ensure that this project is a success. Their corrective guidance and teachings have contributed most. Great thanks goes to the management of Elgon View Hospital for giving me humble opportunity to carry out the feasibility study. Last but not least acknowledge the contribution made by my family members and my classmates. May the almighty shower blessings upon you all.

DEDICATION To my mum, dad, brothers and sisters. May the lord guide and protect you all. Let paradise be our destiny.

DECLARATION BY THE CANDIDATE...............................................................................................................................2 DECLARATION BY THE POLYTECHNIC SUPERVISORS...............................................................................................2 PREFACE............................................................................................................................................................................................8 CHAPTER ONE..................................................................................................................................................................................9 1.0 INTRODUCTION...............................................................................................................................................................9 PRESENT WORKING ENVIRONMENT............................................................................................................................10 ORGANIZATIONAL CHART...............................................................................................................................................10 ACTIVITIES OF THE ORGANIZATION.............................................................................................................................11 PROBLEM OF THE AREA OF INTEREST.........................................................................................................................12 FLOW OF THE PRESENT MANUAL SYSTEM...................................................................................................................12 IMPETUS OF THE PROJECT...............................................................................................................................................14 CHAPTER TWO..............................................................................................................................................................................15 SYSTEM INVESTIGATION REPORT.................................................................................................................................15 FEASIBILITY STUDY REPORT..........................................................................................................................................15 TERMS OF REFERENCE......................................................................................................................................................16 1.1.1 MEMORANDUM REPORT..........................................................................................................................................16 1.2 ANALYSIS OF THE CURRENT MANUAL SYSTEM.................................................................................................16 1.1.1 METHODS USED IN THE INVESTIGATION AND JUSTIFICATION....................................................................17 1.1.1 HOW INVESTIGATION WAS ACTUALLY DONE......................................................................................................18 1.1.2 RECORDING OF FACTS...........................................................................................................................................19 1.2 FACT FINDING REPORT...............................................................................................................................................19 1.2.1 FINDINGS OF DETAILED INVESTIGATION AND ANALYSIS................................................................................19 1.3 CONCLUSION BASED ON THE ANALYSIS OF FINDING TO COMPUTERIZE....................................................19 1.3.1 KALAMAZOO COPYWRITER PAYROLL SYSTEM....................................................................................................20 1.4 RECOMMENDATION...................................................................................................................................................22 1.4.1 PROPOSED SYSTEM.................................................................................................................................................22 1.4.2 MARGIN OF THE PROPOSED SYSTEM.........................................................................................................................................23 1.5 CONCEPTUAL DESIGN OF THE PROPOSED SYSTEM............................................................................................28 CHAPTER 3......................................................................................................................................................................................29 3.0 PROPOSED OBJECTIVES.............................................................................................................................................................29 CHAPTER 4......................................................................................................................................................................................30 4.0 DESIGN................................................................................................................................................................................30 4.1 DATA DESIGN.........................................................................................................................................................................30 4.1.1 Relational databases...................................................................................................................................................30 4.1.2 Composite logical data Design...................................................................................................................................33 4.1.3 Entire life history........................................................................................................................................................34 4.2 PROJECT PROCESSING MODULES -DETAILED NARRATIVES.................................................................................................................35 4.2.1 Inquiry processing......................................................................................................................................................38 4.2.2 Update processing......................................................................................................................................................39 4.2.3 Data capture...............................................................................................................................................................40 4.2.4 Report generators ..................................................................................................................................................41 4.2.5 Utility programs..........................................................................................................................................................41 4.3 PHYSICAL AND LOGICAL DESIGN................................................................................................................................................41 4.3.1 File specification.........................................................................................................................................................41 4.3.2 Database specification................................................................................................................................................42 4.4 SYSTEM DESIGN......................................................................................................................................................................42 4.4.1 System modular design................................................................................................................................................43 4.4.2 Input design................................................................................................................................................................44 Deductions design ...............................................................................................................................................................45 screen...................................................................................................................................................................................45

Employee design screen......................................................................................................................................................45 4.4.3 Output design..............................................................................................................................................................45 4.4.4 Processing design.......................................................................................................................................................47 4.5 PROGRAM LISTING...................................................................................................................................................................50 WORKER JOB GROUP...................................................................................................................................................................56 4.6 STRUCTURED ANALYSIS AND DESIGN METHODOLOGY (SSDAM)...................................................................................................84 4.6.1 Structure of SSDAM....................................................................................................................................................85 CHAPTER FIVE...............................................................................................................................................................................86 5.0 IMPLEMENTATION....................................................................................................................................................................86 5.1 INTRODUCTION.......................................................................................................................................................................86 5.2 TEST PLAN FOR THE PROJECT....................................................................................................................................................86 5.2.1 Test data......................................................................................................................................................................87 5.3 CARRYING OUT TESTING...........................................................................................................................................................88 5.3.1 Errors proof lists messages and statistics...................................................................................................................88 5.4 OBTAINING THE RESULTS..........................................................................................................................................................88 5.5 COMPARING THE RESULTS.........................................................................................................................................................89 5.6 EXECUTING ALL THE PROGRAMS IN THE SYSTEM..........................................................................................................................90 5.7 SYSTEM INSTALLATION AND REQUIREMENTS................................................................................................................................90 Elgon View Management System.......................................................................................................................................90 Installation procedure........................................................................................................................................................90 Disable all antivirus programs running on your system. If these utilities are left running during Setup, your system may stop responding. ..................................................................................................................................................................90 Run Scandisk to check and fix any problems with your hard disk(s)....................................................................................90 Close all running programs. This includes disabling any screen savers, Advanced Power Management settings, and other programs that may cause Setup to stop responding. ...........................................................................................................90 2. GENERAL SETUP ISSUES..............................................................................................................................................90 Disk Space requirements for Elgon View Hospital Management System Requires approximately 20 MB of free hard disk space, but may require as much as much as 30 MB, depending on your system configuration............................................90 5.7.1 Hardware....................................................................................................................................................................90 5.7.2 Software......................................................................................................................................................................91 5.7.3 Controls......................................................................................................................................................................91 5.7.4 Personnel....................................................................................................................................................................92 5.7.5 Site preparation..........................................................................................................................................................92 5.7.6 Data/documents flow diagrams...................................................................................................................................92 5.7.7 Activity cycle...............................................................................................................................................................92 5.7.8 Document frequency volume and distribution.............................................................................................................93 5.8 DATA CONVERSION.................................................................................................................................................................93 5.8.1 Training of employees and users, material used.........................................................................................................93 5.8.2 Change over plans......................................................................................................................................................94 5.8.3 Procedures and conversion.........................................................................................................................................94 5.8.4 File conversion method used.......................................................................................................................................94 5.9 HANDLING OF DISK STORAGE...................................................................................................................................................95 5.9.1 Diskette.......................................................................................................................................................................95 5.9.2 Hard Disk....................................................................................................................................................................95 5.9.3 Using Diskette.............................................................................................................................................................95 5.9.4 saving and backing up data.........................................................................................................................................95 CHAPTER SIX..................................................................................................................................................................................96 6.1 INTRODUCTION.......................................................................................................................................................................96 6.2.1 Input............................................................................................................................................................................96 6.2.2 Process........................................................................................................................................................................96 6.2.3 Output.........................................................................................................................................................................96 6.3 DOCUMENTATION ON PROGRAM DESIGN TOOLS.............................................................................................................................96 6.3.1program flowcharts .....................................................................................................................................................96 6.3.1 Flowcharts system symbols used.................................................................................................................................98

6.3.1 Other design tools.......................................................................................................................................................99 6.4 DOCUMENTATION ON CODING USED..........................................................................................................................................100 6.4.1 Coding plan...............................................................................................................................................................100 6.4.2 Coding system used...................................................................................................................................................100 6.5 DOCUMENTATION ON THE TEST PLAN........................................................................................................................................100 6.6 DOCUMENTATION ON THE TEST RESULTS...................................................................................................................................101 6.7 DOCUMENTATION OF THE USER MANUAL...................................................................................................................................101 6.7.1 Logging in and out of the system...............................................................................................................................101 6.7.2 Selecting menu functions...........................................................................................................................................101 6.7.3 Inputting and outputting in specific tasks..................................................................................................................101 6.7.4 File maintenance.......................................................................................................................................................101 6.9 DOCUMENTATION OF VARIABLES..............................................................................................................................................103 CHAPTER SEVEN.........................................................................................................................................................................103 7.0 LIMITATIONS, PROBLEMS AND FUTURE IMPROVEMENT..................................................................................................................104 7.1 PROBLEMS AREAS..................................................................................................................................................................104 7.1.1 Errors........................................................................................................................................................................104 7.1.2 Viruses......................................................................................................................................................................104 7.1.3 Power failure............................................................................................................................................................104 7.1.4 Hacking.....................................................................................................................................................................104 7.2 LIMITATIONS.......................................................................................................................................................................105 7.2 FUTURE IMPROVEMENT.........................................................................................................................................................105 CHAPTER EIGHT.........................................................................................................................................................................105 8.0 CONCLUSIONS.......................................................................................................................................................................105 8.1 DEGREE OF SUCCESS.............................................................................................................................................................106 8.2 LEARNING EXPERIENCE..........................................................................................................................................................106 8.2.1 Reaction to automation.............................................................................................................................................106 8.3BUDGET FOR THE PROJECT (COST AND TIME).............................................................................................................................107 8.4 DOCUMENTING SOURCES OF MATERIAL......................................................................................................................................107 APPENDIX 1...................................................................................................................................................................................107 SYSTEM USER MANUAL................................................................................................................................................................107 8.5 INDEX................................................................................................................................................................................110 BIBLIOGRAPHY...........................................................................................................................................................................110

PREFACE
The world is viewed as being multi dimensional. One greatest observation is that all the dimensions are experiencing rapid changes. Some changes are useful and others are destructive. The prime change here is that of computer technology. This change has led to a shift in the way we view and operate the world. There is migration of people from the traditional manual ways of operation to computerized operations. This is as a result of the benefits the computers have brought. This includes:- increased speed of operation, accuracy, cost effectiveness, increased throughput and so forth. Computer prices have been falling rapidly and software development has been improving and reducing in complexity. It is therefore possible for most relevant sectors in each organization to embrace this technology and improve on their performance. The most dire application of computers is in the areas dealing with finances. This is because if any wrong occurs whether purposeful or by chance, the organization might plunge never to rise.

CHAPTER ONE

1.0 INTRODUCTION
Elgon View Hospital is a private institution, which is owned by the shareholders. The institution was officially launched five years ago. Its purpose of existence is to offer medical services. The Hospital offers x-ray services, Laboratory services, pharmaceutical services, both major and minor surgical operations, maternity services, physiotherapy, nursing, consultation, guiding and counseling and other general medical services. Since its inception, the hospital has experienced a steady growth that has seen more staff recruited every now and then. The hospital currently has a total of 25 staff and 5 subordinate staff. The institution is benefiting the nation at large by bringing medical services close to the people and offering employment to its citizens. All in all it contributes to the economic growth of the nation. The institution due to its immense growth has been experiencing managerial problems because of the problem factors associated with manual management of the information system. Due to this and others, the management has decided to computerize the entire institution. This has led to the thought of the development of the computerized payroll system.

The system is hoped to eliminate the problems associated with the manual system and bring in the benefits of a computerized system like good security of data, accuracy, time etc.

PRESENT WORKING ENVIRONMENT


ORGANIZATIONAL CHART

SHARE HOLDERS

MANAGING DIRECTOR

RESIDENT DOCTOR

ADMIN/ACCOUNANT

MATRON

LAB TECH

X-RAY/ PHYTHERAPY

MED TECH

NURSE

ATTENDANT

NURSE AID

PHARMACONSULTANT CIST DOCTOR

CLERKS

SECRETARY/ RECEPTIONT

KITCHEN

LAUNDRY

ACTIVITIES OF THE ORGANIZATION


Elgon View Hospital is an organization whose main role is provision of medical services to the community. The types of medical services offered include: Major and minor surgical operations Pharmaceutical services

Laboratory services X-ray and physiotherapy services Nursing Consultation services Guiding and counseling Outpatient services Other general medical services

PROBLEM OF THE AREA OF INTEREST


The system deals with the processing of the employees salaries i.e. calculation of tax, deductions, net salary, and loan payment. The main problems faced by the current manual payroll system are: a)

b)

c)

d)

e)

f)

Salary processing: - It entails the calculation which lead to the deductions of n.h.i.f, p.a.y.e, n.s.s.f, tax, union and welfare contributions from the Gross pay to get the basic salary. The above involve arithmetic calculations and are thus prone to arithmetic errors. This makes the resultant output not accurate which in turn rise to dissatisfaction. All the manual processes take a lot of time. Storage problem: - The information concerning the employees and their salaries are kept in file cabinet. Successive filing of the hardcopy information leads to exhaustion of limited space. Retrieving of the information in the file cabinet is a tiresome and cumbersome procedure. Loss of the information through careless filing and security lapse is common when such storage system is employed. Portability: - Since information is kept as a hard copy in file cabinets, mobility of the same is strenuous. Bulkiness of the information material hampers its duplication and backup storage in a different location. Security: - It is very hard to impose tough security measures in files stored physically. Unauthorize access to the files can lead to direct exposure to the information or data. Removing a file or plucking a page is enough to temper with the information. The computer system on the other hand would employ effective security measures like use of passwords etc Report generation: - Report generation encompasses linking of various information from various files. Getting this information to link involves accessing all relevant files manually. This is a cumbersome activity and a lot of time is spent. Reports in this case are not generated in time. The greater the time span required for the report, the complex it is to generate the report. Error correction: - Error correction in the present manual system is a costly affair. Insertion, deletion, updating of records and files involves other extra materials e.g. printing materials. In the computerized system, error correction is done in the same material since the Harddisk surface can be erased.

FLOW OF THE PRESENT MANUAL SYSTEM


The information needed pertaining to each employee is submitted to the accounts department. The information details are as follows: Names of the employees Payroll number

Department Gross salary Deductions Contributions Job group / job category Tax code Agreements about pension payments in the organization scheme

The above information is entered and stored on a master file roll document. During the working period, the data that affect the status of the said information are captured and stored on another document called the transaction file. The clerks in the accounts department do this. At the end of the month, the data captured are processed manually by use of calculators incase of arithmetic calculations. This lead to the calculation of net salary and production of payslips and other relevant reports. The necessary amendments are effected and a new master document reflecting the present status of each employee is created. Report generation is done either on monthly, quarterly, yearly or when the management requires. The whole process of generating this report is manual.

Employees Details

Check Validity

Employee Details

Employees Details

Calculate Net Pay & update Files Old Loans & advance

Current System Flowchart


Old Deduction and Allowance File Write Pay slip To Employee

Is gross Salary Correct

New Loans & advance

New Deduction and Allowance File

IMPETUS OF THE PROJECT


The project gives the following benefits to the organization. Direct benefits go to the accounts department.

a) b)

c)

d)

e)

f)

g) h) i)

Increased processing speed: - The automated payroll system will process the employee salaries much faster than the way it was in the manual system. The employee will be paid in time. Reduction of payroll salary investment: - The number of staff in the accounting department is greatly reduced. This is because most of the processing is done by the computer payroll system. The overall production cost is thus reduced. Reduction of storage space: -The space required to store the relevant information is small compared to the manual system. The files containing the information are stored electronically in the computer system. The backups are stored in diskettes, Harddisk, or Compaq disks of which are small in size. The space created could be used for other useful purposes. Mobility and portability of the information: - Since the computers would be networked, the exchange of the information would be possible across the network. Human traffic from office to office would be reduced. Information can also be transported with ease from one location to another with ease by use of diskettes and flash disks rather than the hardcopy files. Information can also be emailed to a far place by use of Internet. Security and control of information: - Security is effected by use of passwords. The extend or the level of accessing the data can also be controlled. The secondary storage systems (Backups) are stored in a well-guarded locked room. Computer room should also be burglar proof. Reduction of redundancy: -All the information is stored on a database. The programs would only be retrieving the information from the database when need arises. Storage of same data in different places is highly reduced. Increased accuracy: - Calculation of the employee salary by use of a computer is with a high degree of accuracy. Human errors involving computation is avoided. Fast production of reports: - Reports are produced fast hence decision are made fast. Good analysis of information: - The information can be analyzed in a variety of ways i.e. graphically, tabular etc and comparison can be done with ease. This leads to sound decision making.

CHAPTER TWO
SYSTEM INVESTIGATION REPORT
FEASIBILITY STUDY REPORT The feasibility study was carried out on 2005 by the developer of the system. The study took a period of two months. The response from the highest level of management was good from the beginning to the end. The middle and the lower level offered some resistance due to fear of losing

their jobs. They gave in after thorough consultation involving the entire management. From then, they became cooperative and embraced the idea of the new system. The project was recommended to continue at the end of the feasibility study.

TERMS OF REFERENCE
The analyst will:a) Investigate the existing payroll system in the institution. b) Document the characteristics, deficiencies, and problems in the system. c) Determine where there is duplication of effort in the current system. d) Obtain and/or produce documentation of the current manual procedures. e) Identify the parts of the manual payroll processes suitable for automation. f) Produce a written report of the findings of the review which will be delivered to the managing director Elgon View Hospital on 28/05/05

1.1.1 MEMORANDUM REPORT


DATE: TO: DIRECTOR, ELGON VIEW HOSPITAL FROM: ANALYST, LAGAT MIKE SUBJECT: Details investigation of the current payroll system The present manual payroll system was studied and its limitation analyzed. I t is highly recommended that the new system be developed and adopted. The reason for the choice are as follows: Timely and concise reports are produced. Increased speed of payroll processing. Accuracy of data is realized. Storage and security systems of files is improved.

1.2 ANALYSIS OF THE CURRENT MANUAL SYSTEM


The strength and weaknesses of the current system were analyzed. The merits and demerits were also analyzed. Examples of the areas covered are: The functionality of the system. The processing speed. Response time. Costs Usability

Accuracy Robustness Effectiveness

1.1.1 METHODS USED IN THE INVESTIGATION AND JUSTIFICATION


The choice of the methods to be used was done basing on the following factors: The size of the population The time / duration set up for the feasibility study The constraints to be faced with when carrying out the investigation The scope of the project The nature and type of information to be sought The relevant literacy level of the population

On consideration of the above, the following methods were adopted.

INTERVIEW
Is a conversation with a specific purpose. It involves asking questions, getting the replies, and recording the findings. It involve three stages planning i.e. planning, conducting, and recording the interview. REASONS FOR THE CHOICE OF THE ABOVE METHOD Quick response:- the analyst obtain immediate response for the question. Incase further clarification is needed, it is easily obtained. b) Easy understanding :- Since both parties are in close conduct, it is easier to arrive at a common understanding. c) Reliable information is obtained :-The response to the questions emanate from the right person unlike in questionnaire where a different party could be answering it. d) Saves time and money :- the printing and mailing costs are avoided. The time spent conducting the interview is small compared with the time used preparing, sending, filling, and receiving questionares. e) Complete and accurate information is obtained. There is no limit to the range and depth of questions therefore one can obtain as much information details as possible
a)

Interview program - planning - conducting - recording the findings - analyzing the findings

number of hours

Total time

OBSERVATION
This involves observing the specific areas of interest to produce clues about why the current manual system is not functioning properly. The observation was done in the process of conducting the interview. The key areas observed were the way employees were lining up to be paid, the complains arising from wrong figures etc. REASONS FOR THE CHOICE OF THE ABOVE METHOD ARE AS FOLLOWS a) Reliable data obtained :- The analyst sees for himself the problems experienced by the current. The information obtained is real and chances of it being tailored is minimal. b) It is possible for the analyst to see or discover complex problems, which may be difficult to define or explain in words. c) Costs :- observation is relatively cheaper compared to other methods. d) Problems that may have been omitted or inaccurately designed by other methods can be picked.

SEARCHING RECORDS
Involves collecting sample forms, memos, documents and reports that relate to the system being investigated. This helps the analyst to assemble an accurate picture of the current system activities. REASONS FOR THE CHOICE OF THE ABOVE a) Basic background information concerning the current system are obtained. The information is obtained from the records searched. b) Related part of the system to be investigated and also who to be investigated can be determined by studying the organization charts. c) It aid the system analyst in designing interview questions and questionnaires. 1.1.1 HOW INVESTIGATION WAS ACTUALLY DONE A letter addressed to the managing director Elgon View Hospital from the head of computing and information technology department. It requested for permission to carry out the feasibility study. The hospital director on receipt issued a letter of notification and authority. This enabled the analyst to conduct feasibility study at the time convenient for both the analyst and the staff to be affected.

The convenient date for the interview was set after a brief visit to the institution. The analyst met with the parties to be interviewed, briefed them on the purpose and the scope of the interview. Some slight observation was done on the same day. Both open and close-ended questions were used for the interview. The input, process, output and report documents were studied. Observation date was done towards the end of the month when payroll processing was at its peak in order to experience the problems directly. The personnel interviewed were the financial officer, the clerks, and few other employees.

1.1.2 RECORDING OF FACTS The facts were recorded in text and graphical form during the interview on a notebook. The summary of the facts recorded was done immediately afterwards resulting in a meaningful text and graphical representation of the current system.

1.2 FACT FINDING REPORT


1.2.1 FINDINGS OF DETAILED INVESTIGATION AND ANALYSIS The problems the organization face with the current payroll system are as follows: a) Cost :- The management is spending a lot of money on paying the personnel to process the employee salaries. The errors produced by the current system is an added cost to the organization. b) Difficulty in updating loan status and making a follow-up of past payroll transactions. c) Storage problems: - The room housing the files is congested and is becoming almost impossible to create large room for storing the files. d) Time laps: - It takes a longer time to process salaries hence employees are often paid late. e) Loss of information :- Some crucial pages in the files sometimes get lost. This is due to carelessness or fraudulent deals. f) Redundancy :- There is duplication of certain information in the files and since the method is manual, it takes time preparing the documents.

1.3 CONCLUSION BASED ON THE ANALYSIS OF FINDING TO COMPUTERIZE

1.3.1 KALAMAZOO COPYWRITER PAYROLL SYSTEM It is a manual system. It provides four related records to be completed in one operation. The necessary analysis can be computed mentally or use of adding and calculating machines starting from individual earning records. ACTION: a) Summaries on departmental or sectional basis of the details leading to gross pay for each employee are obtained. Supervisors or departmental heads authorize this data. b) Copywriter board to control and align the necessary forms and records to be brought together. c) Sets of individual pay advice slips (10 or 18 to a set) are inserted on the copywriter and locked in position for use. d) Payroll record for each group of employee is now added to the copywriter, interleaved with carbon paper. e) Individual earning records (used for one year) is now superimposed (carbon interleaved) to enter details from the departmental summary. On completion any subsidiary records can be inserted and entered(e.g. pension record, loan payment etc). f) On completion of each set of records, totals are completed in the end right column and all cross casts and vertical casts proved. g) Final summarization and totals for all department is the n completed from the departmental payrolls by overlapping and cross totaling ready for nominal ledger. Cash and other ledger records. h) The cashier analyses cash requirements and prepares individual paypackets, separating the individual payslips and inserting these into pay envelopes, completing thereafter cash reconciliation. i) Supervisory controls and certified checks are made at each stage of the pay system ESTIMATED COSTS Capital costs (Kshs) Purchase of hardware.. 120,000 Development of the system.. 80,000 Operational costs cost per year (Kshs) Salaries (4 clerks) 480,000 Materials . 60,000 Total . 740,000 ESTIMATED SAVINGS AND BENEFITS a) Overtime for payroll employees Kshs 30,000 per year. b) Boost of the morale of the hospital employees.

ADVANTAGES a) The system is three times faster than the present manual system. b) The steps when followed establishes some kind of discipline in that things are done in a specific order. c) It is more accurate than the present system. It involves a lot of checks and verification. DISADVANTAGES a) The storage system is still on hardcopy files hence storage space is still an issue. b) location and relation of records is still a problem. c) Computation process is still manual.

ALTERNATIVE SOLUTION 2

COMPUTERIZED PAYROLL SYSTEM


ACTION: A computerized payroll system is adopted to replace the current manual system. RESULT: A fast and effective system. The lengthy manual procedures are replaced with automated one. The storage media and system is changed. The resultant system depict the current technology and has long lifespan. ESTIMATED COSTS Capital costs Hardware 120,000 Software development.100,000 Training .. 50,000 Operation costs per year (Kshs) Salaries (one clerk) 180,000 Materials 20,000 Maintenance 60,000 ESTIMATED SAVINGS AND BENEFITS Tangibles a) Overtime elimination Kshs 30,000 p.a. b) Reduction of two clerks Kshs 360,000 p.a. c) Reduction of errors and chances of fraud Kshs 60,000 p.a. d) Storage costs Kshs 50,000 p.a.

e) Space Kshs 18,000 p.a. Intangibles a) Employee satisfaction b) Better payroll management c) Benefits of the modern technology ADVANTAGES a) Accurate calculation of salaries b) Payments of the employees promptly c) Reduction in investment cost DISADVANTAGES a) Retrenchment of the clerks may create resistance b) The staff need to be retrained

1.4 RECOMMENDATION
After carefully weighing the attributes of the proposed alternative solutions, the computerized system that is alternative solution 2 was recommended. REASONS FOR RECOMMENDATION ARE AS STATED BELOW a) Provision of a more permanent solution to the problems discovered in the feasibility study. b) The computerized payroll system is cost effective in the longrun. c) The system offers a reliable data security. d) The system eliminates the cases of redundancy experienced in the manual system. This is made possible by use of the database. e) Improved storage system and eliminates space problems. f) The system is dynamic and is able to cope with the increasing number of employees.

1.4.1 PROPOSED SYSTEM


It is a creation of the modern technology . It provides a computer solution to the problems of the manual system. The manual processes are computerized and results in increased process execution speed, effective storage and manipulation of data.

1.4.2 MARGIN OF THE PROPOSED SYSTEM


TANGIBLE BENEFITS Benefits that can be quantified and assigned a monetary value; they include lower operational costs and increased cash flows. a. b. c. d. The proposed system will cut down cost on the following aspects Employee cost will employ 1 cashier instead of 3 at a cost of 15,000 per month each, thus Stationary. Save on stationary currently costing Shillings 50,000 per year Space. Smaller space will be required the current size which cost 3000 per month thus Storage: storage cabinets and files, currently costing 50,000 shillings per year

saving 2 employee for a whole year will be 360,000/= per year

saving 1500 per month which translate to Shillings 18,000 per year

INTANGIBLE BENEFITS Benefits that are not easily quantified; they include more efficient customer service or enhanced decision making. This translates to more customer satisfaction and better decision making.

The proposed system will have the following cost Total Cost of Ownership (TCO) Designates the total cost of owning technology resources, including initial purchase costs, the cost of hardware and software upgrades, maintenance, technical support, and training.
In order to determine the total cost of ownership (TCO) of an organizations technology assets, you will need to calculate the cost of the following components:

Hardware acquisition: Purchase price of computer hardware equipment, including computers, terminals, storage, printers this will approximately cost 150,000 Shillings Software acquisition: Purchase or license of software for each user, the total cost for off-the shelf programs will be approximately 60,000 with the custom made software costing 160.000 Shillings Installation: Cost to install computers and software. Approximately 50,000 Shillings Training: Cost to provide training to information system specialists and end users, 50,000 shillings Support: Cost to provide ongoing technical support, help desks, and so forth will cost approximately

65,000 shillings Maintenance: Cost to upgrade the hardware and software will cost 70000 Shillings Infrastructure: Cost to acquire, maintain, and support related infrastructure such as networks and specialized equipment (including storage backup units) will cost 20,000 Shillings a year Downtime: Lost productivity if hardware or software failures cause the system to be unavailable for processing and user tasks may cost up to 30,000 Shillings a year. Space and energy: Real estate and utility costs for housing and providing power for the technology will cost 1200 shillings

Initial Cost Software acquisition Hardware acquisition Infrastructure Training Total

Amount Continuos Cost Amount Benefits(saving) 150000 Space and 120000 Employees 150000 20000 50000 370000 energy: Downtime Maintenance Support 30000 70000 65000 285000 saving Stationary Storage Space

Amount 360000 50000 50000 18000 3478000

Pay Back Period Analysis

Cost of Running The Propose d syste m For 5 ye a rs 1st year 2nd year 3rd year 4th year 5th year 677000 584000 491000 398000 305000 Cost Of Running The Curre nt Syste m For 5 Ye a rs 1st year 2nd year 3rd year 4th year 5th year 586000 592000 595000 598000 605000

Curre nt Ve rse rs Propose d syste m 800000 700000 600000 500000 400000 300000 200000 100000 0
1s t year Cos t Of Running The Current Sys tem For 5 Years 677000 1s t year Cos t of Running The Propos ed s ys tem For 5 years 3rd year 491000 3rd year 5th year 305000 5th year
Cost of Running The Proposed system For 5 years Cost Of Running The Current System For 5 Y ears

Pay back period for the system will be 2.5 years from the date of installation. This is a good value of anybody money. Apart from a small cost incurred thereafter the benefits from the proposed system compared to current system are big and justifies the proposed system. COSTBENEFIT RATIO A method for calculating the returns from a capital expenditure by dividing total benefits by total costs. A simple method for calculating the returns from a capital expenditure is to calculate the costbenefit ratio, which is the ratio of benefits to costs. The formula is

Cost Amount

Total benefits=285000 per year*5 years Total benefits =1,425,000 1425000/776000=1.83

In the case of Elgon View Hospital, for a period of 3 years the costbenefit ratio is 1.83, meaning that the benefits are 1.83 times greater than the costs. The costbenefit ratio can be used to rank several projects for comparison. Some firms establish a minimum costbenefit ratio that must be attained by capital projects. The costbenefit ratio can, of course, be calculated using present values to account for the time value of money. Accounting Rate of Return on Investment (ROI) Firms make capital investments to earn a satisfactory rate of return. Determining a satisfactory rate of return depends on the cost of borrowing money, but other factors can enter into the equation. Such factors include the historic rates of return expected by the firm. In the long run, the desired rate of return must equal or exceed the cost of capital in the marketplace. Otherwise, no one will lend the firm money. The accounting rate of return on investment (ROI) calculates the rate of return from an investment by adjusting the cash inflows produced by the investment for depreciation. It gives an approximation of the accounting income earned by the project.

To find the ROI, first calculate the average net benefit. The formula for the average net benefit is as follows: useful life is 5 years with a depreciation of 10% at a constant rate. Depreciation=44700*10/100 Depreciation=44700*5 Depreciation==223500 Total Benefit=1310000

Net benefit = (1425000-44700-776000)/5 Net Benefit=120860/=

This net benefit is divided by the total initial investment to arrive at ROI. The formula is

ROI=485000/776000 ROI=0.0625 ROI=6.25 %

In the case of Elgon View Hospital, the average rate of return on the investment is 6.25 percent, which could be a good return on investment if the cost of capital (the prime rate) has been hovering around 6 to 8 percent. The weakness of ROI is that it can ignore the time value of money. Future savings are simply not worth as much in todays dollars as are current savings. However, ROI can be modified (and usually is) so that future benefits and costs are calculated in todays dollars. (The present value function on most spreadsheets will perform this conversion.) 1.1.1 PROPOSED SYTEM REPORT The need for the proposed payroll system is to aid in processing of employee salaries, printing of payslips and production of other reports. The system is to enable the organization do away with the current problems. The system is therefore targeted to benefit the organization economically and improve the operations of the organization specifically the accounting department. The system is to aid the organization in achieving its goals and objectives.

1.5 CONCEPTUAL DESIGN OF THE PROPOSED SYSTEM


11
Employee Details

Employee Details

Employee

Check Validity
Wrong Details

11 Check Loans Update Loans Loan Details Employee Details

Loans Details

Update advance & allowance

11

Advance Allowance File

Payslip Details

11
Calculate Pay & Update Pay File

Pay details File

Raise Payslip

C HAPTER 3
3.0 PROPOSED OBJECTIVES
THE PROPOSED SYSTEM IS DEEMED TO DELIVER THE FOLLOWING OBJECTIVES.

Design a system that delivers the functions required by the client to support the business objectives of the organization. Flexible: - The design should enable future requirements to be incorporated without much difficulty. The system should adapt to new changes in technology and operations of the firm. Maintainable: - The resultant system should be easy to maintain hence reduce the maintenance cost. Portable: - To produce a system that is capable of being transferred from one machine environment to another with the minimum amount of effort to convert it. Easy to use - The system should be user friendly easy to understand, not difficult to learn how to use and straightforward to operate. Reliable: - the developed system should be secure against human error, deliberate misuse or machine failure, and in which data will be stored without corruption. Secure: - the system should protect the confidentiality of the data .It should incorporate methods to restrict access to authorized users only e.g. by introducing passwords. Cost effective: - The system should deliver the required functionality, ease of use, reliability, security etc in the most cost-effective way.

C HAPTER 4
4.0 DESIGN
Systems analysis describes what a system should do to meet information requirements, and systems design shows how the system will fulfill this objective. The design of an information system is the overall plan or model for that system. Like the blueprint of a building or house, it consists of all the specifications that give the system its form and structure.

4.1 DATA DESIGN


All information systems create, read, update, and delete data. This data is stored in files and databases. To fully exploit the advantages of database technology, a database must be carefully designed. Database design translates the data models that were developed for the system users during the requirements analysis phase into database structures supported by the chosen database technology. Subsequent to database design, system builders will construct those data structures using the language and tools of the chosen database technology.

4.1.1 Relational databases


Regardless of which data store you choose, designing the database structure is likely to be the most challenging part of building the relational-database solution. In order to understand how the tables in the database should be structured and how they should relate to one another, you must understand the data. Although it is not difficult to modify the data model while you are developing the solution, it is much more challenging once your customers are using the solution. Therefore, it is important to put as much effort as necessary into the process of designing the data model before you begin writing code. One way to start is to think of all the questions this database must answer. The answers become the columns (or fields) in your tables. How many corporate customers do we have by country? This could require the following columns: customer, country. In addition to determining the columns in your tables, you must also set up the relationships between tables. Sometimes you may have what appears to be a straightforward one-to-many relationship that turns out to be much more complex.

Normalization The logical design of the database, including the tables and the relationships between them, is the core of an optimized relational database. A good logical database design can lay the foundation for optimal database and application performance. A poor logical database design can impair the performance of the entire system. Normalizing a logical database design involves using formal methods to separate the data into multiple, related tables. A greater number of narrow tables (with fewer columns) is characteristic of a normalized database. A few wide tables (with more columns) are characteristic of a non-normalized database.

The following fields need to be captured and are normalized as follows Field Name Departname DepartCode Position PositionCode Jobgroup Jobcode Jobamount Description Name of Department Code of department Worker position Position Code Name Of Job Group Name of student Pay for job group Data type size format String Integer String Integer string Integer Currency 20 20 20

Allowancecode Allowance name AllowanceAmount Advancecode Workername Workercode Pay Paydate Advancedate

Allowance code Allowance name Allowance to pay Advancecode Name of worker Worker id Net pay for worker Date worker paid Date of advance

integer String Currency integer String integer Currency Date Date

30 30 30

15

##.##.#### ##.##.####

Workers(Departname,DepartCode,Position,PositionCode,Jobgroup,Jobcode,Jobamount,Allowancecode,Al lowancename,AllowanceAmount,Advancecode,Workername,Workercode,Pay,Paydate,Advancedate)

One Normal Form Workers (Workername, Workercode, Pay) Pay(Departname,DepartCode,Position,PositionCode,Jobgroup,Jobcode, Jobamount,Allowancecode,Allowancename,AllowanceAmount,Advancecode, Workercode,Pay, Paydate,Advancedate,paycode)

Two normal forms Workers (Workername, Workercode, Pay) class(Departname,DepartCode,Position,PositionCode,Jobgroup,Jobcode, Jobamount,Allowancecode,Allowancename,AllowanceAmount,Advancecode, Workercode) Pay( Workercode ,paycode)

Paydetails(Pay, Paydate,Advancedate,paycode) Three normal forms Workers (Workername, Workercode, Pay,departcode) Pay( Workercode ,paycode) Paydetails(Pay, Paydate,Advancedate,paycode,jobcode) Department(Departname,DepartCode) Position(,Position,PositionCode) JobGroup(Jobgroup,JobcodeJobamount) Allowance(Allowancecode,Allowancename,AllowanceAmount) Advance(Advancecode, Workercode, advanceamount)

4.1.2 Composite logical data Design


Department

Allowance

Worker

Advance

Loans Pay

4.1.3 Entire life history


Are diagrams of processes that happen to an entity i.e data item are changed by events and functions with time.

Departments

Register

Amend

Delete

Payments Pay

Register

Amend

Delete

4.2 project processing modules-detailed narratives


Departments Registration module

Start

Enter Depart details

Depart code No=Last record+1

End

Job Group module

Start

Job Group details and amount paid

Job group No. = Last record + 1

End

This module will be used to register departments in the hospital e.g outpatient, maternity, ward etc. The second module will be used to register all the Job Groups and associated salary scale e.g. job group A, B C D etc.

Deductions Registration module

Start

Deductions details and amount

Deduction No=Last record+1

End

Module used to register types of deductions, E.g. NHIF, NSSF e.t.c and amount charged for each type of deduction.

Job Groups Deduction

Start

Enter Job Group code applied for

Search if job group is available

Allocate amount to type of deduction student

No job group Available

End

Job deduction allocation flowchart is used to determine the amount to be charged to every kind of job group. E.g. NHIF could be 100 for Job group A

Job Groups Allowance

Start

Enter Job Group code applied for

Search if job group is available

Allocate amount to type of Allowance student

No Job group Available

End

Job allowance allocation flowchart is used to determine the amount to be charged to every kind of job group. E.g. House allowance could be 1000 for Job group A

4.2.1 Inquiry processing


This include inquiry of workers, job group, advance allowance and loans taken by workers. To inquire enter the code to search and system automatically displays if found and error message is displayed if not. Other method of search is by moving forward or backward using record navigation buttons.

Inquiry Design

Start

Enter Item details to inquire for e.g. worker No, department code

Search item if available. If available dispay

Display details

No item Available

End

4.2.2 Update processing


Once data have been entered the program shall check if valid and if so shall update the details in the respective files.

UPDATE module

Start

While details are invalid

Update Details

End Invalid details

Input Design

4.2.3 Data capture

Elgon View Hospital


Workers Employment Form Name Id No Address Department Position Job Group Deduction

When employees are employed they are required to fill the above form to be entered to the system

Elgon View Hospital


Workers Advance Form Name Id No Date Amount

When an employee require an advance he will be required to fill in the above form and hand over to the accounts for processing

4.2.4 Report generators


Software that creates customized reports in a wide range of formats that are not routinely produced by an information system. Report generators facilitate distribution of processed information to the people who will use it or to the activities for which it will be used. Visual basic report generators are used; the reports produced are flexible and can be produced in a number of formats, and style. Reports produced include departmental Loans report, job group report and all workers list per department report.

4.2.5 Utility programs


System software consisting of programs for routine, repetitive tasks, which can be shared by many users. Utility programs used in this program include, copy utility, paste utility, save utility programs provided by windows operating system

4.3 physical and logical design


4.3.1 File specification
The file system used will be random access file; the file system will be able to access data items at equal ease. Relational Microsoft access database will be used.

4.3.2 Database specification


Relational database of Microsoft will be used for the development of the system for its ease of manipulation and ease to manage. The database can accommodate up to 2 Gigabytes of records.

4.4 system design


System design deals with Details how a system will meet the information requirements as determined by the systems analysis.

4.4.1 System modular design


The system will be subdivided into 5 major parts, Departments, Deductions, allowance, Job group, Employees, and advance. All the modules will have sub modules of add, edit and delete.

Salary system

Departments

Allowance

Job Groups

Pay

Add

Delete

Edit

Add

Edit

Delete

Add

Edit

Delete

Add

Edit

Delete

4.4.2 Input design


It involves capture or collection of raw data from within the organization or from its external environment for processing in an information system.
Main Menu Design

File
Depart Jobs Worker Deduct Allowance

View

Transactions Window
Advance Allowance Pay Loans

Help

Departments Design Screen

Depart No Depart Name Location No Workers Function

Add

Edit

Delete

Close

Deductions design screen

Deduction No Deduct Name Add Edit Close

Employee design screen


Employee No Employee Name Department Position Job Group

Add

Edit

Delete

Close

4.4.3 Output design


The distribution of processed information to the people who will use it or to the activities for which it will be used.

Employees Report

Job Groups Report

Loans Report Design

4.4.4 Processing design


The process will be able to do conversion, manipulation, and analysis of raw input into a form that is more meaningful to humans.

4.4.4.1 Processing design model

Pay processing

Start

Workers No

If Found Then

Pay=Jobgrouppay+ (allowance-loans advance)

Not Found

Display Pay

End

Register Advance/Allowance Details

Start

Allowance advance Details

Update Allowance/advance

End

Login Screen Name/Password

Start

Enter Password and Name

If Login True then

Main Menu room

Error

End

4.5 program listing


Main menu listings Option Explicit Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long Const EM_UNDO = &HC7 Private Declare Function OSWinHelp% Lib "user32" Alias "WinHelpA" (ByVal hwnd&, ByVal HelpFile$, ByVal wCommand%, dwData As Any) Private Sub MDIForm_Load() Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000) Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000) Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500) Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500) LoadNewDoc End Sub Private Sub LoadNewDoc() ' Static lDocumentCount As Long ' Dim frmD As frmDocument ' lDocumentCount = lDocumentCount + 1 ' Set frmD = New frmDocument ' frmD.Caption = "Document " & lDocumentCount ' frmD.Show End Sub Private Sub MDIForm_Unload(Cancel As Integer) If Me.WindowState <> vbMinimized Then SaveSetting App.Title, "Settings", "MainLeft", Me.Left SaveSetting App.Title, "Settings", "MainTop", Me.Top SaveSetting App.Title, "Settings", "MainWidth", Me.Width SaveSetting App.Title, "Settings", "MainHeight", Me.Height End If End Sub Private Sub mnuadvance_Click() frmadvance1.Show End Sub Private Sub mnuadvancer_Click() advance.Show End Sub Private Sub mnuallo_Click() frmallowance.Show End Sub Private Sub mnuallowance_Click() frmAllo.Show End Sub

Private Sub mnuallowancer_Click() Allowance.Show End Sub Private Sub mnuDeductions_Click() frmDeductions.Show End Sub Private Sub mnudepart_Click() frmDepartments.Show End Sub Private Sub mnugAll_Click() frmJoball.Show End Sub Private Sub mnuHelpAbout_Click() frmAbout.Show vbModal, Me End Sub Private Sub mnuHelpSearchForHelpOn_Click() Dim nRet As Integer 'if there is no helpfile for this project display a message to the user 'you can set the HelpFile for your application in the 'Project Properties dialog If Len(App.HelpFile) = 0 Then MsgBox "Unable to display Help Contents. There is no Help associated with this project.", vbInformation, Me.Caption Else On Error Resume Next nRet = OSWinHelp(Me.hwnd, App.HelpFile, 261, 0) If Err Then MsgBox Err.Description End If End If End Sub Private Sub mnuHelpContents_Click() Dim nRet As Integer 'if there is no helpfile for this project display a message to the user 'you can set the HelpFile for your application in the 'Project Properties dialog If Len(App.HelpFile) = 0 Then MsgBox "Unable to display Help Contents. There is no Help associated with this project.", vbInformation, Me.Caption Else On Error Resume Next nRet = OSWinHelp(Me.hwnd, App.HelpFile, 3, 0) If Err Then MsgBox Err.Description End If

End If End Sub Private Sub mnujdeduct_Click() frmJobDeduct.Show End Sub Private Sub mnujgroups_Click() frmJobGroup.Show End Sub Private Sub mnuJobs_Click() Jobs.Show End Sub Private Sub mnulevels_Click() frmUsers.Show End Sub Private Sub mnuloans_Click() frmLoans.Show End Sub Private Sub mnuloansr_Click() Loans.Show End Sub Private Sub mnuPay_Click() frmpay.Show End Sub Private Sub Mnupositions_Click() frmPositions.Show End Sub Private Sub mnureg_Click() frmWorkers.Show End Sub Private Sub mnurepay_Click() frmRepay.Show End Sub Private Sub mnuslevels_Click() frmLevels.Show End Sub Private Sub mnuUsers_Click() frmUsers.Show End Sub Private Sub mnusalary_Click() Salary.Show End Sub

Private Sub mnuWindowArrangeIcons_Click() Me.Arrange vbArrangeIcons End Sub Private Sub mnuWindowTileVertical_Click() Me.Arrange vbTileVertical End Sub Private Sub mnuWindowTileHorizontal_Click() Me.Arrange vbTileHorizontal End Sub Private Sub mnuWindowCascade_Click() Me.Arrange vbCascade End Sub Private Sub mnuWindowNewWindow_Click() LoadNewDoc End Sub Private Sub mnuViewWebBrowser_Click() 'ToDo: Add 'mnuViewWebBrowser_Click' code. MsgBox "Add 'mnuViewWebBrowser_Click' code." End Sub Private Sub mnuViewOptions_Click() 'ToDo: Add 'mnuViewOptions_Click' code. MsgBox "Add 'mnuViewOptions_Click' code." End Sub Private Sub mnuViewRefresh_Click() 'ToDo: Add 'mnuViewRefresh_Click' code. MsgBox "Add 'mnuViewRefresh_Click' code." End Sub Private Sub mnuViewStatusBar_Click() mnuViewStatusBar.Checked = Not mnuViewStatusBar.Checked sbStatusBar.Visible = mnuViewStatusBar.Checked End Sub Private Sub mnuViewToolbar_Click() 'ToDo: Add 'mnuViewToolbar_Click' code. MsgBox "Add 'mnuViewToolbar_Click' code." End Sub Private Sub mnuEditPasteSpecial_Click() 'ToDo: Add 'mnuEditPasteSpecial_Click' code. MsgBox "Add 'mnuEditPasteSpecial_Click' code." End Sub Private Sub mnuEditPaste_Click() On Error Resume Next ActiveForm.rtfText.SelRTF = Clipboard.GetText End Sub

Private Sub mnuEditCopy_Click() On Error Resume Next Clipboard.SetText ActiveForm.rtfText.SelRTF End Sub Private Sub mnuEditCut_Click() On Error Resume Next Clipboard.SetText ActiveForm.rtfText.SelRTF ActiveForm.rtfText.SelText = vbNullString End Sub Private Sub mnuEditUndo_Click() 'ToDo: Add 'mnuEditUndo_Click' code. MsgBox "Add 'mnuEditUndo_Click' code." End Sub Private Sub mnuworkers_Click() Workers.Show End Sub Hospital Departments Option Explicit Private Sub cmdAdd_Click() Dim newn As Integer If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!departno + 1 Else newn = 1 End If Data1.Recordset.AddNew txtFields(0).Text = newn txtFields(1).SetFocus DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If End Sub

Private Sub Cmdedit_Click() Data1.Recordset.Edit DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() Dim i As Integer txtFields(2).Text = user Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" otext.SetFocus Exit Sub End If Next Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified enableb End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line 'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action

Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select ' End Sub Public Sub DiasbleF() cmdAdd.Enabled = False cmdDelete.Enabled = False cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub Private Sub Form_Load() End Sub

Worker Job Group


Option Explicit Private Sub cmdAdd_Click() Dim newn As Integer If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!jno + 1 Else newn = 1 End If Data1.Recordset.AddNew txtFields(0).Text = newn txtFields(1).SetFocus

DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If End Sub Private Sub Cmdedit_Click() Data1.Recordset.Edit DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() Dim i As Integer txtFields(5).Text = user Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" 'otext.SetFocus Exit Sub End If Next

Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified enableb End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them

MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line 'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select ' End Sub Public Sub DiasbleF() cmdAdd.Enabled = False cmdDelete.Enabled = False cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub

Private Sub Form_Load() End Sub Job Group Registration Option Explicit Private Sub cmdAdd_Click() Dim newn As Integer If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!jno + 1 Else newn = 1 End If Data1.Recordset.AddNew txtFields(0).Text = newn txtFields(1).SetFocus DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If End Sub Private Sub Cmdedit_Click() Data1.Recordset.Edit DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() Dim i As Integer txtFields(5).Text = user Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" 'otext.SetFocus Exit Sub

End If Next

Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified enableb End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line 'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select ' End Sub Public Sub DiasbleF() cmdAdd.Enabled = False cmdDelete.Enabled = False

cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub Private Sub Form_Load() End Sub Job Group Allowance Option Explicit Dim db As Database Dim rs As Recordset Private Sub cmdAdd_Click() Dim newn As Integer If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!jdno + 1 Else newn = 1 End If Data1.Recordset.AddNew txtFields(0).Text = newn txtFields(4).Text = Date txtFields(1).SetFocus DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If End Sub

Private Sub Cmdedit_Click() Data1.Recordset.Edit DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() txtFields(1).Text = Val(Left(Combo1.Text, InStr(1, Combo1.Text, " "))) txtFields(2).Text = Val(Left(Combo2.Text, InStr(1, Combo2.Text, " "))) txtFields(4).Text = user Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" otext.SetFocus Exit Sub End If Next

Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified enableb End Sub Private Sub Combo1_Click() Dim i As Integer On Error Resume Next 'txtFields(1).Text = Val(Left(Combo1.Text, InStr(1, Combo1.Text, " "))) While Not Data2.Recordset.EOF Combo1.AddItem Data2.Recordset!jno & " " & Data2.Recordset!jname If Not Data2.Recordset.EOF Then Data2.Recordset.MoveNext End If Wend If Not Data3.Recordset.EOF Then While Not Data3.Recordset.EOF Combo2.AddItem Data3.Recordset!deductionno & " " & Data3.Recordset!deductname If Not Data3.Recordset.EOF Then Data3.Recordset.MoveNext End If Wend If Combo1.ListCount > 0 Then Combo1.ListIndex = 0 End If If Combo2.ListCount > 0 Then

Combo2.ListIndex = 0 For i = 0 To Combo2.ListCount 'Set rs = db.OpenRecordset("select * from jdeduct where jno=" & Val(Left(Combo1.Text, InStr(1, Combo1.Text, " "))) & " and jdeduct=" & Val(Left(Combo2.List(i), InStr(1, (Combo2.List(i)), " "))) & "") Data1.Recordset.FindFirst "jno=" & Val(Left(Combo1.Text, InStr(1, Combo1.Text, " "))) & " and jdeduct=" & Val(Left(Combo2.List(i), InStr(1, (Combo2.List(i)), " "))) & "" If Not Data1.Recordset.NoMatch Then Combo2.RemoveItem (i) Else ' If Not Combo2.ListCount - 1 = Combo2.ListIndex Then ' Combo2.ListIndex = Combo2.ListIndex + 1 ' End If End If If Combo2.ListCount = 0 Then Exit Sub End If Next i End If End If End Sub Private Sub Combo2_Click() Dim nu As Integer 'Data3.Recordset.FindFirst "deductionno=" & Val(Left(Combo2.Text, InStr(1, Combo2.Text, " "))) & "" 'txtFields(2).Text = Val(Left(Combo2.Text, InStr(1, Combo2.Text, " "))) End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line Data2.Recordset.FindFirst "jno=" & Val(txtFields(1).Text) & "" If Not Data2.Recordset.NoMatch Then Combo1.Text = Data2.Recordset!jno & " " & Data2.Recordset!jname End If Data3.Recordset.FindFirst "deductionno=" & Val(txtFields(2).Text) & ""

If Not Data3.Recordset.NoMatch Then Combo2 = Data3.Recordset!deductionno & " " & Data3.Recordset!deductname End If 'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select End Sub Public Sub DiasbleF() cmdAdd.Enabled = False cmdDelete.Enabled = False cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub Private Sub txtFields_LostFocus(Index As Integer) 'If txtFields(Index).Index = 3 Then ' Data3.Recordset.FindFirst "deductionno=" & Val(Left(Combo2.Text, InStr(1, Combo2.Text, " "))) & "" ' txtFields(5).Text = Data3.Recordset!itemprice * Val(txtFields(3).Text) 'End If End Sub

Private Sub Form_Activate() Dim i As Integer 'On Error Resume Next Dim db As Database Dim rs As Recordset 'Set db = OpenDatabase("F:\elgon\elgon.mdb") If Not Data2.Recordset.EOF Then While Not Data2.Recordset.EOF Combo1.AddItem Data2.Recordset!jno & " " & Data2.Recordset!jname If Not Data2.Recordset.EOF Then Data2.Recordset.MoveNext End If Wend End If If Not Data3.Recordset.EOF Then While Not Data3.Recordset.EOF Combo2.AddItem Data3.Recordset!allno & " " & Data3.Recordset!allname If Not Data3.Recordset.EOF Then Data3.Recordset.MoveNext End If Wend If Combo1.ListCount > 0 Then Combo1.ListIndex = 0 End If If Combo2.ListCount > 0 Then Combo2.ListIndex = 0 For i = 0 To Combo2.ListCount 'Set rs = db.OpenRecordset("select * from jdeduct where jno=" & Val(Left(Combo1.Text, InStr(1, Combo1.Text, " "))) & " and jdeduct=" & Val(Left(Combo2.List(i), InStr(1, (Combo2.List(i)), " "))) & "") Data1.Recordset.FindFirst "jno=" & Val(Left(Combo1.Text, InStr(1, Combo1.Text, " "))) & " and jdeduct=" & Val(Left(Combo2.List(i), InStr(1, (Combo2.List(i)), " "))) & "" If Not Data1.Recordset.NoMatch Then Combo2.RemoveItem (i) Else ' If Not Combo2.ListCount - 1 = Combo2.ListIndex Then ' Combo2.ListIndex = Combo2.ListIndex + 1 ' End If End If If Combo2.ListCount = 0 Then Exit For End If Next i End If End If 'Data2.Recordset.FindFirst "jno=" & Val(Data1.Recordset!jno) & "" 'If Not Data2.Recordset.NoMatch Then ' Combo1.Text = Data2.Recordset!jno & " " & Data2.Recordset!jname 'End If ' 'Data3.Recordset.FindFirst "deductionno=" & Val(Data1.Recordset!jdeduct) & "" 'If Not Data3.Recordset.NoMatch Then

' Combo2 = Data3.Recordset!deductionno & " " & Data3.Recordset!deductname 'End If

End Sub Deductions Option Explicit Private Sub cmdAdd_Click() Dim newn As Integer If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!deductionno + 1 Else newn = 1 End If Data1.Recordset.AddNew txtFields(0).Text = newn txtFields(1).SetFocus DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If End Sub Private Sub Cmdedit_Click() Data1.Recordset.Edit DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() Dim i As Integer txtFields(3).Text = user Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" otext.SetFocus

Exit Sub End If Next 'If txtFields(i) = "" Then ' txtFields(i).SetFocus ' MsgBox "please Supply Data", vbInformation, "Missing Data" ' Exit Sub 'End If Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified enableb End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line 'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select ' End Sub

Public Sub DiasbleF() cmdAdd.Enabled = False cmdDelete.Enabled = False cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub Private Sub Form_Load() End Sub Job Group Deductions Option Explicit Private Sub cmdAdd_Click() Dim newn As Integer If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!deductionno + 1 Else newn = 1 End If Data1.Recordset.AddNew txtFields(0).Text = newn txtFields(1).SetFocus DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If

End Sub Private Sub Cmdedit_Click() Data1.Recordset.Edit DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() Dim i As Integer txtFields(3).Text = user Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" otext.SetFocus Exit Sub End If Next 'If txtFields(i) = "" Then ' txtFields(i).SetFocus ' MsgBox "please Supply Data", vbInformation, "Missing Data" ' Exit Sub 'End If Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified enableb End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line

'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select ' End Sub Public Sub DiasbleF() cmdAdd.Enabled = False cmdDelete.Enabled = False cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub Private Sub Form_Load() End Sub Advance Option Explicit Private Sub cmdAdd_Click() Dim newn As Integer If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!advano + 1

Else newn = 1 End If Data1.Recordset.AddNew txtFields(0).Text = newn txtFields(4).Text = Date txtFields(5).Text = user Combo1.SetFocus DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If End Sub Private Sub Cmdedit_Click() Data1.Recordset.Edit DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() Dim i As Integer txtFields(5).Text = user txtFields(1).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) txtFields(1).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) Data2.Recordset.FindFirst "workerid=" & Val(txtFields(1).Text) & "" Data2.Recordset.Edit Data2.Recordset!deductions = Data2.Recordset!deductions + Val(txtFields(2).Text) Data2.Recordset.Update Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" otext.SetFocus Exit Sub End If Next

Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified enableb End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Combo1_Click() txtFields(1).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line 'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 Data2.Recordset.FindFirst "workerid=" & Val(txtFields(1).Text) & "" If Not Data2.Recordset.NoMatch Then Combo1 = Data2.Recordset!workerid & " " & Data2.Recordset!workername End If End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select ' End Sub

Public Sub DiasbleF() cmdAdd.Enabled = False cmdDelete.Enabled = False cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub

Private Sub Form_Activate() 'On Error Resume Next If Not Data2.Recordset.EOF Then While Not Data2.Recordset.EOF Combo1.AddItem Data2.Recordset!workerid & " " & Data2.Recordset!workername If Not Data2.Recordset.EOF Then Data2.Recordset.MoveNext End If Wend End If Data2.Recordset.FindFirst "workerid=" & Val(txtFields(1).Text) & "" If Not Data2.Recordset.NoMatch Then Combo1 = Data2.Recordset!workerid & " " & Data2.Recordset!workername End If End Sub Loans Option Explicit Private Sub cmdAdd_Click() Dim newn As Integer If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!Loanno + 1 Else newn = 1 End If Data1.Recordset.AddNew

txtFields(0).Text = newn txtFields(5).Text = Date txtFields(6).Text = user Combo1.SetFocus DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If End Sub Private Sub Cmdedit_Click() Data1.Recordset.Edit DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() Dim i As Integer txtFields(6).Text = user If Not ((txtFields(2).Text = "") And (txtFields(3) = "")) Then If IsNumeric(txtFields(2).Text) And IsNumeric(txtFields(3)) Then txtFields(4) = Val(txtFields(2)) / Val(txtFields(3)) End If End If txtFields(1).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" otext.SetFocus Exit Sub End If Next Data2.Recordset.FindFirst "workerid=" & Val(txtFields(1).Text) & "" Data2.Recordset.Edit Data2.Recordset!deductions = Data2.Recordset!deductions + Val(txtFields(2).Text) Data2.Recordset.Update Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified

enableb End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Combo1_Click() txtFields(1).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line 'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 Data2.Recordset.FindFirst "workerid=" & Val(txtFields(1).Text) & "" If Not Data2.Recordset.NoMatch Then Combo1 = Data2.Recordset!workerid & " " & Data2.Recordset!workername End If End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select ' End Sub Public Sub DiasbleF()

cmdAdd.Enabled = False cmdDelete.Enabled = False cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub

Private Sub Form_Activate() 'On Error Resume Next If Not Data2.Recordset.EOF Then While Not Data2.Recordset.EOF Combo1.AddItem Data2.Recordset!workerid & " " & Data2.Recordset!workername If Not Data2.Recordset.EOF Then Data2.Recordset.MoveNext End If Wend End If Data2.Recordset.FindFirst "workerid=" & Val(txtFields(1).Text) & "" If Not Data2.Recordset.NoMatch Then Combo1 = Data2.Recordset!workerid & " " & Data2.Recordset!workername End If End Sub

Private Sub txtFields_LostFocus(Index As Integer) If txtFields(Index).Index = 3 Then If Not ((txtFields(2).Text = "") And (txtFields(3) = "")) Then If IsNumeric(txtFields(2).Text) And IsNumeric(txtFields(3)) Then txtFields(4) = Val(txtFields(2)) / Val(txtFields(3)) End If End If End If End Sub Workers Option Explicit Private Sub cmdAdd_Click() Dim newn As Integer

If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!workerid + 1 Else newn = 1 End If Data1.Recordset.AddNew txtFields(0).Text = newn txtFields(1).SetFocus DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If End Sub Private Sub Cmdedit_Click() Data1.Recordset.Edit DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() Dim i As Integer txtFields(8).Text = user txtFields(7).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) txtFields(5).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" otext.SetFocus Exit Sub End If Next Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified enableb End Sub

Private Sub cmdClose_Click() Unload Me End Sub Private Sub Combo1_Click() txtFields(5).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) End Sub Private Sub Combo2_Click() txtFields(7).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line 'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 Data2.Recordset.FindFirst "departcode=" & Val(txtFields(5).Text) & "" If Not Data2.Recordset.NoMatch Then Combo1 = Data2.Recordset!departcode & " " & Data2.Recordset!departname End If Data3.Recordset.FindFirst "jno=" & Val(txtFields(7).Text) & "" If Not Data3.Recordset.NoMatch Then Combo2 = Data3.Recordset!jno & " " & Data3.Recordset!jname End If Data4.Recordset.FindFirst "pno=" & Val(txtFields(6).Text) & "" If Not Data4.Recordset.NoMatch Then Combo3 = Data4.Recordset!pno & " " & Data4.Recordset!pname End If End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete

Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select ' End Sub Public Sub DiasbleF() cmdAdd.Enabled = False cmdDelete.Enabled = False cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub

Private Sub Form_Activate() 'On Error Resume Next If Not Data2.Recordset.EOF Then While Not Data2.Recordset.EOF Combo1.AddItem Data2.Recordset!departcode & " " & Data2.Recordset!departname If Not Data2.Recordset.EOF Then Data2.Recordset.MoveNext End If Wend End If If Not Data3.Recordset.EOF Then While Not Data3.Recordset.EOF Combo2.AddItem Data3.Recordset!jno & " " & Data3.Recordset!jname If Not Data3.Recordset.EOF Then Data3.Recordset.MoveNext End If Wend End If If Not Data4.Recordset.EOF Then While Not Data4.Recordset.EOF Combo3.AddItem Data4.Recordset!pno & " " & Data4.Recordset!pname If Not Data4.Recordset.EOF Then Data4.Recordset.MoveNext

End If Wend End If Data2.Recordset.FindFirst "departcode=" & Val(txtFields(5).Text) & "" If Not Data2.Recordset.NoMatch Then Combo1 = Data2.Recordset!departcode & " " & Data2.Recordset!departname End If Data3.Recordset.FindFirst "jno=" & Val(txtFields(7).Text) & "" If Not Data3.Recordset.NoMatch Then Combo2 = Data3.Recordset!jno & " " & Data3.Recordset!jname End If Data4.Recordset.FindFirst "pno=" & Val(txtFields(6).Text) & "" If Not Data4.Recordset.NoMatch Then Combo3 = Data4.Recordset!pno & " " & Data4.Recordset!pname End If End Sub Login Program Listings Option Explicit Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long Public OK As Boolean Private Sub Form_Load() Dim sBuffer As String Dim lSize As Long sBuffer = Space$(255) lSize = Len(sBuffer) Call GetUserName(sBuffer, lSize) If lSize > 0 Then txtUserName.Text = Left$(sBuffer, lSize) Else txtUserName.Text = vbNullString End If End Sub

Private Sub cmdCancel_Click() OK = False Me.Hide End Sub Private Sub cmdOK_Click() Dim us As String Dim pass As String Data1.Recordset.FindFirst "username='" & txtUserName.Text & "'" If Not Data1.Recordset.NoMatch Then Data1.Recordset.FindFirst "Password='" & txtPassword.Text & "'" If Not Data1.Recordset.NoMatch Then OK = True

user = Data1.Recordset!USERID frmMain.Show Unload Me Else MsgBox "Invalid Password, try again!", , "Login" txtPassword.SetFocus txtPassword.SelStart = 0 txtPassword.SelLength = Len(txtPassword.Text) End If Else MsgBox "Invalid User Name, try again!", , "Login" txtUserName.SetFocus txtUserName.SelStart = 0 txtUserName.SelLength = Len(txtUserName.Text) End If End Sub

Loan Repayment Option Explicit Private Sub cmdAdd_Click() Dim newn As Integer If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast newn = Data1.Recordset!rno + 1 Else newn = 1 End If Data1.Recordset.AddNew txtFields(0).Text = newn txtFields(4).Text = Date txtFields(5).Text = user Combo1.SetFocus DiasbleF End Sub Private Sub cmdDelete_Click() 'this may produce an error if you delete the last 'record or the only record in the recordset If Not Data1.Recordset.EOF Then Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious End If End If End Sub Private Sub Cmdedit_Click() Data1.Recordset.Edit

DiasbleF End Sub Private Sub cmdRefresh_Click() 'this is really only needed for multi user apps Data1.Recordset.CancelUpdate enableb End Sub Private Sub cmdUpdate_Click() Dim i As Integer txtFields(5).Text = user txtFields(1).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) Data2.Recordset.FindFirst "workerid=" & Val(Left(Combo1.Text, InStr(1, Combo1.Text, " "))) & "" If Not Data2.Recordset.NoMatch Then txtFields(3).Text = Data2.Recordset!deductions - Val(txtFields(2).Text) End If Dim otext As TextBox For Each otext In Me.txtFields If otext = "" Then MsgBox "Please Fill In The Empty Data Box", vbExclamation, "Empty Fields" otext.SetFocus Exit Sub End If Next Data2.Recordset.FindFirst "workerid=" & Val(txtFields(1).Text) & "" Data2.Recordset.Edit Data2.Recordset!deductions = Data2.Recordset!deductions - Val(txtFields(2).Text) Data2.Recordset.Update Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified enableb End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Combo1_Click() txtFields(1).Text = Left(Combo1.Text, InStr(1, Combo1.Text, " ")) End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'throw away the error End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 'This will display the current record position 'for dynasets and snapshots

Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1) 'for the table object you must set the index property when 'the recordset gets created and use the following line 'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 Data2.Recordset.FindFirst "workerid=" & Val(txtFields(1).Text) & "" If Not Data2.Recordset.NoMatch Then Combo1 = Data2.Recordset!workerid & " " & Data2.Recordset!workername End If End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 'This is where you put validation code 'This event gets called when the following actions occur Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select ' End Sub Public Sub DiasbleF() cmdAdd.Enabled = False cmdDelete.Enabled = False cmdRefresh.Enabled = True cmdUpdate.Enabled = True cmdClose.Enabled = False Cmdedit.Enabled = False Cmdedit.Visible = False cmdRefresh.Visible = True End Sub Public Sub enableb() Cmdedit.Visible = True cmdRefresh.Visible = False cmdAdd.Enabled = True cmdDelete.Enabled = True cmdRefresh.Enabled = False cmdUpdate.Enabled = False cmdClose.Enabled = True End Sub

Private Sub Form_Activate() 'On Error Resume Next

If Not Data2.Recordset.EOF Then While Not Data2.Recordset.EOF If Data2.Recordset!deductions > 0 Then Combo1.AddItem Data2.Recordset!workerid & " " & Data2.Recordset!workername End If If Not Data2.Recordset.EOF Then Data2.Recordset.MoveNext End If Wend End If Data2.Recordset.FindFirst "workerid=" & Val(txtFields(1).Text) & "" If Not Data2.Recordset.NoMatch Then Combo1 = Data2.Recordset!workerid & " " & Data2.Recordset!workername End If End Sub

Private Sub txtFields_LostFocus(Index As Integer) If txtFields(Index).Index = 2 Then Data2.Recordset.FindFirst "workerid=" & Val(Left(Combo1.Text, InStr(1, Combo1.Text, " "))) &"" If Not Data2.Recordset.NoMatch Then txtFields(3).Text = Data2.Recordset!deductions - Val(txtFields(2).Text) End If End If End Sub

4.6 structured analysis and design methodology (SSDAM)


Builds up several views to the system, data used to cross check one another . it has 3 views

4.6.1 Structure of SSDAM


Stage 1 Problem definition

Phase 1 Feasibility study

Stage 2 Problem identification Stage 1 Analysis of operations & current Stage 2 Specification of requirements Stage 3 Selection of option

SSDAM

Phase 2 System analysis

Stage 4 Data design

Phase 3 System design

Stage 5 Process design


Stage 6 Physical design

C HAPTER

FIVE

5.0 implementation
Geared towards organizational activities working towards the adoption, management, and routinization of an innovation.

5.1 introduction
Exhaustive and thorough testing must be conducted to ascertain whether the system produces the right results. Testing answers the question, Will the system produce the desired results under known conditions?

5.2 test plan for the project


Testing The exhaustive and thorough process that determines whether the system produces the desired results under known conditions..

The amount of time needed to answer this question has been traditionally underrated in systems project planning. Testing is time consuming: Test data must be carefully prepared, results reviewed, and corrections made in the system. In some instances parts of the system may have to be redesigned. The risks of glossing over this step are enormous. Testing an information system can be broken down into three types of activities: unit testing, system testing, and acceptance testing. Unit testing, or program testing, consists of testing each program separately in the system. It is widely believed that the purpose of such testing is to guarantee that programs are error free, but this goal is realistically impossible. Testing should be viewed instead as a means of locating errors in programs, focusing on finding all the ways to make a program fail. Once pinpointed, problems can be corrected.
Unit testing The process of testing each program separately in the system. Sometimes called program testing.

System testing tests the functioning of the information system as a whole. It tries to determine if discrete modules will function together as planned and whether discrepancies

exist between the way the system actually works and the way it was conceived. Among the areas
examined are performance time, capacity for file storage and handling peak loads, recovery and restart capabilities, and manual procedures. System testing Tests the functioning of the information system as a whole in order to determine if discrete modules will function together as planned.

Acceptance testing provides the final certification that the system is ready to be used in a production setting. Systems tests are evaluated by users and reviewed by management. When all parties are satisfied that the new system meets their standards, the system is formally accepted for installation.
Acceptance testing Provides the final certification that the system is ready to be used in a production setting.

The systems development team works with users to devise a systematic test plan. The test plan includes all of the preparations for the series of tests we have just described.
Test plan Prepared by the development team in conjunction with the users; it includes all of the preparations for the series of tests to be performed on the system.

5.2.1 Test data


worker Details Name Kamau Julius Emily Lagat Id No 87670 1000 34455 10000 Department 01 M 02 F Job Group A B 9 Remark Saved Department cannot be a text Wrong Job Group Missing Field

Department Registration Department Name Wards Physiology Surgeonry Department Name 1 s 2 remark saved Missing field Wrong data Wrong data

5.3 carrying out testing


System testing will be carried down by the system analyst, programmer and the users, the designed data shall be entered into the system; invalid data will be rejected while correct data should be accepted by the system.

5.3.1 Errors proof lists messages and statistics


The program is error proof, it has error handling mechanisms at every procedure, messages friendlier to the user and understandable to them. Presence check Procedures dealing with update of data check on presence of required data items, this ensures that empty data fields are not saved, the message Please supply {missing data} the cursor moves to the required position and program execution is stopped in order for user to respond. Data type check The right kind of data should be entered to avoid errors and wrong data manipulation. The system checks on these aspects and in case any rule is violated, program execution is stopped and an error message is displayed, Please supply correct information the cursor moves to the violated entry point and wait for user respond. Navigation Record navigation causes errors when one goes past end and beginning of file, the system is able to detect this and instead of crashing generate an error message. you are at the
end of file.

5.4 obtaining the results


The results of registration, and processing of allocations are obtained by selecting view from the main program menu. The following reports were obtained.

Workers Report

Job Groups Report

Loans Report

5.5 comparing the results


Results of the test data is compared to the outputted report to ascertain if the system requirements were met or not. From this system the results show that only kiptoo was the only valid data item that fit into the system requirement of being allocated a room.

5.6 Executing all the programs in the system


System testing tests the functioning of the information system as a whole. It tries to determine if discrete modules will function together as planned and whether discrepancies exist between the way the system actually works and the way it was conceived. Among the areas examined are performance time, capacity for file storage and handling peak loads, recovery and restart capabilities, and manual procedures.

5.7 System installation and requirements Elgon View Management System Installation procedure
Disable all antivirus programs running on your system. If these utilities are left running during Setup, your system may stop responding. Run Scandisk to check and fix any problems with your hard disk(s). Close all running programs. This includes disabling any screen savers, Advanced Power Management settings, and other programs that may cause Setup to stop responding. 2. GENERAL SETUP ISSUES Disk Space requirements for Elgon View Hospital Management System Requires approximately 20 MB of free hard disk space, but may require as much as much as 30 MB, depending on your system configuration. Transfer all file from the floppy disk and select the setup icon by double clicking, the setup process will start and after approximately 2 minutes the setup process will be complete, restart the computer and from the programs menu select Elgon View Hospital Management System to Run.

5.7.1 Hardware
The system hardware requirement will be as follows. 1) Desktop computer of the following features

a) 1 gigahertz and above b) 2 gigabyte of storage space c) 128 megabytes of memory 2) Printer: Recommended printer is Hp Desktop 5550 series

5.7.2 Software
Operating system: windows operating system at least windows 98 and later version. Antivirus Program: Norton 2005 if supported by the operating system installed, otherwise Norton 2000 may be installed.

5.7.3 Controls
Computer systems are controlled by a combination of general controls and application controls. General controls govern the design, security, and use of computer programs and the security of data files in general throughout the organizations information technology infrastructure. On the whole, general controls apply to all computerized applications and consist of a combination of hardware, software, and manual procedures that create an overall control environment. Application controls are specific controls unique to each computerized application, such as payroll or order processing. They consist of controls applied from the business functional area of a particular system and from programmed procedures. Controls are used to control the type of data entered and maintain the integrity of data. Logical controls Data entry update is done. points. Incorrect data type prevented from being displayed or accepted to entry When data is entered, incorrect data is checked by the program before

Physical controls

Data access will be controlled from access by anyone, this is done by use of The data entry areas will be accessed only by authorized persons.

login password and user name

5.7.4 Personnel
The system will greatly reduce the number of manpower required to operate the Elgon View Hospital Management System. Though a skilled person with at least a certificate in computer operation can comfortably use the system with little orientation or Training.

5.7.5 Site preparation


The computer site required will be a room measuring at least 5 * 5 meters, well ventilated, and with a carpet to hold dust. The seats and tables recommended for this purpose should be computer table specially designed for computer purpose and so the seats which can be rotated and adjusted as it may be required.

5.7.6 Data/documents flow diagrams


The flow of documents will be as shown in the following diagram.

Worker

Pay Details Form

5.7.7 Activity cycle


The employee will be required to fill a form on employment which is entered to the system. Whenever employee takes an advance this is entered to the system, also loans and

any allowance due to employee. At the end of the month the employee basic salary is added to the allowance and subtracted from deductions and repay amount if taken any loan.

5.7.8 Document frequency volume and distribution


The type of documents required for workers pay are application form, advance form and every month a pay slip for every employee.

5.8 Data conversion


This is the process of changing from the old system to the new system. It involves transferring data from manual files to the new computer system for storage and transaction. This work will be done after training the staff and be done during the evening hours, not to disturb the normal working hours.

5.8.1 Training of employees and users, material used


Training Training program will be done as from 4 pm to avoid inconvenience to normal work, this will be done for a period of 2 months, the students for the program will be the Director, the accountant and the two cashiers. Syllabus The contents of the syllabus will be Windows operating system Basic computer knowledge Elgon View Hospital Management System Program

Manuals To make training easy and quick manuals shall be distributed to the concern parties detailing all the contents covered. Mode Lectures, practical and assignment mode of training will be applied.

5.8.2 Change over plans


Conversion is the process of changing from the old system to the new one. Four main conversion strategies can be employed: the parallel, the direct cutover, the pilot study, and the phased approach. A parallel strategy calls for both the new and old systems to be run together until everyone is assured that the new system functions correctly. The direct cutover strategy replaces the old system with the new one on a specific date. The pilot study introduces the new system to only a limited area of the organization. It is installed throughout the rest of the organization after the pilot version is complete and working smoothly. The phased approach strategy introduces the new system in stages, either by functions or by organizational units. A formal conversion plan provides a schedule of all the activities required to install the new system. The most time consuming activity is the conversion of data. After the new system is installed and conversion is complete, the system is said to be in production. Maintenance involves any further changes in hardware, software, documentation, or procedures to correct errors, meet new requirements, or improve processing efficiency. Maintenance is significantly reduced through better system analysis and design practices.

5.8.3 Procedures and conversion


The conversion process will start from departments, job groups, positions, job group deductions, job group allowance, advance, allowance, and lastly the employee details. This order is important for it allows consistency and integrity.

5.8.4 File conversion method used


Parallel Changeover method is preferred, in this strategy both the old system and its potential replacement are run together for a time until everyone is assured that the new one functions correctly. This is the safest conversion approach because, in the event of errors or processing disruptions, the old system can still be used as a backup. However, this

approach is very expensive, and additional staff or resources may be required to run the extra system.

5.9 Handling of disk storage


Involve the physical media and software governing the storage and organization of data for use in an information system.

5.9.1 Diskette
Removable magnetic disk storage primarily used with PCs.

5.9.2 Hard Disk


Magnetic disk resembling a metallic platter; used in large computer systems and in most PCs.

5.9.3 Using Diskette


Data needs to be stored in external devices as floppy disks in order to safeguard data in case the computer fails, the diskette should be kept away from the location of the computer, and kept in safe environment. Every after 6 hours it will be recommended that the copy of the database be transferred to the diskette.

5.9.4 saving and backing up data


Saving of data will be to the default hard disk C: to safeguard the data it will be required that external storage device be used to produce or keep a copy of the database.

C HAPTER

SIX

6.1 introduction
Throughout this first step on System clarification, System analyst must document everything they do. This includes writing objective specifications of the entire process being described. Documentation on the System consists of writing a description of the purpose of the System. Document should be prepared for users, operators, and owners of the system.

6.2.1 Input
Input of data include employee name, department name, job group, basic salary etc.

6.2.2 Process
Include searching the requested data item e.g. worker, advance and loans processing and pay processing.

6.2.3 Output
Report on workers registered displays all workers employed, departmental pay report displays all payments made, job groups report displays all available job groups and respective pay for the group.

6.3 documentation on program design tools


Are symbols used to diagrammatically display layout, and order of program and system flow of data and processes.

6.3.1program flowcharts

Terminal symbol

Used to show beginning and end of program

Computer Process symbol

Used to show a process: show computer process

Manual Process

Used to show a process: show manual process

Connector symbol: used to show connection to other process.

Manual Keying Show Manual Data entry

Punched Card Symbol Data entry by used of punched card method

Computer Process Direct access media

Magnetic Storage media.

6.3.1 Flowcharts system symbols used

Terminal symbol Used to show beginning and end of program

Process symbol

Used to show a process

Condition symbol

Decision symbol, show choices.

Connector symbol: used to show connection to other process.

6.3.1 Other design tools


Data flow diagram

Sink/Source

Show source of data, sink show destination of data

Process symbol

Used to show a process: show computer process

Store

Used to show a Store: Show Storage device

Used to show the direction of data flow or process

Arrow symbol: used to show direction of flow of data.

6.4 documentation on coding used


The code used is from 4th generation language, Visual Basic 6.0 program this happens to be the world current leading programming language, it is easy as in it creates friendly programs, Programs created by visual basic supports GUI and thus supported by windows.

6.4.1 Coding plan


Coding will start with the main menu options and followed by departments module, then job groups, modules and lastly the workers module, other are the advance, allowance and loans module which directly affect pay

6.4.2 Coding system used


The programming language used allows default modular design, this allows programs to be subdivided into modules.

6.5 documentation on the test plan


Prepared by the development team in conjunction with the users; it includes all of the preparations for the series of tests to be performed on the system. The program testing will be carried out at the end of program development to test the functionality of the program; this will be done by the programmer, system analyst and the user. Data shall be entered and results recorded and compared to expected results. After program testing system testing shall be done, system testing will be done, the system components shall be put in place the system test shall be done by all the parties to certify if or not the system objectives have been met.

6.6 documentation on the test results


The test results found from the test should be same as expected results, the results from the test showed that the expected output was correct.

6.7 documentation of the user manual


User manual is used by the user to note the order of program operations, on how to use the system and steps to follow. And what actions should be taken incase of errors.

6.7.1 Logging in and out of the system


After the welcome screen the login screen will be displayed, this screen requests the user to supply password and user name. To log out simply close the system

6.7.2 Selecting menu functions


Menu option is found in the first window after successfully logging in. To select options, select the menu option from the drop down menu list.

6.7.3 Inputting and outputting in specific tasks


Data input is done from the keyboard, to input data use Department window, Jobs groups Window, and Deduction window. . To out put select reports menu and select the kind of report to view or print..

6.7.4 File maintenance


This includes addition, editing, and deleting of data items and records. The program is able to add, edit or delete records.

6.9 documentation of variables


Field Name Departname DepartCode Position PositionCode Jobgroup Jobcode Jobamount Allowancecode Allowance name AllowanceAmount Advancecode Workername Workercode Pay Paydate Advancedate Description Name of Department Code of department Worker position Position Code Name Of Job Group Name of Job Group Pay for job group Allowance code Allowance name Allowance to pay Advancecode Name of worker Worker id Net pay for worker Date worker paid Date of advance Data type size Found String Integer String Integer string Integer Currency integer String Currency integer String integer Currency Date Date 15 30 30 30 20 Job Group Job Group Allowance Allowance Allowance advance workers workers workers workers advance 20 20 departments departments workers workers

C HAPTER

SEVEN

7.0 limitations, problems and future improvement 7.1 problems areas


This is possible problems that may affect the proper performance and functioning of the system.

7.1.1 Errors
The system is error proof, but incase of unexpected error the system will close and allow user to restart the program.

7.1.2 Viruses
Viruses are commonly spread by use of external diskettes, to limit this happening the diskettes from external computers will not be allowed into the computers, All softwares installed should not be pirated, thus all software installed will be original.

7.1.3 Power failure


Power failure will cause the department not to work and this may cause problems in areas of room allocation, to counter this a standby operator will be connected to the computer power supply and if there is power failure the generator will be switched on to provide power. To prevent power surges damaging the computer a Uninterruptible power supply will be installed. This will minimize the chances of damaging the computers.

7.1.4 Hacking
the computers will not currently be connected in a network and thus hacking through a network will not happen, however to prevent unauthorized access to the computer only authorized persons will be allowed, login password may be changed if one feels that someone else may have had access of the secret login password.

7.2 Limitations
A limitation of the program is that it cannot communicate with other systems e.g. finance and admission department and thus leading to duplication of data items and reducing the speed of the whole system

7.2 Future Improvement


System future improvement will include enhanced reports for various functions, enhanced search facility, and be networked to the Personnel office allow quick employee details transfer of data and sharing and so duplication of data in both personnel and account office will be reduced.

C HAPTER

EIGHT

8.0 conclusions
The system development has been challenging and time consuming, lack of experience and facilities were the major drawbacks. Otherwise the development was a success.

8.1 Degree of success


The system degree of success could be said to be 80 %. The system can easily process employees salaries in time with less errors, produce reports as and when needed, it can guarantee safety of data, possess good controls, and efficient way of doing work.

8.2 Learning experience


The whole process exposes one to the following. Hands on experience, at the end of the project one is able to have combined all the skills (at list most), of IT modules. And as a beginning gives one an experience of reality. Theory into practice Professionalism: able to follow rigidly the process of system development, through all stages.

8.2.1 Reaction to automation


User involvement in the design and operation of information systems has several positive results. First, if users are heavily involved in systems design, they have more opportunities to mold the system according to their priorities and business requirements, and more opportunities to control the outcome. Second, they are more likely to react positively to the completed system because they have been active participants in the change process itself. Incorporating the users knowledge and expertise leads to better solutions. Though much has been done to involve users, some users are still afraid of the new system being implemented, this is because of fear of losing jobs and unable to train and acquire new skills because they thought they were too old for a new system.

8.3Budget for the project (cost and time)


The Whole project cost is broken down as shown below
Item Computers (Pentium 4 HP) Printer Diskettes (100) Site Program (software) Personnel Total Cost 76000 25000 2500 30000 120000 120000 373500

Time allocation is 1 year, from day one to when the system will have been certified as working and well.

8.4 documenting sources of material


The materials used in the project include the following employees Form advance form

APPENDIX

System user manual


The system is run by selecting Elgon View Hospital Management System from the programs menu at the start Button. Once on, the introduction screen will be displayed followed by the login screen requesting for password and user name.

If correct password is entered then the system will load the main menu window. The main menu window has options from where you can select from. From the file menu one can select at a module for registration by clicking on it. The forms have got a common look where by it means once acquitted with one window the rest will apply. Welcome Screen

After the welcome screen will be the login screen which prompts for user name and password.
LOGIN SCREEN

Immediately after the Login screen if password and user name are correct the main menu screen Loads. Otherwise user is requested to reenter the password and user name until correct entry is made

Main Menu Screen

The main menu comes after entering correct name and password. From the main menu you may select from the menu items on what you may want to perform E.G worker form for entry of worker details, departments form for departments registration and job group form for number and kind of job groups. Apart from form you may also select reports menu on reports you wish to view. You may view or even print a report from this menu.

8.5 Index Bibliography


Programming in visual basic by case by Julia Case Bradeley and Anita C. Millspaugh. Software project management by E.M . Bennatan

You might also like