資源描述:
《uml輔助網(wǎng)站規(guī)劃和設(shè)計指南》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、UML輔助網(wǎng)站規(guī)劃和設(shè)計指南一、概述 Web網(wǎng)站往往具有復(fù)雜與高度動態(tài)的特點。為了讓W(xué)eb應(yīng)用在短時間之內(nèi)開始運作,開發(fā)周期應(yīng)該盡量地短。許多時候,開發(fā)者直接進入編寫代碼這一階段,卻不去仔細考慮自己想要構(gòu)造的是什么樣的網(wǎng)站以及準備如何構(gòu)造:服務(wù)器端代碼往往是毫無準備的即興式編寫,數(shù)據(jù)庫表也是隨需隨加,整個應(yīng)用的體系有時候呈現(xiàn)一種無規(guī)劃狀態(tài)。然而,只要我們運用一些建模技術(shù)和軟件工程技術(shù),就能夠讓開發(fā)過程更加流暢,確保Web應(yīng)用將來更容易維護?! ML(UnifiedModelingLanguage,統(tǒng)一
2、建模語言)是一種通用的可視化建模語言,用于對軟件進行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)的文檔。UML適用于各種軟件開發(fā)方法、軟件生命周期的各個階段、各種應(yīng)用領(lǐng)域以及各種開發(fā)工具。UML能夠描述系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為:靜態(tài)結(jié)構(gòu)定義了系統(tǒng)中重要對象的屬性和操作以及這些對象之間的相互關(guān)系;動態(tài)行為定義了對象的時間特性和對象為完成目標任務(wù)而相互進行通信的機制。UML不是一種程序設(shè)計語言,但我們可以用代碼生成器將UML模型轉(zhuǎn)換為多種程序設(shè)計語言代碼,或使用反向生成器工具將程序源代碼轉(zhuǎn)換為UML模型?! ”疚慕榻B
3、用UML為Web網(wǎng)站建模的一些方法。全面采用UML技術(shù)是一個復(fù)雜的過程,但UML的某些部分很容易使用,而且它能夠幫助你用更少的時間構(gòu)造出更好的系統(tǒng)?! 榱耸痉禪ML在網(wǎng)站建設(shè)中的應(yīng)用,本文將構(gòu)造一個支持無線用戶、提供各個地區(qū)天氣報表和交通流量報表的網(wǎng)站。本文不準備詳細介紹UML本身。但為了方便起見,附錄中簡要介紹了常見的UML符號和術(shù)語。要了解更多有關(guān)UML的信息,請參見文章最后的參考資源。 二、規(guī)劃階段 不論你是從頭開始構(gòu)造網(wǎng)站、移植網(wǎng)站還是增加某個重要的功能,為了確保設(shè)計決策的最優(yōu)化,進行一些先
4、期規(guī)劃是必要的。如果你和其他人協(xié)作完成一項工程,就工作總量及其分配達成明確的共識具有不可估量的作用。在規(guī)劃期間,你應(yīng)該努力對系統(tǒng)的以下方面形成正確的認識:·用戶和角色?!?yīng)用需求?!じ鱾€界面之間的轉(zhuǎn)換流程?!ひ玫降墓ぞ吆图夹g(shù)?! ?.1用戶 了解使用系統(tǒng)的用戶是很重要的。不僅系統(tǒng)分析要求你接觸一些用戶(通過問卷調(diào)查、email,或者面對面交談),而且你經(jīng)常還要讓系統(tǒng)能夠控制不同的用戶角色和權(quán)限。通過對用戶進行分類并了解他們的需求,你就可以找出線索來確定數(shù)據(jù)庫的安全機制、功能限制方法、用戶界面分組、培訓(xùn)
5、和幫助需求、對具體內(nèi)容的需求,甚至還可以從側(cè)面了解到潛在廣告客戶的分布。圖1:參與者/角色層次圖 上圖顯示了幾組不同的網(wǎng)站用戶(在UML中稱為Actor,即參與者)。在這里,最普通的用戶類型(“SiteUser”)位于圖的頂端,實線箭頭表示generalization關(guān)系(“泛化”關(guān)系,參見本文附錄說明,下同),它表示SiteUser又可以具體分成兩類用戶:Guest,RegisteredUser。這兩類用戶共有的特征在“SiteUser”參與者中說明,而Guest和RegisteredUser各自私有
6、的特征則在對應(yīng)的參與者中說明。通常,你可以直接為參與者加上說明文檔,無需單獨編寫說明用戶的文檔,但具體與你所用的UML工具有關(guān)。在本例中,RegisteredUser又可以細分為WirelessUser和Administrator兩種類型,系統(tǒng)對這些用戶的處理方式應(yīng)有所不同。2.2定義需求 在正式開始編寫代碼之前,你應(yīng)該對準備構(gòu)造一個怎樣的系統(tǒng)有一個清晰的認識。雖然在編寫代碼的同時也可以逐步完成這一工作,而且這種做法也很有吸引力,但借助圖形和文字資料事先集體進行討論效率要高得多。為網(wǎng)站編寫詳細的需求說明
7、往往不那么合算,但你應(yīng)該有時間畫出幾個草圖、寫下幾段注解去說明網(wǎng)站準備提供的服務(wù)。這就要用到UseCase圖(用例圖)。UseCase可以看成一組功能——它可能對應(yīng)網(wǎng)站上的一個頁面、一個必須編寫的程序,或者網(wǎng)站上可能發(fā)生的一個動作(比如,驗證用戶登錄,改變用戶的配置文件,清除過期的帳號,等等)。下面就是一個能夠幫助你規(guī)劃網(wǎng)站的UseCase圖。注意,該圖并沒有顯示出網(wǎng)站的所有UseCase,通常我們需要多個UseCase圖才能描述完整的網(wǎng)站功能。圖2:UseCase圖 即使是在這樣一個簡單的UseCas
8、e圖中,我們也能夠輕松地表達出大量的信息。例如,include關(guān)系說明兩個UseCase包含同樣的身份驗證功能;extend關(guān)系說明天氣頁面可能以WML或者HTML格式顯示;generalization關(guān)系說明各個具體的表現(xiàn)過程將遵從“RenderHTMLPage”或者“RenderWMLPage”所描述的基本行為規(guī)則以達到維持統(tǒng)一的風(fēng)格效果和統(tǒng)一宏觀行為模式的目的?! ∩蠄D也顯示出無線用戶能夠訪問網(wǎng)站中其他用戶不能訪問的某些