日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

[UML]UML系列——用例图中的各种关系(include、extend)

發(fā)布時(shí)間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [UML]UML系列——用例图中的各种关系(include、extend) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
[UML]UML系列——用例圖中的各種關(guān)系(include、extend) 原文:[UML]UML系列——用例圖中的各種關(guān)系(include、extend)

用例圖中的各種關(guān)系

一、參與者與用例間的關(guān)聯(lián)關(guān)系

???? ?參與者與用例之間的通信,也成為關(guān)聯(lián)或通信關(guān)系。

二、用例與用例之間的關(guān)系

  • 包含關(guān)系(include)
  • 擴(kuò)展關(guān)系(extend)

包含關(guān)系

????????(1)? 概念

??????? 包含關(guān)系描述的是一個(gè)用例需要某種功能,而該功能被另外一個(gè)用例定義,那么在用例的執(zhí)行過(guò)程中,就可以調(diào)用已經(jīng)定義好的用例。

?????? (2)表示符號(hào)<<include>>

?

??????? 再如上篇文章中飲料自動(dòng)售貨機(jī)的例子:

??????在代碼中用例的包含關(guān)系是什么呢?

 1  class coat //外套
 2     {
 3         public string name;
 4         public double price;
 5         public coat(string myName, double myPrice)
 6         {
 7             name = myName;
 8             price = myPrice;
 9         }
10         public void pay()
11         {
12             discount();
13             Console.WriteLine("該件外套的應(yīng)付款為:{0}", price);
14         }
15         public void discount()
16         {
17             price = price * 0.8;
18         }
19     }

????? 控制臺(tái)程序?

 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             coat myCoat = new coat("勁霸", 1000);
 6             Console.WriteLine("該外套的名稱為:{0}", myCoat.name);
 7             Console.WriteLine("該外套的原價(jià)為:{0}", myCoat.price);
 8             myCoat.pay();
 9         }
10     }

????? 用例圖:

?實(shí)例:圖書管理系統(tǒng)

????????????圖書管理員處理借書或者還書時(shí)的用例圖,借書與還書都要考慮是否有overtime的書。

實(shí)例:訂單管理系統(tǒng)

???? (3)使用場(chǎng)合

????????a.如果兩個(gè)以上用例有大量一致的功能,則可以將這個(gè)功能分解到另一個(gè)用例中,其他用例可以和這個(gè)用例建立包含關(guān)系(如之前介紹的飲料自動(dòng)售貨機(jī))。

??????? b.一個(gè)用例的功能太多時(shí),可以使用包含關(guān)系建立若干個(gè)更小的用例。(如學(xué)生管理系統(tǒng)的用例圖)

實(shí)例:學(xué)生管理系統(tǒng)

??????

???? (4)意義

?????? 它有助于將來(lái)實(shí)現(xiàn)系統(tǒng)時(shí),確定哪些功能可以重用,在編寫代碼時(shí)就可以實(shí)現(xiàn)代碼的重用,縮短開(kāi)發(fā)周期。

???????注意:執(zhí)行基用例時(shí),每次都必須調(diào)用被包含用例。

擴(kuò)展關(guān)系

???? (1)概念

?????? 用一個(gè)用例(可選)擴(kuò)展另一個(gè)用例(基本例)的功能。

????? (2)符號(hào)表示<<extend>>


??????? 代碼中是什么?

 1 class coat //外套
 2     {
 3         public string name;
 4         public float price;
 5 
 6         public coat(string myName,float myPrice)
 7         {
 8             name = myName;
 9             price = myPrice;
10         }    
11 public void pay()
12         {
13             if (price > 800)
14                 discount(0.9f);
15             Console.WriteLine("該件外套的應(yīng)付款為:{0}",price);
16         }
17 
18 public void discount(float x)
19         {
20             price = price * x;
21         }
22 }

?????? 控制臺(tái)程序

 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5           coat myCoat=new coat ("勁霸",1000);
 6             Console.WriteLine("該外套的名稱為:{0}",myCoat.name);
 7             Console.WriteLine("該外套的原價(jià)為:{0}",myCoat.price);
 8           myCoat.pay();
 9         }
10     }

????? 用例圖

????? 注意:擴(kuò)展關(guān)系的箭頭方向

????? (3)使用場(chǎng)合
????????對(duì)擴(kuò)展用例的限制規(guī)則:將一些常規(guī)的動(dòng)作放在一個(gè)基本用例中,將可選的或只在特定條件下才執(zhí)行的動(dòng)作放在它的擴(kuò)展用例中。

怎么區(qū)分是包含關(guān)系還是擴(kuò)展關(guān)系?

????????通過(guò)上面的例子,怎么區(qū)分它們,你心里也有數(shù)了,其實(shí)在擴(kuò)展關(guān)系中的使用場(chǎng)合也說(shuō)明了,擴(kuò)展關(guān)系的限制規(guī)則:將一些常規(guī)的動(dòng)作放在一個(gè)基本用例中,將可選的或只在特定條件下才執(zhí)行的動(dòng)作放在它的擴(kuò)展用例中。在使用的時(shí)候,你考慮這點(diǎn)就可以區(qū)分它們。

總結(jié)

???? 1.包含關(guān)系

?????? ?a.如果兩個(gè)以上用例有大量一致的功能,則可以將這個(gè)功能分解到另一個(gè)用例中,其他用例可以和這個(gè)用例建立包含關(guān)系(如之前介紹的飲料自動(dòng)售貨機(jī))。

??????? b.一個(gè)用例的功能太多時(shí),可以使用包含關(guān)系建立若干個(gè)更小的用例。(如學(xué)生管理系統(tǒng)的用例圖)

?????2.擴(kuò)展關(guān)系

??????? 對(duì)擴(kuò)展用例的限制規(guī)則:將一些常規(guī)的動(dòng)作放在一個(gè)基本用例中,將可選的或只在特定條件下才執(zhí)行的動(dòng)作放在它的擴(kuò)展用例中。

???? ?在分析的時(shí)候,參考他們的使用場(chǎng)合,你就會(huì)豁然開(kāi)朗......

????? 系列文章:

?????? [UML]UML系列——用例圖Use Case

posted on 2014-03-14 22:00 NET未來(lái)之路 閱讀(...) 評(píng)論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/lonelyxmas/p/3601374.html

總結(jié)

以上是生活随笔為你收集整理的[UML]UML系列——用例图中的各种关系(include、extend)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。