ONLINE EMPLOYEE LEAVE MANAGEMENT SYSTEM
RUTH KWAMBOKA NYAMANYA REG NO: BIT – BIT-C006-0615/2013
A RESEARCH PROJECT PROPOSAL SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY FOR THE PARTIAL FULFILLMENT FOR BACHELORS DEGREE OF SCIENCE IN INFORMATION TECHNOLOGY OF JOMO KENYATTA UNIVERSITY OF AGRICULTURE AND TECHNOLOGY
i
DECLARATION This is to certify that this project report is submitted in partial fulfillment of the requirements for the degree of Bachelor of Information Technology; it embodies the bonafide work done by myself in the final semester of this degree under the supervision of the undersigned. The project or any other part of is my original work; it has not been submitted earlier to other University/Institution for the award of any Diploma or Degree.
Name: NANCY ORINA REG NO: BIT – C006-0578/2013
Signature: ____________________________
Date: ______________________
Approval This project has been submitted for examination with my approval as the University Supervisor
Name of Supervisor: Mr. Loki
Signature: ____________________________
Date: ______________________
(UNIVERSITY SUPERVISOR)
DEDICATION i
I would like to dedicate this thesis to my parents, Mr. and Mrs. Orina, who have been an everlasting source of inspiration in my life. I would not have been able to achieve what I have without their .
ACKNOWLEDGMENT
ii
I would like to express my heartfelt gratitude to my supervisor Mr. Loki for giving me the opportunity to work on this project and for providing constant and motivation. I would also like to thank my dad, mom, grandparents, and my entire family for the sacrifices they made to help me attend graduate school. I am very grateful for all their and motivation that they have provided for the past two years. I gratefully extend my sincere thanks to all faculties and to all teaching and non-teaching staff of the department. Sincere thanks are extended to my friends for their valuable advice and moral . My thanks are due to my parents and loving sister for their affection, inspiration, patience and .
ABSTRACT
iii
This project is aimed at developing an online leave management system that is of importance to an organization. The Leave Management System (LMS) is an Intranet based application that can be accessed throughout the organization or a specified group/Dept. This system can be used to automate the workflow of leave applications and their approvals. The periodic crediting of leave is also automated. There are features like email notifications, cancellation of leave, automatic approval of leave, report generators etc in this system.
Table of Contents DECLARATION.............................................................................................................. i DEDICATION................................................................................................................ ii iv
ACKNOWLEDGMENT................................................................................................... iii ABSTRACT.................................................................................................................. iv Table of Contents............................................................................................................. v List of Tables and figures................................................................................................. vii Definitions of Key ................................................................................................ viii Abbreviations and Acronyms.............................................................................................. ix CHAPTER ONE.............................................................................................................. 1 1.0
Introduction....................................................................................................... 1
1.1 Background of the Study............................................................................................ 1 1.2 Android Architecture................................................................................................. 2 1.3 Existing System....................................................................................................... 3 1.4 Proposed System..................................................................................................... 3 1.5 Statement of Problem................................................................................................ 4 1.6 Objectives of the Study.............................................................................................. 4 1.7 Motivation and Research Questions..............................................................................4 1.8 Significance of the Research....................................................................................... 5 1.9 Scope and Limitations............................................................................................... 5 1.9.1 Scope.............................................................................................................. 5 1.9.2 Limitations....................................................................................................... 6 CHAPTER TWO............................................................................................................. 7 2.0 LITERATURE REVIEW........................................................................................... 7 2.1 MOBILE PLATFORM.............................................................................................. 7 2.1.1 What is Android?................................................................................................... 7 2.1.2 Android Components.............................................................................................. 7 2.1.3 Activity............................................................................................................... 7 2.1.4 Services.............................................................................................................. 7 2.2 Android Application Features......................................................................................... 9 2.3 Setting Up The Android Environment............................................................................... 9 CHAPTER THREE........................................................................................................ 10 3.0 METHODOLOGY................................................................................................. 10 v
Introduction........................................................................................................... 10 Development Methodology........................................................................................... 11 3.2 Data collection...................................................................................................... 12 3.2.1 Interviews...................................................................................................... 13 3.2.1.0 Types of interviews......................................................................................... 13 3.2.1.1 Advantages of using an interview.......................................................................13 3.2.1.2 Disadvantages of using an interview....................................................................13 3.2.2 Observation....................................................................................................... 14 3.2.3 Secondary data collection techniques........................................................................14 Appendix I: Android API.............................................................................................. 15 APPENDIX II: GANT CHART..................................................................................... 15 Bibliography & References............................................................................................... 16
vi
List of Tables and figures Table 3.1. Function Names: Expenses Table...........................................................................17 Table 3.2. Function Name: Category Table.............................................................................18
Definitions of Key
Android – an operating system based on the Linux kernel, and designed primarily for touchscreen mobile devices such as smartphones and tablet computers. 4G – the fourth generation of mobile phone mobile communication technology standards. vii
Jelly Bean – Jelly Bean was an incremental update with the primary aim of improving the functionality and performance of the interface.
Abbreviations and Acronyms API – Application Programming Interface OS- Operating System IDE- Integrated Development Environment viii
CMMI- Capability Maturity Model Integration WRS- World Requirements Specification
ix
CHAPTER ONE 1.0 Introduction This project is aimed at developing an online leave management system that is of importance to an organization. The Leave Management System (LMS) is an Intranet based application that can be accessed throughout the organization or a specified group/Dept. This system can be used to automate the workflow of leave applications and their approvals. The periodic crediting of leave is also automated. There are features like email notifications, cancellation of leave, automatic approval of leave, report generators etc in this system. 1.1 Background of the Study Over the years, the internet has greatly changed the way people use computers and communicate today. Many Internet have become part of people's everyday language and e-mail has added a whole new means through which people can communicate. By the turn of the century, information, including access to the Internet, will be the basis for personal, economic, and political advancement. The best way to manage your employee leave and absence is to create and maintain an effective leave management where every process is automated. This will help you establish request and approval procedures, define and monitor staff's schedules and see when leave or absence has occurred. This is according to Leavewizard, (2012). According to Bille( 2013) electronic processing of leave and vacation applications eliminating the need to use lots of paper, a move that will cut on company budget. The manager benefits by being able to check on data touching on staff leaves and vacations whenever they want to. The manager can know which staff are on leave, the ones about to go on leave and the leave time that an individual employee has applied for. The system has been made in such away it is basic and can be learned and used by everyone irrespective of the area in the company that they work in and without any hardships. The system has three modules: 1. Staff module: logs in and applies for the leave 2. H.O.D module: In this module Head of the department will have permissions to look after data of every faculty member of their department. HOD can view data in the form of reports and get it in the form of print out. Reports can be displayed based on day, month. HOD can approve leave through this 1
application and he can view leaves information of every individual. In this module HOD can easily manage classes schedule for that day. 3. module: Will be responsible in maintaing all the employee details, employee leave record details, HOD leave record details in the database. 1.3 Existing System In the existing system Employees find it difficult to apply for leaves and vacations, especially those that have tasks that require a specific number of people to operate which is a very complicated process. First of all, there should be a way to determine if a specific employee has legitimate leave days to use. Second, leaves should be scheduled in a way that the normal operations of the business are not impaired. Finally, the personal views and emotions of the employee that is taking the leave as well as the atmosphere in the department he or she is leaving should be considered to foster cooperation and goodwill instead of anger and conflicts. 1.4 Proposed System This Software Requirements Specification provides a complete description of all the functions and specifications of the SST Online Leave Management System. The expected audience of this document is the business development manager BA, Service Delivery and Manager, including of the organization who will use this system. Anyone who has applied for leave will know the frustration of form-filling – and waiting as the hard copy travels up and down the approval hierarchy. This brilliant electronic leave management software with its powerful features, cuts out the physical movements and enables HR to have a bird’s eye view of the leave situation in the company, and make decisive, on-thespot approval decisions. There are many advantages of utilizing a web based leave tracking system: Eliminates paper based leave application forms Leave applications can be submitted online Leave applications can be approved online Both the leave applicant as well as the approver can view the remaining leave days as well as historical leave applications 2
Employees can easily: Apply for leaves online where upon submission; the supervisor will be notified via email that there is a leave to approve. View the number of remaining leave days View historical leave taken HR s can easily: Approve leave Reject leave Define day offs Define holidays Assign available leave days for each employee View a list of employees going on leave within a specified time period Define leave types such as annual leave, unpaid leave, comionate leave, etc. 1.5 Statement of Problem In the existing paper work related to leave management. Leaves are maintained using the attendance for the staff. An employee needs to submit their leaves manually to their respective authorities or department, this increases paper work and maintaing the paper work becomes a tedious exercise. Employees find it difficult to apply for leaves and vacations, especially those that have tasks that require a specific number of people to operate which is a very complicated process. First of all, there should be a way to determine if a specific employee has legitimate leave days to use. Second, leaves should be scheduled in a way that the normal operations of the business are not impaired. Finally, the personal views and emotions of the employee that is taking the leave as well as the atmosphere in the department he or she is leaving should be considered to foster cooperation and goodwill instead of anger and conflicts. The main objective of the proposed system is to decrease the paper work, Collision of dates with other employees under the same department, Changes in the work schedule and late payment of leave allowances due to wrong calculation of leave balances and help in easier record keeping by having a centralized database system where data will be maintained. The system will keep the records, decrease paper work and reduce chances of data loss. The system will allow employees and their managers to manage leaves and replacements for better scheduling of work load. . Research has found out that getting leaves in time is a major employee satisfaction factor and 3
employees who do not take enough leave suffer from stress or employees who take too much leave are careless towards job both have negative impact on their performance. 1.6 Objectives of the Study General Objective. The objective of this project is to develop an online leave management system that will allow the employees to apply for leave anywhere, anytime as long as they can access internet. Specific Objectives The following are the project objectives for the Leave Management System. 1. s will check number of days remaining to complete their leave. 2. Automation of the leave management system. 3. Will allow s to check for after the application has been made. 4. Allow s to check if he/she is eligible to get the leave. 5. The system should allow employee to create s with the system. 6. The system will allow employees who have created s to to the system, using their SSN and s.
1.8 Significance of the Research This system will increase data integrity in that only right person goes for the leave at the time that is allocated for him/her. It will offer better way of giving leave to the employees in that leave will be given to one employee at a time. It will be able to keep records of a particular employee who is on leave in order to avoid confusion of not knowing the particular employee who is on leave and for what reasons. This system will eliminate paperwork and reduce delay by enabling employees and supervisors to stop applications simply by entering the dates and type of leave being sought after the employee has received his or her entitlements.
1.9 Scope and Limitations 1.9.1 Scope The system is an online leave management system for leave applications review process usable in any organization and customizable to be used in different business environments. A dynamic database will be used to hold all leave applications details and keep data in a way that it can be 4
viewed by management to make prompt informed decisions on approvals and staffing levels. A simple interface will be in place making it easy and simple to use for all employees and management. A comprehensive documentation to assist in maintenance, customizing and adding more modules to the system.
1.9.2 Limitations 1. The system will only be used with employees who can get access to the internet because the system will be online. 2. The organization will also be forced to offer training to those employees who are computer illiterate thus adding some expenses to the organization.
CHAPTER TWO 2.0 LITERATURE REVIEW 2.1 MOBILE PLATFORM Mobile platform is an operating system for mobile devices. Some of the mobile devices operating systems are iOS, Bada, Android, Windows, and Blackberry, etc. 2.1.1 What is Android? Android is a software pile for mobile devices which includes an operating system, middleware components and other key applications. The Android SDK facilitates the APIs and tools needed to start developing applications on the Android platform. For Developing applications in Android the programming language used is Java programming language. 2.1.2 Android Components These are some of the Android components which are the major means by which Android application runs successfully without any interruptions. 5
2.1.3 Activity Android activity is represented by each individual screen within an Android application. can interact with activity by performing some actions which involves visual components. Example of an activity can be considered as a single webpage in a website. Each activity performs its operations independently of one another and all the activities in the application are an extension from the activity class. 2.1.4 Services Service is another component in Android application which performs its actions in the background to accomplish actions which take long time to run or remote processes tasks. Service is a component which does not possess interface. Consider an example where service can play music in the background when the is performing some operation in other application like checking an email or texting a message using SMS application or retrieve some information from the network without interrupting ’s actions within an activity.
2.1.5 Intents Intent is an application which initiates the message ing between the activities. Using intents messages can be broadcasted throughout the system or if it can also messages to a target activity or service, which states intended action requested by the or activity. Specifying an Intent-filter allows a to state how a particular activity in an application should be called.
2.1.6 Content Providers A content provider is a component which maintains a collective group of application data. All the application information or data can be stored in a SQLite database or file system, on remote web servers or on any storage location where the application can access the data. Using the content provider, other applications can process its queries and other related activities. This component mostly behaves like a database where s are given flexibility to edit its contents, query information needed, delete some data when not needed. The only difference between database and content provider is that using content provider s can store its data in different ways.
2.1.7 Broadcast Receivers 6
This component responds to system wide broadcast declarations. Any application which needs to receive or respond to global activities like SMS application, receiving an incoming call, it should have been ed as a broadcast receiver. Most of broadcasts come from the system for example, we can consider a broadcast statement like when battery is low it shows red colored battery symbol in the phone, when screen lock button is pressed the display will be turned off, when SMS is received its shows a message symbol at the top of the notification bar. Broadcast receivers doesn’t possess interface for broadcasting notifications instead they alert the s by showing the status of the application in the notification bar.
2.1.8 Applications All the Android packages by default comes with a bunch of core applications which includes an SMS application, Email application, calendar, maps, browser, s, GPS and others. All these applications are developed using the Java programming language.
2.1.9 Tools The Android SDK is Software Development Kit which allows developers to develop mobile applications in Android platform. Generally these tools are categorized into two groups, they are SDK tools and platform tools. Among these SDK tools are independent of the platform and these are mandatory for any mobile application which are developed in Android platform. The second most common tools are Platform tools which are modified or personalized to provide to the latest Android platform features.
2.2 Android Application Features Android offers several application features out of which the following mentioned features are the most effective and useful characteristics of Android applications: -
The Dalvik Virtual Machine has been upgraded to improve developing mobile devices applications framework enabling reuse and replacement of components.
-
GSM the Global System for mobile communications kind of telephony has been introduced.
-
A productive application framework has been developed which enables the application components to be reused and replaced.
-
Open source web kit has been integrated in the browser. 7
-
Custom 2D and 3D graphics libraries came to the market which are based on Open GL specification.
-
Structured data storage is ed by using SQLite database.
-
All the audio, video and image formats are ed in the new Android versions like MPEG, MP3, JPG, GIF, PNG and ING.
-
Hardware ive environment like Wifi, 3G, 4G, EDGE connectivity and Bluetooth are improved in the Android platform.
-
Development environment has been made popular by introducing device emulator feature Camera, GPS, com, and accelerometer (hardware dependent).
-
All other important features include accelerometer, camera, GPS, several different tools which helps in debugging the application, memory management and performance monitoring.
2.3 Setting Up The Android Environment Android Development environment can be set in any machine using Eclipse IDE. To develop an Android application the following tools must be installed in Eclipse.
8
CHAPTER THREE 3.0 SYSTEM DESIGN & METHODOLOGY 3.1 Introduction The methodology that is going to be adopted to develop the system is the V-Model. This methodology is widely used today especially in the defense industry. The software development life cycle will allow the process to have testing and coding as a parallel activity which enables the changes to be made more dynamically. The V-Model is originally developed from the waterfall process model. It is a classic software development model. This model has four main phases which are requirements, specification, design and implementation. This model also encapsulates the steps in verification and validation phases for each step in the SDLC. Implementation of modules is tested by unit testing, system design is tested by integration testing, system specification is tested by system testing and finally acceptance testing verifies the requirements met. One of the interesting characteristics of the V model is the ability to move backward which is it can revert to the analysis stage even though it is half way through the implementation stage. This will provide provider with the cushion if any error occurred V-model also allows the testing and coding process to be done parallel making it more dynamic than the waterfall model. The figure below shows the architecture of the V-model
9
Development Methodology Diagram of the V-Model
10
The various phrases of the V-model are as follows Requirements like BRS and SRS begin the life cycle model just like the waterfall model. But, in this model before the development started, a system test plan is created. The test plan focuses on meeting the functionality specified in the requirement gathering. The High Level Design (HLD) phase focuses on a system architecture and design. It provides overview of solution, platform, system, product and services/processes. An integration plan is created in this phase as well in order to test the pieces of the software systems ability to work together. The low level design (LLD) phase is where the actual software components are designed. It defines the actual logic for each and every component of the system. Class diagram with all the methods and relation between classes come under LLD. Component tests are created in this phase as well. The implementation phase is, again, where all coding takes place. Once coding is complete, the path of execution continues up the right side of the V where the test plans developed earlier are now put to use Coding: this is at the bottom of the V- shape model. Module design is converted into code by developers. Advantages of V-model: Simple and easy to use. Testing activities like planning, test deg happens well before coding. This saves a lot of time. Hence higher chances of success over the waterfall model. Proactive defect tracking-that is defects are found at early stage. Avoids the downward flow of the defects. Works well for small projects where requirements are easily understood. Disadvantages of v-model: Very rigid and least flexible Software is developed during the implementation phase, so no early prototype of the software are produced. When to use the v-model: 11
The v-shaped model should be used for small to medium sized projects where requirements are clearly defined and fixed. The v-shaped model should be chosen when ample technical resources are available with needed technical expertise. 3.2 Data collection In this section the researcher studied the existing system to establish this weak and strong points. The information acquired from this study gave the basis for the design of the new system. A number of steps, procedures and tools were employed as shown below: 3.2.0 Primary data collection techniques. It comprises of firsthand information collected by the researcher in this case observations and interviews were used to collect primary data. 3.2.1 Interviews During the study the researcher conducted face to face with few customers, employees and management in order to get more insight on the system and its implementation interviews are often more exploratory in nature, an allows for more flexibility since the interviewees have high response rate than written questionnaire and it is also suitable for use with both literate and illiterate. Examples of questions asked during the interview are: How is information stored after getting it from the customers? How is this information accessed in case it is required? How many customers visit the gym per day? What happens after the customers walks in? 3.2.1.0 Types of interviews Structured interviews- based on standard question written by hand that enabled the interviewer gain answers based on specific findings Unstructured interviews- using rapport building, this involved conversation that made it easy to obtain the feelings of the people, and firsthand information. Some questions were not predetermined and were asked impulsively. 12
3.2.1.1 Advantages of using an interview
If the respondent lacks reading skills to answer a questionnaire. Are useful for untangling complex topics. The interviewer can probe deeper into response given by an interviewee Interviews produce a higher response rate.
3.2.1.2 Disadvantages of using an interview
The interviewer can affect the data if he/she is not consistent. It is very time consuming. It is not used for large number of people. The interviewer may be biased and ask close questions.
3.2.2 Observation This technique was used to gather accurate information about how the current system operates and its processes from the organization. This involves systematically watching and recording the behaviour and characteristics of operations and processes. Although the method is time consuming, it gives more detailed and context related information and one can adapt to events as they occur. 3.2.3 Secondary data collection techniques This kind of data was obtained from books, journals and various materials from the internet. It is helpful in providing a baseline with which the collected primary data results can be compared to. Secondary data has a pre-established degree of validity and reliability enabling the researchers to make a comprehensive analysis of the study.
13
Appendix I: Android API
14
APPENDIX II: GANT CHART This will be used to indicate the time by which the project is expected to be completed. It has been summarized according to the number of days. Duration in days
5
20
1
36
Idea Generation Proposal Writing Presentation Research Implementation Prepare Documentation Final Presentation
15
33
12
1
Bibliography & References GOOGLE. (n.d.). Android Developers. Retrieved from http://developer.android.com/training/basics/firstapp/index.html DANYL BOSOMWORTH. (2015, Jan 15). Mobile Marketing Statistics 2015. Retrieved from http://www.smartinsights.com/mobile-marketing/mobile-marketing-analytics/mobile marketing-statistics/ Google Play. (2015, May 5). Retrieved from https://play.google.com/ Google. Inc. (2015 May 5). Android Studio Guide. Retrieved from http://developer.android.com/training/implementing-navigation/nav-drawer.html GEORGE MATHEW. (2013, Jan 15). GPS and Google Map in Android Applications – Series. Retrieved from http://wptrafficanalyzer.in/blog/gps-and-google-map-in-android applications-series/ Parse Android API Guide. (n.d.). Retrieved from http://www.parse.com/docs/android/api/ Parse Android Docs. (n.d.). Retrieved from https://www.parse.com/docs/android_guide ing Parse Push Notifications. (n.d.). Retrieved from https://parse.com/tutorials/android-push-notifications Internet Fax Service. (n.d.).Retrieved from http://www.metrofax.com/ GENMYMODEL. (n.d.). To design UML, Class and Sequence Diagrams. Retrieved from https://api.genmymodel.com/
16