圖中模型元素之間的實現表示二者存在關聯關系,帶空心箭頭的實箭線說明存在泛化關系。這里有兩種情況,一種是一般與特殊的關系,如“廣告客戶”與“代理廣告客戶”、“一般客戶”的關系;另一種是使用關聯,表示一個模型元素需要使用另一個模型元素,如“劃版子系統‘需要使用'財務子系統”和“預訂子系統”生成的廣告和客戶數據。
圖 2是廣告管理系統層次的用例模型,只包含了最基本的Use Case模型,是系統的高層抽象。在開發過程中,隨著對系統需求認識的不斷加深,用例模型可以從頂向下不斷細化,演化出更加詳細的Use Case模型。
2.2廣告管理系統設計
系統分析與設計是研究欲采用的實現環境和系統結構,結果是產生一個對象模型,也就是設計模型。設計模型包含了Use Case的實現,可以表現對象如何相互通信和運作來實現Use Case流的。對于系統的靜態結構,可以通過類圖、對象圖、組件圖和配置圖來描述;對于系統的動態行為,可以通過順序圖、協同圖、狀態圖、活動圖描述。這些圖在加上說明文檔就構成一個完整的設計模型。
2.2.1系統架構設計
廣告管理系統擁有大量廣告信息資源,這些資源包括各種用戶、廣告、合同以及版面信息。其數據量大、信息變化快,非結構化信息與結構化信息共存。使用UML對廣告管理系統進行基于面向對象的分析和實現,可以從開發的第一步開始,從系統的底層就把握住廣告信息資源的特征,為下一步具體實現打好基礎。在廣告管理系統建立模型時要涉及到處理大量的模型元素,如類、進口、組件、節點、圖等,可以將語意上相近的模型元素組織在一起,這就構成了UML的包,包從較高的層次來組織管理系統模型。
系統主要有以下四個包:
• 用戶接口包(U ser Interface Package)
用戶接口包在其他包的頂層次,為系統用戶提供訪問信息和服務。要注意一點,由于開發工具使用不同,該接口描述也是有區別的。如果采用java開發,就要以java AWT(Abstract Window Toolkit)為基礎,如果采取Microsoft的Asp.net開發,其基礎就是標準化控件組。
• 業務邏輯包 (Business Rule Package)
該包是廣告管理系統業務的核心實現部分,包括廣告、合同、客戶等,其他包可以通過訪問該包提供的接口,實現業務邏輯,如執行廣告預訂業務等。
• 數據持久訪問包 (Data Persistence Package)
該包實現數據的持久化,也就是與數據庫交互,實現數據的存取、修改等操作。
• 通用工具包(U til Package)
該包主要包括應用程序安全檢查的類,可以為上面三個包提供安全檢查,如客戶端檢查和服務器端業務規則檢查等,同時包括一些系統異常檢查與拋出處理以及系統日志服務等。
2.2.2系統詳細設計
詳細設計主要是描述在系統分析階段產生的類,與分析階段類的區別就是偏重于技術層面和類的細節實現。廣告管理系統提供的各種服務都是建立在分布、開放的信息結構之上,依托高速、可靠的網絡環境來完成的。每項服務都可以看作一個事件流,由若干相關的對象交互合作來完成。對于這種系統內部的協作關系和過程行為,可以通過繪制順序(Sequence)框圖和協作(Collaboration)框圖來幫助觀察和理解。此外,描述工作流和并發行為還可以通過活動框圖,表達從一個活動到另一個活動的控制流。同時,可以在理解這些圖的基礎上,抽象出系統的類圖,為系統編碼階段繼續細化提供基礎。
順序圖和協作圖適合描述多個對象的協同關系,而狀態圖適合描述一個對象穿越多個Use Case的行為。狀態圖和活動圖的區別在于,狀態圖描述的是對象類響應事件的外部行為,而活動圖描述的是響應內部處理對象類的行為。
預訂業務對普通客戶的順序框圖(圖三)
文章來源于領測軟件測試網 http://www.kjueaiud.com/