




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML系統(tǒng)分析與設計系統(tǒng)分析與設計上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUnified Modeling Language (UML)UMLUML概要概要n 軟件界第一個統(tǒng)一建模語言n UML由OMG與1997年11月批準為標準建模語言。n UML建立在當今國際上最有代表性的三種面向?qū)ο蠓椒ǎ˙ooch方法,OMT方法,OOSE方法)的基礎(chǔ)之上。n UML是一種建模語言而不是一種方法,UML本身是獨立于過程的。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUnified Modeling Language
2、 (UML)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML面向?qū)ο笫且环N思想方法RUP是Rational公司定義的統(tǒng)一軟件過程知識庫產(chǎn)品。UML是面向?qū)ο笏枷氲慕y(tǒng)一表達語言。ROSE是Rational公司開發(fā)的運用UML和RUP的CASE工具。Unified Modeling Language (UML)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML注意:UML不是可視化程序設計語言,而是標準的圖形化建模語言;不是工具或知識庫的規(guī)格說明,而是建模語言規(guī)格說明;不是過程,也不是方法;但允許任何一種過程或者方法使用它。與具體實現(xiàn)無關(guān),可應用于任何語言平臺和工具平臺;與具
3、體過程無關(guān),可應用于任何軟件開發(fā)過程;Unified Modeling Language (UML)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML 一般而言,我們可以從以下幾種常用的視角來描述一個系統(tǒng):系統(tǒng)的使用實例:從系統(tǒng)外部的操作者的角度描述系統(tǒng)的功能。系統(tǒng)的邏輯結(jié)構(gòu):描述系統(tǒng)內(nèi)部的靜態(tài)結(jié)構(gòu)和動態(tài)行為,即從內(nèi)部描述如何設計實現(xiàn)系統(tǒng)功能。系統(tǒng)的構(gòu)成:描述系統(tǒng)由哪些程序組件所組成。系統(tǒng)的并發(fā)性:描述系統(tǒng)的并發(fā)性,強調(diào)并發(fā)系統(tǒng)中存在的各種通信和同步問題。系統(tǒng)的配置:描述系統(tǒng)的軟件和各種硬件設備之間的配置關(guān)系。Unified Modeling Language (UML)上海財經(jīng)大學
4、信息管理與工程學院第第1212講講 UMLUML場景場景設計視圖設計視圖實現(xiàn)視圖實現(xiàn)視圖進程視圖進程視圖實施視圖實施視圖描述設計的對象模型,關(guān)注描述設計的對象模型,關(guān)注軟件抽象功能性需求軟件抽象功能性需求描述設計的并發(fā)和描述設計的并發(fā)和同步等特性,關(guān)注同步等特性,關(guān)注系統(tǒng)非功能性需求系統(tǒng)非功能性需求描述軟件和硬件的描述軟件和硬件的映射問題,關(guān)注系映射問題,關(guān)注系統(tǒng)非功能性需求(統(tǒng)非功能性需求(性能、可靠性等)性能、可靠性等)關(guān)注軟件代碼的靜態(tài)組關(guān)注軟件代碼的靜態(tài)組織與管理織與管理對系統(tǒng)中的重要活動的對系統(tǒng)中的重要活動的抽象,使四個視圖有機抽象,使四個視圖有機地聯(lián)系起來地聯(lián)系起來軟 件 體 系
5、架軟 件 體 系 架構(gòu)的:構(gòu)的:“4+1”“4+1”視圖視圖邏輯視圖物理視圖Unified Modeling Language (UML)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML靜態(tài)圖實現(xiàn)圖行為圖交互圖包圖Unified Modeling Language (UML)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML圖符常見模型元素 上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Use Case Diagrams(用例圖)用例圖描述系統(tǒng)外部的執(zhí)行者與系統(tǒng)的用例之間的某種聯(lián)系。所謂用例是指對系統(tǒng)提供的功能(或稱系統(tǒng)的用途)的一種描述;執(zhí)行
6、者是那些可能使用這些用例的人或外部系統(tǒng);用例和執(zhí)行者之間的聯(lián)系描述了“誰使用哪個用例”。 一個用例是用戶與計算機之間為達到某個目的的一次典型交互作用:用例描述了用戶提出的一些可見的需求;用例可大可??;用例對應一個具體的用戶目標用例圖著重于從系統(tǒng)外部執(zhí)行者的角度來描述系統(tǒng)需要提供哪些功能,并且指明了這些功能的執(zhí)行者是誰;用例圖在UML方法中占有十分重要的地位,人們甚至稱UML是一種用例圖驅(qū)動的開發(fā)方法。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML用例分析的一個好處是它能夠展現(xiàn)出系統(tǒng)和外部世界之間的邊界。參與者是典型的系統(tǒng)外部實體,而用例是典型的屬于系統(tǒng)內(nèi)部。系統(tǒng)的邊界用一個矩形來
7、代表,里面寫上系統(tǒng)的名字。系統(tǒng)的用例裝入矩形之內(nèi)。UML Use Case Diagrams(用例圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML用例圖中的圖符:n 使用:由用例A連向用例B,表示用例A中使用了用例B中的行為或功能。 n 擴展:由用例A連向用例B,表示用例B描述了一項基本需求,而用例A則描述了該基本需求的特殊情況。 n 注釋體:對UML實體進行文字描述n 注釋連接:將注釋體與要描述的實體連接,說明該注釋體是針對該實體進行的描述。擴展擴展用例被擴展用例使用使用用例抽象用例UML Use Case Diagrams(用例圖)上海財經(jīng)大學信息管理與工程學院第第1212
8、講講 UMLUML設置邊界風險分析交易估計進行交易超越邊界更新帳目評價貿(mào)易經(jīng)理營銷人員記帳系統(tǒng)銷售人員使用使用擴展UML Use Case Diagrams(用例圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML用例建模步驟:用例建模步驟:1.獲取執(zhí)行者:誰使用系統(tǒng)的主要功能(主要使用者)?誰需要系統(tǒng)支持他們的日常工作?誰來維護、管理系統(tǒng)使其能正常工作(輔助使用者)?系統(tǒng)需要控制哪些硬件?系統(tǒng)需要與其他哪些系統(tǒng)交互?對系統(tǒng)產(chǎn)生的結(jié)果感興趣的是哪些人?2.獲取用例:執(zhí)行者要求系統(tǒng)提供哪些功能?執(zhí)行者需要讀、產(chǎn)生、刪除、修改或存儲系統(tǒng)中的信息有哪些類型?必須提醒執(zhí)行者的系統(tǒng)事件有哪些
9、?執(zhí)行者必須提醒系統(tǒng)事件有哪些?怎樣把這些事件表示成用例中的功能?3.構(gòu)造用例模型圖4.記錄用例描述UML Use Case Diagrams(用例圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Class Diagrams(類圖)靜態(tài)模型靜態(tài)模型n 在面向?qū)ο蟮慕<夹g(shù)中,類、對象和它們之間的關(guān)系是最基本的建模元素。對于一個想要描述的系統(tǒng),其類模型、對象模型以及它們之間的關(guān)系揭示了系統(tǒng)的結(jié)構(gòu)。類圖類圖n 類圖描述了系統(tǒng)中的類及其相互之間的各種關(guān)系,其本質(zhì)反映了系統(tǒng)中包含的各種對象的類型以及對象間的各種靜態(tài)關(guān)系(關(guān)聯(lián),子類型)。n 類圖中的圖符: 其中第一欄是類的名,第
10、二欄是類的屬性,第三欄是類的操作。操作(服務)屬性類名上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML WashingMachinebrandNamemodeNameserialNumberaddClothes(C:String)removeClothes(C:string)turnON():Boolean屬性屬性是類的一個特性,它描敘了類的對象(也就是類的實例)所具有的一系列特性值。一個類可以具有零個到多個屬性。屬性名列表放在類名之下,并且和類名之間用分隔號隔開。UMLUML中屬性的語法格式:中屬性的語法格式: 可見性可見性 屬性名:類型名屬性名:類型名= =初值初值 性性質(zhì)串質(zhì)
11、串 可見性(可訪問性)包括三種:公有的(+)私有的()保護的(#)如果未聲明可見性,則表示該屬性的可見性尚未定義。注意,沒有默認的可見性。類圖舉例UML Class Diagrams(類圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML WashingMachinebrandNamemodeNameserialNumberaddClothes(C:String)removeClothes(C:string)turnON():Boolean操作操作是類能夠做的事情或者你(或者另一個類)能對類做的事情。操作名列表要放在屬性名列表之下,兩者之間用分隔線隔開。UML中操作的語法格式:中操
12、作的語法格式: 可見性可見性 操作名(參數(shù)表):返回操作名(參數(shù)表):返回值類型值類型性質(zhì)串性質(zhì)串可見性定義方法與屬性相同。參數(shù)表語法:參數(shù)名:類型名=默認值當參數(shù)的調(diào)用者未提供實在參數(shù)時,該參數(shù)使用默認值。類圖舉例UML Class Diagrams(類圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML類與類的關(guān)系類與類的關(guān)系關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系(1)普通關(guān)聯(lián)UML Class Diagrams(類圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML類與類的關(guān)系類與類的關(guān)系關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系UML Class Diagrams(類圖)上海財經(jīng)大學信息管理與工程學院第第12
13、12講講 UMLUML類與類的關(guān)系類與類的關(guān)系聚合關(guān)系聚合關(guān)系(1)組成聚合:用于表示類的對象之間的關(guān)系:整體擁有各部分,部分與整體共存,如整體不存在了,部分也會隨之消失。UML Class Diagrams(類圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML類與類的關(guān)系類與類的關(guān)系聚合關(guān)系聚合關(guān)系(2)共享聚合:用于表示類的對象之間的關(guān)系是整體與部分的關(guān)系。UML Class Diagrams(類圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML類與類的關(guān)系類與類的關(guān)系泛化關(guān)系泛化關(guān)系n 抽象類:沒有具體對象的類n 抽象類通常作為父類,用于描述其他子類的公共屬性
14、和行為。n 抽象類表示:在類名下方附加一個標記值abstractn 抽象類通常都具有抽象操作。n 抽象操作僅用來指定該類的所有子類應具有哪些行為。n 抽象操作的表示:在操作標記后面跟隨一個性質(zhì)串a(chǎn)bstractUML Class Diagrams(類圖)交通工具abstractDrive()abstract汽車Drive()輪船Drive()驅(qū)動車輪轉(zhuǎn)動轉(zhuǎn)動螺旋槳上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML訂單DateReceivedisPrepaidnumber:Stringprce:MoneyDispatch()close()訂單項Quantity:Integerprice
15、:MoneyisSatisfied:Boolean1*項客戶NameaddressCreditRating():String團體客戶ContactNamecreditRatingcreditLimitRemind()billforMonth(Intrger)雇員產(chǎn)品個人客戶CreditCard#creditRating()=“poor”銷售代表1*0.11*UML Class Diagrams(類圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Object Diagrams(對象圖)對象圖對象圖n 對象圖是類圖的一種變形。除了在對象名下面要加下劃線以外,對象圖中所使用的
16、符號與類圖基本相同。n 對象圖是類圖的一種實例化。一張對象圖表示的是與其對應的類圖的一個具體實例,即系統(tǒng)在某一時期或者某一特定時刻可能存在的具體對象實例以及它們相互之間的具體關(guān)系。n 對象圖并不象類圖那樣具有重要的地位,但是利用它可以幫助我們通過具體的實例分析,更具體直觀地了解復雜系統(tǒng)類圖的豐富內(nèi)涵。n 對象圖還常常被用作協(xié)作圖的一部分,用以展示一組對象實例之間的動態(tài)協(xié)作關(guān)系。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML類的屬性在該類的每個對象中都有具體值。對象名首寫字母小寫,后面根一個冒號,冒號后面是該對象所屬的類名,并且整個名字要帶下劃線。myWasher:WashingM
17、achinebrandName“海爾海爾”modeName“小神童小神童”serialNumber“GL0214”UML Object Diagrams(對象圖)對象圖舉例上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML作者計算機名字:String內(nèi)存:Ineger名字:String年齡:Integer0.1Uses1.*類圖小王:作者小王的工作PC:計算機名字 = “王小影”年齡 = 32小王的工作PC:計算機名字 = “Compaq X”內(nèi)存 = 32名字 = “Dell486”內(nèi)存 = 64對象圖UML Object Diagrams(對象圖)上海財經(jīng)大學信息管理與工程學院第
18、第1212講講 UMLUML對象對象 類圖建立步驟:類圖建立步驟:1研究分析問題領(lǐng)域,確定系統(tǒng)的需求。2發(fā)現(xiàn)對象和類,明確他們的含義和責任,確定屬性和操作。3發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系。著重分析找出類之間的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚合、組合、依賴等聯(lián)系表達出來。4設計類與聯(lián)系。調(diào)整和細化已得到的對象類和類之間的聯(lián)系,解決諸如命名沖突、功能重復等問題。5繪制對象類圖并編制相應的說明。 UML Object Diagrams(對象圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML對象對象 類圖案例講解類圖案例講解ATM系統(tǒng)某銀
19、行擬開發(fā)一個自動取款機系統(tǒng),它是由自動取款機、中央計算機、分行計算機和柜員終端組成的網(wǎng)絡系統(tǒng)。ATM和中央計算機由總行投資購買??傂袚碛卸嗯_ATM機,分別設在全市各主要街道上。分行負責提供分行計算機和柜員終端。柜員終端設在分行營業(yè)廳以及分行下屬的各儲蓄所內(nèi)。該系統(tǒng)的軟件開發(fā)成本由各個分行分攤。銀行柜員使用柜員終端處理儲戶提交的儲蓄事務。儲戶可以用現(xiàn)金或者支票向自己擁有的某個帳戶內(nèi)存款或者開新帳戶。儲戶也可以從自己的賬戶中取款。通常,一個儲戶可能擁有多個帳戶。柜員負責把儲戶提交的存款或者取款事務輸進柜員終端,接收儲戶交來的現(xiàn)金或者支票,或者付給儲戶現(xiàn)金。柜員終端與相應的分行計算機通信,分行計算機
20、具體處理針對某個帳戶的事務并且維護賬戶。 UML Object Diagrams(對象圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML對象對象 類圖案例講解類圖案例講解ATM系統(tǒng)1.1.分析業(yè)務領(lǐng)域術(shù)語,作為類和對象的初步候選者。分析業(yè)務領(lǐng)域術(shù)語,作為類和對象的初步候選者。某銀行擬開發(fā)一個自動取款機系統(tǒng),它是由自動取款機、中央計算機、分行計算機和柜員終端組成的網(wǎng)絡系統(tǒng)。ATM和中央計算機由總行投資購買??傂袚碛卸嗯_ATM機,分別設在全市各主要街道上。分行負責提供分行計算機和柜員終端。柜員終端設在分行營業(yè)廳以及分行下屬的各儲蓄所內(nèi)。該系統(tǒng)的軟件開發(fā)成本由各個分行分攤。銀行柜員使用
21、柜員終端處理儲戶提交的儲蓄事務。儲戶可以用現(xiàn)金或者支票向自己擁有的某個帳戶內(nèi)存款或者開新帳戶。儲戶也可以從自己的賬戶中取款。通常,一個儲戶可能擁有多個帳戶。柜員負責把儲戶提交的存款或者取款事務輸進柜員終端,接收儲戶交來的現(xiàn)金或者支票,或者付給儲戶現(xiàn)金。柜員終端與相應的分行計算機通信,分行計算機具體處理針對某個帳戶的事務并且維護賬戶。 UML Object Diagrams(對象圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML對象對象 類圖案例講解類圖案例講解ATM系統(tǒng)2.2.篩選出正確的類和對象,去掉冗余、無關(guān)、籠統(tǒng)、屬性、操作、實現(xiàn)。篩選出正確的類和對象,去掉冗余、無關(guān)、籠統(tǒng)
22、、屬性、操作、實現(xiàn)。某銀行擬開發(fā)一個自動取款機 系統(tǒng)(籠統(tǒng)),它是由自動取款機、中央計算機、分行計算機和柜員終端組成的網(wǎng)絡(籠統(tǒng))系統(tǒng)。ATM和中央計算機由總行投資購買??傂袚碛卸嗯_ATM機,分別設在全市(無關(guān))各主要街道(無關(guān))上。分行負責提供分行計算機和柜員終端。柜員終端設在分行營業(yè)廳(無關(guān))以及分行下屬的各儲蓄所(無關(guān))內(nèi)。該系統(tǒng)的軟件(籠統(tǒng))開發(fā)成本(無關(guān))由各個分行分攤。銀行柜員使用柜員終端處理用戶(冗余)提交的儲蓄事務。儲戶可以用現(xiàn)金(屬性)或者支票(屬性)向自己擁有的某個帳戶內(nèi)存款或者開新帳戶。用戶也可以從自己的賬戶中取款。通常,一個用戶可能擁有多個帳戶。柜員負責把儲戶提交的存款
23、或者取款事務輸進柜員終端,接收儲戶交來的現(xiàn)金或者支票,或者付給儲戶現(xiàn)金。柜員終端與相應的分行計算機通信,分行計算機具體處理針對某個帳戶的事務并且維護賬戶。 UML Object Diagrams(對象圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML對象對象 類圖案例講解類圖案例講解ATM系統(tǒng)3.3.確定關(guān)聯(lián)。確定關(guān)聯(lián)。某銀行擬開發(fā)一個自動取款機系統(tǒng),它是由自動取款機、中央計算機、分行計算機和柜員終端組成的網(wǎng)絡系統(tǒng)。ATM和中央計算機由總行投資購買。總行擁有多臺ATM機,分別(ATM)設在全市各主要街道上。分行負責提供分行計算機和柜員終端。柜員終端設在分行營業(yè)廳以及分行下屬的各儲
24、蓄所內(nèi)。該系統(tǒng)的軟件開發(fā)成本由各個分行分攤(軟件開發(fā)成本)。銀行柜員使用柜員終端處理儲戶提交的儲蓄事務。儲戶可以用現(xiàn)金或者支票向自己擁有的某個帳戶內(nèi)存款或者開新帳戶。儲戶也可以從自己的賬戶中取款。通常,一個儲戶可能擁有多個帳戶。柜員負責把儲戶提交的存款或者取款事務輸進柜員終端,接收儲戶交來的現(xiàn)金或者支票,或者付給儲戶現(xiàn)金。柜員終端與相應的分行計算機通信,分行計算機具體處理針對某個帳戶的事務并且(分行計算機)維護賬戶。 UML Object Diagrams(對象圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML對象對象 類圖案例講解類圖案例講解ATM系統(tǒng)4.4.分析并篩選候選關(guān)聯(lián)
25、。去掉:已經(jīng)刪除的類之間的關(guān)聯(lián);與問題無關(guān)或需要在實分析并篩選候選關(guān)聯(lián)。去掉:已經(jīng)刪除的類之間的關(guān)聯(lián);與問題無關(guān)或需要在實現(xiàn)階段考慮的事件;三元關(guān)聯(lián);派生關(guān)聯(lián)。現(xiàn)階段考慮的事件;三元關(guān)聯(lián);派生關(guān)聯(lián)。某銀行擬開發(fā)一個自動取款機系統(tǒng),它是由自動取款機、中央計算機、分行計算機和柜員終端組成的網(wǎng)絡系統(tǒng)。ATM和中央計算機由總行投資購買??傂袚碛卸嗯_ATM機(總行擁有中央計算機;ATM機與中央計算機通信),分別(ATM)設在全市各主要街道上。分行負責提供分行計算機和柜員終端。柜員終端設在分行營業(yè)廳以及分行下屬的各儲蓄所內(nèi)。該系統(tǒng)的軟件開發(fā)成本由各個分行分攤(軟件開發(fā)成本)。銀行柜員使用柜員終端處理儲戶提
26、交的儲蓄事務(柜員輸入事務;事務修改帳戶)。儲戶可以用現(xiàn)金或者支票向自己擁有的某個帳戶內(nèi)存款或者開新帳戶。儲戶也可以從自己的賬戶中取款。通常,一個儲戶可能擁有多個帳戶。柜員負責把儲戶提交的存款或者取款事務輸進柜員終端,接收儲戶交來的現(xiàn)金或者支票,或者付給儲戶現(xiàn)金。柜員終端與相應的分行計算機通信,分行計算機具體處理針對某個帳戶的事務(分行處理事務;事務修改帳戶)并且(分行計算機)維護賬戶。 UML Object Diagrams(對象圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML對象對象 類圖案例講解類圖案例講解ATM系統(tǒng)5.ATM5.ATM機初始類圖草圖機初始類圖草圖 UML
27、 Object Diagrams(對象圖)總行柜員終端分行計算機ATM中央計算機儲戶帳戶分行柜員事務柜員6. 進一步修改,并確定屬性和操作(略)進一步修改,并確定屬性和操作(略)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Packages (包圖)包圖包圖n 包是一種分組機制,表示一個類圖集合。n 包圖所顯示的是類的包以及這些包之間的依賴關(guān)系。n 如果兩個包中的任意兩個類之間存在依賴關(guān)系,則這兩個包之間存在依賴關(guān)系。n 包的依賴是不傳遞的。何時使用包圖?何時使用包圖?n 在大項目中,包圖是一種重要工具;n 依賴產(chǎn)生耦合,應該盡量將依賴性減少到最低程度;n 包的概念對測試
28、也是特別有用的。Package上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Packages(包圖)包圖建立步驟:包圖建立步驟:1分析系統(tǒng)模型元素(通常是類),把概念上或語義上相近的模型元素納入一個包。注意可以從類的功能的相關(guān)性來確定納入包中的類。分析對象類的功能相關(guān)性:如果一個類的行為和/或結(jié)構(gòu)的變更要求另一個相應的變更,則這兩個類是功能相關(guān)。如果刪除一個類后,另一個類便變成是多余的,則這兩個類是功能相關(guān)的,這說明該剩余的類只為那個被刪除的類所使用,他們之間有依賴關(guān)系。如果兩個類之間大量的頻繁交互或通信,則這兩個類是功能相關(guān)的。如果兩個類之間有一般/特殊關(guān)系,則這兩個類
29、是功能相關(guān)的。如果一個類激發(fā)創(chuàng)建另一個類的對象,則這兩個類是功能相關(guān)的。如果兩個類不涉及同一個外部參與者,則這兩個類不應放在同一個包中。一個包應當具有高內(nèi)聚性,包中的類應該是功能相關(guān)的。2對于每一個包,標出其模型元素的可視性:公共、保護或私有。3確定包與包之間的依賴關(guān)系,特別是輸入依賴。4確定包與包之間的泛化關(guān)系,確定包元素的多態(tài)性和重載。5繪制包圖。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Packages(包圖)訂單獲取界面訂單獲取應用AWT郵件發(fā)送清單界面郵件發(fā)送清單應用訂單顧客上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Statecha
30、rt Diagrams(狀態(tài)圖)狀態(tài)圖狀態(tài)圖n 狀態(tài)圖是對類的一種補充描述,它展示了此類對象所具有的可能的狀態(tài)以及某些事件發(fā)生時其狀態(tài)的轉(zhuǎn)移情況。n 在狀態(tài)圖中,狀態(tài)由圓角矩形表示。狀態(tài)的改變稱作轉(zhuǎn)移,狀態(tài)轉(zhuǎn)移由箭頭表示,箭頭旁可以標出轉(zhuǎn)移發(fā)生的條件。狀態(tài)轉(zhuǎn)移可以伴隨有某個動作,它表明當轉(zhuǎn)移發(fā)生時系統(tǒng)要做什么。n 狀態(tài)圖針對單個對象建立模型。狀態(tài)之間怎樣轉(zhuǎn)換?狀態(tài)之間怎樣轉(zhuǎn)換?n 狀態(tài)圖中兩個狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。n 狀態(tài)轉(zhuǎn)換通常是由事件觸發(fā)的,在這種情況下應在表示狀態(tài)轉(zhuǎn)換的箭頭線上標出觸發(fā)轉(zhuǎn)換的事件表達式。n 如果在箭頭線上未標明事件,則表示在源狀態(tài)的內(nèi)部活動
31、執(zhí)行完之后自動觸發(fā)轉(zhuǎn)換。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Statechart Diagrams(狀態(tài)圖)狀態(tài)圖基本符號:狀態(tài)圖基本符號:初態(tài)用實心圓表示;終態(tài)用一對同心圓(內(nèi)圓為實心圓)表示;中間狀態(tài)用圓角矩形表示;分成上、中、下3個部分。上面部分為狀態(tài)的名稱,這部分是必須有的;中間部分為狀態(tài)變量的名字和值,這部分是可選的;下面部分是活動表,這部分也是可選的。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML活動表的語法格式如下:事件名(參數(shù)表)/動作表達式“事件名”可以是任何事件的名稱。在活動表中經(jīng)常使用下述3種標準事件:entry,exit和d
32、o。entry事件指定進入該狀態(tài)的動作exit事件指定退出該狀態(tài)的動作do事件則指定在該狀態(tài)下的動作。需要時可以為事件指定參數(shù)表。活動表中的動作表達式描述應做的具體動作。UML Statechart Diagrams(狀態(tài)圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLn事件表達式的語法如下:事件說明守衛(wèi)條件動作表達式事件說明的語法為:事件名(參數(shù)表)。守衛(wèi)條件是一個布爾表達式。如果同時使用事件說明和守衛(wèi)條件,則當且僅當事件發(fā)生且布爾表達式為真時,狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條件為真狀態(tài)轉(zhuǎn)換就發(fā)生。動作表達式是一個過程表達式,當狀態(tài)轉(zhuǎn)換開始時執(zhí)行該表
33、達式。UML Statechart Diagrams(狀態(tài)圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Statechart Diagrams(狀態(tài)圖)下降狀態(tài)在第一層上升狀態(tài)向第一層下降空閑狀態(tài)上升到達到達上升超時下降到達第一層上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML課堂練習:根據(jù)下列陳述繪制狀態(tài)圖課堂練習:根據(jù)下列陳述繪制狀態(tài)圖復印機的工作過程大致如下:未接到復印命令時處于閑置狀態(tài),一旦接到復印命令則進入復印狀態(tài),完成一個復印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復印命令;如果執(zhí)行復印命令時發(fā)現(xiàn)沒紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿
34、紙后進入閑置狀態(tài),準備接收復印命令;如果復印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請用狀態(tài)轉(zhuǎn)換圖描繪復印機的行為。UML Statechart Diagrams(狀態(tài)圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML建立狀態(tài)圖的步驟:建立狀態(tài)圖的步驟:1確定狀態(tài)機的上下文,它可以是一個類、子系統(tǒng)或整個系統(tǒng)。2選擇初始狀態(tài)和終結(jié)狀態(tài)。 注意:一張狀態(tài)圖中只能有一個初態(tài),而終態(tài)可以有注意:一張狀態(tài)圖中只能有一個初態(tài),而終態(tài)可以有0 0個或者多個。個或者多個。3發(fā)現(xiàn)對象的各種狀態(tài)。4確定狀態(tài)可能發(fā)生的裝移。注意從一個狀態(tài)可能轉(zhuǎn)移到哪些狀
35、態(tài),對象的哪些行為可引起狀態(tài)的轉(zhuǎn)移并找出觸發(fā)狀態(tài)轉(zhuǎn)移的事件。5找出觸發(fā)狀態(tài)轉(zhuǎn)移的事件。6繪制狀態(tài)圖。7細化狀態(tài)中的可選項(狀態(tài)變量/活動表等)。UML Statechart Diagrams(狀態(tài)圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Sequence Diagrams (順序圖)順序圖n 順序圖描述了對象之間動態(tài)的交互關(guān)系,著重體現(xiàn)對象間消息傳遞的時間順序。n 順序圖由一組對象構(gòu)成,每個對象分別帶有一條豎線,稱作對象的生命線,它代表時間軸,時間沿豎線向下延伸。順序圖描述了這些對象隨著時間的推移相互之間交換消息的過程。消息用從一條垂直的對象生命線指向另一個對象的
36、生命線的水平箭頭表示。圖中還可以根據(jù)需要增加有關(guān)時間的說明和其他注釋。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Sequence Diagrams (順序圖)順序圖符號順序圖符號:Name2激活:表示該對象正在執(zhí)行某個操作。激活矩形的長度表示激活的持續(xù)時間。調(diào)用消息和返回消息的符號異步消息的符號:Name1對象的生命線對象之間相互發(fā)送的消息上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Sequence Diagrams (順序圖) :計算機:打印服務程序:打印隊列:打印機打印文件打印機空閑打印文件打印機忙保存文件上海財經(jīng)大學信息管理與工程學院第第
37、1212講講 UMLUML順序圖的建立步驟順序圖的建立步驟1 找出參與交互的對象角色,把他們橫向排列在順序圖的頂部,最重要的對象安置在最左邊,交互密切的對象盡可能相鄰。在交互中創(chuàng)建的對象在垂直方向應安置在其被創(chuàng)建的時間點處。2 對每一個對象設置一條垂直的向下的生命線。3 從初始化交互的信息開始,自頂向下在對象的生命線之間安置信息。 注意用箭頭的形式區(qū)別同步消息和異步消息。4 在生命線上繪出對象的激活期。5 根據(jù)消息之間的關(guān)系,確定循環(huán)結(jié)構(gòu)及循環(huán)參數(shù)和出口條件。UML Sequence Diagrams (順序圖) 上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Collab
38、oration Diagrams(協(xié)作圖)協(xié)作圖協(xié)作圖n 與順序圖作用相同,協(xié)作圖也是用來描述系統(tǒng)中對象之間的動態(tài)協(xié)作關(guān)系。協(xié)作圖側(cè)重于描述各個對象之間存在的消息收發(fā)關(guān)系(交互關(guān)系),而不專門突出這些消息發(fā)送的時間順序。n 在協(xié)作圖中,對象同樣是用一個對象圖符來表示,箭頭表示消息發(fā)送的方向,而消息執(zhí)行的順序則由消息的編號來表明。n 協(xié)作圖是對象的擴展,協(xié)作圖除了展示出對象之間的關(guān)聯(lián),還顯示出對象之間的消息傳遞。通常在協(xié)作圖中省略掉關(guān)聯(lián)的名字。n 順序圖可以轉(zhuǎn)換成等價的協(xié)作圖,反之亦然。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Collaboration Diagram
39、s(協(xié)作圖)協(xié)作圖符號協(xié)作圖符號:Class1:Class3:Class21:add()1:modify()1:update()n關(guān)聯(lián)線附近的箭頭線表示對象之間傳遞的消息,箭頭指向消息接收對象。n消息名稱和消息序號附在箭頭線附近。n消息的一般含義是觸發(fā)接收消息的對象執(zhí)行它的一個操作。n在協(xié)作圖中,在消息名前面加上消息的序號,它代表該消息在消息序列中的順序。n消息名和序號之間用冒號隔開。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Collaboration Diagrams(協(xié)作圖):計算機:打印隊列:打印服務程序:打印機1. 打印文件 3. 保存文件打印機忙2.打印文件
40、打印機空閑上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Collaboration Diagrams(協(xié)作圖)協(xié)作圖協(xié)作圖n 協(xié)作圖的布局方法能更清楚地表示出交互對象的整體組織。n 順序圖突出執(zhí)行的時序,能更方便地看出事情發(fā)生的次序。n 如果要描述在一個用例中的幾個對象協(xié)同工作的行為,交互圖是一種有力的工具。交互圖擅長顯示對象之間的合作關(guān)系,盡管它并不對這些對象的行為進行精確的定義。n 如果想要描述跨越多個用例的單個對象的行為,應當使用狀態(tài)圖;如果想要描述跨越多個用例或多個線程的多個對象的復雜行為,則需考慮使用活動圖。上海財經(jīng)大學信息管理與工程學院第第1212講講 UML
41、UMLUML Collaboration Diagrams(協(xié)作圖)繪制協(xié)作圖的步驟:繪制協(xié)作圖的步驟:1找出參與交互的對象角色,把他們作為圖形的節(jié)點置在協(xié)作圖中。最重要的對象安置在圖的中央,與他有直接交互的對象安置在鄰近。2設置對象的初始性質(zhì)。3說明對象之間的鏈接。首先給出對象之間的關(guān)聯(lián)連接,然后給出其它連接。4從初始化交互的消息開始,在鏈接上安置相應的消息,給出消息的序號。5處理一些特殊情況,如循環(huán)、自調(diào)用、回調(diào)、多對象等。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Activity Diagrams(活動圖)活動圖活動圖n 活動圖描述系統(tǒng)中各種活動的執(zhí)行順序,通常
42、用于描述一個操作中所要進行的各項活動的執(zhí)行流程。n 活動圖也常被用來描述一個用例的處理流程,或者某種交互流程。n 活動圖由一些活動組成,圖中同時包括了對這些活動的說明。當一個活動執(zhí)行完畢之后,控制將沿著控制轉(zhuǎn)移箭頭轉(zhuǎn)向下一個活動?;顒訄D中還可以方便地描述控制轉(zhuǎn)移的條件以及并行執(zhí)行等要求。n 活動狀態(tài)表示成帶有圓形邊線的矩形,它含有活動的描述(普通的狀態(tài)盒為直邊圓角)。簡單的完成轉(zhuǎn)換用箭頭表示。和狀態(tài)圖相似,活動圖也有起點和終點符號,表示法和狀態(tài)圖一樣。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Activity Diagrams(活動圖)加水到容器中將咖啡放到過濾器中點
43、燃咖啡爐取出咖啡杯把過濾器放到咖啡爐上沖調(diào)咖啡倒咖啡找飲料取一聽可口可樂喝飲料人找到可口可樂沒有可口可樂沒有咖啡找到咖啡熄滅咖啡爐上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Activity Diagrams(活動圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Activity Diagrams(活動圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Activity Diagrams(活動圖)活動圖活動圖n 活動圖最適合支持描述并行行為,這使之成為支持工作流建模的最好工具。n 活動圖最大的缺點是很難清楚地描述動作與對象之間的
44、關(guān)系。n 對于以下情況可以使用活動圖:(1)分析用例;(2)理解牽涉多個用例的工作流;n 在下列情況下,一般不要使用活動圖:(1)顯示對象間合作;(2)顯示對象在其生命周期內(nèi)的運轉(zhuǎn)情況。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML活動圖建立步驟:活動圖建立步驟:1找出負責實現(xiàn)工作流的業(yè)務對象。這些對象可以是現(xiàn)實業(yè)務領(lǐng)域中的實體,也可以是一種抽象的概念或事物。為每一個重要的業(yè)務對象建立一條泳道。2確定工作流的初始狀態(tài)和終結(jié)狀態(tài),明確工作流的邊界。3從工作流的初始狀態(tài)開始,找出隨時間而發(fā)生的活動和動作,把他們表示成活動狀態(tài)或動作狀態(tài)。4對于復雜的動作或多次重復出現(xiàn)的一組動作,可以把
45、他們組成一個活動狀態(tài),并且用另外一個活動圖來展開表示。5給出連接活動和動作的轉(zhuǎn)移(動作流)。首先處理順序動作流,然后處理條件分支。最后處理分支和結(jié)合。6在活動圖中給出與工作流有關(guān)的重要對象,并用虛箭線把他們與活動狀態(tài)或動作狀態(tài)相連接。UML Activity Diagrams(活動圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Component Diagrams(組件圖)組件圖組件圖n 組件圖描述軟件組件以及它們之間的依賴關(guān)系,從而便于人們分析和發(fā)現(xiàn)當修改某個組件時可能對那些組件產(chǎn)生影響,以便對它們做相應的修改或更新。n 組件可以是源代碼組件、二進制目標碼組件、可執(zhí)行
46、組件或文檔組件。n 組件用一邊有兩個小矩形的一個長方形表示,它可以用實線與代表組件接口的圓圈相連 。n 組件圖表示了組件之間的依賴關(guān)系。每個組件實現(xiàn)(支持)一些接口,并使用另一些接口。如果組件間的依賴關(guān)系與接口有關(guān),那么組件可以被具有同樣接口的其他組件替代。 上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Component Diagrams(組件圖) Whnd.cpp: 窗口處理器 Graphic.dll:圖形庫 Comhnd.cpp: 命令處理器 Main.cpp:主類 Whnd.obj: 窗口處理器 Comhnd.obj: 命令處理器 Main.obj:主類 clie
47、nt.exe: 客戶程序上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Component Diagrams(組件圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Component Diagrams(組件圖) 繪制組件圖的步驟:繪制組件圖的步驟:1確定組件。首先要分解系統(tǒng),考慮有關(guān)系統(tǒng)的組成管理、軟件的重用核物理節(jié)點的配置等因素,把關(guān)系密切的可執(zhí)行程序和對象庫分別歸入組件,找出相應的對象類、接口等模型元素。2對組件加上必要的構(gòu)造型??梢允褂胾ml的標準構(gòu)造型executable、library、table、file、document,或自定義新的構(gòu)造
48、型,說明組件的性質(zhì)。3確定組件之間的聯(lián)系。最常見的組件之間的聯(lián)系是通過接口依賴。一個組件使用某個接口,另一個組件實現(xiàn)該接口。4必要時把組件組織成包。組件和對象、協(xié)作等模型元素一樣可以組織成包。5繪制組件圖。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Deployment Diagrams(配置圖)配置圖配置圖n 配置圖描述系統(tǒng)中硬件和軟件的物理配置情況和系統(tǒng)體系結(jié)構(gòu)。n 在配置圖中,用節(jié)點表示實際的物理設備,如計算機和各種外部設備等,并根據(jù)它們之間的連接關(guān)系,將相應的結(jié)點連接起來,并說明其連接方式。在節(jié)點里面,說明分配給該結(jié)點上運行的可執(zhí)行組件或?qū)ο螅瑥亩f明哪些軟件單
49、元被分配在哪些結(jié)點上運行。上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Deployment Diagrams(配置圖)客戶A:個人電腦PC客戶B:個人電腦PC數(shù)據(jù)庫服務器:VAX服務器:02TCP/IP協(xié)議TCP/IP協(xié)議DecNet協(xié)議上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUMLUML Deployment Diagrams(配置圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML配置圖建立步驟:配置圖建立步驟:1確定節(jié)點。注意:標示系統(tǒng)中的硬件設備,包括大型主機、服務器、前端機、網(wǎng)絡設備、輸入/輸出設備等。一個處理機是一個節(jié)點,它具有處理
50、功能,能夠執(zhí)行一個組件;一個設備也是一個節(jié)點,它沒有處理功能,但它是系統(tǒng)和現(xiàn)實世界的接口。2對節(jié)點加上必要的構(gòu)造型??梢允褂胾ml的標準構(gòu)造型或自定義新的構(gòu)造型,說明節(jié)點的性質(zhì)。3確定聯(lián)系。這是關(guān)鍵步驟。配置圖中的聯(lián)系包括節(jié)點與節(jié)點之間的聯(lián)系,節(jié)點與組件之間的聯(lián)系,組件與組件之間的聯(lián)系。把系統(tǒng)的組件如可執(zhí)行程序,動態(tài)連接庫等分配到節(jié)點上,并確定節(jié)點與節(jié)點之間,節(jié)點與組件之間,組件與組件之間的聯(lián)系,以及他們的性質(zhì)。4繪制配置圖。UML Deployment Diagrams(配置圖)上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML基于UML的系統(tǒng)開發(fā)過程基于基于UMLUML的系統(tǒng)開發(fā)
51、過程的系統(tǒng)開發(fā)過程 快速應用工程指導原則(Guidelines for Rapid APPLication Engineering,GRAPPLE)1.需求收集2.分析3.設計4.實現(xiàn)5.部署上海財經(jīng)大學信息管理與工程學院第第1212講講 UMLUML基于基于UMLUML的系統(tǒng)開發(fā)過程的系統(tǒng)開發(fā)過程1.1.需求收集需求收集n 了解業(yè)務過程,形成描述業(yè)務過程的活動圖。n 進行領(lǐng)域分析,了解客戶領(lǐng)域中的主要實體,構(gòu)造高層類圖。n 識別協(xié)作系統(tǒng),建立初步的部署圖。n 發(fā)現(xiàn)系統(tǒng)需求,通過聯(lián)合應用開發(fā)計劃,細化類圖。會議的工作產(chǎn)品是包圖。包代表了一個系統(tǒng)功能的高層領(lǐng)域。n 將結(jié)果提交給客戶。需求分析的結(jié)果提交給客戶,認可后繼續(xù)。基于UML的系統(tǒng)開發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《第二單元 指揮機器人行動 12 聲波測距避障礙》教學設計-2024-2025學年泰山版信息技術(shù)(2018)第三冊
- 如何提升小班班級凝聚力計劃
- 如何推動財務制度優(yōu)化計劃
- 會計記賬的技巧與實務指南計劃
- 推動品德教育與心理輔導融合計劃
- 社區(qū)交通安全的個人倡導計劃
- 慈善基金會年度項目計劃
- 神經(jīng)內(nèi)科護理個案護理模板
- 肥胖患者的護理常規(guī)
- 醫(yī)院道路知識培訓課件
- 智慧農(nóng)場整體建設實施方案
- 被詐騙的起訴書范文
- 幼兒園食譜播報
- 公路養(yǎng)護服務投標方案(技術(shù)標)
- 灌入式半柔性復合抗車轍路面施工工法
- 小班第一學期教學進度表
- 材料性能學課件:材料的熱學性能-2-熱傳導-熱穩(wěn)定性-
- 幼兒園優(yōu)質(zhì)公開課:中班數(shù)學《尋寶小勇士》課件
- 監(jiān)理單位工程項目總監(jiān)及監(jiān)理人員名冊
- 北師大版小學英語3-6年級單詞-(三起)帶音標-精華版
- 聲樂第2版(學前教育專業(yè))PPT完整全套教學課件
評論
0/150
提交評論