UML輔助網站規劃和設計指南中規劃階段解析
本節向大家介紹一下UML輔助網站規劃和設計指南,這里主要介紹一下規劃階段,希望通過本節的學習你對UML輔助網站規劃和設計有一定的了解。下面讓我們一起來學習詳細介紹吧。
UML輔助網站規劃和設計指南
一、概述
Web網站往往具有復雜與高度動態的特點。為了讓Web應用在短時間之內開始運作,開發周期應該盡量地短。許多時候,開發者直接進入編寫代碼這一階段,卻不去仔細考慮自己想要構造的是什么樣的網站以及準備如何構造:服務器端代碼往往是毫無準備的即興式編寫,數據庫表也是隨需隨加,整個應用的體系有時候呈現一種無規劃狀態。然而,只要我們運用一些建模技術和軟件工程技術,就能夠讓開發過程更加流暢,確保Web應用將來更容易維護。
UML(UnifiedModelingLanguage,統一建模語言)是一種通用的可視化建模語言,用于對軟件進行描述、可視化處理、構造和建立軟件系統的文檔。UML適用于各種軟件開發方法、軟件生命周期的各個階段、各種應用領域以及各種開發工具。UML能夠描述系統的靜態結構和動態行為:靜態結構定義了系統中重要對象的屬性和操作以及這些對象之間的相互關系;動態行為定義了對象的時間特性和對象為完成目標任務而相互進行通信的機制。UML不是一種程序設計語言,但我們可以用代碼生成器將UML模型轉換為多種程序設計語言代碼,或使用反向生成器工具將程序源代碼轉換為UML模型。
本文介紹用UML為Web網站建模的一些方法。全面采用UML技術是一個復雜的過程,但UML的某些部分很容易使用,而且它能夠幫助你用更少的時間構造出更好的系統。
為了示范UML在網站建設中的應用,本文將構造一個支持無線用戶、提供各個地區天氣報表和交通流量報表的網站。本文不準備詳細介紹UML本身。但為了方便起見,附錄中簡要介紹了常見的UML符號和術語。要了解更多有關UML的信息,請參見文章最后的參考資源。UML輔助網站規劃和設計指南的第一個階段。
二、規劃階段
不論你是從頭開始構造網站、移植網站還是增加某個重要的功能,為了確保設計決策的最優化,進行一些先期規劃是必要的。如果你和其他人協作完成一項工程,就工作總量及其分配達成明確的共識具有不可估量的作用。在規劃期間,你應該努力對系統的以下方面形成正確的認識:
用戶和角色。
應用需求。
各個界面之間的轉換流程。
要用到的工具和技術。
2.1用戶
UML輔助網站規劃和設計指南中了解使用系統的用戶是很重要的。不僅系統分析要求你接觸一些用戶(通過問卷調查、email,或者面對面交談),而且你經常還要讓系統能夠控制不同的用戶角色和權限。通過對用戶進行分類并了解他們的需求,你就可以找出線索來確定數據庫的安全機制、功能限制方法、用戶界面分組、培訓和幫助需求、對具體內容的需求,甚至還可以從側面了解到潛在廣告客戶的分布。
2.2定義需求
在正式開始編寫代碼之前,你應該對準備構造一個怎樣的系統有一個清晰的認識。雖然在編寫代碼的同時也可以逐步完成這一工作,而且這種做法也很有吸引力,但借助圖形和文字資料事先集體進行討論效率要高得多。為網站編寫詳細的需求說明往往不那么合算,但你應該有時間畫出幾個草圖、寫下幾段注解去說明網站準備提供的服務。這就要用到UseCase圖(用例圖)。UseCase可以看成一組功能——它可能對應網站上的一個頁面、一個必須編寫的程序,或者網站上可能發生的一個動作(比如,驗證用戶登錄,改變用戶的配置文件,清除過期的帳號,等等)。下面就是一個能夠幫助你規劃網站的UseCase圖。注意,該圖并沒有顯示出網站的所有UseCase,通常我們需要多個UseCase圖才能描述完整的網站功能。
2.3用戶界面組織
在制作UseCase的過程中,你會得到一些指示網站需要哪些用戶界面的線索。也許你早就有了設計某些頁面的絕妙主意,但UseCase幫助我們從另外一個角度來看問題。用戶是否確實需要那么多的界面?某個頁面是否過于復雜?網站的導航設施是否簡單易用,即從主頁訪問常用服務是否很方便?在勾畫界面草圖、制作網站原型之前,你應該先在UseCase圖中解決這些問題。
當UseCase逐漸清晰時,我們就可以開始勾畫出網站的大致結構。有些人會強調說頁面和文件應該用相應的構件圖(ComponentDiagram)建模,其實類圖(ClassDiagram)工具也很方便。
用戶界面布局圖能夠幫助你避免網站混亂,它對于規劃網站是很有用的。而且,一旦確定了一種有效的網站結構組織方式,它還可以作為一個固定的模式在多個網站上應用。
2.4工具選擇
UML輔助網站規劃和設計指南中如何選擇工具?對于小型網站,選擇工具和技術相當簡單。特別是由于投資的原因,只有少數幾種工具組合才具有現實意義——Apache,MySQL或者PostgreSQL,PHP、Perl或JSP/Servlet。當前最流行的組合是Apache+PHP+MySQL,有許多低價位的Web托管服務支持并主要集中在這種工具組合上。而對于規模較大的網站,在投資應用軟件之前,它必須對各種工具進行更嚴格的評估和測試。下面是一個構件圖的例子,它可以用來說明網站的體系結構。這個圖形雖然簡單,但它已經描述出了當前大多數網站的體系結構,對于你的網站,重新制作該圖可能也沒有必要,因為再也沒有什么與眾不同的內容值得加入這個圖形了。
【編輯推薦】