![UML面向?qū)ο笤O(shè)計(jì)與分析教程配套課件_第1頁](http://file4.renrendoc.com/view14/M05/16/03/wKhkGWbVPWaAUGUlAAHyUM2RcXk110.jpg)
![UML面向?qū)ο笤O(shè)計(jì)與分析教程配套課件_第2頁](http://file4.renrendoc.com/view14/M05/16/03/wKhkGWbVPWaAUGUlAAHyUM2RcXk1102.jpg)
![UML面向?qū)ο笤O(shè)計(jì)與分析教程配套課件_第3頁](http://file4.renrendoc.com/view14/M05/16/03/wKhkGWbVPWaAUGUlAAHyUM2RcXk1103.jpg)
![UML面向?qū)ο笤O(shè)計(jì)與分析教程配套課件_第4頁](http://file4.renrendoc.com/view14/M05/16/03/wKhkGWbVPWaAUGUlAAHyUM2RcXk1104.jpg)
![UML面向?qū)ο笤O(shè)計(jì)與分析教程配套課件_第5頁](http://file4.renrendoc.com/view14/M05/16/03/wKhkGWbVPWaAUGUlAAHyUM2RcXk1105.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1頁UML面向?qū)ο笤O(shè)計(jì)與分析教程
配套課件第2頁第1章面向?qū)ο笈cUML本章概述本章的學(xué)習(xí)目標(biāo)主要內(nèi)容第3頁本章概述面向?qū)ο蠹夹g(shù)是一種系統(tǒng)開發(fā)方法,是軟件工程學(xué)的一個(gè)重要分支。面向?qū)ο蠼Ec設(shè)計(jì)是使用現(xiàn)實(shí)世界的概念模型來思考問題的一種方法。對(duì)于理解問題、與應(yīng)用領(lǐng)域?qū)<医涣鳌⒔F髽I(yè)級(jí)應(yīng)用、編寫文檔、設(shè)計(jì)程序和數(shù)據(jù)庫來說,面向?qū)ο竽P投挤浅S杏?。UML(UnifiedModelingLanguage,統(tǒng)一建模語言)是一種建模語言,是用來為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明可視化和編制文檔的建模方法。本章將全面介紹面向?qū)ο笈cUML的基本概念。第4頁本章的學(xué)習(xí)目標(biāo)理解面向?qū)ο蟮暮x理解軟件工程過程框架掌握類和對(duì)象的關(guān)系掌握封裝、繼承、多態(tài)掌握UML的含義和特點(diǎn)主要內(nèi)容:面向?qū)ο笏枷氲幕靖拍蠲嫦驅(qū)ο蟮娜笠孛嫦驅(qū)ο笈c項(xiàng)目設(shè)計(jì)用面向?qū)ο笏枷虢⑾到y(tǒng)模型主要內(nèi)容第5頁1、面向?qū)ο笏枷氲幕靖拍罹幊毯?jiǎn)史
機(jī)器碼:使用二進(jìn)制數(shù)字;匯編語言:使用字母數(shù)字符號(hào)作為機(jī)器碼的速記方式,通過匯編程序轉(zhuǎn)換為機(jī)器碼;高級(jí)語言:使用有高級(jí)結(jié)構(gòu)的語言編程,通過編譯程序轉(zhuǎn)換為機(jī)器碼;結(jié)構(gòu)化編程:自頂向下,逐步細(xì)分;面向?qū)ο缶幊?ObjectOrientedProgramming,OOP):以對(duì)象為基礎(chǔ),以消息(或事件)來驅(qū)動(dòng)對(duì)象執(zhí)行處理。第6頁一、面向?qū)ο笏枷氲幕靖拍?、什么叫面向?qū)ο?/p>
從程序設(shè)計(jì)方法上來講,面向?qū)ο蠹夹g(shù)是一種自下而上的程序設(shè)計(jì)方法,它不像面向過程程序設(shè)計(jì)那樣一開始就需要使用一個(gè)主函數(shù)來概括出整個(gè)程序,面向?qū)ο蟪绦蛟O(shè)計(jì)往往從問題的一部分著手,一點(diǎn)一點(diǎn)地構(gòu)建出整個(gè)程序。第7頁一、面向?qū)ο笏枷氲幕靖拍?、什么叫面向?qū)ο?/p>
學(xué)生信息管理系統(tǒng)
例子:第8頁一、面向?qū)ο笏枷氲幕靖拍?、什么叫面向?qū)ο?/p>
用戶需求的變化大部分是針對(duì)功能的,因此,這種變化對(duì)于基于過程的設(shè)計(jì)來說是災(zāi)難性的。
應(yīng)對(duì)需求變化的能力強(qiáng)。在軟件開發(fā)過程中,始終強(qiáng)調(diào)軟件的可讀性、可修改性和可測(cè)試性是軟件的重要的質(zhì)量指標(biāo)。
便于理解復(fù)雜的系統(tǒng),并能提高系統(tǒng)維護(hù)性。提高重用性。第9頁一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
對(duì)象(object)是面向?qū)ο笙到y(tǒng)的基本構(gòu)造塊,是一些相關(guān)的變量和方法的軟件集。第10頁一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
可用一個(gè)飛行試駕程序來代表現(xiàn)實(shí)世界中的正在飛行的飛機(jī);用機(jī)床數(shù)控程序來代表現(xiàn)實(shí)世界的運(yùn)行的機(jī)床。可以利用對(duì)象來代表現(xiàn)實(shí)世界中的對(duì)象:第11頁一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
點(diǎn)擊按鈕事件就是一個(gè)用在GUI窗口系統(tǒng)的公共對(duì)象,它可以代表用戶點(diǎn)擊程序界面中的一個(gè)確定按鈕的動(dòng)作;現(xiàn)實(shí)世界中的一個(gè)合同、銀行賬號(hào)、游戲方法、某個(gè)規(guī)則、基準(zhǔn)等也使用對(duì)象代表。同樣可以使用對(duì)象來代表抽象的概念:第12頁一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
物體(看得到的東西)概念(看不到的東西)對(duì)象第13頁描述對(duì)象
描述對(duì)象的過程,就是對(duì)現(xiàn)實(shí)世界中的對(duì)象進(jìn)行抽象的過程。在抽象的過程中,對(duì)象是獨(dú)立的程序模塊,既有自己的屬性,又有自己的行為(也可以說有自己的數(shù)據(jù)和進(jìn)程)。一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
第14頁一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
對(duì)象具有屬性值——刻畫對(duì)象的靜態(tài)特征第15頁一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
對(duì)象具有行為——刻畫對(duì)象的動(dòng)態(tài)特征第16頁
對(duì)象會(huì)對(duì)其他對(duì)象發(fā)來的要求做出反應(yīng)其他對(duì)象發(fā)來的要求——消息消息的接受窗口——接口
對(duì)消息的反應(yīng)——操作(行為)一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
第17頁
對(duì)象具有關(guān)系通過連接不同的物體,可描述更加復(fù)雜的信息把多個(gè)物體歸納為更大的群組,能便于理解信息一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
第18頁
對(duì)象之間的關(guān)系:關(guān)聯(lián)聚合組合一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
第19頁關(guān)聯(lián)是一種弱連接:對(duì)象之間不完全相互依賴。一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
第20頁聚合表示把對(duì)象放在一起,組成一個(gè)更大的對(duì)象。聚合形成“部分-整體”層次結(jié)構(gòu),它隱含了較大的依賴性,至少是整體對(duì)部分的依賴。一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
第21頁組合(composition)是一種特殊的聚合,強(qiáng)調(diào)整體和部分具有相同的生命期。一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
publicclassCircle{publicintradius;Pointcenter;}publicclassStyle{intx,y;}第22頁
對(duì)象可唯一識(shí)別即使對(duì)象有相同屬性,還是能唯一識(shí)別一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
第23頁
對(duì)象的特征
屬性
※
具有表示狀態(tài)或者特性的值
操作(行為)
※
提供某種服務(wù),或更改對(duì)象內(nèi)部的屬性
※
一般用動(dòng)詞表示
關(guān)系
識(shí)別性一、面向?qū)ο笏枷氲幕靖拍?、對(duì)象
第24頁一、面向?qū)ο笏枷氲幕靖拍?、類
類(Class)是具有相同屬性和操作的一組對(duì)象的組合,也就是說,抽象模型中的“類”描述了一組相似對(duì)象的共同特征,為屬于該類的全部對(duì)象提供了統(tǒng)一的抽象描述。第25頁
著眼于對(duì)象的屬性和行為的共同性,并進(jìn)行分類后形成的把這個(gè)工作稱作類化,是抽象化的基本方法之一反之,把通過類來創(chuàng)建對(duì)象的工作稱作實(shí)例化類是具有相同屬性和操作的對(duì)象集合的總稱類封裝了客觀世界中對(duì)象實(shí)體的特征與行為,即屬性與方法一、面向?qū)ο笏枷氲幕靖拍?、類
第26頁類的例子第27頁找一下類
找到幾個(gè)類?第28頁分類狀況不同,結(jié)果也不同第29頁類和對(duì)象的關(guān)系
每一個(gè)對(duì)象都是某一個(gè)類的實(shí)例每一個(gè)類在某一時(shí)刻都有零個(gè)或更多的實(shí)體類是靜態(tài)的;它們的存在、語義和關(guān)系在執(zhí)行前就已經(jīng)定義好了對(duì)象是動(dòng)態(tài)的;它們?cè)诔绦驁?zhí)行時(shí)可以被創(chuàng)建和刪除第30頁一、面向?qū)ο笏枷氲幕靖拍?、消息與事件
所謂消息(Message)是指描述事件發(fā)生的信息,是對(duì)象間相互聯(lián)系和相互作用的方式。一個(gè)消息主要由5部分組成:消息的發(fā)送對(duì)象、消息的接收對(duì)象、消息傳遞方式、消息內(nèi)容(參數(shù))、消息的返回。傳入的消息內(nèi)容的目的有兩個(gè),一個(gè)是讓接受請(qǐng)求的對(duì)象獲取執(zhí)行任務(wù)的相關(guān)信息,另一個(gè)是行為指令。第31頁一、面向?qū)ο笏枷氲幕靖拍?、消息與事件
所謂事件通常是指一種由系統(tǒng)預(yù)先定義而由用戶或系統(tǒng)發(fā)出的動(dòng)作。事件作用于對(duì)象,對(duì)象識(shí)別事件并作出相應(yīng)反應(yīng)。第32頁二、面向?qū)ο蟮娜笠?、封裝
封裝(Encapsulation)是把對(duì)象的屬性(狀態(tài))和操作(行為)綁到一起的機(jī)制,把對(duì)象形成一個(gè)獨(dú)立的整體,并且盡可能的隱藏對(duì)象的內(nèi)部細(xì)節(jié)。第33頁二、面向?qū)ο蟮娜笠?、封裝
封裝有兩層含義:一是結(jié)合性:把對(duì)象的全部狀態(tài)和行為結(jié)合一起,形成一個(gè)不可分割的整體。對(duì)象的私有屬性只能夠由對(duì)象的行為來修改和讀取。二是信息隱蔽性:盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié),與外界的聯(lián)系只能夠通過外部接口來實(shí)現(xiàn)。第34頁二、面向?qū)ο蟮娜笠?、封裝
封裝性應(yīng)滿足的條件:有一個(gè)清晰的邊界;有確定的接口;受保護(hù)的內(nèi)部實(shí)現(xiàn)。第35頁二、面向?qū)ο蟮娜笠?、封裝
封裝是面向?qū)ο缶幊谭乐钩绦騿T相互干擾的一種方式。例子:借錢。第36頁二、面向?qū)ο蟮娜笠?、封裝
封裝是一個(gè)重要原則,是指把屬性和操作封裝進(jìn)一個(gè)對(duì)象里,它的內(nèi)部信息對(duì)外界隱藏,不允許外界直接存取對(duì)象的屬性,只能通過對(duì)象提供的有限的接口對(duì)對(duì)象的屬性數(shù)據(jù)進(jìn)行操作。封裝的信息屏蔽作用反映了事物的相對(duì)獨(dú)立性,我們可以只關(guān)心它對(duì)外所提供的接口,即能夠提供什么樣的服務(wù),而不用去關(guān)注其內(nèi)部的細(xì)節(jié)問題。第37頁二、面向?qū)ο蟮娜笠?、繼承
對(duì)于客觀世界的認(rèn)知,既應(yīng)看到其共性,也應(yīng)看到其特性——如果只考慮事物的共性,不考慮事物的特性,就不能反映出客觀世界中事物之間的層次關(guān)系,從而不能完整地、正確地對(duì)客觀世界進(jìn)行抽象的描述。第38頁二、面向?qū)ο蟮娜笠?、繼承
如果說運(yùn)用抽象的原則就是舍棄對(duì)象的特性,提取其共性,從而得到一個(gè)對(duì)象集的類的話,那么在這個(gè)類的基礎(chǔ)上,再重新考慮抽象過程中被舍棄的那一部分對(duì)象的特性,則可以形成一個(gè)新的類,這個(gè)類具有前一個(gè)類的全部特征,是前一個(gè)類的子集,從而形成一種層次結(jié)構(gòu),即繼承結(jié)構(gòu)。第39頁二、面向?qū)ο蟮娜笠?、繼承
繼承(Inheritance)是一種連接類與類的之間的層次模型。繼承是指特殊類的對(duì)象擁有其一般類的屬性和行為。第40頁第41頁繼承了其它類屬性和方法的類稱為子類,被繼承的類稱為父類或超類。子類復(fù)用父類屬性和方法的過程,稱為繼承或泛化。二、面向?qū)ο蟮娜笠?、繼承
第42頁
繼承是一種連接類與類之間的層次模型
繼承意味著“自動(dòng)地?fù)碛小被颉半[含地復(fù)制”,即在特殊類中不必重新對(duì)已經(jīng)在一般類中所定義過的屬性和行為進(jìn)行定義,而是特殊類自動(dòng)地?fù)碛幸话泐惖膶傩院托袨?/p>
繼承對(duì)類的重用性提供了一種明確表述共性的方法,即一個(gè)特殊類既有自己定義的屬性和方法,又有繼承下來的屬性和行為
繼承是傳遞的二、面向?qū)ο蟮娜笠?、繼承
第43頁
使子類能夠比不使用繼承直接進(jìn)行描述的類更加簡(jiǎn)潔:子類只需要描述哪些與父類不同的地方,不使用繼承而去直接描述時(shí),需要將父類的屬性和行為全部再進(jìn)行描述;能夠重用和擴(kuò)展現(xiàn)有類庫資源:當(dāng)使用已封裝好的類庫時(shí),如果需要對(duì)某個(gè)類進(jìn)行擴(kuò)展,通過繼承的方式很容易實(shí)現(xiàn),而不需要再去重新編寫;使軟件易于維護(hù)和修改:當(dāng)要修改、增加某一屬性和行為時(shí),只需要在相應(yīng)地類中進(jìn)行改動(dòng),而它派生的所有類將自動(dòng)地做了相應(yīng)修改二、面向?qū)ο蟮娜笠?、繼承
第44頁二、面向?qū)ο蟮娜笠?、多態(tài)
第45頁二、面向?qū)ο蟮娜笠?、多態(tài)
第46頁二、面向?qū)ο蟮娜笠?、多態(tài)
第47頁二、面向?qū)ο蟮娜笠?、多態(tài)
多態(tài)性(Polymorphism)是指在兩個(gè)或多個(gè)屬于相同類中同一函數(shù)名對(duì)應(yīng)多個(gè)具有相似功能的不同函數(shù),可以使用相同的調(diào)用方式來調(diào)用這些具有不同功能的同名函數(shù)。第48頁
多態(tài)性既可應(yīng)用于變量(多態(tài)變量),又可應(yīng)用于消息(多態(tài)消息);
多態(tài)變量表示值在不同的時(shí)刻有不同的類型;
多態(tài)消息表示有多個(gè)方法與對(duì)象相關(guān)。二、面向?qū)ο蟮娜笠?、多態(tài)
第49頁下面看一組變量的定義:多態(tài)變量二、面向?qū)ο蟮娜笠?、多態(tài)
第50頁再看下面的類層次結(jié)構(gòu):多態(tài)變量二、面向?qū)ο蟮娜笠?、多態(tài)
第51頁因此,以下語句是合法的:多態(tài)變量從類的定義上來看,Truck和Train都是陸上交通工具,因此可以被當(dāng)作陸上交通工具來對(duì)待;從面向?qū)ο蟮某绦蛟O(shè)計(jì)思想來看,允許將一個(gè)子類型的實(shí)例賦值給它的祖先類型,因?yàn)樗邪l(fā)送給祖先類型的消息都可以發(fā)送給子類型二、面向?qū)ο蟮娜笠?、多態(tài)
第52頁
多態(tài)變量
lv先是指向Truck,而后又指向Train,所以它是一個(gè)多態(tài)變量;
多態(tài)允許把變量關(guān)聯(lián)到子類對(duì)象上,不能反向——也就是說,任何一個(gè)子類的對(duì)象都可以說成是其父類的一個(gè)對(duì)象,但是反之則不一定了,例如,我們可以說白馬是馬,但是不能說馬一定是白馬第53頁
如下圖所示的Bird、Finch、Eagle和Human類都有flyTo方法多態(tài)消息二、面向?qū)ο蟮娜笠?、多態(tài)
第54頁
Finch類和Eagle類的flyTo方法有著類似的算法(都用來描述鳥類的飛行,但是雀類和鷹類的具體飛行方式仍有區(qū)別);flyTo方法在Human類中是獨(dú)立定義的,它與Finch類和Eagle類中的flyTo方法有著完全不同的算法(人類是不能飛行,只能乘坐飛機(jī));上述例子說明,在面向?qū)ο蟮恼Z言中,任何消息都可以關(guān)聯(lián)多個(gè)方法,這些方法或者是在多個(gè)類中是獨(dú)立的,或者由子類重新定義了。
多態(tài)消息二、面向?qū)ο蟮娜笠?、多態(tài)
第55頁UML
統(tǒng)一建模語言(UnifiedModelingLanguage)
統(tǒng)一的含義建模:可視化——圖形表示法,以圖形化的方法構(gòu)建系統(tǒng)分析與軟件設(shè)計(jì)模型
語言統(tǒng)一的可視化建模語言(面向?qū)ο筌浖_發(fā)的可視化描述)三、UML第56頁問題:什么是UML?什么人用UML?
UML能做什么?三、UML第57頁UML的重要性:軟件系統(tǒng)是產(chǎn)品,開發(fā)者和使用者是不同群體,對(duì)于一個(gè)復(fù)雜的軟件系統(tǒng),開發(fā)必須由多個(gè)方面人員參與、合作共同完成,它必須有完整的從分析到實(shí)現(xiàn)、使用和維護(hù)的文檔軟件系統(tǒng)必須像傳統(tǒng)工業(yè)產(chǎn)品一樣建模,把一個(gè)復(fù)雜的系統(tǒng)按問題的不同方面以一種約定好的、為大家共同接受的描述方式分別進(jìn)行全面而詳盡的描述,以便人們交流在試圖交流、理解一個(gè)系統(tǒng)時(shí),可根據(jù)人們所關(guān)心的某一方面的問題,查閱對(duì)應(yīng)的系統(tǒng)模型,從而得到對(duì)此問題的理解另外,如果整個(gè)系統(tǒng)的功能、原理和結(jié)構(gòu)沒有一個(gè)全面而詳細(xì)的記載的話,將會(huì)對(duì)此軟件產(chǎn)品的開發(fā)、維護(hù)和升級(jí)產(chǎn)生不利的結(jié)果三、UML第58頁第59頁第2章UML構(gòu)成與建模工具RationalRose簡(jiǎn)介本章概述本章的學(xué)習(xí)目標(biāo)主要內(nèi)容第60頁本章概述UML(統(tǒng)一建模語言)是為軟件系統(tǒng)的制品進(jìn)行詳述(specifying)、可視化(visualizing)、構(gòu)造化(constructing)、文檔化(documenting)的一種語言。UML目前是軟件行業(yè)標(biāo)準(zhǔn)的建模語言??梢圆捎肬ML對(duì)需求、分析、設(shè)計(jì)、實(shí)現(xiàn)、部署等工作進(jìn)行標(biāo)準(zhǔn)的形式化描述,達(dá)到交流共同的作用。RationalRose是基于UML的可視化建模工具。本章將介紹UML的相關(guān)內(nèi)容和RationalRose工具。第61頁本章的學(xué)習(xí)目標(biāo)理解UML九種圖的含義理解UML視圖掌握UML的基本元素掌握RationalRose的基本操作掌握RationalRose雙向工程UML概述UML視圖UML圖RationalRose建模工具主要內(nèi)容第62頁63/76一、UML概述UML的誕生與發(fā)展
創(chuàng)始于1994年10月由GradyBooch、JimRumbaugh和IvarJacobson共同提出,1996年正式命名;1997年被OMG采納;64/76一、UML概述什么是UMLUML是一種Language(語言);UML是一種Modeling(建模)Language;UML是Unified(統(tǒng)一)ModelingLanguage;65/76一、UML概述UML的特點(diǎn)統(tǒng)一標(biāo)準(zhǔn)面向?qū)ο罂梢暬?、表達(dá)能力強(qiáng),是一個(gè)龐大的符號(hào)體系UML的結(jié)構(gòu)66/76UMLStructure構(gòu)造塊buildingblocks公共機(jī)制commonmechanisms架構(gòu)architecture基本UML建模元素、關(guān)系和圖達(dá)到特定目標(biāo)的公共UML方法系統(tǒng)架構(gòu)的UML視圖架構(gòu)67/76架構(gòu)architecture用例視圖邏輯視圖實(shí)現(xiàn)視圖部署視圖進(jìn)程視圖構(gòu)造塊68/76構(gòu)造塊buildingblocks物件things關(guān)系relationships圖diagrams建模元素本身把物件聯(lián)系在一起,關(guān)系說明兩個(gè)或多個(gè)物件時(shí)如何語義相關(guān)的UML模型的視圖,它們展現(xiàn)物件的集合,“講述關(guān)于軟件系統(tǒng)的故事”,是我們可視化系統(tǒng)將做什么(分析級(jí)圖)或者系統(tǒng)如何做(設(shè)計(jì)級(jí)圖)的方法物件69/76物件things結(jié)構(gòu)物件行為物件分組物件注解物件UML模型中的名詞,如類、接口、協(xié)作、用例、活動(dòng)類、組件、節(jié)點(diǎn)UML模型的動(dòng)詞,如交互、狀態(tài)機(jī)包,它用于把語義上相關(guān)的建模元素分組為內(nèi)聚的單元注解,它附加到模型以捕獲特殊信息,同黃色便箋很相像關(guān)系關(guān)系relationships關(guān)聯(lián)association依賴dependency泛化generalization實(shí)現(xiàn)realization描述對(duì)象之間的一組鏈接物件的改變引起依賴物件的語義改變一個(gè)元素是另一個(gè)元素的特化,而且它可以取代更一般的元素類元之間的關(guān)系,一個(gè)類元說明一份契約,另一個(gè)類元保證實(shí)現(xiàn)該契約第70頁圖71/76圖diagrams類圖classdiagrams對(duì)象圖objectdiagrams構(gòu)件圖componentdiagrams部署圖deploymentdiagrams用例圖usecasediagrams順序圖sequence`diagrams協(xié)作圖collaborationdiagrams狀態(tài)圖statechartdiagrams活動(dòng)圖activitydiagrams靜態(tài)模型
(系統(tǒng)結(jié)構(gòu))動(dòng)態(tài)模型
(系統(tǒng)行為)公共機(jī)制72/76公共機(jī)制commonmechanisms規(guī)格說明specifications修飾adornments通用劃分commondivisions擴(kuò)展機(jī)制extensibilitymechanismsUML的結(jié)構(gòu)UML構(gòu)造塊公共機(jī)制架構(gòu)物件關(guān)系圖規(guī)格說明修飾公共分類擴(kuò)展機(jī)制用例視圖邏輯視圖進(jìn)程視圖實(shí)現(xiàn)視圖部署視圖結(jié)構(gòu)物件行為物件分組物件注解物件關(guān)聯(lián)依賴泛化實(shí)現(xiàn)類圖順序圖對(duì)象圖協(xié)作圖構(gòu)件圖狀態(tài)圖部署圖活動(dòng)圖用例圖73/7674/76重點(diǎn)內(nèi)容:UML概述
常用的UML元素分析
UML的通用機(jī)制UML的擴(kuò)展機(jī)制第2章UML通用知識(shí)點(diǎn)綜述
75/76二、常用的UML元素分析軟件體系結(jié)構(gòu)的描述——視圖UML是用模型來描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征以及行為或動(dòng)態(tài)特征的,從不同的視角為系統(tǒng)的架構(gòu)建模形成系統(tǒng)的不同視圖(view)。視圖是表達(dá)系統(tǒng)某一方面特征的UML建模構(gòu)件的子集。用例視圖、邏輯視圖、構(gòu)件視圖、進(jìn)程視圖和配置視圖。作用:描述系統(tǒng)的功能需求,找出用例和執(zhí)行者;適用對(duì)象:客戶、分析者、設(shè)計(jì)者、開發(fā)者和測(cè)試者;描述使用的圖:用例圖和活動(dòng)圖;重要性:系統(tǒng)的中心,它決定了其他視圖的開發(fā),用于確認(rèn)和最終驗(yàn)證系統(tǒng)。
用例視圖二、常用的UML元素分析軟件體系結(jié)構(gòu)的描述——視圖第76頁77/76作用:描述如何實(shí)現(xiàn)系統(tǒng)內(nèi)部的功能;適用對(duì)象:分析者、設(shè)計(jì)者、開發(fā)者;描述使用的圖:類圖和對(duì)象圖、狀態(tài)圖、順序圖、合作圖和活動(dòng)圖;重要性:描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)和因發(fā)送消息而出現(xiàn)的動(dòng)態(tài)協(xié)作關(guān)系。
邏輯視圖二、常用的UML元素分析軟件體系結(jié)構(gòu)的描述——視圖作用:描述系統(tǒng)代碼構(gòu)件組織和實(shí)現(xiàn)模塊,及它們之間的依賴關(guān)系;適用對(duì)象:設(shè)計(jì)者、開發(fā)者;描述使用的圖:構(gòu)件圖;重要性:描述系統(tǒng)如何劃分軟件構(gòu)件,如何進(jìn)行編程。構(gòu)件視圖二、常用的UML元素分析軟件體系結(jié)構(gòu)的描述——視圖第78頁79/76作用:描述系統(tǒng)的并發(fā)性,并處理這些線程間的通信和同步;適用對(duì)象:開發(fā)者和系統(tǒng)集成者;描述使用的圖:狀態(tài)圖、順序圖、合作圖、活動(dòng)圖、構(gòu)件圖和配置圖;重要性:將系統(tǒng)分割成并發(fā)執(zhí)行的控制線程及處理這些線程的通信和同步。進(jìn)程視圖二、常用的UML元素分析軟件體系結(jié)構(gòu)的描述——視圖80/76作用:描述系統(tǒng)的物理設(shè)備配置,如計(jì)算機(jī)、硬件設(shè)備以及它們相互間的連接;適用對(duì)象:開發(fā)者、系統(tǒng)集成者和測(cè)試者;描述使用的圖:配置圖;重要性:描述硬件設(shè)備的連接和哪個(gè)程序或?qū)ο篑v留在哪臺(tái)計(jì)算機(jī)上執(zhí)行。
配置視圖二、常用的UML元素分析軟件體系結(jié)構(gòu)的描述——視圖81/76二、常用的UML元素分析軟件體系結(jié)構(gòu)的描述——視圖邏輯視圖構(gòu)件視圖進(jìn)程視圖部署視圖82/76二、常用的UML元素分析UML系統(tǒng)分析與設(shè)計(jì)模型——圖83/76用例圖描述了系統(tǒng)提供的一個(gè)功能單元。用例圖的主要目的是幫助開發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求,包括基于基本流程的“角色”關(guān)系,以及系統(tǒng)內(nèi)用例之間的關(guān)系。使用用例圖可以表示出用例的組織關(guān)系,這種組織關(guān)系包括整個(gè)系統(tǒng)的全部用例或者是完成相關(guān)功能的一組用例。在用例圖中畫出某個(gè)用例方式是在用例圖中繪制一個(gè)橢圓,然后將用例的名稱放在橢圓的中心或橢圓下面的中間位置。2、圖二、常用的UML元素分析用例圖主要使用場(chǎng)合:需求獲取、定義、分析84/76
類圖顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu),表示了不同的實(shí)體(人、事物和數(shù)據(jù))是如何彼此相關(guān)聯(lián)起來。類圖可用于表示邏輯類,邏輯類通常就是用戶的業(yè)務(wù)所談及的事物,比如說學(xué)生、學(xué)校等。類圖還可用于表示實(shí)現(xiàn)類,實(shí)現(xiàn)類就是程序員處理的實(shí)體。
2、圖二、常用的UML元素分析類圖85/76
對(duì)象圖顯示了某一時(shí)刻類的靜態(tài)結(jié)構(gòu)2、圖二、常用的UML元素分析對(duì)象圖86/76
序列圖顯示了一個(gè)具體用例或者用例的一部分的一個(gè)詳細(xì)流程。序列圖有兩個(gè)維度:垂直維度,也稱時(shí)間維度,以發(fā)生的時(shí)間順序顯示消息或調(diào)用的序列;水平維度顯示消息被發(fā)送到的對(duì)象實(shí)例。2、圖二、常用的UML元素分析序列圖87/76協(xié)作圖表示一組對(duì)象間關(guān)系以及交互活動(dòng)。協(xié)作圖以對(duì)象間連接關(guān)系為中心顯示消息交換。2、圖二、常用的UML元素分析協(xié)作圖88/76
狀態(tài)圖表示某個(gè)類所處的不同狀態(tài)及該類在這些狀態(tài)中的轉(zhuǎn)換過程。狀態(tài)圖的符號(hào)集包含了下列五個(gè)基本的元素:初始起點(diǎn),狀態(tài)之間的轉(zhuǎn)換,狀態(tài),判斷點(diǎn),一個(gè)或者多個(gè)終止點(diǎn),它們使用內(nèi)部包含實(shí)心圓的圓來繪制。2、圖二、常用的UML元素分析狀態(tài)圖89/76
活動(dòng)圖是用來表示兩個(gè)或者更多的對(duì)象之間在處理某個(gè)活動(dòng)時(shí)的過程控制流程?;顒?dòng)圖能夠在業(yè)務(wù)單元的級(jí)別上,對(duì)更高級(jí)別的業(yè)務(wù)過程進(jìn)行建模,或者對(duì)低級(jí)別的內(nèi)部類操作進(jìn)行建模。2、圖二、常用的UML元素分析活動(dòng)圖90/76構(gòu)件圖是要指出某些功能實(shí)際存在哪些地方。構(gòu)件圖提供系統(tǒng)的物理視圖,它是根據(jù)系統(tǒng)的代碼構(gòu)件顯示了系統(tǒng)代碼的整個(gè)物理結(jié)構(gòu)。構(gòu)件圖最經(jīng)常用于實(shí)際的編程工作中。在以構(gòu)件為基礎(chǔ)的開發(fā)(CBD)中,構(gòu)件圖為系統(tǒng)架構(gòu)師提供了一個(gè)為解決方案進(jìn)行建模的自然形式。2、圖二、常用的UML元素分析構(gòu)件圖91/76
部署圖是用于表示該軟件系統(tǒng)如何部署到硬件環(huán)境中,它是顯示在系統(tǒng)中的不同的構(gòu)件在何處物理地運(yùn)行,以及如何進(jìn)行彼此的通信。部署圖對(duì)系統(tǒng)的物理運(yùn)行情況進(jìn)行了建模,因此系統(tǒng)的生產(chǎn)人員就能夠很好地利用這種圖來部署實(shí)際的系統(tǒng)。2、圖二、常用的UML元素分析部署圖92/76
部署圖是用于表示該軟件系統(tǒng)如何部署到硬件環(huán)境中,它是顯示在系統(tǒng)中的不同的構(gòu)件在何處物理地運(yùn)行,以及如何進(jìn)行彼此的通信。部署圖對(duì)系統(tǒng)的物理運(yùn)行情況進(jìn)行了建模,因此系統(tǒng)的生產(chǎn)人員就能夠很好地利用這種圖來部署實(shí)際的系統(tǒng)。2、圖二、常用的UML元素分析部署圖93/76系統(tǒng)模型組織的描述
。2、圖二、常用的UML元素分析包圖94/76
在UML中,圖作為一種可視化的方式聚集了相關(guān)需要表達(dá)的事物,并且表達(dá)了這些事物之間的關(guān)系。事物是對(duì)模型中最具有代表性的成分的抽象,關(guān)系描述了事物之間如何彼此關(guān)聯(lián)、相互依賴或作用的。正是關(guān)系把構(gòu)成系統(tǒng)的諸多事物結(jié)合成一個(gè)有機(jī)的整體。3、模型元素二、常用的UML元素分析95/76事物是對(duì)模型中最具有代表性的成分的抽象結(jié)構(gòu)事物:UML中的名詞,它是模型的靜態(tài)部分,描述概念或物理元素。行為事物:UML中的動(dòng)詞,它是模型中的動(dòng)態(tài)部分,是一種跨越時(shí)間、空間的行為。分組事物:UML中的容器,用來組織模型,使模型更加的結(jié)構(gòu)化。注釋事務(wù):UML中的解釋部分,和代碼中的注釋語句一樣,是用來描述模型的。事物3、模型元素二、常用的UML元素分析96/76結(jié)構(gòu)事物類(class)和對(duì)象(object)接口(interface)主動(dòng)類(activeclass)用例(usecase)協(xié)作(collaboration)構(gòu)件(component)節(jié)點(diǎn)(node)事物3、模型元素二、常用的UML元素分析97/76類和對(duì)象類是對(duì)一組具有相同屬性、相同操作、相同關(guān)系和相同語義的對(duì)象的抽象UML中類是用一個(gè)矩形表示的,它包含三個(gè)區(qū)域,最上面是類名、中間是類的屬性、最下面是類的方法對(duì)象則是類的一個(gè)實(shí)例
事物3、模型元素二、常用的UML元素分析98/76接口接口是描述某個(gè)類或構(gòu)件的一個(gè)服務(wù)操作集
事物3、模型元素二、常用的UML元素分析99/76用例與協(xié)作用例是著名的大師IvarJacobson首先提出的,現(xiàn)已經(jīng)成為了面向?qū)ο筌浖_發(fā)中一個(gè)需求分析的最常用工具用例實(shí)例是在系統(tǒng)中執(zhí)行的一系列動(dòng)作,這些動(dòng)作將生成特定執(zhí)行者可見的價(jià)值結(jié)果。一個(gè)
用例定義一組用例實(shí)例。協(xié)作定義了一個(gè)交互,它是由一組共同工作以提供某協(xié)作行為的角色和其他元素構(gòu)
成的一個(gè)群體。對(duì)于某個(gè)用例的實(shí)現(xiàn)就可
以表示為一個(gè)協(xié)作事物3、模型元素二、常用的UML元素分析100/76構(gòu)件在實(shí)際的軟件系統(tǒng)中,有許多要比“類”更大的實(shí)體,例如一個(gè)COM組件、一個(gè)DLL文件、一個(gè)JavaBeans、一個(gè)執(zhí)行文件等等。為了更好地對(duì)在UML模型中對(duì)它們進(jìn)行表示,就引入了構(gòu)件(也譯為組件)構(gòu)件是系統(tǒng)設(shè)計(jì)的一個(gè)模塊化部分,它隱藏了內(nèi)部的實(shí)現(xiàn),對(duì)外提供了一組外部接口。在系統(tǒng)中滿足相同接口的組件可以自由地替換
事物3、模型元素二、常用的UML元素分析101/76節(jié)點(diǎn)為了能夠有效地對(duì)部署的結(jié)構(gòu)進(jìn)行建模,UML引入了節(jié)點(diǎn)這一概念,它可以用來描述實(shí)際的PC機(jī)、打印機(jī)、服務(wù)器等軟件運(yùn)行的基礎(chǔ)硬件節(jié)點(diǎn)是運(yùn)行時(shí)存在的物理元素,它表示了一種可計(jì)算的資源,通常至少有存儲(chǔ)空間和處理能力
事物3、模型元素二、常用的UML元素分析102/76行為事物交互(interaction):是在特定語境中,共同完成某個(gè)任務(wù)的一組對(duì)象之間交換的信息集合交互的表示法很簡(jiǎn)單,就是一條有向直線,并在上面標(biāo)有操作名狀態(tài)機(jī)(statemachine):是一個(gè)對(duì)象或交互在生命周期內(nèi)響應(yīng)事件所經(jīng)歷的狀態(tài)序列在UML模型中將狀態(tài)畫為一個(gè)圓
角矩形,并在矩形內(nèi)寫出狀態(tài)名
稱及其子狀態(tài)
事物3、模型元素二、常用的UML元素分析103/76分組事物對(duì)于一個(gè)中大型的軟件系統(tǒng)而言,通常會(huì)包含大量的類,因此也就會(huì)存在大量的結(jié)構(gòu)事物、行為事物,為了能夠更加有效地對(duì)其進(jìn)行整合,生成或簡(jiǎn)或繁、或宏觀或微觀的模型,就需要對(duì)其進(jìn)行分組。在UML中,提供了“包(Package)”來完成這一目標(biāo)
事物3、模型元素二、常用的UML元素分析104/76注釋事物結(jié)構(gòu)事物是模型的主要構(gòu)造塊,行為事物則是補(bǔ)充了模型中的動(dòng)態(tài)部分,分組事物而是用來更好地組織模型,似乎已經(jīng)很完整了。而注釋事物則是用來錦上添花的,它是用來在UML模型上添加適當(dāng)?shù)慕忉尣糠?/p>
事物3、模型元素二、常用的UML元素分析105/76
UML模型是由各種事物以及這些事物之間的各種關(guān)系構(gòu)成的。關(guān)系是指支配、協(xié)調(diào)各種模型元素存在并相互使用的規(guī)則。
UML中主要包含四種關(guān)系,分別是依賴、關(guān)聯(lián)、泛化和實(shí)現(xiàn)。3、模型元素二、常用的UML元素分析關(guān)系106/76
依賴關(guān)系:依賴關(guān)系指的是兩個(gè)事物之間的一種語義關(guān)系,當(dāng)其中一個(gè)事物(獨(dú)立事物)發(fā)生變化就會(huì)影響另外一個(gè)事物(依賴事物)的語義。3、模型元素二、常用的UML元素分析關(guān)系
關(guān)聯(lián)關(guān)系:關(guān)聯(lián)關(guān)系是一種事物之間的結(jié)構(gòu)關(guān)系,我們用它來描述一組鏈,鏈?zhǔn)菍?duì)象之間的連接。107/76泛化關(guān)系:泛化關(guān)系是事物之間的一種特殊/一般關(guān)系,特殊元素(子元素)的對(duì)象可替代一般元素(父元素)的對(duì)象,也就是我們?cè)诿嫦驅(qū)ο髮W(xué)中常常提起的繼承。3、模型元素二、常用的UML元素分析關(guān)系
實(shí)現(xiàn)關(guān)系:實(shí)現(xiàn)關(guān)系也是UML元素之間的一種語義關(guān)系,它描述了一組操作的規(guī)約和一組對(duì)操作的具體實(shí)現(xiàn)之間的語義關(guān)系。108/76
如果把模型元素當(dāng)成一個(gè)對(duì)象來看待,那么模型元素本身也應(yīng)該具有很多的屬性,這些屬性用于維護(hù)屬于該模型元素的數(shù)據(jù)值。屬性是使用名稱和標(biāo)記值(TaggedValue)的值來定義的。標(biāo)記值指的是一種特定的類型,可以是布爾型、整型或字符型,也可以是某個(gè)類或接口的類型。1、規(guī)則說明三、UML的通用機(jī)制109/76
在UML的圖形表示中,每一個(gè)模型元素都有一個(gè)基本符號(hào),這個(gè)基本符號(hào)可視化地表達(dá)了模型元素最重要的信息。用戶也可以把各種修飾細(xì)節(jié)加到這個(gè)符號(hào)上以擴(kuò)展其含義。這種添加修飾細(xì)節(jié)的做法可以為圖中的模型元素在一些視覺上的效果上發(fā)生一些變化。2、修飾三、UML的通用機(jī)制110/76
在UML的圖形表示中,每一個(gè)模型元素都有一個(gè)基本符號(hào),這個(gè)基本符號(hào)可視化地表達(dá)了模型元素最重要的信息。用戶也可以把各種修飾細(xì)節(jié)加到這個(gè)符號(hào)上以擴(kuò)展其含義。這種添加修飾細(xì)節(jié)的做法可以為圖中的模型元素在一些視覺上的效果上發(fā)生一些變化。2、修飾三、UML的通用機(jī)制111/76
通用劃分是一種保證不同抽象概念層次的機(jī)制。通常我們可以采用兩種方式進(jìn)行通用劃分,一種是對(duì)類和對(duì)象的劃分,另外一種是對(duì)接口和實(shí)現(xiàn)的分離。類和對(duì)象的劃分是指類是一個(gè)抽象而對(duì)象是這種抽象的一個(gè)實(shí)例化。接口和實(shí)現(xiàn)的分離是指接口聲明了一個(gè)操作接口,但是卻不實(shí)現(xiàn)其內(nèi)容,而實(shí)現(xiàn)則表示了對(duì)該操作接口的具體實(shí)現(xiàn),它負(fù)責(zé)如實(shí)地實(shí)現(xiàn)接口的完整語義。類和對(duì)象的劃分保證了實(shí)例及其抽象的劃分,從而使得對(duì)一組實(shí)例對(duì)象的公共靜態(tài)和動(dòng)態(tài)特征無需一一管理和實(shí)現(xiàn),只需要抽象成一個(gè)類,通過類的實(shí)例化實(shí)現(xiàn)對(duì)對(duì)象實(shí)體的管理。
3、通用劃分三、UML的通用機(jī)制112/76重點(diǎn)內(nèi)容:UML概述
常用的UML元素分析UML的通用機(jī)制UML的擴(kuò)展機(jī)制第2章UML通用知識(shí)點(diǎn)綜述
113/76
簡(jiǎn)而言之,構(gòu)造型擴(kuò)展機(jī)制的目的就是基于一個(gè)已存在的模型元素再重新定義一個(gè)新的模型元素。構(gòu)造型就像在模型元素的外面重新添加了一層外殼,這樣就在模型元素上又加入了一個(gè)額外語義。構(gòu)造型的一般表現(xiàn)形式為使用“<<”和“>>”包含構(gòu)造型的名稱在里面,例如<<use>>、<<extends>>等。1、構(gòu)造型四、UML擴(kuò)展機(jī)制114/76
標(biāo)記值是由一對(duì)字符串構(gòu)成,這對(duì)字符串包含一個(gè)標(biāo)記字符串和一個(gè)值字符串,用來存儲(chǔ)著有關(guān)模型元素或表達(dá)元素的一些相關(guān)信息。標(biāo)記值,可以被我們用來擴(kuò)展UML構(gòu)造塊的特性,可以根據(jù)我們的需要來創(chuàng)建詳述元素的新元素。標(biāo)記值可以與任何獨(dú)立元素相關(guān),包括模型元素和表達(dá)元素。標(biāo)記值是當(dāng)我們需要對(duì)一些特性進(jìn)行記錄的時(shí)候而給定元素的值。2、標(biāo)記值四、UML擴(kuò)展機(jī)制115/762、標(biāo)記值四、UML擴(kuò)展機(jī)制116/76
約束機(jī)制用于擴(kuò)展UML構(gòu)造塊的語義,允許建模者和設(shè)計(jì)人員可以增加新的規(guī)則和修改現(xiàn)有的規(guī)則。約束可以表示在UML的規(guī)范表示中不能表示的語義關(guān)系,特別是當(dāng)陳述全局條件或影響許多元素的條件時(shí),約束特別有用。約束使用大括號(hào)和大括號(hào)內(nèi)的字符串表達(dá)式表示,即約束的表現(xiàn)形式為{約束的內(nèi)容}。約束可以附加在表元素、依賴關(guān)系,或注釋上。3、約束四、UML擴(kuò)展機(jī)制117/76一、RationalRose的四種視圖模型
在RationalRose建立的模型中包括四種視圖,分別是用例視圖(UseCaseView)、邏輯視圖(LogicalView)、構(gòu)件視圖(ComponentView)和部署視圖(DeploymentView)。在我們創(chuàng)建一個(gè)RationalRose工程的時(shí)候,會(huì)自動(dòng)包含這四種視圖。118/76一、RationalRose的四種視圖模型
在用例視圖(UseCaseView)中包括了系統(tǒng)中的所有參與者、用例和用例圖,必要時(shí)還可以在用例視圖中添加順序圖、協(xié)作圖、活動(dòng)圖和類圖等。用例視圖是與系統(tǒng)中的實(shí)現(xiàn)是不相關(guān)的,它關(guān)注的是系統(tǒng)功能的高層抽象,適合于對(duì)系統(tǒng)進(jìn)行分析和獲取需求,而不關(guān)注于系統(tǒng)的具體實(shí)現(xiàn)方法。1、用例視圖一、RationalRose的四種視圖模型
邏輯視圖關(guān)注系統(tǒng)如何實(shí)現(xiàn)用例中所描述的功能,主要是對(duì)系統(tǒng)功能性需求提供支持,即在為用戶提供服務(wù)方面,系統(tǒng)所應(yīng)該提供的功能。在邏輯視圖中,用戶將系統(tǒng)更加仔細(xì)的分解為一系列的關(guān)鍵抽象,將這些大多數(shù)來自于問題域的事物通過采用抽象、封裝和繼承的原理,使之表現(xiàn)為對(duì)象或?qū)ο箢惖男问?,借助于類圖和類模板等手段,提供了系統(tǒng)的詳細(xì)設(shè)計(jì)模型圖。在邏輯視圖下的模型元素可以包括類、類工具、用例、接口、類圖、用例圖、協(xié)作圖、順序圖、活動(dòng)圖和狀態(tài)圖等。2、邏輯視圖120/76一、RationalRose的四種視圖模型
構(gòu)件視圖用來描述系統(tǒng)中的各個(gè)實(shí)現(xiàn)模塊以及它們之間的依賴關(guān)系。構(gòu)件視圖包含模型代碼庫,執(zhí)行文件,運(yùn)行庫和其他構(gòu)件的信息,但是按照內(nèi)容來劃分構(gòu)件視圖主要由包、構(gòu)件和構(gòu)件圖構(gòu)成。包是與構(gòu)件相關(guān)的組。構(gòu)件是不同類型的代碼模塊,它是構(gòu)造應(yīng)用的軟件單元,構(gòu)件可以包括源代碼構(gòu)件、二進(jìn)制代碼構(gòu)件以及可執(zhí)行構(gòu)件等等。3、構(gòu)件視圖121/76一、RationalRose的四種視圖模型
在構(gòu)件視圖下的元素可以包括各種構(gòu)件、構(gòu)件圖以及包等。3、構(gòu)件視圖122/76一、RationalRose的四種視圖模型
在構(gòu)件視圖中,同樣可以創(chuàng)建一些的模型元素。在瀏覽器中選擇ComponentView(構(gòu)件視圖)選項(xiàng),右鍵單擊,可以看到在該視圖中允許創(chuàng)建的模型元素件、構(gòu)件圖以及包等。3、構(gòu)件視圖123/76一、RationalRose的四種視圖模型
部署視圖顯示的是系統(tǒng)的實(shí)際部署情況,它是為了便于理解系統(tǒng)如何在一組處理節(jié)點(diǎn)上的物理分布,而在分析和設(shè)計(jì)中使用的構(gòu)架視圖。在系統(tǒng)中,只包含有一個(gè)部署視圖,用來說明了各種處理活動(dòng)在系統(tǒng)各節(jié)點(diǎn)的分布。4、部署視圖124/76一、RationalRose的四種視圖模型
在部署視圖中,可以創(chuàng)建處理器和設(shè)備等的模型元素。在瀏覽器中選擇DeploymentView(部署視圖)選項(xiàng),右鍵單擊,可以看到在該視圖中允許創(chuàng)建的模型元素。4、部署視圖一、RationalRose的四種視圖模型
處理器(Processor):處理器是指任何有處理功能的節(jié)點(diǎn)。節(jié)點(diǎn)是各種計(jì)算資源的通用名稱,包括處理器和設(shè)備兩種類型。設(shè)備(Device)。設(shè)備是指任何沒有處理功能的節(jié)點(diǎn)。例如打印機(jī)。文件(File)。文件是指那些能夠連接到部署視圖中的一些外部文件,用來詳細(xì)的介紹使用部署視圖的各種信息。
URL地址(URL)。URL地址是指能夠連接到部署視圖的一些外部URL地址。這些地址用于介紹部署視圖的相關(guān)信息。中允許創(chuàng)建的模型元素。4、部署視圖126/76一、RationalRose的四種視圖模型
部署視圖考慮的是整個(gè)解決方案的實(shí)際部署情況,所描述的是在當(dāng)前系統(tǒng)結(jié)構(gòu)中所存在的設(shè)備、執(zhí)行環(huán)境和軟件的運(yùn)行時(shí)體系結(jié)構(gòu),它是對(duì)系統(tǒng)拓?fù)浣Y(jié)構(gòu)的最終物理描述。系統(tǒng)的拓?fù)浣Y(jié)構(gòu)描述了所有硬件單元,以及在每個(gè)硬件單元上執(zhí)行的軟件的結(jié)構(gòu)。在這樣的一種體系結(jié)構(gòu)中,我們可以通過部署視圖查看拓?fù)浣Y(jié)構(gòu)中的任何一個(gè)特定的節(jié)點(diǎn),了解正在該節(jié)點(diǎn)上組件執(zhí)行情況,以及該組件中包含了哪些邏輯元素(例如類、對(duì)象、協(xié)作等),并且最終能夠從這些元素追溯到系統(tǒng)初始的需求分析階段。4、部署視圖127/76一、RationalRose:設(shè)計(jì)UML的工具
RationalRose是一個(gè)完全的、具有能滿足所有建模環(huán)境(包括Web開發(fā)、數(shù)據(jù)庫建模以及各種開發(fā)工具和語言)需求能力和靈活性的一套解決方案。RationalRose允許系統(tǒng)開發(fā)人員、系統(tǒng)管理人員和系統(tǒng)分析人員在軟件的各個(gè)開發(fā)周期內(nèi),建立系統(tǒng)地需求和系統(tǒng)的體系架構(gòu)的可視化模型,并且能夠?qū)⑦@些需求和系統(tǒng)的體系架構(gòu)可視化模型轉(zhuǎn)換成代碼,幫助系統(tǒng)開發(fā)。
一、RationalRose的安裝129/76三、RationalRose的使用
在“New”(新建)選項(xiàng)卡中,我們可以選擇創(chuàng)建模型的模板。在“Existing”(打開)選項(xiàng)卡中,我們可以打開一個(gè)已經(jīng)存在的模型,在對(duì)話框左側(cè)的列表中,逐級(jí)找到該模型所在的目錄,然后從右側(cè)的列表中選中該模型,單擊“Open”(打開)按鈕進(jìn)行打開。在“Rencent”(最近使用的模型)選項(xiàng)卡中,我們可以選擇打開一個(gè)最近使用過的模型文件,在選項(xiàng)卡中,選中需要打開的模型,單擊“Open”按鈕或者雙擊該模型文件的圖標(biāo)即可。1、RationalRose的啟動(dòng)界面啟動(dòng)RationalRose130/76CreateNewModel窗體中給出了許多開發(fā)語言的模型向?qū)В_發(fā)者可以根據(jù)自己所采用的語言來進(jìn)行選擇如果不需要特定的語言環(huán)境,單擊Cancel就可以直接進(jìn)入主界面131/76RationalRose主界面132/76133/76三、RationalRose的使用
標(biāo)題欄可以顯示當(dāng)前正在工作的模型文件名稱。對(duì)于剛剛新建還未被保存的模型名稱使用“untitled”表示。此外,標(biāo)題欄還可以顯示當(dāng)前正在編輯的圖的名稱和位置,如ClassDiagram:LogicalView/Main代表的是在LogicalView(邏輯視圖)下創(chuàng)建的名稱為Main的ClassDiagram(類圖)。2、RationalRose的操作界面標(biāo)題欄134/76三、RationalRose的使用
在菜單欄中包含了所有在RationalRose2003中可以進(jìn)行的操作,一級(jí)菜單共有項(xiàng),分別是
“File”(文件)
“Edit”(編輯)
“View”(視圖)
“Format”(格式)
“Browse”(瀏覽)
“Report”(報(bào)告)
“Query”(查詢)
“Tools”(工具)
“Add-Ins”(插件)
“Window”(窗口)
“Help”(幫助)。菜單欄2、RationalRose的操作界面135/76
可以通過“View”(視圖)下的“Toolbars”(工具欄)來定制是否顯示標(biāo)準(zhǔn)工具欄和編輯區(qū)工具欄。單擊“Tools”(工具)下的“Options”(選項(xiàng)),彈出一個(gè)對(duì)話框,選中“Toolbars”(工具欄)選項(xiàng)卡,我們可以在“StandardToolbar”(標(biāo)準(zhǔn)工具欄)復(fù)選框中可以選擇顯示或隱藏標(biāo)準(zhǔn)工具欄,或者工具欄中的選項(xiàng)是否使用大圖標(biāo)。也可以在“DiagramToolbar”(圖形編輯工具欄)中選擇是否顯示編輯區(qū)工具欄,以及編輯區(qū)工具欄顯示的樣式。工具欄2、RationalRose的操作界面三、RationalRose的使用136/76
工作區(qū)由四部分構(gòu)成,瀏覽器、文檔區(qū)、圖形編輯區(qū)和日志區(qū)。瀏覽器和文檔區(qū)位于RationalRose2003工作區(qū)域的左側(cè)。瀏覽器是一種樹形的層次結(jié)構(gòu),可以幫助我們迅速的查找到各種圖或者模型元素。文檔區(qū)用于對(duì)RationalRose2003中所創(chuàng)建的圖或模型元素說明。
工作區(qū)三、RationalRose的使用2、RationalRose的操作界面137/76
編輯區(qū)包含了圖形工具欄和圖的編輯區(qū)域,在圖的編輯區(qū)域中可以根據(jù)圖形工具欄中的圖形元素內(nèi)容繪制相關(guān)信息。在圖的編輯區(qū)添加的相關(guān)模型元素會(huì)自動(dòng)地在瀏覽器中添加,這樣使瀏覽器和編輯區(qū)的信息保持同步。我們也可以將瀏覽器中的模型元素拖動(dòng)到圖形編輯區(qū)中進(jìn)行添加。
工作區(qū)三、RationalRose的使用2、RationalRose的操作界面138/76
日志區(qū)位于RationalRose2003工作區(qū)域的下方,用以記錄了對(duì)模型的一些重要操作工作區(qū)三、RationalRose的使用2、RationalRose的操作界面139/76可以通過選擇“File”(文件)菜單欄下的“New”(新建)命令來創(chuàng)建新的模型,也可以通過標(biāo)準(zhǔn)工具欄下的“新建”按鈕創(chuàng)建新的模型,這時(shí)便會(huì)彈出選擇模板的對(duì)話框,選擇我們想要使用的模板,單擊“OK”(確定)按鈕即可。如果使用模板,RationalRose2003系統(tǒng)就會(huì)將模板的相關(guān)初始化信息添加到創(chuàng)建的模型中,這些初始化信息包含了一些包、類、構(gòu)件和圖等。創(chuàng)建模型三、RationalRose的使用2、RationalRose的基本操作140/76
可通過選擇“File”(文件)菜單欄下的“Save”(保存)命令來保存新建的模型,也可以通過標(biāo)準(zhǔn)工具欄下的按鈕保存新建的模型,保存的RationalRose模型文件的擴(kuò)展名為.mdl??梢酝ㄟ^選擇“File”(文件)菜單欄下的“SaveLogAs”(保存日志)來保存日志,也可以通過“AutoSaveLog”(自動(dòng)保存日志)。
保存模型三、RationalRose的使用2、RationalRose的基本操作141/76
通過選擇“File”(文件)菜單欄下的“Import”(導(dǎo)入)可以用來導(dǎo)入模型、包或類等,可供選擇的文件類型包含.mdl、.ptl、.sub或.cat等,導(dǎo)入模型的對(duì)話框。導(dǎo)入模型,可以利用現(xiàn)成的建模。
導(dǎo)入模型三、RationalRose的使用2、RationalRose的基本操作142/76
通過選擇“File”(文件)菜單欄下的“ExportModel...”(導(dǎo)出模型)可以用來導(dǎo)出模型,導(dǎo)出的文件后綴名為.ptl。*.ptl格式文件類似于模型文件(*.mdl),但是只是模型文件的一部分。模型文件*.mdl則保存完整的模型導(dǎo)出模型三、RationalRose的使用2、RationalRose的基本操作143/76三、RationalRose的使用
RationalRose2003提供了將模型生成相關(guān)網(wǎng)頁從而在網(wǎng)絡(luò)上進(jìn)行發(fā)布的功能,這樣,可以方便的系統(tǒng)模型的設(shè)計(jì)人員將系統(tǒng)的模型內(nèi)容對(duì)其它開發(fā)人員進(jìn)行說明。首先,選擇“Tools”(工具)菜單欄下的“WebPublisher”選項(xiàng)。3、RationalRose的基本操作發(fā)布模型144/76Web發(fā)布器(WebPublisher)創(chuàng)建基于Web(HTML)的模型版本,將模型發(fā)布到Web上,通過瀏覽器順序或非順序地進(jìn)行查看Web發(fā)布器會(huì)重新創(chuàng)建Rose模型元素,包括圖、類、包、關(guān)系、屬性以及操作等Web發(fā)布器所發(fā)布的內(nèi)容可以通過選項(xiàng)控制三、RationalRose的使用3、RationalRose的基本操作發(fā)布模型145/76Web發(fā)布器生成的文件在發(fā)布模型之前,應(yīng)當(dāng)創(chuàng)建一個(gè)新的文件夾發(fā)布一個(gè)模型時(shí),需要提供一個(gè)HTML根文件的名字。通過打開該文件來顯示模型。
三、RationalRose的使用3、RationalRose的基本操作發(fā)布模型146/76三、RationalRose的使用
如果需要設(shè)置發(fā)布的模型生成的圖片格式,可以點(diǎn)擊“Diagram”按鈕,有四個(gè)選項(xiàng)可以提供選擇,分別是“Don’tPublishDiagrams”(不要發(fā)布圖)、WindowsBitmaps(BMP格式)、PortableNetworkGraphics(PNG格式)和JPEG(JPEG格式)?!癉on’tPublishDiagrams”(不要發(fā)布圖)是指不發(fā)布圖像,僅僅包含文本內(nèi)容。其余三種指的是發(fā)布的圖形文件格式。3、RationalRose的基本操作發(fā)布模型147/76三、RationalRose的使用
添加一個(gè)注釋包含以下的步驟:
1打開正在編輯的圖,選擇圖形編輯工具欄中的圖標(biāo),將其拖入到圖中需添加注釋的模型元素附近。也可以選擇“Tools”(工具)菜單下的“Create”(新建)菜單中的“Note”選項(xiàng),在圖中需添加注釋的模型元素附近繪制注釋即可。
2在圖形編輯工具欄中選擇圖標(biāo),或者在“Tools”(工具)菜單下的“Create”(新建)菜單中選擇“NoteAnchor”選項(xiàng),添加注釋與模型元素的超鏈接。刪除注釋的方法很簡(jiǎn)單,選中注釋信息或者注釋超鏈接,按“Delete”或者右鍵選擇“Edit”下“Delete”選項(xiàng)即可。3、RationalRose的基本操作添加或刪除注釋148/76三、RationalRose的使用
創(chuàng)建圖的方式可以通過以下的步驟:
1在視圖或者包中右鍵單擊選擇“New”菜單下的圖或模型元素。
2將創(chuàng)建的圖或模型元素進(jìn)行命名。如果需要?jiǎng)h除模型中的圖或模型元素,需要在瀏覽器中選中該模型元素或圖,右鍵單擊選擇“Delete”即可,這樣在所有圖中存在的該模型元素都會(huì)刪除。如果在圖中選擇該模型元素,按“Delete”或者右鍵選擇“Edit”下“Delete”選項(xiàng)值會(huì)在該圖中刪除,其它圖中不會(huì)產(chǎn)生影響。
3、RationalRose的基本操作添加和刪除圖或模型元素
149/76三、RationalRose的基本設(shè)置點(diǎn)擊“Tools”(工具)菜單下的“Options”選項(xiàng),能設(shè)置字體。
1、字體設(shè)置150/76三、RationalRose的基本設(shè)置在“General”(全局)選項(xiàng)卡中,在“DefaultColor”選項(xiàng)中,點(diǎn)擊相關(guān)按鈕,便會(huì)彈出顏色設(shè)置對(duì)話框中,可以設(shè)置該選項(xiàng)的顏色信息,這些選項(xiàng)包括“LineColor”(線的顏色)和“FillColor”(填充區(qū)顏色)。
2、顏色設(shè)置第151頁第3章需求分析與用例建模本章概述本章的學(xué)習(xí)目標(biāo)主要內(nèi)容第152頁本章概述在需求分析階段,用例模型是把應(yīng)滿足用戶需求的基本功能集(聚)合起來表示的強(qiáng)大工具。對(duì)于正在構(gòu)造的新系統(tǒng),用例描述系統(tǒng)應(yīng)該作什么;對(duì)于已構(gòu)造完畢的系統(tǒng),用例則反映了系統(tǒng)能夠完成什么樣的功能。構(gòu)建用例模型是通過開發(fā)者與客戶(系統(tǒng)使用者)共同協(xié)商完成的,他們要反復(fù)討論需求的規(guī)格說明,達(dá)成共識(shí),明確系統(tǒng)的基本功能,為后階段的工作打下基礎(chǔ)。本章將詳細(xì)介紹用例圖的基本概念以及如何使用RationalRose建模工具來創(chuàng)建用例圖。第153頁本章的學(xué)習(xí)目標(biāo)理解需求分析的含義理解需求分析的必要性和重要性掌握參與者和用例的基本概念掌握用例描述的要點(diǎn)和方法掌握用例之間的各種關(guān)系理解用例粒度的概念理解業(yè)務(wù)用例和系統(tǒng)用例的區(qū)別掌握如何使用RationalRose建立用例模型主要內(nèi)容第154頁主要內(nèi)容:引言——需求分析
什么叫用例圖用例圖的構(gòu)成要素用例的重要元素用例之間的各種重要關(guān)系使用Rose創(chuàng)建用例圖使用Rose創(chuàng)建用例圖的步驟說明155/60需求層次內(nèi)容業(yè)務(wù)需求反映組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求。通常問題定義就是業(yè)務(wù)需求用戶需求描述用戶使用產(chǎn)品必須要完成什么任務(wù),怎么完成,通常是在問題定義的基礎(chǔ)上進(jìn)用戶訪談、調(diào)查,對(duì)用戶使用的場(chǎng)景進(jìn)行整理,從而建立從用戶角度的需求系統(tǒng)需求從系統(tǒng)的角度來說明軟件的需求,它就包括了用特性說明的功能需求,質(zhì)量屬性以及其它非功能需求,還有設(shè)計(jì)約束一、引言什么是需求一、引言什么是需求156/60需求—建造“正確”的系統(tǒng)需求:系統(tǒng)必須滿足的條件或具備的能力RobertGrady軟件質(zhì)量準(zhǔn)則“FURPS”功能性(Functionality)使用性(Usability)可靠性(Reliability)性能(Performance)可支持性(Supportability)非功能性需求一、引言什么是需求157/60系統(tǒng)架構(gòu)如何開始?從用例圖開始!一、引言系統(tǒng)的誕生158/60重點(diǎn)內(nèi)容:引言——需求分析
什么叫用例圖
用例圖的構(gòu)成要素用例的重要元素用例之間的各種重要關(guān)系使用Rose創(chuàng)建用例圖使用Rose創(chuàng)建用例圖的步驟說明第3章需求分析與用例模型159/60一、什么叫用例圖由參與者(Actor)、用例(UseCase)以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的動(dòng)態(tài)視圖稱為用例圖(UseCaseDiagram)。要在用例圖上顯示某個(gè)用例,可繪制一個(gè)橢圓,然后將用例的名稱放在橢圓的中心或橢圓下面的中間位置。要在用例圖上繪制一個(gè)參與者(表示一個(gè)系統(tǒng)用戶),可繪制一個(gè)人形符號(hào)。參與者和用例之間的關(guān)系使用帶箭頭或者不帶箭頭的線段來描述,箭頭表示在這一關(guān)系中哪一方是對(duì)話的主動(dòng)發(fā)起者,箭頭所指方是對(duì)話的被動(dòng)接受者。1、用例圖的含義一、什么叫用例圖1、用例圖的含義160/60一、什么叫用例圖
在用例建模中,為了更加清楚的描述用例或者參與者,會(huì)使用到注釋。1、用例圖的含義161/60一、什么叫用例圖
用例圖是需求分析中的產(chǎn)物,主要作用是描述參與者和用例之間的關(guān)系,幫助開發(fā)人員可視化的了解系統(tǒng)的功能。借助于用例圖,系統(tǒng)用戶、系統(tǒng)分析人員、系統(tǒng)設(shè)計(jì)人員、領(lǐng)域?qū)<夷軌蛞钥梢暬姆绞綄?duì)問題進(jìn)行探討,減少了大量交流上的障礙,便于對(duì)問題達(dá)成共識(shí)。用例圖可視化地表達(dá)了系統(tǒng)的需求,具有直觀、規(guī)范等優(yōu)點(diǎn),克服了純文字性說明的不足。用例方法是完全從外部來定義系統(tǒng)功能,它把需求和設(shè)計(jì)完全的分離開來。我們不用關(guān)心系統(tǒng)內(nèi)部是如何完成各種功能的,系統(tǒng)對(duì)于我們來說就是一個(gè)黑箱子。2、用例圖的作用162/60重點(diǎn)內(nèi)容:引言——需求分析
什么叫用例圖用例圖的構(gòu)成要素
用例的重要元素用例之間的各種重要關(guān)系使用Rose創(chuàng)建用例圖使用Rose創(chuàng)建用例圖的步驟說明第3章需求分析與用例模型163/60二、用例圖的構(gòu)成要素用例圖包含3方面內(nèi)容:用例圖中可以包含注釋、約束以及包。參與者(Actor)用例(UseCase)關(guān)系:關(guān)聯(lián)(Association)、泛化(Generalization)、包含(Include)、擴(kuò)展(Extend)等164/60參與者參與者是系統(tǒng)外部的一個(gè)實(shí)體,以某種方式參與用例的執(zhí)行過程。是為了完成一個(gè)事件與系統(tǒng)進(jìn)行交互的實(shí)體,是與系統(tǒng)交互作用的外部用戶、進(jìn)程或其他系統(tǒng)的理想化概念。在UML中,參與者用名字寫在下面的人形圖標(biāo)表示。165/60參與者參與者由它們參與用例時(shí)所擔(dān)當(dāng)?shù)慕巧珌肀硎尽?66/60任何事物人、外系統(tǒng)、硬件設(shè)備、時(shí)間等參與者167/60參與者168/60參與者169/60在獲取用例前要先確定系統(tǒng)的參與者,可以根據(jù)以下的一些問題來尋求系統(tǒng)參與者。⑴誰將使用該系統(tǒng)的主要功能;⑵誰將需要該系統(tǒng)的支持以完成其工作;⑶誰將需要安裝、維護(hù)、管理該系統(tǒng),以及保持該系統(tǒng)處于工作狀態(tài);⑷系統(tǒng)需要處理哪些硬件設(shè)備⑸與該系統(tǒng)發(fā)生交互的是什么系統(tǒng)⑹誰或什么系統(tǒng)對(duì)本系統(tǒng)產(chǎn)生的結(jié)果感興趣參與者的識(shí)別170/60參與者的識(shí)別171/60識(shí)別參與者:考勤卡系統(tǒng)開發(fā)者:誰將使用這個(gè)應(yīng)用程序?
客戶:所有用它來記錄可記帳以及不可記帳的工時(shí)的雇員
……
開發(fā)者:現(xiàn)在考勤卡應(yīng)用程序是什么樣的?
客戶:每半個(gè)月就用一個(gè)Excel表格來記錄。每個(gè)雇員都將通過他的表格填好,然后用電子郵件發(fā)給我。這個(gè)表格相當(dāng)標(biāo)準(zhǔn):縱向是收費(fèi)項(xiàng)目代碼,橫向是日期。雇員可以在每個(gè)條目上填寫說明。
開發(fā)者:這個(gè)收費(fèi)項(xiàng)目代碼可以從什么地方得到?
……
開發(fā)者:誰來管理收費(fèi)項(xiàng)目代碼?
客戶:嗯,必要的時(shí)候由我(業(yè)務(wù)經(jīng)理)來添加這個(gè)代碼。而每個(gè)經(jīng)理總會(huì)告訴他的下屬應(yīng)該填寫什么。
……172/60多個(gè)參與者之間可以具有與類之間相同的關(guān)系。在用例圖中,可以使用泛化關(guān)系來描述多個(gè)參與者之間的公共行為。參與者間的關(guān)系173/60例如,在圖書館管理系統(tǒng)中,借書者可以泛化成兩類:學(xué)生和老師。再如,航空售票系統(tǒng)接受客戶預(yù)定機(jī)票,客戶可以進(jìn)行電話預(yù)定和網(wǎng)上預(yù)定,如果不考慮客戶是如何與系統(tǒng)接觸的,可以使用一般角色的參與者,即父類;如果強(qiáng)調(diào)接觸發(fā)生的形式,那么必須使用實(shí)際的參與者,即子類。參與者間的關(guān)系174/60更具一般的,可以由下圖表示參與者之間的關(guān)系。參與者間的關(guān)系175/60思考:識(shí)別參與者?尋呼臺(tái)系統(tǒng):用戶如果預(yù)定了天氣預(yù)報(bào),系統(tǒng)每天定時(shí)給他發(fā)天氣消息;如果當(dāng)天氣溫高于35度,還要提醒用戶注意防暑;在這個(gè)敘述里,誰是尋呼臺(tái)系統(tǒng)的Actor?用戶?氣溫?時(shí)間?176/60用例是外部可見的系統(tǒng)功能單元。用例是對(duì)一個(gè)系統(tǒng)或一個(gè)應(yīng)用的一種單一的使用方式所作的描述。用例的用途是,在不揭示系統(tǒng)內(nèi)部構(gòu)造的前提下定義系統(tǒng)的行為。在UML中,用例用一個(gè)橢圓來表示,用例的名字可以寫在橢圓的下方。用例177/60每個(gè)用例都必須有一個(gè)惟一的名字以區(qū)別于其它用例。用例的名字是一個(gè)字符串,包括簡(jiǎn)單名和路徑名。
用例178/60重點(diǎn)內(nèi)容:引言——需求分析
什么叫用例圖用例圖的構(gòu)成要素用例的重要元素用例之間的各種重要關(guān)系使用Rose創(chuàng)建用例圖使用Rose創(chuàng)建用例圖的步驟說明第3章需求分析與用例模型179/60用例圖對(duì)整個(gè)系統(tǒng)的建模過程非常重要,在繪制系統(tǒng)用例圖前,有許多工作需要做。系統(tǒng)分析者必須分析系統(tǒng)的參與者和用例,它們分別描述了“誰來做”和“做什么”這兩個(gè)問題。識(shí)別用例最好的方法就是從分析系統(tǒng)的參與者開始,考慮每個(gè)參與者是如何使用系統(tǒng)的。使用這種策略的過程中可能會(huì)發(fā)現(xiàn)新的參與者。三、用例的重要元素1、識(shí)別用例180/60在識(shí)別用例的過程中,通過回答以下幾個(gè)問題,系統(tǒng)分析者可以獲得幫助。⑴特定參與者希望系統(tǒng)提供什么功能⑵系統(tǒng)是否存儲(chǔ)和檢索信息,如果是,由哪個(gè)參與者觸發(fā)⑶當(dāng)系統(tǒng)改變狀態(tài)時(shí),是否通知參與者⑷是否存在影響系統(tǒng)的外部事件⑸哪個(gè)參與者通知系統(tǒng)這些事件識(shí)別用例181/60具體可以通過查找事件的方式來識(shí)別用例:主語+動(dòng)詞+賓語簡(jiǎn)潔:參與者使用系統(tǒng)達(dá)到目標(biāo)識(shí)別用例已被識(shí)別出來的參與者動(dòng)作動(dòng)詞涉及的目標(biāo)讀者借閱書籍182/60識(shí)別用例183/60識(shí)別用例:考勤卡系統(tǒng)開發(fā)者:誰將使用這個(gè)應(yīng)用程序?
客戶:所有用它來記錄可記帳以及不可記帳的工時(shí)的雇員
……
開發(fā)者:現(xiàn)在考勤卡應(yīng)用程序是什么樣的?
客戶:每半個(gè)月就用一個(gè)Excel表格來記錄。每個(gè)雇員都將通過他的表格填好,然后用電子郵件發(fā)給我。這個(gè)表格相當(dāng)標(biāo)準(zhǔn):縱向是收費(fèi)項(xiàng)目代碼,橫向是日期。雇員可以在每個(gè)條目上填寫說明。
開發(fā)者:這個(gè)收費(fèi)項(xiàng)目代碼可以從什么地方得到?
……
開發(fā)者:誰來管理收費(fèi)項(xiàng)目代碼?
客戶:嗯,必要的時(shí)候由我(業(yè)務(wù)經(jīng)理)來添加這個(gè)代碼。而每個(gè)經(jīng)理總會(huì)告訴他的下屬應(yīng)該填寫什么。
……184/60要點(diǎn):結(jié)果值由系統(tǒng)生成系統(tǒng)需要處理的,由系統(tǒng)生成185/60要點(diǎn):業(yè)務(wù)語言而非技術(shù)語言用戶詞匯,而不是技術(shù)詞匯如:發(fā)票,商品,洗衣機(jī)而不是:記錄,字段,COM,C++等186/60要點(diǎn):用戶觀點(diǎn)而非系統(tǒng)觀點(diǎn)用戶觀點(diǎn)系統(tǒng)觀點(diǎn)187/60用例的命名執(zhí)行者視角:(狀語)動(dòng)詞+(定語+)賓語188/60重點(diǎn)內(nèi)容:引言——需求分析
什么叫用例圖用例圖的構(gòu)成要素用例的重要元素用例之間的各種重要關(guān)系使用Rose創(chuàng)建用例圖使用Rose創(chuàng)建用例圖的步驟說明第3章需求分析與用例模型189/60關(guān)聯(lián)關(guān)系表示參與者和用例之間的通信。用例與其參與者之間的關(guān)聯(lián)關(guān)系用帶箭頭的直線表示。用例與其參與者之間的關(guān)聯(lián)任何用例都不能在缺少參與者的情況下存在;任何參與者也必須要有與之關(guān)聯(lián)的用例。190/60用例與用例之間的關(guān)系
<<include>><<extend>>泛化包含擴(kuò)展用例除了與其參與者發(fā)生關(guān)聯(lián)外,用例之間具有多種關(guān)系,這些關(guān)系包括包含關(guān)系、擴(kuò)展關(guān)系和泛化關(guān)系等。191/60如果系統(tǒng)中一個(gè)或多個(gè)用例是某個(gè)一般用例的特殊化時(shí),就需要使用用例的泛化關(guān)系。在UML中,用例泛化與其他泛化關(guān)系的表示法相同,用一個(gè)三角箭頭從子用例指向父用例。用例與用例之間的關(guān)系→泛化關(guān)系192/60用例與用例之間的關(guān)系→泛化關(guān)系193/60泛化——同一業(yè)務(wù)目的不同技術(shù)實(shí)現(xiàn)用例與用例之間的關(guān)系→泛化關(guān)系194/60用例與用例之間的關(guān)系→包含關(guān)系195/60用例與用例之間的關(guān)系→包含關(guān)系196/60<<include>><<include>><<include>>用例與用例之間的關(guān)系→包含關(guān)系包含關(guān)系把幾個(gè)用例的公共步驟分離成一個(gè)單獨(dú)的被包含用例。197/60被包含用例稱作提供者用例(基本用例),包含用例稱作客戶用例,提供者用例提供功能給客戶使用。用例與用例之間的關(guān)系→包含關(guān)系198/60包含關(guān)系誤用某些步驟在多個(gè)用例重復(fù)出現(xiàn),且單獨(dú)形成價(jià)值199/60用例與用例之間的關(guān)系→包含關(guān)系200/60用例與用例之間的關(guān)系→包含關(guān)系201/60用例與用例之間的關(guān)系→擴(kuò)展關(guān)系202/60用例與用例之間的關(guān)系→擴(kuò)展關(guān)系<<extend>>擴(kuò)展關(guān)系是把新的行為插入到已有用例中的方法。一個(gè)用例也可以被定義為基礎(chǔ)用例的增量擴(kuò)展,這稱作擴(kuò)展關(guān)系;203/60在UML中,擴(kuò)展關(guān)系表示為虛線箭頭加<<extend>>字樣,箭頭指向被擴(kuò)展的用例(即基礎(chǔ)用例)?;A(chǔ)用例的擴(kuò)展增加了原有的語義用例與用例之間的關(guān)系→擴(kuò)展關(guān)系204/60擴(kuò)展關(guān)系誤用205/60基礎(chǔ)用例不必知道擴(kuò)展用例的任何細(xì)節(jié),它僅為其提供擴(kuò)展點(diǎn)?;A(chǔ)用例即使沒有擴(kuò)展用例也是完整的。只有特定的條件發(fā)生,擴(kuò)展用例才被執(zhí)行。擴(kuò)展關(guān)系為處理異常或構(gòu)建靈活的系統(tǒng)框架提供了一種十分有效的方法。用例與用例之間的關(guān)系→擴(kuò)展關(guān)系206/60重點(diǎn)內(nèi)容:引言——需求分析
什么叫用例圖用例圖的構(gòu)成要素用例的重要元素用例之間的各種重要關(guān)系使用Rose創(chuàng)建用例圖使用Rose創(chuàng)建用例圖的步驟說明第3章需求分析與用例模型207/60使用Rose繪制用例圖⑴創(chuàng)建用例圖一般情況下,用例圖是UML中要繪制的第一個(gè)圖。在用Rose創(chuàng)建所用的模型之前,首先要新建一個(gè)工程。新建工程可以點(diǎn)擊【File→New】菜單項(xiàng)。五、使用Rose創(chuàng)建用例圖208/60使用Rose繪制用例圖⑴創(chuàng)建用例圖
打開RationalRose后,在UseCaseView圖標(biāo)上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇New|UseCaseDiagram命令建立新的用例圖。209/60菜單項(xiàng)功能包含選項(xiàng)OpenSpeci
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商平臺(tái)客戶服務(wù)與支持策略
- 實(shí)驗(yàn)室儀器標(biāo)準(zhǔn)化操作規(guī)程考核試卷
- 國際貿(mào)易法律事務(wù)考核試卷
- 家電行業(yè)售后服務(wù)標(biāo)準(zhǔn)化考核試卷
- 電子商務(wù)平臺(tái)的反病毒與反黑客攻擊策略
- 批發(fā)商品牌維權(quán)與知識(shí)產(chǎn)權(quán)保護(hù)策略考核試卷
- 2025-2030年卵磷脂保健品創(chuàng)新企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年推拿拔罐一體機(jī)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 版權(quán)保護(hù)與文化創(chuàng)意產(chǎn)業(yè)的協(xié)同發(fā)展
- 電商平臺(tái)的品牌定位與營(yíng)銷策略
- 14S501-1 球墨鑄鐵單層井蓋及踏步施工
- YB 4022-1991耐火泥漿荷重軟化溫度試驗(yàn)方法(示差-升溫法)
- 胸腔積液護(hù)理查房-范本模板
- 水土保持方案中沉沙池的布設(shè)技術(shù)
- 安全生產(chǎn)技術(shù)規(guī)范 第25部分:城鎮(zhèn)天然氣經(jīng)營(yíng)企業(yè)DB50-T 867.25-2021
- 現(xiàn)代企業(yè)管理 (全套完整課件)
- 走進(jìn)本土項(xiàng)目化設(shè)計(jì)-讀《PBL項(xiàng)目化學(xué)習(xí)設(shè)計(jì)》有感
- 《網(wǎng)店運(yùn)營(yíng)與管理》整本書電子教案全套教學(xué)教案
- 教師信息技術(shù)能力提升培訓(xùn)課件希沃的課件
- 高端公寓住宅項(xiàng)目營(yíng)銷策劃方案(項(xiàng)目定位 發(fā)展建議)
- 執(zhí)業(yè)獸醫(yī)師聘用協(xié)議(合同)書
評(píng)論
0/150
提交評(píng)論