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