版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
時(shí)序圖1系統(tǒng)或?qū)ο蟮膭?dòng)態(tài)模型主要包括狀態(tài)模型和交互模型。狀態(tài)模型用來(lái)描述系統(tǒng)或?qū)ο蟮膭?dòng)態(tài)行為,用狀態(tài)圖和活動(dòng)圖進(jìn)行描述,因此狀態(tài)圖和活動(dòng)圖又統(tǒng)稱為行為圖;交互模型主要用來(lái)幫助人們觀察和分析系統(tǒng)的交互行為,用時(shí)序圖和協(xié)作圖進(jìn)行描述,因此時(shí)序圖和協(xié)作圖又統(tǒng)稱為交互圖(Interactiondiagram)。交互圖2時(shí)序圖和協(xié)作圖從不同的角度描述了為完成某種系統(tǒng)功能,系統(tǒng)中各對(duì)象間的交互與協(xié)作,可以有效地幫助人們觀察和理解系統(tǒng)的動(dòng)態(tài)行為。通常用來(lái)描述一個(gè)用例的行為,實(shí)現(xiàn)一個(gè)用例,完成對(duì)系統(tǒng)的動(dòng)態(tài)行為建模;時(shí)序圖主要用來(lái)描述對(duì)象之間信息交換時(shí)的時(shí)間順序。而協(xié)作圖則用來(lái)描述系統(tǒng)對(duì)象之間如何協(xié)作共同完成系統(tǒng)功能要求,它們相互補(bǔ)充,并可以相互轉(zhuǎn)化。
3順序圖面向時(shí)間描述對(duì)象交互的圖協(xié)作圖對(duì)象間消息的結(jié)構(gòu)化視圖4
時(shí)序圖按照時(shí)間順序顯式對(duì)象之間交互的圖5時(shí)序圖(SequenceDiagram)在一些參考書(shū)中也被稱為順序圖,是一種詳細(xì)地表示對(duì)象之間行為交互關(guān)系的圖按時(shí)間順序把各個(gè)對(duì)象所執(zhí)行的操作以及它們之間所傳送的消息展現(xiàn)出來(lái)可以清晰而直觀的表示對(duì)象之間的行為交互關(guān)系以及操作和消息的時(shí)序關(guān)系。
6時(shí)序圖的主要用途之一是用來(lái)為某個(gè)用例的泛化功能提供其所缺乏的解釋?zhuān)窗延美磉_(dá)的要求轉(zhuǎn)化為更進(jìn)一步的精細(xì)表達(dá)。用例常常被細(xì)化為一個(gè)或多個(gè)時(shí)序圖。時(shí)序圖除了在設(shè)計(jì)新系統(tǒng)方面的用途之外,它還能用來(lái)記錄一個(gè)存在系統(tǒng)的對(duì)象現(xiàn)在如何交互。7登錄(1)用戶將用戶名和密碼提交給LoginAction(2)由LoginAction調(diào)用UserManager
(3)UserManager到用戶數(shù)據(jù)庫(kù)UserServer中查找用戶對(duì)象并返回(4)由UserManager判斷用戶名是否為空、密碼是否正確(5)然后將User對(duì)象返回(6)返回后臺(tái)登錄主界面。例子8例子9時(shí)序圖的最大特點(diǎn)是:它以二維的平面上的一維來(lái)表示時(shí)間進(jìn)度,在時(shí)間維上展開(kāi)了一組相互協(xié)作的對(duì)象在完成某項(xiàng)功能時(shí)所發(fā)生的行為與事件各個(gè)對(duì)象所執(zhí)行的操作以及它們之間所傳送的消息,從而能夠在邏輯上清晰的刻畫(huà)這些操作和消息的時(shí)序關(guān)系乃至因果關(guān)系。時(shí)序圖提供了對(duì)象所執(zhí)行的操作以及對(duì)象之間傳送的消息隨時(shí)間推移的、清晰的和可視化的軌跡。10簡(jiǎn)單時(shí)序圖
時(shí)序圖的組成11UML順序圖與用例圖和類(lèi)圖的關(guān)系12(1)
順序圖的組成活動(dòng)者(actor)或者對(duì)象(object)生命線(lifeline)激活(activation)/控制焦點(diǎn)(focusofcontrol)消息(message)當(dāng)執(zhí)行一個(gè)用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類(lèi)操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的事件。13UML-14-消息:向哪個(gè)對(duì)象發(fā)消息實(shí)際上就是調(diào)用它的類(lèi)中的操作,就是調(diào)用箭頭指向的對(duì)象所在類(lèi)的一個(gè)operation。訂單類(lèi)發(fā)消息給客戶類(lèi)調(diào)用客戶類(lèi)中的“驗(yàn)證客戶”操作14從參與者到對(duì)象和從對(duì)象到參與者之間發(fā)送的消息從對(duì)象傳遞給另一個(gè)對(duì)象的消息在類(lèi)圖中的類(lèi)的對(duì)象使用系統(tǒng)的參與者,這個(gè)系統(tǒng)是為某個(gè)用例的某個(gè)場(chǎng)景設(shè)計(jì)的對(duì)象生命線表示從上到下的時(shí)間順序,消息1在消息2之前發(fā)生,消息2在消息3之前發(fā)生窄長(zhǎng)方框用以強(qiáng)調(diào)這個(gè)部分處于活動(dòng)狀態(tài)15順序圖生命線消息控制焦點(diǎn)對(duì)象16在UML中,時(shí)序圖用一個(gè)二維圖描述系統(tǒng)中各個(gè)對(duì)象之間的交互關(guān)系。其中,縱軸是時(shí)間軸,時(shí)間沿豎線向下延伸,由上至下表示時(shí)間的先后順序。橫軸代表了參與相互作用的對(duì)象。當(dāng)對(duì)象存在時(shí),生命線由一條虛線表示;當(dāng)對(duì)象的過(guò)程處于激活狀態(tài)時(shí),生命線上用一個(gè)激活條表示。消息用從一個(gè)對(duì)象到另一個(gè)對(duì)象生命線的箭頭表示,箭頭一時(shí)間順序從上到下排列。17(2)
活動(dòng)者或?qū)ο蠡顒?dòng)者和對(duì)象按照從左到右的順序排列一般最多兩個(gè)活動(dòng)者,他們分列兩端。啟動(dòng)這個(gè)用例的活動(dòng)者往往排在最左邊;接收消息的活動(dòng)者則排在最右端;對(duì)象從左到右按照重要性排列或按照消息先后順序排列。1819
活動(dòng)者或?qū)ο髮?duì)象的命名方式有三種:包括對(duì)象名和類(lèi)名類(lèi)名(匿名對(duì)象)對(duì)象名(不關(guān)心類(lèi))20(3)
生命線生命線(Lifeline):每個(gè)對(duì)象都有自己的生命線,用來(lái)表示在該用例中一個(gè)對(duì)象在一段時(shí)間內(nèi)的存在垂直的虛線如果對(duì)象生命期結(jié)束,則用注銷(xiāo)符號(hào)表示對(duì)象默認(rèn)的位置在圖頂部,表示對(duì)象在交互之前已經(jīng)存在如果是在交互過(guò)程中由另外的對(duì)象所創(chuàng)建,則位于圖的中間某處。21(4)
激活期當(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è)消息箭頭離開(kāi)對(duì)象的生命線,此時(shí)對(duì)象的一個(gè)激活期也宣告結(jié)束。22(5)
消息面向?qū)ο蠓椒ㄖ?,消息是?duì)象間交互信息的主要方式。結(jié)構(gòu)化程序設(shè)計(jì)中,模塊間傳遞信息的方式主要是過(guò)程(或函數(shù))調(diào)用。對(duì)象A向?qū)ο驜發(fā)送消息,可以簡(jiǎn)單地理解為對(duì)象A調(diào)用對(duì)象B的一個(gè)操作(operation)。23
消息順序圖中,盡力保持消息的順序是從左到右排列的。一個(gè)順序圖的消息流開(kāi)始于左上方,消息2的位置比消息1低,這意味著消息2的順序比消息1要遲。因?yàn)槲鞣降拈喿x習(xí)慣是從左到右。順序圖中消息編號(hào)可顯示,也可不顯示。協(xié)作圖中必須顯示。24
消息在任何一個(gè)軟件系統(tǒng)中,對(duì)象都不是孤立存在的,它們之間通過(guò)消息進(jìn)行通信。消息是用來(lái)說(shuō)明時(shí)序圖中不同活動(dòng)對(duì)象之間的通信。因此,消息可以激發(fā)某個(gè)操作、創(chuàng)建或撤銷(xiāo)某個(gè)對(duì)象。在時(shí)序圖中,消息是由從一個(gè)對(duì)象的生命線指向另一個(gè)對(duì)象的生命線的直線箭頭來(lái)表示的,箭頭上面還可以表明要發(fā)送的消息名及序號(hào)。在多個(gè)對(duì)象之間,消息的次序由它們?cè)诖怪陛S上的相對(duì)位置決定。2526當(dāng)進(jìn)行時(shí)序圖建模時(shí),所用到的消息主要包括以下幾種類(lèi)型:簡(jiǎn)單消息(SimpleMessage)同步消息(SynchronousMessage)異步消息(AsynchronousMessage)反身消息(MessagetoSelf)返回消息(ReturnMessage)2728簡(jiǎn)單消息(SimpleMessage)簡(jiǎn)單消息是在同步和異步之間沒(méi)有區(qū)別的消息。使用簡(jiǎn)單消息是因?yàn)橛袝r(shí)消息是同步還是異步無(wú)關(guān)緊要,或者在不知道消息的類(lèi)型的情況下就需要用到簡(jiǎn)單消息。在對(duì)系統(tǒng)進(jìn)行時(shí)序圖建模時(shí),可以對(duì)所有的消息都使用簡(jiǎn)單消息進(jìn)行表示,然后再根據(jù)情況確定消息的類(lèi)型。29同步消息
(SynchronousMessage)同步消息最常見(jiàn)的情況是調(diào)用,即消息發(fā)送者對(duì)象在它的一個(gè)操作執(zhí)行時(shí)調(diào)用接收者對(duì)象的一個(gè)操作,此時(shí)消息名稱通常就是被調(diào)用的操作名稱。當(dāng)消息被處理完后,可以回送一個(gè)簡(jiǎn)單消息,或者是隱含的返回。30異步消息
(AsynchronousMessage)異步消息表示發(fā)送消息的對(duì)象不用等待回應(yīng)的返回消息,即可開(kāi)始另一個(gè)活動(dòng)。異步消息在某種程度上規(guī)定了發(fā)送方和接收方的責(zé)任,即發(fā)送方只負(fù)責(zé)將消息發(fā)送到接收方,至于接收方如何響應(yīng),發(fā)送方則不需要知道。對(duì)接收方來(lái)說(shuō),在接收到消息后它既可以對(duì)消息進(jìn)行處理,也可以什么都不做。31反身消息(MessagetoSelf)時(shí)序圖建模過(guò)程中,一個(gè)對(duì)象也可以將一個(gè)消息發(fā)送給它自己,這就是反身消息。如果一條消息只能作為反身消息,那么說(shuō)明該操作只能由對(duì)象自身的行為觸發(fā)。這表明該操作可以被設(shè)置為private屬性,只有屬于同一個(gè)類(lèi)的對(duì)象才能夠調(diào)用它。在這種情況下,應(yīng)該對(duì)時(shí)序圖進(jìn)行徹底的檢查,以確定該操作不需要被其他對(duì)象直接調(diào)用。3233返回消息(ReturnMessage)返回消息是時(shí)序圖的一個(gè)可選擇部分,它表示控制流從過(guò)程調(diào)用的返回。返回消息一般可以缺省,隱含表示每一個(gè)調(diào)用都有一個(gè)配對(duì)的調(diào)用返回。是否使用返回消息依賴于建模的具體/抽象程度。如果需要較好的具體化,返回消息是有用的;否則,主動(dòng)消息就足夠了。3435
消息Rose新增消息阻止(Balking)接收者如果無(wú)法立即接收消息,則發(fā)送者放棄該消息超時(shí)(Time-out)如果接收者無(wú)法在指定的時(shí)間內(nèi)接收消息,則發(fā)送者放棄該消息Q:這兩種消息可以看做是同步or異步消息?365.消息中的參數(shù)和序號(hào)
時(shí)序圖中的消息除了具有消息名稱之外還可以包含許多附加的信息。消息可以與類(lèi)中的操作等效,即消息可以帶有可傳遞到被調(diào)用對(duì)象的參數(shù)列表,并且最多包含一個(gè)返回給調(diào)用對(duì)象的返回值。當(dāng)時(shí)序圖中的消息比較多時(shí),還可以通過(guò)對(duì)消息前置序號(hào)表達(dá)式的方式指定消息的順序。37
消息消息內(nèi)容標(biāo)識(shí)的格式為:[序號(hào)][監(jiān)護(hù)條件]*[重復(fù)次數(shù)][返回值表:=]操作名(參數(shù)表)例:2:display()簡(jiǎn)單消息1.3.1:p:=find()帶返回值的嵌套消息[x<0]4:invert(x,color)條件消息3.1*[x=1..10]:update()
循環(huán)消息a3,b4/c2:copy(a,b)線程同步1.1a,1.1b/1.2:continue()帶前綴消息在發(fā)送線程c的第2個(gè)消息之前,必須先發(fā)送線程a的第3個(gè)消息和線程b的第4個(gè)消息在發(fā)送消息1.2之前必須已經(jīng)同時(shí)發(fā)送并發(fā)消息給線程a和b38前綴(predecessor)語(yǔ)法:消息序列號(hào),消息序列號(hào),.../前綴是一個(gè)用來(lái)同步線程或路徑(path)的表達(dá)式意思是在發(fā)送當(dāng)前消息之前指定序列號(hào)的消息被處理(必須連續(xù)執(zhí)行)消息序列號(hào)之間用逗號(hào)隔開(kāi),用斜杠結(jié)束例如1.1a,1.1b/1.2:continue(),在發(fā)送消息1.2之前必須已經(jīng)同時(shí)發(fā)送并發(fā)消息給線程a和b39守衛(wèi)條件(guard-condition)語(yǔ)法:[條件短語(yǔ)]條件短語(yǔ)通常用偽代碼或真正的程序語(yǔ)言來(lái)表示,UML并不規(guī)定其語(yǔ)法例如,[x<0]4:invert(x,color)40序列表達(dá)式(sequence-expression)語(yǔ)法[integer|name][recurrence]:integer為指定消息順序的序列號(hào),消息1是消息序列的開(kāi)始消息消息,1.1是消息1的處理過(guò)程中的第一條嵌套的消息,消息1.2是消息1的處理過(guò)程中的第二條嵌套的消息,一個(gè)消息序列的例子如1,1.1,1.2,1.2.1,1.2.2,1.3,等。這樣的序列號(hào)不僅能夠表示消息的順序而且還能表示消息的嵌套關(guān)系(當(dāng)消息是異步消息時(shí)消息為嵌套的操作調(diào)用及返回)name表示并發(fā)控制線程,例如1.2a和1.2b為同時(shí)發(fā)送的并發(fā)消息41recurrence表示一個(gè)條件或迭代的執(zhí)行有兩種選擇*[循環(huán)子句]循環(huán)子句(iteration-clause)用來(lái)指定一個(gè)循環(huán)(重復(fù)執(zhí)行)例如:一個(gè)包括循環(huán)的消息1.1*[x=1..10]:doSomething()[條件子句]條件子句一般用來(lái)表示分枝而不是用作守衛(wèi)條件[x<0]是兩個(gè)可以用來(lái)分枝的條件子句這兩個(gè)條件只能有一個(gè)為真因而只有一個(gè)分枝被執(zhí)行(即發(fā)送與分枝有關(guān)的消息)條件子句和循環(huán)子句都可以用偽代碼或真正的編程語(yǔ)言來(lái)表示序列表達(dá)式用冒號(hào)結(jié)束42返回值、消息名和參數(shù)表返回值表示一個(gè)操作調(diào)用(即一個(gè)消息)的結(jié)果4344(6)Rose中的消息45Simple和Asynchronous都可表示異步,UML1.4之后的版本用Simple消息表示異步ProcedureCall和Synchronous和都可表示同步,UML早期版本用“同步消息”這一術(shù)語(yǔ),目前常用ProcedureCall消息表示同步Return不變新增balking和time-out消息46(7)對(duì)象的創(chuàng)建和撤銷(xiāo)
對(duì)象的創(chuàng)建有幾種情況:時(shí)序圖中的對(duì)象的默認(rèn)位置是在圖的頂部,如果對(duì)象在這個(gè)位置上,那么說(shuō)明在發(fā)送消息時(shí),該對(duì)象就已經(jīng)存在了;如果對(duì)象是在執(zhí)行的過(guò)程中創(chuàng)建的,那么它的位置應(yīng)該處在圖的中間部分。47
對(duì)象的創(chuàng)建和撤銷(xiāo)
對(duì)象的創(chuàng)建有幾種情況:時(shí)序圖中的對(duì)象的默認(rèn)位置是在圖的頂部,如果對(duì)象在這個(gè)位置上,那么說(shuō)明在發(fā)送消息時(shí),該對(duì)象就已經(jīng)存在了;如果對(duì)象是在執(zhí)行的過(guò)程中創(chuàng)建的,那么它的位置應(yīng)該處在圖的中間部分。48對(duì)象的創(chuàng)建有兩種方法:
49在處理新創(chuàng)建的對(duì)象,或時(shí)序圖中的其他對(duì)象時(shí),都可以發(fā)送“destroy”消息來(lái)撤銷(xiāo)對(duì)象。要想說(shuō)明某個(gè)對(duì)象被撤銷(xiāo),需要在被撤銷(xiāo)對(duì)象的生命線末端放一個(gè)“×”符號(hào)進(jìn)行標(biāo)識(shí)。
50
時(shí)序圖建模
對(duì)系統(tǒng)動(dòng)態(tài)行為建模的過(guò)程中,當(dāng)強(qiáng)調(diào)按時(shí)間展開(kāi)信息的傳送時(shí),一般使用時(shí)序圖建模技術(shù)。一個(gè)單獨(dú)的時(shí)序圖只能顯示一個(gè)控制流。一般情況下,一個(gè)完整的控制流是非常復(fù)雜的,要描述它需要?jiǎng)?chuàng)建很多交互圖(包括時(shí)序圖和協(xié)作圖),一些圖是主要的,另一些圖用來(lái)描述可選擇的路徑和一些例外,再用一個(gè)包對(duì)它們進(jìn)行統(tǒng)一的管理。51使用時(shí)序圖對(duì)系統(tǒng)進(jìn)行交互圖建模時(shí),可以參考以下策略:設(shè)置交互的語(yǔ)境,這些語(yǔ)境可以是系統(tǒng)、子系統(tǒng)、類(lèi)、用例和協(xié)作的一個(gè)腳本。識(shí)別對(duì)象在交互語(yǔ)境中所扮演的角色,根據(jù)對(duì)象的重要性及相互關(guān)系,將其從左至右放置在時(shí)序圖的頂部。設(shè)置每個(gè)對(duì)象的生命線。通常情況下,對(duì)象存在于整個(gè)交互過(guò)程中,但它們也可以在交互過(guò)程中創(chuàng)建和撤銷(xiāo)。對(duì)于這類(lèi)對(duì)象,在適當(dāng)?shù)臅r(shí)刻設(shè)置它們的生命線,并用適當(dāng)?shù)臉?gòu)造型消息顯示地說(shuō)明它們的創(chuàng)建和撤銷(xiāo)。52從引發(fā)某個(gè)消息的信息開(kāi)始,在生命線之間畫(huà)出從頂?shù)降滓来握归_(kāi)的消息,顯示每個(gè)消息的內(nèi)容標(biāo)識(shí)。設(shè)置對(duì)象的激活期,可視化消息的嵌套或可視化實(shí)際計(jì)算發(fā)生時(shí)的時(shí)間點(diǎn)。如果需要設(shè)置時(shí)間或空間的約束,可以為每個(gè)消息附上合適的時(shí)間和空間約束。如果需要形式化的說(shuō)明某控制流,可以為每個(gè)消息附上前置和后置條件。53建立順序圖的步驟確定交互的范圍;識(shí)別參與交互的對(duì)象和活動(dòng)者;設(shè)置對(duì)象生命線開(kāi)始和結(jié)束;設(shè)置消息;細(xì)化消息;54
案例:存款分析級(jí)別的順序圖,粗略,雙斜杠忽略消息同步異步類(lèi)別也無(wú)妨55
練習(xí)用戶打印文件,計(jì)算機(jī)向打印服務(wù)器發(fā)送打印命令,打印機(jī)如果空閑,則直接打印,否則把打印文件存儲(chǔ)在打印隊(duì)列中。5657
時(shí)序圖建模實(shí)例
圖書(shū)管理系統(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ǔ)借閱者信息。58592.修改借閱者修改借閱者的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“修改借閱者”,彈出UpdateBorrowerDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入借閱者的借閱證號(hào),隨后系統(tǒng)查詢數(shù)據(jù)庫(kù)并顯示相關(guān)的借閱者信息(如果輸入的借閱者信息不存在,則顯示提示信息,結(jié)束修改操作),修改相關(guān)借閱者信息,并存儲(chǔ)。60613.刪除借閱者刪除借閱者的過(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é)束刪除操作;若沒(méi)有,則系統(tǒng)刪除該借閱者。62634.添加書(shū)目添加書(shū)目的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“添加書(shū)目”,彈出AddTitleDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入圖書(shū)的名稱、ISBN號(hào)、出版社名、作者姓名等信息并提交,系統(tǒng)根據(jù)提交的ISBN號(hào)查詢圖書(shū)的書(shū)目是否存在,若不存在,則為創(chuàng)建該書(shū)目。64655.修改書(shū)目修改書(shū)目的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“修改書(shū)目”,彈出UpdateTitleDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入圖書(shū)的ISBN號(hào)并提交,隨后系統(tǒng)查詢數(shù)據(jù)庫(kù)并顯示相關(guān)的書(shū)目信息(如果輸入的ISBN號(hào)不存在,則顯示提示信息,結(jié)束修改操作),修改相關(guān)書(shū)目信息,并存儲(chǔ)。66676.刪除書(shū)目刪除書(shū)目的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“刪除書(shū)目”,彈出DeleteTitleDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入圖書(shū)的ISBN號(hào)并提交,隨后系統(tǒng)查詢數(shù)據(jù)庫(kù)并顯示相關(guān)的書(shū)目信息(如果輸入的書(shū)目信息不存在,則顯示提示信息,結(jié)束刪除操作),點(diǎn)擊刪除按鈕,系統(tǒng)驗(yàn)證該書(shū)目對(duì)應(yīng)的圖書(shū)數(shù)目是否為0,如果為0,則刪除該書(shū)目信息;反之,則系統(tǒng)提示必須先刪除相應(yīng)的圖書(shū)。68697.添加圖書(shū)添加圖書(shū)的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“添加圖書(shū)”,彈出AddBookDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入圖書(shū)的ISBN號(hào)并提交,系統(tǒng)根據(jù)提交的ISBN號(hào)查詢圖書(shū)的書(shū)目是否存在,若不存在,則提示管理員需要先添加書(shū)目,然后才可以添加圖書(shū);若存在,則添加一個(gè)圖書(shū),并更新圖書(shū)對(duì)應(yīng)的書(shū)目信息。70718.刪除圖書(shū)刪除圖書(shū)的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“刪除圖書(shū)”,彈出DeleteBookDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入要?jiǎng)h除圖書(shū)的ISBN號(hào)并提交,隨后系統(tǒng)查詢數(shù)據(jù)庫(kù)并顯示相關(guān)的圖書(shū)信息(如果輸入的ISBN號(hào)不存在,則顯示提示信息,結(jié)束刪除操作),系統(tǒng)管理員進(jìn)行確認(rèn)并點(diǎn)擊刪除按鈕,刪除該圖書(shū),系統(tǒng)更新相應(yīng)的書(shū)目信息。72739.添加管理員添加管理員的過(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)管理員還是圖書(shū)管理員,并根據(jù)系統(tǒng)管理員的選擇添加一個(gè)圖書(shū)管理員或系統(tǒng)管理員。747510.刪除管理員刪除管理員的過(guò)程為:系統(tǒng)管理員選擇菜單項(xiàng)“刪除管理員”,彈出DeleteManagerDialog對(duì)話框。系統(tǒng)管理員可以在該對(duì)話框中輸入要?jiǎng)h除的管理員的用戶名并提交,隨后系統(tǒng)查詢數(shù)據(jù)庫(kù),以檢驗(yàn)該管理員是否存在,若存在,則刪除該管理員。767711.借閱圖書(shū)借閱圖書(shū)的過(guò)程為:圖書(shū)管理員選擇菜單項(xiàng)“借閱圖書(shū)”,彈出BorrowDialog對(duì)話框,圖書(shū)管理員在該對(duì)話框中輸入借閱者信息,然后由系統(tǒng)查詢數(shù)據(jù)庫(kù),以驗(yàn)證該借閱者的合法性,若借閱者合法,則在由圖書(shū)管理員輸入所要借閱的圖書(shū)信息,系統(tǒng)記錄并保存該借閱信息。787912.歸還圖書(shū)歸還圖書(shū)的過(guò)程為:圖書(shū)管理員選擇菜單項(xiàng)“歸還圖書(shū)”,彈出ReturnDialog對(duì)話框,圖書(shū)管理員在該對(duì)話框中輸入歸還圖書(shū)編號(hào),然后由系統(tǒng)查詢數(shù)據(jù)庫(kù),以驗(yàn)證該圖書(shū)是否為本館藏書(shū),若圖書(shū)不合法,則提示圖書(shū)管理員;若合法,則由系統(tǒng)查找該圖書(shū)的借閱者信息,然后刪除相對(duì)應(yīng)的借閱記錄,并更新借閱者信息。808113.查詢借閱信息查詢借閱信息的過(guò)程為:圖書(shū)管理員選擇菜單項(xiàng)“查詢借閱信息”,彈出QueryDialog對(duì)話框,圖書(shū)管理員在該對(duì)話框中輸入要查詢的借閱證號(hào),然后由系統(tǒng)查詢數(shù)據(jù)庫(kù),以獲得該借閱者信息,并通過(guò)顯示借閱信息用例顯示該借閱者所借閱的所有圖書(shū)信息。828314.顯示借閱信息顯示借閱信息的過(guò)程為:當(dāng)BorrowDialog、ReturnDialog和QueryDialog對(duì)話框調(diào)用Borrower類(lèi)的GetTitleInfo()方法時(shí),系統(tǒng)獲取該借閱者信息,然后根據(jù)借閱信息找到所借閱的圖書(shū),并進(jìn)一步獲取所借閱圖書(shū)對(duì)應(yīng)的書(shū)目信息,最后由相應(yīng)的對(duì)話框負(fù)責(zé)顯示。848515.超期處理超期處理的前提條件是:當(dāng)發(fā)生借書(shū)或還書(shū)時(shí),首先由系統(tǒng)找到借閱者的信息,然后調(diào)用超期處理以檢驗(yàn)該借閱者是否有超期的借閱信息。超期處理的過(guò)程為:獲取借閱者的所有借閱信息,查詢數(shù)據(jù)庫(kù)以獲取借閱信息的日期,然后由系統(tǒng)與當(dāng)時(shí)日期比較,以驗(yàn)證是否超過(guò)了規(guī)定的借閱期限,若超過(guò)規(guī)定的借閱時(shí)間,則顯示超期的圖書(shū)信息,以提示圖書(shū)管理員。868716.管理員登錄管理員登錄的過(guò)程為:當(dāng)圖書(shū)管理員或系統(tǒng)管理員運(yùn)行系統(tǒng)時(shí),系統(tǒng)將首先運(yùn)行Login對(duì)話框,然后又圖書(shū)管理員或系統(tǒng)管理員輸入用戶名和密碼,并提交到系統(tǒng),后來(lái)由系統(tǒng)查詢數(shù)據(jù)庫(kù)以完成對(duì)用戶身份的驗(yàn)證,當(dāng)通過(guò)驗(yàn)證后,將根據(jù)登錄的用戶是系統(tǒng)管理員還是圖書(shū)管理員,以打開(kāi)相應(yīng)的對(duì)話框。888917.修改密碼修改密碼的過(guò)程為:圖書(shū)管理員選擇菜單項(xiàng)“修改密碼”,彈出ModifyDialog對(duì)話框,圖書(shū)管理員在該對(duì)話框中輸入舊密碼和新密碼,并提交,然后由系統(tǒng)查詢數(shù)據(jù)庫(kù),以驗(yàn)證當(dāng)前用戶的密碼是否與輸入的舊密碼相同,若相同,則將密碼更改為新的密碼,并提示圖書(shū)管理員修改密碼成功。90在圖中出現(xiàn)了兩個(gè)Librarian對(duì)象,它們的含義是不相同的,一個(gè)代表系統(tǒng)的參與者,它不包含在系統(tǒng)中,另一個(gè)是為了實(shí)現(xiàn)系統(tǒng)的安全性,在系統(tǒng)中創(chuàng)建的參與者對(duì)象的映像。
91UML順序圖與用例圖和類(lèi)圖的關(guān)系92例子——總結(jié)信息亭售票中心信用卡服務(wù)934.
順序圖UML-94-
此圖是描述購(gòu)票這個(gè)用例的順序圖。顧客在信息亭與售票中心通話觸發(fā)了這個(gè)用例的執(zhí)行。順序圖中付款這個(gè)用例包括售票中心與信息亭和信用卡服務(wù)處使用消息進(jìn)行通信過(guò)程。此圖中存在的事物有:對(duì)象(信息亭Kjosk,售票中心BoxOffice,信用卡服務(wù)CreditCardService
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度高端簽約費(fèi)主播合同范本3篇
- 2021-2022學(xué)年山東省泰安市岱岳區(qū)四年級(jí)下學(xué)期期末道德與法治真題及答案
- 2023-2024學(xué)年四川省內(nèi)江市威遠(yuǎn)縣四年級(jí)上學(xué)期期末數(shù)學(xué)真題及答案
- 幼兒社交干預(yù)課程設(shè)計(jì)
- 2021年北京西城區(qū)六年級(jí)下冊(cè)期末語(yǔ)文試卷及答案部編版(一卷)
- 二年級(jí)數(shù)學(xué)(上)計(jì)算題專(zhuān)項(xiàng)練習(xí)
- 2019.1.19 電力電子技術(shù)電子教案
- 2021-2022學(xué)年廣東省廣州市越秀區(qū)部編版小學(xué)三年級(jí)下冊(cè)語(yǔ)文期末試題及答案
- 2020-2021學(xué)年江蘇省鎮(zhèn)江市鎮(zhèn)江新區(qū)一年級(jí)下冊(cè)數(shù)學(xué)期中試題及答案
- 2022-2023學(xué)年四川省成都市成華區(qū)小學(xué)三年級(jí)上冊(cè)數(shù)學(xué)期末試題及答案
- DB4401-T 43-2020 反恐怖防范管理+防沖撞設(shè)施-(高清現(xiàn)行)
- 2023年9月新《醫(yī)療器械分類(lèi)目錄》-自2023年8月1日起施行
- 縣域醫(yī)療健康服務(wù)集團(tuán)(醫(yī)共體)藥品耗材統(tǒng)一采購(gòu)管理工作方案
- 【精品】小學(xué)四年級(jí)語(yǔ)文閱讀理解專(zhuān)項(xiàng)練習(xí)(共20篇)(常用)
- 衛(wèi)生部手術(shù)分級(jí)目錄(版)
- 江蘇省第十四批省級(jí)民主法治示范村
- 全國(guó)行政區(qū)域身份證代碼表(EXCEL版)
- 《S7-1200-PLC-編程及應(yīng)用技術(shù)》試題試卷及答案2套
- 通風(fēng)與空調(diào)工程施工質(zhì)量驗(yàn)收規(guī)范課件
- 300T汽車(chē)吊主臂起重性能表
- 燃?xì)廨啓C(jī)及燃?xì)庹羝?lián)合循環(huán)概述匯總
評(píng)論
0/150
提交評(píng)論