




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、UML 基礎(chǔ)教程,UML定義,統(tǒng)一:表示是一種通用的標(biāo)準(zhǔn),稱為軟件工業(yè)界的一種標(biāo)準(zhǔn)。UML表述的內(nèi)容能被各類人員所理解,包括客戶、領(lǐng)域?qū)<摇⒎治鰩煛⒃O(shè)計(jì)師、程序員、測(cè)試工程師及培訓(xùn)人員等。 建模:建立軟件系統(tǒng)的模型。 語言:表明它是一套按照特定規(guī)則和模式組成的符號(hào)系統(tǒng),它用半形式化方法定義,即用圖形符號(hào)、自然語言和形式語言相結(jié)合的方法來描述定義的。,構(gòu)建一個(gè)小狗屋,可以由一個(gè)人制造 需求: 最小模型 簡單的過程 簡單的工具,構(gòu)造一棟房屋,由一個(gè)團(tuán)體建設(shè),并且需要更高的效率、更精確的時(shí)間限制 需求 模型 良好定義的過程 功能強(qiáng)大的工具,構(gòu)建一個(gè)高層建筑,早期的結(jié)構(gòu),過程 - 有限的理論知識(shí),現(xiàn)代
2、的結(jié)構(gòu),進(jìn)步 - 先進(jìn)的原材料 - 先進(jìn)的分析,房屋建模,用途: UML可以做軟件需求分析 UML可以做軟件開發(fā)設(shè)計(jì) UML可以做系統(tǒng)部署設(shè)計(jì) UML也適用非軟件領(lǐng)域的系統(tǒng)建模如企業(yè)機(jī)構(gòu)或業(yè)務(wù)過程,以及處理復(fù)雜數(shù)據(jù)的信息系統(tǒng)、具有實(shí)時(shí)要求的工業(yè)系統(tǒng)或工業(yè)過程等。 能繪制UML圖形的工具主要有 Rational RosePowerDesignerMS VisioArgoUML StarUML,UML包含的內(nèi)容,用例圖 靜態(tài)圖(類圖,對(duì)象圖,包圖) 行為圖(狀態(tài)圖,活動(dòng)圖) 交互圖(順序圖,協(xié)作圖) 實(shí)現(xiàn)圖(組件圖,部署圖),1. 前言,1.5 各UML圖及特征 1.5.1用例圖( Use Cas
3、e Diagram ),用例圖是從用戶角度描述系統(tǒng)功能, 是用戶所能觀察到的系統(tǒng)功能的模型圖,用例是系統(tǒng)中的一個(gè)功能單元,類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作) 類圖是以類為中心來組織的,類圖中的其他元素或?qū)儆谀硞€(gè)類或與類相關(guān)聯(lián),1.5.2類圖(Class Diagram),1. 前言,1.5 各UML圖及特征 1.5.3 對(duì)象圖( Object Diagram ),對(duì)象圖是類圖的實(shí)例,幾乎使用與類圖完全相同的標(biāo)識(shí)。他們的不同點(diǎn)在于對(duì)象圖顯示類的多個(gè)對(duì)象實(shí)例,而不是實(shí)際的類,1.5.4 順序圖(Sequence
4、 Diagram),順序圖顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系,它強(qiáng)調(diào)對(duì)象之間消息發(fā)送的順序,同時(shí)顯示對(duì)象之間的交互 順序圖的一個(gè)用途是用來表示用例中的行為順序。當(dāng)執(zhí)行一個(gè)用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或引起狀態(tài)轉(zhuǎn)換的觸發(fā)事件,1. 前言,1.5 各UML圖及特征 1.5.5 協(xié)作圖(Collaboration Diagram),協(xié)作圖描述對(duì)象間的協(xié)作關(guān)系,協(xié)作圖跟順序圖 相似,顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對(duì)象以及它們之間的關(guān)系. 協(xié)作圖的一個(gè)用途是表示一個(gè)類操作的實(shí)現(xiàn),1.5.6 狀態(tài)圖(State Chart Diagram),狀態(tài)圖是一個(gè)類對(duì)象所可能經(jīng)歷
5、的所有歷程的模型圖。狀態(tài)圖由對(duì)象的各個(gè)狀態(tài)和連接這些狀態(tài)的轉(zhuǎn)換組成,1. 前言,1.5 各UML圖及特征 1.5.7 活動(dòng)圖(Activity Diagram),活動(dòng)圖是狀態(tài)圖的一個(gè)變體,用來描述執(zhí)行算法的工作流程中涉及的活動(dòng) 活動(dòng)圖描述了一組順序的或并發(fā)的活動(dòng),1.5.8 構(gòu)件圖(Component Diagram),構(gòu)件圖為系統(tǒng)的構(gòu)件建模型構(gòu)件即構(gòu)造應(yīng)用的軟件單元還包括各構(gòu)件之間的依賴關(guān)系,以便通過這些依賴關(guān)系來估計(jì)對(duì)系統(tǒng)構(gòu)件的修改給系統(tǒng)可能帶來的影響,1. 前言,1.5 各UML圖及特征 1.5.9 部署圖(Deployment Diagram),部署視圖描述位于節(jié)點(diǎn)實(shí)例上的運(yùn)行構(gòu)件實(shí)例
6、的安排。節(jié)點(diǎn)是一組運(yùn)行資源,如計(jì)算機(jī)、設(shè)備或存儲(chǔ)器。這個(gè)視圖允許評(píng)估分配結(jié)果和資源分配,1.6 各UML圖的關(guān)系,圖之間的關(guān)系,1. 前言,1.7 UML語法描述,2.1 用例圖概要,2. 用例圖,2.2 用例圖中的事物及解釋,用例圖是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖。 (UML參考手冊(cè)) 用例圖列出系統(tǒng)中的用例和系統(tǒng)外的參與者,并顯示哪個(gè)參與者參與了哪個(gè)用例的執(zhí)行 (或稱為發(fā)起了哪個(gè)用例)。 用例圖多用于靜態(tài)建模階段(主要是業(yè)務(wù)建模和需求建模)。,2. 用例圖,extend,2.3用例圖中的關(guān)系及解釋,2. 用例圖,實(shí)例1 參與者之間的泛化關(guān)系 參與者:經(jīng)理,安全主管,保安
7、 用例:管理人事,批準(zhǔn)預(yù)算,批準(zhǔn)安全證書,監(jiān)視周邊 在參與者之間不存在泛化關(guān)系的情況下,各個(gè)參與者參與 用例的情況分別是:經(jīng)理參與用例管理人事和批準(zhǔn)預(yù)算;安全主管參與用例批準(zhǔn)安全證書;保安參與用例監(jiān)視周邊。由于安全主管與經(jīng)理,安全主管與保安之間泛化關(guān)系的存在,意味著安全主管可以擔(dān)任經(jīng)理和保安的角色,就能夠參與經(jīng)理和保安參與的用例。這樣,安全主管就可以參與全部4個(gè)用例。但經(jīng)理或者保安卻不能擔(dān)任安全主管的角色,也就不能參與用例批準(zhǔn)安全證書。,實(shí)例2 用例之間擴(kuò)展和包含關(guān)系 用例的上下文是:短途旅行但汽車的油不足以應(yīng)付全部路程。那么為汽車加油的動(dòng)作在旅行的每個(gè)場景(事件流)中都會(huì)出現(xiàn),不加油就不會(huì)完
8、成旅行。吃飯則可以由司機(jī)決定是否進(jìn)行,不吃飯不會(huì)影響旅行的完成。,2.4 例子,2. 用例圖,實(shí)例3. 航空售票的用例圖 參與者(actor):clerk,監(jiān)督員,信用卡服務(wù)商,用戶 用例(use case): Buy tickets, Make charges, Survey sales 參與者Clerk參與(或稱發(fā)起)Buy tickets。這個(gè)用例的事件流都包含Makecharges用例(包含關(guān)系)。 系統(tǒng)由:Buy tickets, Make charges, Survey sales組成。 該系統(tǒng)主要包含:Buy tickets, Make charges, Survey sales
9、這幾個(gè)功能。 該系統(tǒng)主要面向的用戶(參與者):clerk,監(jiān)督員,信用卡服務(wù)商,用戶。,用例圖,老師在線答疑系統(tǒng)需求描述 一個(gè)用于老師和學(xué)生之間進(jìn)行即時(shí)溝通的系統(tǒng)。 系統(tǒng)由老師使用的老師端,學(xué)生使用的學(xué)生端和一個(gè)有公網(wǎng)地址的登陸服務(wù)端組成。 老師登陸系統(tǒng)后會(huì)在老師列表中出現(xiàn),并顯示出他的專業(yè)、姓名、專長和狀態(tài)是否忙等信息。也可以看到其他所有登錄的老師的信息。 學(xué)生登陸后可以看到所有已經(jīng)登錄的老師列表。 學(xué)生可以選擇一個(gè)不忙的老師進(jìn)行問題咨詢,和選擇的老師建立連接后就可以通過語音加白板和老師進(jìn)行交流。此時(shí)其他學(xué)生將看到該老師處于忙的狀態(tài)。,用例圖,3. 類圖,3.2 類圖中的事物及解釋 3.2.
10、1 類 從上到下分為三部分,分別是類名、屬性和操作。類名是必須有的 類如果有屬性,則每一個(gè)屬性都必須有一個(gè)名字,另外還可以有其它的描述信息,如可見性、數(shù)據(jù)類型、缺省值等 類如果有操作,則每一個(gè)操作也都有一個(gè)名字,其它可選的信息包括可見性、參數(shù)的名字、參數(shù)類型、參數(shù)缺省值和操作的返回值的類型等,3.1 類圖概要 類圖以反映類的結(jié)構(gòu)(屬性、操作)以及類之間的關(guān)系為主要目的,描述了軟件系統(tǒng)的結(jié)構(gòu),是一種靜態(tài)建模方法 類圖中的“類”與面向?qū)ο笳Z言中的“類”的概念是對(duì)應(yīng)的,是對(duì)現(xiàn)實(shí)世界中的事物的抽象,3. 類圖,抽象類,3.2 類圖中的事物及解釋 3.2.2 接口 一組操作的集合,只有操作的聲明而沒有實(shí)
11、現(xiàn) 3.2.3 抽象類 不能被實(shí)例化的類,一般至少包含一個(gè)抽象操作 3.2.4 模版類 一種參數(shù)化的類,在編譯時(shí)把模版參數(shù)綁定到不同的數(shù)據(jù)類型,從而產(chǎn)生不同的類,3. 類圖,聚合關(guān)系 特殊關(guān)聯(lián)關(guān)系,指明一個(gè)聚集(整體)和組成部分之間的關(guān)系 組合關(guān)系 語義更強(qiáng)的聚合,部分和整體具有相同的生命周期,3.3 類圖中的關(guān)系及解釋 3.3.1 關(guān)聯(lián)關(guān)系 描述了類的結(jié)構(gòu)之間的關(guān)系。具有方向、名字、角色和多重性等信息。一般的關(guān) 聯(lián)關(guān)系語義較弱。也有兩種語義較強(qiáng),分別是聚合與組合,3. 類圖,3.3.3 實(shí)現(xiàn)關(guān)系 對(duì)應(yīng)于類和接口之間的關(guān)系,類Circle、Rectangle實(shí)現(xiàn)了接口Shape的操作,關(guān)聯(lián)、泛
12、化、實(shí)現(xiàn)、依賴都是一種關(guān)系,類、接口都是一種事物,3.3.2 泛化關(guān)系 在面向?qū)ο笾幸话惴Q為繼承關(guān)系,存在于父類與子類、父接口與子接口之間,3.3.4 依賴關(guān)系 描述了一個(gè)類的變化對(duì)依賴于它的類產(chǎn)生影響的情況。有多種表現(xiàn)形式, 例如綁定(bind)、友元(friend)等,模板類Stack定義了棧相關(guān)的操作;IntStack將參數(shù)T與實(shí)際類型int綁定,使得所有操作都針對(duì)int類型的數(shù)據(jù),類Memento和類Originator建立了友元依賴關(guān)系,以便Originator使用Memento的私有變量state,3. 類圖,C+代碼 class Vehicle public: virtual i
13、nt Start() = 0; virtual int Stop() = 0; virtual int Run(float fSpeed) = 0; private: float fMaxSpeed; ;,Java代碼 public abstract class Vehicle public abstract int Start(); public abstract int Stop(); public abstract int Run(float fSpeed); private float fMaxSpeed; ,3.4 類圖與代碼的映射 3.4.1 類的映射,3. 類圖,3.4.2 關(guān)聯(lián)
14、關(guān)系的映射,C+代碼 class Dialog private: Button btnOK; Button btnCancel; TextBox txtInfo; ; class Button ; class TextBox ;,組合關(guān)系,代碼表現(xiàn)為Dialog的屬性有Button和TextBox的對(duì)象,3.4.3 泛化關(guān)系的映射,Java代碼 public class SavingsAccount extends Account ,C+代碼 class SavingsAccount : public Account ;,3. 類圖,C+代碼 class Shape public: virtu
15、al void Draw() = 0; ; class Circle : public Shape public: void Draw(); private; Point ptCenter; int nRadius; ;,Java代碼 public interface Shape public abstract void Draw(); public class Circle implements Shape public void Draw(); private Point ptCenter; private int nRadius; ,在C+語言里面,使用抽象類代替接口,使用泛化關(guān)系代替實(shí)
16、現(xiàn)關(guān)系 在Java語言里面,有相應(yīng)的關(guān)鍵字interface、implements,3.4.4 實(shí)現(xiàn)關(guān)系的映射,3.4.5 依賴關(guān)系的映射,綁定依賴,C+代碼 template class Stack private: int size; public: int Push(T elem); int Pop(); const T,C+代碼(編譯器生成) class FloatStack private: int size; public: int Push(float elem); int Pop(); const float,3. 類圖,Graphics: 基本圖形和組合圖形的父類,聲明了所有
17、圖形共同的操作,如Draw;也聲明了專用于組合圖形管理子圖形的操作,如Add、Remove Line、Rectangle: 基本圖形類 GroupGraphics: 組合圖形類,與父類有組合關(guān)系,從而可以組合所有圖形對(duì)象(基本圖形和組合圖形),泛化,組合,組合模式,3.5 類圖例子 3.5.1 圖形編輯器 圖形編輯器一般都具有一些基本圖形,如直線、矩形等,用戶可以直接使用基本圖形畫圖,也可以把基本圖形組合在一起創(chuàng)建復(fù)雜圖形 如果區(qū)別對(duì)待基本圖形和組合圖形,會(huì)使代碼變得復(fù)雜,而且多數(shù)情況下用戶認(rèn)為二者是一樣的 組合模式可以用相同的方式處理兩種圖形,3. 類圖,3.5.2 演出售票系統(tǒng) 在用例驅(qū)動(dòng)
18、的開發(fā)過程中,通過分析各個(gè)用例及參與者得到類圖。分析用例圖的過程中需要根據(jù)面向?qū)ο蟮脑瓌t設(shè)計(jì)類和關(guān)系,根據(jù)用例的細(xì)節(jié)設(shè)計(jì)類的屬性和操作,在這里只考慮以下三個(gè)用例: Buy tickets: 買個(gè)人票 Buy Subscription: 買套票 Make charges: 信用卡付款,用例圖,類圖,使用泛化關(guān)系處理客戶購買個(gè)人票和套票兩種不同情況,設(shè)計(jì)類的屬性和操作,4. 順序圖,UML,- 33 -,4.1 概要 順序圖用來表示用例中的行為順序。當(dāng)執(zhí)行一個(gè)用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的事件。 順序圖展示對(duì)象之間的交互,這些交互是指在場景或用例的事件流中發(fā)生的
19、。 順序圖屬于動(dòng)態(tài)建模。 順序圖的重點(diǎn)在消息序列上,也就是說,描述消息是如何在對(duì)象間發(fā)送和接收的。表示了對(duì)象之間傳送消息的時(shí)間順序。 瀏覽順序圖的方法是:從上到下查看對(duì)象間交換的消息。,4.2 順序圖中的事物及解釋,4. 順序圖,UML,- 34 -,4.3 順序圖與用例圖和類圖的關(guān)系,4. 順序圖,UML,- 35 -,4.4 順序圖例子,簡單的例子,從參與者到對(duì)象和從對(duì)象到參與者之間發(fā)送的消息,從對(duì)象傳遞給另一個(gè)對(duì)象的消息,在類圖中的類的對(duì)象,使用系統(tǒng)的參與者,這個(gè)系統(tǒng)是為某個(gè)用例的某個(gè)場景設(shè)計(jì)的,對(duì)象生命線表示從上到下的時(shí)間順序,消息1在消息2之前發(fā)生,消息2在消息3之前發(fā)生,窄長方框用
20、以強(qiáng)調(diào)這個(gè)部分處于活動(dòng)狀態(tài),消息格式: operation (parameter list) 向哪個(gè)對(duì)象發(fā)消息實(shí)際上就是調(diào)用它的類中的操作,就是調(diào)用箭頭指向的對(duì)象所在類的 一個(gè)operation。 例:,訂單類發(fā)消息給客戶類調(diào)用客戶類中的“驗(yàn)證客戶”操作,4. 順序圖,UML,- 36 -,復(fù)雜的例子,信息亭,售票中心,信用卡服務(wù),從這個(gè)例子中可以看出: Kjosk類中的操作有 Show Available (seat-list) Demand Payment (cost) printtickets (performance, seats) eject card Box Office中的操作有
21、 Request (count, performance) Select Seats Insert Card (Card Number) authorized Credit Card Service類中的操作有 charge(card number, cost),此圖是描述購票這個(gè)用例的順序圖。顧客在信息亭與售票中心通話觸發(fā)了這個(gè)用例的執(zhí)行。順序圖中付款這個(gè)用例包括售票中心與信息亭和信用卡服務(wù)處使用消息進(jìn)行通信過程。 此圖中存在的事物有: 對(duì)象(信息亭 Kjosk ,售票中心 Box Office, 信用卡服務(wù) Credit Card Service ),生命線,消息符號(hào)。 信息亭發(fā)Reque
22、st (count, performance)消息給售票中心,表示調(diào)用售票中心類的Request (count, performance)操作,來查詢演出的信息。 售票中心發(fā)Show Available(seat-list)消息給信息亭,表示調(diào)用信息亭類中的Show Available(seat-list)操作,給出可用的座位表。,5.1 概要,5. 協(xié)作圖,協(xié)作圖是一種交互圖,強(qiáng)調(diào)的是發(fā)送和接收消息的對(duì)象之間的組織結(jié)構(gòu),使用協(xié)作圖來說明系統(tǒng)的動(dòng)態(tài) 情況。 協(xié)作圖主要描述協(xié)作對(duì)象間的交互和鏈接,顯示對(duì)象、對(duì)象間的鏈接以及對(duì)象間如何發(fā)送消息。 協(xié)作圖可以表示類操作的實(shí)現(xiàn)。,UML,- 37 -,
23、UML,- 37 -,5.2 協(xié)作圖中的事物及解釋,標(biāo)簽,5.3 協(xié)作圖中的關(guān)系及解釋,UML,- 38 -,UML,- 38 -,5. 協(xié)作圖,5.4 消息標(biāo)簽,消息標(biāo)簽的Format: 前綴 守衛(wèi)條件 序列表達(dá)式 返回值 := 消息名 前綴的語法規(guī)則: 序列號(hào),序列號(hào),序列號(hào) / (前綴用來同步線程,意思是在發(fā)送當(dāng)前消息之前指定序列號(hào)的消息被處理.例:1.1a, 1.1b/),守衛(wèi)條件的語法規(guī)則: 條件短句 說明:條件短句通常用偽代碼或真正的程序語言來表示。 例:x=0,返回值和消息名:返回值表示一個(gè)消息的返回結(jié)果,消息名指出了消息的名字和所需參數(shù)。 例:x:=calc ( n ) 下面是
24、一個(gè)完整的消息標(biāo)簽: 1.1a, 1.1b, 1.1c / x=0 1.2 *i:=1.n : x := calc( n ) 前綴 守衛(wèi)條件 序列表達(dá)式 返回值 := 消息名,5.5 協(xié)作圖與順序圖的區(qū)別和聯(lián)系,協(xié)作圖和順序圖都表示出了對(duì)象間的交互作用,但是它們側(cè)重點(diǎn)不同。 順序圖清楚地表示了交互作用中的時(shí)間順序(強(qiáng)調(diào)時(shí)間),但沒有明確表示對(duì)象間的關(guān)系。 協(xié)作圖清楚地表示了對(duì)象間的關(guān)系(強(qiáng)調(diào)空間),但時(shí)間順序必須從順序號(hào)獲得。 協(xié)作圖和順序圖可以相互轉(zhuǎn)化。,UML,- 39 -,5.6 協(xié)作圖例子,1. 打印操作的協(xié)作圖,5. 協(xié)作圖,actor發(fā)送Print消息給Computer,Compu
25、ter發(fā)送Print消息給PrintServer,如果打印機(jī)空閑,PrintServer發(fā)送Print消息給printer,2.乘坐電梯的協(xié)作圖,圖中存在的事物有: 參與者 按鈕對(duì)象 電梯控制對(duì)象 命令對(duì)象 工作隊(duì)列 電梯對(duì)象 圖中存在的關(guān)系有: 鏈接,參與者需要乘坐電梯,他從系統(tǒng)外部按下按鈕,讓電梯到達(dá)他想去的樓層。此時(shí),電梯系統(tǒng)的操作被啟動(dòng),電梯控制對(duì)象以循環(huán)的方式檢查所有的電梯,從中選擇一個(gè)工作隊(duì)列長度最短的。然后,它創(chuàng)建一個(gè)作業(yè)命令,并將該命令放入對(duì)應(yīng)電梯的工作隊(duì)列,接著激活隊(duì)列。電梯對(duì)象并發(fā)運(yùn)行,從它的隊(duì)列中選擇一個(gè)作業(yè)并執(zhí)行。電梯是一個(gè)活動(dòng)對(duì)象,它與它的控制線程并發(fā)執(zhí)行。,6.1
26、狀態(tài)圖概要 6.1.1狀態(tài)圖 說明對(duì)象在它的生命期中響應(yīng)事件所經(jīng)歷的狀態(tài)序列,以及它們對(duì)那些事件 的響應(yīng)。 6.1.2狀態(tài)圖用于 揭示Actor、類、子系統(tǒng)和組件的復(fù)雜特性。 為實(shí)時(shí)系統(tǒng)建模。,6.2 狀態(tài)圖的組成 6.2.1狀態(tài) 對(duì)象的狀態(tài)是指在這個(gè)對(duì)象的生命期中的一個(gè)條件或狀況,在此期間對(duì)象將 滿足某些條件、執(zhí)行某些活動(dòng),或等待某些事件。 6.2.2轉(zhuǎn)移 轉(zhuǎn)移是由一種狀態(tài)到另一種狀態(tài)的遷移。這種轉(zhuǎn)移由被建模實(shí)體內(nèi)部或外部 事件觸發(fā)。 對(duì)一個(gè)類來說,轉(zhuǎn)移通常是調(diào)用了一個(gè)可以引起狀態(tài)發(fā)生重要變化的操作的 結(jié)果。,6.狀態(tài)圖,消息(屬性)條件/動(dòng)作,6.3 狀態(tài)圖中的事物及解釋,6.4 狀態(tài)的可
27、選活動(dòng)表,6.狀態(tài)圖,6.5 例子 (1) 對(duì)象的狀態(tài)圖 圖中包含以下狀態(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ù)定過期(time out):LockedAvailable 直接購買(assigned to):AvailableSold 換其它票(exchang) ,該票重有效:SoldAvailable,6.狀態(tài)圖,(2)網(wǎng)上銀行登陸系統(tǒng),登陸要求提交個(gè)人社會(huì)保險(xiǎn)
28、號(hào)(SSN)和密碼(PIN)經(jīng)驗(yàn)證有效后登陸成功。 登陸過程包括以下狀態(tài): 初態(tài)(Initial state) 獲取社會(huì)保險(xiǎn)號(hào)狀態(tài)(Getting SSN) 獲取密碼狀態(tài)(Getting PIN) 驗(yàn)證狀態(tài)(Validating) 拒絕狀態(tài)(Rejecting) 終態(tài) (Final state),狀態(tài)轉(zhuǎn)移 的過程,有兩個(gè)不同的終態(tài),6.狀態(tài)圖,7. 活動(dòng)圖,7.1 活動(dòng)圖概要 描述系統(tǒng)的動(dòng)態(tài)行為。 包含活動(dòng)狀態(tài)(ActionState),活動(dòng)狀態(tài)是指業(yè)務(wù)用例的一個(gè)執(zhí)行步驟或一個(gè)操作,不是普通對(duì)象的狀態(tài)。 活動(dòng)圖適合描述在沒有外部事件觸發(fā)的情況下的系統(tǒng)內(nèi)部的邏輯執(zhí)行過程;否則,狀態(tài)圖更容易描述。
29、 類似于傳統(tǒng)意義上的流程圖。 活動(dòng)圖主要用于: 業(yè)務(wù)建模時(shí),用于詳述業(yè)務(wù)用例,描述一項(xiàng)業(yè)務(wù)的執(zhí)行過程; 設(shè)計(jì)時(shí),描述操作的流程。,7.2活動(dòng)圖事物,7. 活動(dòng)圖,7.3 活動(dòng)圖關(guān)系,7.4 活動(dòng)圖實(shí)例 1. 一般的活動(dòng)圖 本活動(dòng)圖描述一個(gè)處理訂單的用例執(zhí)行過程 (1)執(zhí)行setup order (2)根據(jù)order的類型是執(zhí)行不同的分支: single order:執(zhí)行assign seat、charge credit card subscription:同時(shí)執(zhí)行assignseats、debit account或 award bonus single order與subscription兩步
30、可同時(shí)進(jìn)行 (3) 最后mail packet。,7. 活動(dòng)圖,2. 帶泳道的活動(dòng)圖 本例為一個(gè)按活動(dòng)職責(zé)(帶泳道)組織的處理訂單用例的活動(dòng)圖(模型中的活動(dòng)按職責(zé)組織)。活動(dòng)被按職責(zé)分配到用線分開的不同區(qū)域(泳道): Customer Sales Stockroom (1)顧客要求服務(wù),Sales負(fù)責(zé)接收定 單,并提交到Stockroom (2) Stockroom處理定單,與此同時(shí), Customer付款,并由Sales處 Deliverorder至Customer。,8. 構(gòu)件圖,構(gòu)件圖用于靜態(tài)建模,是表示構(gòu)件類型的組織以及各種構(gòu)件之間依賴關(guān)系的圖。 構(gòu)件圖通過對(duì)構(gòu)件間依賴關(guān)系的描述來估計(jì)
31、對(duì)系統(tǒng)構(gòu)件的修改給系統(tǒng)可能帶來的影響。,8.2 構(gòu)件圖中的事物及解釋,可替換的物理部分包括軟件代碼、腳本或命令行文件,也可以表示運(yùn)行時(shí)的對(duì)象,文檔,數(shù)據(jù)庫等。 節(jié)點(diǎn)(node)是運(yùn)行時(shí)的物理對(duì)象,代表一個(gè)計(jì)算機(jī)資源。具體請(qǐng)參見教程“部署圖(deployment diagram)”部分。,8.3 構(gòu)件圖中的關(guān)系及解釋,8.1 構(gòu)件圖概要,8. 構(gòu)件圖,實(shí)例1. 圖中的構(gòu)件名稱是Dictionary字典。 該構(gòu)件向外提供兩個(gè)接口,即兩個(gè)服務(wù)Spell-check拼寫檢查、Synonyms同義詞。,圖中“Planner計(jì)劃者”構(gòu)件向外提供一個(gè)“update更新”接口服務(wù)。 同時(shí),該構(gòu)件要求外部接口提
32、供一個(gè)“Reservations預(yù)定”服務(wù)。,實(shí)例2.,8.4 構(gòu)件圖的例子,8. 構(gòu)件圖,實(shí)例3,圖中依賴關(guān)系包括: 顧客需要信息亭接口提供服務(wù) 售票員需要職員接口提供服務(wù) 信用卡付款需要信用卡代理提供服務(wù) 職員接口需要預(yù)訂銷售、個(gè)人銷售和團(tuán)體銷售提供服務(wù) 管理接口需要數(shù)據(jù)庫狀態(tài)提供服務(wù) 售票處需要付款和購買提供服務(wù) 等等,圖中實(shí)現(xiàn)關(guān)系包括: 信用卡付款提供付款服務(wù) 票數(shù)據(jù)庫提供購買和狀態(tài)查詢服務(wù) 售票處提供預(yù)訂購買、個(gè)人購買和團(tuán)體購買服務(wù),情景一: 購買個(gè)人票可以通過公用信息亭訂購也可直接向售票員購買,但購買團(tuán)體票只能通過售票員。 情景二: 買票的人可以根據(jù)任意選擇預(yù)訂銷售或個(gè)人銷售或團(tuán)體
33、銷售中的一種方式,售票處為了方便銷售,需要信用卡付款服務(wù)的支持,同時(shí)也必然需要票數(shù)據(jù)庫處在有票可賣的狀況中。,情景描述,9. 部署圖,9.2 部署圖中的事物及解釋,部署圖用于靜態(tài)建模,是表示運(yùn)行時(shí)過程節(jié)點(diǎn)結(jié)構(gòu)、構(gòu)件實(shí)例及其對(duì)象結(jié)構(gòu)的圖。 如果含有依賴關(guān)系的構(gòu)件實(shí)例放置在不同節(jié)點(diǎn)上,部署視圖可以展示出執(zhí)行過程中的瓶頸。 部署圖的兩種表現(xiàn)形式:實(shí)例層部署圖和描述層部署圖(會(huì)在后面的實(shí)例中給出)。,9.1 部署圖概要,9. 部署圖,9.4 部署圖的例子 實(shí)例1 實(shí)例層部署圖,實(shí)例層部署圖描述各節(jié)點(diǎn)和它們之間的連接。 本圖中的信息與上張描述層部署圖中的內(nèi)容是相互對(duì)應(yīng)的。 圖中的關(guān)系是各個(gè)節(jié)點(diǎn)之間存在的通信關(guān)系。,9.3 部署圖中的關(guān)系及解釋,9. 部署圖,實(shí)例2 描述層部署圖,圖中顧客購票的情景如下: 顧客通過位于Kiosk節(jié)點(diǎn)的顧客接口控件進(jìn)行購票的操作,該顧客接口構(gòu)件的購票操作依賴于處于TicketServer節(jié)點(diǎn)上的售票構(gòu)件提供的服務(wù),售票構(gòu)件要完成售票操作,又要依賴統(tǒng)一節(jié)點(diǎn)上信用卡付款構(gòu)件提供的付款服務(wù)和票數(shù)據(jù)庫構(gòu)件,圖中包括的各種關(guān)系如下: 通信鏈關(guān)系(不帶箭頭的直線) TicketServe票服務(wù)器與Kiosk信息廳之間存在一對(duì)多的通信關(guān)聯(lián);與SalesTermina
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 股票知識(shí)入門培訓(xùn)
- 項(xiàng)羽之死說課課件
- 項(xiàng)目介紹框架課件模板
- 音樂鑒賞說課課件
- 音樂課件介紹
- 汽車配套產(chǎn)業(yè)基地項(xiàng)目人力資源管理方案(參考范文)
- 2025年貓爬架項(xiàng)目發(fā)展計(jì)劃
- 2025年組織毒活苗合作協(xié)議書
- 物業(yè)樓宇入伙流程
- 2025年多路信號(hào)老化檢測(cè)系統(tǒng)項(xiàng)目合作計(jì)劃書
- 2025年鉗工(技師)職業(yè)技能鑒定試題庫
- 3D打印介紹課件
- 團(tuán)建桌游游戲活動(dòng)方案
- 教育培訓(xùn)宣傳課件
- 大學(xué)招生宣傳工作規(guī)范制度?
- 輿情監(jiān)控處置管理制度
- 低空經(jīng)濟(jì)現(xiàn)代化產(chǎn)業(yè)體系構(gòu)建與戰(zhàn)略路徑
- 藥品生產(chǎn)偏差管理制度
- 貴州省2025年中考第三次模擬考試化學(xué)試卷(含答案)
- 水廠易制毒管理制度
- 2025-2030年中國西餐廳行業(yè)市場發(fā)展分析及前景預(yù)測(cè)與戰(zhàn)略規(guī)劃研究報(bào)告
評(píng)論
0/150
提交評(píng)論