Академический Документы
Профессиональный Документы
Культура Документы
2017240736
UNIVERSITI TEKNOLOGI MARA CAWANGAN
MELAKA KAMPUS JASIN
BY
WAN AINAA NABILA BINTI WAN MOHD HAMDI
(2017240736)
REPORT PRESENTED TO
FACULTY OF COMPUTER AND MATHEMATICAL SCIENCES
AS PART OF THE REQUIREMENT IN
SEPTEMBER 2019
APPROVED BY :
_______________________________
SENIOR LECTURER
27 SEPTEMBER 2019
ii
ACKNOWLEDGEMENTS
First of all, I would like to express my gratitude to the Almighty Allah for giving me
strength and health to finish my internship program from 15 July until 7 September 2019.
Then I would like to express my gratitude to my parents and friends that helps me by
giving their suggestion, assistance and supply of information throughout this internship in
completing my project.
First of all, thank you very much to my company‟s supervisor, Mr Vikneshan A/L
Muniandy, Managing Director of Vishtech MX Sdn. Bhd for giving me the opportunity to
join the company to fulfil the mission and goal of the company. As well as my faculty
supervisor, Madam Nurulhuda binti Ghazali, that help me through her valuable suggestion
and guideline in preparing this report.
Thank you to all of the staff in Vishtech MX Sdn. Bhd that embrace me as one of
the staff there and help me in adapting to the company‟s environment. I am adapting well
and having fun learning many things in this company and it will be one of unforgettable
memory in my life. I believe, from this experience, I will be able to live a better life in the
future with all of the guidance given to me.
iii
TABLE OF CONTENTS
TITLE PAGE i
APPROVAL PAGE ii
ACKNOWLEDGEMENT iii
LIST OF TABLES vi
CHAPTER 1 INTRODUCTION
1.1 Industrial Training Background 1
1.2 Benefits to the organization, student & institution 1
iv
CHAPTER 4 DESIGN
4.1 Business Rules 9
4.2 Entity Relationship Diagram (ERD) 10
4.3 Context Diagram 11
4.3.1 Diagram 0 12
4.3.2 Diagram 1 13
CHAPTER 5 IMPLEMENTATION
5.1 Interface of the System 19-26
REFERENCES 28
APPENDICES
APPENDIX A 30-33
APPENDIX B 34-37
APPENDIX C 38
v
LIST OF TABLES
Table Page
LIST OF FIGURES
Figure Page
Figure 4.7 Search, edit and remove project and display workflow 15
vi
Figure 4.10 Edit, add date and remove subtask 2 18
vii
Figure A.5 Farewell ceremony 31
Figure B.7 Calculation to skip weekends and calculate only working days 33
Figure B.9 Use of CSS sticky element to freeze the left column in gantt chart 33
viii
LIST OF ABBREVIATIONS / GLOSARY
List of Abbreviations
List of Glosary
Domain A distinct subset of the internet with addresses sharing a common suffix or
under the control of a particular organization or individual
Quotation A formal statement setting out the estimated cost for a particular job or
service
Database A structured set of data held in a computer, especially one that is accessible
in various ways
Gantt Chart A chart in which a series of horizontal lines shows the amount of work done
or production completed in certain periods of time in relation to the amount
planned for those periods
Sticky A thread containing important information that is set to remain at the top of
the other threads regardless of when it was last updated
ix
CHAPTER 1 : INTRODUCTION
Practical training is part of the requirement for a student in Diploma in Computer Science
in UiTM to expose students on work experience before they graduates. Practical training is
important as they can apply the knowledge learned in classroom to work field. In this
courses, practical is more important than knowledge and practical training is the key to
train the students in practice their knowledge hands-on.
Students :
They remember better about the knowledge that are being applied when they are
working.
Increasing the student‟s employement prospects.
The students can learn many things other than showed in the classroom.
Organizations :
They can get a support, fresh ideas and more energy from the students.
The staff in the organizations can develop a leadership skils to lead and monitor the
intern.
It is convenient for the company to recruit the students into their company after
they graduate because the company already know the student‟s ability.
Institutions :
1
CHAPTER 2 : COMPANY BACKGROUND
In year 2008, VISHTECH (IP0273354-M) began offering web services such as domain
name registration, web hosting services, web designing services, search engine
optimizations and online marketing services to the masses. They learned that it was not all
about servers and technology but what really important is people.
That is the main reason why they are in this business, to provide a world class service and
support to real people around the world. The quality work and advanced ideas of the
company can be clearly seen in the outcome of our website designs and portfolio. The
company excels with the hard work of many dedicated employees who are knowledgeable
and specialist in their respective department.
In the 10 years of the journey from the day our business was registered, the quality works
are well honoured by their customers. Now they own the title as The Best and Leading
Web Services Provider in Melaka. Day by day the numbers of clients keep on increasing,
therefore we have incorporated our enterprise business to VISHTECH MX SDN. BHD.
(1130235-V) and have expanded of our business to Ipoh, Kuala Lumpur and Johor Bahru.
*Appendix C page 35
2
2.3 Mission and Vision
Mission
Our mission is to work closely with our clients to envision and realize their e-Business
potential in the challenging universe of information technology.
Vission
“To be the leading INNOVATIVE WEB SOLUTION provider in the Asia-Pacific region,
delivering consistent high-quality web services with exceptional results and excellent
customer services”
3
CHAPTER 3 : RESEARCH ON THE CURRENT SYSTEM AND
PROPOSED SYSTEM
Vishtech MX Sdn. Bhd is a company that provide web services in Melaka and all around
Malaysia. To start a work or to start process a certain job, the administrator need to create a
quotation which contain workflow of the project and the payment allocate for the project.
The workflow contain task, subtask, start date, end date and duration given to a certain
task. The administrator need to key in the date manually by looking at the calendar and
count the working days before enter the data. All of the process will be done manually as
there are no system to generate the duration automatically. After created the quotation and
customer satisfied with the quotation, then our staff will start processing the job after the
customer have paid the deposit. If the customer paid early, then we have to proceed with
the job earlier than the given date and if they paid late than allocated date, they have to
proceed with the job late and it also will affect the given date. If the project does not meet
the final date of the project, the customer have to pay for per day of the delayed work. The
delay of the project may be from the customer because they paid the deposit late.
4
3.1.1 Problem Statement
Manual data
Administrator have to look on the calendar to create the quotation. There are no
system to calculate the duration of certain task and will give the administrator a
hard time if he or she miss calculate the date and duration. They have to double
check the date to make sure that they did not make any mistakes as this quotation
will be relate to payment from customer.
No timeline
There are no timeline for this project. Customer wants to know how long the
project takes time and did the staff follow the schedule given or not. If the customer
pay the deposit earlier or late, the date from the workflow provided cannot be used
in the timeline as the real date are not recorded. There are no prove of the real
duration and date of the project‟s process.
In proposed system, we want to fix the problems occur so we proposed a system that can
calculate the date and duration and create the gantt chart automatically. The administrator
need to insert name of the project, start date of the project and the duration. Based on the
information given, end date of the project will be calculate automatically. After create a
new project, user can start insert the process or workflow of the project which can be used
to create a quotation. For the workflow, user need to insert task name, start date and
duration of the task. End date of the task will be calculate automatically by the system. All
of the information entered by the user or generated by the system will be saved in the
database. A gantt chart will be generated after all the workflow are inserted. User can edit
and remove the project while for task, user can edit, add subtask and remove the task. A
column will be provided for actual start date and actual end date. If the staff-in-charge for
the project start to do a certain task, they can click on a button start and click on end after
finishing the task. That way we can monitor the progress of the project whether the staff do
their work based on allocate days or not.
5
3.2.1 Objectives
As a human, we tend to make mistakes. We might miss the date or the duration to
create the workflow of the project. This system proposed zero error. All the
calculation will be calculate by the system therefore reduce the risk of mistakes
made by human.
User friendly
With the colourful and arrangement of the information, it is user friendly to be used
and easy for anyone to understand. Button with the description also provided to
ease the user in making any adjustment to the information.
3.2.2 Scope
6
3.2.3 System Analysis
WMS shall operate using all industry standard Web Browsers such as Internet
Explorer, Google Chrome, Apple Safari and many more. User can use any type of
operating system such as Windows, Linux or Mac.
Planning is an essential thing to do before start any project. It is needed to identify the
desired goals, reduce risks and most importantly aware of the deadlines. Some other
methodologies refer planning as preliminary investigation phase, initial study phase or
planning phase. Usually, Gantt Chart will be used to represent all the activities involved
during system development. Figure 3.2 shows Gantt Chart or workflow of my project :
7
Schedule on Workflow Management System
22/7/2019 28/7/2019 3/8/2019 9/8/2019 15/8/2019 21/8/2019 27/8/2019 2/9/2019
Receive project from supervisor
Planning Phase
Identify all the activities and task
List the assumptions and constraints of the project
Create a detailed project planning schedule
Analysis Phase
Interview the administrator to analyze current system
Define new system objective
Define proposed system
Design Phase Start Date
Design Database
Duration
Software Design
Interface Design
Design Specification
Design Complete
Implementation Phase
Testing Phase
Check the functionality of the system
Validation test for security purpose
Maintanence and Documentation
Fix the error during testing phase
Ready for production
8
CHAPTER 4 : DESIGN
1 M
project require task
1 M
task owned subtask1
1 broken M
subtask1 subtask2
down
9
4.2 Entity Relationship Diagram (ERD)
10
4.3 Context Diagram
11
4.3.1 Diagram 0
12
4.3.2 Diagram 1
13
4.4 Process Flow
14
Figure 4.7 Search, edit and remove project and display workflow
15
Figure 4.8 Add, edit, add date and remove task
16
Figure 4.9 Add, edit, add date and remove subtask.
17
Figure 4.10 Edit, add date and remove subtask 2.
18
CHAPTER 5 : IMPLEMENTATION
In this page, staff or admin are required to enter their email and password. It is to ensure
the security of the information are secured. If a new staff want to register, the developer
have to insert the information of the new staff in the database before login to this page.
If the email and password entered by the user matched with the data in the database, it will
continue to Figure 5.3 while if the credentials are not verified, it will go to Figure 5.1
again. User cannot access the system without registered email and password.
19
Figure 5.3 Add Project
After login process, user will be shown to this page where admin need to key-in the
project‟s details that are required from the customer which is project title, start date of the
project and its duration. User can click on ‘Reset’ button if they want to clear all the
textbox or click on ‘Submit’ button after all the data are inserted correctly. All the
information will be kept in the database.
This page will be shown directly after insert the new project, if the admin do not want to
insert any new project, they can click on list of project on the header to visit this page. In
this page, there will be a list of project that are retrieved from the database. Workflow
20
column contains 2 buttons and Action column also contains 2 button which will be
explained later. Search icon above the table is for searching the project‟s name. If there are
100 projects, user do not have to go through all the project to find the needed one. User
need to hover at the search icon and the text box will be display as in Figure 5.5 below.
‘Remove’ button in Action column is to remove any project that are not needed in the
database. Title of the project are shown but only for read-only purpose. This modal are
shown because to avoid any mistakes. Maybe the user only clicked the button with no
intention to actually delete the project so to be safe, this system ask the user either they
really want to remove the project or not. The removed project also will be removed from
the database.
21
Figure 5.7 Edit project’s details
First button in Action column is ‘Edit’ button. When „Edit’ button is pressed, this modal
box will appear with the project‟s details that are fetched from the database. The details
can be edit and it will be update in the database replacing the previous data.
‘Process’ button from the Workflow column in list of projects will be direct to this page.
This page shows the workflow of the project. All the data from this page are retrieved from
the database. If there are no details of the task, admin can add new task by clicking ‘Add
Task’ button below the header. Icons on the action buttons shows the identity of the button.
If we hover the mouse cursor on the buttons, it will show us the function of the buttons.
22
Figure 5.9 Add task
Modal box will appear for ‘Add Task’ button. User need to enter task, start date and
duration and click on „Add’ to add task. Task will be added to the database. If the user
enter start date that are more than end date of the project or less than start date of the
project, alert box will be shown as in Figure 5.10 and user need to enter the task again
using the right date.
End date will be calculate by the system using the start date and duration given by the user.
The end date will be set not including weekends. The system only calculate working days
not including weekends and public holiday. For example if the project‟s start date is
1/8/2019 and the duration is 10 days. The end date will be 14/8/2019. Supposed to be the
end is on 10/8/2019 but because weekends is not considered as working days so it will
remove Sunday and Saturday from the list. If user enter 25/7/2019 or 25/8/2019 as start
date for a task, then this alert box will appear and the task will not be keep in the database.
User need to enter the task again using the data that are in the given range.
23
Figure 5.11 Actual start and end date
The first button on the Action column will show this modal popover. This is for staff only
where the staff who started the task need to click on the ‘Click to Start Task’ button and
vice versa. The system will update the current date and keep in the database. The date will
be use to create the gantt chart. Based on this, we can know whether the staff did his or her
task according to the estimated date or not.
The second button in Action column is add subtask. This button apply to the task and
subtask only because we only provide 2-level of subtask under one task. User need to enter
subtask, start date and duration, same as add task and add project. The details also will be
keep in the database.
24
Figure 5.13 Edit task and subtask
The third button in Action column is for editing. This apply on both subtask level. Data
from database will be display on the modal box and can be edit. After user click the
‘Update’ button, the data will be updated in the database.
The last button in Action column is used to remove task or subtask. The task or subtask
will be displayed on the modal box but for read-only purpose. User cannot change the data
displayed. When ‘Yes’ is clicked, the data for the specific row will be remove from the
table and from the database.
25
Figure 5.15 Gantt Chart
When ‘Summary’ button is clicked, this page will be displayed. All of the data here
basically fetched from the database including project‟s name. Yellow bar represent actual
job‟s work and green bar represent estimated job‟s date.The left column are is a sticky
column which if the scrolling is made to the right, the left column is still freeze at it place.
All the date displayed are only working date which not include weekends and public
holiday.
26
CHAPTER 6 : CONCLUSION AND RECOMMENDATIONS
There are many system that can generate gantt chart automatically but Workflow
Management System focuses to solve this company‟s problem. It is our company‟s
copyright which are not available for others. This system are designed especially to make it
easy for the administrator and the staff in recording the date of certain task. It can be used
to manage our workflow as we may have many jobload to be done at one time.
As in the future, some additional stuff could be implemented and integrated making it
much more reliable and flexible. Apparently the system can only did the basic things such
as add, update and remove. In the future, it can be upgraded into a system that can give a
notification to all the staff about their task to be done for the day. Staff do not have to
frequently check if there are any job left to be done. This also can be done to avoid any job
be left behind.
As a business company, this system also can be sell or posted online to be shared to others.
If we decide to sell it, this may be our sources of income or if we decide to shared, it can
be a good things for others as other company or even student can use this system for free.
The interface of the system also could be improve to make it look more general and
realistic. As this system is a first version, a lot of things can be improved in terms of
interface, functionality and realibility.
A good system is evaluate by three parts which is simple, sticky and self-regulating. A
clear, direct and simple to be understand by the user is a real explanation of a good system.
And the most important thing is that the it can be used and produce a correct output.
27
REFERENCES
w3chools.com THE WORLD'S LARGEST WEB DEVELOPER SITE. (1999). Retrieved August 20, 2019,
from https://www.w3schools.com/
Google Charts. (2017, April 25). Retrieved August 17, 2019, from
https://developers.google.com/chart/interactive/docs/gallery/ganttchart
Otto, M. (2019). Bootstrap · The world's most popular mobile-first and responsive front-end
framework. Retrieved July 25, 2019, from https://getbootstrap.com/docs/3.4/
28
APPENDICES
31
APPENDIX A
WORKPLACE ENVIRONMENT
Appendix A
31
Appendix A
32
Appendix A
33
APPENDIX B
EXAMPLE OF CODING
Appendix B
$results= mysqli_query($dbc,$sql);
if ($results) {
print '<script>alert("One Record Had Been Added");</script>';
}
else {
print '<script>alert("Data Is Invalid , No Record Been Added");</script>';
}
$password = md5($password);
35
Appendix B
$date=date_create($task_sdate);
date_add($date,date_interval_create_from_date_string($task_duration."days"))
;
$task_edate = date_format($date,"Y-m-d");
$datearray = array();
$startdate = strtotime($task_sdate);
$enddate = strtotime($task_edate);
if(!(strcmp($day,'Sunday')==0 || strcmp($day,'Saturday')==0)) {
$datearray[] = $cdate;
}
else {
$enddate+=(86400);
}
}
$task_edate = end($datearray);
Figure B.7 Calculation to skip weekends and calculate only working days
.table-scroll thead th {
background: #333;
color: #fff;
position: -webkit-sticky;
position: sticky;
top: 0;
}
Figure B.9 Use of CSS sticky element to freeze the left column in gantt chart
36
Appendix B
37
APPENDIX C
SUPPORTING DOCUMENTS