日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
詳解UML建模之用例圖關(guān)系

一.UML簡(jiǎn)介

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了新化免費(fèi)建站歡迎大家使用!

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

  二、什么是用例

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

  三、什么是用例圖

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

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

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

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

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

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

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

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

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

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

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

  用例:用例代表的是一個(gè)完整的功能。

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

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

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

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

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

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

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

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

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

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

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

  包含關(guān)系:使用包含(Inclusion)用例來(lái)封裝一組跨越多個(gè)用例的相似動(dòng)作(行為片斷),以便多個(gè)基(Base)用例復(fù)用。基用例控制與包含用例的關(guān)系,以及被包含用例的事件流是否會(huì)插入到基用例的事件流中?;美梢砸蕾嚢美龍?zhí)行的結(jié)果,但是雙方都不能訪問(wèn)對(duì)方的屬性。

  UML用例圖關(guān)系中包含關(guān)系最典型的應(yīng)用就是復(fù)用,也就是定義中說(shuō)的情景。但是有時(shí)當(dāng)某用例的事件流過(guò)于復(fù)雜時(shí),為了簡(jiǎn)化用例的描述,我們也可以把某一段事件流抽象成為一個(gè)被包含的用例;相反,用例劃分太細(xì)時(shí),也可以抽象出一個(gè)基用例,來(lái)包含這些細(xì)顆粒的用例。這種情況類似于在過(guò)程設(shè)計(jì)語(yǔ)言中,將程序的某一段算法封裝成一個(gè)子過(guò)程,然后再?gòu)闹鞒绦蛑姓{(diào)用這一子過(guò)程?!?/p>

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

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

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

  對(duì)于一個(gè)擴(kuò)展用例,可以在基用例上有幾個(gè)擴(kuò)展點(diǎn)。

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

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

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

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

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

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

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


當(dāng)前題目:詳解UML建模之用例圖關(guān)系
文章轉(zhuǎn)載:http://m.5511xx.com/article/dhdjegi.html