網站開發流程

網站開發亦像軟體開發,建置過程可以分為不同的生命週期中的步驟。依循這樣的開發流程,可以幫助團隊有效控制時間與資源,但因網站開發時需各種不同型式素材(flash動畫、mov等視訊動畫、jpg或png圖檔、網頁css樣式表檔案、網頁java script檔案、MySQL資料庫規劃與資料收集)及主機規劃(apache、php、mysql、security)、客戶不同的需求與討論,所以這些步驟可能會在
不同的素材或主機規劃上會有不同的進度。

1、評估分析:
當客戶提出建置網站的需求,或公司組織內部評估需建置一個網站提供服務,此時請您展開網站架設評估分析。
首先,請先確認網站的使用對象是誰,使用對象想要使用使用什麼功能。建議先瞭解使用對象的需求,團隊再進行可行性評估。可行性評估包含技術的評估與系統的評估,若評估有不可行之處,團隊需衡量是否可在有限時間內解決問題或與使用者討論變更需求。本文中所提「使用者介面」指的是呈現於瀏覽器(IE、Firefox、Google Chrome或Apple Safari)的畫面。

2、資料規劃:
評估與分析之後,開發團隊可開始規劃各項資料規劃設計的負責人、預估完成時間與成本。


3、使用者介面設計:
經過分析與規劃後,團隊就可以開始設計網站上所需的各種元素。使用者介面設計與資料庫設計時需與使用者溝通討論,不可閉門造車,每一個項目完成後需與使用者確認才進行到下一個步驟。
使用者介面設計前可先依使用者需求列出幾個在網路上可瀏覽的網站或以Phtoshop或Gimp等軟體繪製畫面,讓使用者由看到的畫面來進行討論。

4、設計內容:
規劃網頁素材、網頁與資料庫之後,接著就是設計網站內容與確認顯示樣式。網站內容並不只是圖文呈現,每一個專業領域對於重要圖文的內容與呈現方式要求不一,所以設計時應與使用者充分溝通討論。

5. 資料庫設計:
資料庫設計之前,請與使用者討論「要儲存哪些資料?」、「網頁上會檢索哪些資料?」、「網頁上要呈現哪些資料?」。使用者回覆以上三個問題的答案時答案不見得相同,但這代表使用者的需求,不必溝通至這三個問題答案一致。使用者需求的資料不見得全部都要在資料庫內建立欄位,資料表欄位規劃時請把握以下原則:
(1).欄位內容儘量切割至最小單位。
(2).需計算才能取得的資料不要建立欄位。
(3).一個資料表內只能有一個主索引,只能有一個「資料不能重複、不能沒有資料、資料可決定其他欄位內容」的欄位。若一個資料表內有兩個以上欄位具有上述特性,建議分成兩個資料表。

當使用者提出的資料需求必須由計算取得,開發團隊可在PHP內使用SQL語法搭配MySQL函數進行,這一部份請參考上奇出版的「PHP 6 與MySQL基礎學習教室」一書內第15章的介紹。

6、PHP網頁程式碼撰寫:
使用者端介面與欲呈現的圖文內容完成後,現在則要進行伺服器端PHP程式碼撰寫。與視窗程式設計撰寫不同,PHP程式是在遠端網站伺服器執行,不應破壞網頁外觀。

7、網站瀏覽:
網站完成後,應進行網站瀏覽,且因現在瀏覽器種類很多,網站瀏覽時不應只挑選一種瀏覽器進行測試,建議至少挑選三種瀏覽器進行網頁檢視。
網站瀏覽時請留意每一個頁面所提供的超連結是否可正常連線。您可於Firefox安裝「LinkChecker」套件(https://addons.mozilla.org/en-US/firefox/addon/532/),當您按下右鍵後選擇「Evaluate Links」,該套件就會幫您檢查網頁上的連結是否正常。


8. 功能及資安測試:
功能測試則是測試表單互動與後台PHP網頁執行,確認每一個頁面君會被執行,並確認執行流程如同預期規劃的方式進行。功能測試時建議可找非PHP網頁設計撰寫人員進行檢測,因PHP網頁設計撰寫人員已非常熟悉網站的流程,知道網頁表單如何點選與輸入,不容易測試出問題。
資安測試則是指避免使用者有意或無意透過網頁操作而得到非法的結果,避免產生SQL Injection與XSS攻擊。以下幾個網頁提供不同的工具可協助您檢測網站是否有資安上的風險:
Acunetix Web Vulnerability Scanner:http://www.acunetix.com/
Nessus :http://www.nessus.org/nessus/
Paros:http://www.parosproxy.org/index.shtml

但要提醒您,沒有檢查出風險並不代表網站就真的沒有風險,您還是得加強網頁與主機的資安防範,留意系統訊息,定時作系統更新與資料備份,才能避免風險。

9、維護和更新:
建議可於網站內放置問卷調查網頁,或請留意電子郵件信箱內是否有使用者的建言與批評。若使用者發現網頁有錯誤訊息產生,開發團隊應該要儘速進行修改。當使用者提出某功能的需求,請依網站開發流程開始進行分析,若確認可行則再進行規劃與設計。

 

引用自葉建榮老師在巨匠電腦學習論壇的發表

Valid XHTML 1.0 Transitional