UML中數(shù)據(jù)流圖介紹_第1頁
UML中數(shù)據(jù)流圖介紹_第2頁
UML中數(shù)據(jù)流圖介紹_第3頁
UML中數(shù)據(jù)流圖介紹_第4頁
UML中數(shù)據(jù)流圖介紹_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、單向關(guān)聯(lián)聯(lián)在一個(gè)單單向關(guān)聯(lián)中中,兩個(gè)類類是相關(guān)的的,但是只只有一個(gè)類類知道這種種聯(lián)系的存存在。一個(gè)單向的的關(guān)聯(lián),表表示為一條條帶有指向向已知類的的開放箭頭頭(不關(guān)閉閉的箭頭或或三角形,用用于標(biāo)志繼繼承)的實(shí)實(shí)線。如同同標(biāo)準(zhǔn)關(guān)聯(lián)聯(lián),單向關(guān)關(guān)聯(lián)包括一一個(gè)角色名名和一個(gè)多多重值描述述,但是與與標(biāo)準(zhǔn)的雙雙向關(guān)聯(lián)不不同的時(shí),單單向關(guān)聯(lián)只只包含已知知類的角色色名和多重重值描述。簡單的說就就是OveerdraawAcccounttRepoort中包包含了BaankAcccounnt屬性,而而BankkAccoount中中不需要包包含OveerdraawnAcccounntsReeportt對象6.聚合的的表

2、示:聚合是一種種特別類型型的關(guān)聯(lián),用用于描述“總體到局局部”的關(guān)關(guān)系。在基基本的聚合合關(guān)系中, 部分類 的生命周周期獨(dú)立于于 整體類類 的生命命周期。舉例來說,我我們可以想想象,車 是一個(gè)整整體實(shí)體,而而 車輪 輪胎是整整輛車的一一部分。輪輪胎可以在在安置到車車時(shí)的前幾幾個(gè)星期被被制造,并并放置于倉倉庫中。在在這個(gè)實(shí)例例中,Whheel類類實(shí)例清楚楚地獨(dú)立于于Car類類實(shí)例而存存在。然而而,有些情情況下, 部分 類類的生命周周期并 不不 獨(dú)立于于 整體 類的生命命周期 - 這稱稱為合成聚聚合。舉例例來說,考考慮公司與與部門的關(guān)關(guān)系。 公公司和部門門 都建模模成類,在在公司存在在之前,部部門不能

3、存存在。這里里Depaartmeent類的的實(shí)例依賴賴于Commpanyy類的實(shí)例例而存在。讓我們更進(jìn)進(jìn)一步探討討基本聚合合和組合聚聚合。注意:聚合合與普通的的關(guān)聯(lián)的區(qū)區(qū)別在于:普通的關(guān)關(guān)聯(lián)可能只只是一個(gè)簡簡單的“包包含、引用用”關(guān)系,關(guān)關(guān)聯(lián)和被關(guān)關(guān)聯(lián)類之間間在邏輯概概念上不一一定有緊密密的聯(lián)系,而而聚合則不不同,它表表示的是一一種內(nèi)在關(guān)關(guān)系緊密,相相互依存,相相互包含的的概念,其其中的一部部分是構(gòu)成成另外一部部分的不可可或缺的成成分。基基本聚合有有聚合關(guān)系系的關(guān)聯(lián)指指出,某個(gè)個(gè)類是另外外某個(gè)類的的一部分。在一個(gè)聚聚合關(guān)系中中,子類實(shí)實(shí)例可以比比父類存在在更長的時(shí)時(shí)間。為了了表現(xiàn)一個(gè)個(gè)聚合關(guān)系

4、系,你畫一一條從父類類到部分類類的實(shí)線,并并在父類的的關(guān)聯(lián)末端端畫一個(gè)未未填充棱形形。圖中清清楚的表明明了類Caar對象包包含了另一一類Wheeel的44個(gè)實(shí)例,這這兩者在概概念上是密密不可分的的,其中的的一個(gè)類是是另一個(gè)類類的構(gòu)成成成分。菱形形表示“包包含”,箭箭頭表示被被包含的對對象,數(shù)字字4表示包包含的數(shù)目目。組合合聚合 組組合聚合關(guān)關(guān)系是聚合合關(guān)系的另另一種形式式,但是子子類實(shí)例的的生命周期期依賴于父父類實(shí)例的的生命周期期。注意:組合關(guān)系系如聚合關(guān)關(guān)系一樣繪繪制,不過過這次菱形形是被填充充的。7.反射關(guān)聯(lián)聯(lián)的表示:類也可以以使用反射射關(guān)聯(lián)與它它本身相關(guān)關(guān)聯(lián)。起先先,這可能能沒有意義義,

5、但是記記住,類是是抽象的。當(dāng)一個(gè)類類關(guān)聯(lián)到它它本身時(shí),這這并不意味味著類的實(shí)實(shí)例與它本本身相關(guān),而而是類的一一個(gè)實(shí)例與與類的另一一個(gè)實(shí)例相相關(guān)。圖描描繪的關(guān)系系說明一個(gè)個(gè)Emplloyeee實(shí)例可能能是另外一一個(gè)Empployeee實(shí)例的的經(jīng)理。然然而,因?yàn)闉椤癿annagess”的關(guān)系系角色有 0.*的多重性性描述;一一個(gè)雇員可可能不受任任何其他雇雇員管理。三、UMML中的對對象圖:實(shí)實(shí)例的記號號和類一樣樣,但是取取代頂端區(qū)區(qū)域中僅有有的類名,它它的名字是是經(jīng)過拼接接的:Instaance Namee : CClasss Namme 如 Donaald : Perrson因?yàn)轱@示實(shí)實(shí)例的目的

6、的是顯示值值得注意的的或相關(guān)的的信息,沒沒必要在你你的模型中中包含整個(gè)個(gè)實(shí)體屬性性及操作。相反地,僅僅僅顯示感感興趣的屬屬性及其值值是完全恰恰當(dāng)?shù)?。UML 22 也允許許在實(shí)體層層的關(guān)系/關(guān)聯(lián)建模模。繪制關(guān)關(guān)聯(lián)與一般般的類關(guān)系系的規(guī)則一一樣,除了了在建模關(guān)關(guān)聯(lián)時(shí)有一一個(gè)附加的的要求。附附加的限制制是,關(guān)聯(lián)聯(lián)關(guān)系必須須與類圖的的關(guān)系相一一致,而且且關(guān)聯(lián)的角角色名字也也必須與類類圖相一致致。四、UUML中的的角色圖:建模類的的實(shí)例有時(shí)時(shí)比期望的的更為詳細(xì)細(xì)。有時(shí),你你可能僅僅僅想要在一一個(gè)較多的的一般層次次做類關(guān)系系的模型。在這種情情況下,你你應(yīng)該使用用 角色 記號號。角色記記號類似于于實(shí)例記號號

7、。為了建建立類的角角色模型,你你畫一個(gè)方方格,并在在內(nèi)部放置置類的角色色名及類名名,作為實(shí)實(shí)體記號,但但是在這情情況你不能能加下劃線線。注意:角色圖和和對象圖的的一個(gè)明顯顯區(qū)別就是是:對象圖圖每個(gè)對象象名稱下面面都加了下下劃線,而而角色圖沒沒有 以下是:序序列圖序列圖主要要用于按照照交互發(fā)生生的一系列列順序,顯顯示對象之之間的這些些交互。很很象類圖,開開發(fā)者一般般認(rèn)為序列列圖只對他他們有意義義。然而,一一個(gè)組織的的業(yè)務(wù)人員員會發(fā)現(xiàn),序序列圖顯示示不同的業(yè)業(yè)務(wù)對象如如何交互,對對于交流當(dāng)當(dāng)前業(yè)務(wù)如如何進(jìn)行很很有用。除除記錄組織織的當(dāng)前事事件外,一一個(gè)業(yè)務(wù)級級的序列圖圖能被當(dāng)作作一個(gè)需求求文件使用

8、用,為實(shí)現(xiàn)現(xiàn)一個(gè)未來來系統(tǒng)傳遞遞需求。在在項(xiàng)目的需需求階段,分分析師能通通過提供一一個(gè)更加正正式層次的的表達(dá),把把用例帶入入下一層次次。那種情情況下,用用例常常被被細(xì)化為一一個(gè)或者更更多的序列列圖。 組織的技術(shù)術(shù)人員能發(fā)發(fā)現(xiàn),序列列圖在記錄錄一個(gè)未來來系統(tǒng)的行行為應(yīng)該如如何表現(xiàn)中中,非常有有用。在設(shè)設(shè)計(jì)階段,架架構(gòu)師和開開發(fā)者能使使用圖,挖挖掘出系統(tǒng)統(tǒng)對象間的的交互,這這樣充實(shí)整整個(gè)系統(tǒng)設(shè)設(shè)計(jì)。序列圖的的主要用途途之一,是是把用例表表達(dá)的需求求,轉(zhuǎn)化為為進(jìn)一步、更加正式式層次的精精細(xì)表達(dá)。用例常常常被細(xì)化為為一個(gè)或者者更多的序序列圖。序序列圖除了了在設(shè)計(jì)新新系統(tǒng)方面面的用途外外,它們還還能用來

9、記記錄一個(gè)存存在系統(tǒng)(稱稱它為“遺遺產(chǎn)”)的的對象現(xiàn)在在如何交互互。當(dāng)把這這個(gè)系統(tǒng)移移交給另一一個(gè)人或組組織時(shí),這這個(gè)文檔很很有用。Java應(yīng)應(yīng)用程序由由許多類所所構(gòu)成,是是Javaa實(shí)現(xiàn)面向向?qū)ο髴?yīng)用用程序的核核心。類圖圖主要描述述Javaa應(yīng)用程序序中各種類類之間的相相互靜態(tài)關(guān)關(guān)系,如類類的繼承、抽象、接接口以及各各種關(guān)聯(lián)。要利用UUML設(shè)計(jì)計(jì)Javaa應(yīng)用程序序,僅僅使使用類圖來來描述這些些靜態(tài)關(guān)系系,利用可可視化工具具,要實(shí)現(xiàn)現(xiàn)Javaa應(yīng)用程序序的代碼自自動生成,是是遠(yuǎn)遠(yuǎn)不夠夠的。我們們還必須描描述各種類類相互之間間的協(xié)作關(guān)關(guān)系、動態(tài)態(tài)關(guān)系,如如時(shí)間序列列上的交互互行為。其其中UML

10、L序列圖就就是用來描描述類與類類之間的方方法調(diào)用過過程(或消消息發(fā)送)是是如何實(shí)現(xiàn)現(xiàn)的。一、UMLL中的新元元素框架架:在 UUML 22中,框架架元件用于于作為許多多其他的圖圖元件的一一個(gè)基礎(chǔ),但但是大多數(shù)數(shù)人第一次次接觸框架架元件的情情況,是作作為圖的圖圖形化邊界界。當(dāng)為圖圖提供圖形形化邊界時(shí)時(shí),一個(gè)框框架元件為為圖的標(biāo)簽簽提供一致致的位置。在 UMML 圖中中框架元件件是可選擇擇的。除了了提供一個(gè)個(gè)圖形化邊邊框之外,用用于圖中的的框架元件件也有描述述交互的重重要的功能能, 例如如序列圖。在序列圖圖上一個(gè)序序列接收和和發(fā)送消息息(又稱交交互),能能通過連接接消息和框框架元件邊邊界,建立立模

11、型(如如圖 2 所見到)。對于序列列圖,圖的的標(biāo)簽由文文字“sdd”開始。當(dāng)使用一一個(gè)框架元元件封閉一一個(gè)圖時(shí),圖圖的標(biāo)簽需需要按照以以下的格式式:圖類型型 圖名稱稱。UML 規(guī)規(guī)范給圖類類型提供特特定的文本本值。(舉舉例來說,ssd代表序序列圖,aactivvity代代表活動圖圖,usee casse代表用用例圖)。二、UMLL中的序列列圖:序列列圖主要用用于按照交交互發(fā)生的的一系列順順序,顯示示對象之間間的這些交交互。在項(xiàng)項(xiàng)目的需求求階段,分分析師能通通過提供一一個(gè)更加正正式層次的的表達(dá),把把用例帶入入下一層次次。那種情情況下,用用例常常被被細(xì)化為一一個(gè)或者更更多的序列列圖。序列列圖的主要

12、要用途之一一,是把用用例表達(dá)的的需求,轉(zhuǎn)轉(zhuǎn)化為進(jìn)一一步、更加加正式層次次的精細(xì)表表達(dá)。用例例常常被細(xì)細(xì)化為一個(gè)個(gè)或者更多多的序列圖圖。序列圖圖除了在設(shè)設(shè)計(jì)新系統(tǒng)統(tǒng)方面的用用途外,它它們還能用用來記錄一一個(gè)存在系系統(tǒng)(稱它它為“遺產(chǎn)產(chǎn)”)的對對象現(xiàn)在如如何交互。序列圖的的主要目的的是定義事事件序列,產(chǎn)產(chǎn)生一些希希望的輸出出。重點(diǎn)不不是消息本本身,而是是消息產(chǎn)生生的順序;不過,大大多數(shù)序列列圖會表示示一個(gè)系統(tǒng)統(tǒng)的對象之之間傳遞的的什么消息息,以及它它們發(fā)生的的順序。圖圖按照水平平和垂直的的維度傳遞遞信息:垂垂直維度從從上而下表表示消息/調(diào)用發(fā)生生的時(shí)間序序列,而且且水平維度度從左到右右表示消息息發(fā)

13、送到的的對象實(shí)例例。1.生生命線:生生命線畫作作一個(gè)方格格,一條虛虛線從上而而下,通過過底部邊界界的中心(圖圖 3)。生命線名名字放置在在方格里。UML 的生命線線命名標(biāo)準(zhǔn)準(zhǔn)按照如下下格式: 實(shí)體名:類名生命命線名稱帶帶下劃線。當(dāng)使用下下劃線時(shí),意意味著序列列圖中的生生命線代表表一個(gè)類的的特定實(shí)體體,不是特特定種類的的實(shí)體(例例如,角色色)。序列列圖的實(shí)例例名稱有下下劃線,而而角色名稱稱沒有。一一個(gè)生命線線能用來表表現(xiàn)一個(gè)匿匿名的或未未命名的實(shí)實(shí)體。當(dāng)在在一個(gè)序列列圖上,為為一個(gè)未命命名的實(shí)例例建模時(shí),生生命線的名名字采用和和一個(gè)命名名實(shí)例相同同的模式;但是生命命線名字的的位置留下下空白,而而

14、不是提供供一個(gè)例圖圖名字。2.消息體體:為了顯顯示一個(gè)對對象(例如如,生命線線)傳遞一一個(gè)消息給給另外一個(gè)個(gè)對象,你你畫一條線線指向接收收對象,包包括一個(gè)實(shí)實(shí)心箭頭(如如果是一個(gè)個(gè)同步調(diào)用用操作)或或一個(gè)棍形形箭頭(如如果是一個(gè)個(gè)異步訊號號)。消息息/方法名名字放置在在帶箭頭的的線上面。正在被傳傳遞給接收收對象的消消息,表示示接收對象象的類實(shí)現(xiàn)現(xiàn)的一個(gè)操操作/方法法。返回消消息是可選選擇的;一一個(gè)返回消消息畫作一一個(gè)帶開放放箭頭的虛虛線,向后后指向來源源的生命線線,在這條條虛線上面面,你放置置操作的返返回值。為為了要畫一一個(gè)調(diào)用本本身的對象象,如你平平時(shí)所作的的,畫一條條消息,但但是不是連連接

15、它到另另外的一個(gè)個(gè)對象,而而是你把消消息連接回回對象本身身。 三、UMLL中的約束束:約束的的符號很簡簡單;格式式是: 【BBooleean TTest】四、UML中的新元素組合碎片(變體方案、選擇項(xiàng)、循環(huán)):一個(gè)組合碎片用來把一套消息組合在一起,在一個(gè)序列圖中顯示條件分支。1.變體:變體用來指指明在兩個(gè)個(gè)或更多的的消息序列列之間的、互斥的選選擇。一個(gè)個(gè)變體的組組合碎片元元件使用框框架來畫。單詞“aalt”放放置在框架架的nammeboxx里。然后后較大的長長方形分為為 UMLL 2 所所稱的操作作元。 HYPERLINK l notes 操作作元被虛線線分開。每每個(gè)操作元元有一個(gè)約約束進(jìn)行測

16、測試,而這這個(gè)約束被被放置在生生命線頂端端的操作元元的左上部部。 HYPERLINK l notes 如果操操作元的約約束等于“truee”,然后后那個(gè)操作作元是要執(zhí)執(zhí)行的操作作元。圖 8作為為一個(gè)變體體的組合碎碎片如何閱閱讀的例子子,顯示序序列從頂部部開始,即即bankk對象獲取取支票金額額和帳戶結(jié)結(jié)余。此時(shí)時(shí),序列圖圖中的變體體組合碎片片接管。因因?yàn)榧s束“ballancee = amouunt”,如果余余額超過或或等于金額額,然后順順序進(jìn)行bbank對對象傳遞 addDDebittTrannsacttion 和 sttorePPhotooOfChheck 消息給aaccouunt對象象。然

17、而,如如果余額不不是超過或或等于金額額,然后順順序的過程程就是baank傳遞遞addIInsufffienntFunndFeee 和 nnoteRReturrnedCCheckk 消息給給accoount對對象,reeturnnChecck 消息息給它自身身。因?yàn)椤癳lsee”約束,當(dāng)當(dāng)余額不大大于或者等等于金額時(shí)時(shí),第二個(gè)個(gè)序列被調(diào)調(diào)用。在變變體的組合合碎片中,不不需要“eelse”約束;而而如果一個(gè)個(gè)操作元,在在它上面沒沒有一個(gè)明明確的約束束,那么將將假定“eelse”約束。2.選擇項(xiàng)項(xiàng):一個(gè)選選擇項(xiàng)用來來為簡單的的“if thenn”表達(dá)式式建模。(例例如,如果果架上的圈圈餅少于五五個(gè),

18、那么么另外做兩兩打圈餅)。選擇項(xiàng)組組合碎片符符號與變體體組合碎片片類似,除除了它只有有一個(gè)操作作元并且永永不能有“elsee”約束以以外(它就就是如此,沒沒有理由)。要畫選擇擇項(xiàng)組合,你你畫一個(gè)框框架。文字字“optt”是被放放置在框架架的 naameboox 里的的文本,在在框架的內(nèi)內(nèi)容區(qū),選選擇項(xiàng)的約約束被放置置在生命線線頂端上的的左上角。 然后選選擇項(xiàng)的消消息序列被被放在框架架的內(nèi)容區(qū)區(qū)的其余位位置內(nèi)。注注意:變體體用于為iif thhen eelse建建模,選擇擇項(xiàng)用于為為if tthen建建模,因?yàn)闉橹挥幸粋€(gè)個(gè)分支,所所以不能出出現(xiàn)ellse以下是:用用例圖:用例圖主要要用來圖示示化

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

20、則上來講講,用例之之間都是獨(dú)獨(dú)立、并列列的,它們們之間并不不存在著包包含從屬關(guān)關(guān)系。但是是為了體現(xiàn)現(xiàn)一些用例例之間的業(yè)業(yè)務(wù)關(guān)系,提提高可維護(hù)護(hù)性和一致致性,用例例之間可以以抽象出包包含(inncludde)、擴(kuò)擴(kuò)展(exxtendd)和泛(geneeraliizatiion)幾幾種關(guān)系。共性:都是是從現(xiàn)有的的用例中抽抽取出公共共的那部分分信息,作作為一個(gè)單單獨(dú)的用例例,然后通通后過不同同的方法來來重用這個(gè)個(gè)公共的用用例,以減減少模型維維護(hù)的工作作量。1、包含(incllude) 包包含關(guān)系:使用包含含(Incclusiion)用用例來封裝裝一組跨越越多個(gè)用例例的相似動動作(行為為片斷),以以便

21、多個(gè)基基(Basse)用例例復(fù)用?;美刂浦婆c包含用用例的關(guān)系系,以及被被包含用例例的事件流流是否會插插入到基用用例的事件件流中?;美梢砸砸蕾嚢美龍?zhí)行行的結(jié)果,但但是雙方都都不能訪問問對方的屬屬性。 包含含關(guān)系對典典型的應(yīng)用用就是復(fù)用用,也就是是定義中說說的情景。但是有時(shí)時(shí)當(dāng)某用例例的事件流流過于復(fù)雜雜時(shí),為了了簡化用例例的描述,我我們也可以以把某一段段事件流抽抽象成為一一個(gè)被包含含的用例;相反,用用例劃分太太細(xì)時(shí),也也可以抽象象出一個(gè)基基用例,來來包含這些些細(xì)顆粒的的用例。這這種情況類類似于在過過程設(shè)計(jì)語語言中,將將程序的某某一段算法法封裝成一一個(gè)子過程程,然后再再從主程序序

22、中調(diào)用這這一子過程程。 例如如:業(yè)務(wù)中中,總是存存在著維護(hù)護(hù)某某信息息的功能,如如果將它作作為一個(gè)用用例,那新新建、編輯輯以及修改改都要在用用例詳述中中描述,過過于復(fù)雜;如果分成成新建用例例、編輯用用例和刪除除用例,則則劃分太細(xì)細(xì)。這時(shí)包包含關(guān)系可可以用來理理清關(guān)系。2、擴(kuò)展(exteend)擴(kuò)展關(guān)系:將基用例例中一段相相對獨(dú)立并并且可選的的動作,用用擴(kuò)展(EExtennsionn)用例加加以封裝,再再讓它從基基用例中聲聲明的擴(kuò)展展點(diǎn)(Exxtenssion Poinnt)上進(jìn)進(jìn)行擴(kuò)展,從從而使基用用例行為更更簡練和目目標(biāo)更集中中。擴(kuò)展用用例為基用用例添加新新的行為。擴(kuò)展用例例可以訪問問基用例

23、的的屬性,因因此它能根根據(jù)基用例例中擴(kuò)展點(diǎn)點(diǎn)的當(dāng)前狀狀態(tài)來判斷斷是否執(zhí)行行自己。但但是擴(kuò)展用用例對基用用例不可見見。對于一個(gè)擴(kuò)擴(kuò)展用例,可可以在基用用例上有幾幾個(gè)擴(kuò)展點(diǎn)點(diǎn)。例如,系系統(tǒng)中允許許用戶對查查詢的結(jié)果果進(jìn)行導(dǎo)出出、打印。對于查詢詢而言,能能不能導(dǎo)出出、打印查查詢都是一一樣的,導(dǎo)導(dǎo)出、打印印是不可見見的。導(dǎo)入入、打印和和查詢相對對獨(dú)立,而而且為查詢詢添加了新新行為。因因此可以采采用擴(kuò)展關(guān)關(guān)系來描述述:4、泛泛化(geeneraalizaationn)泛化關(guān)系:子用例和和父用例相相似,但表表現(xiàn)出更特特別的行為為;子用例例將繼承父父用例的所所有結(jié)構(gòu)、行為和關(guān)關(guān)系。子用用例可以使使用父用例例

24、的一段行行為,也可可以重載它它。父用例例通常是抽抽象的。在在實(shí)際應(yīng)用用中很少使使用泛化關(guān)關(guān)系,子用用例中的特特殊行為都都可以作為為父用例中中的備選流流存在。例如,業(yè)務(wù)務(wù)中可能存存在許多需需要部門領(lǐng)領(lǐng)導(dǎo)審批的的事情,但但是領(lǐng)導(dǎo)審審批的流程程是很相似似的,這時(shí)時(shí)可以做成成泛化關(guān)系系表示: 上面是我我參考的一一篇文章,覺覺得將三種種關(guān)系的區(qū)區(qū)別講得很很清晰,在在此基礎(chǔ)上上結(jié)合自己己的系統(tǒng),對對項(xiàng)目(在在線購物系系統(tǒng))的用用例做了整整體的描繪繪。 * (11)系統(tǒng)整整體用例圖圖 (商商品用例圖圖) (購購買信息用用例) (用戶戶資料用例例)按照先先整體用例例,后子系系統(tǒng)用例來來進(jìn)行描繪繪的,歡迎迎大家

25、提出出好的建議議!轉(zhuǎn):UMLL中擴(kuò)展和和泛化的區(qū)區(qū)別 泛化表表示類似于于OO術(shù)語語“繼承”或“多態(tài)態(tài)”。UMML中的UUse CCase泛泛化過程是是將不同UUse CCase之之間的可合合并部分抽抽象成獨(dú)立立的父Usse Caase,并并將不可合合并部分單單獨(dú)成各自自的子Usse Caase;包包含以及擴(kuò)擴(kuò)展過程與與泛化過程程類似,但但三者對用用例關(guān)系的的優(yōu)化側(cè)重重點(diǎn)是不同同的。如下下: 泛化側(cè)重重表示子用用例間的互互斥性; 包含含側(cè)重表示示被包含用用例對Acctor提提供服務(wù)的的間接性; 擴(kuò)擴(kuò)展側(cè)重表表示擴(kuò)展用用例的觸發(fā)發(fā)不定性;詳述如下下: 既既然用例是是系統(tǒng)提供供服務(wù)的UUML表述述,

26、那么服服務(wù)這個(gè)過過程在所有有用例場景景中是必然然發(fā)生的,但但發(fā)生按照照發(fā)生條件件可分為如如下兩種情情況: 無條件發(fā)發(fā)生:肯定定發(fā)生的; 有條條件發(fā)生:未必發(fā)生生,發(fā)生與與否取決于于系統(tǒng)狀態(tài)態(tài); 因此,針針對用例的的三種關(guān)系系結(jié)合系統(tǒng)統(tǒng)狀態(tài)考慮慮,泛化與與包含用例例屬于無條條件發(fā)生的的用例,而而擴(kuò)展屬于于有條件發(fā)發(fā)生的用例例。進(jìn)一步步,用例的的存在是為為Actoor提供服服務(wù),但用用例提供服服務(wù)的方式式可分為間間接和直接接兩種,依依據(jù)于此,泛泛化中的子子用例提供供的是直接接服務(wù),而而包含中的的被包含用用例提供的的是間接服服務(wù)。同樣樣,擴(kuò)展用用例提供的的也是直接接服務(wù),但但擴(kuò)展用例例的發(fā)生是是有條

27、件的的。 另外一點(diǎn)點(diǎn)需要提及及的是:泛泛化中的子子用例和擴(kuò)擴(kuò)展中的擴(kuò)擴(kuò)展用例均均可以作為為基本用例例事件的備備選擇流而而存在。以下是:活活動圖UML 活活動圖記錄錄了單個(gè)操操作或方法法的邏輯,單單個(gè)用戶案案例,或者者單個(gè)業(yè)務(wù)務(wù)流程的邏邏輯。在很很多方面,活動圖是結(jié)構(gòu)化開發(fā)中流程圖和數(shù)據(jù)流程圖 (DFD) 的面向?qū)ο蟮韧w,要?jiǎng)?chuàng)建一個(gè) UML 活動圖,您需要反復(fù)執(zhí)行下列步驟。第一步,定義活動圖的范圍首先應(yīng)該定義您要對什么建模。單個(gè)用戶案例力?一個(gè)用戶案例的一部分?一個(gè)包含多個(gè)用戶案例的商務(wù)流程?一個(gè)類的單個(gè)方法?一旦您定義了您所作圖的范圍,您應(yīng)該在其頂部,用一個(gè)標(biāo)注添加標(biāo)簽,指明該圖的標(biāo)題和唯一

28、的標(biāo)示符。您有可能也想要包括該圖的時(shí)間甚至作者名。 第二步,添添加起始和和結(jié)束點(diǎn)每每個(gè)活動圖圖有一個(gè)起起始點(diǎn)和結(jié)結(jié)束點(diǎn),因因此您也要要馬上添加加它們。在在 UMML 精粹粹(UMML Diistillled) (參見見參考資料料),F(xiàn)oowlerr 和 SScottt 認(rèn)為結(jié)結(jié)束點(diǎn)是可可選的。有有時(shí)候一個(gè)個(gè)活動只是是一個(gè)簡單單的結(jié)束,如如果是這種種情況,指指明其唯一一的轉(zhuǎn)變是是到一個(gè)結(jié)結(jié)束點(diǎn)也是是無害的。這樣,當(dāng)當(dāng)其他人閱閱讀您的圖圖時(shí),他或或她知道您您已經(jīng)考慮慮了如何退退出這些活活動。第三步,添添加活動如如果您正對對一個(gè)用戶戶案例建模模,對每個(gè)個(gè)角色(aactorr)所發(fā)出出的主要步步驟引入

29、一一個(gè)活動(該活動可可能包括起起始步驟,加加上對起始始步驟系統(tǒng)統(tǒng)響應(yīng)的任任何步驟)。如果您您正對一個(gè)個(gè)高層的商商務(wù)流程建建模,對每每個(gè)主要流流程引入一一個(gè)活動,通通常為一個(gè)個(gè)用戶案例例或用戶案案例包。最最后,如果果您正對一一個(gè)方法建建模,那么么對此引入入一個(gè)活動動是很常見見的。 第四步步,添加活活動間的轉(zhuǎn)轉(zhuǎn)變我的風(fēng)風(fēng)格總是應(yīng)應(yīng)該退出一一個(gè)活動,即即使它是轉(zhuǎn)轉(zhuǎn)變到一個(gè)個(gè)結(jié)束點(diǎn)。一旦一個(gè)個(gè)活動有多多個(gè)轉(zhuǎn)變時(shí)時(shí),您必需需對每個(gè)轉(zhuǎn)轉(zhuǎn)變加以相相應(yīng)標(biāo)示。第五五步,添加加決策點(diǎn)有有時(shí)候,您您所建模的的邏輯需要要做出一個(gè)個(gè)決策。有有可能是需需要檢查某某些事務(wù)或或比較某些些事務(wù)。要要注意的是是,使用決決策點(diǎn)是可

30、可選的。第六步步,找出可可并行活動動之處當(dāng)兩兩個(gè)活動間間沒有直接接的聯(lián)系,而而且它們都都必需在第第三個(gè)活動動開始前結(jié)結(jié)束,那它它們是可以以并行運(yùn)行行的。下下面的活動動圖描述了了大學(xué)新生生第一次將將如何辦理理入學(xué)的商商業(yè)邏輯。 實(shí)心圓表示示活動圖的起起點(diǎn),實(shí)際際上是一個(gè)個(gè)占位符,帶帶邊框的實(shí)實(shí)心圓表示示終點(diǎn)。 圓角矩形表表示執(zhí)行的的過程或活活動。在該該圖中,雖雖然您會注注意到“登登記研習(xí)班班”用例將將多次調(diào)用用“登記研研習(xí)班”活活動,但這這些活動卻卻相當(dāng)緊密密地映射到到用例?;罨顒涌梢约?xì)細(xì)致得多,特特別在選擇擇記錄方法法邏輯,而而不是高級級商業(yè)過程程時(shí)。 菱形表示判判定點(diǎn),雖雖然在此示示例中判定

31、定點(diǎn)只有兩兩種可能結(jié)結(jié)果;但即即使有更多多可能結(jié)果果,它也同同樣容易。 箭頭表示活活動之間的的轉(zhuǎn)換,各各種活動之之間的流動動次序。 箭頭上的文文字表示繼繼續(xù)轉(zhuǎn)換所所必須滿足足的條件,總總是使用格格式“條條件”來來描述。我我猜想,在在 UMLL 的將來來版本中,我我們將會看看到使用 UML 約約束表示法法(如“condditioon”)記記錄的條件件。 粗線條表示示可能會并并行進(jìn)行的的過程的開開始和結(jié)束束;在大學(xué)學(xué)里成功入入學(xué)后,必必須參加指指定的概況況介紹,還還要至少登登記一個(gè)研研習(xí)班并交交付一部分分的學(xué)費(fèi)。 退出活動可可能有幾種種方法,如如您看到的的“填寫入入學(xué)表”活活動的那樣樣。如果正正確

32、填寫了了表格,那那么可以繼繼續(xù)進(jìn)行大大學(xué)的入學(xué)學(xué)手續(xù)。但但是,如果果表格不正正確,那么么必須獲得得幫助(可可能從注冊冊員獲得幫幫助)以正正確填寫它它們。圖 1. 第一次入入學(xué)的 UUML 活動圖這個(gè)活動圖圖非常有趣趣,因?yàn)樗〉袅酥袠?biāo)識的幾幾個(gè)用例的的邏輯。用用例模型沒沒有很好地地表達(dá)處理理的順序是是件好事。例如,雖雖然 中顯顯示的用例例圖為您清清楚地描述述了該系統(tǒng)統(tǒng)所執(zhí)行的的功能類型型,但是它它沒有明確確地表達(dá)這這些用例可可能發(fā)生的的順序。但但是, 的的活動圖做到到了這一點(diǎn)點(diǎn)。總之,不不同模型的的優(yōu)缺點(diǎn)各各有不同。 HYPERLINK l Figure1 圖 2 中中標(biāo)識的幾幾個(gè)用例的的邏

33、輯。用用例模型沒沒有很好地地表達(dá)處理理的順序是是件好事。例如,雖雖然 HYPERLINK l Figure2 圖 22 中顯示示的用例圖圖為您清楚楚地描述了了該系統(tǒng)所所執(zhí)行的功功能類型,但但是它沒有有明確地表表達(dá)這些用用例可能發(fā)發(fā)生的順序序。但是, HYPERLINK l Figure1 圖 1 的活動圖做到了這一點(diǎn)??傊煌P偷膬?yōu)缺點(diǎn)各有不同。 圖 2. 大學(xué)的用用例圖泳道 將將模型中的的活動按照照職責(zé)組織織起來通常常很有用。例如,可可以將一個(gè)個(gè)商業(yè)組織織處理的所所有活動組組織起來。這種分配配可以通過過將活動組組織成用線線分開的不不同區(qū)域來來表示。由由于它們的的外觀的緣緣故,這些些區(qū)域被

34、稱稱作泳道。 圖 772 表表示了泳道道。 圖 722 泳道和和對象流 2. 對象流活動圖能表表示對象的的值流和控控制流。對對象流狀態(tài)態(tài)表示活動動中輸入或或輸出的對對象。對輸輸出值而言言,虛線箭箭頭從活動動指向?qū)ο笙罅鳡顟B(tài)。對輸入值值而言,虛虛線箭頭從從對象流狀狀態(tài)指向活活動。如果果活動有多多個(gè)輸出值值或后繼控控制流,那那么箭頭背背向分叉符符號。同樣樣,多輸入入箭頭指向向結(jié)合符號號。 圖 722 表示一一個(gè)活動和和對象流狀狀態(tài)都被分分配到泳道道中的活動動圖。 活動和和其他圖活活動圖沒有有表示出計(jì)計(jì)算處理過過程中的全全部細(xì)節(jié)內(nèi)內(nèi)容。它們們表示了活活動進(jìn)行的的流程但沒沒表示出執(zhí)執(zhí)行活動的的對象?;罨顒訄D是設(shè)設(shè)計(jì)工作的的起點(diǎn)。為為了完成設(shè)設(shè)計(jì),每個(gè)個(gè)活動必須須擴(kuò)展細(xì)分分成一個(gè)或或多個(gè)操作作,每個(gè)操操作被指定定到具體類類。這種分分配的結(jié)果果引出了用用于實(shí)現(xiàn)活活動圖的對對合協(xié)的設(shè)設(shè)計(jì)工作。以下是數(shù)據(jù)據(jù)流圖DFFD:研究了一下下DFD: 結(jié)結(jié)構(gòu)化分析析是面向數(shù)數(shù)據(jù)流開展展需求分析析工作的一一種有效方方法。一般般采用自頂頂向下,逐逐層分解的的演義分析析法來定義義系統(tǒng)的需需求,即先先把分析對對象抽象成成一個(gè)系統(tǒng)統(tǒng),然后自自頂向下的的逐層分解解,將復(fù)雜雜的系統(tǒng)分分解成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論