COLLABORATIVE TIMESHEET MANAGEMENT SYSTEM A HAFINAZ BINTI RASHID

advertisement
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.
Download