<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    UML用例圖

    Posted on 2010-09-25 14:22 瘋狂 閱讀(3490) 評論(1)  編輯  收藏 所屬分類: 項目管理 、UML
    前些時間參加了潘加宇老師的技術講座,UML建模技術受益匪淺。我也把平時的一些積累和上次的收獲總結在這篇文章中,主要講解用例圖相關的知識。
         
    用例圖是軟件需求分析到最終實現的第一步,它描述用戶如何使用系統及使用系統什么樣的功能。用例圖從業務角度上體現誰來使用系統、用戶希望系統提供什么樣的服務,以及用戶需要為系統提供的服務,也便于軟件開發人員最終實現這些功能。用例圖在開發中被廣泛的應用,但是它最常用來描述系統提供了什么樣的功能給什么樣的用戶使用。

           在官方文檔中用例圖包含六個元素,分別是:執行者(Actor)、用例(Use Case)、關聯關系(Association)、包含關系(Include)、擴展關系(Extend)以及泛化關系(Generalization)。但是有些UML的繪圖工具多提供了一種直接關聯關系(DirectedAssociation)。

            用例圖可一個包含注釋和約束,還可一個包含包,用于將模型中的元素組合成更大的模塊。有時,可以將用例的實例引入到圖中。用例圖模型如下所示,執行者用人形圖標來標識,用例用橢圓來表示,連線表示它們之間的關系。

     
     

    一、執行者(Actor

           1、執行者概念

        是指用戶在系統中扮演的角色。如圖1-1是一個用戶管理的用例圖,圖中的用戶、管理員就是用例的執行者。


                        1-1

             2、從業務中找出執行者

        獲取系統用例首先要找出系統的執行者。我們可以通過用戶回答一些問題的答案來識別執行者。可以參考以下問題:

    1. 誰使用系統的主要功能(主要使用者)?
    2. 誰需要系統支持他們日常工作?
    3. 誰來維護、管理系統使其正常工作(輔助使用者)?
    4. 系統需要控制哪些硬件?
    5. 系統需要其他哪些系統交互?這里包含其他計算機系統或者應用程序。
    6. 對系統產生結果感興趣的是哪些人和哪些事物?

           3、執行者之間關系

    因為執行者是類,所以多個執行者之間可以具有與類相同的關系。在用例圖中,使用了泛化關系來描述多個執行者之間的公共行為。如果系統中存在幾個執行者,它們既扮演自身的角色,同時也扮演更具一般化的角色,那么就用泛化關系來描述它們。這種情況往往發生在一般角色的行為在執行者超類中描述的場合。特殊化的執行者繼承了該超類的行為,然后在某些方面擴展了此行為。執行者之間的泛化關系用一個三角箭頭來表示,指向扮演一般角色的超類。這與UML中類之間的返還關系符號相同。圖1-2


                        圖1-2

     

    二、用例(Use Case

             1、用例概念

        用例就是外部可見的系統功能,對系統提供的服務進行描述。

             2、從業務中找出用例

        找出系統的用例,我們從執行者入手,對每個執行者提出一些問題,然后從執行者對這些問題的答案中獲取用例??梢詤⒖家韵聠栴}:

    1. 執行者要求系統提供哪些功能(執行者需要做什么)?
    2. 執行者需要讀、產生、修改、刪除或者存儲系統中的信息有哪些類型?
    3. 執行者必須提醒系統事件有哪些?把這些事件表示成系統用例。

             3、用例之間關系

    二、用例之間關系

            1、關聯關系(Association

    關聯關系是連接執行者和用例,表示該執行者代表的外部系統實體與該用例描述的系統需求有關。


    圖1-3

            2、包含關系(Include

    包含關系是來自于用例的抽象,即從數個不同的Use Case中,分離出公共的部分,而成為可以復用的用例。


    1-4

            3、擴展關系(Extend

        擴展關系表示某一個用例的對話流程中,可能會根據條件臨時插入另外一個用例,而前者稱為基礎用例后者稱為擴展用例。

        

                    圖1-5

    4、泛化關系(Generalization

        一個用例可以被特別列舉為一個或多個用例,這被稱為用例泛化,如果系統中一個或多個用例是某個一般用例的特殊化時,就需要使用用例的泛化關系。

        


    評論

    # re: UML用例圖  回復  更多評論   

    2012-11-28 09:16 by liu100
    用Rational設計和實現簡單的電話簿程序
    2007-10-23 13:46 來源:論壇整理 作者:佚名 責任編輯:方舟?yesky 評論(0)
      將 Java 轉換為 UML

      現在,創建另一個轉換配置,將 Java 文件轉換為一個 UML 模型。

      1、選擇 Rational Software Architect 的 Model Explorer 中的 PhoneBookJavaProject。

      2、選擇 Modeling > Transform > New Configuration。

      3、輸入名字 PhoneBookJava2UML,然后選擇 IBM Rational > Java to UML,如圖 24 所示。點擊 Next。

      圖 24. 創建一個用于 Java 到 UML 轉換的轉換配置

      

      4、選擇 PhoneBookJavaProject 作為源。

      5、點擊 Create new Target Container... 創建一個用于保存所產生文件的 UML 模型。

      6、再 Create UML Model 中,點擊 Next 從標準模版中創建一個新的 UML 模型。

      7、輸入 Phone Book UML Reverse Model 作為文件名。

      8、點擊 Browse 選擇已有的 MyPhoneBookUMLProject 作為新模型文件的存放處。 Create UML Model 區域應當與圖 25 所示類似。

      圖 25. Create UML Model 區域

      

      9、點擊 Finish。

      在 Source and Target 區域中,選擇新創建的模型文件 Phone Book UML Reverse Model 作為目標,如圖 26 所示。

      圖 26. 選擇用于轉換的源和目標

      

      1、點擊 Next。

      2、取消選擇 Generate getter and setter,這樣不會產生 getter 和 setter。

      3、繼續點擊 Next,查看其它可用的選項。 使用所有的缺省選項,然后點擊 Finish。

      現在,您已經創建了一個轉換配置,名字為 PhoneBookJava2UML.tc。 本練習中的最后一步,是將 Java 文件轉換為一個 UML 模型。

      1、右鍵點擊文件 PhoneBookJava2UML.tc。

      2、選擇 Transform > Java to UML,將 Java 代碼轉換為 UML 模型,如圖 27 所示。

      圖 27. 將 Java 代碼 轉換為 UML

      

      3、單擊 OK 接受所有待定變化。

      4、現在,這三個 Java 類被轉換為 Phone Book UML Reverse Model 下的三個模型元素,如圖 28 所示。

      圖 28. 產生的 UML 模型

      

      在 Phone Book UML Reverse Model 中創建一個類圖,以可視化所產生的模型元素。 將這三個模型類拖放到圖中,如圖 29 所示。

      圖 29. 在類圖中的三個模型類

      

      在圖中,關聯關系顯示為屬性。 選擇這些屬性,然后右鍵點擊并選擇 Filters > Show As Association,將這些屬性轉為關聯關系。

      您在 userHasInput 中已經增加的新參數并沒有在圖中顯示化。 右鍵點擊類 PhoneBookController,并選擇 Filters > Show Signature,顯示這些操作的完整簽名。

      您轉換的 UML 模型的類圖應當類似于圖 30 顯示所示。將此圖與您先前所創建的類圖(參見圖 9)進行比較,并注意相似性。 也注意到,Association Relationship 顯示為圖中的兩條線,以指出這個雙向的行為。

      圖 30. 產生的 UML 模型

      

      選擇 Ctrl-S 保存所有變化。

      完成實現

      一旦您已經從 UML 圖中產生了 Java 文件,您就可以修改所產生的文件,以基于設計架構來實現您的應用程序。 在 下載 一章中,您將會找到一個簡單的電話號碼簿應用程序,其實現了一個命令行接口,將號碼條目保存為一個本地文件,但是這知識一個可能的實現。 例如,您可以生成一個 GUI 界面來替代命令行界面,用 EJB 組件存儲數據來替代文件,或者使用 Observer 模式實現通告機制。 所提供的實現示例只是實現設計的方法之一。

      在最后一章中,您將從您的 UML 圖中修改產生的文件,以實現電話號碼簿應用程序范例。

       您想要查看這些步驟的示例嗎?

      將范例實現復制和粘貼到三個合適的 java 文件中。

      選擇 File > Save All 以保存所有內容。

      選擇 PhoneBookController,然后選擇 Run > Run As ... > Java Application,以一個 Java 應用程序來運行電話號碼簿實現。

      來到 Console 視圖,如圖 31 所示,并與應用程序進行交互。 驗證可以執行先前討論的兩個用例,Add an entry 和 Search for a phone number。 記?。?用例的目的是定義系統的行為并獲得需求。 實現滿足需求,并如期望的那樣工作是很重要的。

      圖 31. 運行電話號碼簿應用程序范例

      

      您也可以再次運行一個 Java 到 UML 的轉換,使用 PhoneBookJava2UML.tc 轉換配置來理解完整電話號碼簿應用程序的 UML 模型。

      圖 32. 電話號碼簿應用程序范例的 UML 模型

      

      總結

      本教程提供了一個對 Rational Software Architect V7 的高層的和實踐介紹。 您已經按照詳細的練習和例子,學習了如何使用 UML 圖設計一個應用程序,將模型信息發布到一個 Web 頁面,將您的設計轉換為 Java 代碼,然后使用 Rational Software Architect V7 將 Java 代碼反向工程到一個 UML 圖。 最后,您實現了簡單的電話號碼簿應用程序,并在 Rational Software Architect 控制臺中進行了查看。
    上一頁1234567

    主站蜘蛛池模板: 亚洲精品中文字幕乱码三区| 久久亚洲色一区二区三区| 婷婷久久久亚洲欧洲日产国码AV| 一级做受视频免费是看美女| 亚洲性在线看高清h片| 久久精品无码专区免费| 国产亚洲人成网站在线观看不卡| 国产日韩AV免费无码一区二区| 亚洲av不卡一区二区三区| 亚洲免费电影网站| 亚洲人成77777在线观看网| 日韩高清在线免费观看| 思思久久99热免费精品6| 中文字幕精品亚洲无线码一区| 另类免费视频一区二区在线观看 | 国产成人亚洲精品| 免费看美女被靠到爽的视频| 男女超爽视频免费播放| 亚洲欧洲精品成人久久奇米网| 免费国产成人午夜在线观看| 亚洲午夜在线一区| 国产成人免费a在线视频色戒| 一级一看免费完整版毛片| 亚洲午夜福利在线观看| 中文字幕免费视频| 亚洲精品9999久久久久无码| 亚洲无码精品浪潮| 91精品国产免费| 老司机午夜在线视频免费观| 久久亚洲AV午夜福利精品一区 | 一级毛片免费毛片一级毛片免费| 亚洲天堂男人影院| 不卡精品国产_亚洲人成在线 | 久99久精品免费视频热77| 亚洲人精品亚洲人成在线| 亚洲国产成人VA在线观看| 99热这里只有精品免费播放| 亚洲AV无码XXX麻豆艾秋| 亚洲妇熟XXXX妇色黄| 卡一卡二卡三在线入口免费| 高清永久免费观看|