




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
系統(tǒng)分析與設(shè)計(jì)(shèjì)
共七十五頁(yè)UnifiedModelingLanguage(UML)UML概要軟件界第一個(gè)統(tǒng)一建模語(yǔ)言UML由OMG與1997年11月批準(zhǔn)為標(biāo)準(zhǔn)建模語(yǔ)言。UML建立在當(dāng)今國(guó)際上最有代表性的三種(sānzhǒnɡ)面向?qū)ο蠓椒ǎ˙ooch方法,OMT方法,OOSE方法)的基礎(chǔ)之上。UML是一種建模語(yǔ)言而不是一種方法,UML本身是獨(dú)立于過(guò)程的。共七十五頁(yè)UnifiedModelingLanguage(UML)共七十五頁(yè)面向?qū)ο笫且环N思想方法RUP是Rational公司定義的統(tǒng)一軟件過(guò)程知識(shí)庫(kù)產(chǎn)品。UML是面向?qū)ο笏枷氲慕y(tǒng)一表達(dá)語(yǔ)言。ROSE是Rational公司開(kāi)發(fā)的運(yùn)用UML和RUP的CASE工具。UnifiedModelingLanguage(UML)共七十五頁(yè)注意:UML不是可視化程序設(shè)計(jì)語(yǔ)言,而是標(biāo)準(zhǔn)的圖形化建模語(yǔ)言;不是工具或知識(shí)庫(kù)的規(guī)格說(shuō)明,而是建模語(yǔ)言規(guī)格說(shuō)明;不是過(guò)程,也不是方法;但允許任何一種過(guò)程或者方法使用它。與具體實(shí)現(xiàn)(shíxiàn)無(wú)關(guān),可應(yīng)用于任何語(yǔ)言平臺(tái)和工具平臺(tái);與具體過(guò)程無(wú)關(guān),可應(yīng)用于任何軟件開(kāi)發(fā)過(guò)程;UnifiedModelingLanguage(UML)共七十五頁(yè)
一般而言,我們可以從以下幾種常用的視角來(lái)描述一個(gè)系統(tǒng):系統(tǒng)的使用實(shí)例:從系統(tǒng)外部的操作者的角度描述系統(tǒng)的功能。系統(tǒng)的邏輯結(jié)構(gòu):描述系統(tǒng)內(nèi)部的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,即從內(nèi)部描述如何設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)功能。系統(tǒng)的構(gòu)成:描述系統(tǒng)由哪些程序組件所組成。系統(tǒng)的并發(fā)性:描述系統(tǒng)的并發(fā)性,強(qiáng)調(diào)并發(fā)系統(tǒng)中存在的各種通信和同步問(wèn)題。系統(tǒng)的配置(pèizhì):描述系統(tǒng)的軟件和各種硬件設(shè)備之間的配置(pèizhì)關(guān)系。UnifiedModelingLanguage(UML)共七十五頁(yè)場(chǎng)景設(shè)計(jì)(shèjì)視圖實(shí)現(xiàn)(shíxiàn)視圖進(jìn)程視圖實(shí)施視圖描述設(shè)計(jì)的對(duì)象模型,關(guān)注軟件抽象功能性需求描述設(shè)計(jì)的并發(fā)和同步等特性,關(guān)注系統(tǒng)非功能性需求描述軟件和硬件的映射問(wèn)題,關(guān)注系統(tǒng)非功能性需求(性能、可靠性等)關(guān)注軟件代碼的靜態(tài)組織與管理對(duì)系統(tǒng)中的重要活動(dòng)的抽象,使四個(gè)視圖有機(jī)地聯(lián)系起來(lái)軟件體系架構(gòu)的:“4+1”視圖邏輯視圖物理視圖UnifiedModelingLanguage(UML)共七十五頁(yè)靜態(tài)(jìngtài)圖實(shí)現(xiàn)(shíxiàn)圖行為圖交互圖包圖UnifiedModelingLanguage(UML)共七十五頁(yè)UML圖符常見(jiàn)(chánɡjiàn)模型元素
共七十五頁(yè)UMLUseCaseDiagrams(用例圖)用例圖描述系統(tǒng)外部的執(zhí)行者與系統(tǒng)的用例之間的某種聯(lián)系。所謂用例是指對(duì)系統(tǒng)提供的功能(或稱系統(tǒng)的用途)的一種描述;執(zhí)行者是那些可能使用這些用例的人或外部系統(tǒng);用例和執(zhí)行者之間的聯(lián)系描述了“誰(shuí)使用哪個(gè)用例”。一個(gè)用例是用戶(yònghù)與計(jì)算機(jī)之間為達(dá)到某個(gè)目的的一次典型交互作用:用例描述了用戶提出的一些可見(jiàn)的需求;用例可大可?。挥美龑?duì)應(yīng)一個(gè)具體的用戶目標(biāo)用例圖著重于從系統(tǒng)外部執(zhí)行者的角度來(lái)描述系統(tǒng)需要提供哪些功能,并且指明了這些功能的執(zhí)行者是誰(shuí);用例圖在UML方法中占有十分重要的地位,人們甚至稱UML是一種用例圖驅(qū)動(dòng)的開(kāi)發(fā)方法。共七十五頁(yè)用例分析的一個(gè)好處是它能夠展現(xiàn)出系統(tǒng)和外部世界之間的邊界(biānjiè)。參與者是典型的系統(tǒng)外部實(shí)體,而用例是典型的屬于系統(tǒng)內(nèi)部。系統(tǒng)的邊界(biānjiè)用一個(gè)矩形來(lái)代表,里面寫(xiě)上系統(tǒng)的名字。系統(tǒng)的用例裝入矩形之內(nèi)。UMLUseCaseDiagrams(用例圖)共七十五頁(yè)用例圖中的圖符:使用:由用例A連向用例B,表示用例A中使用了用例B中的行為或功能。
擴(kuò)展:由用例A連向用例B,表示用例B描述了一項(xiàng)基本需求,而用例A則描述了該基本需求的特殊情況。
注釋體:對(duì)UML實(shí)體進(jìn)行文字描述注釋連接(liánjiē):將注釋體與要描述的實(shí)體連接(liánjiē),說(shuō)明該注釋體是針對(duì)該實(shí)體進(jìn)行的描述。?擴(kuò)展?擴(kuò)展用例被擴(kuò)展用例?使用?使用用例抽象用例UMLUseCaseDiagrams(用例圖)共七十五頁(yè)設(shè)置(shèzhì)邊界風(fēng)險(xiǎn)(fēngxiǎn)分析交易估計(jì)進(jìn)行交易超越邊界更新帳目評(píng)價(jià)貿(mào)易經(jīng)理營(yíng)銷(xiāo)人員記帳系統(tǒng)銷(xiāo)售人員?使用??使用??擴(kuò)展?UMLUseCaseDiagrams(用例圖)共七十五頁(yè)用例建模步驟:1.獲取執(zhí)行者:誰(shuí)使用系統(tǒng)的主要功能(主要使用者)?誰(shuí)需要系統(tǒng)支持他們的日常工作?誰(shuí)來(lái)維護(hù)、管理系統(tǒng)使其能正常工作(輔助使用者)?系統(tǒng)需要控制哪些硬件?系統(tǒng)需要與其他哪些系統(tǒng)交互?對(duì)系統(tǒng)產(chǎn)生的結(jié)果感興趣的是哪些人?2.獲取用例:執(zhí)行者要求系統(tǒng)提供哪些功能?執(zhí)行者需要讀、產(chǎn)生、刪除、修改或存儲(chǔ)系統(tǒng)中的信息有哪些類(lèi)型?必須提醒執(zhí)行者的系統(tǒng)事件有哪些?執(zhí)行者必須提醒系統(tǒng)事件有哪些?怎樣把這些事件表示成用例中的功能?3.構(gòu)造(gòuzào)用例模型圖4.記錄用例描述UMLUseCaseDiagrams(用例圖)共七十五頁(yè)UMLClassDiagrams(類(lèi)圖)靜態(tài)模型在面向?qū)ο蟮慕<夹g(shù)中,類(lèi)、對(duì)象和它們之間的關(guān)系是最基本的建模元素。對(duì)于一個(gè)想要描述的系統(tǒng),其類(lèi)模型、對(duì)象模型以及它們之間的關(guān)系揭示了系統(tǒng)的結(jié)構(gòu)。類(lèi)圖類(lèi)圖描述了系統(tǒng)中的類(lèi)及其相互之間的各種(ɡèzhǒnɡ)關(guān)系,其本質(zhì)反映了系統(tǒng)中包含的各種(ɡèzhǒnɡ)對(duì)象的類(lèi)型以及對(duì)象間的各種(ɡèzhǒnɡ)靜態(tài)關(guān)系(關(guān)聯(lián),子類(lèi)型)。類(lèi)圖中的圖符:其中第一欄是類(lèi)的名,第二欄是類(lèi)的屬性,第三欄是類(lèi)的操作。操作(服務(wù))屬性類(lèi)名共七十五頁(yè)WashingMachinebrandNamemodeNameserialNumberaddClothes(C:String)removeClothes(C:string)turnON():Boolean屬性——是類(lèi)的一個(gè)特性,它描敘了類(lèi)的對(duì)象(也就是類(lèi)的實(shí)例)所具有的一系列特性值。一個(gè)類(lèi)可以具有零個(gè)到多個(gè)屬性。屬性名列表放在類(lèi)名之下,并且和類(lèi)名之間用分隔號(hào)隔開(kāi)。UML中屬性的語(yǔ)法格式:可見(jiàn)性屬性名:類(lèi)型名=初值{性質(zhì)串}可見(jiàn)性(可訪問(wèn)性)包括三種:公有(gōngyǒu)的(+)私有的(—)保護(hù)的(#)如果未聲明可見(jiàn)性,則表示該屬性的可見(jiàn)性尚未定義。注意,沒(méi)有默認(rèn)的可見(jiàn)性。類(lèi)圖舉例(jǔlì)UMLClassDiagrams(類(lèi)圖)共七十五頁(yè)WashingMachinebrandNamemodeNameserialNumberaddClothes(C:String)removeClothes(C:string)turnON():Boolean操作——是類(lèi)能夠做的事情或者你(或者另一個(gè)類(lèi))能對(duì)類(lèi)做的事情。操作名列表要放在屬性名列表之下,兩者之間用分隔線隔開(kāi)。UML中操作的語(yǔ)法格式:可見(jiàn)性操作名(參數(shù)表):返回值類(lèi)型(lèixíng){性質(zhì)串}可見(jiàn)性定義方法與屬性相同。參數(shù)表語(yǔ)法:參數(shù)名:類(lèi)型名=默認(rèn)值當(dāng)參數(shù)的調(diào)用者未提供實(shí)在參數(shù)時(shí),該參數(shù)使用默認(rèn)值。類(lèi)圖舉例(jǔlì)UMLClassDiagrams(類(lèi)圖)共七十五頁(yè)類(lèi)與類(lèi)的關(guān)系——關(guān)聯(lián)(guānlián)關(guān)系(1)普通關(guān)聯(lián)UMLClassDiagrams(類(lèi)圖)共七十五頁(yè)類(lèi)與類(lèi)的關(guān)系(guānxì)——關(guān)聯(lián)關(guān)系UMLClassDiagrams(類(lèi)圖)共七十五頁(yè)類(lèi)與類(lèi)的關(guān)系——聚合關(guān)系(1)組成聚合:用于表示類(lèi)的對(duì)象之間的關(guān)系:整體擁有各部分,部分與整體共存(gòngcún),如整體不存在了,部分也會(huì)隨之消失。UMLClassDiagrams(類(lèi)圖)共七十五頁(yè)類(lèi)與類(lèi)的關(guān)系(guānxì)——聚合關(guān)系(2)共享聚合:用于表示類(lèi)的對(duì)象之間的關(guān)系是整體與部分的關(guān)系。UMLClassDiagrams(類(lèi)圖)共七十五頁(yè)類(lèi)與類(lèi)的關(guān)系——泛化關(guān)系抽象類(lèi):沒(méi)有具體對(duì)象的類(lèi)抽象類(lèi)通常作為父類(lèi),用于描述其他子類(lèi)的公共屬性和行為。抽象類(lèi)表示:在類(lèi)名下方附加一個(gè)標(biāo)記值{abstract}抽象類(lèi)通常都具有抽象操作。抽象操作僅用來(lái)指定該類(lèi)的所有子類(lèi)應(yīng)具有哪些(nǎxiē)行為。抽象操作的表示:在操作標(biāo)記后面跟隨一個(gè)性質(zhì)串{abstract}UMLClassDiagrams(類(lèi)圖)交通工具{abstract}Drive(){abstract}汽車(chē)Drive()輪船Drive()驅(qū)動(dòng)車(chē)輪轉(zhuǎn)動(dòng)轉(zhuǎn)動(dòng)螺旋槳共七十五頁(yè)訂單DateReceivedisPrepaidnumber:Stringprce:MoneyDispatch()close()訂單項(xiàng)Quantity:Integerprice:MoneyisSatisfied:Boolean1*項(xiàng)客戶NameaddressCreditRating():String團(tuán)體客戶ContactNamecreditRatingcreditLimitRemind()billforMonth(Intrger)雇員產(chǎn)品個(gè)人客戶CreditCard#{creditRating()=“poor”}銷(xiāo)售代表1*0..11**UMLClassDiagrams(類(lèi)圖)共七十五頁(yè)UMLObjectDiagrams(對(duì)象(duìxiàng)圖)對(duì)象圖對(duì)象圖是類(lèi)圖的一種變形。除了在對(duì)象名下面要加下劃線以外,對(duì)象圖中所使用的符號(hào)與類(lèi)圖基本相同。對(duì)象圖是類(lèi)圖的一種實(shí)例化。一張對(duì)象圖表示的是與其對(duì)應(yīng)的類(lèi)圖的一個(gè)具體實(shí)例,即系統(tǒng)在某一時(shí)期或者某一特定時(shí)刻可能存在的具體對(duì)象實(shí)例以及它們相互之間的具體關(guān)系。對(duì)象圖并不象類(lèi)圖那樣具有重要的地位,但是利用它可以幫助我們通過(guò)具體的實(shí)例分析,更具體直觀地了解復(fù)雜系統(tǒng)類(lèi)圖的豐富內(nèi)涵。對(duì)象圖還常常被用作協(xié)作(xiézuò)圖的一部分,用以展示一組對(duì)象實(shí)例之間的動(dòng)態(tài)協(xié)作(xiézuò)關(guān)系。共七十五頁(yè)類(lèi)的屬性在該類(lèi)的每個(gè)對(duì)象中都有具體值。對(duì)象名首寫(xiě)字母小寫(xiě),后面根一個(gè)冒號(hào),冒號(hào)后面是該對(duì)象所屬的類(lèi)名,并且整個(gè)(zhěnggè)名字要帶下劃線。myWasher:WashingMachinebrandName=“海爾”modeName=“小神童(shéntóng)”serialNumber=“GL0214”UMLObjectDiagrams(對(duì)象圖)對(duì)象圖舉例共七十五頁(yè)作者計(jì)算機(jī)名字:String內(nèi)存:Ineger名字:String年齡:Integer0..1Uses1..*類(lèi)圖小王:作者小王的工作PC:計(jì)算機(jī)名字=“王小影”年齡=32小王的工作PC:計(jì)算機(jī)名字=“CompaqX”內(nèi)存=32名字=“Dell486”內(nèi)存=64對(duì)象圖UMLObjectDiagrams(對(duì)象(duìxiàng)圖)共七十五頁(yè)對(duì)象\類(lèi)圖建立步驟:1〉研究分析問(wèn)題領(lǐng)域,確定系統(tǒng)的需求。2〉發(fā)現(xiàn)對(duì)象和類(lèi),明確他們的含義(hányì)和責(zé)任,確定屬性和操作。3〉發(fā)現(xiàn)類(lèi)之間的靜態(tài)聯(lián)系。著重分析找出類(lèi)之間的一般和特殊關(guān)系,部分與整體關(guān)系,研究類(lèi)的繼承性和多態(tài)性,把類(lèi)之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚合、組合、依賴等聯(lián)系表達(dá)出來(lái)。4〉設(shè)計(jì)類(lèi)與聯(lián)系。調(diào)整和細(xì)化已得到的對(duì)象類(lèi)和類(lèi)之間的聯(lián)系,解決諸如命名沖突、功能重復(fù)等問(wèn)題。5〉繪制對(duì)象類(lèi)圖并編制相應(yīng)的說(shuō)明。
UMLObjectDiagrams(對(duì)象(duìxiàng)圖)共七十五頁(yè)對(duì)象\類(lèi)圖案例講解——ATM系統(tǒng)某銀行擬開(kāi)發(fā)一個(gè)自動(dòng)取款機(jī)系統(tǒng),它是由自動(dòng)取款機(jī)、中央計(jì)算機(jī)、分行計(jì)算機(jī)和柜員終端組成的網(wǎng)絡(luò)系統(tǒng)。ATM和中央計(jì)算機(jī)由總行投資購(gòu)買(mǎi)??傂袚碛卸嗯_(tái)ATM機(jī),分別設(shè)在全市各主要街道上。分行負(fù)責(zé)提供分行計(jì)算機(jī)和柜員終端。柜員終端設(shè)在分行營(yíng)業(yè)廳以及分行下屬的各儲(chǔ)蓄所內(nèi)。該系統(tǒng)的軟件開(kāi)發(fā)成本由各個(gè)分行分?jǐn)?。銀行柜員使用柜員終端處理儲(chǔ)戶提交的儲(chǔ)蓄事務(wù)。儲(chǔ)戶可以用現(xiàn)金或者支票向自己擁有的某個(gè)帳戶內(nèi)存款或者開(kāi)新帳戶。儲(chǔ)戶也可以從自己的賬戶中取款。通常,一個(gè)儲(chǔ)戶可能擁有多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存款或者取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金或者支票,或者付給儲(chǔ)戶現(xiàn)金。柜員終端與相應(yīng)(xiāngyīng)的分行計(jì)算機(jī)通信,分行計(jì)算機(jī)具體處理針對(duì)某個(gè)帳戶的事務(wù)并且維護(hù)賬戶。
UMLObjectDiagrams(對(duì)象(duìxiàng)圖)共七十五頁(yè)對(duì)象\類(lèi)圖案例講解——ATM系統(tǒng)1.分析業(yè)務(wù)領(lǐng)域術(shù)語(yǔ)(shùyǔ),作為類(lèi)和對(duì)象的初步候選者。某銀行擬開(kāi)發(fā)一個(gè)自動(dòng)取款機(jī)系統(tǒng),它是由自動(dòng)取款機(jī)、中央計(jì)算機(jī)、分行計(jì)算機(jī)和柜員終端組成的網(wǎng)絡(luò)系統(tǒng)。ATM和中央計(jì)算機(jī)由總行投資購(gòu)買(mǎi)??傂袚碛卸嗯_(tái)ATM機(jī),分別設(shè)在全市各主要街道上。分行負(fù)責(zé)提供分行計(jì)算機(jī)和柜員終端。柜員終端設(shè)在分行營(yíng)業(yè)廳以及分行下屬的各儲(chǔ)蓄所內(nèi)。該系統(tǒng)的軟件開(kāi)發(fā)成本由各個(gè)分行分?jǐn)偂cy行柜員使用柜員終端處理儲(chǔ)戶提交的儲(chǔ)蓄事務(wù)。儲(chǔ)戶可以用現(xiàn)金或者支票向自己擁有的某個(gè)帳戶內(nèi)存款或者開(kāi)新帳戶。儲(chǔ)戶也可以從自己的賬戶中取款。通常,一個(gè)儲(chǔ)戶可能擁有多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存款或者取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金或者支票,或者付給儲(chǔ)戶現(xiàn)金。柜員終端與相應(yīng)的分行計(jì)算機(jī)通信,分行計(jì)算機(jī)具體處理針對(duì)某個(gè)帳戶的事務(wù)并且維護(hù)賬戶。
UMLObjectDiagrams(對(duì)象(duìxiàng)圖)共七十五頁(yè)對(duì)象\類(lèi)圖案例講解——ATM系統(tǒng)2.篩選出正確的類(lèi)和對(duì)象,去掉冗余、無(wú)關(guān)、籠統(tǒng)、屬性、操作、實(shí)現(xiàn)。某銀行擬開(kāi)發(fā)一個(gè)自動(dòng)取款機(jī)系統(tǒng)(籠統(tǒng)),它是由自動(dòng)取款機(jī)、中央計(jì)算機(jī)、分行計(jì)算機(jī)和柜員終端組成的網(wǎng)絡(luò)(籠統(tǒng))系統(tǒng)。ATM和中央計(jì)算機(jī)由總行投資購(gòu)買(mǎi)??傂袚碛卸嗯_(tái)ATM機(jī),分別設(shè)在全市(無(wú)關(guān))各主要街道(無(wú)關(guān))上。分行負(fù)責(zé)提供分行計(jì)算機(jī)和柜員終端。柜員終端設(shè)在分行營(yíng)業(yè)廳(無(wú)關(guān))以及分行下屬的各儲(chǔ)蓄所(無(wú)關(guān))內(nèi)。該系統(tǒng)的軟件(籠統(tǒng))開(kāi)發(fā)成本(無(wú)關(guān))由各個(gè)分行分?jǐn)?。銀行柜員使用柜員終端處理用戶(冗余)提交的儲(chǔ)蓄事務(wù)。儲(chǔ)戶可以用現(xiàn)金(屬性)或者支票(zhībiào)(屬性)向自己擁有的某個(gè)帳戶內(nèi)存款或者開(kāi)新帳戶。用戶也可以從自己的賬戶中取款。通常,一個(gè)用戶可能擁有多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存款或者取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金或者支票,或者付給儲(chǔ)戶現(xiàn)金。柜員終端與相應(yīng)的分行計(jì)算機(jī)通信,分行計(jì)算機(jī)具體處理針對(duì)某個(gè)帳戶的事務(wù)并且維護(hù)賬戶。
UMLObjectDiagrams(對(duì)象(duìxiàng)圖)共七十五頁(yè)對(duì)象\類(lèi)圖案例講解——ATM系統(tǒng)3.確定關(guān)聯(lián)。某銀行擬開(kāi)發(fā)一個(gè)自動(dòng)取款機(jī)系統(tǒng),它是由自動(dòng)取款機(jī)、中央計(jì)算機(jī)、分行計(jì)算機(jī)和柜員(ɡuìyuán)終端組成的網(wǎng)絡(luò)系統(tǒng)。ATM和中央計(jì)算機(jī)由總行投資購(gòu)買(mǎi)??傂袚碛卸嗯_(tái)ATM機(jī),分別(ATM)設(shè)在全市各主要街道上。分行負(fù)責(zé)提供分行計(jì)算機(jī)和柜員終端。柜員終端設(shè)在分行營(yíng)業(yè)廳以及分行下屬的各儲(chǔ)蓄所內(nèi)。該系統(tǒng)的軟件開(kāi)發(fā)成本由各個(gè)分行分?jǐn)偅ㄜ浖_(kāi)發(fā)成本)。銀行柜員使用柜員終端處理儲(chǔ)戶提交的儲(chǔ)蓄事務(wù)。儲(chǔ)戶可以用現(xiàn)金或者支票向自己擁有的某個(gè)帳戶內(nèi)存款或者開(kāi)新帳戶。儲(chǔ)戶也可以從自己的賬戶中取款。通常,一個(gè)儲(chǔ)戶可能擁有多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存款或者取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金或者支票,或者付給儲(chǔ)戶現(xiàn)金。柜員終端與相應(yīng)的分行計(jì)算機(jī)通信,分行計(jì)算機(jī)具體處理針對(duì)某個(gè)帳戶的事務(wù)并且(分行計(jì)算機(jī))維護(hù)賬戶。
UMLObjectDiagrams(對(duì)象(duìxiàng)圖)共七十五頁(yè)對(duì)象\類(lèi)圖案例講解——ATM系統(tǒng)4.分析并篩選候選關(guān)聯(lián)。去掉:已經(jīng)刪除的類(lèi)之間的關(guān)聯(lián);與問(wèn)題無(wú)關(guān)或需要在實(shí)現(xiàn)階段考慮的事件;三元關(guān)聯(lián);派生關(guān)聯(lián)。某銀行擬開(kāi)發(fā)一個(gè)自動(dòng)取款機(jī)系統(tǒng),它是由自動(dòng)取款機(jī)、中央計(jì)算機(jī)、分行計(jì)算機(jī)和柜員終端組成(zǔchénɡ)的網(wǎng)絡(luò)系統(tǒng)。ATM和中央計(jì)算機(jī)由總行投資購(gòu)買(mǎi)??傂袚碛卸嗯_(tái)ATM機(jī)(總行擁有中央計(jì)算機(jī);ATM機(jī)與中央計(jì)算機(jī)通信),分別(ATM)設(shè)在全市各主要街道上。分行負(fù)責(zé)提供分行計(jì)算機(jī)和柜員終端。柜員終端設(shè)在分行營(yíng)業(yè)廳以及分行下屬的各儲(chǔ)蓄所內(nèi)。該系統(tǒng)的軟件開(kāi)發(fā)成本由各個(gè)分行分?jǐn)偅ㄜ浖_(kāi)發(fā)成本)。銀行柜員使用柜員終端處理儲(chǔ)戶提交的儲(chǔ)蓄事務(wù)(柜員輸入事務(wù);事務(wù)修改帳戶)。儲(chǔ)戶可以用現(xiàn)金或者支票向自己擁有的某個(gè)帳戶內(nèi)存款或者開(kāi)新帳戶。儲(chǔ)戶也可以從自己的賬戶中取款。通常,一個(gè)儲(chǔ)戶可能擁有多個(gè)帳戶。柜員負(fù)責(zé)把儲(chǔ)戶提交的存款或者取款事務(wù)輸進(jìn)柜員終端,接收儲(chǔ)戶交來(lái)的現(xiàn)金或者支票,或者付給儲(chǔ)戶現(xiàn)金。柜員終端與相應(yīng)的分行計(jì)算機(jī)通信,分行計(jì)算機(jī)具體處理針對(duì)某個(gè)帳戶的事務(wù)(分行處理事務(wù);事務(wù)修改帳戶)并且(分行計(jì)算機(jī))維護(hù)賬戶。
UMLObjectDiagrams(對(duì)象(duìxiàng)圖)共七十五頁(yè)對(duì)象\類(lèi)圖案例講解——ATM系統(tǒng)5.ATM機(jī)初始(chūshǐ)類(lèi)圖草圖
UMLObjectDiagrams(對(duì)象(duìxiàng)圖)總行柜員終端分行計(jì)算機(jī)ATM中央計(jì)算機(jī)儲(chǔ)戶帳戶分行柜員事務(wù)柜員6.進(jìn)一步修改,并確定屬性和操作(略)共七十五頁(yè)UMLPackages(包圖)包圖包是一種(yīzhǒnɡ)分組機(jī)制,表示一個(gè)類(lèi)圖集合。包圖所顯示的是類(lèi)的包以及這些包之間的依賴關(guān)系。如果兩個(gè)包中的任意兩個(gè)類(lèi)之間存在依賴關(guān)系,則這兩個(gè)包之間存在依賴關(guān)系。包的依賴是不傳遞的。何時(shí)使用包圖?在大項(xiàng)目中,包圖是一種重要工具;依賴產(chǎn)生耦合,應(yīng)該盡量將依賴性減少到最低程度;包的概念對(duì)測(cè)試也是特別有用的。Package共七十五頁(yè)UMLPackages(包圖)包圖建立步驟:1〉分析系統(tǒng)模型元素(通常是類(lèi)),把概念上或語(yǔ)義上相近的模型元素納入一個(gè)包。注意可以從類(lèi)的功能的相關(guān)性來(lái)確定納入包中的類(lèi)。分析對(duì)象類(lèi)的功能相關(guān)性:如果一個(gè)類(lèi)的行為和/或結(jié)構(gòu)的變更要求另一個(gè)相應(yīng)的變更,則這兩個(gè)類(lèi)是功能相關(guān)。如果刪除一個(gè)類(lèi)后,另一個(gè)類(lèi)便變成是多余的,則這兩個(gè)類(lèi)是功能相關(guān)的,這說(shuō)明該剩余的類(lèi)只為那個(gè)被刪除的類(lèi)所使用(shǐyòng),他們之間有依賴關(guān)系。如果兩個(gè)類(lèi)之間大量的頻繁交互或通信,則這兩個(gè)類(lèi)是功能相關(guān)的。如果兩個(gè)類(lèi)之間有一般/特殊關(guān)系,則這兩個(gè)類(lèi)是功能相關(guān)的。如果一個(gè)類(lèi)激發(fā)創(chuàng)建另一個(gè)類(lèi)的對(duì)象,則這兩個(gè)類(lèi)是功能相關(guān)的。如果兩個(gè)類(lèi)不涉及同一個(gè)外部參與者,則這兩個(gè)類(lèi)不應(yīng)放在同一個(gè)包中。一個(gè)包應(yīng)當(dāng)具有高內(nèi)聚性,包中的類(lèi)應(yīng)該是功能相關(guān)的。2〉對(duì)于每一個(gè)包,標(biāo)出其模型元素的可視性:公共、保護(hù)或私有。3〉確定包與包之間的依賴關(guān)系,特別是輸入依賴。4〉確定包與包之間的泛化關(guān)系,確定包元素的多態(tài)性和重載。5〉繪制包圖。共七十五頁(yè)UMLPackages(包圖)訂單獲取界面訂單獲取應(yīng)用AWT郵件發(fā)送清單界面郵件發(fā)送清單應(yīng)用訂單顧客共七十五頁(yè)UMLStatechartDiagrams(狀態(tài)圖)狀態(tài)圖狀態(tài)(zhuàngtài)圖是對(duì)類(lèi)的一種補(bǔ)充描述,它展示了此類(lèi)對(duì)象所具有的可能的狀態(tài)(zhuàngtài)以及某些事件發(fā)生時(shí)其狀態(tài)(zhuàngtài)的轉(zhuǎn)移情況。在狀態(tài)圖中,狀態(tài)由圓角矩形表示。狀態(tài)的改變稱作轉(zhuǎn)移,狀態(tài)轉(zhuǎn)移由箭頭表示,箭頭旁可以標(biāo)出轉(zhuǎn)移發(fā)生的條件。狀態(tài)轉(zhuǎn)移可以伴隨有某個(gè)動(dòng)作,它表明當(dāng)轉(zhuǎn)移發(fā)生時(shí)系統(tǒng)要做什么。狀態(tài)圖針對(duì)單個(gè)對(duì)象建立模型。狀態(tài)之間怎樣轉(zhuǎn)換?狀態(tài)圖中兩個(gè)狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。狀態(tài)轉(zhuǎn)換通常是由事件觸發(fā)的,在這種情況下應(yīng)在表示狀態(tài)轉(zhuǎn)換的箭頭線上標(biāo)出觸發(fā)轉(zhuǎn)換的事件表達(dá)式。如果在箭頭線上未標(biāo)明事件,則表示在源狀態(tài)的內(nèi)部活動(dòng)執(zhí)行完之后自動(dòng)觸發(fā)轉(zhuǎn)換。共七十五頁(yè)UMLStatechartDiagrams(狀態(tài)圖)狀態(tài)圖基本(jīběn)符號(hào):初態(tài)——用實(shí)心(shíxīn)圓表示;終態(tài)——用一對(duì)同心圓(內(nèi)圓為實(shí)心圓)表示;中間狀態(tài)——用圓角矩形表示;分成上、中、下3個(gè)部分。上面部分為狀態(tài)的名稱,這部分是必須有的;中間部分為狀態(tài)變量的名字和值,這部分是可選的;下面部分是活動(dòng)表,這部分也是可選的。共七十五頁(yè)活動(dòng)表的語(yǔ)法格式如下:事件名(參數(shù)表)/動(dòng)作表達(dá)式“事件名”可以(kěyǐ)是任何事件的名稱。在活動(dòng)表中經(jīng)常使用下述3種標(biāo)準(zhǔn)事件:entry,exit和do。entry事件指定進(jìn)入該狀態(tài)的動(dòng)作exit事件指定退出該狀態(tài)的動(dòng)作do事件則指定在該狀態(tài)下的動(dòng)作。需要時(shí)可以為事件指定參數(shù)表。活動(dòng)表中的動(dòng)作表達(dá)式描述應(yīng)做的具體動(dòng)作。UMLStatechartDiagrams(狀態(tài)圖)共七十五頁(yè)事件表達(dá)式的語(yǔ)法如下:事件說(shuō)明[守衛(wèi)條件]/動(dòng)作表達(dá)式事件說(shuō)明的語(yǔ)法為:事件名(參數(shù)表)。守衛(wèi)條件是一個(gè)布爾表達(dá)式。如果同時(shí)使用事件說(shuō)明和守衛(wèi)條件,則當(dāng)且僅當(dāng)事件發(fā)生且布爾表達(dá)式為真時(shí),狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒(méi)有事件說(shuō)明,則只要守衛(wèi)條件為真狀態(tài)轉(zhuǎn)換就發(fā)生。動(dòng)作表達(dá)式是一個(gè)過(guò)程(guòchéng)表達(dá)式,當(dāng)狀態(tài)轉(zhuǎn)換開(kāi)始時(shí)執(zhí)行該表達(dá)式。UMLStatechartDiagrams(狀態(tài)圖)共七十五頁(yè)UMLStatechartDiagrams(狀態(tài)圖)下降狀態(tài)在第一層上升狀態(tài)向第一層下降空閑狀態(tài)上升到達(dá)到達(dá)上升超時(shí)下降到達(dá)第一層共七十五頁(yè)課堂練習(xí):根據(jù)(gēnjù)下列陳述繪制狀態(tài)圖復(fù)印機(jī)的工作過(guò)程大致如下:未接到復(fù)印命令時(shí)處于閑置狀態(tài),一旦接到復(fù)印命令則進(jìn)入復(fù)印狀態(tài),完成一個(gè)復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個(gè)復(fù)印命令;如果執(zhí)行復(fù)印命令時(shí)發(fā)現(xiàn)沒(méi)紙,則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)印時(shí)發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出警告等待維修人員來(lái)排除故障,故障排除后回到閑置狀態(tài)。請(qǐng)用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為。UMLStatechartDiagrams(狀態(tài)圖)共七十五頁(yè)建立狀態(tài)圖的步驟:1〉確定狀態(tài)機(jī)的上下文,它可以是一個(gè)類(lèi)、子系統(tǒng)或整個(gè)系統(tǒng)。2〉選擇初始狀態(tài)和終結(jié)狀態(tài)。
注意:一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)可以有0個(gè)或者多個(gè)。3〉發(fā)現(xiàn)對(duì)象的各種狀態(tài)。4〉確定狀態(tài)可能發(fā)生的裝移。注意從一個(gè)狀態(tài)可能轉(zhuǎn)移到哪些狀態(tài),對(duì)象的哪些行為可引起狀態(tài)的轉(zhuǎn)移并找出觸發(fā)(chùfā)狀態(tài)轉(zhuǎn)移的事件。5〉找出觸發(fā)狀態(tài)轉(zhuǎn)移的事件。6〉繪制狀態(tài)圖。7〉細(xì)化狀態(tài)中的可選項(xiàng)(狀態(tài)變量/活動(dòng)表等)。UMLStatechartDiagrams(狀態(tài)圖)共七十五頁(yè)UMLSequenceDiagrams(順序(shùnxù)圖)順序圖順序圖描述了對(duì)象之間動(dòng)態(tài)的交互關(guān)系,著重體現(xiàn)對(duì)象間消息傳遞的時(shí)間順序。順序圖由一組對(duì)象構(gòu)成,每個(gè)對(duì)象分別帶有一條豎線,稱作對(duì)象的生命線,它代表時(shí)間軸,時(shí)間沿豎線向下延伸。順序圖描述了這些對(duì)象隨著時(shí)間的推移相互之間交換消息(xiāoxi)的過(guò)程。消息(xiāoxi)用從一條垂直的對(duì)象生命線指向另一個(gè)對(duì)象的生命線的水平箭頭表示。圖中還可以根據(jù)需要增加有關(guān)時(shí)間的說(shuō)明和其他注釋。共七十五頁(yè)UMLSequenceDiagrams(順序(shùnxù)圖)順序(shùnxù)圖符號(hào):Name2激活:表示該對(duì)象正在執(zhí)行某個(gè)操作。激活矩形的長(zhǎng)度表示激活的持續(xù)時(shí)間。調(diào)用消息和返回消息的符號(hào)異步消息的符號(hào):Name1對(duì)象的生命線對(duì)象之間相互發(fā)送的消息共七十五頁(yè)UMLSequenceDiagrams(順序(shùnxù)圖):計(jì)算機(jī):打印服務(wù)程序(chéngxù):打印隊(duì)列:打印機(jī)打印文件[打印機(jī)空閑]打印文件[打印機(jī)忙]保存文件共七十五頁(yè)順序圖的建立步驟1〉找出參與交互的對(duì)象角色,把他們橫向排列在順序圖的頂部,最重要的對(duì)象安置在最左邊,交互密切的對(duì)象盡可能相鄰。在交互中創(chuàng)建的對(duì)象在垂直方向應(yīng)安置在其被創(chuàng)建的時(shí)間點(diǎn)處。2〉對(duì)每一個(gè)(yīɡè)對(duì)象設(shè)置一條垂直的向下的生命線。3〉從初始化交互的信息開(kāi)始,自頂向下在對(duì)象的生命線之間安置信息。注意用箭頭的形式區(qū)別同步消息和異步消息。4〉在生命線上繪出對(duì)象的激活期。5〉根據(jù)消息之間的關(guān)系,確定循環(huán)結(jié)構(gòu)及循環(huán)參數(shù)和出口條件。UMLSequenceDiagrams(順序(shùnxù)圖)共七十五頁(yè)UMLCollaborationDiagrams(協(xié)作(xiézuò)圖)協(xié)作圖與順序圖作用相同,協(xié)作圖也是用來(lái)描述系統(tǒng)中對(duì)象之間的動(dòng)態(tài)協(xié)作關(guān)系。協(xié)作圖側(cè)重于描述各個(gè)對(duì)象之間存在的消息收發(fā)關(guān)系(交互關(guān)系),而不專門(mén)突出這些消息發(fā)送的時(shí)間順序。在協(xié)作圖中,對(duì)象同樣是用一個(gè)對(duì)象圖符來(lái)表示,箭頭表示消息發(fā)送的方向(fāngxiàng),而消息執(zhí)行的順序則由消息的編號(hào)來(lái)表明。協(xié)作圖是對(duì)象的擴(kuò)展,協(xié)作圖除了展示出對(duì)象之間的關(guān)聯(lián),還顯示出對(duì)象之間的消息傳遞。通常在協(xié)作圖中省略掉關(guān)聯(lián)的名字。順序圖可以轉(zhuǎn)換成等價(jià)的協(xié)作圖,反之亦然。共七十五頁(yè)UMLCollaborationDiagrams(協(xié)作(xiézuò)圖)協(xié)作(xiézuò)圖符號(hào):Class1:Class3:Class21:add()1:modify()1:update()關(guān)聯(lián)線附近的箭頭線表示對(duì)象之間傳遞的消息,箭頭指向消息接收對(duì)象。消息名稱和消息序號(hào)附在箭頭線附近。消息的一般含義是觸發(fā)接收消息的對(duì)象執(zhí)行它的一個(gè)操作。在協(xié)作圖中,在消息名前面加上消息的序號(hào),它代表該消息在消息序列中的順序。消息名和序號(hào)之間用冒號(hào)隔開(kāi)。共七十五頁(yè)UMLCollaborationDiagrams(協(xié)作(xiézuò)圖):計(jì)算機(jī):打印(dǎyìn)隊(duì)列:打印服務(wù)程序:打印機(jī)1.打印文件3.保存文件[打印機(jī)忙]2.打印文件[打印機(jī)空閑]共七十五頁(yè)UMLCollaborationDiagrams(協(xié)作(xiézuò)圖)協(xié)作圖協(xié)作圖的布局方法能更清楚地表示出交互對(duì)象的整體組織。順序圖突出執(zhí)行的時(shí)序,能更方便地看出事情發(fā)生的次序。如果要描述在一個(gè)用例中的幾個(gè)對(duì)象協(xié)同工作的行為,交互圖是一種有力(yǒulì)的工具。交互圖擅長(zhǎng)顯示對(duì)象之間的合作關(guān)系,盡管它并不對(duì)這些對(duì)象的行為進(jìn)行精確的定義。如果想要描述跨越多個(gè)用例的單個(gè)對(duì)象的行為,應(yīng)當(dāng)使用狀態(tài)圖;如果想要描述跨越多個(gè)用例或多個(gè)線程的多個(gè)對(duì)象的復(fù)雜行為,則需考慮使用活動(dòng)圖。共七十五頁(yè)UMLCollaborationDiagrams(協(xié)作(xiézuò)圖)繪制協(xié)作圖的步驟:1〉找出參與交互的對(duì)象角色,把他們作為圖形的節(jié)點(diǎn)置在協(xié)作圖中。最重要的對(duì)象安置在圖的中央,與他有直接交互的對(duì)象安置在鄰近。2〉設(shè)置對(duì)象的初始性質(zhì)。3〉說(shuō)明對(duì)象之間的鏈接。首先給出對(duì)象之間的關(guān)聯(lián)連接,然后給出其它連接。4〉從初始化交互的消息開(kāi)始,在鏈接上安置相應(yīng)的消息,給出消息的序號(hào)。5〉處理(chǔlǐ)一些特殊情況,如循環(huán)、自調(diào)用、回調(diào)、多對(duì)象等。共七十五頁(yè)UMLActivityDiagrams(活動(dòng)(huódòng)圖)活動(dòng)圖活動(dòng)圖描述系統(tǒng)中各種活動(dòng)的執(zhí)行順序,通常用于描述一個(gè)(yīɡè)操作中所要進(jìn)行的各項(xiàng)活動(dòng)的執(zhí)行流程?;顒?dòng)圖也常被用來(lái)描述一個(gè)用例的處理流程,或者某種交互流程?;顒?dòng)圖由一些活動(dòng)組成,圖中同時(shí)包括了對(duì)這些活動(dòng)的說(shuō)明。當(dāng)一個(gè)活動(dòng)執(zhí)行完畢之后,控制將沿著控制轉(zhuǎn)移箭頭轉(zhuǎn)向下一個(gè)活動(dòng)。活動(dòng)圖中還可以方便地描述控制轉(zhuǎn)移的條件以及并行執(zhí)行等要求。活動(dòng)狀態(tài)表示成帶有圓形邊線的矩形,它含有活動(dòng)的描述(普通的狀態(tài)盒為直邊圓角)。簡(jiǎn)單的完成轉(zhuǎn)換用箭頭表示。和狀態(tài)圖相似,活動(dòng)圖也有起點(diǎn)和終點(diǎn)符號(hào),表示法和狀態(tài)圖一樣。共七十五頁(yè)UMLActivityDiagrams(活動(dòng)(huódòng)圖)加水到容器中將咖啡放到過(guò)濾器中點(diǎn)燃咖啡爐取出咖啡杯把過(guò)濾器放到咖啡爐上沖調(diào)咖啡倒咖啡找飲料取一聽(tīng)可口可樂(lè)喝飲料人[找到可口可樂(lè)][沒(méi)有可口可樂(lè)][沒(méi)有咖啡][找到咖啡]熄滅咖啡爐共七十五頁(yè)UMLActivityDiagrams(活動(dòng)(huódòng)圖)共七十五頁(yè)UMLActivityDiagrams(活動(dòng)(huódòng)圖)共七十五頁(yè)UMLActivityDiagrams(活動(dòng)(huódòng)圖)活動(dòng)圖活動(dòng)圖最適合支持描述并行行為,這使之成為支持工作流建模的最好工具。活動(dòng)圖最大的缺點(diǎn)是很難清楚地描述動(dòng)作與對(duì)象之間的關(guān)系。對(duì)于(duìyú)以下情況可以使用活動(dòng)圖:(1)分析用例;(2)理解牽涉多個(gè)用例的工作流;在下列情況下,一般不要使用活動(dòng)圖:(1)顯示對(duì)象間合作;(2)顯示對(duì)象在其生命周期內(nèi)的運(yùn)轉(zhuǎn)情況。共七十五頁(yè)活動(dòng)圖建立步驟:1〉找出負(fù)責(zé)實(shí)現(xiàn)(shíxiàn)工作流的業(yè)務(wù)對(duì)象。這些對(duì)象可以是現(xiàn)實(shí)業(yè)務(wù)領(lǐng)域中的實(shí)體,也可以是一種抽象的概念或事物。為每一個(gè)重要的業(yè)務(wù)對(duì)象建立一條泳道。2〉確定工作流的初始狀態(tài)和終結(jié)狀態(tài),明確工作流的邊界。3〉從工作流的初始狀態(tài)開(kāi)始,找出隨時(shí)間而發(fā)生的活動(dòng)和動(dòng)作,把他們表示成活動(dòng)狀態(tài)或動(dòng)作狀態(tài)。4〉對(duì)于復(fù)雜的動(dòng)作或多次重復(fù)出現(xiàn)的一組動(dòng)作,可以把他們組成一個(gè)活動(dòng)狀態(tài),并且用另外一個(gè)活動(dòng)圖來(lái)展開(kāi)表示。5〉給出連接活動(dòng)和動(dòng)作的轉(zhuǎn)移(動(dòng)作流)。首先處理順序動(dòng)作流,然后處理?xiàng)l件分支。最后處理分支和結(jié)合。6〉在活動(dòng)圖中給出與工作流有關(guān)的重要對(duì)象,并用虛箭線把他們與活動(dòng)狀態(tài)或動(dòng)作狀態(tài)相連接。UMLActivityDiagrams(活動(dòng)(huódòng)圖)共七十五頁(yè)UMLComponentDiagrams(組件(zǔjiàn)圖)組件圖組件圖描述軟件組件以及它們之間的依賴關(guān)系,從而便于人們分析和發(fā)現(xiàn)當(dāng)修改某個(gè)組件時(shí)可能對(duì)那些組件產(chǎn)生影響,以便對(duì)它們做相應(yīng)的修改或更新(gēngxīn)。組件可以是源代碼組件、二進(jìn)制目標(biāo)碼組件、可執(zhí)行組件或文檔組件。組件用一邊有兩個(gè)小矩形的一個(gè)長(zhǎng)方形表示,它可以用實(shí)線與代表組件接口的圓圈相連。組件圖表示了組件之間的依賴關(guān)系。每個(gè)組件實(shí)現(xiàn)(支持)一些接口,并使用另一些接口。如果組件間的依賴關(guān)系與接口有關(guān),那么組件可以被具有同樣接口的其他組件替代。
共七十五頁(yè)UMLComponentDiagrams(組件(zǔjiàn)圖)
Whnd.cpp:
窗口(chuāngkǒu)處理器
Graphic.dll:圖形庫(kù)
Comhnd.cpp:
命令處理器
Main.cpp:主類(lèi)
Whnd.obj:
窗口處理器
Comhnd.obj:
命令處理器
Main.obj:主類(lèi)
client.exe:
客戶程序共七十五頁(yè)UMLComponentDiagrams(組件(zǔjiàn)圖)共七十五頁(yè)UMLComponentDiagrams(組件(zǔjiàn)圖)
繪制組件圖的步驟:1〉確定組件。首先要分解系統(tǒng),考慮有關(guān)系統(tǒng)的組成管理、軟件的重用核物理節(jié)點(diǎn)的配置等因素,把關(guān)系密切的可執(zhí)行程序和對(duì)象庫(kù)分別歸入組件,找出相應(yīng)的對(duì)象類(lèi)、接口等模型元素。
2〉對(duì)組件加上必要的構(gòu)造型??梢允褂胾ml的標(biāo)準(zhǔn)構(gòu)造型《executable》、《library》、《table》、《file》、《document》,或自定義新的構(gòu)造型,說(shuō)明組件的性質(zhì)。
3〉確定組件之間的聯(lián)系。最常見(jiàn)的組件之間的聯(lián)系是通過(guò)(tōngguò)接口依賴。一個(gè)組件使用某個(gè)接口,另一個(gè)組件實(shí)現(xiàn)該接口。
4〉必要時(shí)把組件組織成包。組件和對(duì)象、協(xié)作等模型元素一樣可以組織成包。
5〉繪制組件圖。共七十五頁(yè)UMLDeploymentDiagrams(配置圖)配置圖配置圖描述系統(tǒng)中硬件和軟件的物理配置情況和系統(tǒng)體系結(jié)構(gòu)。在配置圖中,用節(jié)點(diǎn)表示實(shí)際的物理設(shè)備,如計(jì)算機(jī)和各種外部設(shè)備等,并根據(jù)它們(tāmen)之間的連接關(guān)系,將相應(yīng)的結(jié)點(diǎn)連接起來(lái),并說(shuō)明其連接方式。在節(jié)點(diǎn)里面,說(shuō)明分配給該結(jié)點(diǎn)上運(yùn)行的可執(zhí)行組件或?qū)ο螅瑥亩f(shuō)明哪些軟件單元被分配在哪些結(jié)點(diǎn)上運(yùn)行。共七十五頁(yè)UMLDeploymentDiagrams(配置圖)客戶(kèhù)A:個(gè)人電腦PC客戶(kèhù)B:個(gè)人電腦PC數(shù)據(jù)庫(kù)服務(wù)器:VAX服務(wù)器:02?TCP/IP協(xié)議??TCP/IP?協(xié)議?DecNet協(xié)議?共七十五頁(yè)UMLDeploymentDiagrams(配置圖)共七十五頁(yè)配置圖建立步驟:
1〉確定節(jié)點(diǎn)。注意:標(biāo)示系統(tǒng)中的硬件設(shè)備,包括大型主機(jī)、服務(wù)器、前端機(jī)、網(wǎng)絡(luò)設(shè)備、輸入/輸出設(shè)備等。一個(gè)處理機(jī)是一個(gè)節(jié)點(diǎn),它具有處理功能(gōngnéng),能夠執(zhí)行一個(gè)組件;一個(gè)設(shè)備也是一個(gè)節(jié)點(diǎn),它沒(méi)有處理功能(gōngnéng),但它是系統(tǒng)和現(xiàn)實(shí)世界的接口。
2〉對(duì)節(jié)點(diǎn)加上必要的構(gòu)造型??梢允褂胾ml的標(biāo)準(zhǔn)構(gòu)造型或自定義新的構(gòu)造型,說(shuō)明節(jié)點(diǎn)的性質(zhì)。
3〉確定聯(lián)系。這是關(guān)鍵步驟。配置圖中的聯(lián)系包括節(jié)點(diǎn)與節(jié)點(diǎn)之間的聯(lián)系,節(jié)點(diǎn)與組件之間的聯(lián)系,組件與組件之間的聯(lián)系。把系統(tǒng)的組件如可執(zhí)行程序,動(dòng)態(tài)連接庫(kù)等分配到節(jié)點(diǎn)上,并確定節(jié)點(diǎn)與節(jié)點(diǎn)之間,節(jié)點(diǎn)與組件之間,組件與組件之間的聯(lián)系,以及他們的性質(zhì)。
4〉繪制配置圖。UMLDeploymentDiagrams(配置圖)共七十五頁(yè)基于(jīyú)UML的系統(tǒng)開(kāi)發(fā)過(guò)程基于UML的系統(tǒng)開(kāi)發(fā)過(guò)程——
快速應(yīng)用工程指導(dǎo)原則(GuidelinesforRapidAPPLicationEngineering,GRAPPLE)1.需求收集(shōují)2.分析3.設(shè)計(jì)4.實(shí)現(xiàn)5.部署共七十五頁(yè)基于UML的系統(tǒng)開(kāi)發(fā)過(guò)程1.需求收集了解業(yè)務(wù)過(guò)程,形成描述業(yè)務(wù)過(guò)程的活動(dòng)圖。進(jìn)行領(lǐng)域分析,了解客戶領(lǐng)域中的主要實(shí)體,構(gòu)造高層類(lèi)圖。識(shí)別協(xié)作系統(tǒng),建立初步的部署圖。發(fā)現(xiàn)系統(tǒng)需求,通過(guò)聯(lián)合(liánhé)應(yīng)用開(kāi)發(fā)計(jì)劃,細(xì)化類(lèi)圖。會(huì)議的工作產(chǎn)品是包圖。包代表了一個(gè)系統(tǒng)功能的高層領(lǐng)域。將結(jié)果提交給客戶。需求分析的結(jié)果提交給客戶,認(rèn)可后繼續(xù)。基于(jīyú)UML的系統(tǒng)開(kāi)發(fā)過(guò)程共七十五頁(yè)基于UML的系統(tǒng)開(kāi)發(fā)過(guò)程2.分析理解系統(tǒng)用法,進(jìn)行高層用例分析。工作產(chǎn)品是用例圖,涵蓋了用例與參與者和用例之間的包含、擴(kuò)展關(guān)系。充實(shí)用例,分析每個(gè)用例中的步驟序列。工作產(chǎn)品是對(duì)每個(gè)用例步驟的用例描述。細(xì)化類(lèi)圖,在類(lèi)圖中加入關(guān)聯(lián)名、抽象類(lèi)、多重性、泛化和聚
溫馨提示
- 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年身體健康及養(yǎng)生保健知識(shí)競(jìng)賽試題(附含答案)
- 2024國(guó)家工作人員學(xué)法用法試題庫(kù)及參考答案(版)
- 獸醫(yī)傳染病學(xué)模擬試題與答案
- 呼吸機(jī)相關(guān)肺炎預(yù)防與控制指南試題(附答案)
- CRRT護(hù)理相關(guān)知識(shí)考核試題及答案
- 2025年醫(yī)院臨床主治醫(yī)師《口腔頜面醫(yī)學(xué)影像診斷學(xué)》專業(yè)知識(shí)考試題庫(kù)與答案
- (2024)“鑄牢中華民族共同體意識(shí)”應(yīng)知應(yīng)會(huì)網(wǎng)絡(luò)知識(shí)競(jìng)賽題庫(kù)及答案
- 2024年廣東省公務(wù)員考試申論真題及答案(縣級(jí)卷)
- 標(biāo)準(zhǔn)日本語(yǔ)課件pdf
- 憑祥市電梯安全管理人員月考模擬題庫(kù)加答案
- 2025年美術(shù)作品授權(quán)合同協(xié)議
- 《上市公司再融資》課件
- 構(gòu)建學(xué)校與家庭共育的信息化平臺(tái)研究
- 2025年下派掛職干部工作總結(jié)范例(三篇)
- 文化創(chuàng)意產(chǎn)業(yè)IP開(kāi)發(fā)與授權(quán)經(jīng)營(yíng)策略規(guī)劃方案
- 《腹股溝疝》課件
- 盤(pán)扣用量表0822(含公式)
- 檢驗(yàn)科6s管理實(shí)施
- 二十案例示輪回
- ABC法則新-培訓(xùn)課件
- 腦血管介入手術(shù)
評(píng)論
0/150
提交評(píng)論