COLLABORATIVE TIMESHEET MANAGEMENT SYSTEM A HAFINAZ BINTI RASHID UNIVERSITI TEKNOLOGI MALAYSIA PSZ 19:16 (Pind. 1/97) UNIVERSITI TEKNOLOGI MALAYSIA BORANG PENGESAHAN STATUS TESIS♦ JUDUL: TIMESHEET MANAGEMENT SYSTEM 2005/2006 SESI PENGAJIAN : ________________ A HAFINAZ BINTI RASHID ( 801122-14-5022 ) ___________________________________________________________________ (HURUF BESAR) Saya mengaku membenarkan tesis (PSM/Sarjana/Doktor Falsafah)* ini disimpan di Perpustakaan Universiti Teknologi Malaysia dengan syarat-syarat kegunaan seperti berikut: 1. 2. 3. 4. Tesis adalah hakmilik Universiti Teknologi Malaysia. Perpustakaan Universiti Teknologi Malaysia dibenarkan membuat salinan untuk tujuan pengajian sahaja. Perpustakaan dibenarkan membuat salinan tesis ini sebagai bahan pertukaran antara institusi pengajian tinggi. **Sila tandakan ( √ ) SULIT TERHAD √ (Mengandungi maklumat yang berdarjah keselamatan atau kepentingan Malaysia seperti termaktub di dalam AKTA RAHSIA RASMI 1972) (Mengandungi maklumat TERHAD yang telah ditentukan oleh organisasi atau badan penyelidikan dijalankan) TIDAK TERHAD Disahkan oleh ________________________ ____________________________ (TANDATANGAN PENULIS) (TANDATANGAN PENYELIA) Alamat tetap: C-3-3 Sri Damansara Courts, ____________________________ Psn Kenanga, Bdr Sri Damansara, ____________________________ ____________________________ 52200 Kuala Lumpur. 2 April 2006 Tarikh: ________________________ CATATAN: * ** ♦ ____________________________ Assoc. Prof. Dr. Harihodin Selamat Nama penyelia 2 April 2006 Tarikh: ______________________ Potong yang tidak berkenaan Jika tesis ini SULIT atau TERHAD, sila lampirkan surat daripada pihak berkuasa/organisasi berkenaan dengan meyatakan sekali sebab dan tempoh tesis ini perlu dikelaskan sebagai SULIT atau TERHAD. Tesis dimaksudkan sebagai tesis bagi Ijazah Doktor Falsafah dan Sarjana secara penyelidikan, atau disertasi bagi pengajian secara kerja kursus dan penyelidikan, atau Laporan Projek Sarjana Muda (PSM). “I hereby declare that I have read this thesis and in my opinion this thesis is sufficient in terms of scope and quality for the award of the degree of Master of Science (Information Technology – Management)”. Tandatangan : ....................................................... Nama Penyelia : Assoc. Prof. Dr Harihodin Selamat Tarikh : 2 April 2006 COLLABORATIVE TIMESHEET MANAGEMENT SYSTEM A HAFINAZ BINTI RASHID A project report submitted in partial fulfiiment of the requirements for the award of degree of Master of Science (Information Technology – Management) FAKULTI SAINS KOMPUTER DAN SISTEM MAKLUMAT UNIVERSITI TEKNOLOGI MALAYSIA APRIL 2006 ii I declare that this thesis entitled “Collaborative Timesheet Management System” is the result of my own research execpt as cited in the references. The thesis has not been accepted for any degree and is not concurrently submitted in candidature of any other degree. Tandatangan : ................................................. Nama Penulis : A HAFINAZ BINTI RASHID Tarikh : 2 April 2006 iii I dedicate this thesis to my beloved family. To my husband Adam, thank you for being together through-out our studies, It has been one enjoyful journey. I Love You. To my precious son Daanish, you are the joy of my life. To Mak and Abah, thanks for being there when in need. I give you all my success as appreciation for your undying love and care. To Mama and Papa, thank you for your support and advice. This success is because of your full spirit. And lastly to all my brothers, thank you for your support you have given me through the obstacles I have faced. iv ABSTRACT Collaborative Timesheet Management System is believed to be found under one of many modules of a Project Management. It is crucial that the system to be developed in line with company’s business objectives. This is to ensure that the system is well developed, so that every part of the modules and functions will be fully utilized by the Project Manager, Project Staffs, and Higher Management personnel. Apart from that, this project enables our participants to gather enormous amount of knowledge, not just in system development, but the whole process of managing every single phase of project development. This project is developed with the help of Unified Modeling Language as one of the development tool. The basic concept of this system is to improve the process of task delegation and monitoring project performance for Project Manager and Project Staff, and logging it into a nice and well-defined database. It helps the company to be at much competitive with the other multi-national organizations in terms of much higher service quality. v ABSTRAK Adalah dipercayai bahawa Collaborative Timesheet Management System adalah merupakan salah sebuah modul kecil didalam Pengurusan Projek. Untuk memastikan bahawa segala ciri-ciri dan modul-modul sistem yang telah dibangunkan dapat dipergunakan sepenuhnya oleh Pengurus Projek, Pekerja Projek, dan pihak pengurusan syarikat, proses pembangunan sistem perlu dilakukan dengan amat teliti supaya tidak mudah terpesong daripada objektif utama syarikat. Selain daripada itu, adalah diharapkan dengan adanya projek ini, dapat diterapkan unsur kerjasama dikalangan rakan sekerja, dan juga dapat menggalakkan penambahan ilmu pembangunan sistem dikalangan pekerja. Selain itu, projek ini akan dapat menunjukkan cara pengurusan yang baik bagi setip fasa-fasa pembangunan projek. Projek ini dibangunkan dengan bantuan pendekatan Unified Modelling Language sebagai alat bantuan pembangunan. Konsep asas projek ini dibangunkan untuk memperbaiki proses pembahagian tugas dan memerhati kemajuan projek bagi Pengurus Projek dan Pekerja Projek, dimana sistem akan menggunakan proses penyimpanan data-data pelanggan ke dalam pangkalan data yang lebih kemas. Akhirnya, data-data tersebut akan dapat dipaparkan dengan paparan yang lebih elok dan teratur untuk kegunaan audit. vi TABLE OF CONTENTS CHAPTER ONE CHAPTER I TITLE PAGE PROJECT INTRODUCTION 1.1 Overview 1 1.2 Company Background 2 1.3 Problem Background 3 1.4 Problem Statement 4 1.5 Statement of Purpose 4 1.6 Project Objective 5 1.7 Project Scope 5 1.8 Project Limitations 6 1.9 Project Importance 6 1.10 Description of Solution 7 1.11 Chapter Summary 7 CHAPTER TWO CHAPTER II TITLE PAGE LITERATURE REVIEW 2.1 Overview 8 2.2 Project Management 10 2.2.1 Project Management Framework 2.3 Time Management System 2.3.1 Replicon TimeSheet 5.8 11 14 14 vii 2.3.2 Tenrox Timesheet System 2.4 Technology of Application Development 15 18 2.4.1 PHP 19 2.4.2 MySQL 22 2.4.3 Internet vs. World Wide Web 23 2.5 Approach and Implementation Methodology 24 2.5.1 Structured System Development Life-Cycle 24 2.5.2 Rational Unified Process 25 2.5.3 Sun JavaTM Enterprise System 27 2.5.4 Redside Solutions Lifecycle 29 2.5 Chapter Summary 32 CHAPTER THREE CHAPTER III TITLE PAGE METHODOLOGY 3.1 Overview 33 3.2 Justification For The Selected Methodology 34 3.3 Operational Framework 35 3.3.1 Business Modeling Workflow 36 3.3.2 Requirements Workflow 36 3.3.3 Analysis & Design Workflow 37 3.3.4 Implementation Workflow 38 3.4 3.3.5 Test Workflow 38 3.3.6 39 Deployment Workflow Project Plan 40 3.5 Chapter Summary 40 viii CHAPTER FOUR CHAPTER IV TITLE PAGE SYSTEM DESIGN 4.1 Overview 41 4.2 Organizational Analysis 42 4.3 Current Business Process and Data Model 45 4.4 User Requirements 47 4.5 Conceptual Design 48 4.5.1 Business Process and Data Model 48 4.5.2 System Architecture (Conceptual Design) 53 4.6 Physical Design 54 4.6.1 Database Design 54 4.6.2 Program (Structure) Chart 58 4.6.3 Interface Chart 59 4.6.4 System Modules and Features 61 4.6.5 System Architecture (Physical Design) 63 4.7 Hardware Requirements 65 4.8 Test Plan 66 4.7 Chapter Summary 67 CHAPTER FIVE CHAPTER V TITLE PAGE DESIGN IMPLEMENTATION AND TESTING 5.1 Overview 68 5.2 Implementation Strategies 69 5.3 Coding Approach 69 ix 5.3.1 Database Development 69 5.3.2 Programming 70 5.4 Testing 79 5.4.1 Unit Test 79 5.4.2 Integration Test 80 5.4.3 System Test 81 5.4.3.1 Technical Testing 81 5.4.3.2 Functional Testing 82 User Acceptance Test 82 5.4.4.1 Setting Up UAT Team 83 5.4.4.2 User Acceptance Test Plans 83 5.4.4.3 User Acceptance Testing Categories 83 5.4.4 5.5 System Documentations 84 5.5.1 User Manual 84 5.5.2 System Administrator Manual 84 5.6 Chapter Summary 85 CHAPTER SIX CHAPTER VI TITLE PAGE ORGANIZATIONAL STRATEGIES 6.1 Overview 86 6.2 Roll Out Strategy 87 6.3 Change Management 88 6.3.1 People 89 6.3.2 Organization 90 6.4 Data Migration Plan 90 6.5 Business Continuity Plan 90 x 6.6 Expected Organizational Benefits 91 6.7 Chapter Summary 93 CHAPTER SEVEN CHAPTER VII TITLE PAGE DISCUSSION & CONCLUSION 7.1 Achiements 94 7.2 Constraints & Challenges 96 7.2.1 Constraints 96 7.2.2 Challenges 97 7.3 Aspirations 99 7.4 Chapter Summary 100 CHAPTER EIGHT REFERENCE 101 CHAPTER NINE APPENDIX 102 xi LIST OF TABLES TABLE NO TITLE PAGE 1.1 KDEB Anzagain’s Business Process 2 4.1 CTMS Table – Assignment 54 4.2 CTMS Table – Client 55 4.3 CTMS Table – Task Assignment 55 4.4 CTMS Table – Project 56 4.5 CTMS Table – Task 56 4.6 CTMS Table – Timesheet 57 4.7 CTMS Table – User 57 6.1 Roll-Out Strategy 87 6.2 Comparison between old and new system 91 6.3 Benefits of TMS system 92 xii LIST OF FIGURES FIGURE NO TITLE PAGE 2.1 Investing in planning vs. minimal planning 10 2.2 Project Management Framework 11 2.3 RUP Lifecycle Model 26 TM Lifecycle Model 28 2.4 Sun Java 2.5 Risk/Flexibility Redside Model 29 2.6 Modified Waterfall Lifecycle Model 30 2.7 Iterative Lifecycle Model 31 3.1 Phases and Iterations of RUP Iterative Model 35 4.1 KASB Organizational Structure 43 4.2 KDEB Anzagain Infrastructure 44 4.3 KASB Current Business Process Use Case Diagram 45 4.4 Sequence Diagram for Manage Task 46 4.5 CTMS Business Process Use Case Diagram 49 4.6 CTMS Sequence Diagram for Manage Task 50 4.7 CTMS Sequence Diagram for View Reports 50 4.8 CTMS Sequence Diagram for Write Timesheet 51 4.9 CTMS Activity Diagram for Manage Client 51 4.10 CTMS Activity Diagram for Manage Task 52 4.11 CTMS Conceptual System Architecture 53 4.12 CTMS Structure Chart 58 4.13 CTMS Interface Chart 59 4.14 CTMS Login Page Interface 60 4.15 CTMS Project Manager Main Page Interface 60 4.16 System Archiecture (Physical Design) 57 5.1 Snapshot of Username Authentication 70 xiii 5.2 Snapshot of Add New Client 72 5.3 Add New Client Interface 72 5.4 Snapshot of Add New Project 74 5.5 Edit Project Interface 74 5.6 Snapshot of Weekly Timesheet Coding 77 5.7 Weekly Timesheet Interface 78 CHAPTER I PROJECT INTRODUCTION 1.1 Overview Over the years, Information and Communication Technology (ICT) has rapidly changed the way we do things in our life. Without a doubt, the usage of computer aided has given an enormous impact in each and every sector that involves human lives. Without the aid of computers, tasks and routines will be done inefficiently and occasionally it is impossible to have done it at all. There are a lot of applications being developed each day in fulfilling the requirements addressed by various sectors such as education institution or other organizations. It is definite that computers are now vital in today’s environment which is everything are moving rapidly in a sense that every process are being done within split seconds. With the aid of computers, it is not only proven that organizations could smoothen out their everyday-routines, but furthermore, organizations could achieve their corporation objectives effortlessly. Besides other than individuals could improve their productivity, and skills, they could also provide a better quality of service in terms of efficiency and effectiveness to their employers and country as a whole. 2 1.2 Company Background KDEB ANZAGAIN was founded in 1999. It is a subsidiary of Kumpulan Darul Ehsan Berhad and it is target to become one of the nation’s leading developers in Multimedia Educational products. The company is taking the challenge from the government in achieving its MSC goal and developed country by the year 2020. The identified company’s core business is in the area of education, content development that includes the development of multimedia product and services (electronic publishing/courseware development), education portal, on-line products and services, training and consultancy on education and IT. KDEB Anzagain Sdn Bhd will also be the receiver for any content development works required by or through the broadband business company i.e. The VDSL broadband ISP services company- VDSL Network Sdn. Bhd. Further more, the company was also chosen as one of the consortium members responsible for the development of Teaching Learning Material for primary mathematics for the Malaysian Smart School. Table 1.1 : KDEB Anzagain’s Business Process Business Areas Educational Courseware (Subject Discipline / Based) Computer Based / Online tutorials Products & Services • Translation of Smart School c/w • BTP Readers Books. Imported titles and own publishing titles • Text books for the Malaysian Schools govt. contract • Test items • Extracts On MalaysianS mart School products derivatives • Glory Mathematics from yr 1 to for 3 tuition online products. • Tuition online portal My sifoo Target Market Edutainment Programs Non-formal Education Training & Consultancy • Smart Learning UPSR PMR • Extended learning program for teachers. Schools and other learning institution in Selangor, other states. Open market/beyond the geographical limit of Malaysia. R&D and product commerlization • Curriculum Management Flow • School management packages 3 1.3 Problem Background KDEB Anzagain Sdn Bhd is an IT company that involved in the development of multimedia product and services. Products that are being produced by the company are CD-ROM Courseware, Books, Education Website and School Textbooks. The clients are the Ministry of Education, Bookstores, Telekom Smart School Sdn Bhd and Schools. Currently, once the company awards the project, the manager will delegate the task during the project meeting. The staffs are required to do the timesheet manually to identify that they list down their task and total time they need for every task given by superior. Usually they update their superior only when they have meeting. Sometimes lack internal communications and task delegation problems might lead to miscommunications and not everybody will get the exact message and instruction. The management and superior also have to go through the staff timesheet filing manually to make sure the staffs are doing their task and it is hard to keep track the total amount of time that needed for every staff to finish the project. The management will depend only on the hardcopy of timesheet documentation for every staff and sometimes the filing system is not complete and the document is missing when we want the document. Sometimes staffs will argue that the tasks given are not equally delegated. Furthermore, lack of project monitoring will ultimately causes a project to be over cost and over schedule. The management also needs to refer to the timesheet documentation if there is any staff wants to claim that they work after working hours. As such, if there is a system that able to update online and reducing redundant work between staffs and help company to function more efficiently and effectively. 4 KDEB Anzagain Sdn Bhd is an IT company but most of the business processes in the company needs improvement by using IT solution and develop a management system that can help company running the business better. 1.4 Problem Statement The productivity of team-based core activities of Project Manager and Project Staff in KDEB Anzagain Sdn Bhd is hampered due to no systematic task delegation to staff and difficulties in monitoring project performance. 1.5 Statement of Purpose The purpose of the study is to provide a web-based solution mainly to improve the process of task delegation and monitoring project performance for Project Manager and Project Staff. 5 1.6 Project Objective The objectives of the project are: i. To study the business process of staff task delegation and monitoring of project performance. ii. To design the Collaborative Timesheet Management System which include the following functionalities: a. Assigning b. Scheduling iii. To improve the task delegation and project performance monitoring. iv. To formulate a management strategy for the successful implementation of the timesheet management. 1.7 Project Scope The project scopes are listed below: i. This prototype system can only be used by the staff of KDEB Anzagain Sdn. Bhd. ii. This system is in web-based in which it can only be accessed from the Intranet or the company internal network. 6 1.8 Project Limitations Since it is a prototype of an actual system, it will not provide feature of notifications of email to the staffs. The limitation would require the staff to login to the system frequently if they want to be notified on what the new tasks are given by their superior. Other features that system will not provide is file sharing. If staffs want to pass the file that need to be amended the others they cannot pass through this system. 1.9 Project Importance The benefits that KDEB Anzagain Sdn Bhd could benefit from this system are:- i. The staff could perform the well in terms of professionalism, skill, and more effective and efficient which it could help the management to save more time supervision project all the time. ii. The management could save and make use of their time to think more on how to improve the procedures and increase the business marketing and sales of the company for one reason that is to increase the company’s yearly revenue. 7 1.10 Description of Solution The solution is to develop a centralized server that situates a database in it that the staff can access through a web. Besides the database, there will also be a web server that controls and manages the transition of data and the input and output of information through the network. The system will be a real-time and online which is accessible 24 hours. 1.11 Chapter Summary From the initial study, it is found that KDEB Anzagain Sdn Bhd requires a Collaborative Timesheet Management System that can improve the task delegation and project performance monitoring. A client server type of environment and a web-enabled kind of application is required, as this will easily enable remote access to the system by the users. From the implementation, this new system will enable sharing of information and improve communications between the users and also generate a report for every project and staffs for Management and Project Manager to analyze and review to assist decision making. It is hoped with this new system implementation enable to resolve the above-mentioned problems, and further on, enable the users have the flexibility to directly access the information as and when is necessary. 8 CHAPTER II LITERATURE REVIEW 2.1 Overview Many people and organizations today have a new or renewed interest in project management. Until the 1980s, project management primarily focused on providing schedule and resource data to top management in the military and construction industries. This tracking of a few key project parameters is still an important element, but today’s project management involves much more, become a significant factor in many businesses. Computer hardware, software, networks and the used of interdisciplinary and global work teams have radically changed the work environment. Today’s corporations, governments, and non-profit organizations are recognizing that to be successful, they need to be conversant with and use modern project management techniques. 9 To discuss project management, it is important to understand the concept of a project. A project is “a temporary endeavor undertaken to create a unique product or service” according to the book Information Technology Project Management. Projects normally involve several people performing interrelated activities, and the main customer for the project is often interested in the effective use of resources to complete the project in an efficient and timely manner. The following attributes help define a project further: i. A project has a unique purpose. Every project should have a well-defined objective. ii. A project is temporary. A project has definite beginning and a definite end. iii. A project requires resources, often from various areas. Resources include people, hardware, software, or other assets. Many projects crossdepartmental or other boundaries to achieve their unique purposes. iv. A project should have a primary customer or sponsor. Most projects have many interested parties or stakeholders, but someone must take the primary role of sponsorship. The project sponsor usually provides the direction and funding for the project. v. A project involves uncertainty. Because every project is unique, it is sometimes difficult to clearly define the project’s objectives, estimates how long it will take to complete, or how much it will cost. This uncertainty is one of the main reasons project management is so challenging, especially on projects involving new technologies. Every project is constrained in different ways by its scope, time and cost goals. These limitations are sometimes referred to in project management as the triple constraint. To create a successful project, a project manager must consider scope, time and cost and balance these three often-competing goals. 10 2.2 Project Management Project management is “the application of knowledge, skills, tools and techniques to project activities in order to meet project requirement.” Project managers must not only strive to meet specific scope, time, cost, and quality goals of projects, they must also facilitate the entire process to meet the needs and expectations of the people involved in or affected by project activities. Project management provides with a process that we can follow, a series of moves that will help you address some basic questions before dive into getting the work done, and questions such as what are we going to produce? What is it the customer wants and needs? Who is going to do the work? How long will it take? How much will it cost? What might go wrong? How can you avoid potential problems? These questions are addressed up front so that the work can proceed smoothly and efficiently. Not taking the time to create the plan actually increases the length of the project. (See Figure 2.1) Figure 2.1 : Investing in planning vs. minimal planning. 11 2.2.1 Project Management Framework Key elements of project management framework include the project stakeholders, project management knowledge areas, project management tools and techniques, and the project’s contribution to the enterprise. Figure 2.2 provides a framework for beginning to understand project management. Figure 2.2 : Project Management Framework Stakeholders are the people involved in or affected by project activities and include the project sponsor, project team, support staff, customers, users, suppliers, and even opponents to the project. These stakeholders often have very different needs and expectations and it is very important in the beginning and throughout the life of the projects. Successful project managers develop good relationships with project stakeholders to understand and meet their needs and expectations. 12 Project management knowledge areas describe the key competencies that project managers must develop. The center of Figure 2.2 shows the nine knowledge areas of project management. The four core knowledge areas of project management include project scope, time, cost and quality management. These are core knowledge areas because they lead to specific project objectives. Brief descriptions of each core knowledge are below: i. Project scope management involves defining and managing all the work required to complete the project successfully. ii. Project time management includes estimating how long it will take to complete the work, developing an acceptable project schedule, and ensuring timely completion of the project. iii. Project cost management consists of preparing and managing the budget for the project. The four facilitating knowledge areas of the project management are human resources, communications, risk, and procurement management. These are called facilitating areas because they are the processes through which the project objectives are achieved. Brief descriptions of each facilitating knowledge area are below: i. Project human resource management is concerned with making effective use of the people involved with the project. ii. Project communications management involves generating, collecting, disseminating, and storing project information. 13 iii. Project risk management includes identifying, analyzing, and responding to risks related to the project. iv. Project procurement management involves acquiring or procuring goods and services for a project from outside the performing organization. Project integration management, the ninth knowledge area, is an overarching function that affects and is affected by all of the other knowledge areas. Project management tools and techniques assist project managers and their teams in carrying out scope, time, cost, and quality management. Additional tools help project managers and teams carry out human resource, communications, risk, procurement, and integration management. 14 2.3 Time Management System In understanding the needs and initiative towards the timesheet management, some study has been done to major industry organizations that implement time management portal. It focuses on how the timesheet system allows organizations to manage their businesses more profitably. Some of the organizations are Replicon and Tenrox. 2.3.1 Replicon TimeSheet 5.8 Founded in 1996, Replicon is the world leader in web-based time and expense management solutions, and the innovator in productivity software. Web Timesheet, professional services organizations now have quantitative, real-time analysis of workforce productivity and a way to set meaningful productivity goals for employees that are tied directly to bottom line revenues. Below are the modules TimeSheet 5.8: TimeSheet 5.8 has three main modules; the first module is Project Costing Solution that monitoring project progress and track project costs and timelines. Time & Billing Solution is the second module that provides track real-time utilization and reduces billing cycle and leakage. The third module is Time & Attendance Solution that integrates to human resource and payroll systems and monitor billable targets. Followings are the benefits for Replicon TimeSheet 5.8: 15 i. Easy to use, flexible web based timesheet to collect the information we want. Offline timesheet capabilities. ii. Powerful real-time graphical reporting engine for timesheets. iii. Choose from over 80 different approval paths to fit business. iv. Smart email notification to encourage prompt submission of timesheets. v. Integrated expense tracking in multi-currency. vi. Time tracking features comply with DCAA timekeeping guidelines for government defense contractors. vii. Integration with leading project management, accounting, ERP and Payroll systems allows for advanced project tracking capability. viii. 100% web-based time tracking software. Absolutely no client server, ActiveX or Java applet technology uses. 2.3.2 Tenrox Timesheet System Tenrox develops, licenses and supports modular, integrated operational control and compliance software that delivers project governance, timesheet management, time and billing, expense reporting, invoicing/charge back and work process tracking. Designed for organizations with internal services, project teams, IT departments and professional services firms. Tenrox solutions increase corporate efficiency, improve project or service delivery, reduce costs, and enforce compliance with regulations and financial controls. 16 Tenrox applications are based on a modular platform; hence you can add, remove and combine modules based on your organization’s time and expense management needs. Tenrox comes with three modules: Time and Labor Modules automate time tracking and payroll processing, eliminate payroll imprecision, reduce timesheet review time by 80%, improve reporting, tracking and visibility, and reduce administrative overhead. The system includes configurable time and attendance, overtime and leaves management features and compliance with employment regulations. Time and Expense Modules’ multiple timesheet and expense views, configurable work time, overtime, approval, and expense reporting policies allow organizations to effectively collect and manage time and expenses based on their unique requirements. The application automatically imports credit card transactions, manages cash advances, improves cost reporting, and helps control spending. Time and Billing Modules include highly configurable approval; notifications, timesheet and expense report views, and invoicing. The integrated workflow-based time, expense and invoicing system centralizes and automates the tracking of billable work, project status and ongoing cost/revenue updates, letting you create and approve invoices quickly, thereby reducing your billing cycle and improving cash flow. 17 Below are the Tenrox benefits of Time Tracking: i. Reduce administrative overhead, payroll and invoice preparation time by 80% ii. Provide real-time reports and collaboration to improve project tracking and reporting iii. Enforce the organization’s time and expense policies at point of entry iv. Ensure compliance with employment laws as well as other governance and compliance requirements v. Time tracking software allows organizations to manage their businesses more profitably. vi. Access reports on detailed data that is critical for efficient time and project accounting management. vii. Streamline the management process and control project performance viii. Simplify the timesheet and expense report entry process, making it a very user-friendly task 18 2.4 Technology of Application Development The true challenge of IT is to create information systems that will actually encourage people to actually make use of Collaborative Timesheet Management System. The highest priority area for systems deployment is in the harvest and reuse of internally developed expertise. Several organizations have successfully put systems in place to achieve this end, in the form of Collaborative Timesheet Management Systems to locate sources of expertise in the organization, systems to facilitate decision-making and querying on various topics, and systems to provide time tracking. Other areas where systems have found use are in the dissemination of collated information on technology and business trends, communication of policies and company-specific information to all stakeholders, and the showcasing of company expertise to potential customers. The technology, that are needed in implementing a Collaborative Timesheet Management System includes: i. Internet and web as a platform for deploying and implementing Collaborative Timesheet Management System. ii. Portal will be used as a transactional gateways targeted to a specific audience. Implementing a system portal in the organization can lead to increased productivity, improved service quality and maximized investment on expensive back-end packages. iii. Web development application as the of the development tools in developing the portal. iv. Database as the collection of information that's related to a particular subject or purpose in the system. 19 2.4.1 PHP PHP (recursive acronym for "PHP: Hypertext Preprocessor") is a widely used Open Source general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. PHP is mainly focused on server-side scripting, we can do anything any other CGI program can do, such as collect form data, generate dynamic page content, or send and receive cookies. But PHP can do much more. There are three main areas where PHP scripts are used. i. Server-side scripting. This is the most traditional and main target field for PHP. We need three things to make this work. The PHP parser (CGI or server module), a webserver and a web browser. We need to run the webserver, with a connected PHP installation. We can access the PHP program output with a web browser, viewing the PHP page through the server. All these can run on our home machine if we are just experimenting with PHP programming. ii. Command line scripting. We can make a PHP script to run it without any server or browser. We only need the PHP parser to use it this way. This type of usage is ideal for scripts regularly executed using cron (on *nix or Linux) or Task Scheduler (on Windows). These scripts can also be used for simple text processing tasks. 20 iii. Writing desktop applications. PHP is probably not the very best language to create a desktop application with a graphical user interface, but if we know PHP very well, and would like to use some advanced PHP features in our client-side applications we can also use PHP-GTK to write such programs. We also have the ability to write cross-platform applications this way. PHPGTK is an extension to PHP, not available in the main distribution. PHP can be used on all major operating systems, including Linux, many Unix variants (including HP-UX, Solaris and OpenBSD), Microsoft Windows, Mac OS X, RISC OS, and probably others. PHP has also support for most of the web servers today. This includes Apache, Microsoft Internet Information Server, Personal Web Server, Netscape and iPlanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd, and many others. For the majority of the servers PHP have a module, for the others supporting the CGI standard, PHP can work as a CGI processor. So with PHP, we have the freedom of choosing an operating system and a web server. Furthermore, we also have the choice of using procedural programming or object oriented programming, or a mixture of them. Although not every standard OOP feature is implemented in PHP 4, many code libraries and large applications (including the PEAR library) are written only using OOP code. PHP 5 fixes the OOP related weaknesses of PHP 4, and introduces a complete object model. With PHP we are not limited to output HTML. PHP's abilities include outputting images; PDF files and even Flash movies (using libswf and Ming) generated on the fly. We can also output easily any text, such as XHTML and any other XML file. PHP can autogenerate these files, and save them in the file system, instead of printing it out, forming a server-side cache for your dynamic content. 21 One of the strongest and most significant features in PHP is its support for a wide range of databases. Writing a database-enabled web page is incredibly simple. We also have a DBX database abstraction extension allowing you to transparently use any database supported by that extension. Additionally PHP supports ODBC, the Open Database Connection standard, so you can connect to any other database supporting this world standard. PHP also has support for talking to other services using protocols such as LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (on Windows) and countless others. You can also open raw network sockets and interact using any other protocol. PHP has support for the WDDX complex data exchange between virtually all Web programming languages. Talking about interconnection, PHP has support for instantiation of Java objects and using them transparently as PHP objects. You can also use our CORBA extension to access remote objects. PHP has extremely useful text processing features, from the POSIX Extended or Perl regular expressions to parsing XML documents. For parsing and accessing XML documents, PHP 4 supports the SAX and DOM standards, and you can also use the XSLT extension to transform XML documents. PHP 5 standardizes all the XML extensions on the solid base of libxml2 and extends the feature set adding SimpleXML and XMLReader support. 22 2.4.2 MySQL MySQL has become the most popular open source database and the fastest growing database in the industry. This is based on its dedication to providing a less complicated solution suitable for widespread application deployment at a greatly reduced TCO. MySQL offers several key advantages: i. Reliability and Performance. MySQL AB provides early versions of all its database server software to the community to allow for several months of "battle testing" by the open source community before it deems them ready for production use. ii. Ease of Use and Deployment. MySQL's architecture makes it extremely fast and easy to customize. Its unique multi-storage engine architecture gives corporate customers the flexibility they need with a database management system unmatched in speed, compactness, stability, and ease of deployment. iii. Freedom from Platform Lock-in. By providing ready access to source code, MySQL's approach ensures freedom, thereby preventing lock-in to a single company or platform. iv. Cross-Platform Support. MySQL is available on more than twenty different platforms including major Linux distributions, Mac OS X, UNIX and Microsoft Windows. v. Millions of Trained and Certified Developers. MySQL is the popular open source database, so it's easy to find high-quality, skilled staff. 23 2.4.3 Internet vs. World Wide Web Many people use the terms Internet and World Wide Web (a.k.a. the Web) interchangeably, but in fact the two terms are not synonymous. The Internet and the Web are two separate but related things. The Internet is a massive network of networks, a networking infrastructure. It connects millions of computers together globally, forming a network in which any computer can communicate with any other computer as long as they are both connected to the Internet. Information that travels over the Internet does so via a variety of languages known as protocols. The World Wide Web, or simply Web, is a way of accessing information over the medium of the Internet. It is an information-sharing model that is built on top of the Internet. The Web uses the HTTP protocol, only one of the languages spoken over the Internet, to transmit data. Web services, which use HTTP to allow applications to communicate in order to exchange business logic, use the Web to share information. The Web also utilizes browsers, such as Internet Explorer or Netscape, to access Web documents called Web pages that are linked to each other via hyperlinks. Web documents also contain graphics, sounds, text and video. The Web is just one of the ways that information can be disseminated over the Internet. The Internet, not the Web, is also used for e-mail, which relies on SMTP, Usenet news groups, instant messaging and FTP. So the Web is just a portion of the Internet, albeit a large portion, but the two terms are not synonymous and should not be confused. 24 2.5 Approach and Implementation Methodology In order to select the best methodology in implementing the system, one must choose a reasonable, low-cost, effective and efficient approach. Those studied methodology must be able to adapt all of the listed project scope and objectives. Therefore, it is important and vital to study in depth the capabilities of each available methodology before one selecting the most suitable approach. 2.5.1 Structured System Development Life-Cycle Generally, Systems Development Life-Cycle methodology is a structured approach for systems development from systems planning and design through implementation and support. This methodology is a proven methodology series of steps and phases that allow the system to develop at a more convenient and assured way. The five common and basic phases of System Development Life-Cycle methodologies are: i. Conceptual Design – it involves identifying the business or organization objectives and as well as the proposed system that are going to be implemented. ii. Planning – to determine the functional, quality, and architecture requirements of the system identified in the conceptual design phase. Besides that, under this phase, the proposed system will be designed accordingly to meet the requirements and planned for the implementation. 25 iii. System Development – this will involve the developers to start creating codes, and testing, according to the design under the planning phase. iv. Implementation – under this phase, the system will be deployed through out the organization, either by departments or all out deployment. This phase would also include some basic training for the users, since the users would have to test it out before they can sign off the project. v. Post Implementation – the management, users, and developers will together monitor the implemented system to ensure that the system manage to provide the level of initial expectations and requirements which were identified in the earlier phases. Other that that, they will run out a training to the users in order for the system able to be use to the requirement level. 2.5.2 Rational Unified Process Rational Unified Process (RUP) is an object-oriented and Web-enabled program development methodology. According to Rational (developers of Rational Rose and the Unified Modeling Language), RUP is like an online mentor that provides guidelines, templates, and examples for all aspects and stages of program development. RUP and similar products -- such as Object-Oriented Software Process (OOSP), and the OPEN Process -- are comprehensive software engineering tools that combine the procedural aspects of development (such as defined stages, techniques, and practices) with other components of development (such as documents, models, manuals, code, and so on) within a unifying framework. 26 RUP establishes four phases of development, each of which is organized into a number of separate iterations that must satisfy defined criteria before the next phase is undertaken. Each of those phases will involve several core process workflows that will be active along the time. The RUP phases are: - i. Inception Phase Developers define the scope of the project and its business case. ii. Elaboration Phase Developers analyze the project's needs in greater detail and define its architectural foundation. iii. Construction Phase Developers create the application design and source code. iv. Transition Phase Developers deliver the system to users. Figure 2.3 : RUP Lifecycle Model 27 RUP provides a prototype at the completion of each iteration. The product also includes process support for Java 2 Enterprise Edition (J2EE) and BEA (WebLogic) development, and supplies an HTML-based description of the unified process that an organization can customize for its own use. 2.5.3 Sun JavaTM Enterprise System Sun Microsystems and Forrester Research have worked to build a nine-phase model that defines the IT project lifecycle and apportion a typical percentage cost to each phase. The purpose of the model is to establish a baseline for measuring any IT Project. The model originated from discussions with Sun customers through Sun’s Voice of the Customer program, a program designed to provide direct feedback to Sun on key issues and requirements of IT executives and IT managers. After validation about the legitimacy of the key phases of the model from Sun customers and industry contacts, Sun decided to engage Forrester Research to take the idea from an initial concept to a generic IT project lifecycle model. Once established, this model could be used to measure the impact of the Java Enterprise System on the whole IT project lifecycle and estimate the potential cost savings that the Java Enterprise System could bring. Whereas many software development models today focus on planning, software design, and development, this model is more comprehensive in scope, extending to phases that include provisioning, operations, and retirement. The model also identifies specific business applications and infrastructure software phases. 28 Forrester’s research showed that virtually all IT projects include the nine phases defined in their model as is shown in Figure 2.4. Figure 2.4 : Sun JavaTM Lifecycle Model There are many paths that can be taken through these nine phases. Differing projects, even within the same IT organization, may traverse through these lifecycle phases in different orders. The reader will also note that phases that relate to business applications (phases 4, 6, and 8) have been separated from phases aimed at planning, producing, and operating infrastructure software. This distinction allows a clear delineation between the impact on business applications and the impact on the IT infrastructure. 29 2.5.4 Redside Solutions Lifecycle Redside has developed a toolkit of best practices, templates and techniques used to create a project process that fits all types of organizations. The framework’s flexible and adaptive model is useful for all types of projects and can be quickly deployed to match specific needs or requirements. Each tool within the kit is part of an overall framework that guides projects from idea to completion. While the tools are important, they are only useful when employed by a skilled project team. The toolkit is a starting point for creating a customized process that is matched to specific needs of the organization. The toolkit is designed to provide the right tool at the right time. Some may be used for every project, while others may be used in limited scope. Selecting the right deployment lifecycle is important when customizing the toolkit. Most tools are used in all lifecycles, but the order and how they are used may change. Redside uses two basic forms of project lifecycles – Modified Waterfall and Iterative. These basic forms can be adapted to meet specific situations and requirements. The lifecycle needs to meet a project’s needs. Low risk projects that are clearly defined, that will not experience changing requirements, are excellent candidates for a modified waterfall. High risk, high visibility projects or projects with changing requirements are good candidates for an iterative or prototyping model. Figure 2.5 : Risk/Flexibility Redside Model 30 i. Modified Waterfall Lifecycle Model The modified waterfall lifecycle progresses from the start to the end of the project with little overall flexibility. At each stage, feedback is reviewed and rework can occur as each stage overlaps to some degree. Each stage is completed and work progresses to the next stage in a serial fashion. Figure 2.6 : Modified Waterfall Lifecycle Model 31 ii. Iterative Lifecycle Model Projects delivered with this model are a succession of iterations through which the system is developed or implemented. Each iteration concludes with the release of an executable product. This product may be a subset of the complete vision, but useful from a business or user perspective. Releases enable the development team to get closure at regular intervals and provide visibility to project progress. Regular releases also help break down the integration and test issues and spread them across the project lifecycle. These issues have often been the downfall of large projects because all problems were discovered at once during the single massive integration step Project components are updated during each iteration. This can be viewed as "growing" software. Instead of developing one after another in a pipeline fashion, components are evolving across the project life cycle. Figure 2.7 : Iterative Lifecycle Model 32 2.5 Chapter Summary Several aspects for the system implementation requirements have been studied and compared to suit with Collaborative Timesheet Management System (CTMS) implementation. From the study, it is not practical to adopt the current available timesheet systems in the market as these applications cannot satisfy KDEB Anzagain users’ requirements. Furthermore, this CTMS is focus more on time employ for every staff to conclude every project compare to current available timesheet system that includes billing and attendance modules. PHP is widely used Open Source generalpurpose scripting language that can be used on all major operating system and also support for most of the web servers today. MySQL is the most suitable database to be used in this implementation. In conclusion, this literature study has helped to determine the concept and technologies that are suitable for this new project implementation. 33 CHAPTER III METHODOLOGY 3.1 Overview Time Management has become an important success factor for an enterprise, especially courseware developer which is vital in sustaining the customer’s requirements and expectations. That is why Information technology (IT) plays a crucial role in time management. IT-Supported time management solutions play a crucial role in providing a needs and expectations of the people involved in or affected by project activities. In such a context, a system has to be modeled, appropriately structured and interlinked for supporting its flexible integration and its personalized presentation to the consumer. In consideration of creating a rapid development of a project, one may need a right tool to be implemented at the fastest time. The aim of developing the Collaborative Timesheet Management System is, that it should be delivered faster, with fewer personnel and more focuses on to the business and staff requirement aspect. From this chapter, some methodology will be identified and which are suitable to develop this system. 34 3.2 Justification For The Selected Methodology It is crucial to ensure that the development of the system is being done a shortest time possible, without sacrificing the quality of it. Therefore, it is essential to choose a reasonable and suitable methodology possible which will not only assist the developers to come out with a god quality system, but to make certain that it is being done in a more efficient and effective way. The methodology that had been chosen from those previously studied methodologies will be Rational Unified Process (RUP) Method. The rational to it is that this method provides a disciplined approach to assigning tasks and responsibilities within a development organization. Its goal is to ensure the production of high-quality software that meets the needs of its end-users, within a predictable schedule and budget. RUP enables all development team members access the same knowledge base, which they will share a common language, process and view of how to develop software. This will ensure that everybody that involves in the project will get the same idea and pursuit to the same path towards achieving the same goal. RUP also helps individual in system development during programming and testing stage by focusing by modules. RUP uses Unified Modeling Language (UML) as a tool to analyses, design, and model the user requirements and expectations into an understandable and re-structural way of presentation. The UML is an industry-standard language that allows developers to clearly communicate requirements, architectures and designs. All of it is being supported by tools, which enables developers to create and maintain various artifactsmodels in particular-of the software engineering process. RUP is a configurable model, which enables it to adapt into various kinds of project in terms of time duration, system size, and even resource volume. 35 3.3 Operational Framework Identifying the phases involved in the RUP model, and transferring all of the possible and expected activities, as well as possible deliverables into those identified phases. All of the phases have been explained in the previous sub topics. Below given the details of every core process workflows involved under each phases of RUP methodology for this respective Collaborative Timesheet Management System project. Figure 3.1 : Phases and Iterations of RUP Iterative Model There are nine core process workflows of engineering in RUP, which represents a partitioning of all workers and activities into logical groupings. 36 3.3.1 Business Modeling Workflow The first workflow for this methodology will involve a document business processes using so-called business use cases. This assures a common understanding among all stakeholders of what business process needs to be supported in the organization. The business use cases are analyzed to understand how the business should support the business processes. This is documented in a business object-model. The activities for this process are: i. Observation ii. Company Review The deliverables for this process are: 3.3.2 i. Company Profile ii. Business Architecture iii. Problem Statement iv. Organizational Strategies v. Literature Review Requirements Workflow The goal of the Requirements workflow is to describe what the system should do and allows the developers and the staff to agree on the description, which involves a lot of users’ involvement. This is to ensure that the developers know what the user’s situation is and what do them really wants. There will be interviews among developers and staffs, changing facts between parties, and agreement of description 37 The activities for this process are: i. Interview and Discussion The deliverables for this process are: 3.3.3 i. Use Case Diagram ii. Use Case Description iii. Sequence Diagram Analysis & Design Workflow The third workflow is to show how the system will be realized in the implementation phase. Analysis & Design results in a design model and optionally an analysis model. The design model serves as an abstraction of the source code; that is, the design model acts as a 'blueprint' of how the source code is structured and written. The design model consists of design classes structured into design packages and design subsystems with well-defined interfaces, representing what will become components in the implementation. It also contains descriptions of how objects of these design classes collaborate to perform use cases. The deliverables for this process are: i. Class Diagram ii. Package Diagram iii. Database Diagram 38 3.3.4 Implementation Workflow This workflow will ensure that all of the design will transfer into series of codes, which will eventually fulfill the initial customer requirements. Besides that, the developed components codes, or in other words act as modules and functions, will be tested in terms of integration between different related modules and functions. The activities for this process are: i. Implement classes and objects in terms of components (source files, binaries, executables, and etc) ii. Test the developed components as units. iii. Integrate the results into an executable system. The deliverables for this process are: 3.3.5 i. PHP codes ii. HTML Codes iii. User Interfaces iv. Functions and Modules v. Databases Test Workflow In this Test workflow is to test the overall functionality of the system that involves testing out the integration of objects, and components. This allows finding defects as early as possible, which radically reduces the cost of fixing the defect. Further to that, activity of ensuring that all requirements have been correctly implemented will also be done. 39 The deliverables for this process are: i. 3.3.6 User Acceptance Test Deployment Workflow The purpose of the deployment workflow is to successfully produce product releases, and deliver the software to its end users. The activities will include the installation and configuration of the system according to KDEB Anzagain environment. Training will also be provided to ensure that all of the users fully utilize the system to its full features. The activities for this process are: i. Installation and Configuration The deliverables for this process are: i. User Manuals ii. Training Sessions iii. User Support 40 3.4 Project Plan To develop a system we require a systematic project plan therefore all the work process is under control and efficient. For this system we need two phases to complete develop the system. The phases are: i. Phase I – Project 1 Plan for Semester 2 2004/2005 (Refer to Appendix B) ii. Phase II – Project 2 Plan for Semester 2 2005/2006 (Refer to Appendix C) 3.5 Chapter Summary As discussed above, the methodology that will be used in this CTMS implementation is Rational Unified Process (RUP) Method. The rational to it is that these methods provides a disciplined approach to assigning tasks and responsibilities within a development organization and uses Unified Modeling Language (UML) as a tool to analyses, design and model the user requirements and expectations into an understandable and re-structural way of presentation. There are six process workflows involved for this development disciplines, namely Business Modeling, Requirements, Analysis and Design, Implementation, Test and Deployment. 41 CHAPTER IV SYSTEM DESIGN 4.1 Overview In this chapter, detail study and analysis of the current environment including its organizational structure, business processes, project information flow ad IT infrastructure and systems used are being conducted. We will discuss system specification resulted by the design and analysis that were derived by the usage of UML. The output in the chapter will includes the organizational analysis, cureent business process and data model, user requirements, conceptual design, physical design and hardware requirements. 42 4.2 Organizational Analysis KDEB Anzagain Sdn Bhd (KASB) has over its seven years of operation managed attained a name for itself in the IT on Education Industry based on their performance and delivery. Their performance has open new doors that have resulted in KASB being able to have more business opportunities from present as well as new clients. KASB has formulated a vision and mission that will guide the pathway that would augur ‘the wired – schools of today and tomorrow’. After a detailed analysis of the education and the IT environment currently, their position to venture aggressively in the competitive Malaysian today’s market, apart from looking beyond the geographical of Malaysia. Specifically, KASB is positioning itself on selected core business areas. The identified core business is in the area of education, content development which includes the development of multimedia product and services (electronic publishing/courseware development), education portal, online products and services, training and consultancy on education and IT. KASB will also be the receiver for any content development works required by or through the broadband business company, VDSL Network Sdn Bhd. Apart from the budgeted project, they have the following plans in their business pipeline:i. Webitization of the current Smart School courseware for the National Rollout purposes ii. Courseware marketing and distribution to Indonesia iii. Bid directly to the Ministry of Education for the project like teacher courseware and smart school iv. Market some digital library content development works for the libraries nationwide 43 Generally, the company will focus on educational products that are formal and non-formal education targeted at primary and secondary schools pupils, parents, the general public and other educational business organizations. It has been an increasing concern globally towards multimedia educational products, which improves teaching and learning techniques. As a result, it is crucial to be able to monitor all project developments and to ensure that they are delivered within the stipulated contract period or less. By being able monitor all these projects effectively, KASB is capable to reduce its cost of project development and operations besides gaining government confidence to give more projects in the future. Chief Executive Officer (CEO) heads KASB and assist by General Manager, and the organization is divided into four divisions that are Content, Technical Development, Corporate Support and Business Development and Marketing division that report directly to CEO as depicted in Figure 4.1. Figure 4.1 : KASB Organizational Structure 44 At present, KASB has a simple LAN based infrastructure due to no demand of any critical business systems such as SAP. It is a Gig-E based network with a firewall at the gateway for security purposes. All of the servers are being populated in a secured zone (DMZ) to avoid any unauthorized network users accessing company’s data. All users have been equipped with one unit of personal computer each and they have their own email ids and they also are permitted to access to the internet via Streamyx 1MB connection. See Figure 4.2 the current KASB IT infrastructure. Figure 4.2 : KDEB Anzagain Infrastructure 45 4.3 Current Business Process and Data Model Requirements study is to learn the existing situation of how the process flow of data, understanding the current business processes, what are the users’ current problems and future needs, how they want the future system to be functioned, and so on. With this information, it will help to build the system specifications in later phase. In order to compile all the users’ requirements, activities such as interviews, meeting and brainstorming with the users have been conducted with the objective to know their current business operations, have thorough understanding users and organization problems, and their expectations of the future system. The diagrams are used for better understanding to exemplify company’s business process and data model. The diagrams concerned are Use-Case Diagram with description, Sequence Diagram and Activity Diagram. (Refer to Appendix D) Manage Task Project Manager Manage Client Write Timesheet Figure 4.3 : Staff KASB Current Business Process Use Case Diagram 46 Project Awarded Receive project specification : Project Manager Project Meeting Weekly Meeting Analyze project specification Assign task to staff View staffs timesheet form Staff update task progression Monitor task progress Figure 4.4 : Sequence Diagram for Manage Task With the current business process there are some weaknesses that the users are facing:i. Manual documentation – staff required to do the timesheet manually to identified their assignment and total time they need for every task given by superior. The management will only depend on the hardcopy of timesheet documentation and sometimes the filing system are not complete and the document sometimes missing. 47 ii. Lack of task monitoring – it is hard to keep track project progression and it only depends on timesheet form and project progression meeting. It will ultimately cause a project to be over cost and over schedule. iii. Lack of assignment delegation – problem might lead to miscommunication and not every staff will get the exact message and instruction. It could lead to redundant work between staffs. 4.4 User Requirements The finalize user requirements through the above analysis and study are:i. The Project Manager should be able to add, update and view the projects and clients information easily. Project Manager also should be able to delegate task to staff through the system without misleading informed instruction. All of this can be done remotely via web based application and can be edited at any point of time. ii. The Staffs should be able to view their ‘To Do List’ for every task given by superior and update their daily timesheet easily. Staffs also should be able to manage their profile details through the system. 48 iii. The report are automatic generated obtain via the system when Project Manager and Management need to view the report that indicated the total time and cost occurred for the projects and staffs. iv. Users of the system are defined as Project Manager, Management, Staff and System Administrator. Each of the users should have a different type of access level which will be identified during the system design. 4.5 Conceptual Design Consequently in this topic we produce a system conceptual design for processes, data model and system architecture using Object Oriented method that generates diagrams such as Use-Case Diagram with description, Sequence Diagram and Activity Diagram. With these diagrams we can illustrate and comprehend to develop CTMS with better understanding. 4.5.1 Business Process and Data Model As discussed earlier, few diagrams need to be created to exemplify business process and data model that will be used to develop this new system. The diagrams involved are Use-Case Diagram with description, Sequence Diagram and Activity Diagram. (Refer to Appendix E) 49 Manage Project Project Manager Manage Client Manage Task View Report Management Change Password Staff Manage Timesheet System Administrator Maintain System Figure 4.5 : CTMS Business Process Use Case Diagram As depicted on Figure 4.5 CTMS business process have 7 main use case and it will represent each modules for this system. 50 Main System : Project Manager Project Page Task Page dbProject dbTask Select project menu Request for project list View list of projects Select project Request for selected project details View selected project details Assign task to staff Update database Monitor task progress Figure 4.6 : CTMS Sequence Diagram for Manage Task : Management Main System Report Page Database Select report menu Request report list View list of reports Select report Request selected report Generate selected report Analysis report Figure 4.7 : CTMS Sequence Diagram for View Reports 51 : Staff Main System Timesheet Page dbTimesheet Select timesheet menu Request for timesheet View timesheet View/Update timesheet & task progress Update database Figure 4.8 : CTMS Sequence Diagram for Write Timesheet Start Main interface Select "Client" menu List of clients Select client Client details page Add/Update client details Submit Cancel End Figure 4.9 : CTMS Activity Diagram for Manage Client 52 Start Main interface Select "Project" menu List of projects Select project Project details page Assign task to staff View task progress End Submit Cancel End Figure 4.10 : CTMS Activity Diagram for Manage Task 53 4.5.2 System Architecture (Conceptual Design) System architecture is determined through user interaction rather than a formal documentation. See Figure 4.11 that shows the overview of the propose CTMS system architecture that will be implemented at KASB. Summarize that KASB requires a 2-tier architecture system that runs on web based technology. Users from various groups are able access directly to the system via local area network (LAN) where it enables of sharing the same information through out the organization. Updating timesheet and view reports can be done remotely. Figure 4.11 : CTMS Conceptual System Architecture 54 4.6 Physical Design In this topic, we portray a thoroughly original design of the conceptual design that has been done in earlier topic. That is involved database design, program (structure) chart, interface chart, detailed modules/features and system architecture (physical design). . 4.6.1 Database Design A suitable database design is significant factor to be focused on. This will result in flexibility in design reports and screen generation. It is identified that CTMS requires seven tables that are Assignment, Client, Project, Task, Task Assignment, Timesheet and User. From the study; the field name, attribute of each table have been identified as listed below. These tables listed all detail information that the users required to have additional to the common data as mentioned above. Based on the table created, the Project Identification will be unique key (primary key) for the CTMS implementation that enables to differentiate the projects and its details accordingly. Table 4.1 : CTMS Table – Assignment Field Name Attribute Description proj_id int(11) Project Identification username char(32) Username 55 Table 4.2 : CTMS Table – Client Field Name Attribute Description client_id int(8) Client Identification organization char(64) Organization Name description varchar(255) Client Description address1 varchar(127) Address city varchar(60) City state varchar(80) State country char(2) Country postal_code varchar(13) Postal Code contact_first_name varchar(127) Contact First Name contact_last_name varchar(127) Contact Last Name username varchar(32) Client Username contact_email varchar(127) Contact Email phone_number varchar(127) Phone Number gsm_number varchar(20) GSM Number http_url varchar(127) Client Website URL address varchar(127) Address 2 Table 4.3 : CTMS Table – Task Assignment Field Name Attribute Description task_id int(8) Task Identification username char(32) Username proj_id int(11) Project Identification 56 Table 4.4 : CTMS Table – Project Field Name Attribute Description proj_id int(11) Project Identification title varchar(200) Project Title client_id int(11) Client Identification description varchar(255) Project Description start_date date Start Date dateline date Dateline http_link varchar(127) Project Website proj_status enum(‘Pending’, ‘Started’, ‘Suspended’, ‘Complete’) Project Status proj_leader varchar(32) Project Leader Table 4.5 : CTMS Table – Task Field Name Attribute Description task_id int(11) Task Identification proj_id Int(11) Project Identification name varchar(127) Task Name description text Task Description assigned datetime Date and Time started datetime Date and Time suspended datetime Date and Time completed datetime Date and Time status enum(‘Pending’, ‘Assigned’, ‘Started’, ‘Suspended’, ‘Complete’) Status 57 Table 4.6 : CTMS Table – Timesheet Field Name Attribute Description uid varchar(32) User ID start_time datetime Start Time end_time datetime End Time trans_num int(11) Transaction No proj_id int(11) Project Identification task_id int(11) Task Identification log_message varchar(255) Message Table 4.7 : CTMS Table – User Field Name Attribute Description username char(32) Username level int(11) Level Access password varchar(16) Password allowed_realms varchar(20) Level first_name varchar(40) First Name last_name varchar(40) Last Name email_address varchar(63) Email Address phone varchar(31) Phone Number bill_rate decimal (8,2) Bill Rate uid int(11) User ID 58 4.6.2 Program (Structure) Chart Below chart depicts the overall system structure of CTMS. Every user that wishes to access the system, they require to go through the login page first before they are allowed to proceed with the other interface. Once in, they are have full grant to access the system based on they access level. Each interface page will have its own module and functions involved. All of the modules and functions are described in the next sub topic. Figure 4.12 : CTMS Structure Chart 59 4.6.3 Interface Chart Chart below illustrates the overall interface available for the system. Consist of 29 major interfaces, all of which are centrally connected to CTMS main page. Due to security and operational reasons, individual users will have different type of interface access that relays to their specific operation action. Figure 4.13 : CTMS Interface Chart 60 Figure 4.14 : Figure 4.15 : CTMS Login Page Interface CTMS Project Manager Main Page Interface 61 4.6.4 System Modules and Features Based on the conceptual design that was done earlier in this chapter, where business process and data model has been identified using OO methodology, we can then use above system interface chart as a point of reference in designing system modules and functions in CTMS system should or must have. As what the system interface has been designed; 7 of the interfaces are some what crucial to the system functionalities, hence modules that should be designed can be listed into 7 major modules:- i. Calendar Module Once user login to the system the program will authenticate the username and password, and will directed the request to calendar page or referred as a main page according to their access rights. This is also to facilitate the different levels of admittance, depending on user’s rights. In a nutshell, this module receives user’s loginid together with password and verifies the validity of it so that access is granted. This module will be accessible by all users and they can view their tasks and activities for the whole month. ii. Client Module After project has been awarded to KASB, Project Manager has to create Client account and update their information. This module will list down the client exist in the system and if Project Manager want to add new client information and it will only be generating when Project Manager click Add New Client from Client Main Page. After completion of the entries, Project Manager just clicks Add New Client to save the input. This module also provides to Delete or Edit existing client information. 62 iii. Project Module This module is accessible by Project Manager main to add new and update project information. The processes involved are more likely as client registration module. Project main page shows start and also deadline projects, tasks involved, the project leader and staffs in addition for specific projects for existing projects. If Task has been created it will also appear at the Project main page and it also stated the Project belongs to whom Client. iv. Weekly Timesheet Module This module will be accessible by all users to view and add their tasks assigned or activities that have been done for the whole week. This system gives an option to users to view either weekly or monthly as at Calendar Module. When the users want to update timesheet, a popup window will appear and users have to select Client and Project involve, Task given, Clock on and Clock off required to finish the task. Each time users update their timesheet they have to enter a Log Message for every tasked that has been done. v. Task Module This module is also will be accessible by all users to delegate the task assignment to the assign user. If users select specific Client and Projects, a list that has been assign to user will appear at the main page. They can only access to their own task information where the program will match the task identification and project identification. Assigned user will update their task status by choose ‘Pending’, ‘Assigned’, ‘Started’, ‘Suspended’ or ‘Complete’ and write a message or note afterward. 63 vi. Reports Module This module is accessible by Project Manager and Management only. A list of reports will be displayed and user needs to choose which report to be executed. Some reports will have the option to limit the output based on the selection criteria. These reports are pre-formatted and hard coded in the program. Customization is required if there is a need to change the report format, or whenever the user requires more report options. The total time and cost for staff will be calculated and report will be generated. vii. Administrator Module This module will only be accessible by Administrator and he will add a new user for using CTMS. There are four levels in this system namely Project Manager, Management, User/Contractor and Administrator and when new user has been added the user will identified which level he is in. This module also provides Administrator to Edit and Delete user. 4.6.5 System Architecture (Physical Design) Earlier sub chapters a conceptual design of CTMS system has been identified. Therefore, after identified the entire system module, we can then plan out the physical design of the system architecture. Below picture depicts the overall physical design of system architecture. CTMS will essentially consist of 3 major components namely HTML scripts, PHP scripts and MySQL database. 64 HTML scripting is used to represents all of the PHP scripts to the system users through the web server engine which is either Apache or Internet Information Service (“IIS”). With that the user would able to access the system by using any type of web based application tool such as Microsoft Internet Explorer or Netscape Navigator from their desktop PC, provided that they are either connected to the server LAN. Figure 4.16 : System Architecture (Physical Design) 65 4.7 Hardware Requirements This is a client-server architecture where a server is required to host the application and the database while the users will access to the server to retrieve information from their desktops via KASB’s local area network (LAN). The following are the hardware requirements for the implementation of CTMS:i. Server requirements – Intel Pentium 4 with minimum 516MB RAM memory, 30GB X 3 unit of hard disk for raid, tape back up drive and a network card 10/100. ii. Personal computer requirements – Intel Pentium 4 with minimum 256MB RAM memory, 30GB hard disk and a network card 10/100. The following are the software requirements that will be used in the implementation:i. Minimum Windows 2000 as operating system for the server ii. Windows XP as operating system for the users PC iii. Microsoft Office for documentation iv. MySQL as database v. PHP for scripting engine for web server vi. Macromedia Dreamweaver for editing vii. Internet Explorer 66 4.8 Test Plan Testing is very important to any new or enhanced system implementation. Testing will minimize the newly developed system from major system bugs or errors, to ensure all functionality specify in the specification and designs are carried out according to the implementation coding, and so. With proper testing, the new system will be able to operate smoothly and less downtime will be expected. For this implementation, four types of testing will be conducted, namely unit testing, integration testing, system testing and most importantly user acceptance testing (UAT) that will be explained in detail in Chapter V. Except for UAT, the development or technical team can do the other three testing without involving users. Before handing over the system, user must test the system and sign off the UAT to officially accepting the system. During each type of testing, any bugs or errors found must be rectified accordingly before system rolls out. Retesting is required to ensure all bugs have been fixed. 67 4.9 Chapter Summary With thorough system analysis and with good system design, the implementation or development phase will progress smoothly as the critical part of system implementation has been taken care of. Basically for CTMS implementation, there are eight main modules will be developed. Organizational analysis, current business process and data model, conceptual and physical design are discussed here. System testing plan, which has four type of testing such as unit test, integration test, system test and user acceptance test, is briefly mentioned. 68 CHAPTER V DESIGN IMPLEMENTATION AND TESTING 5.1 Overview After system design and analysis completed, next step to develop CTMS is implementation that involved development activities of the system. It includes few activities for instance hardware and software installation and configuration, programming or coding, testing and training. Although the system is completed, it is very important to get the user to sign off before the handing over the system to them to formalize that they are accepting this new system. System documentations such as user manual and system administrator manual need to be prepared and hand over too to users as a guideline for them to use the system correctly and for system maintenance. 69 5.2 Implementation Strategies There are several important of aspects need to be focused on during this implementation phase in order to ensure a successful system development. Organization can adopt many implementation strategies in order to reduce the risk of incurring serious business problems during transition and implementation. In this Collaborative Timesheet Management System (CTMS) implementation, it is best to adopt the Phased Implementation where it develops the new system one module at a time. Since there are seven (7) main modules involved, the first module to be implemented will be Client followed by Project, Calendar, Task, Weekly Timesheet, Reports and lastly, System Administration modules. 5.3 Coding Approach Before starting any programming, it is crucial to ensure that all required hardware and software for this project implementation including the operating system, Apache/IIS, PHP, Dreamweaver and MySQL are being installed and configured properly. Antivirus software is also required to avoid future virus attacks. 5.3.1 Database Development The database to store CTMS information is MySQL, an open source database solution. Before starting the system coding, the database has to be setup and configured. As specified in Chapter IV, the database structure including its tables and fields are created. Refer to Appendix F for the database table details, which have been developed using MySQL. Basically, the project_id field will be the primary key and the 70 most unique in order to link all the information together. A well-planned database structure design is very important because it will later give some impacts in producing reports and controlling the records update. 5.3.2 Programming The programming language that is used for this implementation is PHP or stands for Hypertext Preprocessor. It slots into the web server and processes instructions contained in a web page before that page is sent through to the web browser. The CTMS implementation is done by phases, which will be described in the following module description:- i. User Login and Calendar Module Once user login to the system the program will authenticate the username and password, and will directed the request to calendar page or referred as a main page according to their access rights. In Figure 5.1, a snapshot of the program username verification. The program will determine which menu screen the user can access. <? require("class.AuthenticationManager.php"); if (isset($_POST["username"]) && isset($_POST["password"])) { if (!$authenticationManager->login($_POST["username"], $_POST["password"])) $loginFailure = true; else { if (!empty($_REQUEST["redirect"])) header("Location: $_REQUEST[redirect]"); else header("Location: calendar.php"); exit(); } } Figure 5.1: Snapshot of Username Authentication 71 ii. Client Module Client Module is the second module that is being developed. It is particularly for the Project Manager. User can choose the task that they want to do from the selection menu on top of the screen to view calendar and weekly timesheet, tasks, execute reports, add new clients or projects records; change password or log out from the system. <? require("class.AuthenticationManager.php"); require("class.CommandMenu.php"); if (!$authenticationManager->isLoggedIn() || !$authenticationManager>hasClearance(CLEARANCE_ADMINISTRATOR)) { Header("Location: login.php?redirect=$_SERVER[PHP_SELF]&clearanceRequired=Administrator"); exit; } $dbh = dbConnect(); $contextUser = strtolower($_SESSION['contextUser']); $action = $_REQUEST["action"]; $client_id = isset($_REQUEST["client_id"]) ? $_REQUEST["client_id"]: 0; $organisation = isset($_POST["organisation"]) ? $_POST["organisation"]: ""; $description = isset($_POST['description']) ? $_POST['description']: ""; $address = isset($_POST['address']) ? $_POST['address']: ""; $country = isset($_POST['country']) ? $_POST['country']: ""; $postal_code = isset($_POST['postal_code']) ? $_POST['postal_code']: ""; $contact_ name = isset($_POST['contact_ name']) ? $_POST['contact_ name']: ""; $client_username = isset($_POST['client_username']) ? $_POST['client_username']: ""; $contact_email = isset($_POST['contact_email']) ? $_POST['contact_email']: ""; $phone_number = isset($_POST['phone_number']) ? $_POST['phone_number']: ""; $http_url = isset($_POST['http_url']) ? $_POST['http_url']: ""; if ($_REQUEST['action'] == "add") { dbquery("INSERT INTO $CLIENT_TABLE VALUES ('$client_id','$organisation','$description','$address1','$city'," . "'L','$country','$postal_code','$contact_first_name','$contact_last_name', '$client_username'," . "'$contact_email','$phone_number','$fax_number','$gsm_number', '$http_url','$address2')");} elseif ($action == "edit") { $organisation = addslashes($organisation); $description = addslashes($description); $address = addslashes($address); $country = addslashes($country); $postal_code = addslashes($postal_code); 72 $contact_ name = addslashes($contact_ name); $client_username = addslashes($client_username); $contact_email = addslashes($contact_email); $phone_number = addslashes($phone_number); $http_url = addslashes($http_url); $query = "UPDATE $CLIENT_TABLE SET organisation='$organisation',". "description='$description',address1='$address1',city='$city',". "country='$country',postal_code='$postal_code',". "contact_first_name='$contact_first_name',". Header("Location: client_maint.php"); ?> Figure 5.2: Snapshot of Add New Client Figure 5.3: Add New Client Interface 73 iii. Project Module The second phase is to develop Project modules. This module is accessible by Project manager main to add new and update project information. This module will keep project identification (pro_id) and to match with client identification (client_id) involved. <? Exp $ require("class.AuthenticationManager.php"); require("class.CommandMenu.php"); if (!$authenticationManager->isLoggedIn() || !$authenticationManager>hasClearance(CLEARANCE_ADMINISTRATOR)) { Header("Location: login.php?redirect=$_SERVER[PHP_SELF]&clearanceRequired=Administrator"); exit;} $dbh = dbConnect(); $contextUser = strtolower($_SESSION['contextUser']); $commandMenu->add(new TextCommand("Back", true, "javascript:history.back()")); $client_id = isset($_REQUEST['client_id']) ? $_REQUEST['client_id']: 1;?> <? include("timesheet_face_part_1.inc"); ?> Add New Project</td></tr></table> <? include("timesheet_face_part_2.inc"); ?> <td align="right">Project Title:</td> <tr><td align="right">Client:</td> <td><? client_select_list($client_id, 0, false, false, false, true); ?></td> </tr><tr><td align="right" valign="top">Description:</td> <td><textarea name="description" rows="4" cols="40" wrap="virtual" style="width: 100%;"></textarea></td></tr> <tr><td align="right">Start Date:</td> 74 <td><? day_button("start_day"); month_button("start_month"); year_button("start_year"); ?></td></tr> <tr><td align="right">Deadline:</td> <td><? day_button("end_day"); month_button("end_month"); year_button("end_year"); ?></td></tr> <tr><td align="right">Status:</td> <td><? proj_status_list("proj_status", "Started"); ?></td></tr> <tr><td align="right" valign="top">Assignments:</td> <td><? multi_user_select_list("assigned[]"); ?></td></tr> <tr><td align="right">Project Leader:</td> <td><? single_user_select_list("project_leader"); ?></td></tr></table></td> <tr><td align="center"><input type="submit" name="add" value="Add New Project"></td></tr></table></td></tr></table> <? include("timesheet_face_part_3.inc"); ?> </td></tr></table></form> <?php include("footer.inc"); ?></body></html> Figure 5.4: Figure 5.5: Snapshot of Edit Project Edit Project Interface 75 iv. Weekly Timesheet Module This module will be accessible by all users to view and add their tasks assigned or activities that have been done for the whole week. This system gives an option to users to view either weekly or monthly as at Calendar Module. <? class TaskInfo extends Pair { var $projectId; var $projectTitle; var $taskName; function TaskInfo($value1, $value2, $projectId, $projectTitle, $taskName) { parent::Pair($value1, $value2); $this->projectId = $projectId; $this->projectTitle = $projectTitle; $this->taskName = $taskName; }} list($qh3, $num3) = dbQuery($query); $structuredArray = array(); $previousTaskId = -1; $currentTaskId = -1; for ($i=0; $i<$num3; $i++) { $data = dbResult($qh3,$i); $data["start_time"] = strtotime($data["start_time_str"]); $data["end_time"] = strtotime($data["end_time_str"]); $currentTaskId = $data["task_id"]; $currentTaskStartDate = $data["start_time"]; $currentTaskEndDate = $data["end_time"]; $currentTaskName = stripslashes($data["taskName"]); 76 $currentProjectTitle = stripslashes($data["projectTitle"]); $currentProjectId = $data["proj_id"]; $taskCount = count($structuredArray); unset($matchedPair); for ($j=0; $j<$taskCount; $j++) { if ($structuredArray[$j]->value1 == $currentTaskId) { $matchedPair = &$structuredArray[$j]; break;}} if (!isset($matchedPair)) { for ($j=0; $j<7; $j++) { $taskEventTypes = array(); for ($k=0; $k<4; $k++) $taskEventTypes[] = array(); $daysArray[] = $taskEventTypes;} $matchedPair = new TaskInfo($currentTaskId, $daysArray, $currentProjectId, $structuredArray[] = $matchedPair; $matchedPair = &$structuredArray[count($structuredArray)-1];} for ($k=0; $k<7; $k++) { $startsOnPreviousDay = ($currentTaskStartDate < ($startDate + $k * A_DAY)); $endsOnFollowingDay = ($currentTaskEndDate >= ($startDate + ($k + 1) * A_DAY)); $startsToday = ($currentTaskStartDate >= ($startDate + $k * A_DAY) && $currentTaskStartDate < ($startDate + ($k + 1) * A_DAY)); $endsToday = ($currentTaskEndDate >= ($startDate + $k * A_DAY) && $currentTaskEndDate < ($startDate + ($k + 1) * A_DAY)); if ($startsOnPreviousDay && $endsOnFollowingDay) $matchedPair->value2[$k][0][] = $data; 77 else if ($startsOnPreviousDay && $endsToday) $matchedPair->value2[$k][1][] = $data; else if ($startsToday && $endsToday) $matchedPair->value2[$k][2][] = $data; else if ($startsToday && $endsOnFollowingDay) $matchedPair->value2[$k][3][] = $data; }} $previousProjectId = -1; $allTasksDayTotals = array(0,0,0,0,0,0,0); $count = count($structuredArray); unset($matchedPair); for ($i=0; $i<$count; $i++) { $matchedPair = &$structuredArray[$i];print "<tr>"; if ($matchedPair->projectId != $previousProjectId) print "<td class=\"calendar_cell_middle\" valign=\"top\">" . "<a href=\"javascript:void(0)\" onclick=\"javascript:window.open ?> Figure 5.6: Snapshot of Weekly Timesheet Coding 78 Figure 5.7: v. Weekly Timesheet Interface Task Module This module is also will be accessible by all users to delegate the task assignment to the assign user. They can only access to their own task information where the program will match the task identification and project identification. Assigned user will update their task status by choose ‘Pending’, ‘Assigned’, ‘Started’, ‘Suspended’ or ‘Complete’ and write a message or note afterward. vi. Reports Module The Report module is accessible by Project Manager and Management only. A list of reports will be displayed and user needs to choose which report to be executed. Some reports will have the option to limit the output based on the selection criteria. These reports are pre-formatted and hard coded in the program. Customization is required if there is a need to change the report format, or whenever the user requires more report options. 79 5.4 Testing Testing is critical for a newly developed system before it is put into production. From the testing, it will provide users the confidence of using the new system besides assessing its quality. There are several important testings need to be conducted in order to ensure the system is free of bugs, functions according to its specifications, all user requirements have been incorporated, data integrity is preserved, and flow of information is consistent. For this project, four levels of testing are being conducted, namely, unit testing, integration testing, system testing, and user acceptance testing. 5.4.1 Unit Test Unit test is where the system is tested partially and independently, module by module, to ensure that particular portion or module is workable within it. In this project, each module is tested individually before the integration test. Basically, this unit test will verify that every input of data is being allocated correctly in the appropriate tables and fields. Re-testing is required after modification if the programs are not functioning as it supposed to be. i. Project and Client Module In this unit testing, it is important to see the data for the project and client is being updated into the Project and Client tables accordingly. The project leader and members will be define in this module. User with proper access rights should be able to add, view and edit the information via this module. ii. Calendar and Weekly Timesheet Module This module is where the information about task assigned and acitivities that have been done is being added, edited and viewed. Here, proper testing to ensure the 80 information is being updated as expected. Whenever the client and project has been select, the task has been assigned must be appeared for specific user. After updated the task assigned or activities that have been done by clicking the clock on and clock off this module will accumulate the time consumed for each activity. Testing for each above mentioned functions are required. iii. Reports Module Unit testing for this module is important as this module execute reports and viewed the total time and cost consumed for each projects or staffs. This module only involved Project Manager and Management. iv. System Administrator Module In this module, testing of each user profile access rights is very important. Testing needs to be thoroughly conducted for each user group access, and also to ensure the user profile is not overlapping. 5.4.2 Integration Test Integration test is where a combination of several portions or modules/submodules of programs are being tested sequentially and continuously. All the modules programs mentioned above will be executed in sequence continuously to ensure that the centralized databases are updated accurately. Furthermore, there is another integration testing is required that is to access the system using internet explorer via internet for the external parties, contractors or consultants, to view their payment status. 81 5.4.3 System Test A system is normally consists of all components that makeup the total system to function. Overall system test is required to ensure the smooth running of the system as a whole, and it should perform as expected and as required. Any errors or bugs should be noted and analyzed. The system test for this project includes technical testing such as hardware, operating system, database and infrastructure testing, and functional testing that will test the overall system functionality which will be described in detail below. 5.4.3.1 Technical Testing The main components in the technical testing, which usually will be conducted by the technical team is as follows: i. Hardware – Running a stress test to the hardware is a must by letting the hardware running continuously for at least forty-eight hours. Test the backup device is workable. ii. Operating System – Technical team must ensure the operating system is properly installed, free from viruses, having the latest patches, and free from any system errors that might disrupt the CTMS system operations later on. iii. Database – Before putting the actual records into the database, it must be tested of the data integrity, and no errors when updating, editing or deleting records. Also, need to conduct volume testing by simulating during peak and normal workloads. 82 iv. Infrastructure – Proper testing of CTMS system over the LAN (local area network) infrastructure is necessary to guarantee an acceptable response time because this is the backbone of communication for a successful system implementation v. User Authorization Access Rights – Authorization access rights for the users and system administrator are functioning accordingly. 5.4.3.2 Functional Testing This is to ensure that all business related functions and processes are supported by the application, the flow of data and screens are logical for each business process, and they are conformed to the user requirements and parallel with the organization’s business objectives. Each module has its own user group that have specific authorizations and functions that require to test to ensure they are functioning as predicted. Whenever reports are being executed, the results should be consistent with the entered queries. Also, the output results should be parallel with the source data in the database. 5.4.4 User Acceptance Test This is a very critical phase for any system implementation. It leads to formal ‘acceptance’ of the new system. User Acceptance Test (UAT) requires significant involvement by end users to test the new system as if it is in real life. Before starting the UAT, there are several things that need to be setup and prepared in order to achieve a successful acceptance test. 83 5.4.4.1 Setting Up UAT Team First of all, a team that consists of developer and the user needs to be setup. The users are representatives from each division and senior management who understand the business functions, and able to ensure the system is providing the required functionality and outcome. 5.4.4.2 User Acceptance Test Plans A set of Test Plan is normally developed in order to plan precisely and in details of the expected results from the testing that will be conducted by the end user. The test should also provide realistic and adequate exposure of the system to all reasonable expected events that conform to the user requirements and main objective of this system implementation. Basically, the analysts need to plan the test based on the initial application of the project system requirements. The analysts will first define the criteria and design how the test is to be conducted before preparing the detailed test scripts to be executed by the users during the UAT in order to verify the system is working as expected. 5.4.4.3 User Acceptance Testing Categories This is where the users execute the test scripts, and document the test results formally for further action by the developer. After the testing, all results and comments from the UAT need to be evaluated of its impact to the system production date. There are usually three (3) categories of severity such as below:- i. Minor – continue with the testing; rectification time minimum which able to meet production date. 84 ii. Major – continue with the testing; major modification is required which might delay the production date. iii. Critical – stop testing due to severe disruption to the business process flow or major data integrity problem. Any defects need to be rectified, and later to be retested before signing off the UAT form to indicate that the system has passed all tests within acceptable margins. Finally, the project sponsor will sign off the final acceptance of the system before putting it into production. 5.5 System Documentations System documentation is very important to any system implementation. It describes the requirement, methodology, and procedures to be followed and fulfilled. It also provides a frame of reference with regards to the implementation process. 5.5.1 User Manual The user manual provides a walk through of Project Information System. Basically, it tells on how to use the system step-by-step. This document will be given to the end users for reference. 5.5.2 System Administrator Manual The system administrator manual is usually for IT staff to maintain and give support to the users. The manual provides details on how to manage and maintain the system, and it is very useful as reference whenever the system has problems. The manual is attached in Appendix G. 85 5.6 Chapter Summary This Chapter V is where the CTMS system implementation took place. CTMS is developed based on system design proposed in Chapter IV. Some screen and program snapshots from CTMS programs have been included in this chapter. Here, system implementation strategy is by phase where one module is developed at one time. Several types of testing are required to be conducted in order to ensure the system is free from system errors or bugs. Proper system documentation is required in order to maintain and provide support to the users. User manuals, on the other hand, can be the reference documents for users to effectively navigate the system smoothly. 86 CHAPTER VI ORGANIZATIONAL STRATEGIES 6.1 Overview As define by McGraw Hill in its Online Learning Center, organizational strategy deals with how to make management’s strategic vision for the company a reality and it represents the game plan for the company into an attractive business position and building a sustainable competitive advantage. It normally uses collaboration approach to designing plans and managing people, processes and resources. Strategy is usually a long-term plan for the organization to stay competitive and able to reduce unexpected risks. In order to ensure the success of Collaborative Timesheet Management System (CTMS) implementation, there are some main area needs to be carefully planned and focused on such as the roll-out strategy, change management, data migration plan and business continuity plan which will be discussed in detail. Finally in this chapter, comparisons between the current and the new system need to be analyzed detailing the expected organizational benefits or gains from CTMS implementation. 87 6.2 Roll-out Strategy Roll-out strategy is part of system deployment activities. The intention to have a roll-out strategy is to ensure the new system is well accepted by all users during its deployment. In order to reduce the risk of incurring serious business problems during implementation and transition there are many roll-out strategies that an organization can adapt to for moving the new system into production environment. Two types of roll-out strategy are used for the whole roll-out implementation as mentioned below:- i. Pilot Implementation – system replacement for a targeted population in the organization, and increasing the target over time. ii. Phased Implementation – production of the system component by component. Normally phased implementation strategy is used for the overall roll-out implementation plan. Nevertheless, the pilot implementation strategy is being adopted in the first phase where it introduces the whole new system to a particular group of users before extending the usage to the enterprise wide. See Table 6.1 below for detail roll-out strategy. Table 6.1 : Roll-out Strategy Pilot Level Level 1 Duration System User System Function Remarks 2 weeks Project Manager Manage client and task Level 2 1 week Report Level 3 Level 4 1 week 1 week Project Manager, Management Staffs System Administrator To manage client information and task delegation to staffs To view report Manage timesheet Maintain system To manage timesheet To maintain system 88 The first user that is going to use the CTMS system is Project Manager as they are the initiator of every awarded project, and one of the main users for this new system. Here, the user will start using this system for the first time. From this roll-out activity, feedbacks and comments from users with regards to the system functionality, performance, bugs, or accessibility will help to further improve the system for betterment. Other benefits that the organization can gain from this pilot roll-out implementation are system stability and confidence from the users. The next group to use the system is KASB staffs who manage and updating timesheet regularly. After rectifications and enhancement, the system will then extend to all users. The strategy is to introduce the system gradually to smaller group of people because it is easier to focus and control group besides educating and get familiarization of using the new system. During the deployment stage, it is recommended for the project team to provide a handholding or post implementation support for a certain period of time. This will motivate the users and give them confidence of using the new system. For certain critical implementation, a rollback strategy should also be outlined in case the new system is not functioning as expected and the organization could not have a downtime due to its business situation. 6.3 Change Management KDEB Anzagain Sdn Bhd should have a change management plan as it introduces a new Collaborative Timesheet Management System into the organization. Change management is the task of managing change that can be either dealing with people, technology or organization in a planned and more systematic method to achieve organizational goal. In order to manage the changes successfully, a change management plans needs to be identified. 89 A rational or self-interest change strategy is used in this project. It is an attempt to convince individuals that the change is to their personal advantage; when this appeal is successful, it can be relatively easy. However, implementation changes are seldom to everyone’s advantage. This is the most desirable strategy because it will give a longterm results as the people changed due to their own self-interest and willingness, and not being forced. Below are identified proposed change management plan activities involving the people and organization: 6.3.1 People People are resistance to change especially when dealing with their natural resistance and it involves new technology, the way they work, and in this case, the control of information. Few ways of handling this situation by: i. Conducting awareness program – All users are invited to inform them the benefits of using the new CTMS system such as sharing a centralized database, avoid duplication, no more misleading information, and online retrieval via web. This will also helps them to familiarize the function of CTMS. ii. Discussion with the project team – Project team need to conduct a discussion with the users to get their participation in the process change, and details of the transition. This will allow the users to feel that they are part of the new system implementation team. iii. Training – A formal training should be conducted by the project team as this will give the users clearer picture of system navigation, and the benefits that the system is providing in their day-to-day tasks. During the training, users should be given a User Manuals that describe step of using the system in detail. This will give them confidence in navigate the system. 90 6.3.2 Organization Organization needs to change in order to be always competitive in this fast moving environment. In order to make this CTMS implementing a success, IT department needs to manage this additional system into their current scope of responsibilities. As a result, one new position for IT Administrator is required to administer the system and provide support to the users, functionally and technically. 6.4 Data Migration Plan Data migration is transferring data between storage type, format, and computer system where generally the format of the old system is incompatible with the new one. Furthermore, the organization may need to decide whether the data migration exercise is necessary because not all new systems require having old data in place. As for this CTMS project, it is not required to migrated old data for the new system. 6.5 Business Continuity Plan Business continuity planning means going beyond tape backup systems, storage systems, and hot sites by developing a comprehensive, cost-effective plan that ensures the continuity of the key business processes, delivery services, and IT services during an emergency. Typically, disaster recovery plan is how to recover from any system failures, software defects, power failures, equipment breakdowns, hacker attacks, and many more. The recovery activities will depends on the severity of the disruptions. Since CTMS is just a management tool, it wills not putting the company out of business or severely limits its ability to function and it is not critical towards business process in terms of business continuity plan. 91 6.6 Expected Organizational Benefits CTMS implementation is expected to give many benefits to the organization as whole not only to the current users but also to the KASB Management and staffs too. In the Table 6.2 below, comparisons of the new and old system are listed:- Table 6.2: Comparison between old and new system Current System New Timesheet Management System i. Staffs need to write their own i. Staffs still maintaining their own timesheet in separate spreadsheet which timesheet but the information is being is not sharing captured into a centralized database that enables sharing of information. ii. Staffs have to update superior ii. Staffs update the information into the whenever there is a new project or other system and with the new system; information project updates via email or everybody can view the project status by meeting. accessing the system online and real time. iii. Project Manager has to call up a iii. Project Manager can directly access meeting every time to assign the task to the system and assign task without staffs. misleading information instructed. iv. Management needs to call up the iv. Management can directly access the relevant personnel or manual system and call up the respective project documentation whenever there are for viewing and print project details as queries or not enough supporting and when are required. document for approval. v. Project Manager and Management v. Project Manager and Management will be informed the project progress can directly access the system and will during meeting progression. be updated by automatic generated report. 92 Based on the above, followings are the benefit that KASB can gain from CTMS implementation as listed in Table 6.3. Table 6.3 : Benefits of CTMS system Functions/Features i. Centralized Database Benefits • More systematic and organized • Sharing the same information to avoid unsound decisions • Avoid information duplication, and inconsistency resulted in accuracy of data • Improve communication within the group and misleading information instructed ii. Ad-hoc query and report • execution iii. Remote access via intranet iv. Real time and Online updates Fast retrieval of information and report execution • Ease in decision making process • Available at anytime • Increase staff performance • Ease of communication • Available at anytime • Dissemination of information not required as updates are real time 93 6.7 Chapter Summary Organizational strategy is an important subject for any organization to thoroughly study the impact should there be any changes in the current working environment before the actual implementation of any new system. The success of new system implementation does not only depend on the system architecture and design alone but also in managing the changes that it brings to the organization during the transition period, the strategy in roll out plan or deployment of the new system, and also outlining the options for business continuity and disaster recovery plan. Managing people is the most difficult part to deal with compared to managing organization and technology change. The new system is expected to give benefits to the organization in terms of increase in overall productivity and performance, besides being more effective and improve efficiency. 94 CHAPTER VII DISCUSSION & CONCLUSION 7.1 Achievements Collaborative Timesheet Management System (CTMS) is designed to facilitate an effectual management of an organization by providing a centralized system that can be shared amongst KDEB Anzagain Sdn Bhd (KASB). The main objective is to give direct benefit for the company such as fast retrieval of information, enhances decisionmaking and tactical planning whilst avoiding confusion and ambiguous situation where misinterpretation could be costly both in terms of monetary and time factors. The system is considered successful as it enables users to access the system online, retrieve the information whenever they require, and execute important reports to support their daily tasks. 95 Basically, the accomplishment of this project is depending on meeting the project objectives. In summary, the CTMS project objectives are as follows: v. To study the business process of staff task delegation and monitoring of project performance. vi. To design the Collaborative Timesheet Management System which include the following functionalities: a. Assigning b. Scheduling vii. To improve the task delegation and project performance monitoring. viii. To formulate a management strategy for the successful implementation of the timesheet management. The first objective has been met as the project information or data flow from the project is being awarded until project end have been captured into CTMS, and furthermore, in Chapter IV we have discuss in detail the current business process and data model involved. The second objective of design the CTMS which include the assigning and scheduling function is also being met as CTMS was designed for Project Manager to assign task to the relevant staff for every projects. Project Manager can monitor the task given using the system. The third objective is also met as the system is designed using a single database where all users can store their information centrally. Independent data banks, duplication of data, inconsistency of information and so on are resolved by CTMS. Task delegation and project performance is improved and there will no more miscommunication among staffs. Decision makers can now base on more accurate and reliable information from CTMS as the system is able to produce reports for users especially the Management, which now they can access the system as and when they 96 require. Communication within the group is improved, as latest information is available online 24hours X 7days a week. Lastly, the fourth objective is also accomplished. In CTMS, the organization is moving from manual to electronic project management tool. In addition, all respective divisions will need to use CTMS in their daily operations. Project Manager will be responsible to create Client and Project account for all new clients and new projects. Therefore, CTMS is a necessity as a tool to provide a competitive edge to KASB. 7.2 Constraints & Challenges Implementing a project is a real challenge to any project team. They also faced project constraints during the implementation that are unavoidable, and in most cases the project implementation has to go on without delay. As a result, the project manager or project teams have to find ways how to deal with this kind of situation. Below are the lists of constraints and challenges throughout the time of Collaborative Timesheet Management System (CTMS) implementation. 7.2.1 Constraints Constraints are any element that may restrict, limit or place control over a project, project team or project action that usually impact projects schedule, cost or scope. The constraints during CTMS implementation are as follows: 97 i. Limited time The time to implement the project is too short. As a result, the development of the system is based only on core function of the departments. The system can be expanded further to incorporate additional functions probably with bigger scope that can give more benefit to the users and organization as a whole. ii. Programming skills Learning PHP and MySQL still requires time to practice to gain the programming skills although having the advantage of knowing other languages and database structures. With limited knowledge and ability, the programming progress is very slow which it requires more time to do the development. 7.2.2 Challenges To have a successful project implementation is not an easy task. The project team has to confront many challenges through out the time of CTMS implementations that are identified are as follows: i. To motivate users to use the system The most difficult part in this system implementation is to get users to use the system. As explained in Chapter VI in Change Management section, users need to be motivated to start using the system. The benefits of using the system need to be clearly told to all users, and if they had already started using the system, they can see the 98 benefits such as less effort in producing reports, information is at their fingertips and online retrieval, etc, and they will later on depend on the system after comfortably using it. ii. To get Senior Management‘s involvement Without the support from Senior Management, the system implementation will face many difficulties through out its journey. This is because management is the one who gives directive to its subordinate. Further on, management is also the one who approves policy and procedures of the organization. The management is seen as a role model to use the system and the subordinates will be the follower. Encouragement and influence from the management will motivate users more than the project team’s command. iii. To get users’ time for discussion It is very hard to get an appointment with the users because they are busy with their daily tasks, and they see this CTMS implementation as an additional burden to them. In addition, the time they allocated for the interview is very short and not enough to get details of user requirements. As a result, the project team needs to schedule several follow up meetings with the users, and try to optimize the time that they got. 99 7.3 Aspirations This Collaborative Timesheet Management System (CTMS) can be further enhanced as the existing functionality are only focusing on the core functions of manage client and project information, task delegation and project monitoring from the project being awarded until end. Some suggestions for CTMS enhancement and advancement are as below: i. Propose additional modules to be included in the future enhancement: Due to some constraints, other important functionalities can be incorporated such as below:- a. File Sharing b. Notification Emails c. Integrate with Human Resource System ii. To commercialize CTMS Looking at its general functions of handling project schedule, this CTMS system is able to be commercialized after taking into consideration of enhancing the existing system with additional modules as mentioned above. This system is suitable in any industry not particularly for Software Company. A detailed business plan to market and promote the system needs to be developed. 100 7.4 Chapter Summary Project team had experience a lot of challenges and constraints during CTMS implementation. There are errors or flaws from system but the project team had handled it very well. All four objectives for this project have been accomplished competitive in today’s competitive IT market edge. Lastly it is hoped implementation of the Collaborative Timesheet Management System will ensure that KDEB Anzagain’s information technology projects fully meet the needs of the business functions they are intended to support, deliver all expected benefits, and are completed on time, to cost and functionality. 101 REFERENCES David J. Barnes (2000), “Object-Oriented Programming with Java, An Introduction”, Prentice Hall. Universiti Teknologi Malaysia (1999), ”Panduan Menulis Tesis Universiti Teknologi Malaysia”, Skudai, Johor. Pusat Pengajian Siswazah. H. M. Deitel, P. J. Deitel, T. R Neito (2002), ”Internet & World Wide Web. How To Program”, New Jersey. Prentice Hall. Grady Booch, Ivar Jacobson, James Rumbaugh (1998), ”Rational Unified Process, Best Practices for Software Development Teams”, White Paper. Rational Software Corp. David West (2003), ”Planning a Project with The IBM Rational Unified Process”, New York. IBM Corp. Redside Solutions Inc (2002), ”The Adaptive Delivery Framework Process Toolkit”, Portland. Redside Solutions Inc. Kathy Schwalbe (2004), ”Information technology Project Management”, Third Edition. Massachusetts. Thomson Course Technology. John W. Satzinger, Robert B. Jackson, Stephen D. Burd (2004), ”Systems Analysis and Design”, Third Edition. Massachusetts. Thomson Course Technology. 102 APPENDIX A KDEB ANZAGAIN – TIMESHEET FORM 103 Daily Time Sheet Report Name : Employee No. : No 1 Date: Day: Description Task Project Time Taken Status (√) 2 3 4 5 6 7 Signature Prepared by: Submitted to: Remarks: Signature Remarks 104 APPENDIX B GANTT CHART – PROJECT 1 105 Gantt Chart – Project 1 106 APPENDIX C GANTT CHART – PROJECT 2 107 Gantt Chart – Project 2 108 APPENDIX D CURRENT BUSINESS PROCESS AND DATA MODEL 109 Manage Task Project Manager Manage Client Write Timesheet Staff Current Business Process Use Case Diagram Use Case Table: Manage Task Use Case Name : Manage Task Manage Task Actor Project Manager Description Project Manager manage and assign task to the staffs Use Case Scenarios 1. Once the project awarded, Project Manager will received and analyze project specification. 2. Next Project Manager will assign task to staffs during Project Meeting. 3. Project Manager will only be updated project status in weekly meeting. 4. Project Manager is able to monitor by view staffs timesheet form from manual filing system more willingly than weekly meeting. 110 Use Case Table: Manage Client Use Case Name : Manage Client Manage Client Actor Project Manager Description Project Manager manage client information Use Case Scenarios 1. Once the project awarded, Project Manager will create client account. 2. Then Project Manager will open new file specifically for client information as manual filing system. Use Case Table: Write Timesheet Use Case Name : Write Timesheet Write Timesheet Actor Staff Description KASB Staff are required to write timesheet daily Use Case Scenarios 1 After the project awarded, Project Manager will delegate task assignment to staffs. 2 Then Staff are required to write timesheet what they have been doing everyday. 3 Staff needs to submit timesheet form weekly to Superior and the timesheet will maintain into manual filing system for Management, Project Manager and HR Dept to refer afterward. 111 Project Awarded Receive project specification : Project Manager Project Meeting Analyze project specification Assign task to staff View staffs timesheet form Staff update task progression Monitor task progress Sequence Diagram for Manage Task Weekly Meeting 112 Project Awarded : Project Manager Client File Receive client information Update client information Sequence Diagram for Manage Client : Staff Timesheet Form Write timesheet manually daily Weekly Meeting View timesheet form Update Project Manager task progression Sequence Diagram for Write Timesheet 113 Start Project awarded Analyze project specification Assign task to staff View staffs timesheet form Monitor task progress End Activity Diagram for Manage Task 114 Start Project awarded Update client information End Activity Diagram for Manage Client Start Write timesheet form Update task progression End Activity Diagram for Write Timesheet 115 APPENDIX E BUSINESS PROCESS AND DATA MODEL 116 Manage Project Project Manager Manage Client Manage Task View Report Management Change Password Staff Manage Timesheet Maintain System TMS Business Process Use Case Diagram System Administrator 117 Use Case Table: Manage Client Use Case Name : Manage Client Manage Client Actor Project Manager Description Project Manager will manage the client information Use Case Scenarios 1. Once the project awarded, Project Manager will create new client account or update existed client information. 2. This use case also allows Project Manager to Edit and Delete existing Client information. 3. The system will update the information and save it into the database. Use Case Table: Manage Project Use Case Name : Manage Project Manage Project Actor Project Manager Description Project Manager will manage the Project information Use Case Scenarios 1. After Project Manager create Client new account in the system, Project Manager will create new Project account. 2. This use case also allows Project Manager to Edit and Delete existing Project information. 3. The system will update the information and save it into the database. 118 Use Case Table: Manage Task Use Case Name : Manage Task Manage Task Actor Project Manager Description Project Manager will manage the Task delegation Use Case Scenarios 1. After the Project has been started, Project Manager will delegate task to the assigned Staffs. 2. This use case also allows Project Manager to delegate task, identify which staff involve in this particular task and task description. 3. The system will update the information and save it into the database. Use Case Table: View Report Use Case Name : View Report View Report Actor Project Manager and Management Description Project Manager and Management will review the report Use Case Scenarios 1 They will select the report that had been generated by every projects and staffs to analyze and review. 2 The system will select the selected report to review from database. 3 They will analyze the time and cost occurred for each projects. 119 Use Case Table: Change Password Use Case Name : Change Password Change Password Actor Project Manager, Management, Staff and System Administrator Description Use Case Scenarios All users can change password for this system 1. All users can change their own password to access to this system for security purposes. 2. The system will update the information and save it into the database Use Case Table: Manage Timesheet Use Case Name : Manage Timesheet Change Password Actor Staff Description Staff will update their daily timesheet in the system Use Case Scenarios 1. The staff will update their daily timesheet and view task that has been assigned to them by project manager. 2. Staffs have to make sure all assignment complete within the time constraint. 3. The system will update the information and save it into the database 120 Use Case Table: Maintain System Use Case Name : Maintain System Maintain System Actor System Administrator Description System Administrator will maintain the system Use Case Scenarios 1. System Administrator will maintain the system and update the staff information into the system. 2. The system will update the information and save it into the database : Project Manager Main System Client Page dbClient Select client menu Request for client list View client list Select client Request selected client details View selected client details Add/Update new client details Update database Sequence Diagram for Manage Client 121 Main System : Project Manager Project Page dbProject Select project menu Request project list View list of projects Select project Request selected project details View selected project details Add/Update new project details Update database Sequence Diagram for Manage Project : Management Main System Report Page Database Select report menu Request report list View list of reports Select report Request selected report Generate selected report Analysis report Sequence Diagram for View Reports 122 : Project Manager Main System Project Page Task Page dbProject Select project menu Request for project list View list of projects Select project Request for selected project details View selected project details Assign task to staff Update database Monitor task progress Sequence Diagram for Manage Task dbTask 123 : Staff Main System Timesheet Page dbTimesheet Select timesheet menu Request for timesheet View timesheet View/Update timesheet & task progress Update database Sequence Diagram for Manage Timesheet : Staff Main System Change Password dbUser Select profile menu Request for change password page View password details Change password Update password Sequence Diagram for Change Password 124 : System Administrator Main System User Page dbUser Select User menu Request for User list View User list Select User Request selected user details Add/Update new User details Update database Sequence Diagram for Maintain System 125 Start Main interface Select "Client" menu List of clients Select client Client details page Add/Update client details Submit Cancel End Activity Diagram for Manage Client 126 Start Main interface Select "Project" menu List of projects Select project Project details page Add/Update project details Submit Cancel End Activity Diagram for Manage Project 127 Start Main interface Select "Project" menu List of projects Select project Project details page Assign task to staff View task progress End Submit Cancel End Activity Chart for Manage Task 128 Start Main interface Select "Report" menu List of reports Select report Generate report Analysis report Ok Create new report End Activity Chart for View Reports 129 Start Main interface Select "Timesheet" menu Timesheet page Update timesheet View task progress End Submit Cancel End Activity Chart for Manage Timesheet 130 Start Main interface Select "Change Password" menu Change password page Update password Submit Cancel End Activity Diagram for Change Password 131 Start Main interface Select "User" menu User page Update User Profile Submit Cancel End Activity Diagram for Maintain System 132 APPENDIX F GRAPHIC USER INTERFACE 133 TMS Login Page Project Manager Main Page 134 Daily Page Weekly Timesheet Page 135 Update Timesheet Client Main Page 136 Add New Client Edit Client Information 137 Project Main Page If click Tasks List 138 Add New Project Edit Project Information 139 User Main Page Edit User Information 140 Task Main Page Add new Task 141 Edit Task Report Main Page 142 Reports for specific users - Finaz Reports for specific users - Malina 143 Reports for specific client If we click specific tasks 144 Report for all users on all projects If we click by projects 145 Main page for normal user Page for update timesheet for specific client and project 146 Enter log message for timesheet update Updated timesheet 147 Change password page 148 APPENDIX G USER MANUAL 149 Client Create New Client (User: Project Manager) Step 1: Login with valid username and password, click Submit. Step 2: From the Project Manager main menu, click Client menu. Step 3: At Client main page, click Add New Client. Step 4: Fill-in the client details appropriately, click Add New Client. 150 Client Edit/Update Client (User: Project Manager) Step 1: Login with valid username and password, click Submit. Step 2: From the Project Manager main menu, click Client menu. Step 3: At Client main page select client that you wish to edit, click Edit. Step 4: Edit the client details appropriately, click Submit Changes. Client Delete Client (User: Project Manager) Step 1: Login with valid username and password, click Submit. Step 2: From the Project Manager main menu, click Client menu. Step 3: At Client main page select client that you wish to delete, click Delete. 151 Project Create New Project (User: Project Manager) Step 1: Login with valid username and password, click Submit. Step 2: From the Project Manager main menu, click Project menu. Step 3: At Project main page, click Add New Project. Step 4: Fill-in the project details appropriately, click Add New Project. 152 Project Edit/Update Project (User: Project Manager) Step 1: Login with valid username and password, click Submit. Step 2: From the Project Manager main menu, click Project menu. Step 3: At Project main page select project that you wish to edit, click Edit. Step 4: Edit the project details appropriately, click Submit Changes. Project Delete Project (User: Project Manager) Step 1: Login with valid username and password, click Submit. Step 2: From the Project Manager main menu, click Project menu. Step 3: At Project main page select project that Project Manager wish to delete, click Delete. 153 Task Create New Task (User: Project Manager and Staffs) Step 1: Login with valid username and password, click Submit. Step 2: From the user main menu, click Task menu. Step 3: At Task main page, click Add New Task. Step 4: Fill-in the task details appropriately and selects the staffs that are involved then click Add New Task. 154 Task Edit/Update New Task (User: Project Manager and Staffs) Step 1: Login with valid username and password, click Submit. Step 2: From the user main menu, click Task menu. Step 3: At Task main page select project that user wish to edit, click Edit. Step 4: Edit the task details appropriately, click Submit Changes. Task Delete Task (User: Project Manager and Staffs) Step 1: Login with valid username and password, click Submit. Step 2: From the user main menu, click Task menu. Step 3: At Task main page select task that user wish to delete, click Delete. 155 Report View Report (User: Project Manager and Management) Step 1: Login with valid username and password, click Submit. Step 2: From the user main menu, click Report menu. Step 3: At Report main page select report that user wish to analyze, click Generate. Step 4: After the report has been generating by selected category, then we can either click Specific Task, User, Client or Projects. 156 User Add/Update User (User: System Administrator) Step 1: Login with valid username and password, click Submit. Step 2: From the Administrator main menu, click User menu. Step 3: At User main page select the user that Administrator wish to update or just fill-in the new user details appropriately and then click Add/Update Employee/Contractor. User Delete User (User: System Administrator) Step 1: Login with valid username and password, click Submit. Step 2: From the Administrator main menu, click User menu. Step 3: At User main page select user that Administrator wish to delete, click Delete. 157 Timesheet Update Timesheet (User: All User) Step 1: Login with valid username and password, click Submit. Step 2: From the user main menu, click Weekly Timesheet menu. Step 3: At Weekly Timesheet main page, click Add at the specific date that user wish to update. Step 4: Select and fill-in the timesheet detail and also the Clock on and Clock off accordingly and click Clock on and/or off. 158 Step 5: Afterward, enter the log message and click Done. Step 6: Later user can view an updated timesheet.