《電子商務(wù)系統(tǒng)分析與設(shè)計(jì)》 課件0302-UML-類圖概述;0303-UML-時(shí)序圖-序列圖;0304-UML-狀態(tài)圖概述_第1頁(yè)
《電子商務(wù)系統(tǒng)分析與設(shè)計(jì)》 課件0302-UML-類圖概述;0303-UML-時(shí)序圖-序列圖;0304-UML-狀態(tài)圖概述_第2頁(yè)
《電子商務(wù)系統(tǒng)分析與設(shè)計(jì)》 課件0302-UML-類圖概述;0303-UML-時(shí)序圖-序列圖;0304-UML-狀態(tài)圖概述_第3頁(yè)
《電子商務(wù)系統(tǒng)分析與設(shè)計(jì)》 課件0302-UML-類圖概述;0303-UML-時(shí)序圖-序列圖;0304-UML-狀態(tài)圖概述_第4頁(yè)
《電子商務(wù)系統(tǒng)分析與設(shè)計(jì)》 課件0302-UML-類圖概述;0303-UML-時(shí)序圖-序列圖;0304-UML-狀態(tài)圖概述_第5頁(yè)
已閱讀5頁(yè),還剩126頁(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)介

用例圖的作用?09:381回顧用例圖是需求分析中的產(chǎn)物,主要作用是描述參與者和用例之間的關(guān)系,幫助開發(fā)人員可視化地了解系統(tǒng)的功能。借助于用例圖,系統(tǒng)用戶、系統(tǒng)分析人員、系統(tǒng)設(shè)計(jì)人員、領(lǐng)域?qū)<夷軌蛞钥梢暬姆绞綄?duì)問(wèn)題進(jìn)行探討,減少了大量交流上的障礙,便于對(duì)問(wèn)題達(dá)成共識(shí)。UML-類圖能夠通過(guò)分析用例和問(wèn)題域得到相關(guān)的類能夠根據(jù)需求對(duì)各種概念和系統(tǒng)內(nèi)部概念進(jìn)行的建模09:383能力目標(biāo)1209:384目錄實(shí)例練習(xí)4.類與類之間的關(guān)系3.類圖的組成2.類圖概述1.09:385以小組為單位討論后,用直線連接以下圖形且說(shuō)明09:386小組討論&操作09:3871.1類圖基本概念09:3881類圖概述

不同的實(shí)體(人、事物和數(shù)據(jù))如何彼此相關(guān)聯(lián)的包含了類的屬性和操作也包含了他們之間的關(guān)系這種描述在系統(tǒng)的整個(gè)生命周期中都是有效的類圖展示了系統(tǒng)的靜態(tài)結(jié)構(gòu)1.2類圖和對(duì)象圖09:389類圖中一共包含以下幾種模型元素:類(Class)、接口(Interface)、依賴關(guān)系(Dependecy)、泛化關(guān)系(Generalization)、關(guān)聯(lián)關(guān)系(Association)以及實(shí)現(xiàn)關(guān)系(Realization)對(duì)象圖中包含:對(duì)象(Object)和鏈(Link),對(duì)象是類的特定實(shí)例,鏈?zhǔn)穷愔g的關(guān)系實(shí)例2.1類(Class)具有相同結(jié)構(gòu)、行為和關(guān)系的一組對(duì)象的描述符號(hào),類封裝了數(shù)據(jù)和行為,是面向?qū)ο蟮闹匾M成部分,它是具有相同屬性、操作、關(guān)系的對(duì)象集合的總稱。09:38102類圖的組成職責(zé)指的是類要完成什么樣的功能,要承擔(dān)什么樣的義務(wù)職責(zé)分解成為類的屬性和操作(即方法)。類的屬性即類的數(shù)據(jù)職責(zé),類的操作即類的行為職責(zé)職責(zé)2.2類的分類09:38111實(shí)體類:實(shí)體類對(duì)應(yīng)系統(tǒng)需求中的每個(gè)實(shí)體,它們通常需要保存在永久存儲(chǔ)體中,一般使用數(shù)據(jù)庫(kù)表或文件來(lái)記錄,實(shí)體類既包括存儲(chǔ)和傳遞數(shù)據(jù)的類,還包括操作數(shù)據(jù)的類。實(shí)體類來(lái)源于需求說(shuō)明中的名詞,如學(xué)生、商品等。2控制類:控制類用于體現(xiàn)應(yīng)用程序的執(zhí)行邏輯,提供相應(yīng)的業(yè)務(wù)操作,將控制類抽象出來(lái)可以降低界面和數(shù)據(jù)庫(kù)之間的耦合度。控制類一般是由動(dòng)賓結(jié)構(gòu)的短語(yǔ)(動(dòng)詞+名詞)轉(zhuǎn)化來(lái)的名詞,如增加商品對(duì)應(yīng)有一個(gè)商品增加類3邊界類:邊界類用于對(duì)外部用戶與系統(tǒng)之間的交互對(duì)象進(jìn)行抽象,主要包括界面類,如對(duì)話框、窗口、菜單等。2.3類的UML圖示在UML中,類使用包含類名、屬性和操作且?guī)в蟹指艟€的長(zhǎng)方形來(lái)表示,如定義一個(gè)Employee類,它包含屬性name、age和email,以及操作modifyInfo(),在UML類圖中該類如圖所示:public

class

Employee

{private

String

name;

private

int

age;

private

String

email;

public

void

modifyInfo()

{

......

}

}

09:38122.4類的組成09:3813ClassName類名:每個(gè)類都必須有一個(gè)名字,類名是一個(gè)字符串Attributes屬性:屬性是指類的性質(zhì),即類的成員變量Operations操作:是類的任意一個(gè)實(shí)例對(duì)象都可以使用的行為,是類的成員方法屬性和操作的”可見性“對(duì)于類外的元素而言是否可見publicprivate表示公有的,用加號(hào)表示“+”表示私有的,用減號(hào)表示“-”protected表示受保護(hù)的,用井號(hào)表示“#”可見性名稱:類型[=缺省值]可見性名稱(參數(shù)列表)[:返回類型]在現(xiàn)實(shí)世界中,萬(wàn)物皆有聯(lián)系,在軟件系統(tǒng)中,類也不是孤立存在的,類與類之間存在各種關(guān)系,對(duì)于不同類型的關(guān)系,UML提供了不同的表示方式09:38143類與類之間的關(guān)系依賴Dependency泛化Generalization關(guān)聯(lián)單向關(guān)聯(lián)、雙向關(guān)聯(lián)、自關(guān)聯(lián)、聚合關(guān)系、組合關(guān)系實(shí)現(xiàn)Realization3.1關(guān)聯(lián)關(guān)系關(guān)聯(lián)(Association)關(guān)系是類與類之間最常用的一種關(guān)系,它是一種結(jié)構(gòu)化關(guān)系,用于表示一類對(duì)象與另一類對(duì)象之間有聯(lián)系,如汽車和輪胎、師傅和徒弟、班級(jí)和學(xué)生等等如在一個(gè)登錄界面類LoginForm中包含一個(gè)JButton類型的注冊(cè)按鈕loginButton,它們之間可以表示為關(guān)聯(lián)關(guān)系,代碼實(shí)現(xiàn)時(shí)可以在LoginForm中定義一個(gè)名為loginButton的屬性對(duì)象,其類型為JButton。publicclassLoginForm{privateJButtonloginButton;//定義為成員變量……}publicclassJButton{……}09:38153.1.1雙向關(guān)聯(lián)默認(rèn)情況下,關(guān)聯(lián)是雙向的。例如:顧客(Customer)購(gòu)買商品(Product)并擁有商品,反之,賣出的商品總有某個(gè)顧客與之相關(guān)聯(lián)。因此,Customer類和Product類之間具有雙向關(guān)聯(lián)關(guān)系publicclassCustomer{privateProduct[]products;……}publicclassProduct{privateCustomercustomer;……}09:38163.1.2單向關(guān)聯(lián)類的關(guān)聯(lián)關(guān)系也可以是單向的,單向關(guān)聯(lián)用帶箭頭的實(shí)線表示。例如:顧客(Customer)擁有地址(Address),則Customer類與Address類具有單向關(guān)聯(lián)關(guān)系publicclassCustomer{privateAddressaddress;……}publicclassAddress{……}09:38173.1.3自關(guān)聯(lián)在系統(tǒng)中可能會(huì)存在一些類的屬性對(duì)象類型為該類本身,這種特殊的關(guān)聯(lián)關(guān)系稱為自關(guān)聯(lián)。例如:一個(gè)節(jié)點(diǎn)類(Node)的成員又是節(jié)點(diǎn)Node類型的對(duì)象publicclassNode{privateNodesubNode;……}09:38183.1.4多重性關(guān)聯(lián)多重性關(guān)聯(lián)關(guān)系又稱為重?cái)?shù)性(Multiplicity)關(guān)聯(lián)關(guān)系,表示兩個(gè)關(guān)聯(lián)對(duì)象在數(shù)量上的對(duì)應(yīng)關(guān)系。在UML中,對(duì)象之間的多重性可以直接在關(guān)聯(lián)直線上用一個(gè)數(shù)字或一個(gè)數(shù)字范圍表示。09:3819例如:一個(gè)界面(Form)可以擁有零個(gè)或多個(gè)按鈕(Button),但是一個(gè)按鈕只能屬于一個(gè)界面,因此,一個(gè)Form類的對(duì)象可以與零個(gè)或多個(gè)Button類的對(duì)象相關(guān)聯(lián),但一個(gè)Button類的對(duì)象只能與一個(gè)Form類的對(duì)象關(guān)聯(lián)。publicclassForm{privateButton[]buttons;//定義一個(gè)集合對(duì)象……}publicclassButton{……}09:38203.1.5聚合關(guān)系聚合(Aggregation)關(guān)系表示整體與部分的關(guān)系。在聚合關(guān)系中,成員對(duì)象是整體對(duì)象的一部分,但是成員對(duì)象可以脫離整體對(duì)象獨(dú)立存在。在UML中,聚合關(guān)系用帶空心菱形的直線表示。例如:汽車發(fā)動(dòng)機(jī)(Engine)是汽車(Car)的組成部分,但是汽車發(fā)動(dòng)機(jī)可以獨(dú)立存在,因此,汽車和發(fā)動(dòng)機(jī)是聚合關(guān)系09:38213.1.6組合關(guān)系組合(Composition)關(guān)系也表示類之間整體和部分的關(guān)系,但是在組合關(guān)系中整體對(duì)象可以控制成員對(duì)象的生命周期,一旦整體對(duì)象不存在,成員對(duì)象也將不存在,成員對(duì)象與整體對(duì)象之間具有同生共死的關(guān)系。在UML中,組合關(guān)系用帶實(shí)心菱形的直線表示。例如:人的頭(Head)與嘴巴(Mouth),嘴巴是頭的組成部分之一,而且如果頭沒了,嘴巴也就沒了,因此頭和嘴巴是組合關(guān)系,如圖09:38223.2依賴關(guān)系依賴(Dependency)關(guān)系是一種使用關(guān)系,特定事物的改變有可能會(huì)影響到使用該事物的其他事物,在需要表示一個(gè)事物使用另一個(gè)事物時(shí)使用依賴關(guān)系。在UML中,依賴關(guān)系用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方。例如:駕駛員開車,在Driver類的drive()方法中將Car類型的對(duì)象car作為一個(gè)參數(shù)傳遞,以便在drive()方法中能夠調(diào)用car的move()方法,且駕駛員的drive()方法依賴車的move()方法,因此類Driver依賴類Car,如圖09:38233.3泛化關(guān)系泛化(Generalization)關(guān)系也就是繼承關(guān)系,用于描述父類與子類之間的關(guān)系,父類又稱作基類或超類,子類又稱作派生類。09:3824對(duì)應(yīng)的Java代碼片段:publicclassPersonprotectedStringname;protectedintage;publicvoidmove(){……}publicvoidsay(){……}}publicclassStudentextendsPerson{privateStringstudentNo;publicvoidstudy(){……}}publicclassTeacherextendsPerson{privateStringteacherNo;publicvoidteach(){……}}09:38253.4接口與實(shí)現(xiàn)關(guān)系在很多面向?qū)ο笳Z(yǔ)言中都引入了接口的概念,如Java、C#等,在接口中,通常沒有屬性,而且所有的操作都是抽象的,只有操作的聲明,沒有操作的實(shí)現(xiàn)。UML中用與類的表示法類似的方式表示接口,如圖09:3826接口之間也可以有與類之間關(guān)系類似的繼承關(guān)系和依賴關(guān)系,但是接口和類之間還存在一種實(shí)現(xiàn)(Realization)關(guān)系,在這種關(guān)系中,類實(shí)現(xiàn)了接口,類中的操作實(shí)現(xiàn)了接口中所聲明的操作。例如:定義了一個(gè)交通工具接口Vehicle,包含一個(gè)抽象操作move(),在類Ship和類Car中都實(shí)現(xiàn)了該move()操作,不過(guò)具體的實(shí)現(xiàn)細(xì)節(jié)將會(huì)不一樣09:3827對(duì)應(yīng)的Java代碼片段如下publicinterfaceVehicle{publicvoidmove();}publicclassShipimplementsVehicle{publicvoidmove(){……}}publicclassCarimplementsVehicle{publicvoidmove(){……}}09:3828一張圖總結(jié)出所有關(guān)系09:3829根據(jù)以下類,請(qǐng)繪制出類圖:車、輪胎、發(fā)動(dòng)機(jī)、小汽車、自行車、學(xué)生、班級(jí)、身份證、suv、嘴巴09:3830(1)以“遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)”為例,在該系統(tǒng)中參與者為學(xué)生、教師和系統(tǒng)管理員:學(xué)生包括登錄名稱、登錄密碼、學(xué)生編號(hào)、性別、年齡、班級(jí)、年級(jí)、郵箱等屬性;教師包括登錄

名稱、登錄密碼、姓名、性別、教授課程、電話號(hào)碼和郵箱等屬性;系統(tǒng)管理員包括用戶名系統(tǒng)管理員密碼、郵箱等屬性。根據(jù)這些信息創(chuàng)建系統(tǒng)的類圖。(2)在上題中如果把參與者學(xué)生、教師和系統(tǒng)管理員進(jìn)行抽象,從而抽象出一個(gè)單獨(dú)的人員類類,學(xué)生、教師和系統(tǒng)管理員分別是人員類的子類。根據(jù)這些信息重新創(chuàng)建類圖。09:38314實(shí)例練習(xí)(1)09:3832答案圖書管理系統(tǒng)中,有各種類型的讀者,可以借閱各種類型的圖書,圖書由圖書編目員維護(hù),圖書管理員管理圖書、借閱信息和讀者09:38334實(shí)例練習(xí)(2)09:3834答案09:3835Thanks!UML統(tǒng)一建模語(yǔ)言

時(shí)序圖/順序圖UMLUnifiedModelingLanguage09:3837目標(biāo)知識(shí)目標(biāo)·掌握時(shí)序圖的基本元素·熟悉繪制時(shí)序圖的步驟和方法Teachinggoal能力目標(biāo)·具有根據(jù)項(xiàng)目實(shí)際情況利用時(shí)序圖建模的能力素質(zhì)目標(biāo):培養(yǎng)學(xué)生動(dòng)手、解決問(wèn)題、邏輯分析的能力09:3838內(nèi)容時(shí)序圖案例案例及練習(xí)4.時(shí)序圖元素2.時(shí)序圖繪制步驟及方法3.時(shí)序圖概述1.09:3839系統(tǒng)或?qū)ο蟮膭?dòng)態(tài)模型主要包括09:38401序列(順序/時(shí)序sequence)圖概述狀態(tài)模型交互模型活動(dòng)圖狀態(tài)圖協(xié)作圖順序圖09:38411時(shí)序圖(SequenceDiagram)概述①描述了與用例相關(guān)的多個(gè)對(duì)象及其之間的動(dòng)態(tài)交互關(guān)系,通常用于解釋系統(tǒng)用例的實(shí)現(xiàn)過(guò)程。用例常常被細(xì)化為一個(gè)或多個(gè)時(shí)序圖。②主要用來(lái)描述對(duì)象之間信息交換時(shí)的時(shí)間順序。③可以有效地幫助人們觀察和理解系統(tǒng)的動(dòng)態(tài)行為。09:38421時(shí)序圖概述–例如:用戶登錄登錄(1)用戶將用戶名和密碼提交給LoginAction

(2)由LoginAction調(diào)用UserManager

(3)UserManager到用戶數(shù)據(jù)庫(kù)UserServer中查找用戶對(duì)象并返回(4)由UserManager判斷用戶名是否為空、密碼是否正確(5)然后將User對(duì)象返回(6)返回后臺(tái)登錄主界面。09:384309:3844活動(dòng)者(actor)或者對(duì)象(object)生命線(lifeline)激活(activation)/控制焦點(diǎn)(focusofcontrol)消息(message)09:38452時(shí)序圖的組成元素當(dāng)執(zhí)行一個(gè)用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的事件。09:3846①活動(dòng)者活動(dòng)者和對(duì)象按照從左到右的順序排列一般最多兩個(gè)活動(dòng)者,他們分列兩端。啟動(dòng)這個(gè)用例的活動(dòng)者往往排在最左邊;接收消息的活動(dòng)者則排在最右端;對(duì)象從左到右按照重要性排列或按照消息先后順序排列。09:3847②對(duì)象對(duì)象的命名方式有三種:包括對(duì)象名和類名類名(匿名對(duì)象)對(duì)象名(不關(guān)心類)09:3848③生命線(Lifeline):每個(gè)對(duì)象都有自己的生命線,用來(lái)表示在該用例中一個(gè)對(duì)象在一段時(shí)間內(nèi)的存在,垂直的虛線表示。如果對(duì)象生命期結(jié)束,則用注銷符號(hào)表示對(duì)象默認(rèn)的位置在圖頂部,表示對(duì)象在交互之前已經(jīng)存在如果是在交互過(guò)程中由另外的對(duì)象所創(chuàng)建,則位于圖的中間某處。09:3849④激活當(dāng)一條消息被傳遞給對(duì)象的時(shí)候,它會(huì)觸發(fā)該對(duì)象的某個(gè)行為,這時(shí)就說(shuō)該對(duì)象被激活了。在UML中,激活用一個(gè)在生命線上的細(xì)長(zhǎng)矩形框表示。矩形本身被稱為對(duì)象的激活期或控制期,對(duì)象就是在激活期頂端被激活的。激活期說(shuō)明對(duì)象正在執(zhí)行某個(gè)動(dòng)作。當(dāng)動(dòng)作完成后,伴隨著一個(gè)消息箭頭離開對(duì)象的生命線,此時(shí)對(duì)象的一個(gè)激活期也宣告結(jié)束。09:3850⑤消息向哪個(gè)對(duì)象發(fā)消息實(shí)際上就是調(diào)用它的類中的操作,就是調(diào)用箭頭指向的對(duì)象所在類的一個(gè)operation。順序圖中消息編號(hào)可顯示,也可不顯示。訂單類發(fā)消息給客戶類調(diào)用客戶類中的“驗(yàn)證客戶”操作09:3851當(dāng)進(jìn)行時(shí)序圖建模時(shí),所用到的消息主要包括以下幾種類型:同步消息(SynchronousMessage)自關(guān)聯(lián)消息(Self-Message)返回消息(ReturnMessage)異步消息(AsynchronousMessage)09:385209:3853同步消息是指消息的發(fā)送者把控制傳遞給消息的接收者,然后停止活動(dòng),等待消息的接收者放棄或者返回控制。在時(shí)序圖中,同步消息用實(shí)心箭頭表示。自關(guān)聯(lián)消息自關(guān)聯(lián)消息是指自身調(diào)用自身的方法,即自我調(diào)用的同步消息09:3854返回消息調(diào)用消息中的操作完成后,由接收對(duì)象返回給發(fā)送對(duì)象的說(shuō)明執(zhí)行結(jié)果的回應(yīng)。一個(gè)同步消息通常對(duì)應(yīng)一個(gè)返回消息。異步消息是一種不需要等待返回消息的特殊調(diào)用消息。發(fā)送對(duì)象發(fā)送消息后可以立刻進(jìn)行下一步操作,無(wú)需一直等待回復(fù)。09:3855組合片段組合片段用來(lái)解決交互執(zhí)行的條件及方式。它允許在序列圖中直接表示邏輯組件,用于通過(guò)指定條件或子進(jìn)程的應(yīng)用區(qū)域,為任何生命線的任何部分定義特殊條件和子進(jìn)程。09:3856片段類型名稱說(shuō)明Opt選項(xiàng)包含一個(gè)可能發(fā)生或可能不發(fā)生的序列。

可以在臨界中指定序列發(fā)生的條件。Alt抉擇包含一個(gè)片段列表,這些片段包含備選消息序列。

在任何場(chǎng)合下只發(fā)生一個(gè)序列??梢栽诿總€(gè)片段中設(shè)置一個(gè)臨界來(lái)指示該片段可以運(yùn)行的條件。

else

的臨界指示其他任何臨界都不為

True

時(shí)應(yīng)運(yùn)行的片段。

如果所有臨界都為

False

并且沒有

else,則不執(zhí)行任何片段。Loop循環(huán)片段重復(fù)一定次數(shù)。

可以在臨界中指示片段重復(fù)的條件。Loop

組合片段具有“Min”和“Max”屬性,它們指示片段可以重復(fù)的最小和最大次數(shù)。

默認(rèn)值是無(wú)限制。Break中斷如果執(zhí)行此片段,則放棄序列的其余部分。

可以使用臨界來(lái)指示發(fā)生中斷的條件。Par并行并行處理。

片段中的事件可以交錯(cuò)。Critical關(guān)鍵用在

Par

Seq

片段中。

指示此片段中的消息不得與其他消息交錯(cuò)。Seq弱順序有兩個(gè)或更多操作數(shù)片段。

涉及同一生命線的消息必須以片段的順序發(fā)生。

如果消息涉及的生命線不同,來(lái)自不同片段的消息可能會(huì)并行交錯(cuò)。Strict強(qiáng)順序有兩個(gè)或更多操作數(shù)片段。

這些片段必須按給定順序發(fā)生。a.抉擇(Alt)抉擇在任何場(chǎng)合下只發(fā)生一個(gè)序列??梢栽诿總€(gè)片段中設(shè)置一個(gè)臨界來(lái)指示該片段可以運(yùn)行的條件。else的臨界指示其他任何臨界都不為True時(shí)應(yīng)運(yùn)行的片段。如果所有臨界都為False并且沒有else,則不執(zhí)行任何片段。09:385809:3859b.選項(xiàng)(Opt)包含一個(gè)可能發(fā)生或不發(fā)生的序列09:3860c.循環(huán)(Loop)片段重復(fù)一定次數(shù)??梢栽谂R界中指示片段重復(fù)的條件。09:3861d.

并行(Par)09:3862對(duì)系統(tǒng)動(dòng)態(tài)行為建模的過(guò)程中,當(dāng)強(qiáng)調(diào)按時(shí)間展開信息的傳送時(shí),一般使用時(shí)序圖建模技術(shù)。一個(gè)單獨(dú)的時(shí)序圖只能顯示一個(gè)控制流。一般情況下,一個(gè)完整的控制流是非常復(fù)雜的,要描述它需要?jiǎng)?chuàng)建很多交互圖(包括時(shí)序圖和協(xié)作圖),一些圖是主要的,另一些圖用來(lái)描述可選擇的路徑和一些例外,再用一個(gè)包對(duì)它們進(jìn)行統(tǒng)一的管理。09:38633時(shí)序圖繪制步驟及方法時(shí)序圖建立步驟64設(shè)置消息4.設(shè)置對(duì)象生命線開始和結(jié)束3.識(shí)別參與交互的對(duì)象和活動(dòng)者2.確定交互的范圍1.細(xì)化消息5.09:3865①②③⑤④設(shè)置交互的語(yǔ)境,這些語(yǔ)境可以是系統(tǒng)、子系統(tǒng)、類、用例和協(xié)作的一個(gè)腳本。識(shí)別對(duì)象在交互語(yǔ)境中所扮演的角色,根據(jù)對(duì)象的重要性及相互關(guān)系,將其從左至右放置在時(shí)序圖的頂部。設(shè)置每個(gè)對(duì)象的生命線。通常情況下,對(duì)象存在于整個(gè)交互過(guò)程中,但它們也可以在交互過(guò)程中創(chuàng)建和撤銷從引發(fā)某個(gè)消息的信息開始,在生命線之間畫出從頂?shù)降滓来握归_的消息,顯示每個(gè)消息的內(nèi)容標(biāo)識(shí)。設(shè)置對(duì)象的激活期,可視化消息的嵌套或可視化實(shí)際計(jì)算發(fā)生時(shí)的時(shí)間點(diǎn)。⑥如果需要設(shè)置時(shí)間或空間的約束,可以為每個(gè)消息附上合適的時(shí)間和空間約束。如果需要形式化的說(shuō)明某控制流,可以為每個(gè)消息附上前置和后置條件。時(shí)序圖交互建模策略下面將以“教師查看學(xué)生成績(jī)”為例,介紹如何去創(chuàng)建系統(tǒng)的序列圖09:3866名稱教師查看學(xué)生成績(jī)標(biāo)識(shí)UC011描述教師查看學(xué)生關(guān)于某門課程的成績(jī)前提學(xué)生為在校學(xué)生,擁有學(xué)號(hào)結(jié)果顯示學(xué)生的成績(jī)或空擴(kuò)展N/A包含N/A繼承N/A09:3867可以通過(guò)更加具體的描述來(lái)確定工作流程,基本的工作流程如下:李老師希望通過(guò)系統(tǒng)查詢某名學(xué)生的學(xué)科成績(jī)。李老師通過(guò)用戶界面錄入學(xué)生的學(xué)號(hào)。用戶界面根據(jù)學(xué)生的學(xué)號(hào)向數(shù)據(jù)庫(kù)訪問(wèn)層請(qǐng)求學(xué)生信息。數(shù)據(jù)庫(kù)訪問(wèn)層根據(jù)學(xué)生的學(xué)號(hào)加載學(xué)生信息。數(shù)據(jù)庫(kù)訪問(wèn)層根據(jù)學(xué)生信息和學(xué)科科目獲取該名學(xué)生的分?jǐn)?shù)信息。數(shù)據(jù)庫(kù)訪問(wèn)層將學(xué)生信息和分?jǐn)?shù)信息提供給用戶界面。用戶界面將學(xué)生信息和分?jǐn)?shù)信息顯示出來(lái)。09:3868在這些基本的工作流程中還存在分支,可使用備選過(guò)程來(lái)描述。備選過(guò)程A:該名學(xué)生沒有學(xué)科成績(jī)。① 數(shù)據(jù)訪問(wèn)層返回學(xué)科成績(jī)?yōu)榭?。?系統(tǒng)提示李老師沒有該學(xué)生的成績(jī)。備選過(guò)程B:系統(tǒng)沒有該學(xué)生的信息。① 數(shù)據(jù)訪問(wèn)層返回學(xué)生信息為空。② 系統(tǒng)提示李老師該學(xué)生不存在。09:386909:387009:387109:3872請(qǐng)使用alt組合片段在一張圖中重新繪制教師查看學(xué)生成績(jī)的時(shí)序圖?09:387309:3874請(qǐng)繪制讀者借閱圖書的時(shí)序圖。小提示:有讀者、系統(tǒng)鍵盤鼠標(biāo)、系統(tǒng)屏幕、書籍對(duì)象、讀者對(duì)象、借閱對(duì)象。09:3875練習(xí)09:38764時(shí)序圖建模案例及練習(xí)圖書管理系統(tǒng)時(shí)序圖建模

1.添加借閱者添加借閱者的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“添加借閱者”,彈出AddBorrowerDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入借閱者的信息并提交,隨后系統(tǒng)對(duì)管理員所提交的借閱者信息進(jìn)行驗(yàn)證,查看輸入的借閱證號(hào)是否已經(jīng)存在于系統(tǒng)中,若不存在,則為借閱者創(chuàng)建一個(gè)賬戶,并存儲(chǔ)借閱者信息。2.修改借閱者修改借閱者的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“修改借閱者”,彈出UpdateBorrowerDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入借閱者的借閱證號(hào),隨后系統(tǒng)查詢數(shù)據(jù)庫(kù)并顯示相關(guān)的借閱者信息(如果輸入的借閱者信息不存在,則顯示提示信息,結(jié)束修改操作),修改相關(guān)借閱者信息,并存儲(chǔ)。3.刪除借閱者刪除借閱者的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“刪除借閱者”,彈出DeleteBorrowerDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入借閱者的借閱證號(hào),隨后系統(tǒng)查詢數(shù)據(jù)庫(kù)并顯示相關(guān)的借閱者信息(如果輸入的借閱者信息不存在,則顯示提示信息,結(jié)束刪除操作),點(diǎn)擊刪除按鈕,系統(tǒng)確認(rèn)是否存在與該借閱者相關(guān)的借閱信息,若有,顯示提示信息,結(jié)束刪除操作;若沒有,則系統(tǒng)刪除該借閱者。4.添加書目添加書目的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“添加書目”,彈出AddTitleDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入圖書的名稱、ISBN號(hào)、出版社名、作者姓名等信息并提交,系統(tǒng)根據(jù)提交的ISBN號(hào)查詢圖書的書目是否存在,若不存在,則為創(chuàng)建該書目。5.修改書目修改書目的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“修改書目”,彈出UpdateTitleDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入圖書的ISBN號(hào)并提交,隨后系統(tǒng)查詢數(shù)據(jù)庫(kù)并顯示相關(guān)的書目信息(如果輸入的ISBN號(hào)不存在,則顯示提示信息,結(jié)束修改操作),修改相關(guān)書目信息,并存儲(chǔ)。6.刪除書目刪除書目的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“刪除書目”,彈出DeleteTitleDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入圖書的ISBN號(hào)并提交,隨后系統(tǒng)查詢數(shù)據(jù)庫(kù)并顯示相關(guān)的書目信息(如果輸入的書目信息不存在,則顯示提示信息,結(jié)束刪除操作),點(diǎn)擊刪除按鈕,系統(tǒng)驗(yàn)證該書目對(duì)應(yīng)的圖書數(shù)目是否為0,如果為0,則刪除該書目信息;反之,則系統(tǒng)提示必須先刪除相應(yīng)的圖書。7.添加圖書添加圖書的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“添加圖書”,彈出AddBookDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入圖書的ISBN號(hào)并提交,系統(tǒng)根據(jù)提交的ISBN號(hào)查詢圖書的書目是否存在,若不存在,則提示管理員需要先添加書目,然后才可以添加圖書;若存在,則添加一個(gè)圖書,并更新圖書對(duì)應(yīng)的書目信息。8.刪除圖書刪除圖書的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“刪除圖書”,彈出DeleteBookDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入要?jiǎng)h除圖書的ISBN號(hào)并提交,隨后系統(tǒng)查詢數(shù)據(jù)庫(kù)并顯示相關(guān)的圖書信息(如果輸入的ISBN號(hào)不存在,則顯示提示信息,結(jié)束刪除操作),系統(tǒng)管理員進(jìn)行確認(rèn)并點(diǎn)擊刪除按鈕,刪除該圖書,系統(tǒng)更新相應(yīng)的書目信息。9.添加管理員添加管理員的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“添加管理員”,彈出AddManagerDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中先輸入一個(gè)用戶名和初始密碼,然后提交,系統(tǒng)根據(jù)提交的用戶名和密碼驗(yàn)證該用戶名是否已經(jīng)存在,若該用戶已經(jīng)存在,系統(tǒng)則提示出錯(cuò);若不存在,則系統(tǒng)提示先添加管理員的權(quán)限為系統(tǒng)管理員還是圖書管理員,并根據(jù)系統(tǒng)管理員的選擇添加一個(gè)圖書管理員或系統(tǒng)管理員。10.刪除管理員刪除管理員的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“刪除管理員”,彈出DeleteManagerDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入要?jiǎng)h除的管理員的用戶名并提交,隨后系統(tǒng)查詢數(shù)據(jù)庫(kù),以檢驗(yàn)該管理員是否存在,若存在,則刪除該管理員。11.借閱圖書借閱圖書的過(guò)程為:圖書管理員選擇菜單項(xiàng)“借閱圖書”,彈出BorrowDialog對(duì)話框,圖書管理員在該對(duì)話框中輸入借閱者信息,然后由系統(tǒng)查詢數(shù)據(jù)庫(kù),以驗(yàn)證該借閱者的合法性,若借閱者合法,則在由圖書管理員輸入所要借閱的圖書信息,系統(tǒng)記錄并保存該借閱信息。12.歸還圖書歸還圖書的過(guò)程為:圖書管理員選擇菜單項(xiàng)“歸還圖書”,彈出ReturnDialog對(duì)話框,圖書管理員在該對(duì)話框中輸入歸還圖書編號(hào),然后由系統(tǒng)查詢數(shù)據(jù)庫(kù),以驗(yàn)證該圖書是否為本館藏書,若圖書不合法,則提示圖書管理員;若合法,則由系統(tǒng)查找該圖書的借閱者信息,然后刪除相對(duì)應(yīng)的借閱記錄,并更新借閱者信息。13.查詢借閱信息查詢借閱信息的過(guò)程為:圖書管理員選擇菜單項(xiàng)“查詢借閱信息”,彈出QueryDialog對(duì)話框,圖書管理員在該對(duì)話框中輸入要查詢的借閱證號(hào),然后由系統(tǒng)查詢數(shù)據(jù)庫(kù),以獲得該借閱者信息,并通過(guò)顯示借閱信息用例顯示該借閱者所借閱的所有圖書信息。14.顯示借閱信息顯示借閱信息的過(guò)程為:當(dāng)BorrowDialog、ReturnDialog和QueryDialog對(duì)話框調(diào)用Borrower類的GetTitleInfo()方法時(shí),系統(tǒng)獲取該借閱者信息,然后根據(jù)借閱信息找到所借閱的圖書,并進(jìn)一步獲取所借閱圖書對(duì)應(yīng)的書目信息,最后由相應(yīng)的對(duì)話框負(fù)責(zé)顯示。15.超期處理超期處理的前提條件是:當(dāng)發(fā)生借書或還書時(shí),首先由系統(tǒng)找到借閱者的信息,然后調(diào)用超期處理以檢驗(yàn)該借閱者是否有超期的借閱信息。超期處理的過(guò)程為:獲取借閱者的所有借閱信息,查詢數(shù)據(jù)庫(kù)以獲取借閱信息的日期,然后由系統(tǒng)與當(dāng)時(shí)日期比較,以驗(yàn)證是否超過(guò)了規(guī)定的借閱期限,若超過(guò)規(guī)定的借閱時(shí)間,則顯示超期的圖書信息,以提示圖書管理員。16.管理員登錄管理員登錄的過(guò)程為:當(dāng)圖書管理員或系統(tǒng)管理員運(yùn)行系統(tǒng)時(shí),系統(tǒng)將首先運(yùn)行Login對(duì)話框,然后又圖書管理員或系統(tǒng)管理員輸入用戶名和密碼,并提交到系統(tǒng),后來(lái)由系統(tǒng)查詢數(shù)據(jù)庫(kù)以完成對(duì)用戶身份的驗(yàn)證,當(dāng)通過(guò)驗(yàn)證后,將根據(jù)登錄的用戶是系統(tǒng)管理員還是圖書管理員,以打開相應(yīng)的對(duì)話框。17.修改密碼修改密碼的過(guò)程為:圖書管理員選擇菜單項(xiàng)“修改密碼”,彈出ModifyDialog對(duì)話框,圖書管理員在該對(duì)話框中輸入舊密碼和新密碼,并提交,然后由系統(tǒng)查詢數(shù)據(jù)庫(kù),以驗(yàn)證當(dāng)前用戶的密碼是否與輸入的舊密碼相同,若相同,則將密碼更改為新的密碼,并提示圖書管理員修改密碼成功。在圖中出現(xiàn)了兩個(gè)Librarian對(duì)象,它們的含義是不相同的,一個(gè)代表系統(tǒng)的參與者,它不包含在系統(tǒng)中,另一個(gè)是為了實(shí)現(xiàn)系統(tǒng)的安全性,在系統(tǒng)中創(chuàng)建的參與者對(duì)象的映像。

09:38111Thanks!序列圖由哪幾個(gè)元素組成?序列圖常用的有幾種消息?交互框中使用“alt”“opt”“par”分別代表什么意思?一般什么情況下使用序列圖建模?09:38112回顧UML-狀態(tài)圖能夠理解狀態(tài)圖對(duì)系統(tǒng)交互建模能夠根據(jù)實(shí)體處于不同的狀態(tài)建模09:38114能力目標(biāo)09:38115目錄建立狀態(tài)圖的步驟4.狀態(tài)圖的組成3.實(shí)體的狀態(tài)2.狀態(tài)圖概述1.09:38116狀態(tài)圖(StatechartDiagram)狀態(tài)圖主要用于可視化的描述一個(gè)對(duì)象在其生存期間的動(dòng)態(tài)行為,表現(xiàn)一個(gè)對(duì)象所經(jīng)歷的狀態(tài)序列,引起狀態(tài)轉(zhuǎn)移的事件(event),以及因狀態(tài)轉(zhuǎn)移而伴隨的動(dòng)作(action)。一個(gè)狀態(tài)機(jī)可以被一個(gè)狀態(tài)圖描述,對(duì)于一個(gè)比較復(fù)雜的狀態(tài)機(jī),也可用多張狀態(tài)圖來(lái)表示。(狀態(tài)機(jī)“StateMachine”

是一種數(shù)學(xué)模型,它描述了一個(gè)系統(tǒng)或?qū)ο笤诓煌瑫r(shí)間內(nèi)所處的狀態(tài),以及在不同狀態(tài)下如何響應(yīng)輸入和事件。)09:381171概述先舉個(gè)栗子:09:38118狀態(tài)是指在對(duì)象(狀態(tài)從屬于一個(gè)特定的對(duì)象)的生命期中滿足某些條件、執(zhí)行某些活動(dòng)或等待某些事件時(shí)的一個(gè)條件或狀況。下面一些例子形象地說(shuō)明了對(duì)象和狀態(tài)。(1)支票(對(duì)象)已付(狀態(tài))。(2)汽車(對(duì)象)已啟動(dòng)(狀態(tài))。(3)小王(對(duì)象)睡著了(狀態(tài))。(4)小紅(對(duì)象)未婚(狀態(tài))。對(duì)象在任何時(shí)候都會(huì)處于某種狀態(tài)中,所有對(duì)象都有狀態(tài)對(duì)象所處的狀態(tài)決定了它如何響應(yīng)所檢測(cè)到的事件或所接收的消息。A.清醒-(被批評(píng))-生氣B.醉酒-(被批評(píng))-無(wú)反應(yīng)通常,事件使對(duì)象從一個(gè)狀態(tài)轉(zhuǎn)向另一個(gè)狀態(tài)(即狀態(tài)的轉(zhuǎn)換)09:381192首先看看什么是狀態(tài)?(1)狀態(tài)state初態(tài):是狀態(tài)圖的起始點(diǎn),用實(shí)心圓表示,一個(gè)狀態(tài)圖只能有一個(gè)初態(tài)。終態(tài):是狀態(tài)圖的終點(diǎn),用套有一個(gè)小

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論