軟件全程建模[3] 軟件測試
關鍵字:軟件建模 uml建模
2. 兩層結構與三層結構
在分層結構中比較常用的有兩層結構和以三層結構為代表的多層結構?;诙蛹軜嫷膽猛ǔ7Q為Client/Server應用。很多情況下服務器提供的服務 僅僅是數據庫服務。在這種模式中客戶端負責訪問數據,完成業務邏輯處理、接收用戶的輸入及將結果向用戶展示。二層體系結構的主要不利之處是其業務邏輯沒有 從表示邏輯中分離開來,程序員很難在二層結構的應用中清楚地將業務邏輯從表示邏輯中分割出來,這樣就很難維護、改進,可擴展性差,也很難重用。
三層體系結構以傳統客戶服務器模式為基礎,將客戶程序和數據庫服務器的功能進一步分解,客戶程序僅根據需要提出數據請求,數據庫服務器也僅負責與數據存儲、 完整性控制等有關的任務,而數據加工、處理等業務邏輯,交于另一個獨立的部分來完成,這樣不僅減輕了服務器的負擔,也使前臺客戶程序更加獨立,僅注重于與 操作人員的交互和數據的單一處理,形成了表示層、業務層、以及數據層三層結構,其中業務層也稱為中間層,執行中間層任務的計算機稱為應用程序服務器。
與傳統的兩層結構相比,三層最大的特征是將業務層獨立了出來,從而提高了業務層的可復用性。在兩層結構中,用戶界面和業務處理流程放在一起,因此無法直接復 用業務處理的相關功能,也無法將業務處理功能進行靈活的部署。在三層結構中,表示層只處理用戶界面相關的功能,主要處理用戶和軟件的交互,表示層主要有 Windows圖形界面和基于Web的界面,主要職責就是為用戶提供信息,以及把用戶的指令傳送給業務層。業務層復雜處理業務流程,是三層結構中最重要的 一層,可以對業務層進行靈活的部署,開發時也便于業務處理的開發和用戶界面的開發同時進行。針對于信息系,數據層的最大的邏輯就是存儲持久數據。
三層結構的優點如下:減少客戶機的維護量,因為前臺程序比較簡單;把企業邏輯封裝在通用的中間件應用服務器中,不同的客戶都可以共享同一個中間層,而不必每 個客戶都單獨實現企業規則,避免了重復開發和維護的麻煩。由于客戶程序相當瘦,無論是開發還是發布,都變得簡單了。便于升級,當中間件升級的時候,客戶程 序可能不需要變化;實現了分布式數據處理,把一個應用程序分布在幾臺機器上運行,可以提高應用程序的性能,也可以把敏感部分封裝在中間件,為不同的用戶設 置不同的訪問權限,增強了安全性。
3. 本軟件架構設計
在上述的二層結構和三層結構中,三層結構具有明顯的優勢,能很好 的實現業務與界面的分離,在一定程度上實現了重用和松耦合。本軟件的結構在三層架構的基礎上繼續改進,如圖2所示。表示層采用Windows界面,主要是 結合用戶的使用習慣及本項目開發人員的技能綜合考慮。數據庫采用微軟的SQL Server2000及MSDE,對于用戶網絡環境受限,本軟件只能單機安 裝的情況采用MSDE數據庫,其他情況采用SQL Server2000。 在基于數據庫系統的三層結構中,業務邏輯層不僅負責業務邏輯,而且直接訪問數 據庫,提供對業務數據的保存、更新、刪除和查詢操作。系統框架起到容器的作用向業務邏輯層提供服務,它還能夠被很好的重用,將一些基礎的公共的功能放在系 統框架層,這樣就沒有必要每個項目都從頭做起,可以重用以前的成果提高效率。目前該系統框架提供的服務主要有連接池、緩存、日志、安全性、異常、訪問配置 信息等。
2.2 獲取分析類
類圖的獲取是一個不斷細化的過程,一般我們先從分析類開始。分析類是概念層面上的類,是進行類設計的基礎,獲取分析類是系統分析中一項很重要的工作。獲取分析類的是一個需要大量技巧的工作,我們主要根據用例描述來確定分析類。表2中列出的問題可以幫助我們識別用例中的類。
表 2 識別用例中類的問題
用例描述中出現了那些實體?
用例的完成需要哪些實體合作?
原文轉自:http://www.anti-gravitydesign.com