軟件架構圖——RUP4+1架構方法

RUP4+1架構方法

RUP4+1架構方法採用用例驅動,在軟件生命週期的各個階段對軟件進行建模,從不同視角對系統進行解讀,從而形成統一軟件過程架構描述.

 

                 

  1. RUP4+1架構圖

用例視圖(Use Cases View,最初稱爲場景視圖,關注最終用戶需求,爲整個技術架構的上線文環境.通常用UML用例圖和活動圖描述。

邏輯視圖(Logical view),主要是整個系統的抽象結構表述,關注系統提供最終用戶的功能,不涉及具體的編譯即輸出和部署,通常在UML中用類圖,交互圖,時序圖來表述,類似與我們採用OOA的對象模型。

開發視圖(Development View), 描述軟件在開發環境下的靜態組織,從程序實現人員的角度透視系統,也叫做實現視圖(implementation view).開發視圖關注程序包,不僅包括要編寫的源程序,還包括可以直接使用的第三方SDK和現成框架、類庫,以及開發的系統將運行於其上的系統軟件或中間件UML中用組件圖,包圖來表述開發視圖和邏輯視圖之間可能存在一定的映射關係:比如邏輯層一般會映射到多個程序包等。

處理視圖(Process view)處理視圖關注系統動態運行時,主要是進程以及相關的併發、同步、通信等問題。處理視圖和開發視圖的關係:開發視圖一般偏重程序包在編譯時期的靜態依賴關係,而這些程序運行起來之後會表現爲對象、線程、進程,處理視圖比較關注的正是這些運行時單元的交互問題,UML中通常用活動圖表述。

物理視圖(Physical view )物理視圖通常也叫做部署視圖(deployment view),是從系統工程師解讀系統,關注軟件的物流拓撲結,以及如何部署機器和網絡來配合軟件系統的可靠性、可伸縮性等要求。物理視圖和處理視圖的關係:處理視圖特別關注目標程序的動態執行情況,而物理視圖重視目標程序的靜態位置問題;物理視圖是綜合考慮軟件系統和整個IT系統相互影響的架構視圖。

RUP4+1架構方法從1995年提出後在業界獲得廣泛應用,並得以發展完善,在具體應用的時候結合公司環境和項目實際進行適當裁剪。

微軟VSTS2010 UML增強

Visual Studio 2010絕對不是單一的一個IDE環境將應用程序開發生命週期的方方面面與 Team Foundation Server 集成, VS2010提供了相對完備的UML開發軟件設計模型功能。目前VS2010支持新建UML模型如下包:  

UML關係圖

主要作用

活動圖

業務流程中的操作和參與者之間的工作流

組件圖

系統的組件、組件的接口、端口和關係

類圖

用於在系統中存儲和交換數據的類型及其關係

序列圖

對象、組件、系統或參與者之間的交互序列

用例圖

系統支持的用戶目標和任務

而且微軟提供了VS2010旗艦版的可視化建模功能包,加強UML建模能力和便捷性。

實現RUP4+1架構

案例背景說明

IDM是一家家電製造商,目前企業已經有ERP系統,外部系統可以通過JDBC訪問該系統授權的數據,同時該公司的有電子郵件系統也提供SMTP方式讓外部程序調用。該公司計劃開發一個電子化採購系統(EPS),基本需求如下:

IDM生產計劃在ERP設定後,會自動產生原料請購記錄到EPSEPS自動產生採購要求(Request For Purchase;RFP),並利用短信系統已經電子郵件通知註冊的供應商。

供應商收到通知後必須先到IDMEPS中在採購要求規定的時間內提供報價單

IDM的採購人員(Buyer)通過EPS比價策略進行供應商選擇產兩家供應商並生採購單,同時通過短信和郵件通知該兩家供應商。

供應商收到短信後,若要確認供貨,到EPS中確認採購單,EPS通過電子郵件通知該採購負責人(Buyer)

採購人員在EPS中確認該採購後,EPS回傳該訂單到IDMERP系統中和該兩家供應商。

用例視圖

根據需求初步描述,抽象出該採購系統涉及的角色有IDMEPR系統,採購人員(Buyer),供應商涉及用例有產生採購需求,確定供應商,報價等。步驟如下:

1.打開VS2010,新建項目,選擇建模項目,併合理命名和解決方案位置,點擊確定。

 

 

 

2.添加新項,選擇添加新項目,選擇UML用例圖並命名,點擊確定下一步

 

3.從工具箱中拖入如圖各個用例和角色,並命名

 

4.Crtl+S保存,在迭代開發過程中做到這一步和用戶進一步溝通,發現IDM公司已經有通知系統平臺可以調用發送短信和郵件通知,同時,採購人員分爲採購經理和普通職員,採購確認由採購經理完成。用例圖進一步調整如下:

 

 

5.圖例說明:在系統中,用例送貨位於系統邊界外,不作爲系統開發範圍,其存在爲了更好的解釋系統的流程的完整行參與者不一定是人,ERP和通知系統作爲參與者存在,另外比價作爲單獨用例存在意義不大,細心的讀者可能會問 產生原料請購記錄”怎麼沒有作爲系統用例存在?分析下可知,“產生原料請購記錄“ERP功能,EPS承擔轉化 請購記錄”到“採購請求”功能,因此沒有作爲EPS用例出現。 更多的關於用例分析請參考Think in UML大象》

<待續>

參考:

 Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1” View Model of Software Architecture. IEEE Software 12 (6), pp. 42-50.

用例描述

用例實現規約

根據需求初步描述,我們給出來EPS的系統用例圖.如果業務流程過於複雜,並且涉及不同的角色,可以採用帶有泳道的活動圖去表達.

  

 

目前VS2010還不支持帶有泳道的活動圖,如何要展示更精確的用例細節,必須使用用例規約來進行描述。基本上用例圖+用例規約足夠用了。

一般用例規約敘述要包含以簡要說明,用例的正常流,替代事件流,業務規則,涉及實體等,用戶在使用的時候可以參考RUP文檔模型模板,請切記,您的目的是要闡明問題,而不是混淆問題。

用例名稱

產生採購請求

用例描述

系統根據ERP原材料請求記錄產生請購單

執行者

ERP

前置條件

1.ERP系統被EPS授權訪問

後置條件

1.    創建新的採購請求單並生成唯一編號

2.    觸發通知系統給合格供應商發送採購需求

正常流

1.    ERP提供[物料採購計劃]給系統

2.    系統根據業務規則生成[採購請求單]

3.    系統根據業務規則 2 產生[推薦詢價廠商名單]

4.    系統觸發通知系統按照[推薦詢價廠商名單]發送[物料請購需求]

替代流以及異常處理

2a.系統找不到該物料的[詢價廠商]

 1.系統標示該物料爲[缺料]

業務規則

1.    對於每個物料找出所有該物料的供應商並且其交易評級爲”A”,如果符合條件的供應商小於<2,找出所有交易評級爲”B”且供應該物料的供應商。

2.    編號規則  “RPF”開頭加上年月日+遞增序號:RPF2010120900000002

涉及實體

1.    物料採購計劃

物料編號,期望採購月份,數量,底標價格

2.    採購請求單

採購請求單號,物流採購計劃單號

3.    物流請購需求單

物料編號,廠商物料編號,預計採購月份,預計採購數量

4.    推薦詢價廠商

物料編號,廠商,聯繫人,電話

 

1產生採購請求用例實現規約

注意:我們在一直強調迭代開發,在用例規約描述中替代事件流以及異常處理遠遠多於正常事件流,因此我們這個規約是個逐步完善的過程,早期千萬不要窮盡分析他們而忽視了正常流這一系統主要因素。

用例實現集成到VS2010

下面我們把用例規約文檔集成到VS2010,並建立和相應的用例聯繫。

1.           Word用例規約描述,可以把所有的用例規約放在一個Word文檔,也可以分類別各自描述,這樣在我們實施Scrum開發時候方便任務分配。參考表1.

2.           打開我們上一節保存的項目方案,選擇添加現有項目,把你的用例規約Word文檔添加到項目中來。

3.           選擇添加新建用例圖項目命名爲EPSUsecaseDescribe,這個圖我們主要是描述用例和用例實現規約對應關係

 

4.           從項目解決方案中拖入word文檔到EPSUsecaseDescribe工作區。

5.           打開UML資源管理器,拖入相關用例並建立聯繫。

 

6.           Ctrl+S保存。

我們說過,RUP4+1是基於用例驅動實現架構視圖,而VSTS2010實現了軟件全生命週期管理,如果我們基於Scrum開發,我們的用例可以方便轉化爲我們Product Backlog,我們這裏做的用例規約很容易轉化爲我們的測試Task,而且他們的關係可以方便通過VSTS進行管理。

 

UML模型資源管理器

隨着我們項目越來越大,項目的Item越來越多,從可讀性和可維護性的角度,我們要整理下我們項目了。

 UML資源管理器方便我們對UML資源進行管理,既然我們是基於Rup4+1模型進行架構,那麼我們可以UML資源管理器的設置如下:

1.   打開UML資源管理器,右擊添加包,並從新命名爲Scenarios

 

2.   依次添加如下包,結構如下:

 

3.   UML資源瀏覽器中以此把Actor和用例拖入相應的包。

4.   打開解決方案瀏覽器窗口,整理我們解決方案文件夾。

 

 

小技巧

微軟支持項目模板重用功能,你可以參考:http://msdn.microsoft.com/zh-cn/library/dd393742(en-us).aspx

《待續》

參考:

 Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1” View Model of Software Architecture. IEEE Software 12 (6), pp. 42-50.

《UML與Enterprise Architect 團隊開發實用手冊》

轉自:http://www.cnblogs.com/Leo_wl/archive/2010/12/09/1901715.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章