2.3 基本的Web進程模型
為了減輕站點建設(shè)的困難,應(yīng)該采用一種進程模型來描述Web站點開發(fā)中涉及到的不同階段。通過使用指導(dǎo)準(zhǔn)則、文檔和確定開發(fā)步驟以確保每一步順利完成。理想的Web進程模型能幫助用戶解決站點的復(fù)雜性,減小項目失敗的風(fēng)險,處理項目中幾乎不可避免的改變,在開發(fā)過程中快速發(fā)布站點并得到及時的反饋信息。當(dāng)然,理想的進程模型也應(yīng)該容易學(xué)習(xí)和操作,這是一個相當(dāng)苛刻的要求,任何一個單一的模型都不能適應(yīng)項目的所有特定需求。
Web站點開發(fā)中使用的最基本的進程模型為大多數(shù)人所熟悉,至少在思想上是這樣的,因為它是可演繹的;灸P蛷拇蟮谋尘伴_始逐漸向特定的步驟細(xì)化,以便完成整個站點的設(shè)計。在軟件工程中,這個模型稱為瀑布模型,或者有時稱為軟件生存周期模型。因為它描述了軟件生存周期的不同階段,各個階段逐步進行直到結(jié)束。模型的第一階段是計劃階段,接著是設(shè)計、實現(xiàn)、測試,最后為維護階段。每個階段都有獨特的步驟,但相連階段的邊界并不明顯。進一步說,每一階段并不總是有一個固定的目標(biāo)。有時候,前一階段可能會因為項目中未曾預(yù)料的改變而修改。步驟的實際數(shù)目和名稱因人而異,但瀑布模型的思想如圖2 - 1 所示。
注意盡管Web的開發(fā)模型可能是相同的,但仍有很多Web開發(fā)者認(rèn)為他們創(chuàng)造了新的模型。他們在自己的站點上把它作為沒確定歸屬的專利介紹,而實際上并沒有新的東西。
無論是五個步驟還是七個步驟,或者名稱是復(fù)雜還是簡單,需要記住,真正重要的是模型能否加速站點的開發(fā)或提高最終結(jié)果的質(zhì)量。
單純的瀑布模型的好處在于它使得用戶能夠在前端計劃一切,這也同時是它的最大弱點。在Web項目里,完成一個項目需要做些什么具有非常大的不確定性,尤其是當(dāng)Web開發(fā)者沒有太多的經(jīng)驗時。另一個與這個模型相關(guān)的問題是,像軟件開發(fā)一樣, Web開發(fā)的每一過程也相互重疊,并且前后相互影響,而且經(jīng)常不得不重復(fù)。不幸的是,瀑布模型過于嚴(yán)格。如果發(fā)生過多的改變,可能要求開發(fā)者停止項目,并重復(fù)原來的過程。簡言之,這一過程不能很好地適應(yīng)變化。然而對于Web站點來說,瀑布模型因為便于理解和實施,仍然繼續(xù)使用。進一步說,進程模型中每一階段的分離有利于管理,因為它們便于監(jiān)理和一步一步地實施。
2.3.1 修正瀑布模型
瀑布模型的一個重要方面在于它要求在前端做計劃。然而由于在進程中需要有所有的步驟,開發(fā)者早期倉促地略過每一步驟,結(jié)果事后不得不重復(fù),或者繼續(xù)建造有缺陷的站點。進程也過于嚴(yán)格,不支持進一步的探索,導(dǎo)致不必要的風(fēng)險。一種可能的提高方法是在瀑布模型的早期階段花更多時間,并重復(fù)幾次,在進入設(shè)計與實現(xiàn)階段后反復(fù)挖掘目標(biāo)和需求。因為進程的周期性,經(jīng)常發(fā)現(xiàn)伴有渦旋的修正瀑布模型更加自然。當(dāng)你解決帶有很高的不確定性的項目時,圖2 - 2顯示的帶有渦旋的修正瀑布模型是個很好的主意。
2.3.2 聯(lián)合應(yīng)用開發(fā)模型
最后提到的軟件開發(fā)進程模型對站點開發(fā)很有意義,它就是聯(lián)合應(yīng)用開發(fā)設(shè)計,簡稱 JAD(Joint Application Development),也稱為進化原型法,原型系統(tǒng)通過一系列的演變得到最后的形式。原型不是創(chuàng)建用來測試?yán)碚摰囊粋模擬站點,而是為用戶創(chuàng)建的。用戶直接的反饋信息將用來指導(dǎo)產(chǎn)生新版本的站點,反復(fù)如此,直到系統(tǒng)最終定型。JAD 的基本概念如圖2 - 3所示。
J A D的很多方面非常適合Web開發(fā),尤其是當(dāng)非常難以確定項目的規(guī)范說明書時。與瀑布開發(fā)模型相比, J A D模型是漸進的,因此它也顯得很快。然而J A D也有著嚴(yán)重的缺陷。首先,讓用戶看到尚未完成的站點會危害開發(fā)者和用戶之間的關(guān)系。即使讓用戶參與指導(dǎo)項目,我們也一定要記住用戶不是設(shè)計者,如第1章所指出的,這種Web設(shè)計指導(dǎo)準(zhǔn)則會因為用戶提出不合理要求而偏離軌道。以J A D運作的Web項目很難作出預(yù)算,因為修正的版本數(shù)很難預(yù)測。如果用戶變幻無常,成本會螺旋上升而失控。記住,隱藏在J A D之后的核心概念就是在得到正確的設(shè)計之前反復(fù)試驗。撇下它的缺陷不說, J A D在Web開發(fā)中有自己的位置,尤其在軟件維護項目之中。然而,最初的J A D項目開發(fā)最好讓有經(jīng)驗的開發(fā)者來完成—尤其是那些能與用戶很好溝通的設(shè)計者。
其他一些指導(dǎo)Web開發(fā)的方法也討論過。還存在一些能為用戶服務(wù)的方法。記住,建設(shè)站點是先標(biāo)識好等待解決的問題或達到的目標(biāo),并以一致和啟發(fā)的方法得到結(jié)果。站點的開發(fā)應(yīng)該是挑剔的和深思熟慮的,而不是隨便的和被動的。一個挑剔的方法并不意味著完全拋棄機遇和靈感,相反,它提供了機會。設(shè)計者不應(yīng)該把站點工程的一些概念當(dāng)作限制的因素,而應(yīng)該把它們當(dāng)作指導(dǎo)準(zhǔn)則。
出處:藍色理想
責(zé)任編輯:嘯
上一頁 進程需求 下一頁 目標(biāo)和問題
|