系統(tǒng)lec5面向?qū)ο蠓治鯻第1頁
系統(tǒng)lec5面向?qū)ο蠓治鯻第2頁
系統(tǒng)lec5面向?qū)ο蠓治鯻第3頁
系統(tǒng)lec5面向?qū)ο蠓治鯻第4頁
系統(tǒng)lec5面向?qū)ο蠓治鯻第5頁
已閱讀5頁,還剩172頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、面向?qū)ο蠓治鯱ML的誕生與發(fā)展20世紀(jì)70年代出現(xiàn)了面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。20世紀(jì)80年代,出現(xiàn)了面向?qū)ο蟮慕UZ言。在1989年到1994年期間,面向?qū)ο蟮姆椒◤牟坏绞N增加到了五十多種 ;一些方法脫穎而出,包括Booch方法、 OMT和OOSE等方法;其他的方法還有Fusion方法、Shlaer-Mellor 方法和Coad-Yourdon方法經(jīng)過Booch、Rumbaugh和Jacobson三人的共同努力,于1996年發(fā)布了UML(Unified Modeling Language)。UML的三位主要奠基人,被稱為“三友”(three amigos),UnifiedG.Booch 布奇

2、 Booch方法J.Rumbaugh 蘭博 OMT方法I.Jacobson 雅格布森 OOSEUML的標(biāo)準(zhǔn)化1997年11月14日,UML1.1版本被OMG(對(duì)象管理組織)采納為標(biāo)準(zhǔn),并陸續(xù)修訂頒布了1.3、1.4和1.5等版本。2000年-2003年,UML2.0版本問世。2005年,UML2.0標(biāo)準(zhǔn)版本被OMG采納。Booch Rumbaugh JacobsonUML 的形成過程UML的主要特點(diǎn)統(tǒng)一的標(biāo)準(zhǔn)UML是被OMG接受為標(biāo)準(zhǔn),越來越多的開發(fā)人員使用UML進(jìn)行軟件開發(fā),越來越多的廠商支持UML。面向?qū)ο笫侵С諳O軟件開發(fā)的建模語言??梢暬?、表達(dá)能力強(qiáng)(概念明確)建模表示法簡(jiǎn)潔,圖形結(jié)構(gòu)

3、清晰,可視化、表示能力強(qiáng)大,容易掌握和使用。獨(dú)立于過程UML不依賴于特定的軟件開發(fā)過程。 可視化UML通過它的元模型和表示法,把那些通過文字或其他表達(dá)方法很難表達(dá)清楚的、隱晦的潛臺(tái)詞用簡(jiǎn)單直觀的圖形表達(dá)和暴露出來,準(zhǔn)確而直觀地描述其復(fù)雜的含義。例如:造一輛車身是紅色金屬漆的小轎車,裝備四個(gè)普利司通牌子的輪胎,它是一輛四門車,車門時(shí)加厚的,并且前后門玻璃上貼黑色的膜。前后擋風(fēng)玻璃里都裝有電熱絲,后視鏡是電動(dòng)可調(diào)的。2022/9/268UML的構(gòu)成為了理解UML, 需要形成該語言的概念模型,這要求學(xué)習(xí)語言的三個(gè)要素。UML的基本構(gòu)造塊,也叫建模元素。UML的構(gòu)造塊包括事物(Things) 關(guān)系(R

4、elationships) 圖(Diagrams) 支配構(gòu)造塊如何放在一起的規(guī)則(the rules )UML的公共機(jī)制(common mechanisms)掌握了這些思想,就能讀懂UML,并能構(gòu)建一些基本的UML模型。UML的上述三個(gè)要素的關(guān)系如下列圖示:UML的構(gòu)成圖UML構(gòu)成規(guī)則公共機(jī)制命名范圍執(zhí)行完整性可見性擴(kuò)展機(jī)制通用劃分詳述修飾構(gòu)造型約束標(biāo)記值UML基本構(gòu)造塊事物關(guān)系結(jié)構(gòu)事物行為事物分組事物輔助事物關(guān)聯(lián)關(guān)系依賴關(guān)系泛化關(guān)系實(shí)現(xiàn)關(guān)系用例類接口協(xié)作主動(dòng)類組件節(jié)點(diǎn)狀態(tài)機(jī)交互機(jī)包注釋模型元素UML基本構(gòu)造塊聚合關(guān)系視圖UML構(gòu)成模型元素用例視圖邏輯視圖進(jìn)程視圖構(gòu)件視圖配置視圖時(shí)序圖協(xié)作圖狀

5、態(tài)圖活動(dòng)圖UML基本構(gòu)造塊用例圖類圖對(duì)象圖構(gòu)件圖配置圖視圖UML基本構(gòu)造塊事物關(guān)系結(jié)構(gòu)事物行為事物分組事物輔助事物關(guān)聯(lián)關(guān)系依賴關(guān)系泛化關(guān)系實(shí)現(xiàn)關(guān)系用例類接口協(xié)作主動(dòng)類組件節(jié)點(diǎn)狀態(tài)機(jī)交互機(jī)包注釋模型元素圖靜態(tài)圖動(dòng)態(tài)圖用例圖類圖對(duì)象圖組件圖配置圖時(shí)序圖協(xié)作圖狀態(tài)圖活動(dòng)圖UML軟件系統(tǒng)體系結(jié)構(gòu)的描述作用:描述系統(tǒng)的功能需求,找出用例和執(zhí)行者;適用對(duì)象:客戶、分析者、設(shè)計(jì)者、開發(fā)者和測(cè)試者;描述使用的圖:用例圖和活動(dòng)圖;重要性:系統(tǒng)的中心,它決定了其他視圖的開發(fā),用于確認(rèn)和最終驗(yàn)證系統(tǒng)。 1用例視圖2邏輯視圖作用:描述如何實(shí)現(xiàn)系統(tǒng)內(nèi)部的功能 ;適用對(duì)象:分析者、設(shè)計(jì)者、開發(fā)者 ;描述使用的圖:類圖和對(duì)

6、象圖、狀態(tài)圖、順序圖、合作圖和活動(dòng)圖 ;重要性:描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)和因發(fā)送消息而出現(xiàn)的動(dòng)態(tài)協(xié)作關(guān)系 。靜態(tài)結(jié)構(gòu):類圖、對(duì)象圖動(dòng)態(tài)行為:狀態(tài)圖、活動(dòng)圖、時(shí)序圖、協(xié)作圖 作用:描述系統(tǒng)代碼構(gòu)件組織和實(shí)現(xiàn)模塊,及它們之間的依賴關(guān)系 ;適用對(duì)象:設(shè)計(jì)者、開發(fā)者 ;描述使用的圖:構(gòu)件圖 ;重要性:描述系統(tǒng)如何劃分軟件構(gòu)件,如何進(jìn)行編程 。 3構(gòu)件視圖 作用:描述系統(tǒng)的并發(fā)性,并處理這些線程間的通信和同步 ;適用對(duì)象:開發(fā)者和系統(tǒng)集成者 ;描述使用的圖:狀態(tài)圖、順序圖、合作圖、活動(dòng)圖、構(gòu)件圖和配置圖 ;重要性:將系統(tǒng)分割成并發(fā)執(zhí)行的控制線程及處理這些線程的通信和同步 。 4進(jìn)程視圖作用:描述系統(tǒng)的物理設(shè)

7、備配置,如計(jì)算機(jī)、硬件設(shè)備以及它們相互間的連接 ;適用對(duì)象:開發(fā)者、系統(tǒng)集成者和測(cè)試者 ;描述使用的圖:配置圖 ;重要性:描述硬件設(shè)備的連接和哪個(gè)程序或?qū)ο篑v留在哪臺(tái)計(jì)算機(jī)上執(zhí)行 。 5配置視圖設(shè)計(jì)視圖實(shí)現(xiàn)視圖配置視圖過程視圖Use case視圖2022/9/26UML系統(tǒng)建模與分析設(shè)計(jì)21高級(jí)語言程序設(shè)計(jì)UML模型元素事物關(guān)系結(jié)構(gòu)事物行為事物分組事物輔助事物關(guān)聯(lián)關(guān)系依賴關(guān)系泛化關(guān)系實(shí)現(xiàn)關(guān)系用例類接口協(xié)作主動(dòng)類組件節(jié)點(diǎn)狀態(tài)機(jī)交互機(jī)包注釋模型元素圖靜態(tài)圖動(dòng)態(tài)圖用例圖類圖對(duì)象圖組件圖配置圖時(shí)序圖協(xié)作圖狀態(tài)圖活動(dòng)圖UML1.事物(Thing)事物是對(duì)模型中最具有代表性的成分的抽象。結(jié)構(gòu)事物:UML中

8、的名詞,它是模型基本物理元素。類、接口、協(xié)作(它是一個(gè)交互,它是由一組共同工作以提供某協(xié)作行為的角色和其它元素構(gòu)成的一個(gè)群體。)、用例、主動(dòng)類(至少擁有一個(gè)進(jìn)程或者線程,其元素的行為可以和其它元素的行為并發(fā))、構(gòu)件(如COM+和Java Bean)、節(jié)點(diǎn)。 行為事物:UML中的動(dòng)詞,它是模型中的動(dòng)態(tài)部分,是一種跨越時(shí)間、空間的行為。交互、狀態(tài)機(jī) (描述了一個(gè)對(duì)象或者一個(gè)交互在生命期內(nèi)響應(yīng)事件所經(jīng)歷的狀態(tài)序列)。分組事物:UML中的容器,用來組織模型,使模型更加的結(jié)構(gòu)化。例如:包。輔助事物:UML中的解釋部分,和代碼中的注釋語句一樣,是用來描述模型的。 例如:注釋。結(jié)構(gòu)事物(Structural

9、 things ) 結(jié)構(gòu)事物是模型中的靜態(tài)部分,用以呈現(xiàn)概念或?qū)嶓w的表現(xiàn)元素,是軟件建模中最常見的元素,共有以下七種: 類(class): 用矩形表示,寫有類的名稱,屬性和操作。 接口(interface) 用帶有名稱的圓表示。 協(xié)作(collaboration) 用含有名稱的虛線橢圓表示。 用例(Use case) 用含有名稱的實(shí)線橢圓表示。 主動(dòng)類(Active class):與類相似,不同點(diǎn)就是對(duì)象至少擁有一個(gè)進(jìn)程或線程,因此能夠啟動(dòng)控制活動(dòng). 外框是粗線,包括名稱,屬性和操作。 構(gòu)件(Component): 是類,接口和協(xié)作的物理包. 用帶有小方框的矩形表示,只寫構(gòu)件的名稱。 結(jié)點(diǎn)(n

10、ode): 與類相似,通常用只包括名稱的立方體表示. 表示可計(jì)算的一種資源。結(jié)構(gòu)事物部分圖符結(jié)構(gòu)事物部分圖符27行為事物(Behavioral things)行為事物描述跨越時(shí)間和空間的行為. 行為事物指的是UML模型中的動(dòng)態(tài)部分,代表語句里的“動(dòng)詞”,表示模型里隨著時(shí)空不斷變化的部分,包含兩類:交互(interaction): 包括消息,動(dòng)作序列和鏈.用一條有向直線表示。狀態(tài)機(jī)(state machine): 包括狀態(tài),轉(zhuǎn)換,事件和活動(dòng).用圓角矩形表示. 分組事物(Grouping things)分組事物可以看成是一個(gè)“盒子”,模型可以在其中被分解。目前只有一種分組事物,即包。結(jié)構(gòu)事物、動(dòng)作

11、事物甚至分組事物都有可能放在一個(gè)包中。包純粹是概念上的,只存在于開發(fā)階段,而組件在運(yùn)行時(shí)存在。包(package): 是把元素組成組的機(jī)制.結(jié)構(gòu)事物,行為事物甚至其它事物組成一個(gè)包.由左上角有一個(gè)小矩形的大矩形來表示. 注釋事物(Annotational things)注釋事物是UML模型的解釋部分。注解(note):依附于一個(gè)元素或一組元素之上,對(duì)它進(jìn)行約束或解釋的簡(jiǎn)單的符號(hào)。用右上角是折角的矩形來表示。UML基本構(gòu)造塊事物關(guān)系結(jié)構(gòu)事物行為事物分組事物輔助事物關(guān)聯(lián)關(guān)系依賴關(guān)系泛化關(guān)系實(shí)現(xiàn)關(guān)系用例類接口協(xié)作主動(dòng)類組件節(jié)點(diǎn)狀態(tài)機(jī)交互機(jī)包注釋模型元素圖靜態(tài)圖動(dòng)態(tài)圖用例圖類圖對(duì)象圖組件圖配置圖時(shí)序圖

12、協(xié)作圖狀態(tài)圖活動(dòng)圖UML基本構(gòu)造塊關(guān)系(Relationships)關(guān)系是將事物聯(lián)系在一起的方式,UML中定義了四種關(guān)系: 關(guān)聯(lián)( Association )關(guān)聯(lián)是類之間的結(jié)構(gòu)關(guān)系,它描述了一組鏈,鏈?zhǔn)菍?duì)象(類的實(shí)例)之間的連接。聚合與合成是特殊類型的關(guān)聯(lián),描述了整體和部分間的結(jié)構(gòu)關(guān)系。在圖形上,把關(guān)聯(lián)畫成一條實(shí)線,它可能有方向,偶爾在其上還帶有一個(gè)標(biāo)記,而且它還經(jīng)常含有諸如多重性和端名這樣的修飾,如圖所示。依賴(Dependencies)依賴是兩個(gè)模型元素間的語義關(guān)系,其中一個(gè)元素(獨(dú)立元素)發(fā)生變化會(huì)影響另一個(gè)元素(依賴元素)的語義。在圖形上,把依賴畫成一條可能有方向的虛線,偶爾在其上還帶

13、有一個(gè)標(biāo)記,如圖所示: 泛化(Generalization)泛化是一種特殊/一般關(guān)系,在其中特殊元素(子元素)基于一般元素(父元素)而建立。用這種方法,子元素共享了父元素的結(jié)構(gòu)和行為在圖形上,把泛化關(guān)系畫成一條帶有空心箭頭的實(shí)線,該實(shí)線指向父元素,如圖示: 實(shí)現(xiàn)(Realization) 實(shí)現(xiàn)(realization)是類目之間的語義關(guān)系,其中的一個(gè)類目指定了由另一個(gè)類目保證執(zhí)行的合約。在兩種地方會(huì)遇到實(shí)現(xiàn)關(guān)系:一種是在接口和實(shí)現(xiàn)它們的類或構(gòu)件之間;另一種是在用況和實(shí)現(xiàn)它們的協(xié)作之間。在圖形上,把實(shí)現(xiàn)關(guān)系畫成一條帶有空心箭頭的虛線,它是泛化和依賴關(guān)系兩種圖形的結(jié)合,如圖所示。 UML基本構(gòu)造塊

14、事物關(guān)系結(jié)構(gòu)事物行為事物分組事物輔助事物關(guān)聯(lián)關(guān)系依賴關(guān)系泛化關(guān)系實(shí)現(xiàn)關(guān)系用例類接口協(xié)作主動(dòng)類組件節(jié)點(diǎn)狀態(tài)機(jī)交互機(jī)包注釋模型元素圖靜態(tài)圖動(dòng)態(tài)圖用例圖類圖對(duì)象圖組件圖配置圖時(shí)序圖協(xié)作圖狀態(tài)圖活動(dòng)圖UML基本構(gòu)造塊用例模型及組成成分用例圖從用戶的角度出發(fā)描述系統(tǒng)的功能、需求,展示系統(tǒng)外部的各類角色與系統(tǒng)內(nèi)部的各種用例之間的關(guān)系1類圖(Class diagram)類圖描述系統(tǒng)所包含的類、類的內(nèi)部結(jié)構(gòu)及類之間的關(guān)系類圖是邏輯視圖的重要組成部分,用于對(duì)系統(tǒng)的靜態(tài)結(jié)構(gòu)建模。在系統(tǒng)分析階段,類圖主要用于顯示角色和提供系統(tǒng)行為的實(shí)體的職責(zé);在系統(tǒng)設(shè)計(jì)階段,類圖主要用于捕捉組成系統(tǒng)體系結(jié)構(gòu)的類結(jié)構(gòu);在系統(tǒng)實(shí)現(xiàn)階段

15、,根據(jù)類圖中的類及它們之間的關(guān)系實(shí)現(xiàn)系統(tǒng)的功能。 靜態(tài)模型與系統(tǒng)體系結(jié)構(gòu)建模2022/9/2639類是一組具有相同屬性、相同行為、和其他對(duì)象有相同關(guān)系、有相同表現(xiàn)的對(duì)象描述,類具有屬性和操作相對(duì)一個(gè)類的實(shí)例是對(duì)象,對(duì)象是一個(gè)類的實(shí)例,對(duì)象的每一個(gè)屬性都具有具體的值,在UML中用如下圖 所示 。若僅僅指明是某一個(gè)類的一般性對(duì)象,可表示為2對(duì)象圖(Object diagram)對(duì)象圖是類圖的一個(gè)具體實(shí)例3包圖(Package diagram) 包圖表明包及其之間的依賴類圖4構(gòu)件圖 (Component diagram) 組件圖描述代碼部件的物理結(jié)構(gòu)以及各部件之間的依賴關(guān)系5配置圖 部署圖定義系統(tǒng)中

16、軟硬件的物理體系結(jié)構(gòu)動(dòng)態(tài)模型與行為控制流建模 順序圖(Sequence Diagram)用來描述對(duì)象之間動(dòng)態(tài)的交互關(guān)系,著重體現(xiàn)對(duì)象間消息傳遞的時(shí)間順序。順序圖的一個(gè)用途是用來表示用例中的行為順序。當(dāng)執(zhí)行一個(gè)用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或引起狀態(tài)轉(zhuǎn)換的觸發(fā)事件 順序圖(也稱時(shí)序圖)表示實(shí)例之間按時(shí)間順序組織的交互,是描述消息時(shí)間順序的交互圖。支持實(shí)時(shí)系統(tǒng)和復(fù)雜場(chǎng)景的詳細(xì)建模。在圖形上,順序圖是二維的。其中,垂直方向表示時(shí)間,水平方向表示不同的對(duì)象,顯示的對(duì)象沿橫軸排列,從左到右分布在圖的頂部;而消息則沿縱軸按時(shí)間順序排序。2合作圖(協(xié)作圖)描述對(duì)象間的協(xié)作關(guān)系,協(xié)作圖跟順序圖

17、 相似,顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對(duì)象以及它們之間的關(guān)系.協(xié)作圖的一個(gè)用途是表示一個(gè)類操作的實(shí)現(xiàn)協(xié)作圖是強(qiáng)調(diào)發(fā)送和接受消息的對(duì)象之間的結(jié)構(gòu)組織的交互圖,可顯示對(duì)象、對(duì)象之間的鏈接以及對(duì)象之間的消息,還可以顯示當(dāng)前模型中的簡(jiǎn)單類實(shí)例和類實(shí)體實(shí)例。高級(jí)語言程序設(shè)計(jì)2合作圖3狀態(tài)圖 狀態(tài)圖是對(duì)類的一種補(bǔ)充描述,它展示了此類對(duì)象所具有可能的狀態(tài)以及某些事件發(fā)生時(shí)其狀態(tài)的轉(zhuǎn)移情況。與交互圖不同,交互圖對(duì)共同工作的對(duì)象群體的行為建模,而狀態(tài)圖對(duì)單個(gè)對(duì)象的狀態(tài)變化行為建模。4活動(dòng)圖 活動(dòng)圖是狀態(tài)圖的一個(gè)變體,用來描述執(zhí)行算法的工作流程中涉及的活動(dòng)活動(dòng)圖描述了一組順序的或并發(fā)的活

18、動(dòng) 高級(jí)語言程序設(shè)計(jì)子系統(tǒng)組織的系統(tǒng)體系結(jié)構(gòu) UML系統(tǒng)體系結(jié)構(gòu)模型 系統(tǒng)模型組織的系統(tǒng)體系結(jié)構(gòu) 系統(tǒng)體系結(jié)構(gòu)模型的描述方式UML的構(gòu)成圖UML構(gòu)成規(guī)則公共機(jī)制命名范圍執(zhí)行完整性可見性擴(kuò)展機(jī)制通用劃分詳述修飾構(gòu)造型約束標(biāo)記值UML基本構(gòu)造塊公共機(jī)制UML具有四種貫穿整個(gè)語言且一致應(yīng)用的公共機(jī)制,使得UML較為簡(jiǎn)單,他們分別是:詳述(Specifications)修飾(Adornments)通用劃分(Common divisions)擴(kuò)展機(jī)制(Extensibility mechanisms)詳述(Specifications)在UML中,每個(gè)模型元素的圖形表示法之后都存在一個(gè)詳述(規(guī)范說明),

19、它以文字的形式描述基本模型元素的語法和語義。例如,在類的圖符背后有一個(gè)詳述,它提供了對(duì)該類所擁有的屬性、操作(包括完整的特征標(biāo)記)和行為的全面描述;在視覺上,類的圖符可能僅展示了這個(gè)詳述的一小部分。此外,可能存在著該類的另一個(gè)視圖,其中提供了一個(gè)完全不同的部件集合,但是它仍然與該類的基本詳述相一致。UML的圖形表示法用來對(duì)系統(tǒng)進(jìn)行可視化;UML的詳述用來說明系統(tǒng)的細(xì)節(jié)。修飾(Adornments)對(duì)類的詳述可以包含其他細(xì)節(jié),例如,它是否是抽象類,或它的屬性和操作是否可見??梢园押芏噙@樣的細(xì)節(jié)表示為圖形或文字修飾,放到類的基本矩形符號(hào)上。例如,下圖是一個(gè)帶有修飾的類,圖中表明這個(gè)類是一個(gè)抽象類,

20、有兩個(gè)公共操作、一個(gè)受保護(hù)操作和一個(gè)私有操作。 UML表示法中的每一個(gè)元素都有 一個(gè)基本符號(hào),可以把各種修飾 細(xì)節(jié)加到這個(gè)符號(hào)上。 修飾舉例在UML眾多的修飾符中,注釋是一種最重要的并且能單獨(dú)存在的修飾符,它是附加在模型元素或元素集上用來表示約束或注解信息的圖形符號(hào)。圖中注釋的作用是指出priority()的算法細(xì)節(jié)在文檔exe.doc中。通用劃分(Common divisions)UML提供了事物的抽象的描繪和具體的實(shí)例兩種兩分法表達(dá),被稱為公共劃分。通常:第一種方法是對(duì)類和對(duì)象的劃分。類是一種抽象,對(duì)象是這種抽象的一個(gè)具體表現(xiàn)。在UML中,可以對(duì)類和對(duì)象建立模型,如圖所示。在圖形上,UML

21、是這樣辨別對(duì)象的:用與類同樣的圖形符號(hào)來表示對(duì)象,并且在對(duì)象名的下面畫一道線。 在這個(gè)圖中,有一個(gè)名稱為Customer的類,它有3個(gè)對(duì)象,分別為Jan(它被明確地標(biāo)記為Customer的對(duì)象),:Customer(匿名的Customer對(duì)象)和Elyse(它在詳述中被說明為是一種Customer對(duì)象,盡管在這里沒有明確地表示出來)。 通用劃分(Common divisions)第二種方法是接口和實(shí)現(xiàn)的分離。接口聲明了一個(gè)合約,而實(shí)現(xiàn)則表示了對(duì)該合約的具體實(shí)施,它負(fù)責(zé)如實(shí)地實(shí)現(xiàn)接口的完整語義。在UML中,既可以對(duì)接口建模又可以對(duì)它們的實(shí)現(xiàn)建模,如圖所示。在這個(gè)圖中,有一個(gè)名稱為Spelling

22、Wizard.dll的構(gòu)件,它實(shí)現(xiàn)了接口IUnknown和接口ISpelling,并且還需要一個(gè)由其他構(gòu)件提供的名為IDictionary的接口。 通用劃分(Common divisions)第三種方法是類型和角色的分離。類型聲明了實(shí)體的種類(如對(duì)象、屬性或參數(shù)),角色描述了實(shí)體在語境中的含義(如類、構(gòu)件或協(xié)作等)。任何作為其他實(shí)體結(jié)構(gòu)中的一部分的實(shí)體(例如屬性)都具有兩個(gè)特性:從它固有的類型派生出一些含義,從它在語境中的角色派生出一些含義。擴(kuò)展機(jī)制 UML提供了一種繪制軟件藍(lán)圖的標(biāo)準(zhǔn)語言,但是一種閉合的語言即使表達(dá)能力再豐富,也難以表示出各種領(lǐng)域中的各種模型在不同時(shí)刻所有可能的細(xì)微差別。由于

23、這個(gè)原因,UML是目標(biāo)開放的,使人們能夠以受控的方式來擴(kuò)展該語言。UML的擴(kuò)展機(jī)制包括:衍型(Stereotypes)標(biāo)記值(Tagged values)約束(Constraints)擴(kuò)展機(jī)制衍型(構(gòu)造型 ):對(duì)UML的詞匯的擴(kuò)展,用于創(chuàng)建與已有的模型元素相似且針對(duì)特定問題的新種類的模型元素。用書名號(hào)括起來的名字表示,其位置在其他元素之上。 標(biāo)記值:對(duì)UML元素的特性的擴(kuò)展,用于在模型元素的規(guī)約中創(chuàng)建新的信息。用花括號(hào)括起來的字符串表示,其位置在其他元素之下。 約束:對(duì)UML元素的語義的擴(kuò)展,用于增加新規(guī)則或修改已有規(guī)則。用花括號(hào)括起來的字符串表示,且放在所關(guān)聯(lián)的元素附近或通過依賴關(guān)系連接相應(yīng)

24、元素。擴(kuò)展機(jī)制實(shí)例 衍型exception使得Overflow成為一個(gè)模型元素EventQueue中版本和作者是標(biāo)記值add上的約束ordered使得EvenrQueue中的事件按序排列UML的構(gòu)成圖UML構(gòu)成規(guī)則公共機(jī)制命名范圍執(zhí)行完整性可見性擴(kuò)展機(jī)制通用劃分詳述修飾構(gòu)造型約束標(biāo)記值UML基本構(gòu)造塊4.規(guī)則(Rules of the UML)UML的規(guī)則描述了一個(gè)結(jié)構(gòu)良好(well-formed)的模型看起來應(yīng)該像什么。而不至于出現(xiàn)不太規(guī)范的使用。UML的有自己的語法和語義上的規(guī)則,用于:名字(Names):為事物、關(guān)系、圖起的名字范圍(Scope):使名字具有特定含義的語境可見性(Visi

25、bility):如何讓其他成分看到和使用這些名字完整性(Integrity):事物如何正確、一致的相互聯(lián)系執(zhí)行(Execution):運(yùn)行或者模擬動(dòng)態(tài)模型意味著什么UML軟件開發(fā)過程產(chǎn)生的模型與文檔 (1)業(yè)務(wù)模型:建立問題領(lǐng)域的組織結(jié)構(gòu)和業(yè) 務(wù)流程的抽象。描述方式:需求分析規(guī)格說明書。(2)領(lǐng)域模型:建立問題領(lǐng)域的需求分析說明。描述方式:需求分析規(guī)格說明書。(3)用例模型:表達(dá)系統(tǒng)的功能。 描述方式:用例圖、活動(dòng)圖及需求分析規(guī)格說明書。 1模型 基本功能分析;實(shí)現(xiàn)功能的對(duì)象;對(duì)象之間的關(guān)系;4)分析模型(任選):只有復(fù)雜的系統(tǒng)才需要建立獨(dú)立的分析模型。該模型包括: 描述方式:類圖、對(duì)象圖、包

26、圖、順序圖、合 作圖、狀態(tài)圖和活動(dòng)圖。(5)設(shè)計(jì)模型:系統(tǒng)具體解決方案,由調(diào)整和完善分析模型而成。 描述方式:類圖、對(duì)象圖、包圖、順序圖、合作圖、狀態(tài)圖和活動(dòng)圖。(7)實(shí)現(xiàn)模型:軟件的系統(tǒng)體系結(jié)構(gòu)。 描述方式:包圖和構(gòu)件圖。 (6)進(jìn)程模型(任選):描述系統(tǒng)并發(fā)和同步機(jī)制。有多線程的并發(fā)系統(tǒng)才建立。 描述方式:狀態(tài)圖、順序圖、合作圖、活動(dòng)圖、構(gòu)件圖和配置圖。(8)配置模型:描述系統(tǒng)軟件在各個(gè)硬件上的配置。 描述方式:配置圖。(9)測(cè)試模型:描述驗(yàn)證系統(tǒng)功能的途徑。 描述方式:測(cè)試案例和測(cè)試報(bào)告。(1)技術(shù)文檔(2)管理文檔2文檔UML軟件開發(fā)過程的基本特征 1用例驅(qū)動(dòng)的系統(tǒng)2以體系結(jié)構(gòu)為中心3

27、螺旋上升式的開發(fā)過程4以質(zhì)量控制和風(fēng)險(xiǎn)管理為目標(biāo) 客戶需求分析與用例建模用例驅(qū)動(dòng)是統(tǒng)一過程的重要概念,或者說整個(gè)軟件生產(chǎn)過程就是用例驅(qū)動(dòng)的。分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試都是用例驅(qū)動(dòng)的,都是以實(shí)現(xiàn)用例為目標(biāo)。用例的捕獲手段抽象建造需求模型用例建模 需求分析與用例建模用例建模的主要目標(biāo)是:將需求規(guī)約變?yōu)榭梢暬P?,并得到用戶確認(rèn); 給出清晰、一致的關(guān)于系統(tǒng)做什么的描述,確定系統(tǒng)的功能要求; 提供從功能需求到系統(tǒng)分析、設(shè)計(jì)、實(shí)現(xiàn)各階段的度量標(biāo)準(zhǔn); 為最終系統(tǒng)測(cè)試提供基準(zhǔn),據(jù)此驗(yàn)證系統(tǒng)是否達(dá)到功能要求; 為項(xiàng)目目標(biāo)進(jìn)度管理和風(fēng)險(xiǎn)管理提供依據(jù)。 UML系統(tǒng)建模與分析設(shè)計(jì)用例圖 用例建模的步驟: 確定系統(tǒng)的范圍

28、和邊界; 確定系統(tǒng)的執(zhí)行者和用例; 對(duì)用例進(jìn)行描述; 定義用例之間的關(guān)系; 審核用例模型。 定義系統(tǒng)的邊界和范圍 系統(tǒng)邊界包括:整個(gè)組織:如一個(gè)企業(yè); 一個(gè)組織的某個(gè)部門:如企業(yè)的財(cái)務(wù)處; 計(jì)算機(jī)系統(tǒng)的硬件/軟件邊界:如企業(yè)的進(jìn)、銷、存計(jì)算機(jī)管理系統(tǒng)。 1定義系統(tǒng)的范圍 2定義系統(tǒng)的邊界確定執(zhí)行者 執(zhí)行者(actor)是指在系統(tǒng)外部與系統(tǒng)交互的人或其他系統(tǒng),他以某種方式參與了系統(tǒng)內(nèi)用例的執(zhí)行。Actor:在系統(tǒng)之外與系統(tǒng)交互的某人或某事物。Actor在建模過程中是處于核心地位的誰是執(zhí)行者?小王去銀行開戶,向大廳經(jīng)理詢問了辦理手續(xù),填寫了表單,交給柜臺(tái)職員,拿到了銀行存折?;卮饐栴}誰對(duì)系統(tǒng)有著明

29、確的目標(biāo)和要求并且主動(dòng)發(fā)出動(dòng)作?系統(tǒng)是為誰服務(wù)的?參與者業(yè)務(wù)工人執(zhí)行者可以非人需求:每天自動(dòng)統(tǒng)計(jì)網(wǎng)頁訪問量,生成統(tǒng)計(jì)報(bào)表,并發(fā)送至管理員信箱。原則: 不存在沒有參與者的用例,用例不應(yīng)該自動(dòng)啟動(dòng),也不應(yīng)該主動(dòng)啟動(dòng)另一個(gè)用例。1定義執(zhí)行者時(shí)應(yīng)注意的幾個(gè)問題 (1)執(zhí)行者之間可以有繼承關(guān)系 (2)執(zhí)行者代表一種角色而不是具體某個(gè)人 (3)對(duì)同一個(gè)人擔(dān)任角色的限制 (4)執(zhí)行者可分成主執(zhí)行者和副執(zhí)行者 (5)執(zhí)行者還可細(xì)分為主動(dòng)執(zhí)行者和被動(dòng)執(zhí)行者 尋找和確定執(zhí)行者 情況一情況二情況三情況四確定用例用例,就是一件事情,要完成這件事情,需要做一系列的活動(dòng);而做一件事情可以有很多不同的方法和步驟,也可能會(huì)遇

30、到各種各樣的意外情況,因此這件事情是由很多不同情況的集合構(gòu)成的,在UML中我們稱之為場(chǎng)景。一個(gè)場(chǎng)景就是一個(gè)用例的實(shí)例。確定用例1.用例的特征響應(yīng)性。一個(gè)用例不自動(dòng)執(zhí)行,總是有執(zhí)行者啟動(dòng)?;貓?zhí)性。 用例執(zhí)行完畢,向執(zhí)行者提供可識(shí)別的返回值。完整性。 用例表示一個(gè)完整的功能,必須是一完整的描述。 必須以向執(zhí)行者提供返回值作為該用例完整性的標(biāo)志。用例的特征-響應(yīng)性這件事必須由一個(gè)執(zhí)行者發(fā)起,執(zhí)行者的愿望是用例存在的原因。不存在沒有執(zhí)行者的用例,也不應(yīng)該主動(dòng)啟動(dòng)另一個(gè)用例。用例的特征-完整性用例是相對(duì)獨(dú)立的,即用例的“功能”是完備的一個(gè)用例就是一個(gè)需求單元、分析單元、設(shè)計(jì)單元、開發(fā)單元、測(cè)試單元甚至部

31、署單元。用例的特征-回執(zhí)性用例的執(zhí)行結(jié)果對(duì)執(zhí)行者來說是可觀測(cè)和有意義的用例的執(zhí)行結(jié)果對(duì)參與者來說是可觀測(cè)的和有意義的。如,系統(tǒng)會(huì)監(jiān)控參與者在系統(tǒng)里的操作,并在參與者刪除數(shù)據(jù)之前備份。雖然它是系統(tǒng)的一個(gè)必需組成部分,但它在需求階段卻不應(yīng)該作為用例出現(xiàn)。因?yàn)檫@是一個(gè)后臺(tái)進(jìn)程,對(duì)參與者來說是不可觀測(cè)的,它應(yīng)該在系統(tǒng)用例分析階段定義。又比如,登錄系統(tǒng)是一個(gè)有效的用例,但輸入密碼卻不是。這是因?yàn)榈卿浵到y(tǒng)對(duì)參與者是有意義的,這樣他可以獲得身份認(rèn)證和授權(quán),但輸入密碼卻是沒有意義的,輸入完了呢?有什么結(jié)果嗎?用例的特征-動(dòng)賓短語用例必然是以動(dòng)賓短語形式出現(xiàn)的。用例必然是以動(dòng)賓短語形式出現(xiàn)的。即,這件事必須有一

32、個(gè)動(dòng)作和動(dòng)作的受體。例如,喝水是一個(gè)有效的用例,而“喝”和“水”卻不是。雖然生活常識(shí)告訴我們,在沒有水的情況下人是不會(huì)做出喝這個(gè)動(dòng)作的,水也必然是喝進(jìn)去的,而不是滑進(jìn)去的.但是我們所見的很多用例中類似“計(jì)算”,“統(tǒng)計(jì)”,“報(bào)表”,“輸出”,“錄入”之類的并不在少數(shù)。尋找和確定用例業(yè)務(wù)用例:開始階段,在確定用戶需求過程中,系統(tǒng)分析員通過與客戶交流建立業(yè)務(wù)模型來發(fā)現(xiàn)和確定的用例。系統(tǒng)用例:系統(tǒng)構(gòu)造階段,系統(tǒng)分析和設(shè)計(jì)人員在進(jìn)行系統(tǒng)分析和設(shè)計(jì)時(shí),根據(jù)系統(tǒng)的需求建立的用例。在系統(tǒng)開發(fā)的開端階段,應(yīng)把注意力集中在業(yè)務(wù)用例上,在精化階段和構(gòu)建階段再考慮系統(tǒng)用例建立用例模型時(shí),可詢問:用戶(執(zhí)行者)需要系統(tǒng)

33、提供哪些業(yè)務(wù)功能,即系統(tǒng)能做什么?用戶最關(guān)心系統(tǒng)中哪些事件?從功能觀點(diǎn)看,這些事件表示什么?用戶要了解系統(tǒng)在工作中發(fā)生了哪些事件及其結(jié)果?用戶自己需要做什么?用戶是否要在系統(tǒng)中創(chuàng)建、刪除、讀、修改或存儲(chǔ)某類業(yè)務(wù)數(shù)據(jù)?系統(tǒng)為了維持正常運(yùn)轉(zhuǎn)需要增加的功能和信息的交互; 這些信息從何而來,到哪里去? 實(shí)現(xiàn)當(dāng)前系統(tǒng)(可能是人工系統(tǒng)而不是自動(dòng)化系統(tǒng))的關(guān)鍵問題是什么?通過與用戶反復(fù)交流,確定主要業(yè)務(wù)用例和次要業(yè)務(wù)用例。對(duì)于建立的每一個(gè)業(yè)務(wù)用例,都需要一組系統(tǒng)用例來輔助和支持。(不嚴(yán)謹(jǐn))系統(tǒng)用例是執(zhí)行者與系統(tǒng)的交互,它描述了系統(tǒng)的功能需求和動(dòng)態(tài)行為。系統(tǒng)用例用于建立系統(tǒng)用例模型,可通過分析系統(tǒng)的業(yè)務(wù)流和控

34、制流來尋找和確定系統(tǒng)用例。(活動(dòng)圖)如何獲得用例訪談您對(duì)系統(tǒng)有什么期望?您打算在這個(gè)系統(tǒng)里面做些什么事情?您做這件事的目的是什么?您做完這件事情希望有一個(gè)什么樣的結(jié)果?一個(gè)明確的有效地目標(biāo)才是一個(gè)用例的來源。一個(gè)真實(shí)的目標(biāo)應(yīng)當(dāng)完備地表達(dá)執(zhí)行者的期望。一個(gè)有效地目標(biāo)應(yīng)當(dāng)在系統(tǒng)邊界內(nèi),由主角發(fā)動(dòng),并具有明確的后果。應(yīng)當(dāng)先建立業(yè)務(wù)用例模型,然后再從業(yè)務(wù)用例模型向系統(tǒng)用例模型映射。 注意用例圖的層次,從系統(tǒng)到子系統(tǒng)逐層建立用例圖。用例和功能的誤區(qū)用例就是功能劃分? 在描述一個(gè)事物的時(shí)候,我們可以從以下三個(gè)觀點(diǎn)出發(fā):這個(gè)事物是什么?結(jié)構(gòu)性觀點(diǎn)這個(gè)事物能做什么?功能性觀點(diǎn)人們能用這個(gè)事物做什么?使用者觀點(diǎn)

35、結(jié)構(gòu)性觀點(diǎn):自行車是一種交通工具,它由傳動(dòng)系統(tǒng)、剎車系統(tǒng)等部分組成。功能性觀點(diǎn):自行車可以騎行。使用者觀點(diǎn):人們可以用雙腳蹬動(dòng)踏板而向前行進(jìn),可以用手捏合剎車使自行車停下來??偨Y(jié):功能是脫離使用者的愿望而存在的。功能是孤立的,給一個(gè)輸入,通過計(jì)算就有一個(gè)固定的輸出只要按下開關(guān)燈就亮。用例是系統(tǒng)性的,它需要描述誰在什么情況下通過什么方式開燈,結(jié)果是什么。功能描述的是一個(gè)個(gè)點(diǎn)。用例描述的是一個(gè)系統(tǒng)性工作。目標(biāo)和步驟的誤區(qū)用例的粒度ATM取錢的場(chǎng)景中,取錢,讀卡,驗(yàn)證賬號(hào),打印回執(zhí)單等都是可能的用例?用例粒度的劃分最標(biāo)準(zhǔn)的方法應(yīng)該是:以該用例是否完成了參與者的某個(gè)完整目的為依據(jù)的。同一個(gè)需求階段,用

36、例的粒度應(yīng)該時(shí)同一級(jí)別的。粒度選取的問題本質(zhì)上還是因?yàn)檫吔缯J(rèn)定不同而產(chǎn)生的。ATM示例客戶代表說:我希望這臺(tái)ATM能支持跨行業(yè)務(wù),我插入卡片輸入密碼后,可以讓我選擇是取錢還是存錢;為了方便,可以設(shè)置一些默認(rèn)的存取金額按鈕;我可以修改密碼,也可以掛失;還有我希望可以交納水費(fèi)、電費(fèi)和電話等費(fèi)用;為了安全起見,ATM上應(yīng)當(dāng)有警示小心騙子的提示條,還有攝像頭;如果輸入三次密碼錯(cuò)誤,卡片應(yīng)當(dāng)被自動(dòng)吞沒。判斷題支持跨行業(yè)務(wù)插入卡片輸入密碼選擇服務(wù)取錢存錢掛失卡片交納費(fèi)用警示騙子三次錯(cuò)誤吞沒卡片判斷題參考答案支持跨行業(yè)務(wù)錯(cuò),這是一個(gè)業(yè)務(wù)規(guī)則,限定業(yè)務(wù)的范圍插入卡片錯(cuò),這是一個(gè)過程步驟,不是完整目標(biāo)輸入密碼錯(cuò)

37、,這是一個(gè)過程步驟,不是完整目標(biāo)選擇服務(wù)錯(cuò),這是一個(gè)過程步驟,不是完整目標(biāo)取錢對(duì),這是一個(gè)完整有效的目標(biāo)存錢對(duì),這是一個(gè)完整有效的目標(biāo)掛失卡片對(duì),這是一個(gè)完整有效的目標(biāo)交納費(fèi)用對(duì),這是一個(gè)完整有效的目標(biāo)警示騙子錯(cuò),已超出了邊界范圍三次錯(cuò)誤吞沒卡片錯(cuò),這是一個(gè)業(yè)務(wù)規(guī)則,限定業(yè)務(wù)的范圍描述用例用例名:簡(jiǎn)單名: 路徑名:用例的文字描述應(yīng)包括以下內(nèi)容:用例的目的(功能);該用例在什么情況下被哪個(gè)執(zhí)行者啟動(dòng)執(zhí)行;用例與執(zhí)行者之間交互哪些消息來通知對(duì)方作出決定;交互的主消息流及因此被使用或修改的實(shí)體;用例中可供選擇的異常事件流;用例結(jié)束標(biāo)志:給執(zhí)行者返回一個(gè)可識(shí)別的值。舉例:用例名稱:學(xué)生選課 執(zhí)行者:學(xué)

38、生目的:完成一次學(xué)生選課的完整過程。類型:主要的、基本的級(jí)別:一級(jí)過程描述:(1)學(xué)生輸入標(biāo)識(shí)碼(ID),系統(tǒng)識(shí)別標(biāo)識(shí)碼的有效性;(2)對(duì)學(xué)生進(jìn)行注冊(cè)識(shí)別;(3)流覽本學(xué)期預(yù)開課程;(4)選擇學(xué)生自己要上的課程并確認(rèn);(5)退出系統(tǒng),系統(tǒng)給出所選課程列表及相應(yīng)學(xué)分合計(jì)。異常事件流處理:(1)標(biāo)識(shí)碼有效性檢查失敗,允許學(xué)生重新輸入(3次機(jī)會(huì))。(2)注冊(cè)識(shí)別失敗,沒有注冊(cè)(尙未交學(xué)費(fèi))的學(xué)生不能選課。(3)選擇課程確認(rèn)失敗,所選幾門課程中在上課時(shí)間上發(fā)生沖 突時(shí),系統(tǒng)提示重選。 用例之間的關(guān)聯(lián)1繼承關(guān)聯(lián)2.擴(kuò)展關(guān)聯(lián)3.包含關(guān)聯(lián)4.使用關(guān)聯(lián)1.繼承關(guān)聯(lián)-泛化(generalization) 當(dāng)多個(gè)

39、用例共同擁有一種類似的結(jié)構(gòu)和行為的時(shí)候我們可以將它們的共性抽象成為父用例,其他的用例作為泛化關(guān)系中的子用例。泛化舉例(一): 泛化舉例(二):2022/9/261212.擴(kuò)展(extend)箭頭指向的用例為被擴(kuò)展的用例,稱為擴(kuò)展用例;箭頭出發(fā)的用例為基本用例。擴(kuò)展用例是可選的,如果缺少擴(kuò)展用例,不會(huì)影響到基用例的完整性;擴(kuò)展用例在一定條件下才會(huì)執(zhí)行,并且其執(zhí)行會(huì)改變基用例的行為。擴(kuò)展(extend)將擴(kuò)展用例的事件流在一定的條件下按照相應(yīng)的擴(kuò)展點(diǎn)插入到基礎(chǔ)用例中。 基礎(chǔ)用例不必知道擴(kuò)展用例的任何細(xì)節(jié),它僅為其提供擴(kuò)展點(diǎn)。擴(kuò)展用例的行為是否被執(zhí)行要取決于主事件流中的判定點(diǎn)。 擴(kuò)展(extend)

40、擴(kuò)展(extend)擴(kuò)展舉例(一):擴(kuò)展(extend)擴(kuò)展舉例(二):3.包含(include)包含是指基本用例(base use case)會(huì)用到包含用例(inclusion),具體地講,就是將包含用例的事件流插入到基礎(chǔ)用例的事件流中。包含用例是可重用的用例多個(gè)用例的公共用例。 包含(include)箭頭指向的用例為被包含的用例,稱為包含用例;箭頭出發(fā)的用例為基本用例。包含用例是必選的,如果缺少包含用例,基礎(chǔ)用例就不完整;包含用例必須被執(zhí)行,不需要滿足某種條件;其執(zhí)行并不會(huì)改變基用例的行為。包含(include)包含(include)包含舉例(一):包含(include)包含舉例(二):用

41、例之間的關(guān)系包含用例與擴(kuò)展用例的區(qū)別相對(duì)于基礎(chǔ)用例,擴(kuò)展用例是可選的,而包含用例則不是。如果缺少擴(kuò)展用例,基礎(chǔ)用例還是完整的,而缺少包含用例,則基礎(chǔ)用例就不完整了。擴(kuò)展用例的執(zhí)行需要滿足某種條件,而包含用例不需要。擴(kuò)展用例的執(zhí)行會(huì)改變基礎(chǔ)用例的行為,而包含用例不會(huì)。使用關(guān)聯(lián) 使用關(guān)聯(lián)也是一種繼承關(guān)系.在使用關(guān)聯(lián)中,一個(gè)用例使用另一個(gè)用例的功能和行為.考慮用例的關(guān)聯(lián)類型1).圖中的參與者有? (a) 1 (b) 2 (c) 3 (d) 42).圖中的用例有? (a) 1 (b) 2 (c) 3 (d) 43). 2和3之間是什么關(guān)系?5和6呢? (a) 擴(kuò)展,包含(b) 包含,擴(kuò)展4).5缺少了

42、3仍然是個(gè)完整的用例? (a) 是的(b) 不是5).4能夠參與2嗎?1能夠參與5嗎? (a) 可以,不可以 (b) 不可以,可以習(xí)題答案:1、(a)(d) 2、(b)(c) 3、(b) 4、(b) 5、(b)習(xí)題用例圖實(shí)例UML系統(tǒng)建模與分析設(shè)計(jì)需求分析規(guī)格說明2022/9/26138需求分析中的用例建模步驟根據(jù)UML軟件開發(fā)過程的要求,問題領(lǐng)域的業(yè)務(wù)模型包括:業(yè)務(wù)用例模型業(yè)務(wù)對(duì)象模型系統(tǒng)模型包括:系統(tǒng)用例模型設(shè)計(jì)模型實(shí)現(xiàn)模型測(cè)試模型。首先應(yīng)建立業(yè)務(wù)模型,再從業(yè)務(wù)模型向系統(tǒng)模型延伸 用例主要用于建立問題域的業(yè)務(wù)用例模型和系統(tǒng)用例模型, 最后建立起代表系統(tǒng)需求的完整的用例模型用例模型是開發(fā)者與

43、客戶交流的紐帶.客戶能夠看得懂用例模型。用例模型作為軟件項(xiàng)目開發(fā)的后續(xù)基礎(chǔ),也是開發(fā)活動(dòng)的指南。層次化用例圖描述一個(gè)復(fù)雜的大系統(tǒng),可以將系統(tǒng)分解為由若干子系統(tǒng)組成,子系統(tǒng)還可以有自己的下屬系統(tǒng)子系統(tǒng),形成一個(gè)系統(tǒng)層次結(jié)構(gòu)。每一個(gè)子系統(tǒng)都需要相應(yīng)的用例圖進(jìn)行描述,用例圖之間也具有了層次結(jié)構(gòu)。高層系統(tǒng)的用例可以分解為若干子系統(tǒng)的用例。這些具有層次結(jié)構(gòu)的用例圖可以簡(jiǎn)潔、全面、完整地描述用例模型。對(duì)于功能需求簡(jiǎn)單的系統(tǒng),可不對(duì)用例圖進(jìn)行層次化.層次化用例圖用例圖可以描述一個(gè)系統(tǒng)(或子系統(tǒng))的系統(tǒng)生存環(huán)境或系統(tǒng)功能需求1功能需求用例圖描述系統(tǒng)功能需求的用例圖。要在圖上列出行為者和相關(guān)用例,并對(duì)每一個(gè)行為

44、者和用例給出說明描述。2生存環(huán)境用例圖描述系統(tǒng)生存環(huán)境的用例圖。要在圖上列出行為者和相關(guān)用例,并將用例和行為者、用例和用例之間的各種關(guān)聯(lián)標(biāo)注出來客戶需求分析中的活動(dòng)圖活動(dòng)圖(activity diagram)是UML的動(dòng)態(tài)視圖之一,用來描述事物或?qū)ο蟮幕顒?dòng)變化流程。 活動(dòng)圖用于對(duì)系統(tǒng)的動(dòng)態(tài)行為建模。(1)表示完成一個(gè)操作所需要的活動(dòng)(2)描述一個(gè)用例實(shí)例(場(chǎng)景)的活動(dòng).活動(dòng)圖也是一種流程圖遷移遷移與狀態(tài)圖不同,活動(dòng)圖的遷移是無條件的,一個(gè)活動(dòng)結(jié)束即可自動(dòng)進(jìn)入下一個(gè)活動(dòng).條件判斷條件判斷是一個(gè)轉(zhuǎn)折點(diǎn),活動(dòng)遷移按照滿足條件的方向進(jìn)行.條件是一個(gè)邏輯表達(dá)式,活動(dòng)沿邏輯真的分支遷移.147并發(fā)活動(dòng):

45、分劈與接合: 用來對(duì)并發(fā)的控制流建模。分劈活動(dòng)表示一個(gè)源活動(dòng)分劈為多個(gè)目標(biāo)活動(dòng)。接合活動(dòng)表示多個(gè)源活動(dòng)接合為一個(gè)目標(biāo)活動(dòng)。分劈接合并發(fā)分劈并發(fā)接合活動(dòng)圖中的幾個(gè)基本概念1. 動(dòng)作狀態(tài)(Action State)2. 活動(dòng)狀態(tài)(Activity State)3. 動(dòng)作流(Action Flow)4. 泳道(Swimlane)5. 對(duì)象流(Object Flow)1.動(dòng)作狀態(tài)動(dòng)作狀態(tài)是指執(zhí)行原子的、不可中斷的動(dòng)作,并在此動(dòng)作完成后通過完成轉(zhuǎn)換轉(zhuǎn)向另一個(gè)狀態(tài)的狀態(tài)。 動(dòng)作狀態(tài)使用平滑的圓角矩形表示,動(dòng)作狀態(tài)所表示的動(dòng)作寫在圓角矩形內(nèi)部。 動(dòng)作狀態(tài)的特點(diǎn):動(dòng)作狀態(tài)是原子的,它是構(gòu)造活動(dòng)圖的最小單位,已

46、經(jīng)無法分解為更小的部分。動(dòng)作狀態(tài)是不可中斷的狀態(tài),它一旦開始運(yùn)行就不能中斷,一直運(yùn)行到結(jié)束。動(dòng)作狀態(tài)是瞬時(shí)的行為,它所占用的處理事件極短,有時(shí)甚至可以忽略。動(dòng)作狀態(tài)和狀態(tài)圖中的狀態(tài)不同,它不能有入口動(dòng)作和出口動(dòng)作,更不能有內(nèi)部轉(zhuǎn)移。在一張活動(dòng)圖中,動(dòng)作狀態(tài)允許多處出現(xiàn)。 2. 活動(dòng)狀態(tài)活動(dòng)狀態(tài)用于表達(dá)狀態(tài)機(jī)中的一個(gè)非原子的運(yùn)行。 活動(dòng)狀態(tài)的表示圖標(biāo)也是平滑的圓角矩形,并可以在圖標(biāo)中給出入口動(dòng)作和出口動(dòng)作等信息?;顒?dòng)狀態(tài)的特點(diǎn):活動(dòng)狀態(tài)可以分解成其他子活動(dòng)或動(dòng)作狀態(tài),由于它是一組不可中斷的動(dòng)作或操作的組合,所以可以被中斷?;顒?dòng)狀態(tài)的內(nèi)部活動(dòng)可以用另一個(gè)活動(dòng)圖來表示。和動(dòng)作狀態(tài)不同,活動(dòng)狀態(tài)可以有

47、入口動(dòng)作和出口動(dòng)作,也可以有內(nèi)部轉(zhuǎn)移。動(dòng)作狀態(tài)是活動(dòng)狀態(tài)的一個(gè)特例,如果某個(gè)活動(dòng)狀態(tài)只包括一個(gè)動(dòng)作,那么它就是一個(gè)動(dòng)作狀態(tài)。 3.動(dòng)作流所有動(dòng)作狀態(tài)之間的轉(zhuǎn)換流稱之為動(dòng)作流。 無條件動(dòng)作流條件動(dòng)作流條件分支條件合并 4 泳道 泳道是活動(dòng)圖中的區(qū)域劃分,每一個(gè)泳道代表一個(gè)責(zé)任區(qū)域,指明活動(dòng)是由誰負(fù)責(zé)的或發(fā)起的。一個(gè)泳道中包括一組相關(guān)活動(dòng)。泳道5.活動(dòng)圖中的對(duì)象 對(duì)象流: 反映活動(dòng)與對(duì)象之間的依賴關(guān)系,表示對(duì)象對(duì)活動(dòng)的作用或活動(dòng)對(duì)對(duì)象的影響,用依賴關(guān)系表示。對(duì)象流1)如果箭頭從活動(dòng)指向?qū)ο?,表示活?dòng)對(duì)對(duì)象的創(chuàng)建、修改或撤銷等的影響;2)如果箭頭從對(duì)象指向活動(dòng),表示該活動(dòng)將使用所指向的對(duì)象。對(duì)象下的

48、方括號(hào)表示對(duì)象的狀態(tài)動(dòng)作狀態(tài)的分劈和同步接合要成對(duì)出現(xiàn).同步桿一個(gè)線程經(jīng)過同步桿”分劈”后分為幾個(gè)線程,當(dāng)這幾個(gè)線程全部執(zhí)行完畢后,再經(jīng)過同步桿”接合”為一個(gè)新線程,這就是”同步并發(fā)遷移”。條件線程,在執(zhí)行時(shí),該線程的條件為“假”,對(duì)與同步“接合”而言,就認(rèn)為該線程已執(zhí)行完畢?;顒?dòng)圖中的并發(fā)與同步活動(dòng)動(dòng)態(tài)并發(fā)指一個(gè)動(dòng)作或活動(dòng)可以并發(fā)重復(fù)執(zhí)行,其并發(fā)執(zhí)行次數(shù)由運(yùn)動(dòng)時(shí)的并發(fā)表達(dá)式確定.圖3-21是圖3-20的簡(jiǎn)化活動(dòng)圖.3.具有層次關(guān)系的活動(dòng)圖活動(dòng)按其構(gòu)成可分為簡(jiǎn)單活動(dòng)和組合活動(dòng)。簡(jiǎn)單活動(dòng):不能再分解的活動(dòng);組合活動(dòng):一個(gè)內(nèi)部嵌套了若干活動(dòng)或動(dòng)作的活動(dòng)。被嵌套的活動(dòng)稱為子活動(dòng).按結(jié)構(gòu)層次關(guān)系描述活動(dòng)圖時(shí),可以在最高層只描述幾個(gè)組合活動(dòng),不必涉及子活動(dòng)的內(nèi)容.組合活動(dòng)查詢價(jià)格簡(jiǎn)單活動(dòng)課堂練習(xí)學(xué)生請(qǐng)假流程1、學(xué)生請(qǐng)假須先經(jīng)班主任同意;2、班主任在準(zhǔn)假時(shí),如學(xué)生請(qǐng)假時(shí)間超越審批權(quán)限,還要請(qǐng)系辦審批,經(jīng)系辦審批后,系辦將假條存根留下,事后轉(zhuǎn)班主任存查。3、學(xué)生請(qǐng)假獲準(zhǔn)后,應(yīng)立即報(bào)告班長(zhǎng),以便班長(zhǎng)向任課教師報(bào)告。2022/9/26162需求分析用例建模案例客戶需求分析1業(yè)務(wù)組織結(jié)構(gòu)(綜述)“企業(yè)綜合信息管理系統(tǒng)”的用戶是企業(yè)各級(jí)管理部門的工作人員、公

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論