電子商務(wù)系統(tǒng)設(shè)計(jì) 04 UML建模方法_第1頁(yè)
電子商務(wù)系統(tǒng)設(shè)計(jì) 04 UML建模方法_第2頁(yè)
電子商務(wù)系統(tǒng)設(shè)計(jì) 04 UML建模方法_第3頁(yè)
電子商務(wù)系統(tǒng)設(shè)計(jì) 04 UML建模方法_第4頁(yè)
電子商務(wù)系統(tǒng)設(shè)計(jì) 04 UML建模方法_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

電子商務(wù)系統(tǒng)設(shè)計(jì)UML建模方法4.1UML核心元素一、UML的三個(gè)基本構(gòu)造塊1事物

(1)結(jié)構(gòu)事物(Structuralthings):(2)動(dòng)作事物(Behavioralthings)(3)分組事物(Groupingthings)(4)注釋事物(Annotationalthings)類:是對(duì)具有相同屬性、方法、關(guān)系和語(yǔ)義的對(duì)象的抽象,一個(gè)類可以實(shí)現(xiàn)一個(gè)或多個(gè)接口。在UML中類用包括類名、屬性和方法的矩形表示。接口:是為類或組件提供特定服務(wù)的一組操作的集合。接口描述了類或組件的對(duì)外可見(jiàn)的動(dòng)作。在UML中接口用圓表示,在圖形旁邊還要標(biāo)注接口的名字。協(xié)作:定義了交互操作。在UML中,用虛線構(gòu)成的橢圓表示,橢圓中要標(biāo)注協(xié)作的名字。用例:描述系統(tǒng)對(duì)一個(gè)特定角色執(zhí)行的一系列動(dòng)作。在UML中,用例用標(biāo)注了用例名稱的實(shí)線橢圓表示?;顒?dòng)類:是類對(duì)象有一個(gè)或多個(gè)進(jìn)程或線程的類,在UML中,活動(dòng)類和類的表示法相同,只是邊框用粗線條。組件:是實(shí)現(xiàn)了一個(gè)接口集合的物理上可替換的系統(tǒng)部分。節(jié)點(diǎn):是在運(yùn)行時(shí)存在的一個(gè)物理元素。它代表一個(gè)可計(jì)算的資源,通常占用一些內(nèi)存和具有處理能力。一個(gè)組件集合一般來(lái)說(shuō)位于一個(gè)節(jié)點(diǎn)。

動(dòng)作事物是UML模型中的動(dòng)態(tài)部分。它們是模型的動(dòng)詞,代表時(shí)間和空間上的動(dòng)作??偣灿袃煞N主要的動(dòng)作事物:

第一種是交互(interaction),它是由一組對(duì)象之間在特定上下文中,為達(dá)到特定的目的而進(jìn)行的一系列消息交換而組成的動(dòng)作。

第二種是狀態(tài)機(jī)(statemachine),狀態(tài)機(jī)由一系列對(duì)象的狀態(tài)組成。

分組事物是UML模型中組織的部分,可以把它們看成是個(gè)盒子,模型可以在其中被分解??偣仓挥幸环N分組事物,稱為包(package)。注釋事物是UML模型的解釋部分。UML中用如下圖圈出表示:4.1UML核心元素2圖

UML中的圖有五種類別的圖(9種圖形)。它們是

用例圖:用例圖靜態(tài)圖:類圖、對(duì)象圖行為圖:狀態(tài)圖和活動(dòng)圖交互圖:合作圖和序列(順序)圖實(shí)現(xiàn)圖:部署圖和組件圖(構(gòu)件圖)4.1UML核心元素3關(guān)系關(guān)系是建模元素之間的語(yǔ)義(有意義)聯(lián)系,是UML把事物聯(lián)系到一起的方法。

UML中的關(guān)系類型有:

依賴

關(guān)聯(lián)

泛化

實(shí)現(xiàn)

依賴:是兩個(gè)元素之間的關(guān)系,對(duì)一個(gè)元素(提供者)的改變可能影響或提供信息給其他元素(客戶)

依賴不僅發(fā)生在類間,它們通常發(fā)生在:

l

包和包之間

l

對(duì)象和類之間

UML中表示依賴的圖形是:

在UML中有四種基本的依賴類型:

a.Usage(使用):客戶使用由提供者所提供的服務(wù)以實(shí)現(xiàn)它的行為,這是最普遍使用的依賴類型。

b.Abstraction(抽象):表示客戶和提供者之間的關(guān)系,提供者比客戶更加抽象。

c.Permission(授權(quán)):提供者為客戶提供某種權(quán)限以訪問(wèn)提供者的內(nèi)容,這是一種提供者控制和限制對(duì)其內(nèi)容訪問(wèn)的方法。

d.Binding(綁定):一般用于提供參數(shù)化類型(模板)的語(yǔ)言中(如C++)。關(guān)聯(lián):是類間的語(yǔ)義聯(lián)系,是類實(shí)例間連接的描述。在UML中表示關(guān)聯(lián)的圖是:

關(guān)聯(lián)可以具有以下各項(xiàng):

a.關(guān)聯(lián)名稱

關(guān)聯(lián)名稱是動(dòng)詞短語(yǔ),表明源對(duì)象正在目標(biāo)對(duì)象上執(zhí)行的動(dòng)作。

b.角色名稱

表明關(guān)聯(lián)中類的對(duì)象所扮演的角色。

c.多重性

多重性表明在任意時(shí)刻關(guān)系所能夠涉及的對(duì)象數(shù)目,用來(lái)約束任意時(shí)刻對(duì)象的數(shù)目。

d.導(dǎo)航性

用關(guān)系端部的箭頭顯示,表明可以從源類的任何對(duì)象到目標(biāo)類的一個(gè)或多個(gè)對(duì)象(根據(jù)多重性確定的)遍歷。泛化:一個(gè)元素是另一個(gè)元素的特例,而且它可以取代更一般的元素

泛化是一般元素和特殊元素之間的關(guān)系,是更概括的描述和更具體的種類間的關(guān)系,適用于繼承。在UML的表示泛化的圖形是:

實(shí)現(xiàn):說(shuō)明和實(shí)現(xiàn)間的關(guān)系。在UML中表示實(shí)現(xiàn)的圖形是:4.1UML核心元素二、UML中建模的機(jī)制在UML中存在兩種建模機(jī)制:靜態(tài)建模機(jī)制和動(dòng)態(tài)建模機(jī)制。

當(dāng)我們?cè)趯?shí)際的應(yīng)用中使用面向?qū)ο蟮脑O(shè)計(jì)和分析方法時(shí),一般遵循的步驟是:第一步:描述需求,一般產(chǎn)生用例圖。第二步:根據(jù)需求建立系統(tǒng)的靜態(tài)模型,構(gòu)造系統(tǒng)的結(jié)構(gòu)。產(chǎn)生:類圖,對(duì)象圖,組件圖和部署圖。第三步:描述系統(tǒng)的行為。這里建立的模型或者可以執(zhí)行,或者表示執(zhí)行時(shí)的時(shí)序狀態(tài)或交互關(guān)系。產(chǎn)生:狀態(tài)圖,活動(dòng)圖,順序圖和合作圖。

第一和第二步建立的模型都是靜態(tài)的,稱之為靜態(tài)建模,第三步稱之為活動(dòng)建模。4.2UML核心視圖一、靜態(tài)視圖1用例圖

假設(shè)(1),一個(gè)倉(cāng)庫(kù)管理系統(tǒng):倉(cāng)庫(kù)管理員需要進(jìn)行物品進(jìn)倉(cāng)和物品出倉(cāng)的操作,物品出倉(cāng)的前提是相關(guān)物品的庫(kù)存必須大于一定額度。(1)組成

用例圖表示處于同一個(gè)系統(tǒng)中參與者和用例之間的關(guān)系。是一組動(dòng)作序列(包括它的變衍生物)的描述,系統(tǒng)執(zhí)行該動(dòng)作序列來(lái)為參與者產(chǎn)生一個(gè)可觀測(cè)的結(jié)果值。

它用來(lái)描述需求的,描述待開(kāi)發(fā)系統(tǒng)的功能需求,本質(zhì)上是用來(lái)描述用戶和系統(tǒng)間一次交互。它是需求分析階段(MSF中的構(gòu)想階段)的主要任務(wù)之一。

用例圖分為兩個(gè)部分:用例(UseCase)和執(zhí)行者(Actor)

用例(UseCase):UML中表示為一個(gè)橢圓。它有以下特點(diǎn):1.用例捕獲某些用戶可見(jiàn)的需求,實(shí)現(xiàn)一個(gè)具體的用戶目標(biāo)。2.用例由執(zhí)行者激活,并提供確切的值給執(zhí)行者。3.用例可大可小,但它必須是對(duì)一個(gè)具體的用戶目標(biāo)實(shí)現(xiàn)的完整描述。

執(zhí)行者(Actor):指用戶在系統(tǒng)中所扮演的角色。用個(gè)小人表示(2)用例間的關(guān)系

用例間的關(guān)系分為兩種:使用(Include)和擴(kuò)展(Extend)

使用:指的是用例A要用到用例B。

例如出倉(cāng),需要檢查庫(kù)存情況,那用例“物品出倉(cāng)”就要用到用例“顯示物品的庫(kù)存”。擴(kuò)展:表示某個(gè)用例是從另外一個(gè)用例擴(kuò)展而來(lái)的。

例如倉(cāng)庫(kù)管理員在物品進(jìn)倉(cāng)的時(shí)候,可以查看相關(guān)物品的庫(kù)存情況。那么用例“查看物品的庫(kù)存情況”就是擴(kuò)展自用例“物品進(jìn)倉(cāng)”。(3)如何發(fā)現(xiàn)用例

一般可以采用“主謂”結(jié)構(gòu)的方式來(lái)發(fā)現(xiàn)用例,也就是“誰(shuí)做什么”?!罢l(shuí)”就是ACTOR,“做什么”就是用例。對(duì)于已識(shí)別的角色,通過(guò)詢問(wèn)以下問(wèn)題就可以發(fā)現(xiàn)用例:

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

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

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

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

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

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

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

對(duì)于假設(shè)(1),倉(cāng)庫(kù)管理員就是ACTOR,要進(jìn)行的動(dòng)作有“物品進(jìn)倉(cāng)”,“物品出倉(cāng)”和“獲得物品的庫(kù)存情況”,相應(yīng)的用例就是這三個(gè)。(4)實(shí)例實(shí)例1參與者之間的泛化關(guān)系參與者:經(jīng)理,安全主管,保安用例:管理人事,批準(zhǔn)預(yù)算,批準(zhǔn)安全證書(shū),監(jiān)視周邊

在參與者之間不存在泛化關(guān)系的情況下,各個(gè)參與者參與用例的情況分別是:經(jīng)理參與用例管理人事和批準(zhǔn)預(yù)算;安全主管參與用例批準(zhǔn)安全證書(shū);保安參與用例監(jiān)視周邊。由于安全主管與經(jīng)理,安全主管與保安之間泛化關(guān)系的存在,意味著安全主管可以擔(dān)任經(jīng)理和保安的角色,就能夠參與經(jīng)理和保安參與的用例。這樣,安全主管就可以參與全部4個(gè)用例。但經(jīng)理或者保安卻不能擔(dān)任安全主管的角色,也就不能參與用例批準(zhǔn)安全證書(shū)。

實(shí)例2用例之間擴(kuò)展和包含關(guān)系用例的上下文是:短途旅行但汽車的油不足以應(yīng)付全部路程。那么為汽車加油的動(dòng)作在旅行的每個(gè)場(chǎng)景(事件流)中都會(huì)出現(xiàn),不加油就不會(huì)完成旅行。吃飯則可以由司機(jī)決定是否進(jìn)行,不吃飯不會(huì)影響旅行的完成。實(shí)例3航空售票的用例圖

參與者(actor):clerk,監(jiān)督員,信用卡服務(wù)商,信息亭用例(usecase):Buytickets,BuySubscription,Makecharges,Surveysales

參與者Clerk參與(或稱發(fā)起)Buytickets和BuySubscription兩個(gè)用例(關(guān)聯(lián)關(guān)系)。這兩個(gè)用例的事件流都包含Makecharges用例(包含關(guān)系)。系統(tǒng)由:Buytickets,BuySubscription,Makecharges,Surveysales組成。該系統(tǒng)主要包含:Buytickets,BuySubscription,Makecharges,Surveysales這幾個(gè)功能。該系統(tǒng)主要面向的用戶(參與者):clerk,監(jiān)督員,信用卡服務(wù)商,信息亭。4.2UML核心視圖2類圖類是具有相同特征的對(duì)象的集合。對(duì)象是類的一個(gè)實(shí)例,是類的一個(gè)具體表現(xiàn)。打個(gè)比方:人是類,而張三就是對(duì)象。一個(gè)類可以有很多個(gè)實(shí)例(對(duì)象)。(1)類的組成

類包括這三部分:

1.名稱:類的名稱

2.屬性:描述類的對(duì)象包含的數(shù)據(jù)。例如類“人”。它的屬性有:姓名,性別,年齡等等。

在UML中表示屬性的語(yǔ)法是:可見(jiàn)性屬性名:類型=缺省值{約束特性}。其中常用的可見(jiàn)性有Public、Private和Protected三種,在UML中分別表示為“+”、“-”和“#”。對(duì)于類人的姓名屬性可以寫(xiě)成:+姓名:字符串型=“”。表示姓名屬性是Public的,類型是字符串型的,缺省值為空串。

3.方法(操作):是類的功能,只能作用到該類的對(duì)象上,定義了對(duì)象之間可能的交互。

在UML中表示方法的語(yǔ)法為:可見(jiàn)性操作名(參數(shù)表):返回類型{約束特性}。對(duì)于類人的吸氣方法,我們可以寫(xiě)成:+吸氣(氧氣):二氧化碳。表示吸氣方法是公共的,需要氧氣做參數(shù),返回的類型是二氧化碳。(2)類之間的關(guān)系

1.關(guān)聯(lián)關(guān)聯(lián)用于描述類與類之間的連接。由于對(duì)象是類的實(shí)例,因此,類和類之間的關(guān)聯(lián)也就是對(duì)象和對(duì)象之間的關(guān)聯(lián),類和類之間有多種連接方式每種連接方式各不相同(語(yǔ)義的連接),但外部表現(xiàn)形式相類似,故我們稱之為關(guān)聯(lián)。關(guān)聯(lián)關(guān)系之間一般都是雙向的,關(guān)聯(lián)的雙方都能夠互相通信;反過(guò)來(lái)說(shuō),如果某兩個(gè)類能夠互相通信或者y一方能感知另一方,那么這兩個(gè)類之間就存在關(guān)聯(lián)關(guān)系。描述這種關(guān)系常用的子句是“彼此知道,互相連接”。關(guān)聯(lián)有0或1對(duì)多,多對(duì)多等幾種。例如班級(jí)(Class)類和學(xué)生(Student)類,他們之間就是1對(duì)多的關(guān)系。關(guān)聯(lián)類是起關(guān)聯(lián)作用的類,是通過(guò)一根虛線與關(guān)聯(lián)連接。例如每個(gè)"保險(xiǎn)單"屬于一個(gè)"客戶",而"客戶"可以簽定多個(gè)"保險(xiǎn)單"。除了這個(gè)關(guān)聯(lián)外,還有另外兩個(gè)關(guān)聯(lián),分別是每個(gè)"保險(xiǎn)單"包含若干個(gè)"保險(xiǎn)單上的項(xiàng)目",而每個(gè)"保險(xiǎn)單上的項(xiàng)目"涉及單一的"保險(xiǎn)類別"。聚合:一種特殊形式的關(guān)聯(lián)。聚合表示類之間的關(guān)系是整體與部分的關(guān)系。比如計(jì)算跟打印機(jī)的關(guān)系,一臺(tái)完整的計(jì)算機(jī)可以包括打印機(jī),但是沒(méi)有打印機(jī),計(jì)算機(jī)也可以運(yùn)行。組合:另一種特殊形式的關(guān)聯(lián)。組合也表示類之間的關(guān)系是整體與部分的關(guān)系,但整體擁有各部分,部分與整體共存,如部分不存在了,整體也就不完整。例如計(jì)算機(jī)跟CPU的關(guān)系,如果沒(méi)有了CPU,那么計(jì)算機(jī)就沒(méi)有辦法運(yùn)行。

在UML中,聚合表示為空心菱形,組合表示為實(shí)心菱形。

2.繼承

定義了一般元素和特殊元素之間的分類關(guān)系。在UML中,繼承表示為一端是空心三角形的實(shí)線:例如人,人是共性(一般)的元素,而男人和女人就是特殊的元素。我們可以說(shuō):男人繼承自人,女人也繼承自人,而漂亮女人繼承自女人。

3.依賴

有兩個(gè)元素X、Y,如果修改元素X的定義可能會(huì)引起對(duì)另一個(gè)元素Y的定義的修改,則稱元素Y依賴(Dependency)于元素X。在類中,依賴由各種原因引起,如:一個(gè)類向另一個(gè)類發(fā)送消息;一個(gè)類是另一個(gè)類的數(shù)據(jù)成員;一個(gè)類是另一個(gè)類的某個(gè)操作參數(shù)。UML中依賴表示為:虛線加箭頭,(3)類圖

它是描述類和類之間的靜態(tài)關(guān)系,是用來(lái)記錄系統(tǒng)的靜態(tài)結(jié)構(gòu)。也就是指出系統(tǒng)包括哪些類,它們是如何關(guān)聯(lián)的,但不包括為實(shí)現(xiàn)特定的行為而進(jìn)行的交互。

它是定義其它圖的基礎(chǔ)。

在UML中通常是用個(gè)矩形方框表示:

矩形頂部:名稱,類名稱首字母大寫(xiě);如保險(xiǎn)基礎(chǔ)數(shù)據(jù)模型中主題編號(hào)描述為Pnn,nn表示從01開(kāi)始的兩位數(shù)字編號(hào),如P01。

矩形中部:屬性,一般用小寫(xiě)字母;

矩形底部:方法,一般用小寫(xiě)字母;

它通常包含:

1.類

2.接口

3.協(xié)作

4.類間的關(guān)系(4)如何發(fā)現(xiàn)類

標(biāo)識(shí)正確的類是設(shè)計(jì)面向?qū)ο笙到y(tǒng)的主要工作,找出系統(tǒng)中的類的方法有:

1.名詞/動(dòng)詞分析

是一種非常簡(jiǎn)單的方法。

它首先對(duì)系統(tǒng)需求進(jìn)行簡(jiǎn)明一致的陳述,然后將名詞和名詞短語(yǔ)用下劃線表示出來(lái),即標(biāo)識(shí)出代表事物的詞和短語(yǔ)。這樣就產(chǎn)生一個(gè)候選類列表,從中篩選整理后獲得系統(tǒng)的初始類列表。過(guò)程是:

a.找出名詞或名詞短語(yǔ),這些是候選類或?qū)傩?/p>

b.找出動(dòng)詞或動(dòng)詞短語(yǔ),這些是候選職責(zé)或操作

c.分析收集到的信息,得到初始類列表

對(duì)于假設(shè)(1)中的物品出倉(cāng),物品和倉(cāng)庫(kù)就是類。

2.CRC卡:是一種有力的和有趣的腦力風(fēng)暴技術(shù)。它的方法是:

a.把問(wèn)題域中重要事物書(shū)寫(xiě)在便箋上

b.每個(gè)便箋具有三個(gè)分欄的:

類名(在頂端)

類的職責(zé)(在左邊)

類的協(xié)同者,幫助實(shí)現(xiàn)每個(gè)功能(在卡片的右邊)

它經(jīng)歷的過(guò)程是一種腦力風(fēng)暴的過(guò)程:

a.要求團(tuán)隊(duì)成員命名運(yùn)轉(zhuǎn)在業(yè)務(wù)領(lǐng)域的“事物”,把它們書(shū)寫(xiě)在便箋上

b.要求團(tuán)隊(duì)陳述該事物的職責(zé),把他們記錄在便箋的職責(zé)分欄上

c.要求團(tuán)隊(duì)識(shí)別可能一起工作的類,并且在他們之間連線或者把這些記錄在每個(gè)便箋的協(xié)同者分欄中

對(duì)于假設(shè)(1),建立的類圖是:

該圖意在表示類和關(guān)系的用法,并不完整(不包括產(chǎn)品和訂單細(xì)目部分,也沒(méi)有體現(xiàn)庫(kù)存檢查部分).另外,GO是出倉(cāng)單的簡(jiǎn)寫(xiě).4.2UML核心視圖二、動(dòng)態(tài)視圖1序列圖(1)定義

是一種動(dòng)態(tài)建模方法,用來(lái)描述對(duì)象之間動(dòng)態(tài)的交互關(guān)系,著重體現(xiàn)對(duì)象間消息傳遞的時(shí)間順序。(2)組成

UML中序列圖中存在兩根軸,分別是時(shí)間軸(垂直方向)和對(duì)象軸(水平方向);

順序圖中的對(duì)象用一個(gè)帶有垂直虛線的矩形框表示,并標(biāo)有對(duì)象名和類名。垂直虛線是對(duì)象的生命線,用于表示在某段時(shí)間內(nèi)對(duì)象是存在的。對(duì)象間的通信通過(guò)在對(duì)象的生命線間畫(huà)消息來(lái)表示。消息的箭頭指明消息的類型。

順序圖中的消息可以是信號(hào)(Signal)、操作調(diào)用。當(dāng)收到消息時(shí),接收對(duì)象立即開(kāi)始執(zhí)行活動(dòng),即對(duì)象被激活了。

通過(guò)在對(duì)象生命線上顯示一個(gè)細(xì)長(zhǎng)矩形框來(lái)表示激活。消息可以用消息名及參數(shù)來(lái)標(biāo)識(shí)。

上圖表示aManager(倉(cāng)庫(kù)管理員)建立出貨單,然后再進(jìn)行庫(kù)存檢查的過(guò)程。當(dāng)然,庫(kù)存檢查是在增加產(chǎn)品之后由產(chǎn)品對(duì)象調(diào)用庫(kù)存檢查,但是此處設(shè)計(jì)不包括產(chǎn)品部分,為了體現(xiàn)效果,改用訂單對(duì)象直接調(diào)用庫(kù)存檢查。2活動(dòng)圖(1)定義

UML活動(dòng)圖是一種特殊的狀態(tài)圖,記錄了單個(gè)操作或方法的邏輯,單個(gè)用戶案例,或者單個(gè)業(yè)務(wù)流程的邏輯。表示一個(gè)程序或工作流。工作流是被活動(dòng)圖所建模的過(guò)程的例子?;顒?dòng)圖通常出現(xiàn)在設(shè)計(jì)的前期,即在所有實(shí)現(xiàn)決定前出現(xiàn),特別是在對(duì)象被指定執(zhí)行所有的活動(dòng)前,其狀態(tài)代表活動(dòng)的執(zhí)行,就像一個(gè)計(jì)算機(jī)或真實(shí)世界不間斷的操作,而轉(zhuǎn)換由狀態(tài)內(nèi)活動(dòng)的完成來(lái)觸發(fā)(若有約束條件,可能有幾個(gè)可能不同的出口)。

活動(dòng)圖是強(qiáng)調(diào)計(jì)算過(guò)程中順序的和并發(fā)步驟的狀態(tài)機(jī)。(2)組成狀態(tài):來(lái)表示某個(gè)活動(dòng)或動(dòng)作,分為“動(dòng)作狀態(tài)”,“狀態(tài)”,“初始狀態(tài)”,“最終狀態(tài)”;泳道:用來(lái)表示活動(dòng)圖中的責(zé)任,是個(gè)矩形3.控制流:表示從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的變化。。是活動(dòng)圖中活動(dòng)的分組,每個(gè)組代表活動(dòng)職責(zé)的一些有意義的部分;3狀態(tài)圖

用來(lái)描述一個(gè)特定對(duì)象的所有可能狀態(tài)及其引起狀態(tài)轉(zhuǎn)移的事件。大多數(shù)面向?qū)ο蠹夹g(shù)都用狀態(tài)圖表示單個(gè)對(duì)象在其生命周期中的行為。一個(gè)狀態(tài)圖包括一系列的狀態(tài)以及狀態(tài)之間的轉(zhuǎn)移。(1)組成

(2)實(shí)例

實(shí)例1

對(duì)象的狀態(tài)圖圖中包含以下?tīng)顟B(tài):初始狀態(tài)Available狀態(tài)Locked狀態(tài)Sold狀態(tài)狀態(tài)間的轉(zhuǎn)移:初始狀態(tài)Available狀態(tài)票被預(yù)訂(lock):AvailableLocked預(yù)定后付款(buy):LockedSold預(yù)定解除(unlock):LockedAvailable預(yù)定過(guò)期(timeout):LockedAvailable直接購(gòu)買(mǎi)(assignedto):AvailableSold換其它票(exchang),該票重有效:SoldAvailable實(shí)例2網(wǎng)上銀行登陸系統(tǒng)登陸要求提交個(gè)人社會(huì)保險(xiǎn)號(hào)(SSN)和密碼(PIN)經(jīng)驗(yàn)證有效后登陸成功。登陸過(guò)程包括以下?tīng)顟B(tài):初態(tài)(Initialstate)獲取社會(huì)保險(xiǎn)號(hào)狀態(tài)(GettingSSN)獲取密碼狀態(tài)(GettingPIN)驗(yàn)證狀態(tài)(Validating)拒絕狀態(tài)(Rejecting)終態(tài)(Finalstate)狀態(tài)轉(zhuǎn)移過(guò)程如下:有兩個(gè)不同的終態(tài)出發(fā)狀態(tài)動(dòng)作到達(dá)狀態(tài)Initialstate移動(dòng)鼠標(biāo)到SSNGettingSSNGettingSSN鍵入非tab鍵,顯示鍵入內(nèi)容GettingSSN鍵入tab鍵,或移動(dòng)鼠標(biāo)到BINGettingPIN提交ValidatingGettingPIN鍵入非shift-tab鍵,顯示“*”GettingPIN鍵入shift-tab鍵,或移動(dòng)鼠標(biāo)到SSNGettingSSN提交ValidatingValidating驗(yàn)證提交信息有效,狀態(tài)轉(zhuǎn)移Finalstate驗(yàn)證提交信息無(wú)效,顯示錯(cuò)誤信息RejectingRejecting退出Finalstate重試,清除無(wú)效的SSN,PINGettingSSN4協(xié)作圖協(xié)作圖主要描述協(xié)作對(duì)象間的交互和鏈接,顯示對(duì)象、對(duì)象間的鏈接以及對(duì)象間如何發(fā)送消息。協(xié)作圖可以表示類操作的實(shí)現(xiàn)。(1)協(xié)作圖中的事物及解釋標(biāo)簽

事物名稱解釋圖參與者發(fā)出主動(dòng)操作的對(duì)象,負(fù)責(zé)發(fā)送初始消息,啟動(dòng)一個(gè)操作。

對(duì)象對(duì)象是類的實(shí)例,負(fù)責(zé)發(fā)送和接收消息,與順序圖中的符號(hào)相同,冒號(hào)前為對(duì)象名,冒號(hào)后為類名。消息流(由箭頭和標(biāo)簽組成)箭頭指示消息的流向,從消息的發(fā)出者指向接收者。標(biāo)簽對(duì)消息作說(shuō)明,其中,順序號(hào)指出消息的發(fā)生順序,并且指明了消息的嵌套關(guān)系;冒號(hào)后面是消息的名字。

(2)協(xié)作圖與順序圖的區(qū)別和聯(lián)系協(xié)作圖和順序圖都表示出了對(duì)象間的交互作用,但是它們側(cè)重點(diǎn)不同。

溫馨提示

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

評(píng)論

0/150

提交評(píng)論