成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解UML建模之用例圖關(guān)系

開發(fā) 架構(gòu)
今天我們將介紹UML建模中的用例圖和他們之間的關(guān)系,可以將用例圖組織到用例包中,并歸用例包所有,讓特定包中僅顯示互為關(guān)聯(lián)關(guān)系的內(nèi)容。

  一.UML簡介

  UML(統(tǒng)一建模語言,Unified Modeling Language)是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的可視化建模語言。它融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計,還支持從需求分析開始的軟件開發(fā)的全過程。在系統(tǒng)分析階段,我們一般用UML來畫很多圖,主要包括用例圖、狀態(tài)圖、類圖、活動 圖、序列圖、協(xié)作圖、構(gòu)建圖、配置圖等等,要畫哪些圖要根據(jù)具體情況而定。其實簡單的理解,個人理解,UML的作用就是用很多圖從靜態(tài)和動態(tài)方面來全面描述我們將要開發(fā)的系統(tǒng)。

  二、什么是用例

  用例是對包括變量在內(nèi)的一組動作序列的描述,系統(tǒng)執(zhí)行這些動作,并產(chǎn)生傳遞特定參與者的價值的可觀察結(jié)果。這是UML對用例的正式定義,可能有點難懂。我們可以這樣去理解,用例是參與者想要系統(tǒng)做的事情。對于用例的命名,我們可以給用例取一個簡單、描述性的名稱,一般為帶有動作性的詞。用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱。

  三、什么是用例圖

  用例圖(use case diagram)就是由主角、用例以及它們之間的關(guān)系構(gòu)成的圖。該圖說明了用例模型中的關(guān)系。

  可以將用例圖組織到用例包中,并歸用例包所有,讓特定包中僅顯示互為關(guān)聯(lián)關(guān)系的內(nèi)容。

  用例圖由參與者(Actor)、用例(Use Case)、系統(tǒng)邊界、箭頭組成,用畫圖的方法來完成。

  參與者不是特指人,是指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時間或其他系統(tǒng)等等。還有一點要注意的是,參與者不是指人或事物本身,而是表示人或事物當(dāng)時所扮演的角色。比如小明是圖書館的管理員,他參與圖書館管理系統(tǒng)的交互,這時他既可以作為管理員這個角色參與管理,也可以作為借書者向圖書館借書,在這里小明扮演了兩個角色,是兩個不同的參與者。參與者在畫圖中用簡筆人物畫來表示,人物下面附上參與者的名稱。

  如何發(fā)現(xiàn)角色:

  1. 使用系統(tǒng)的主要功能的人是誰(即主要角色)?

  2.需要借助于系統(tǒng)完成日常工作的人是誰?

  3.誰來維護(hù),管理系統(tǒng)(次要角色),保證系統(tǒng)正常工作?

  4.系統(tǒng)控制的硬件設(shè)備有哪些?

  5.系統(tǒng)需要與哪些其他系統(tǒng)交互?其他系統(tǒng)包括計算機(jī)系統(tǒng),也包括該系統(tǒng)將要使用的計算機(jī)中的其他應(yīng)用軟件。其他系統(tǒng)也分成兩類,一類是啟動該系統(tǒng)的系統(tǒng),另一類是該系統(tǒng)要使用的系統(tǒng)。

  6.對系統(tǒng)產(chǎn)生的結(jié)果感興趣的人或事是哪些?

  用例:用例代表的是一個完整的功能。

  如何發(fā)現(xiàn)用例:

  1.角色需要從系統(tǒng)中獲得哪種功能?角色需要做什么?

  2.角色需要讀取,產(chǎn)生,刪除,修改或存儲系統(tǒng)中的某種系統(tǒng)嗎?

  3.系統(tǒng)中發(fā)生的事件需要通知角色嗎?或者角色需要通知系統(tǒng)某件事嗎?這些事件(功能)能干些什么?

  4.如果用系統(tǒng)的新功能處理角色的日常工作是簡單化了,還是提高了工作效率?

  5.還有一些與當(dāng)前角色可能無關(guān)的問題,也能幫助建模者發(fā)現(xiàn)用例,例如:

  6.系統(tǒng)需要的輸入/輸出是什么信息?這些輸入/輸出信息從哪兒來到哪兒去?

  7.系統(tǒng)當(dāng)前的這種實現(xiàn)方法要解決的問題是什么(也許用自動系統(tǒng)代替手工操作)?

  四、UML用例圖中用例之間的關(guān)系:

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

  1)包含關(guān)系——include

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

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

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

2)、擴(kuò)展關(guān)系——extend

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

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

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

在以下幾種情況下,可使用擴(kuò)展用例:

  2.1).表明用例的某一部分是可選的系統(tǒng)行為(這樣,您就可以將模型中的可選行為和必選行為分開);

  2.2).表明只在特定條件(如例外條件)下才執(zhí)行的分支流;

  2.3).表明可能有一組行為段,其中的一個或多個段可以在基本用例中的擴(kuò)展點處插入。所插入的行為段和插入的順序取決于在執(zhí)行基本用例時與主角進(jìn)行的交互。

3)、泛化關(guān)系——generalization

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

原文鏈接:http://www.cnblogs.com/lyp3314/archive/2011/11/16/2251906.html

【編輯推薦】

  1. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之開卷有益
  2. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之系統(tǒng)建模1
  3. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之系統(tǒng)建模2
  4. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之系統(tǒng)建模3
  5. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之系統(tǒng)建模4
  6. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之系統(tǒng)設(shè)計規(guī)范與原則1
  7. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之系統(tǒng)設(shè)計規(guī)范與原則2
  8. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之業(yè)務(wù)邏輯層
  9. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之表現(xiàn)層
  10. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之服務(wù)層
  11. 系統(tǒng)架構(gòu)師談企業(yè)應(yīng)用架構(gòu)之?dāng)?shù)據(jù)訪問層
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2010-07-09 09:00:22

UML建模

2010-07-12 09:37:26

UML建模

2010-06-30 17:36:58

UML用例圖

2010-06-08 17:01:34

UML用例圖

2010-07-06 11:21:37

UML狀態(tài)圖

2010-07-08 11:27:00

UML用例建模

2010-07-07 18:11:13

UML對象圖

2010-07-07 14:19:55

UML用例圖關(guān)系

2010-06-30 14:37:20

UML類圖

2009-12-17 10:14:04

UML建模

2010-07-12 11:23:09

UML類圖

2010-06-08 18:53:43

UML建模工具

2010-06-30 15:26:33

UML靜態(tài)建模

2010-06-29 16:43:54

UML用例建模

2010-06-30 17:06:32

UML用例圖

2010-07-01 17:05:34

UML包圖

2010-06-30 11:08:09

UML用例建模

2010-06-10 17:14:54

UML建模過程

2010-06-17 10:38:08

UML動態(tài)建模機(jī)制

2010-07-02 09:06:29

UML用例建模
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区免费在线观看 | 成人无遮挡毛片免费看 | 日韩另类 | 亚洲第一av | 国产精品久久久久久久久久 | 一级黄在线观看 | 国产精品免费看 | 日韩不卡一二区 | 亚洲高清视频在线观看 | 久久久久久综合 | 91视频三区 | 一区二区视屏 | 国产欧美在线 | 精品成人一区 | 91在线视频国产 | 国产小视频在线 | 97伦理电影网 | 日本a v在线播放 | 国产亚洲网站 | 超碰综合 | 欧美a级网站 | 国产精品一区二区av | 日屁视频| 日韩国产中文字幕 | 日韩欧美一区二区在线播放 | 亚洲高清在线观看 | 四虎最新地址 | 欧美jizzhd精品欧美巨大免费 | 国产欧美二区 | 成人免费视频7777777 | 日韩一区中文字幕 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 国产精品一区二区三级 | 日韩中文字幕在线观看视频 | 97伦理| 中文字幕一区二区三区四区五区 | 精品国产乱码久久久久久闺蜜 | 成人精品| 91久久久久久久久久久 | 成人片网址 | 欧美一级黄带 |