IMPLEMENTING THROWAWAY PROTOTYPING IN WEB DEVELOPMENT LIFE CYCLE NAZREEN BIN ABDULLASIM

advertisement
IMPLEMENTING THROWAWAY PROTOTYPING
IN WEB DEVELOPMENT LIFE CYCLE
NAZREEN BIN ABDULLASIM
UNIVERSITI TEKNOLOGI MALAYSIA
2
BAHAGIAN A – Pengesahan Kerjasama*
Adalah disahkan bahawa projek penyelidikan tesis ini telah dilaksanakan melalui
kerjasama antara ...................................................dengan ..........................................
Disahkan oleh :
Tandatangan :
............................................................. Tarikh : ...................
Nama
:
.............................................................
Jawatan
:
.............................................................
(Cop rasmi)
* Jika penyediaan tesis/projek melibatkan kerjasama.
BAHAGIAN B – Untuk Kegunaan Pejabat Sekolah Pengajian Siswazah
Tesis ini telah diperiksa dan diakui oleh:
Nama dan Alamat Pemeriksa Luar :
...................................................................
...................................................................
...................................................................
Nama dan Alamat Pemeriksa Dalam :
...................................................................
...................................................................
...................................................................
Nama Penyelia Lain (jika ada)
...................................................................
...................................................................
...................................................................
:
Disahkan oleh Timbalan Pendaftar di SPS
:
Tandatangan :
................................................
Nama
................................................
:
Tarikh: ............................
3
IMPLEMENTING THROWAWAY PROTOTYPING MODEL IN
WEB DEVELOPMENT LIFE CYCLE (WDLC)
NAZREEN BIN ABDULLASIM
A project report submitted in partial fulfillment of the
requirements for the award of the degree of
Master of Science
(Computer Science – Real Time Software Engineering)
Centre for Advanced Software Engineering
Faculty of Computer Science and Information System
Universiti Teknologi Malaysia
OCTOBER 2009
5
To my beloved Mama and Yaya
Kakak, Abang Rostam, Abang Nazri, Kakak Nini,
Abang Atoi, Surya, Adik Lela, Moin
Udin, Sofeyah
Late Panda
Jazakumullah
6
ACKNOWLEDGEMENT
All praise is to Allah azza wa jalla, as laid upon me always your grace and
mercy for giving me the greatest gift of all, the gift of Imaan. I am hoping and
praying that this project may benefit ummah as a whole and make me a better person
and vicegerent in this world.
I am very thankful to my academic mentor Mr. Ridzuan bin Ahmad for
his endless supports and advices. He had help and gave me privileges, which made
me under solace and content throughout the completion of this project. I also want to
give my appreciation to Mr. Saiful Adli for helping me and lending his valuable
expertise and experience where I cannot get it elsewhere. Regardless of their status,
they will always be good friends and teachers of mine and may Allah bless them
always.
To my best friend and mentor as well Mr. Faiz Bashir for his endless helps
and assistance from the very first day we’ve met until the day he departed to his
home country. I will always admire you and always be my source of inspiration to be
a good Muslim.
Last but not least, my appreciation to all people that had helped and inspired
me throughout this journey. Jazakumullahu khaira katheera
7
ABSTRACT
The purpose of this study is to analyze the relationship between web
development life cycle (WDLC) and system development life cycle (SDLC). Even
though the two terms WDLC and SDLC are similar in a sense that both discuss about
development lifecycle but they have differences in term of its scope. From the term
WDLC itself has shows that it is focusing on website development meanwhile SDLC
is focusing on software at large. Website can be considered as a subset of software.
Therefore, the study is about analyzing how far WDLC relevancy compares to
SDLC. SDLC comprises of methodologies such as structured development, rapid
application development, and agile development. In each methodology comprises of
many SDLC models which complying with specific software development trends.
Hence by analyzing typical website development trends and characteristic will allows
to identify the suitable SDLC model. Introducing the model only will not sufficient if
there is no guideline of how to apply it. Therefore the study also covers the
implementation of the model with the web development processes.
8
ABSTRAK
Objektif daripada kajian ini adalah untuk menganalisis hubungan antara
kitaran hidup pembangunan Web (WDLC) dan kitaran hidup pembangunan sistem
(SDLC). Walaupun kedua istilah SDLC WDLC dan mirip dalam erti bahawa
keduanya membahas tentang kitaran pembangunan tetapi mereka mempunyai
perbezaan dalam hal rinciannya. Dari istilah WDLC sendiri telah menunjukkan
bahawa ia fokus pada pengembangan laman web Sementara itu SDLC fokus pada
perisian pada umumnya. Website boleh dianggap sebagai sebahagian daripada
perisian. Oleh kerana itu, kajian ini adalah tentang menganalisis seberapa jauh
perkaitan WDLC berbanding dengan SDLC. SDLC terdiri daripada metodologi
pengembangan seperti berstruktur, pengembangan aplikasi yang cepat, dan
pembangunan tangkas. Dalam setiap metodologi SDLC terdiri daripada banyak
model-model yang sesuai dengan tren pembangunan perisian tertentu. Oleh kerana
itu dengan menganalisis tren pembangunan laman khas dan karakteristik akan
membolehkan anda mengenalpasti model SDLC yang berpadanan. Memperkenalkan
model sahaja tidak akan memadai jika tidak ada garis panduan tentang bagaimana
menerapkannya. Oleh kerana itu, kajian ini juga merangkumi pelaksanaan model
dengan proses pembangunan web.
9
TABLE OF CONTENTS
CHAPTER
1
2
3
TITLE
PAGE
DECLARATION
ii
DEDICATION
iii
ACKNOWLEDGEMENT
iv
ABSTRACT
v
ABSTRAK
vi
TABLE OF CONTENTS
vii
LIST OF TABLES
x
LIST OF FIGURES
xi
LIST OF ABBREVIATION
xii
LIST OF APPENDICES
xiii
INTRODUCTION
1
1.0
Problem Background
1
SCOPES AND OBJECTIVES
3
2.0
Vision Statements
3
2.1
Project Objectives
3
2.2
Project Scopes
4
2.3
Project Plan
4
LITERATURE STUDY
5
3.0
Software Development Life Cycle (SDLC)
5
3.0.1 Planning
6
3.0.2 Analysis
7
3.0.3 Design
8
10
3.0.4 Implementation
10
3.1
System Development Life Cycle Methodology
12
3.2
Website and its Characteristic
14
3.3
Web Development Life Cycle (WDLC)
16
3.3.1 Planning
18
3.3.2 Analysis
20
3.3.3 Design
21
3.3.4 Implementation
22
Considering Content Management System
24
3.4.1 Basic Features of Web CMS
26
3.4.2 Possible Downside of CMS
27
3.4.3 Choosing the Right CMS
28
Web Development Life Cycle Methodology
29
3.4
3.5
4
5
6
DISCUSSION
31
4.0
Introduction
31
4.1
Differences of SDLC and WDLC
33
4.2
WDLC as a subset of SDLC
37
4.3
Throwaway Prototyping Model for WDLC
40
IMPLEMENTATION
42
5.0
Introduction
42
5.1
Brief of the project
42
5.2
Project Development Process
43
5.2.1
Planning
47
5.2.2
Analysis
49
5.2.3
Design Prototype
51
5.2.4
Design
59
5.2.5
Implementation
63
CONCLUSION
67
6.0
WDLC relevancy toward website development
67
6.2
Future Study
68
11
6.3
Conclusion
68
REFERENCES
70
Appendices A-B
73
12
LIST OF TABLES
TABLE NO
TITLE
PAGE
3.1
WDLC web development phases
16
4.1
Comparison of SDLC and WDLC
33
4.2
Activity Comparison between SDLC and WDLC
34
4.3
Criterion Selection Factors in Structure
Methodologies
4.4
37
Criterion Selection Factors in Rapid Application
Development (RAD)
37
4.5
Criterion Selection Factors in Agile Methodologies
38
5.1
Activities in Throwaway Prototyping
44
5.2
Software and Tools for Web development
48
5.3
Technology for Web Development
49
5.4
Website Structure
52
13
LIST OF FIGURES
FIGURES NO
TITLE
PAGE
3.1
Basic Phases in SDLC
5
3.2
Static Web Architecture
15
3.3
Dynamic Web Architecture
16
5.1
Throwaway Prototyping Model
44
5.2
Content Layout for the Website
51
5.3
First Prototype for Homepage
53
5.4
First Prototype for Content Page
54
5.5
Second Prototype for Homepage
55
5.6
Second Prototype for Content Page
56
5.7
Home section of each main section
57
5.8
Content page with home section of main content
58
5.9
Basic content page
58
5.10
Home Page
59
5.11
Examples of CSS file
60
5.12
Corresponding div tag for CSS
61
5.13
First story board
61
5.14
Second story board
62
5.15
Third story board
62
5.16
Fourth story board
63
5.17
Joomla Administration Page
64
5.18
HTML coding in the template
65
5.19
Example of content generated from Joomla tags
65
14
LIST OF ABBREVIATION
ACM
-
Association for Computer Machinary
CASE
-
Computer Aided Software Engineering
CERN
-
European Organization for Nuclear Research
CMMI
-
Capability Maturity Model Integration
CMS
-
Content Management System
CS 3
-
Creative Suite 3
CSS
-
Cascadding Stlye Sheets
DSDM
-
dynamic system development method
ERP
-
Enterprise Resource Planning
FTP
-
File Transfer Protocol
GIMP
-
GNU Image Manipulation Program
GUI
-
Ghraphical User Interface
HCI
-
Human Computer Interaction
HTML
-
Hyper Text Markup Language
IEEE
-
Institute of Electricals and Electronic Engineers
JAD
-
Joint Application Development
Lorum Ipsum
-
Text Filler or Dummy Text Content
MySQL
-
Simple Query Language
PHP
-
Personal Home Page / PHP :Hypertext Preprocessor
RAD
-
Rapid Application Development
RSS
-
Really Simple Syndication
SAP
-
System Analysis and Program Development
SDLC
-
Software Development Life Cycle
SEO
-
Search Engine Optimization
URL
-
Uniform Resource Locator
WCMS
-
Web Content Management System
WDLC
-
Web Development Life Cycle
15
WWW
-
World Wide Web
WYSIWYG
-
What You See Is What You Get
XML
-
Extension Markup Language
XP
-
Extreme Programming
16
LIST OF APPENDICES
APPENDIX
TITLE
PAGE
A
Gantt Chart for Industrial Attachment II
73
B
Pert Chart for Industrial Attachment II
75
17
CHAPTER 1
INTRODUCTION
1.0
Problem Background
In today’s development, there is no a ground rule or guideline which we can
be followed in developing static website. Even though the process of the web
development has similarities with the process in conventional software development
life cycle (SDLC) model, still there is a need to have a well tailored or dedicated
approach for web development based on specific requirement.
The term of web development life cycle (WDLC) that is used by many web
developer can be misunderstood in term of its scope. Some of them understand
WDLC as a new model of SDLC. Some of them understand it as new methodologies
in WDLC. Moreover, some of them even understand it as a whole new study of
SDLC because of its general term of WDLC itself.
Despite of the issues, the idea behind WDLC is to design a specific approach
for web development especially for static web development. The approach may not
be a whole new model of SDLC but it may be a derivation of SDLC model that
implies with the typical process of web development life cycle.
The approach is based on the current technology and may be varies in the
future. As for today, the widely used of web content management system (CMS),
advanced web authoring tools that can ease the process of prototyping to
implementation phase are major contributing factors of why this approach is
introduce at the first place.
18
Therefore, it is necessary to understand SDLC which includes the
methodologies and the models inside each of them. Moreover it is also important to
understand the website characteristic and its type such as static website and dynamic
website. Furthermore, understanding the latest and conventional development
process trends is also important as it will identifies the technologies involves in it.
Hence, the information will help to determine the appropriate model of SDLC and
therefore can be derived according to web development life cycle trends.
19
CHAPTER 2
SCOPES AND OBJECTIVES
2.0
Vision Statement
To analyze System Development Life Cycle (SDLC) in term of it
methodologies and models and compare it with web development life cycle (WDLC)
approaches where many web developer had introduced.
2.1
Project Objective
The following are the main objectives of this project:
i.
To study and understand the principle of SDLC including its
methodologies and models.
ii.
To study the characteristic of website project and system development
project.
iii.
To study WDLC characteristic and its principle
iv.
To analyze WDLC and SDLC relationship
v.
To suggest the appropriate SDLC model for web development trends.
20
2.2
Project Scopes
i. The web development life cycle is pertaining only to static web
development.
ii. The idea of the WDLC is taken from various web developers where it
provides different explanation in specific but share something in common
generally. The WDLC idea can be seen through URLs at the reference
page.
2.3
Project Plan
The project plan and time table can be referred in the attachment A of this report.
21
CHAPTER 3
LITERATURE STUDY
3.0
Software Development Life Cycle (SDLC)
Software development life cycle (SDLC) had been in the practice of the
information technology industry for many years. It has evolves and many approach
had been introduced to serve the industry needs and specification. It is common to
the analyst and developer to go through all the process of planning, analysis, design
and implementation phase.
Planning
Analysis
Design
Implementation
Figure 3.1: Basic Phases in SDLC
22
3.0.1
Planning
The initial phase of SDLC is very crucial because it determine of why the
project is going to be developed. This question will then lead to the project feasibility
that going to measure the practicality of the project where either the project is
realistic or not. Further that the feasibility had been recognized, more information the
analyst will get to estimate time and identify work breakdown structure.
Usually the feasibility is measured based on technical, economic and
organizational values. Technical feasibility study is a way to measure whether the
organization or team development have the ability to develop the project. Of course,
when development is concern, the team has to consider technical skill sets,
experience with similar portfolio, and level of knowledge about the project.
Meanwhile, economic feasibility study is about, measuring the organization or client
funding or expenditure toward the project. If it is about generating revenue, it is
about measuring whether the project is going to produce any income toward the
organization or not. On the other hand, organizational feasibility study is about the
organization itself whether the project is practical to them and is the project
complement or at least serve the company benefits.
Planning also leads to time and cost estimation. This is due to the resources
identified for the project development. Many resources do not necessarily means
faster development process and it goes as well for the more expensive the cost
estimation would be. Therefore the analyst has to identify resources in a later phase
according to the work breakdown structure where it consists of number of tasks that
should be done during the process. It is desirable to have each task assign to different
personnel where it can contribute to the task to be more focus and as a result lesser
time cost estimation. But again, does it contribute to cost effective throughout the
project. Gantt Chart and Pert chart are the most commonly a graphical way to aid
visual structure of planning and task of the project development process.
23
Hence, planning is very important as it assure the project to be feasible to
start of into development process.
3.0.2
Analysis
From planning the process continue to analysis phase. This phase is to
question who will be the user or to whom will the software benefit. It also question
that what kind of software that its produce and where it is going to be implemented.
This process will go through a series of interview and study of similar project
if there is any. The interview usually involve between the organization and the
development team, or it may happen between client and the development team, or it
may happen between the organization with the third party or outsource company.
Later on the inputs and information gathered are going to be analyzed into
more precise and specific details of requirement. Requirement is a steps that to be
determine critically because at the initial stage of the development the developer may
find the change of requirement throughout the process may not harm the project into
failure, but it will really affect when the development getting more complicated
where changing the requirement half way may be burden to the development and will
jeopardize the project into failure.
How is this possible? Requirement helps to detail and determine functional
and non-functional requirement where functional relates to the function that the
software or system should deliver. It also relates to the data flow and structure that
goes around the system. At this moment, use case, process model, and data model
will be detailed out in the requirement documents or etc. Use case basically if not
illustrate, it will explain the basic function that the system or software do.
Meanwhile, process model is basically how the functions within or outside the
system interacts between each other. Sometime function is also known as module.
On the other hand, data model is basically the flow of the data between modules.
24
These details are very important to be detailed out before the design phase because it
will help the next phase not to be redundant in term of the functionality and it also
help not to miss out any of the possible function so that the software will deliver it
purpose completely.
Where else, non-functional requirement is referring toward the software
performance and its usability. Hence, software architecture, environment of the
software implementation, the policies and security aspect are going to be determined.
With complete information from the requirement, the design will be fluent
because it is a matter of detailing out the requirement into more real implementation
to the technology that the requirement to fitted in.
3.0.3
Design
As the requirement details were gathered during analysis phase, design is
practically deciding the technology, software tools and hardware. It also determines
the architecture of the system as a whole in more detailed way for example in term of
the network structure and database design. Some of the organization will go through
the process of deciding outsource or in-house development or even buying a existing
software package such as SAP and other enterprise resource planning (ERP)
packages. In short, Design phase involve the process of physical design system,
architecture design, interface design, database and files design and program design.
Physical design basically involves the process model and data flow model
that correspond to the system specification and technology that going to be used
which had been determined during designing the architecture of the system or
software.
25
Meanwhile, interface design involves many other sub-processes beginning
with use scenario, interface structure, interface standard, interface prototype and
interface evaluation. The process started with defining how the user going to interact
with the system or software by listing out numbers scenario. From the scenario, the
designer will create all the possible structure of each possible user interface and
shows how each of them related. This later on, will determine the standard where it
going to produce a template to avoid redundancy in creating them in the future and
maybe to maintain the outlook if there is any possible function or module enhances.
Interface design prototyping is actually a simulation of the actual to be interface.
Storyboarding is the most popular way of simulating the events between each
interface. It is the simplest way and even can be comprehensive which depending on
the description of each scene of the storyboard. Another method is using HTML
prototype as it is simple to show the transition between pages or module by only
using hyperlink. Last but not least is interface evaluation where the interfaces are
going to be evaluated and search for improvement in term of the flows and structure.
Program design is another part that took place in the design phase. This part
emphasis on the logical and algorithm involve in a function or module. Not
necessarily that its available on each function or module but sufficient only to certain
that needs logical detail explanation about the algorithm. The algorithm might be an
algorithm to calculate weather temperature from Celsius to Fahrenheit, or to calculate
the loan interest total payment for 25 years.
Therefore, design is another critical phase that the developer should be very
careful to detail it out and to make sure it’s synchronized with the requirement at the
previous stage. This consequently will be the references especially for the
programmers, multimedia graphic designer and many other technical personnel to go
on with the implementation stage.
26
3.0.4
Implementation
This phase is the phase where the project is being realized. Some of the
project may cause this phase to be the longest phase in term of time consumption
toward completion of the whole process in SDLC. But it depends on the complexity
of the project itself. The project may be a simple and straight forward software or
system but because the company or organization practice certain policies that need be
go through such as following strictly formal SDLC documentation hence for them to
gain certain level of CMMI, therefore the most time consumption may cause from
other phase such as analysis phase.
Basically in implementation phase, there are numbers of sub-phases that most
developer follows. Usually it starts with, construct the system, install the system,
maintain the system and post implementation.
The processes that involve in the construction of the system are
programming, graphical user interface development, software testing and
performance testing. It is where the design details from the previous phase are
written into programming language and the interface design are realize into GUI.
Software testing is the next part of constructing the system.
Testing and programming are repetitive process. This is because the system
or software will be updated corresponding to the test result that are not comply with
the test case. Test case is a set of description that helps the tester to examine part of
functions from the whole system. This part of testing is known as software testing.
To achieve complete software testing, the software must be tested accordingly from
unit testing, integration testing, system testing and acceptance testing. Unit testing is
where the system is tested according to each modules or functions. Later on each of
these modules are tested among them that are collaborating for example unit function
that produce output as an input for another function must be correct before it is being
passed. Further on, the system is tested in term of each of the module must work
together without producing any errors. It is similar to integration testing but system
27
testing is focusing on larger scope. The final part of software testing is acceptance
test where the testing is done by the user. The acceptance test itself comprises of
alpha and beta testing. Alpha is a stage the data or input are “dummy” data which is
data that is made up just for that purpose. Usually it is done by user from the
development team. Meanwhile, beta is testing the system using real world data or
input where the users are the real user of the system and the testing process are
critically being monitored. This is because to differentiate between the errors made
up by the system and the error from the user itself. On the hand, performance testing
is more on the non-functional aspect. This testing is more on testing the system as a
whole, according to the environment such as the network capability and the security
of the system.
After whole system is fully tested the system is going through installation
process. Installation process includes data conversion if needed such as an old system
is transferring into new system and still the maintaining the previous data but the
system support different type of language and etc. Conversion strategy is needed
because it is crucial that a sudden change of system might cause the previous user
lost and unfamiliar hence contribute toward unproductively performance in their task
due from using the new system. Strategy such as parallel installation might come in
handy to solve the unfamiliar usage by the user but again it is still bound to
efficiency where is it a long period of parallel installation going to ease the user get
familiarize with system and does it going to affect the cost for the organization to
burden? Therefore a carefully plan strategy might help and boost the installation
process which the organization may consider train their staffs in order for them to get
used with the system or also known as change management.
Final part of implementation is maintenance, where the system is monitored
and updated to ensure it sustainability. The analyst has to always keep updating new
technology and approach so that the system deliverable will always perform at its
best.
28
3.1
System Development Life Cycle methodology
Throughout years of information system, there are many methodologies that
had been introduced. Each of the methodologies offers different pros and cons
toward the development process of the software or system. Each of them also tailored
toward specific business needs and circumstances where each of them has different
qualities therefore each software development process will be efficient and more
practical to be developed. For example waterfall method may not be practical if the
software completion date schedule that is so short and thus prototyping or extreme
programming methodologies might solve the problem. This is because methodology
such as waterfall is so structure where each phase have to be followed accordingly
which going to consume a lot of time. But since it is so structure, it is suitable for a
complex system.
There are many methodologies that are available in SDLC for the developer
to take them as a guideline. Basically SDLC methodologies are comprises into three
which are structured methodologies, rapid application development and agile
methodologies.
Structured methodologies are the earliest SDLC methodologies that were
replacing the unorganized system development process during 1980s. It is structure
that the development process has to follow the phase accordingly as step-by-step
process. There are basically two types of structure methodologies which are waterfall
methodology and parallel methodology.
Waterfall methodology is basically a process that the developer needs to
produce key deliverable such as documentation and presentation toward the sponsors
or client. The process will only be continuing once the phase is approved and agree
so that the next phase is continued. The advantage of waterfall methodology is that it
identifies the requirement critically so that the construction of the system later on
will be clear and smooth going. The disadvantage of waterfall is that it is so structure
29
and each phase need to have clearance from the sponsor it will affect the time cost
for the development process.
Another methodology is Rapid application development (RAD). It was
introduce to improve the structured based methodologies where it is so rigid and
consume a lot of time. As the technology getting better, RAD makes use of
computer-aided software engineering tools (CASE), joint application design session
(JAD), visual programming language and code generator to ease and speed up the
process development.
Prototyping is one of the best examples of RAD methodologies. It is about
performing analysis, design and implementation phase simultaneously. Moreover all
of the phases are repetitively performed until the system is complete. Throughout the
repetitive process the client or the sponsors will list out the possible improvement
and refinement of the system being developed. The advantage of RAD is that it is
more visible in term of the project progress toward the users; sponsor or client
therefore additional requirement is quickly added to make the system more complete.
The disadvantage of RAD is that it is not suitable for complex project where the
system may be so develop at one point and it has the difficulties to turn back due to
the data is complementing each other where if one of them are taken out it may
jeopardize the whole system probably.
The latest installment of SDLC methodology is agile development. It is even
faster than RAD approach since agile focusing on delivering the requirement on hand
and eliminates many of the phases took place and documentation that are exist in a
typical SDLC methodology. Another contributing factor of its performance is that it
focuses on a simpler but delivers the same output and less iterative process. There are
numbers of methodologies under agile development such as scrum, dynamic system
development method (DSDM) and extreme programming.
Extreme programming (XP) is a practical approach that makes the method
works effectively. It practices simple coding which done by two developers at most
30
and continuously having inputs from the user as their requirements. Moreover the
unit function also being tested on hand. This makes the development process faster
and efficient by eliminating process such as requirement approval, design document,
testing plan and testing phase. Usually extreme programming starts off with basic
overview plan that does not have to go through as rigid as in structure
methodologies. Many of the “seems” advantages in extreme programming may as
well a contributing factor of its disadvantages. Since it cut off many off the
documentation processes, it may tend to lead into confusion in the future as it will be
update and improvise. This methodology as well needs dedication from both parties
which are from developer and the client or user. This is because that the development
is peer to peer basis where both of them stay closely during the development.
System Development life cycle is basically the process of understanding how
the information system can support business growth and needs and hence give a
practical guidelines to design the system and therefore and develop or program it
efficiently and effectively. Although it is not about creating an “eye-catching” system
or it is specifically tailored to all software and system development needs, but it is
good enough that it is broad and general to give idea to the developer to develop the
whole complete project.
3.2
Website and its Characteristic
HTML or hyper text markup language was invented by Tim Berners-Lee. He
was a British physicist working at the CERN particle physics laboratory in Geneva,
Switzerland. As a scientist, he would like to share his information and other more
effectively and of course more efficient around from the world. Hypertext documents
with link which we known as hyperlink was introduced and very much had shape
what a website of today.
The website main purpose is to share information using World Wide Web
(WWW) as a medium across the network. Later on, website which usually consists
31
of web pages is becoming more complex as if it is developing using SDLC approach.
Website development had become a big industry and serves many purposes not only
toward large firms, but also toward individual who develop it solo. Therefore website
development is very crucial as it is a serious business and it is important that website
development to at least have a strategic outline during the development process.
It is important to understand the differences between website and web-based
system in this scope of study. Although it sound similar but it is different in a sense
of their architecture. Obviously website development is simpler because the
architecture is simpler as well. Website such as portal pages, company branding
website, and etc are using basically two tier processes which is web browser (client)
and server.
Client
Web Browser
Server
File Structure
Figure 3.2: Static Web Architecture
On the contrary, web-based system can be subset of a website such as order
entry form, forum and poll but it also can be a total web-based system of its own
where it is being practice in intranet environment such as employee management
system and student repository course, and in the internet such as internet banking
system.
32
Client
Web Browser
Server
File Structure
Server Scripting
Data Base
Figure 3.3: Dynamic Web Architecture
Hence it is clear that website and web-based system are totally different in
term of its architecture but share something in common where both using internet
and web browser as a medium.
3.3
Web development Life Cycle (WDLC)
It is an important step for the web developer to understand what Software
development life cycle (SDLC) is at the first place because it is basically the blue
print of all software application development including website development.
Developing a website these days had never been easier with a lot of technologies and
tools were introduced to speed up the development process.
Table 3.1: WDLC web development phases
Web Development Phases
Activity
Planning
Initial System Request
Feasibility Study
33
Analysis
Analysis Plan
Requirement Definition
Hardware and Software Specification
Design
Interface Design
Web Structure Design (Site Map)
Implementation
Construction
Test Plan
Problem Report
Change Request
Marketing
Maintenance Request
One of the critically acclaimed companies for this industry is Adobe. Adobe
had developed and continues upgrade many of their proprietary web application tools
that were develop initially by Macromedia such as Flash, Dreamweaver and
Firework successfully and serve many web developer needs. All of these tools had
boost up the speed for the website development as a whole.
Not only that, the introduction of many of open source software also had
made the web development easier and faster. Tools and software such as Flex, GIMP
and Aptana are just few of the free development tools available which help developer
especially small scale company who really does not have option for big investment
had given them to build up and enter the industry of web development.
Most often open source tools usually being criticized as not offering the same
quality features that the proprietary software offered. This is not partially true. As
what happen today software application such as MySQL is widely used and in fact it
holds the largest number of users for database application on the internet. JOOMLA
34
which is another open source content management system (CMS) that widely use on
the internet is another popular open source tools as well.
Furthermore, starting of developing website project nowadays had undergone
specific pattern and trend that were identified by many of the web developer either
the developer consist of large development team or small scale developer. Some of
them are a system or software developer where already familiar with SDLC and had
involved themselves with web development project but some are not who is probably
a graphic designer who venturing into web development. This variety of developer
had contributed toward different understanding of what is WDLC.
The emerging of different software and the practice of methodologies toward
developing web development project had created the idea of WDLC among the web
developer. Among of the reason supporting the idea of WDLC are as follows:
i. developing a medium to large sized website
ii. helps ensure quality and efficiency for freelancers or web development
firms
iii. help to format the team effectively, and the standards and procedures can
be adopted to achieve maximum quality
iv. using various programming and designing technology
Most of them agrees that WDLC is actually a derivation from SDLC and all
of them suggest to at least follow the basic SDLC phases which are comprises of
planning, analysis, design and implementation phase. Nonetheless, they suggest
some them to more specific toward web development needs. Therefore below are
more details of what each phases describe in WDLC.
3.3.1
Planning
It is so common that in our daily life to have a plan for the day. Even so that
ones does not have plan does not means he or she does not have any plan, it is
35
because they have already follow the norms which they have predefine in the first
place without noticing. The author preferably suggests that they already have their
own template of the day. Without noticed, they had planned to have breakfast
somewhere in the morning, to have lunch somewhere in the afternoon and to have
dinner somewhere around in the evening. It is not necessary to have the entire plan
note down because it is so common and it might be redundant and not efficient
practice.
The statement above is just the possibility that might happen with WDLC. In
web development especially for smaller scale website, the process might not have
complex planning strategies as what in software development life cycle have. This is
because “software” itself is a broad term and the software maybe varies in term of the
functions and deliverance. Unlike website development, it is already predetermine in
term of its function and purpose. As generally known, website is basically a software
or application that purposely for sharing information either it is public or private.
Therefore it may have some sort of patterns or trends regardless of what is the
website for. These trends later on were revised and the developer might simplify the
planning stage and becoming a blueprint where there is no need to reproduce the
same documents all over again.
Feasibility study that exists in SDLC especially for unique system such as
technical feasibility study, economic feasibility study and organizational feasibility
study might not be as complex as website development. This is because website is
fairly easy to be developing compare to unique software and in term of technical
feasibility, it is fairly clear that it is possible to develop it because there are many
website available and even a specific guideline of what to have what not to have
according to the genre of the website. Up to this point feasibility study in planning
phase can be said predetermined as it refers to the trend and pattern of the existing
website today.
The most commonly use strategic that SDLC is practicing and it is crucial if it
not taken seriously is time scheduling. Any of the projects including website
36
development have to have a time plan so the estimation of project completion can be
measure. Hence it going to give information for time cost and resources cost.
3.3.2
Analysis
In analysis phase, many of those who agree with WDLC had following the
same steps as in SDLC. Although it is about gathering requirement as well, in
WDLC many of them had tailored it into more specific requirement such as follows:i. Discuss hosting requirements for the website
ii. Collect content for the pages on the website
iii. Basic Layout of the website
iv. Theme that the website is going to adapt.
The techniques of gathering the requirement are the same as SDLC where
they can use joint application development (JAD), Interview, and questionnaire. As
for the layout and theme, there numbers of templates of web page that the developer
can follow or even buy or get it for free.
Documenting requirement is also important in WDLC since it is also going to
be the references for the next phase where it will be convert into detailed design
which is more comprehensive and more detailed description. Use cases, process
model and data model are still relevant since it going to show general visual
description of the data between web pages or between function throughout the whole
website if web-based system is concern and integrated into the website. Other than
that, the documentation also needs to show the site map of the whole website. Site
map is an overview of links and relationship of web pages inside the website. It is
important because it determine the size of the website hence can contribute toward
more detailed requirement.
Unlike SDLC, WDLC is more lenient because website development is a
straight forward process it does not involve as complex as system where the database
37
driven mechanism is more complex where else website more toward displaying
information on different pages. Even so the content of the page might be updated
regularly, it is still does not involve complex data flow from database as it is in
system development. In website development it is a matter of how many occurrences
of the information will be updated in one page and how the developer tackles that
issue. This will be discussed in the coming chapter of content management system
(CMS).
3.3.3 Design
Again, by referring toward the information receive from the previous phase
and after the requirements were detailed out, the process continues toward designing
phase. Similar to SDLC, in WDLC the requirement will be detail out into numbers of
step as well. As in WDLC design are consist into two parts. Prototyping is the first
step of design phase where the developer creates basic layout and template. The
layout will not only have one templates, it may consist of varies of template to suit
with the different page that it represent.
It is not necessary to have a design physical system as in SDLC where
physical process models, physical data model, and system specification are
considered crucial. Since WDLC is merely presenting information on web pages and
the flow of the data is so obvious for all website development where the information
is actually the data from the server and is uploaded at the page, it is so common
where it is not necessary to have design physical system.
Architecture design in SDLC focuses on the hardware, software and network
integration. Architecture design for website development is fairly the same for each
of them. It is commonly known that all website are store in one server and then it will
be uploaded into web browser. But if the architecture design discuss about the
architecture of the website structure itself then it is different. Website architecture is
different with system architecture because this architecture focusing on web content,
38
business plan, usability, interaction design, information architecture and web design.
Hence a good architecture may affect the search engine optimization (SEO) to be
more effectively and therefore the website is marketable.
Since website development involve a lot with visual appearance and aesthetic
value of the website, interface design is very crucial. Although there is no standard
layout to be followed, the experienced developer will always practice the ground
rules that had been studied in Human Computer Interaction (HCI) field such as “2
clicks rule” and many more. This ground rules will contribute toward ideas of design
more effective and more user friendly website.
It is not required for WDLC to go trough database and files design step as in
SDLC. But instead of that, the developer can consider detailing out the files structure
of the website. it is a common practice for today website development where the
images, audio, video, text archive, downloadable content and probably flash content
to be separated into different folders and indexing it into special naming convention.
This is the most effective way to organize the files for the website. As the content
grow bigger the files will maintain easy to handle.
3.3.4
Implementation
Implementation in WDLC is basically divided into three steps which is
similar to SDLC. It begins with construct or develops the website into what it should
look like. At this step, the content is organized and the links are made. The content
and links should compliment with the templates that had been design in the previous
phase. The programming part is taken place as well in this stage. But due to many
authoring tools and fourth-generation/visual programming language, it has simplify
and help saving development time since it can generate codes and create the specific
function by just using such easy as “drag and drop” method.
39
Testing is also part of constructing the website. Similarly, WDLC test the
website in term of its functional and performance capability. In term of functional
testing, the test case is obviously to check each link between web pages to work
properly. This is the fundamental of website testing since website is all about links
and displaying information. Hence, once the links serve it rights, the content of each
web page should display the respective content. Other is more about aesthetic value
such as appearance, formatting and consistency. All of these are best done in object
oriented wise where it can be done using CSS, XML and web programming language
such as PHP. Furthermore, pages that are dynamic such as web form can be check its
functionality by checking whether it send the right information to the right place.
Web forms that are simple such as forums and sending contact information is still
under the scope of website development hence it should be documented with the
website project. Unlike system that links toward the website such as course
repository or online registration for a college website can be consider external and it
should be documented according to each respective projects.
On the other hand, performance testing for website can be done while testing
its link. During this stage, the tester can evaluate the speed of the page to appear
completely. Then if the page is slow, the tester can analyze is it the content or is it the
infrastructure of the internet service provider. Performance testing website is always
bound under internet technology such as web server, web browser and etc where it is
outside the scope of the developer. Hence there are only little to concern when it
comes to performance testing for website development because the architecture and
policies are quite similar for each project.
Installation can be defined into two aspects. First is fresh installation where
the server is tested locally and then posted to the real server. The concern is more on
the whether the website can should display and work exactly the when it was in local
server. Thing such as training and change management is out of the scope since the
user are pretty clear that it is the internet user itself who assumed already get used
with internet browser. Although conversion plan might happen in the website
development, it is more or less changing or updating the new layout of the website
while maintaining the content. These can be easily done by using technology of
40
“template” that such software as Dreamweaver, CSS and XML. Again, it is more on
the outlook where it is still bound under web browser technology.
Different from SDLC, website maintaining happens in more regular basis
than system or software. This is because website is about updating the content and
theme. By doing this the website is fresh and the will always something new for the
user to gain and experience. Choosing the right technology in the early phase of
WDLC is very important for maintaining purpose. The website may be simple and
represent a small company or organization and hence there is nothing much to update
compare to larger company or organization. Web portal such as web magazine or
newspaper handle more updating information than other kind of website. Therefore
considering technology such as CMS can solve the problem of content management
and update issues. CMS will be discussed in the next coming chapter.
Final part of implementation is post-implementation. In SDLC, the developer
would be more concern about the support plan which can be in term of formal and
informal review. This review will result the minor or major changes where the
project development go into developing the next version of the system. Where else,
website development is more concern about marketing or ongoing promotion where
it can be done using several methods. One of the most economical way and the
common concern when developing a website is about “search engine friendliness”.
Usually developer might look toward search engine optimization (SEO) option where
it can be done using from the popular search engine or managing “meta tag” for the
web crawler to detect the website easily.
3.4
Content Management System (CMS)
Content management system is a system to manage the content of any
particular application. As for this topic, the author will scope in using CMS under
website development. Web content management system is largely use nowadays to
ease and speed up web development process from designing up until implementation
41
phase. It eliminates many of the process in development and made website
development easier to handle and possible to be done by a small team.
It is important especially for website that is update on regular basis. Even so,
it is also applicable toward any website development and it is consider a good
practice either it is a big or small website. With CMS in hand, the website can be
manageable easily and faster unlike the more traditional way, the website is being
update as if the update process is similar to developing the website from scratch. This
is because a static website really relies on a file transfer protocol (FTP) application to
update their website. by referring the documentation regarding the file management,
the new developer and even the existing developer might have problem identify the
correspond file.
Moreover many of the CMS application and even open-source had taken the
CMS into higher level. It is not only serve as managing the content, but it makes the
website content richer in term of side application offer by them. This offer is the
result of the similarities of any website during past years that many of the developer
had to thing and develop which cost them more time and money. Side application
such as calendar, user authentication, forums, chatting, shopping cart and many were
made possible and it is easy to be integrated as if it is like drag and drop.
Furthermore, considering CMS also brings advantage in term of “search
engine friendliness” issue that the author tackled earlier. Search engine optimization
(SEO) is very important to make the website marketable. Besides, it is also
economical rather than using other media which cost the organization a lot of money.
Therefore, SEO in the web CMS can helps the website development process at ease
and economical and yet professional where a website for small company or
organization can stand side by side with the larger ones.
42
3.4.1
Basic feature of web CMS
Although not all web CMS offer as what mentioned previously, but here are
the common feature that web CMS had to offer. This information is taken from
wikipedia.org under the topic of web content management system (WCMS).
i.
Automated templates
Create standard output templates (usually HTML and XML) that can be
automatically applied to new and existing content, allowing the
appearance of all content to be changed from one central place.
ii.
Easily editable content
Once content is separated from the visual presentation of a site, it usually
becomes much easier and quicker to edit and manipulate. Most WCMS
software includes WYSIWYG editing tools allowing non-technical
individuals to create and edit content.
iii.
Scalable feature sets
Most WCMS software includes plug-ins or modules that can be easily
installed to extend an existing site's functionality.
iv.
Web standards upgrades
Active WCMS software usually receives regular updates that include
new feature sets and keep the system up to current web standards.
v.
Workflow management
Workflow is the process of creating cycles of sequential and parallel
tasks that must be accomplished in the CMS. For example, a content
creator can submit a story, but it is not published until the copy editor
cleans it up and the editor-in-chief approves it.
vi.
Delegation
Some CMS software allows for various user groups to have limited
privileges over specific content on the website, spreading out the
responsibility of content management.
vii. Document management
43
CMS software may provide a means of managing the life cycle of a
document from initial creation time, through revisions, publication,
archive, and document destruction.
viii. Content virtualization
CMS software may provide a means of allowing each user to work within
a virtual copy of the entire Web site, document set, and/or code base.
This enables changes to multiple interdependent resources to be viewed
and/or executed in-context prior to submission.
3.4.2
Possible downside of CMS
CMS may have its downside. The possible disadvantages are it is online and
the performance is bound by the internet infrastructure. Although offline CMS are
available it is not widely use as online CMS. Another downside of many of CMS is
difficult to manage. CMS usually have their own scheme of file structure. This file
structure can be complicated to understand although it is enough for web developer
to understand how to operate the interface of CMS. Ironically the idea of CMS is to
manage the website easily but the steep learning curve to learn using most of the
CMS had made them turn down of considering in the web development process. It is
important to understand the file structure because understanding it can manage and
detect bugs and errors causing by the CMS. This is usually happens when the
developers want to develop their own side application for their website.
Nowadays many of web CMS offer templates and it is very good for many
website developer to not thinking of aesthetic part of the design. But most of the
templates are fairly the same in term of its layout arrangement. Some of CMS had
limited the layout arrangement possibility where it leaves little space for creativity by
the designer. Hence it has a little chance for the website to standout because the
website looks so obvious and same with the rest of the common website especially
the one who is using same CMS tool.
44
3.4.3
Choosing the right CMS
Despite of that, there are a number of considerations to be taken seriously
when dealing with CMS into website development process. With a good CMS
application it will eliminates many of the downside that most of the common CMS
caused. The criteria of choosing the good CMS would be popularity of the CMS
itself by the web developer. Many of the CMS are open source and its available for
free download. As a result many of seasoned web developer might leave suggestion
and comment of what do when selecting the best web CMS. The other criterion is
ease of use. “Ease of use” covers from the acquiring the CMS, installation process,
readable documentation and tutorials availability. Another criterion is minimal
learning curve when using with CMS application. All of these criterion will help the
CMS integrates smoothly with the web development process
Considering web CMS at the early stage will help the developer to recognize
where actually CMS lies in the WDLC phase. It also helps the developer to identify
which is part of the process can be eliminate as from the traditional WDLC. Usually
CMS lies in the early of design phase until maintenance.
At the early of designing phase, the developer have to consider that the
templates that they are using must be synchronized with the web CMS that they are
using. This will ensure the CSS, XML and div tags are place properly in the template
before the constructing begins. This is usually called prototyping in the WDLC
designing phase.
After the prototyping is decided as template, the content will be inserted at
the constructing or developing stage in the implementation phase of WDLC. Unlike
WDLC without CMS, the content are inserted according to the file structure which
represent the page. In the CMS, the structures of the content are outlined and are
more organized. It organized them into categories such as into articles, section,
category and media. This organization of content made the CMS well index and
45
assists the SEO better. Hence, it also help the maintenance part which concern more
on content update become more visible and practical.
One of the most well known web CMS and had a critically high acclaimed on
its success is Joomla. According to wikipedia that is updated on 2008, Joomla was
listed the most popular web CMS available beating 85 other. It is same on the 2008
analysis review from Google that Joomla produce more hits compare to other CMS
which is nearly to 101 million hits.
This shows that Joomla is dominantly widely use web CMS application on
the internet. This is because Joomla is open-source and free and it already in the
market and industry for long time. With experience at hand, Joomla able to matured
and improved in term of its performance. It also has big number of loyal user where
as a result many of them contribute toward it improvisation and forums for tutorials.
Below are some of the advantages of Joomla:i.
intuitive interface and management panel
ii.
adapt what you see what you get (WYSIWYG) for editing
iii.
rich formatting capabilities
iv.
thousand of downloadable and free page templates
v.
full text search
vi.
plug-in or side application for commercial sites such as shopping cart
system.
vii. search engine optimization features
viii. schedule publishing.
3.5
Web Development Life Cycle Methodology
As we know Software Development Life Cycle (SDLC) is a study of
development methodologies and strategies of developing the system or software
effectively and as well regarding about the management of the process for each
46
phase. This study also had introduced a numbers of methodologies that were
analyzed hence improve from time to time. As discussed earlier, SDLC
methodologies were categorized into three which are structure, rapid application
development and agile.
As written by many of the developer that introduced web development life
cycle (WDLC) they had followed the development phase structurally. The most
common structure methodology in WDLC is waterfall model. The model is so
common in WDLC because of the website development nature.
The website development is a straight forward development as mentioned
earlier. The phase in WDLC itself is a straight forward because the nature of the
process needs to have approvals or agreement from the sponsors or client before it
proceed to the next phase. All of these are just some of the reason why waterfall
model is very practical in website development in general.
Particularly, website development is commonly clear with its user
requirement. Hence it is easy to predict what to do in the planning stage which is
very suitable with waterfall model. Similarly, the technology is familiar where most
of the developer at least will familiar with HTML, XML and CSS since that is the
most common language in a web browser.
Website project is not as complex as system or software project which makes
them also suitable with waterfall model although there is more suitable model that
can deal with simple project. Waterfall model is also known for it reliability because
it is known for its structure phase.
Nonetheless there are some that considered that WDLC itself is another part
of software development methodology although it shares many similarities with
waterfall model or maybe other model as well such as prototyping or extreme
programming. This probably might cause from WDLC that containing a numbers of
different methodologies that mix within the whole process development.
47
CHAPTER 4
DISCUSSION
4.0
Introduction
Software development life cycle is a broad topic of study. It covers from the
methodologies of the development to the management strategies that involves. It is a
continuous process as such it is a process of life cycle. Life cycle is commonly
understood that it consist of phases and stages where each process relates toward
each other. Each of the phases has to have something to deliver as an input for the
consecutive phase. This input becomes a pre-requisite for the phase to do their
respective task. And this process become a cycle when any of them return to the
previous phase the get a better input so it can produce a quality output where it
should not have the necessary of going back to the previous phase. This process is
very common not only to the software but toward thing that the developer need to
develop. Building a house, car, and even a website need a proper engineering process
so the development is clear in term of its details and specification where it leads to
continuous improvement.
Similarly website development is a continuous in term of its process from
initial to completion and it continues at the maintenance process. Hence it is believe
that it also follows the process of development life cycle. Many of the web developer
consider the process development called web development life cycle (WDLC).
48
As what we understand from SDLC is a type of study about software
development. Software itself is a broad term and it can be said a unique product that
serve different function and deliverable for each unique software. The development
methodologies will be defer as well in term of its complexity and many more. The
methodologies will serve as a blue print for each software development to follow as
for example that complex software is suitable if waterfall is taken as its
methodologies model. On the contrary for simple and fast development agile is the
best practice as the development model.
As many web developers call the development process of website as website
development life cycle (WDLC), there is no technical or critically discussed topic or
research about it especially in a credible IT related article repository such as ACM or
IEEE. Therefore the question is raised to question the credibility of WDLC itself.
What does WDLC make it apart from SDLC? If WDLC does have differences with
SDLC, do they have their own methodologies such as structured, RAD and agile? Is
WDLC relevant?
This question will be answer according to some analysis and comparison
review between SDLC and WDLC.
4.1
Differences of SDLC and WDLC
The tools maybe the same tools as what it is used in developing software
application such as project management tools, software testing automation, or even
language such as Java. But what does it break apart from SDLC? Is it that the whole
phases are totally different with SDLC? Or is it the WDLC is another methodology
that offers within the scope of SDLC??
49
Table 4.1: Comparison of SDLC and WDLC
Development
Activity in SDLC
Activity In WDLC
Initial System Request
Initial System Request
Feasibility Analysis
Feasibility Study
Analysis Plan
Analysis Plan
Requirement Definition
Requirement Definition
Phases
Planning
Analysis
Use Cases
Process Model
Data Model
Design
Physical Process Model
Hardware and Software Specification
Physical Data Model
Interface Design
Architecture Design
Web Structure Design (Site Map)
Interface Design
Hardware and Software
specification
Data Storage
Implementation
Construction / program
Construction
Test plan
Test Plan
Documentation
Problem Report
Training Plan
Change Request
Conversion Plan
Change Management
Marketing
Support Plan
Maintenance Request
50
Before we go the answer below are some of the comparison reviews of what
are the phases that it is in SDLC and what in WDLC.
Table 4.2: Activity Comparison between SDLC and WDLC
Development
SDLC
WDLC (review)
Initial System Request
Technical feasibility is not
Feasibility Analysis
concern due to the availability
Phases
Planning
of the internet technology
itself.
Analysis
Analysis Plan
Requirement definition is
Requirement Definition
more predefine such as
Use Cases
acquiring content and the
Process Model
visual layout.
Data Model
Use cases is also predefine
since website is a mere
content presentation while
web browser is the actual
system behind the website
technology
Since website is a straight
forward architecture, process
model and data model is not
necessary.
Design
Physical Process Model
Since process model and data
Physical Data Model
model is not necessary there
Architecture Design
is no need for physical
Interface Design
process model and physical
51
Hardware and Software
data model.
specification
Data Storage
Architecture is obvious for
website development
Interface design is crucial in
website development because
it is about visual where
website is all about
Hardware is predefine where
else the software might be
differ from different website
project.
Prototyping and design are the
considered in Design phase. It
is where the template is
design and initial CSS is
constructed
Implementation
Construction / program
All of the construction such as
Test plan
putting all the content
Documentation
together. This includes audio,
Training Plan
video and animation as well.
Conversion Plan
Change Management
Training may not necessary
Support Plan
because website target users
are basically the internet user
who is assumed to get use
with web browser.
Conversion plan is less. With
52
the template strategy the
content can be maintain even
tough the layout is changed.
Moreover website basically
using HTML as their
language.
Similarly to change
management it is not
necessary because website is
for internet user.
From above we can see that WDLC is actually following SDLC in general. It
is not that WDLC is apart from SDLC in term of it total different set of study.
WDLC is actually a derivation from SDLC where it focuses more on the website
development scope. Therefore WDLC is actually a subset of SDLC.
As we know that SDLC comprises of methodologies or model that were
designs to fit into each different development process situation and circumstances.
Website development is just another product of system development. Website is a
straight forward and a simple system to understand. But is it essential to categorize
WDLC as another part of SDLC methodologies such as waterfall model in structure
methodologies, or is it already a totally new methodology apart from RAD, agile and
structured?
4.2
WDLC as a subset of SDLC
Before choosing what is best methodologies or model that to be follow, there
are a set of criterion that the developer had to consider. Below is the list of criterion
that is basically studied in SDLC field.
i. Clarity of requirement
53
ii. Familiarity with technology
iii. System complexity
iv. System Reliability
v. Short Time Schedules
vi. Schedule Visibility
As we already discussed about WDLC is not really a new set of study, we are
going to analyze the relevancy of WDLC to become a new set of methodologies. As
we know each methodology were designed to tackle several issue that are commonly
found in the system development. Below is the suggestion framework of selecting
the best methodologies for a project that been suggested from System analysis and
design, second edition, wiley.
Table 4.3: Criterion Selection Factors in Structure Methodologies
Ability to develop system
Structure Methodologies
Waterfall
Parallel
Phased
Unclear user requirement
Poor
Poor
Good
Unfamiliar technology
Poor
Poor
Good
Complex project
Good
Good
Good
Reliable
Good
Good
Good
Short time schedule
Poor
Good
Excellent
Schedule Visibility
Poor
Poor
Excellent
Table 4.4: Criterion Selection Factors in Rapid Application Development (RAD)
Ability to develop system
Rapid Application Development (RAD)
Methodologies
Prototyping
Throwaway Prototyping
Unclear user requirement
Excellent
Excellent
Unfamiliar technology
Poor
Excellent
Complex project
Good
Excellent
54
Reliable
Good
Good
Short time schedule
Excellent
Good
Schedule Visibility
Excellent
Good
Table 4.5: Criterion Selection Factors in Agile Methodologies
Ability to develop system
Agile Methodologies
Extreme programming
Unclear user requirement
Excellent
Unfamiliar technology
Poor
Complex project
Poor
Reliable
Good
Short time schedule
Excellent
Schedule Visibility
Good
Many of the web developer adapting waterfall model because waterfall model
is very straight forward and structured which made them easy to follow. Now we
analyze common characteristic of website.
As discussed earlier in the previous chapter, website is a straight forward
project in term of its nature architecture, its development process life cycle. Due to
this, usually time schedule for the website development is short compare to system
development. It is also factored from the mechanism of the common website that is
relevantly similar with other website projects which make the design and
implementation phase predictable and easy to understand. Many of the requirements
are predefine such as what the website commonly do which are hyperlink and
displaying web pages which is already fulfilled by the web browser technology. It is
more to concern on the content and layout where the fundamental of website
development.
55
Website development had become easier as the constructing the website itself
is easy as “drag and drop". This is for the reason that the technologies become more
advanced as such it can generate code in the implementation phase where details
from design phase are the only input for it to generate in such way. This is made
possible by the introduction of computer aided software engineering (CASE), visual
programming language, authoring tools and code generator. These applications had
subsequently made website development more effective and shortening the time cost
that occurs in design and implementation phase.
Moreover, technology also had brought blessing to website development
process as content management system (CMS) made particularly maintenance
process in implementation phase easier regardless of the website scale. Managing
content on regular basis made web developer at ease because it is easy as using word
processing application and each entry or update will be log hence it is automatically
being documented. Not only that, CMS software such as JOOMLA is so
comprehensive in a way it provides numbers of side application or plug-in to make
the website richer and practical. The plug-in such as search box, calendar and even
shopping cart is ready to be installed and the web developer might not have to worry
about developing them as what happen traditionally.
Therefore, the entire mentioned characteristic of common website had made
into assumption that website development is easy and not complex. Hence, the
characteristic of website development had opened and revealed the suitable
methodologies and models that can be adapt.
Many of the web developer especially who agree with the idea of WDLC
saying that WDLC is actually following waterfall model if it is not saying that
WDLC is another part of SDLC. As from the information above, WDLC is best
suited in Rapid Application Development (RAD) methodology.
RAD is basically the improvement of structured methodology. Unlike
structured, RAD is faster. The methodologies recommend using special techniques
56
and computer tools to speed up the analysis, design, and implementation phases.
Technology that siding with website development in which to support the
development phases to be faster had made it very suitable with RAD methodologies.
Other methodologies such as agile also is not suitable compare to RAD. This is
because agile development is more on coding-centric approach. Even though Agile is
also suitable for simple project, due to peer-to-peer approach and really focusing on
coding such as in extreme programming model had made it not appropriate to with
web development where focusing on aesthetic value and using more on authoring
tool rather than programming too
4.3
Throwaway Prototyping Model for WDLC
Throwaway Prototyping model is a model that performs the analysis, design
and implementation concurrently and in iterative manner. In these sense, we know
most of the website development activity are happened most on these phases.
Therefore, website development is best described with this model. It is still suffice if
the website development is not following each of the workflow suggested in the
prototype model. The model that is being suggested is based on the most near
criterion of how to select the best model for a project that was discussed earlier.
It is more accurate toward the model when website development integrating
with web Content Management System (CMS). This application can be considered as
tools or application that can boost the speed of the development where maximizing
by using tools for this purpose is part of what rapid application development (RAD)
is all about.
Although prototyping model is still visible as the option for the development
process model, there are some key features that what makes throwaway prototyping
different with prototyping model and hence become the option for website
development guideline. The key features are system prototype and design prototype.
57
System prototype is the outcomes of analysis, design and implementation
phase in prototyping model. Where else, design prototype is the outcome from the
same phases in throwaway prototyping. When system prototype is finalized, the
process will continue on the implementation phase and so forth. On the contrary,
design prototype will go to the design phase then to implementation and so on.
Design prototype is a working system but it is actually part of the complete
project. Design prototype helps the user and the developer to understand and
visualize the outer part of the system. It is not necessary working system but more on
“mock-up” representation of the system or project. Therefore it fits the website
development process where design prototype is actually a interface prototype but it is
not really functioning. It can be images of how the web page looks like but the links
is not working, or a dummy text that is generated using “lorum ipsum” generator or a
merely working hyperlink text without the content to show the linkage between web
pages.
58
CHAPTER 5
IMPLEMENTATION
5.0
Introduction
Website development has been proven to be effective if it is adapting
throwaway prototyping model in rapid application development methodology. This is
because the nature and trend of the website development process is simpler and not
complicated as other system development processes. As far as this model is
concerned, it has been proven useful for the CASE website project as being
implemented during industrial attachment period.
5.1
Brief of the project
Since CASE establishment, website is a need and crucial part of their
marketing strategy to deliver information about what it has to offer to the world. As
the organization grows in term of its maturity and its recognition, it is important that
the website to maintain its standard and its credibility according to what the
organization level. It is necessary to CASE to be competitive as well with other
academic institution either it is within the university or throughout international
scope.
In 2005, CASE had hired a third party company as it outsourced for their
website development project. The company had adapted CMS technology to the
59
project and applies an existing design template as the website layout. As far as the
content management wise concern, the website is at the presentable sense but it
lacked of authenticity of its own fashion and image that should set it apart with other
renowned academic institution website.
As the website completed, the update of the content become more difficult
because it supposed to be handled by the CASE staffs which is not literate toward
that CMS software. Although there were trainings during earlier stage of installation
and implementation phase toward the responsible staffs that should handle the CMS,
it turns out to be difficult to them to the steep learning curve the CMS software itself.
Hence, it was proposed and realized that the CASE website should be
redesign and restructure. Therefore, the project had come into several objectives to
be achieved in five month duration. The objective represents the key features and
improvement from the previous website product. The objectives are as follows:i. The layout must be practical and user friendly
ii. Aesthetic elements are part of the website features
iii. Content must be easy to update and expand
iv. Open to multiple layout template possibility.
5.2
Project Development Process
The project adapts throwaway prototyping and follows each of the SDLC
phases and will be discussed in detail as the process go through. Below is the
throwaway prototyping according to CASE website project.
60
Planning
Analysis
Analysis
Design
Design
Implementati
on
Implementa
Design
Prototype
The System
Figure 5.1: Throwaway Prototyping Model
Table 5.1: Activities in Throwaway Prototyping
Phased
Activities
Planning
Initial system request – requesting to developed the new
website
Feasibility Study – focusing more on the new technology
that the project can adapt and improve from previous such
as the CMS, server side scripting language, and even study
on effective web layout comparison with the previous
project.
Analysis
At this stage, analysis is more on the brief study from the
current established website as a benchmark for the website
project itself. The study includes the website layout,
aesthetic features, and technology adaptation.
Design Prototype
Design prototype involves iteration of analysis, design and
61
implementation sub-phases. Each phase is more focus on
the prototype product that it wants to achieve during the
requirement part that is determined during analysis part. The
requirement at this stage is more toward achieving
presentable layout template and good web structure
Analysis – Study on other website to produce web templates
and good web structure that is practical and yet
comprehensive.
Design – raw design is drawing and sketching on raw paper
to get the first impression. Sometimes drawing using tablet
is also considered raw design. Here also determined the
theme color, font type and text format.
Implementation – this is where the website template
prototype is developed. The development criterions are
based on the requirement set on the design sub-phase. The
theme, font and text format are visualize digitally. It may
contain numbers of templates that covers from home page,
content page, transition page and action page.
The iteration goes on until it produces the decided layout
templates.
Design
As the prototype had been decided, it will be “sliced” into
sections where it is usually represented as a table or div tag
in web authoring tool that reads and manipulate HTML.
Here also may include other more detail design of the
website content, such as designing RSS button, PDF
buttons, Print buttons and etc as an object so it can be recall
next time when it is necessary to be used.
62
Many of the website these days may have different
background for their homepage or even montage. Therefore
the designs of those particulars are taken place at this phase.
Implementation
Considering CMS, the template are going to be code
according to the template guidelines that the particular
CMS. It is needed so it can be synchronize with the content
later on and it can generate pages by itself without
reproduced using web authoring tools.
At this phase, CMS installation is taken place. Usually CMS
will be installed directly to the real-server before the content
is inserted. Configuring items such as database setup, and
testing it stability at administration page is crucial. After the
CMS is installed, the template will be installed in the CMS.
Although it is possible to install locally at first, but it seems
not practical since the CMS itself is capable of installing the
content and others remotely.
The content structure is created according to the web
structure proposed earlier in the designed prototype.
Moreover, the modules that are pre-installed may become
handy to complement the website deliverance such as
calendar, login authentication, banner ads and etc.
The website is going to be tested for each page. Usually the
testing is more toward the correctness of the content, and
flow of the links instead of bugs that caused by the database
and the pre-installed modules. This is because the
mechanism of the CMS and the modules usually being
tested carefully by the correspond developers of the CMS
and third party modules.
63
Training may also involves, since CMS itself is usually user
friendly and not programming oriented when it comes to
updating the content. Hence, the respective staff or content
manager may be trained by the developer to manage and
update the website.
Maintenance
Website project development may involve maintenance in
term of its content updates and may also change their theme
and template pages overtime.
5.2.1
Planning
At this stage, the project decided to adapt numbers of technologies for the
website development tools. The feasibility studies are concentrating more toward
technical and choosing the suitable internet technology such as CMS, server scripting
language, web authoring tools and server technology. The technologies choosing
criterions are based on follows: i. Latest Technology and yet stable
ii. The technology is widely used and among the top compare to its
competitors
iii. It is cost effective and yet trustworthy
iv. The technology is an industry standard.
As for this project, Joomla is chose as CMS package, therefore PHP is chose
as well as a server side scripting language and MySQL as database query language.
This is because PHP and MySQL are basically two technologies that run with apache
server where Joomla work with. Moreover, both PHP and MySQL is an open source
language and widely used around the world for web development and had become
W3C (world wide web consortium) standard. Furthermore combination of MySQL
64
and PHP are their cross-platform capability. Hence it is a perfect solution package
where it can be developed on windows based platform and runs on Linux operating
system.
Joomla similarly are the most popular web content management system
software. It is a powerful and among the largest user community on the internet. It is
free and offers many third party modules which can benefit the website without
wasting develop it “hard-coded”.
Adobe Creative Suite 3 web standards on the other hand were chosen as the
web authoring package software to develop the website project. The software
package mainly includes Dreamweaver CS3, Flash CS3, and Firework CS3. All of
the software had been tailored to the workflow that had been suggested by Adobe
toward efficiency of development process. Below is the workflow:-
Table 5.2: Software and Tools for Web development
Phase
Software
Activity
Prototyping
Firework CS3
Rough design of the outlook of the web
pages layout.
Design
Firework CS3
Detailed Design Including any necessary
Flash CS3
animation if needed. Here the colors,
basic font and any detail object are
designed.
Implementation
Dreamweaver CS3
The sliced designed pages are transferred
here into HTML. Embedding with PHP
tags and others such as JavaScript, CSS,
and even Joomla template tags.
Maintenance
Dreamweaver CS3
Content updates and template
maintenance, but in this project, the tasks
are done by CMS.
65
The adobe workflow for website development is very suitable to be
synchronized with throwaway prototyping model. The workflow can be considered
as a design prototype sub-phased where it is specially tailored for creating
prototyping page. Later on, the decided prototype will be implemented in CMS
where the content structure is created.
Below are the summary of the technology use for the website development:-
Table 5.3: Technology for Web Development
Technology
Details
Web Server Side
PHP 5 – web programming language
MySQL 4.1.0 – Database Programming
language
Apache 2.0 – Web Server application
Content Management System
Joomla 1.5.- web oriented content
management system
Web Authoring Tools
Adobe Creative Suite 3 Web Standard
Dreamweaver CS3
Flash CS3
Firework CS3
5.2.2 Analysis
At these phase, study of other website is important as it will give the
worldview of the website that is going to be developed. Hence, it is important to lay
out specific criterions in choosing the website that are going to be as a reference or
66
more specific as a benchmark. Benchmarking is crucial because it will set up certain
objectives and measures so that the future output of the product will be visible and
predictable. Therefore the criterions are as follows:i. The website must be an academic website which is more preferably
university website
ii. The university must be renowned and among the world top ranking
university
iii. Among the website, it must have an outstanding aesthetic value and
practical website structure and user interface.
Therefore by using the above criterions, there are three website were chosen
as a basic study reference for analyzing the trends among themselves from their
similarities. The websites are as follows:i. Imperial College - http://www3.imperial.ac.uk/
ii. Aston University - http://www1.aston.ac.uk/
iii. Harvard University - http://www.harvard.edu/
According to these three website, other than sharing the same criterions they
all have similarities in term of main theme color specification. They are also having
their own homepage as a default page whenever the user goes to their main URL.
Homepage is a main or first impression of the website user toward the whole website
experience that the user may encounter. All of the aesthetic value of each website
maintain its corporate outlook and distinguished into one basic color.
Although the layout for the main page of each website is different, the layout
of the websites content page is basically divided into header, main navigation,
breadcrumbs, sub navigation, content, and footer. Which can be visualized as
follows: -
67
Header
Main Navigation
Breadcrumbs
Content
Sub Navigation
Footer
Figure 5.2: Content Layout for the Website
As a result of the study, the website had come into some basic requirement of
the website features. The basic requirements are as follows:i. The website will be basically differentiated into two basic page layouts
which are homepage layout, and content page layout.
ii. The Website must have designated layout for the homepage
iii. The content page layout must follow the studied and analyzed layout as
shown previously.
iv. The website must have one basic theme color. To ensure it blends
correctly with other color. The development process is using
http://colorschemedesigner.com/ tools
5.2.3 Design Prototype
The design prototype is purposely to cater for producing a final layout
template. In order to do that, the process must undergone series of iteration of design
prototype phases which consist of analysis, design, and implementation. The project
had undergone three iteration processes to produce final template.
68
5.2.3.1
First Iteration
5.2.3.1.1
Analysis and Design
The first iteration idea was more to have homepage layout and content layout.
Content layout is already following the standard as analyzed and studied in previous
topic. The focus is more toward homepage. The idea of the homepage is to convey
the main courses offer by CASE. Therefore it is crucial to show and visual the
courses.
At this phase, the main navigation were identified and divided into three
categories
which
are
“information
about”
and
“information
“Miscellaneous”. Below are the details of each section: -
Table 5.4: Website Structure
Information About
Research
Courses
Campus Life
News and Events
About Case
Information For
Prospective Student
Current Student
Staff
Alumni
Proffesional
Miscellaneous
Student Login
Staff Login
Sitemap
Feedback
www.utm.my
Term of Use
for”
and
69
Privacy Policies
5.2.3.1.2
Implementation
Below are the snapshot of the first iteration of the homepage follows by
content page and other detail design if necessary.
Figure 5.3: First Prototype for Homepage
70
Figure 5.4: First Prototype for Content Page
5.2.3.2
Second Iteration
5.2.3.2.1
Analysis and Design
The second iteration is focus more on changing the layout of the homepage.
The basic layout of the content page remains the same. Instead of focusing on
displaying the main courses, it was decided to show more general information such
as latest information from each section which is news and events, research and
current student. The representation of each section are represented using more hype
word such as “What’s on the news” for news section, “Happening Events” for events
section, “Our Student” for current student section and “Cool Research” for research
section.
As for the content page, the layout remains but the sub navigation section
changed the “Quick link” section where the shortcut to ‘latest’ information for news,
71
events, prospective student and research groups. These were replaced to “News
Update” section where it shows brief information about latest news and events.
5.2.3.2.2
Implementation
Below are the snapshot of the first iteration of the homepage follows by
content page and other detail design if necessary
Figure 5.5: Second Prototype for Homepage
72
Figure 5.6: Second Prototype for Content Page
5.2.3.3
Third Iteration
5.2.3.3.1
Analysis and Design
The final iteration of design prototype is focusing more on removing any
redundancy and maintaining the overall theme. It is also refining the homepage to be
more simple and practical. The homepage is simplified from four shortcuts to two
shortcuts. These shortcuts are news and events. It is more practical since many users
practically would want to know about latest information about the CASE department
instead of the more static information such as history and etc. Moreover, in order to
complement the latest information is to include twitter or RSS modules to the
homepage.
As for the content page, it is decided to have each main section a homepage
of its own. It is a basically picture representation of respective main section. It is
73
accompanied with brief explanation about the section. Although most of the website
theme maintains to the decided color, the section homepage may have different color
only at the picture representation. This is to create fresh experience for the user when
they browsing through from at least main sections.
5.2.3.3.2
Implementation
Below are the snapshot of the first iteration of the homepage follows by
content page and other detail design if necessary.
Figure 5.7: Home section of each main section
74
Figure 5.8: Content page with home section of main content
Figure 5.9: Basic content page
75
Figure 5.10: Home Page
5.2.4 Design
As the final design template finalized, the design phase of the development
process took place. In this phase, more detailed design is going to be determined.
Detail such as font type, font size and colors are determined. To avoid redundancy
where the developer does not have to set or code each font in content for each page,
they can apply CSS technology. CSS can standardize the page design especially the
text format for each page. It can be done by creating one or more CSS files to
configure the whole website. In this project, one CSS file is sufficient to represent the
text formatting.
Furthermore, other detail design such as animation or montage which can be
done using Flash CS3 software also being determined at this phased. As for this
project, short montage was applied at the homepage. A rough story board cans helps
76
to visualize how the looks like will and will assist when animating process took
place.
Below are the examples of CSS file corresponding to the webpage text
formatting: -
Figure 5.11: Examples of CSS file
77
div.menu1
div.menu2
div.content1
div.content2
Figure 5.12: Corresponding div tag for CSS
Below are the rough storyboards of the montage at the homepage:-
Figure 5.13: First story board
78
Figure 5.14: Second storyboard
Figure 5.15: Third storyboard
79
Figure 5.16: Fourth storyboard
5.2.5
Implementation
After the design phase detailed out, it is time to program and design the
website project on the web authoring tools. Although for web static there is nothing
much of programming or coding as what in typical system development is having,
coding is necessary when to configuring the template according to the CMS package.
The templates are going to be “sliced” and customized according to the CMS
configuration. In order to do that, understanding the specific CMS configuration
(Joomla as CMS package for the project) is crucial. This can be done by following
the
Joomla
http://docs.joomla.org/Tutorial:Creating_a_basic_Joomla!_template
documentation
where
it
provides the guidelines to create the template. In this case, the templates were
already being made from the designed prototype phase. The next step is to embed
Joomla tags (for example <jdoc:include type="modules" name="top" />) to the
specific area of the template so that the content generated from CMS can be placed
hence produce web pages.
80
Of course before the templates are going to be installed on the CMS, the
CMS itself need to be installed at the first place on the server side. In this case, the
Joomla is installed first at www.case.utm.my server. After the installation, the web
structure, template installation, and content creation can be done remotely using the
Joomla administration page. At this page, the administrator can create web pages,
content archives, setting templates and installing it and many more. Below are the
examples of Joomla administration page.
Figure 5.17: Joomla Administration Page
Before installing the templates, the template must be sliced into divs or
columns so that the Joomla embed tag can be placed correspondently. Although there
is no specific ground rules of placing the Joomla embed tag, the tags must be place
carefully and as a best practice, it is adviseable to place them according to what
joomla suggested. For example, the header tag must be place in a header area of the
template so forth. The example of Joomla tags in template is as follows: -
81
<html>
<head>
<jdoc:include type="head" />
</head>
<body>
<jdoc:include type="component" />
<jdoc:include type="modules" name="left" />
<jdoc:include type="modules" name="breadcrumb" />
</body>
</html>
Figure 5.18: HTML coding in the template
<jdoc:include type="head" />
<jdoc:include type="breadcrumbs"
<jdoc:include type="component" />
<jdoc:include type="footer" />
Figure 5.19: Example of content generated from Joomla tags
After configuring the templates, the content creation is ready to be deployed
as well as page creation according to the web structure proposed on earlier phase of
development process. Moreover, Joomla offers many pre-installed modules such as
hit-counter, calendar, user authentication and many more. This can be installed
according to needs and requirement. As for the unavailable modules, there are many
82
free and paid modules over the internet that can be downloaded and cater toward the
specific need of the website.
83
CHAPTER 6
CONCLUSION
6.0
WDLC relevancy toward website development
Web development life cycle (WDLC) is a great idea. It is purposely done to
make the development process easier and faster which result it to be more efficient
and effective. Many inexperience developers may find it helpful for them to be used
it as a framework, workflow or guideline as in initial start of their career. Although
many of those experience developer may claim them to be this or that model or even
other methodologies or even a totally new development life cycle study, it is still
serve it purpose as a well structured and organized although it is not that
comprehensive and critical. But recreating something that is already exist and yet so
critical is something to be redundant. Hence critical analysis of the WDLC is
important because it helps many developers to appreciate the study of SDLC at the
first place.
WDLC word itself is mistakenly interpreted because it is so similar to SDLC
which makes people understand that WDLC and SDLC share something in common
in a sense that it is to be understood that the relation between SDLC and WDLC is
union not subset of one and another.
It is also help the developer to understand that there is an available
methodology and hence model for website development to follow. The model
introduced is not only better than the common model that is being used but it helps
84
many developers to understand SDLC as a fundamental and not the branch study
without understanding its root. Some developer might follow the model without
realizing its existence but by doing that the developer may lost some of the full
potential of the model where it had been a critical study.
6.1
Future Study
Last but not least WDLC or more appropriate being called as website
development guideline using a throwaway model is actually a derivation of the study
of System or Software Development Life Cycle (SDLC). Therefore the so called
WDLC is need to be refines its position so that it is well describe under SDLC scope
but yet so comprehensive in a way that it will help the website developer to have its
own standard development hence become sort of development manual in the future.
From here on, the study of website development process will be more discipline in a
way it is so comprehensive and yet not redundant with the existing methodologies or
model.
6.2
Conclusion
As a conclusion for this project, website development is considered a big
business up until many of the web developers had developed their set of
methodologies and model as a guideline for their website project and hence share it
with other web developer mostly with internet. Without concerning about the web
developer background about their understanding toward system development life
cycle (SDLC), it had created an ambiguous understanding toward the idea of web
development life cycle (WDLC). Although it serves it rights as to provide guideline
for web developer, it also had created the misunderstanding toward SDLC and hence
many web developer had overlooked WDLC and may ignoring the capability of
SDLC itself. This project also proofed that WDLC is still relevant but had to be
refined at least give the idea of WDLC position in SDLC study. Hence WDLC or
85
should better known as “website development guideline using a throwaway model”
as for now will open a gateway of greater future study for web development process
where it will serves web developer concise workflow and guideline without losing
the appreciation of SDLC as a foundation of any IT related development product.
86
REFERENCES
1.
Alan Dennis, Barbara Haley Wixom, Roberta M. Roth, System Analysis and
Design, Third edition, Wiley, 2005
2.
Adobe Creative Suite 3 web Premium and Standard Workflow guide,
California, Adobe Press, 2007
3.
Richard Quick, Web Design in easy steps, 4th edition, United Kingdom, In
Easy Step, 2008
4.
Joomla for Dummies
5.
Keri E. Pearlson, Carol F. Sanders, Managing and Using Information Systems
a strategic approach, third edition, Wiley Publisher, Danvers, 2006
6.
Tay Vaughen, Multimedia: making it work, sixth edition, Illnoius, Mc Graw
Hill, 2004
7.
Igor, Web Development Life Cycle (WDLC)
http://forum.abestweb.com/showthread.php?t=57774, 2005
8.
AeroFX, Web Development Life Cycle (WDLC),
http://www.aerofx.net/blog/development/web-development-life-cycle-wdlc/,
2009
9.
Benny Alexander, Macronimous Web Solutions, Website Development
Process –The Life Cycle Steps,
http://www.macronimous.com/resources/web_development_life_cycle.asp
87
10.
Andy, Andrew Sellick, Top 15 Free and Open Source Web Developer Tools
Updated, http://www.andrewsellick.com/34/top-15-free-and-open-sourceweb-developer-tools-updated, 2007
11.
MERT TOL, Web Development Life Cycle,
http://www.merttol.com/articles/web/web-site-development-life-cycle.html,
2009
12.
Nik Chauhan, EZine Articles, Web Development Process – Development Life
Cycle, http://ezinearticles.com/?Web-Development-Process-DevelopmentLife-Cycle&id=344293, 2006
13.
Website Architecture, http://en.wikipedia.org/wiki/Website_architecture,
2009
14.
Web Content Management System,
http://en.wikipedia.org/wiki/Web_content_management_system, 2009
15.
PHP, http://en.wikipedia.org/wiki/PHP, 2009
16.
MySQL, http://en.wikipedia.org/wiki/MySQL, 2009
17.
Jutta Treviranus, Charles McCathieNevile, Ian Jacobs, Jan Richards,
Authoring Tools Accessibility Guidelines 1.0,
http://www.w3.org/TR/2000/REC-ATAG10-20000203/, 2000
18.
Human Factors International, Visual Design – Consulting and Production,
http://www.humanfactors.com/services/graphics.asp
19.
Color Wheel, http://en.wikipedia.org/wiki/Color_wheel, 2009
20.
Part Stanicek, Color Scheme Designer, http://colorschemedesigner.com/,
2009
88
21.
Joomla Documentation, Tutorial: Creating a basic Joomla! Template,
http://docs.joomla.org/Tutorial:Creating_a_basic_Joomla!_template, 2009
89
ATTACHMENT A: GANTT CHART FOR INDUSTRIAL ATTACHMENT II
90
91
ATTACHMENT B: PERT CHART FOR INDUSTRIAL ATTACHMENT II
92
93
Download