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

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

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

    posts - 188,comments - 176,trackbacks - 0

    用例圖
    主要用來圖示化系統(tǒng)的主事件流程,它主要用來描述客戶的需求,即用戶希望系統(tǒng)具備的完成一定功能的動作,通俗地理解用例就是軟件的功能模塊,所以是設計系統(tǒng)分析階段的起點,設計人員根據(jù)客戶的需求來創(chuàng)建和解釋用例圖,用來描述軟件應具備哪些功能模塊以及這些模塊之間的調(diào)用關系,用例圖包含了用例和參與者,用例之間用關聯(lián)來連接以求把系統(tǒng)的整個結構和功能反映給非技術人員(通常是軟件的用戶),對應的是軟件的結構和功能分解。


    用例是從系統(tǒng)外部可見的行為,是系統(tǒng)為某一個或幾個參與者(Actor)提供的一段完整的服務。從原則上來講,用例之間都是獨立、并列的,它們之間并不存在著包含從屬關系。但是為了體現(xiàn)一些用例之間的業(yè)務關系,提高可維護性和一致性,用例之間可以抽象出包含(include)、擴展(extend)和泛(generalization)幾種關系。

    共性:都是從現(xiàn)有的用例中抽取出公共的那部分信息,作為一個單獨的用例,然后通后過不同的方法來重用這個公共的用例,以減少模型維護的工作量。



    1、包含(include)

     

       包含關系:使用包含(Inclusion)用例來封裝一組跨越多個用例的相似動作(行為片斷),以便多個基(Base)用例復用。基用例控制與包含用例的關系,以及被包含用例的事件流是否會插入到基用例的事件流中。基用例可以依賴包含用例執(zhí)行的結果,但是雙方都不能訪問對方的屬性。 

      包含關系對典型的應用就是復用,也就是定義中說的情景。但是有時當某用例的事件流過于復雜時,為了簡化用例的描述,我們也可以把某一段事件流抽象成為一個被包含的用例;相反,用例劃分太細時,也可以抽象出一個基用例,來包含這些細顆粒的用例。這種情況類似于在過程設計語言中,將程序的某一段算法封裝成一個子過程,然后再從主程序中調(diào)用這一子過程。 

      例如:業(yè)務中,總是存在著維護某某信息的功能,如果將它作為一個用例,那新建、編輯以及修改都要在用例詳述中描述,過于復雜;如果分成新建用例、編輯用例和刪除用例,則劃分太細。這時包含關系可以用來理清關系。




    2、擴展(extend)

    擴展關系:將基用例中一段相對獨立并且可選的動作,用擴展(Extension)用例加以封裝,再讓它從基用例中聲明的擴展點(Extension Point)上進行擴展,從而使基用例行為更簡練和目標更集中。擴展用例為基用例添加新的行為。擴展用例可以訪問基用例的屬性,因此它能根據(jù)基用例中擴展點的當前狀態(tài)來判斷是否執(zhí)行自己。但是擴展用例對基用例不可見。

    對于一個擴展用例,可以在基用例上有幾個擴展點。  

    例如,系統(tǒng)中允許用戶對查詢的結果進行導出、打印。對于查詢而言,能不能導出、打印查詢都是一樣的,導出、打印是不可見的。導入、打印和查詢相對獨立,而且為查詢添加了新行為。因此可以采用擴展關系來描述:




     
    4、泛化(generalization)

     

    泛化關系:子用例和父用例相似,但表現(xiàn)出更特別的行為;子用例將繼承父用例的所有結構、行為和關系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。在實際應用中很少使用泛化關系,子用例中的特殊行為都可以作為父用例中的備選流存在。

    例如,業(yè)務中可能存在許多需要部門領導審批的事情,但是領導審批的流程是很相似的,這時可以做成泛化關系表示: 




       上面是我參考的一篇文章,覺得將三種關系的區(qū)別講得很清晰,在此基礎上結合自己的系統(tǒng),對項目(在線購物系統(tǒng))的用例做了整體的描繪。

       *****************************************************************

       (1)系統(tǒng)整體用例圖

        


       
       (商品用例圖)
       
       
       
        
       
       
      (購買信息用例)
       
       

       
       (用戶資料用例)

       
       

       
       
    按照先整體用例,后子系統(tǒng)用例來進行描繪的,歡迎大家提出好的建議!


    轉:UML中擴展和泛化的區(qū)別 

            泛化表示類似于OO術語“繼承”或“多態(tài)”。UML中的Use Case泛化過程是將不同Use Case之間的可合并部分抽象成獨立的父Use Case,并將不可合并部分單獨成各自的子Use Case;包含以及擴展過程與泛化過程類似,但三者對用例關系的優(yōu)化側重點是不同的。如下:
             ●泛化側重表示子用例間的互斥性;
             ●包含側重表示被包含用例對Actor提供服務的間接性;
             ●擴展側重表示擴展用例的觸發(fā)不定性;詳述如下:


           既然用例是系統(tǒng)提供服務的UML表述,那么服務這個過程在所有用例場景中是必然發(fā)生的,但發(fā)生按照發(fā)生條件可分為如下兩種情況:
            ⒈無條件發(fā)生:肯定發(fā)生的;
            ⒉有條件發(fā)生:未必發(fā)生,發(fā)生與否取決于系統(tǒng)狀態(tài);

            因此,針對用例的三種關系結合系統(tǒng)狀態(tài)考慮,泛化與包含用例屬于無條件發(fā)生的用例,而擴展屬于有條件發(fā)生的用例。進一步,用例的存在是為Actor提供服務,但用例提供服務的方式可分為間接和直接兩種,依據(jù)于此,泛化中的子用例提供的是直接服務,而包含中的被包含用例提供的是間接服務。同樣,擴展用例提供的也是直接服務,但擴展用例的發(fā)生是有條件的。

            另外一點需要提及的是:泛化中的子用例和擴展中的擴展用例均可以作為基本用例事件的備選擇流而存在。
     




     


    posted on 2007-06-05 21:32 cheng 閱讀(5591) 評論(10)  編輯  收藏 所屬分類: UML

    FeedBack:
    # re: UML中的用例圖分析[未登錄]
    2007-06-06 08:17 | Sunshine
    兄弟,上面的圖鏈接到您自個本地電腦,只有你自己看得到啊。改下好啵?  回復  更多評論
      
    # re: UML中的用例圖分析
    2007-06-06 10:10 | ddd
    LZ,

    請問, uml的工具,有沒有能直接生成test case代碼的。。。

    謝謝。。。  回復  更多評論
      
    # re: UML中的用例圖分析
    2007-06-06 10:56 | cheng
    OK,現(xiàn)在可以了。用MyEclipse的UML插件描繪的圖感覺不是很清晰:(  回復  更多評論
      
    # re: UML中的用例圖分析
    2007-06-06 10:57 | cheng
    UML工具,case工具我只知道有將代碼生成類圖的反向工程,你說的用例圖我沒用過,呵呵。  回復  更多評論
      
    # re: UML中的用例圖分析
    2007-06-07 17:37 | 饒志華
    非常有借鑒意義,謝謝!  回復  更多評論
      
    # re: UML中的用例圖分析[未登錄]
    2007-06-07 18:26 | cheng
    謝謝,自己接觸UML時間不長,在這里還請各位XDJM們提出高見了。  回復  更多評論
      
    # re: UML中的用例圖分析
    2007-06-10 10:56 |
    你寫的真不錯  回復  更多評論
      
    # re: UML中的用例圖分析
    2007-06-10 23:44 | 三告習習
    哈哈~~~~~~~
    好,還沒有系統(tǒng)研究過UML,從帖子上總算對用例圖的三個關系明白些少了  回復  更多評論
      
    # re: UML中的用例圖分析
    2009-02-16 16:22 | ddd
    給個圖啊  回復  更多評論
      
    # re: UML中的用例圖分析
    2009-02-16 21:49 | cheng
    @ddd
    現(xiàn)在可以了,我自己畫的圖重新上傳到BLOG服務器上去了。轉載的文章的圖由于以前文章鏈接沒找到,后續(xù)找到了再來補充上去。  回復  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 久久精品国产亚洲AV无码偷窥| 日韩一区二区a片免费观看| 亚洲av日韩av欧v在线天堂| 亚洲熟妇成人精品一区| 岛国片在线免费观看| 亚洲一卡2卡三卡4卡无卡下载| 成人黄18免费视频| 亚洲精华液一二三产区| 日韩一级在线播放免费观看| 亚洲av无码av在线播放| 免费jjzz在线播放国产| 牛牛在线精品观看免费正| 亚洲乱码一区二区三区在线观看| 中国一级特黄的片子免费| 无码欧精品亚洲日韩一区| 2015日韩永久免费视频播放| 亚洲啪啪免费视频| 日韩免费三级电影| 黄色网址免费在线观看| 亚洲国产成人久久精品动漫| 999在线视频精品免费播放观看| 91在线亚洲综合在线| 日韩亚洲国产综合久久久| aa级毛片毛片免费观看久| 亚洲男人天堂av| 97无码免费人妻超级碰碰碰碰| 老司机亚洲精品影院在线观看| 亚洲国产婷婷综合在线精品| a级毛片免费观看视频| 亚洲国产成人va在线观看网址| 日韩高清在线免费观看| 久久国产乱子伦精品免费午夜| 亚洲视频在线观看视频| 色视频色露露永久免费观看| 全黄大全大色全免费大片| 亚洲中字慕日产2021| 亚洲爽爽一区二区三区| 91福利视频免费| 深夜a级毛片免费视频| 亚洲一区二区三区高清| 亚洲Av无码乱码在线播放|