In presenting this thesis in partial fulfillment of the requirements for undergraduate degree from Limkokwing University of Creative Technology, I agree that the University Library may make it freely available for inspection. I further agree that, permission for copying of this thesis in any manner, in whole or in part, for scholar purposes may be granted by supervisor, in his absence, by the Dean of the Fuculty of Information and Communication Technology.
It is understood that any copying or publication or use of this thesis or parts thereof for financial gain should not be allowed without my written permission. It is also understood that due to recognition shall be given to me and to Limkokwing University of Creative Technology for any scholarly use which may be made of any material from my thesis. Request for permission to copy or to make use of material in this thesis, in whole or in part should be addressed to: Dean of the Faculty of Information and Communication Technology Limkowking University of Creative Technology Jalan Technokrat 1/1 3000 Cyberjaya Selangor Darul Ehsan Malaysia Abstract E-Leave is an online leave management system that allows users to apply for leave conveniently anytime and anywhere as long as there is an internet connection. E-Leave is designed to make application and approval as easy and simple as possible, with auto-routing for approval and online leave management capabilities. ? Acknowledgements I would like to express my gratitude and honors to the Almighty God who gave me all I needed before and during this project completion, more especially the life and wisdom he gave me to complete this project.
My sincere gratitude goes to my supervisor Madam Noris for her encouragement, ideas and support throughout the project. She was a good inspiration and a motivator to me when I was feeling down and depressed. I will like to thank my project coordinator Mr Tee Wee Jing for organizing this project for us students and making it to be a success Special thanks goes to Madam Nursyarizan Mr Rabi, Miss Azliza, and Miss Siti Fazilah who their help and guidance have made this project a success My special thanks go to my parents and my brothers for their continued support during my time in LimKokWing.
Finally, I will like to acknowledge all my friends who have contributed in one way or the other to help see that this project was a success. This proposal relates to the creation of an e-leave application system that allow workers to apply online anywhere they can reach internet and also coordinates the schedules of workers applying for leaves in an organisation. It will be an easy way to apply and keep accurate information about leave application in any organisation. . 1. 0Problem Statement My proposed project proposal is a web based application in which it will replace a paper leave application to e-leave application for Limkokwing university, among the problems were existing in the present university system are; ? Due process: this is the problems that exist when an applicant have to wait for a very long time for his/her approval of the application as a result of having to pass through so many approval procedures before coming out with the result of either the application have been approved or not ?
Data duplication: this happens when an applicant mistakenly applied for more than one time at the same period. ?Physical redundancy: this problems result when forms filled have to be re-entered into data sheet before going for approval. ?Lack of security issue: this leads to the lost of filled application forms and other valuable document by misplacing, natural or artificial disaster or they can easily be stolen by somebody because all information about the application are stored manually. 1. 2. 0 Problem Solving
So base on the above mentioned problems, below are some of the solutions I proposed: ? To develop web base leave application were an applicant can easily apply online anytime, anywhere on their own convenient. ?To establish a secure e-leave application for the university that can only be access by authorized applicant. ?To reduce physical redundancy and easy monitoring of information. ? As the proposed project will be a web base application it will help in minimizing bureaucracy. ?With the proposed system, data duplication will completely be eliminated. 1. 2. 1 What
E-leave system, is usually the case where an employee will apply for leave online and receive an approval or disapproval online or cancelling of the application, at the same time, the information is collected and used by members or staffs of the company to construct an employee’s database, The purpose of the system is to determine which employee applied for leave, what type of leave did he/she applied for, how many time have he/she applied, was it approved, what is the balance from his/her total leave and for the administration of the company/school to keep its records. . 2. 2. Why This system was developed to improve faults difficulties risen on the analysis conducted and it was discovered that the services rendered with the existing paper work is slow, stressing, insufficient, unreliable and inefficiency, so the employees/ workers and the organisation will find it easier to apply and manage all the leave applications 1. 2. 3. Whom The system will be a relief from all those drawback faults and for sure it will increase the services performance at any organization offering leave opportunities to their workers.
So the e-leave system process is extremely important to all organisation company. 1. 2. 4. Where The target organisation is any university or companies which would like to apply a real time system into their organisation, since nowadays all organisations go digital and computerised so as to reduce some inefficiency and redundancy in the work, thereby giving solutions to the problems of the organisations and the workers appreciate the undisputed convenience and reliability. 1. 2. 5. When The system development started midst 2009 and the project timeline shows that the system will be ready for delivery by midst 2010. . 3. 0 Aims and Objectives 1. 3. 1 Access Control An electronic leave application system is protected, allowing the users to log in with a username and password assigned to them by the system administrator(s). This is to prevent unauthorized users or inexperienced staff from accidentally deleting important information stored in the system or changing the settings of the system which can lead to system crash. On the other hand, the administrator has the privilege to create accounts for new users and set permission masks to limit their access to certain information. . 3. 2 User-friendly The system will be developed with a user-friendly interface such that anyone can easily lean how to use it to apply for their leave anytime anywhere conveniently. More so To develop an automated system for better management of Limkokwing University and any other organisation that will like to adopt e-leave for their workers. 1. 3. 3 Reduce Cost and Data input time The e-leave system will reduce the need for paper documents because most of the documents and data entry will be done electronically which can be constantly updated.
It also save the time of processing documents manually which provides employees with an easy and intuitive approach to data entry and information retrieval that was previously difficult. 1. 3. 4 Reduces duplication of duties The chances of manual data getting lost are a lot higher compared to automated data. When the manual data gets lost, there is a need to redo it all over again, probably from scratch, which will certainly take up a lot of time whereas database resources can always be recovered by doing backups regularly. It substantially cuts down on costly errors. 1. 4. 0 Project Scope
The electronic leave application system will have the following functionalities: 1. 4. 1 Security access level This system will have staff and administrator login, the administrator or the root user will have complete control of the system security and will have the authority to create new accounts for new staff or users and set permission masks (access level) to limit their access to certain information or limit their authority from carrying out certain functions. 1. 4. 2 Apply for Leave online Users can apply for leave online anywhere at any time so long there have internet around them 1. . 3 Reports Users can also view comprehensive reports generated by the system based on yearly, monthly and days about the previous application and the balance remaining in their accounts that include reports on the either applications are approved or not, showing date and time etc. 1. 4. 4 Data Input Allows users to easily add, edit update and delete report information and staffs’ information. 1. 4. 5 Database The systems will keep track of all the data input into the system and will store them in an open source relational database.
Key fields will be indexed to speed information retrieval, and use masks to improve validation and data input integrity. 1. 5. 0 Constraints ?This system is developed to provide user friendly so it would be easier for user to learn and use it. However, for some users that do not have computer background might face little difficulty. ?Due to rapid changes in hardware or software, the budgeted cost may go over estimated cost. ?The major constraint face during the implementation of this work was to integrate with finance department database.
This is among other frustrations such as program failures during modular construction stages. E. g. For the deduction of salary in case unpaid leave is applied. ?Due to time constraint, some additional feature such as integration with finance department for salary checking might not be included. ?Organizations that involved include users (applicant) and administrator. Organizations not involved include part time employees. (limitation) 1. 6. 0 Project Resources The following are the software and hardware equipments in the developing and running the system. 1. 6. 1 Hardware requiremen
Dell Vostro TM desktops are built specially for the unique needs of small businesses and are ready to be customised with the futures and software the users want. The vostro TM 200 slim tower is a compact, powerful and reliable desktop solution with a space-saving design that is optimised to meet user’s business demands, from basic productivity to high performance (Dell inc. 2008). ProcessorIntel Pentium Dual-Core Processor E 2180Operating SystemGenuine Window Vista Home BasicMemory512MB (1x512MB) DDR-2 SDRAMHard Drive160GB SATA Hard DriveOptical Drive16xDVD Burner 1. . 2 Software requirements Dreamweaver/PHP PHP, Hypertext Pre-processor, is a widely used, general-purpose scripting language at was originally designed for web development, to produce dynamic web. It can be embedded into HTML and runs on a web server. This needs to be configured to process PHP code and create web page content from it. (MySQL)MySQL is a comprehensive, integrated relational database system that enables organisations to manage information’s and complex business application (Microsoft 2008)1. 7. The deliverables During this project an electronic leave application system was developed for the university and any other company that will like to adopt the e-leave system in their organisation. The deliverables of the project is as follow: ? Software: An electronic leave application system that will allow users to apply for leave online anywhere they are at ease, add, delete and update information, they can also view users application status. Finally staff will receive an automatic e-mail report of either application is approved or not approved. Report: There will be a comprehensive report that covers various aspects of the SDLC phases, planning, analysis, design, coding and implementation surrounding the creation of the prototype. ?Documentation: A user manual is provided to help users easily lean how to use this system and this is in both hardcopy and softcopy formats. ?Diagram: A context diagram, Level – 0 diagram, Flowchart and Entity Relationship diagram (ERD) of the electronic leave system. ?Project plan: A gantt chart for constructing and testing the system as well as documentation of the whole project. 1. 8. 0 Conclusion
Electronic leave system is an online web based application system. It allows staff and all permanent workers to apply for leave online, get information about their leave histories, view application status and update their details. This application will have a friendly and interactive user interface. Electronic leave application system offers a wide range of options to fully customize it to fit customer needs. It provides customer with up to date information. To improve the system performance some new features will be added into the system and the system will be built using integrated flash to make it more interactive and attractive.
Electronic leave application system has some potential benefits, such as: it is low cost, easy access to the information, the system would store the data efficiently and effectively avoiding any redundancies or errors, and it is a user friendly system. ? CHAPTER 2 2. 0. 0 LITERATURE REVIEW 2. 1. 0 INTRODUCTION I have completed this report by two methods; the first one is by finding the information about existing e-leave application Online on the internet and the second one is by a research from book or any organization such as ,the schools, organization that apply e-leave for their staff.
In the course of my review to this project topic, I recapped, re-organized and re-shuffled all the important information such as the knowledge and ideas that have been established. By research on internet, I have initiated and learned more about electronic leave application. Much information I got from internet, includes the user interface, an existing e-leave application body or organization, their requirements, the software suitable for an online application, like PHP, ASP. NET, MySQL Server, the method to apply and so on, have given me a great insight thereby provoking the need to compares them.
For researches from books and organizations, I collected the information by visiting any library in Malaysia and the schools of which Limkokwing University of Creative Technology is among. The purpose of this research is to compare the information that I gathered and see the areas that there is limitation for me to improve on them especially within my scope. This research requires time and money for getting the information. The web has changed in current decades from being just a simple static information provider to what it is today; a dynamic connecting entrance to the world of education, news, sports, business, etc.
Web sites have changed from a collection of static pages containing text and maybe a few pictures, to more interactive and engaging websites. Web Developers now have tools available to them that enable them to implement animations, environment-sensitive content, embedded productivity tools and more in their websites. An Electronic Leave Application System (e-leave) provides many advantages to Universities, companies and organizations staff. This however, is not a new system; there are a number of universities and organizations currently providing this system to their staff, while some are still with the paper works.
This new system (e-leave) being developed strives to compete with these existing systems in terms of usage, understanding, simplicity in user interaction and security. Electronic leave application demands a server side scripting language and a database to provide a good, interactive system to the user. Research has been done on different available scripting languages and databases; along with interface design, and below are the findings. 2. 2. 0 Findings 2. 2. 1 Server scripting languages In my findings I discovered that there are a large number of different server-side scripting languages to decide from.
The predominant languages used today include: Hypertext Pre-Processor Protocol (PHP), Cold Fusion (CFM), and Microsoft web application framework (ASP. NET) etc. Comparing these languages we find out that they all have their individual strengths and weaknesses. The project requires one of these to be selected for its web application development. CMF is the first commercial server-side language developed. It uses Cold Fusion Mark-up Language tags to generate active web content. CMF is connectable to database that are ODBC-compliant, which includes databases such as Oracle and MySQL.
It is reputed to be the easiest web language of all. This can be attributed to the fact that Cold Fusion has built-in tags, which perform the most common tasks that web developers normally take on. Its simplicity is also one of its drawbacks. This drawback is that CMF does not have the flexibility other full programming languages such as Java has, because it is tag-based. PHP is an open source server-side scripting language that creates dynamic web pages for web applications. PHP is exclusive in that it allows programmers to implant PHP commands right into a HTML page.
PHP is easy to learn for anyone with basic programming skills. Its syntax is similar to that of C and Perl. PHP provides excellent Connectivity to a wide range of databases, including Oracle, myself, Sybase and other ODBC-compliant databases. This scripting language has some disadvantages. One disadvantage PHP has is that its troubles to be parsed by the server each time it loads. A simple solution to this is not incorporating PHP in the files that don’t need to be processed; in that case other non server-side scripting languages such as Ajax can be used. 2. 2. Comparing php with other languages Every server-side scripting language has its own strengths and weaknesses. When comparing CFM and PHP side by side some differences are notices. While CFM is platform dependant, PHP is platform independent; but you can run it anywhere you want. CFM’S cross Platform support is relatively limited, because its scripting language is primitive and does not support standard operator syntax or user-defined functions. Another difference is that CFM’S Scripting language is primitive but quite easy to learn, while PHP has an advance and flexible language.
CMF has adequate file handling support, has good try/catch functionality, making formal error handling possible. PHP on the other hand has complete file handling system support, has some try/catch functionality. One exceptional difference between the two is that PHP, because it is open source, is free to be used by anyone, while Cold Fusion you have to pay some charges to use. PHP and ASP. NET are the most competitive server-side scripting languages to date. When comparing ASP. NET with PHP we see that they differ primarily in speed, cost, programming style, cross platform support and database support.
PHP will always be the faster among them. This is because ASP. NET is built on Computer Object Model (COM) based architectures, which slows down things for ASP. NET. Cost is not an issue with PHP because it is free and open source, while there is cost involved with ASP. NET. A wide range of programming styles are available to ASP. NET users, which include Visual Basic, C#, Pearl and Python; with modular and procedural coding available to them. This is an advantage to users who might be better familiar with one language over another.
PHP however only supports an html ‘like’ language that has good support for both modular and procedural coding. PHP is not limited in any way to any platform; it can run on Windows, Linux and other operating systems. It is superior when compared to that of ASP NET, which requires a Windows operating environment to operate. Based on these findings I have chosen to program my electronic leave application using PHP. 2. 2. 3 Database The choice of database server used in the website is also important. There are many factors to consider when choosing the right database.
One factor to consider is the compatibility of the database server with the scripting language used. Not all languages can communicate with all databases. Other factors to be considered are; the speed at which the database should respond and the robustness of that database, the amount of access to a database can severely slow or even stop the functioning of the database. The expected amount of access per-second must be taken into consideration. There are many databases servers today, such as PostgreSQL, Oracle, MySQL and Microsoft Access. 2. 2. 4 Comparison Msql with other Database
In comparing MySQL with Postgre it can be seen that MySQL is favorable for a few reasons. One of these reasons is that it is faster. While PostgerSQL is slower, MyQSL is more suitable for web application use. MySQL also has fewer disconnections and core dumps than Postgre. Another advantage that MySQL has over Postgre is that MySQL has many functions available to alter a table, whereas Postgre only has a few altering table functions. However, it is not all pros for MySQL; it lacks in comparison to Postgre in terms of security and data integrity.
An advantage MySQL has over many other databases when it comes to deciding a database for this project, is it collaboration with PHP. PHP has special features designed for databases in MySQL, and both PHP and MySQL are free. For this reasons I made the choice to use them in my project (e-leave application system). 2. 2. 5 Security The World Wide Web is not a secure environment and even more so in recent times, since the electronic leave system is online, is therefore not secured for organization to allow their staff and company information through the e-leave application on the net.
However it has become a necessity for businesses to utilize this communication gateway if they will completely succeed in the global market. Businesses can protect their websites against web application vulnerabilities with simple and affordable services such as firewalls, intrusion detection and prevention systems. Unfortunately this is not enough to protect websites from today’s online application vulnerabilities. The alarming amount of businesses that experience data breaches continues to increase daily. Even the large US military companies are not exempted.
This is due to the activities of cyber criminals, which put sensitive business and personal information into the wrong hands. These actions done by hackers and other cyber criminals lead to problems such as identity theft, credit card fraud, etc. Billions of dollars have already been lost as a result. The five top web application vulnerability as reported by Web Application Security Consortium are as follows; Cross- Site Scripting, SSI Injection, SQL Injection, HTTP Response Splitting and Information Leaking, in that order.
It is believed that above 90% of all web applications are vulnerable to web attacks. In earlier years web hacking was new, and was done for exploration and experimentation. Currently the malicious targeting of web applications has become a business for cyber criminals. They exploit the weaknesses of the web for personal and monitory gain. This can be seen in the change from indifferent viruses and worms that only purpose would seem, is to cause damage; to the more sophisticated attacks that target specific groups or organizations.
Even big web sites such as the Department of Homeland Security and the United nations were subject to web attacks; specifically SQL-injection attacks. No website is too big or too small to be targeted, because exploitation for illegal gain can be done through just about any website. When a website is under attack, or threats are found that reveals vulnerabilities, it has three options open to it. The first option is to take down the website. Secondly they have the option of reverting to an older version of the website that is not open to that problem, if this is applicable.
The next option is to stay up while still being vulnerable to attacks. Lastly they can implement a virtual protection with a web application firewall. While these procedures are taking place, the problem must be fixed in the shortest amount of time. SQL-injection is one of the few web application vulnerabilities that can be prevented at the website development level. Some of the other web application vulnerabilities need to be dealt with at the server level. Websites that interact with users often use interactions from users to perform interactions with databases.
It is often assumed that theses inputs are legitimate and are used to perform SQL queries with databases. These websites are vulnerable to QUL-injection. This security threat exploits week validation, or the lack of validation of text inputted used to build databases queries. Applications typically used DB-API routines to communicate with databases. An example of this is the function “mysql(str,db)”, which is used in PHP to communicate with MySQL databases. The string containing the query is held in ‘str’ while ‘db’ is a database handler.
It is easy to identify these DB-API routines in PHP code. SQL-injection attacks occur when access statements are used without authorization. This is done by adding SQL code into an input statement. Authorization of database operator, such as UP-DATE, SELECT, etc, which allows users to add, view and edit data in a database, this should be granted based on login and authorization level run-time. These levels of security should be defined during the specification phase of a project before the application is built.
With PHP the web application can be automatically protected from SQL-injection. It is done by combining static analysis to test input of strings into PHP, dynamic analysis to build legitimate SQL queries that have the correct syntax and code re-engineering to project existing programs from SQL-injection. 2. 2. 6 Interface (GUI) To work with a system, users have to be able to know and control the system, they have to be able to assess the state of the system and be able to accomplish their goals.
For example, to drive an automobile, the driver uses the steering wheel to control the direction of the vehicle, and the accelerator pedal, brake pedal and gearstick to control the speed of the vehicle. The driver perceives the position of the vehicle by looking through the windscreen and exact speed of the vehicle by reading the speedometer. The user interface of the automobile is on the whole collection of the instruments the driver can use to accomplish the tasks of driving and maintaining the automobile, likewise the interfaces of an electronic leave application.
When a person enters a website they only have the interface to direct them as to what to do. The interface has to be clear so that the user can understand where to get the content they desire. Interfaces should also be attractive so that users stay focused on the website and are provoked to use it. When designing a website that its purpose is for communication, you must consider what the audience’s goals and expectations are. The questions can be asked; “What are you saying” “To whom are you saying it to? ” and “Why are you saying it? this is to get the goals of the users. If these questions are answered earlier in the development, it will help to keep a web project on track and help establish the tone of the website. In designing a website it must also be noted that a website can only be used if it is understood. It has to be interactive and very effective in communicating. The better a website communicates with its user the easier it is for that user to understand the message intention from the website. Users generally appreciate a website more when it’s easier to understand.
The e-leave application shears the same type of web user interface, therefore it need a user friendly interface. The design of a Web User Interface is a serious issue and the methodology behind it is often problematic. Web User Interface however defines how usable a website is. Problems can arise if the target audience does not participate earlier in the web design. This can result in no specific definition of user requirements, causing problems that results in not giving the users what the user would like to see on the site, but what the owner or designer would like to see. 2. 2. 7 E-Commerce
Simply put, e-commerce is the online transaction of business, featuring linked computer systems of the vendor, host, and buyer. Electronic transactions involve the transfer of ownership or rights to use a good or service. Most people are familiar with business-to- consumer electronic business (B2C). Common illustrations include Amazon. com, llbean. com, CompUSA. com, travelocity. com, and hotels. com. E-commerce can be divided into: ?E-tailing or “virtual storefronts” on Web sites with online catalogs, sometimes gathered into a “virtual mall” ? The gathering and use of demographic data through Web contacts ?
Electronic Data Interchange (EDI), the business-to-business exchange of data e-mail and fax and their use as media for reaching prospects and established customers for example, with newsletters. ?Business-to-business buying and selling (B2B) E-commerce is the vital concept of creating this website, information technology has helped simplifying the ways of getting information and proposals from one human being to another as well as helping them do business together. The electronic commerce represents the process of selling, buying or changing products, services and information by means of computer networks.
Consumers need to know the facts about the agreement concluded through electronic means in order to fully understand the rules and regulations. Firstly, the concurrent presence of all the contracting parties is not required due to the fact that users are binding in a distance contract and the offer and acceptance is launched electronically. The effects recognized by the law for contracts and consumers must carefully fill an electronic form with the person’s name, address, and contact details, e-mail and the confirmed password.
This password can help the user to track the orders that person made, therefore reducing the time needed to fill all the personal data every time an order is made. Secondly, the services supplier is bound to confirm the receiving of the offer, or its acceptance, except the agreements concluded exclusively by e-mail or other equivalent means of individual communication. This is done by sending an “acknowledgement receipt” by e-mail or any other equivalent means of individual communication to the address specified by the consumer.
Also by confirming the reception of the offer or of the offer’s acceptance, through a way which is equivalent to the way the offer acceptance was sent. Thirdly, the offer and the offer’s acceptance are considered received when the parties to whom they are sent can access them. The contract is then concluded when the acceptance of the offer is known by the professional. The services supplier must inform the consumer in the pre-agreement phase provider’s name, postal address, contact details, e-mail address and on any other data necessary to contact the provider, for example, the registration umber and the products and services’ prices. Finally, during the execution of the contract, the services supplier undertakes the obligation to inform the consumer about the modality of choosing a certain product or service from the virtual shop or from the presentation catalogue, about the required steps that are need to be performed to order a certain product. The information must be materialized by creating some technical means, such as links, necessary to follow the steps to conclude the contract electronically.
One all steps are carried through the professional must give the consumers the possibility to visualize the basket’s content, the cost, and also to renounce to some products or to continue to shop. Sending commercial communications through e-mail is prohibited, with the exception of cases where the receiver has given his consent to receive such communications. The commercial communications which represent a service of the informational society or a part of such a service, if they are permitted, must be clearly identifiable and the natural or moral person in the name of which they are made to be clearly identified.
Also promotional offers, such as reductions, prizes and gifts, need to be clearly identifiable. In addition, competitions and promotional games must be clear and the participation conditions must be simple and easily accessible and transparently presented. Furthermore, the consumer’s consent can be obtained in any form and be proved with any mean, that could be done by writings such as “I accept commercial communications form” written with capital letters including the name of the person for which the communications will be sent. Cancellations must produce its effect in maximum forty-eight hours from the beginning of the procedure.
In conclusion, the receiver of commercial communications has the right to revoke its consent to receive such communication by simply notifying the sender. Additionally the provider has an obligation to implement a free procedure, accessible, also by electronic means. E-commerce is easy to use however there are rules and regulations that need to be strictly followed in order to acquire a smooth and safe transition. 2. 2. 8 Conclusion E-leave application system interface should be simple and interesting so that users and staff can easily achieve their goals, and still be captivated.
When comparing server side scripting languages PHP appears to be a strong choice. Combined with MySQL database they appear to be winning tools for creating interactive e-leave application. Security should always be a factor when creating or developing a good online system. SQL-injection is a major vulnerability threat that should be dealt with accordingly. A good and secured web site with a good maintenance has made the E-Commerce possible and enjoyable in the whole world today. ? CHAPTER 3 3. 0. 0 METHODOLOGY 3. 1. 0 Preliminary Investigation and Research
The preliminary investigation and research helps determine the exact nature of the problem and highlights the urgent need for a technology based solution. It also helps to determine the benefits of carrying out the development of the new system. There are quite a lot of techniques used to gather information. Each technique has its own pros and cons, and they are best suited in different situations. Information that will be gathered for this Electronic Leave Application System (e-leave) includes; how the current system works, requirements for the new system, the scope the system should have.
I had a meeting with my supervisor Ms. Noris and Ms. Sujata the person currently in charge of the Limkokwing University’s leave application, on 17th October 2009. The meeting lasted for 30 minutes. The reasons for the interview were to: ?Study how their current leave application system works. ?Identify user needs, wants and requirements in term of system’s functionalities and interface design. ?Recommend a solution in order to improve existing system. 3. 2. 0 Problems statement: ?The manual leave system is slow, time consuming and prone to errors. The lost of staff filled forms and contact information resulting from manual record keeping prevents them from attending to the application quickly ? Sometime when there are several staff applying for leave, tracking or locating the previous record of the staff becomes a problem. 3. 3. 0 Solutions A simple computerized or e-leave application system is proposed. The system is affordable and would consist of the primary functions that Limkokwing University or any other organization requires, such as easy access to apply for leave, leave update and leave record retrieval.
The computerized electronic leave application system would have a user friendly interface, which is easy to navigate around, understand and adapt to. The requirement gathering process is intensified and focused specially on software. To understand the nature of the program to be built, the system engineer or Analyst must understand the information domain for the software, as well as required function, behavior, performance and interfacing. The essential purpose of this phase is to find the need and to define the problem that needs to be solved.
For this project, I have used the following techniques to gather information: 1)Questioner 2)Interview 3)Observation 4)Literature review Data for this project is still being gathered, though the basic framework of the system has been decided upon, and will be used for the system. 3. 4. 0 Questionnaire Questionnaires are good techniques for gathering information. They allow information to be gathered in a standard way, information is gathered relatively quick and it is easier to gather information from a large group of people.
However questionnaires may be hard to understand and also long winded, causing the respondent to answer superficially, so it is important to prepare them properly. Questioner is prepared in line with how the current system schedules works. About thirty pieces of questioner was prepared and given to the staff and lecturers to answer and give a feedback, a number of them responded and I was able to gather more information on how the current system runs. In this project questionnaires were used to solicit information from lecturers, who can answer the questions on their free time. 3. 5. 0 Interview
Interviews are the most common techniques that are used in gathering information. It does however, have its draw backs; it is time consuming, the interviewer can lead the interviewee to the conclusion he/she wants and, the interviewee can be bias therefore affecting the response. When performing interviews it is necessary to prepare beforehand. A clear and understandable questions were prepared for the interviewees that got the required information about the topic at hand (e-leave). Questions covered problems and limitations of the current system, improvements that they would like the new system to have, among other things.
It is important to choose the right people to get accurate information on the subject in question. Most interviewees selected for this project were staff and workers, because they have the first hand experience of leave application in the university. Short questions and answer session with Ms. Sujata, and Ms Noris, a lecturer in the faculty of Information and Communication Technology, Limkokwing University, has given me several key facts on the current process in applying for leave and leave schedules. The current manual system used by the FICT staff, lecturers and tutors is time consuming and tedious. . 6. 0 Observation The manually processed form for leave application was given to me and I carefully observe how is being filled and where it goes first when is submitted, how and what is the criteria for recommendation. As an international student at Limkokwing University, I had these opportunities, so it allows me to carry out observations of the system in use. I gain a kind of firsthand knowledge of the system and have a better understanding of what the new system should have. 3. 7. 0 Literature Review
As seen in the previous chapter, information was gathered on related topics to this project from existing reports and journals which were written in a literature review. This is to validate the content of the project with existing recognized literature. 3. 8. 0 Design Methodology A systems analysis methodology provides a way to tackle the development of each component of a system in a structured and detailed way. It dictates what are the main stages of the development, what steps should be taken at each stage and what must be completed before moving on to the next stage.
There are different systems analysis methodologies to consider when developing an application. The two major approaches are Structured Systems Analysis and Design Method (SSADM) and Object Oriented Analysis and Design (OOAD). The analysis part of these methodologies focuses on what the system does, while the design part is on how the system does it. OOAD is the approach that will be used to design this project. The two approaches will be compared later in the chapter. There are also development life cycles models to consider when developing a project. They all have their advantages and disadvantages.
Some of these models will be discussed later in the chapter. The modified waterfall model will be used in this project. 3. 9. 0 Object Oriented Analysis and Design Object Oriented Analysis and design is a Software Engineering approach that models a system as a group of interactive objects. Important parts of the system or Entities are represented by these objects. These objects are categorized into classes that have similar characteristics and behavior. Unified Modeling Language (UML) will be used to model these objects, showing their static structure, dynamic behavior, etc.
Structured Systems Analysis and Design Method is a linier approach to design, where each process follows one after another. When designing large programs it becomes difficult to track what the program does when SSADM is used, while with OOAD it is simplified because the program is modulated. 3. 10. 0 Modified waterfall model The modified waterfall model uses the same phases as the pure waterfall, a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis and Design (validation), Construction, Testing and Maintenance.
Unlike the pure waterfall, the modified waterfall is not done on a discontinuous basis. This enables the phases to overlap when needed. The pure waterfall can also split into subprojects at an appropriate phase (such as after the architectural design or detailed design). With modified waterfall, feedback could (should, and often would) lead from code testing to design (as testing of code uncovered flaws in the design) and from design back to requirements specification, as design problems may necessitate the removal of conflicting or otherwise unsatisfiable / undesignable requirements.
The figure below shows the different stages and how they precede each other. . Figure 1: SDLC Diagram modified waterfall Modified waterfall model is more flexibility than the pure waterfall model, it implemented the prototype model. Since there is personnel continuity between the phases, documentation will be substantially reduced. Implementation of easy areas does not need to wait for the hard ones, so with these new features I decided to use the modified waterfall model. The different stages are discussed below 3. 10. 1 System / Information Engineering and Modeling
As software is always of a large system, work begins by establishing the requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when the software must interface with other elements such as hardware, people and other resources. System is the basic and very critical requirement for the existence of software in any entity. So if the system is not in place, the system should be engineered and put in place. In some cases, to extract the maximum output, the system should be re-engineered and spruced up.
Once the ideal system is engineered or tuned, the development team studies the software requirement for the system. 3. 10. 2 Software Requirement Analysis This process is also known as feasibility study. In this phase, the development team visits the customer and studies their system. They investigate the need for possible software automation in the given system. By the end of the feasibility study, the team furnishes a document that holds the different specific recommendations for the candidate system. It also includes the personnel assignments, costs, project schedule, target dates etc.
The requirement gathering process is intensified and focused specially on software. To understand the nature of the program to be built, the system engineer or Analyst must understand the information domain for the software, as well as required function, behavior, performance and interfacing. The essential purpose of this phase is to find the need and to define the problem that needs to be solved. 3. 10. 3 System Analysis and Design In this phase, the software development process, and the software is overall structured and its nuances are defined.
In terms of the client or server technology, the number of tiers needed for the package architecture, the database design, the data structure design etc, are all defined in this phase. A software development model is thus created. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. Much care is taken during this phase. The logical system of the product is developed in this phase. 3. 10. 4 Code Generation
The design must be translated into a machine-readable form. The code generation step performs this task. If the design is performed in a detailed manner, code generation can be accomplished without much complication. Programming tools like compilers, interpreters, debuggers etc, are used to generate the code. Different high level programming languages like C, C++, C#, PHP, ASP, and Java are used for coding. With respect to the type of application, the right programming language is chosen. 3. 10. 5 Testing Once the code is generated, the software program testing begins.
Different testing methodologies are available to unravel the bugs that were committed during the previous phases. Different testing tools and methodologies are already available. Some companies build their own testing tools that are tailor made for their own development operations. 3. 10. 6 Maintenance The software will definitely undergo change once it is delivered to the customer. There can be many reasons for this change to occur. Change could happen because of some unexpected input values into the system. In addition, the changes in the system could directly affect the software operations.
The software should be developed to accommodate changes that could happen during the post implementation period. 3. 11. 0 Conclusion In this primary research, I have learnt various problems that arise from using a manual leave application system. Firstly, the inefficiencies of a manual system result in waste of time, lost opportunities, waste of resources. It is obvious that an automated, computerized e-leave application system will streamline the work and manage the staff leave application, minimizing the cost of having to be buying papers for all the paper work and allow just-in-time approval.
Secondly, the cause of being over stressed while struggling with complicated manual system, all the paper works will stop allowing an easy flow of work, particularly when the business of having to keep track of the applicant and staff records and the security of the system has added a great advantage. The inability to be able to instantly check on applicant and staff information without physically going for paper files to check has will stop with this new system. CHAPTER 4 4. 0. 0 System Initialization and Planning
Initiation and planning is very important in project management, this is used to recognize and start a new project from the scratch and control the project to the end. It is important because it determines if that project is worth initiating. Basically there are questions that is usually being asked, the questions include; “How important is this project? ” and “Is this project worth implementing? ” When developing a system there are some needs that arises which need to be solved. These needs include cost, schedules and technologies. 4. 1. 0 Assessing Project Feasibility
In every project, the project needs and limitations are to be evaluated. Feasibility is how possible / achievable a project is with all its requirements and limitation. If a project fails to pass the feasibility tests, it is revised or stopped. 4. 2. 0 Operational Feasibility This feasibility however covers the functionality during system if is implemented and if it will be used. Problems that can arise from implementing the new system can include problems when changing systems, such as staff being uneducated or unable to use the new system.
In this case a user manual will be provided to operational staff to make it easy for new administrative users to understand the system. The current staffs are computer literate; therefore there will be no need of indebt training. Another problem that can arise is, if the staffs are not informed of the system and for that they do not use it. This can be prevented by sending out emails and posting notes on notice boards for the staffs that are legible use the system to see. 4. 3. 0 Technical Feasibility
Technical feasibility plays an important rule when determining the amount of recourses that is needed for the project; it assesses the technology needs, to check if it is available, that is if the new system’s technology can run on the existing technology or if upgrades are needed. The old system will also be checked if a new technology will be added to it and what effects will it have on it. The only hardware required for the proposed system to run is a server, which is already available in limkokwing. However, the server might have to be upgraded to handle the added amount of traffic to the system, which will be encouraged.
The software needed for the new system is Apache server, which is compatible with all operating systems used with servers today. 4. 4. 0 Schedule Feasibility Time is very vital in any project, schedule feasibility ensures that the project can be developed, designed and implemented in an acceptable time for the client. The chosen time allocated for this project is two semesters. One semester is allocated for design of the project and another for development. The appendix has the Gant chart that explain this better. 4. 5. 0 Economic Feasibility
The recourse for which a project is dependent on is referred to the economic feasibility, The most important resource to consider is the estimated cost of the software and/or software development. The costs of developing the system are weighed against the benefits of the system whether it is tangible (Measured in terms of monitory gain) or intangible (Cannot be measured by money). There is no cost for developing the software, because there is no cost in using PHP and MySQL that are used to coding the system, so the cost is zero.
Since this is a school work for the students, therefore no payment will be made to students in creating this system. However the paybacks are vast. 4. 5. 0 Tangible Benefits ?Less papers are used for printing application forms ?Less ink for printing 4. 6. 0 Intangible Benefits ?Less work load on staff ?Human error is reduced in terms of keeping staff records. ?Staffs feel more relaxed and easy to apply for leave any where they are. ? Chapter 5 5. 0. 0 System and Analysis Design In this project I used the information that was gathered earlier in the research phase to determine the design and requirements of the system.
The results of the research are as follows: 5. 1. 0 Questionnaires A questionnaire was prepared and given to some staffs from different faculties and departments in the LUCT, to have a better understanding on how the current system works. It was found out that the current system was a semi-manual system that needed to be changed. Some features of the new system where also questioned. The questionnaire can be found in the appendix. 5. 2. 0 Interviews Interviews were carried out with Ms Sujata, the person in charge of leave application in LUCT and Ms Noris, a principle lecturer in ICT faculty.
The results of the interviews show that staffs don’t like the current system, with the majority of them finding it tedious and stressing. Many hate the fact that the forms has to pass through several approving stages, and that it has to take some days before the final approving/not approved, so in that, sometime information are duplicated. When asked if the implementation of an electronic leave application would improve the leave application system, the interviewed consented for the new system. But at the same time they were worried that the new system would also bring about new problems. The pre-interview form can be found in the appendix. . 3. 0 Observation I observed that the current semi-manual system in Limkokwing University is not adequate enough to handle the number of staffs applying for leave, to keep their information safe and give a relatively good result. If a staff is applying for leave he/she goes to Ms. Sujata, get the form and complete the information in the form, this include getting a staff or more who will take over what he/she is doing, for example if he is a lecturer taking 3 modules, he/she has to get a lecturer of his level 2 or 3 that agreed to represent him for the classes Then he returns the filed form to her.
The form is passed to the recommending officer, the recommending officer either recommends or not, if the information filled in the form is satisfactory, then the form is recommended by signing on the position for the recommending officer and passed to the approving officer (Herd of School) Mr Yap who will approve the leave for the applicant, part of the form filled by the department will be returned to the applicant. The filled form is therefore send finally to the HR department for record purpose. 5. 4. 0 Determining System Requirements 5. 4. 1. Functional Requirements I.
Staffs will have to log in with the school given staff ID and password. II. Staffs can view their leave history when logged in. III. The administrator will have to login with his Admin ID and password. IV. Modules can be added or dropped from the form if they are not compulsory. V. The system will have add, delete and update staff information VI. After application form is completed, the form will be sent to the administrator for confirmation and approval. VII. The administrator logs into the system, re-views the forms can decide to confirm the staff’s application and either approve or not approve the application.
VIII. Confirmation of approved or not approved should be sent to the staff’s e-mail. 5. 4. 2 Non-Functional Requirements I. The system should have the LimkokWing colors in its theme. II. Easy to understand. III. The system should use Standard English. 5. 4. 3 Structured System Requirements After the requirements were determined the structured system requirements were designed. These were done in OOAD using UML designs. This helps to give a better understanding on the system when it finally comes to building it. 5. 4. Information Use Case Diagram The information use case diagrams show the interactions that are carried out between the management unit and the applicants. The actors in this case are the stakeholders. Applicant Principle Lecturer Head of School Human Resource Figure 2 Information Use Case Diagram Admin Applicant Management Human Resource
Figure 3 System Use Case Diagram Figure 4 System Activity Diagram Figure 5 Class Diagram? Figure 6 Entity Relationship Diagram Login () Login accepted () access granted Add Staff, Edit, Update() Update Confirme Login () Login accepted () Access granted Application form request () Application form ()
Apply for leave () Application form () Approval confirmed/ approved () Approval confirmation message () Leave balance request () Leave balance displayed () Figure 7 Interactive Diagram Chapter 6 6. 0. 0System Prototype and Interface Design This user manual is designed to guide users and explain how the system works.
The manual is divided into two parts; the Administrator user manual, that instructs Administrator how to create, update, edit, delete and approve or reject staff applications. Secondly staff user manual, intended to show staffs how to apply for leave online and other important uses the system provides Admin Login The administrator will login with the admin ID and password. As the instructions state; Select the login type Admin, then enter the Id and Password. Figure 8 Login page If password and username do not match or are incorrect a wrong user name and password message would be shown.
Figure 9 unsuccessful login page If Login is successful then the Administrator home page will be displayed. In the admin page, the admin is responsible to add employee, edit and delete, the admin approve the all leave applied. The diagram below shows the admin page with the sample of added employee. Figure 10 Admin Home Page Adding Employee To add employee, from the admin home page, you selecte and click the add employee link, a page will disply with a form requesting for the employee’s details, fill the form and click on add. Note that the compolsry filed must be filled before you can add an emplyee.
Below is the form page. Figure 11 Add employee form Edit employee profiles To edit employee profile, select and click on edit link from the admin page, the added profile form will display, then you can edit or make your changes and click on edit to save your changes. Below is the sample of added employee profile. Figure 12 Edit Employee Page Delete employee To delete employee profile, select and click on delete link from the admin page, a message will be displayed asking you to confirm if the employee should be deleted, then if confirmed, click Yes to delete and No to return to the admin page.
See the diagram below. Admin home page Approve application The admin approves the employee’s leave applications. To approve, select and click on view application from the admin page, a page will appear displaying all the added staffs showing Application date, Employee Id, and Employee Name, then select and click on the view link of the employee you want to approve. Figure 13 Approve application page When the view link is clicked this page appears, then the admin will select from the drop down menu approve if they descide to approve it and click on save. As shown below.
Admin can view employee leave status, select and click on the view leave status, a pop up page will appear showing the employee leave record as show below. Add Corporate News Admin will add corporate news for the employee, corporate news will contain the information that the employee will need, urgent news, organizational internal memo etc. To add corporate news select and click on the corporate news menu, a page will display, on the top right side click on the add corporate news link, the page where you add the new displays, then you type in the title, and then the news content, after that you click on upload button to upload and save.
Figure 14 Add Corporate News This page shows the corporate news page, to add click on add corporate news. This page shows the filed where you can type the title and the content of the news. Corporate news can be edited and also can be deleted, to do so you can select and click on the edit or the delete link of the particular news that need to be edited or deleted from the corporate news page. When you click on edit this page will appear When you click on the delete link, this page appears, asking you to confirm to delete news item, if confirmed click on Yes button, if not click on No button. Admin view the feedback from employee
The admin can view the feedback from the employees, to do that select and click on the feedback menu, a page will appear showing Employee Id, Employee’s Name, the Date and the Title. Click on the view link of the very employee you want to view their feedback, a page will be displayed showing the employees Id, Name, Subject and Feedback, including your remark. Figure 15 View Employee feedback page The feedback page Admin View Report Admin can view employee reports, these comprises of their Id, employee’s name, the total leave balance for each type of leave selected, and the number of leave taken.
From the admin home page, select and click on the report menu, it will display a page with the list of employee reports, you will choose the particular staff you want to view their report and click the view report link. Figure 16 The report page Then another page will be displayed where you will select from a drop down menu the year and the type of leave, then you click on show button. Then a page with the report is displayed as shown below. Figure 17 Select the year and the type of leave Figure 18This page displays the report of an employee. Staff’s Login
Staffs are required to use their Employee ID and password to login the system. As the instructions state; Select the login type Employee, then enter the Id and Password. ?If password and username do not match or are, incorrect a wrong user name and password message would be shown. ?If Login is successful then the staff will view His/her profile page and have access to new menus. As shown below Figure 19 Employee Home page Staff Leave Application After login staff can view their profile and can apply for leave. They can apply by selecting and clicking on apply leave menu, the apply leave page will display.
Staffs are expected to fill in the form and click apply as shown below Figure 20 Leave Application form Staffs can view there leave history by clicking the leave history tab and it will display their history as shown below. Figure 21 Leave History page Checking Application status In the Employee’s home page, select and click on Application status, it will display a page where you will choose from a drop down menu the applied date displayed in year, month and days. After selecting, click on the button Get, then a page appears displaying the application status. See the diagram below.
Figure 22 The page where you select the apply date Figure 23 The application status page View Report Employee can view their reports, these comprises of their Id, employee’s name, the total leave balance for each type of leave selected, and the number of leave taken. From the employee home page, select and click on the report menu, it will display a page where you will choose from a drop down menu the year and the type of leave, then you click on get button. Then a page with the report is displayed as shown below. Figure 24 The report page Figure 25 This page displays the report of an employee.
The employee can also view corperate news by just selecting and clicking the corparete news menu, the it opens a page that is displaying the news. Below the corparete news is the feedback button where he/she can give a feedback to the admin and the admin also return feedback to their employee. See the diagram below. Figure 26 The corparete news page Figure 27 The feedback page Employee can also view the reply for the feedback by selecting and clicking on the view reply link at the top side of the feedback columne. Figure 28 Feedback from administrator page Chapter 7 7. 0. 0System Development 7. 1. 0System Coding
The online Leave Application system is a web based system designed using PHP as its main language. This application uses Apache web server to run on. PHP is a great web-building tool that can delivers vibrant web applications. This language was combined with the powerful data management abilities of MySQL. This combination of PHP and MySQL has the advantage of being fast, having predefined functions to work together, and both working on the server side. The code for building the database for this sytem can be found in the appendix. For better user interaction with the system, some supporting languages were used in the system.