構建復雜分布式應用程序的客戶面臨著成功通訊應用程序結構的挑戰,需要跨躍多個小組成員。對于結構松散的XML Web服務,這種挑戰變得更復雜了。在家都知道,對概念和信息以多種格式--可視的、聲音的、書面的--表示能增加人們快速而準確理解消息的能力。將這種多格式方法用于通訊,Visual Studio .NET通過提供一套豐富的用于描述應用程序構架和需求的可視化模型工具,將有助于培訓團隊的協作和生產能力。
工業標準方法Visual Studio .NET支持大范圍的設計和模型活動,包括Visio的自由圖表功能和一套工業標準的統一模型語言(UML)圖表,UML是描述和解釋組成軟件應用程序的各部分、關系和活動的一種概念。
利用Visual Studio .NET模型化特性,用戶可以創建復雜的圖表去詳細描述他們的應用程序結構和企業需求,能夠在他們的小組間通訊。企業分析師、建筑師,開發人員--及其它執行分析和設計任務以提高開發團隊間的通訊、增加生產率的人--可以利用這些新功能。下面的例子演示了一個軟件系統的結構如何通過使用由Visual Studio .NET創建的軟件模型進行可視化和有效通訊的。
應用程序示例:汽車租賃軟件系統這個例子討論了8個UML圖表類型如何模型化一個汽車租賃機構的軟件系統的。從三個簡單的使用情況出發,示例捕獲了系統的核心過程。
使用事件表使用事例表表明了用戶和系統的交互作用,在這個系統中用戶能實現一個目標。典型的軟件系統可以包?磯嗉虻サ氖褂檬呂??墑視糜謐飭藁?溝南低嘲?ǎ?
下面的圖形描述了三個使用事件的使用事件表。
圖 1. 簡單的使用事件表
下面的任務是對涉及到的對象和它們的關系進行分類。檢查使用事件有助于識別類別。使用靜態結構,或類,顯示系統整體結構的圖表,及關系和行為屬性,可以對對象的類進行模型化。
在類圖表中,汽車租賃系統涉及到的對象被劃分為不同的類。每個類包含一個名字部分和屬性部分。有些類也包含操作部分,指出類中對象的行為。
在客戶中,屬性包括名字,電話號碼,駕駛執照和地址。需要出生日期來確定客戶是否滿足租賃汽車的最低年齡要求??蛻纛愡€存儲操作,預約。
類圖表支持繼承。例如,在下面的這個圖中,Mechanic 和 Rental Agent類繼承了Employee的屬性,如名字和地址。
圖 2. 靜態結構或類圖表
順序圖表提供了使用事件的詳細視圖。它按時間順序顯示了相互作用,有助于文檔化應用程序的邏輯。顯示了參與的雙方及它們之間傳遞的消息。在一個綜合軟件系統中,順序圖表可以相當詳細的,可以包含上千條消息。
假定一個客戶要預約一個汽車。租賃機構必須首先檢查客戶的記錄以確保能夠進行租賃。如果客戶以前從公司租過汽車,他或她的租賃歷史將被記錄,機構只需確保以前所有交易運行的很好。例如,機構要確認客戶以前所租的汽車能按時返還。一旦客戶的租賃情況得到批準,租賃機構就可以批準租賃預約。這個過程可以表示在順序圖表中,如下圖所示。
圖 3. 順序圖表
協作圖表是另一類型的交互圖表。與順序圖表相似,它顯示了使用事件中的一組對象如何與另一組協作。每個消息都被標上的序號以顯示它發生的順序。
圖 4.協作圖表
一個對象的狀態由某個時刻的屬性決定。對象在外部刺激的影響下在不同的狀態間轉換。狀態圖表映射這些狀態及使對象處于特定狀態的激發事件。例如,在租賃系統中,對象是汽車。當汽車在租賃系統中轉移時,它的狀態生成復雜但具有說明性的圖表。例如,它首先輥加入到車隊中。直到被租賃前它一直處于InStock狀態。在租賃結束后,汽車返回車隊,又進入InStock狀態。在它的商業生命的不同時刻,汽車需要修理(InService)。當汽車到達使用期限后,它被賣掉或被分解以生產新汽車。
圖 5. 狀態圖表
活動圖表顯示了與發生的活動相對應的邏輯?;顒訄D表與一個特定的類或使用事件相關,顯示了執行特定操作涉及到的步驟。
圖 6. 活動圖表
組件圖表顯示了組成系統整個結構的不同的軟件子系統,它構建在一個中心數據庫上,此數據庫包含了過去的租賃記錄,汽車詳細情況,服務記錄,客戶和雇員的詳細情況。這些數據被集中到一個數據庫中是很重要的,因為庫存水平是按小時發生變化的,所有部分必須有精確到分鐘的詳細信息。對數據保持最新狀態需要對所有部分的信息進行實現更新。此例的軟件子系統包括汽車記錄,服務記錄,銷售記錄,客戶記錄和雇員記錄。
圖 7. 組件圖表
部署圖表顯示系統中的軟件和硬件如何配置。租賃機構需要帶有中心數據庫的員工可訪問的客戶/服務器系統。租賃機構需要訪問存在的汽車的數據。同時,機構要能將一個特定的汽車標記為處于InService狀態。
圖 8. 部署圖表
許多客戶也需要將其它圖形元素增加到他們應用程序模型的UML圖表中。因為Visual Studio .NET包含了基于Visio的模型工具,所以它支持自由建模,如流動圖表或其它非語義圖表,它還能夠在一個模型中包含任何圖片。這就為客戶與他們的應用程序結構和功能通訊提供了靈活性。Visio與其它微軟辦公應用程序的緊密結合使開發小組能通過Word和電子郵件共享Visual Studio .NET生成的模型和圖表。
總結在應用程序的生命周期,不同技術背景的人需要交互與聯系以成功完成創建一個新應用程序的共同目標。Visual Studio .NET提供了關鍵特性--工業標準的軟件模型和豐富的自由圖表化能力--用于描述和與結構進行通訊??蛻羰褂眠@些特性將有效地在開發隊伍間進行通訊,結果會增加開發人員的效率,機構中軟件項目的成功率。
原文轉自:http://www.anti-gravitydesign.com