3.6+UML靜態(tài)建模技術(shù)簡介.ppt_第1頁
3.6+UML靜態(tài)建模技術(shù)簡介.ppt_第2頁
3.6+UML靜態(tài)建模技術(shù)簡介.ppt_第3頁
3.6+UML靜態(tài)建模技術(shù)簡介.ppt_第4頁
3.6+UML靜態(tài)建模技術(shù)簡介.ppt_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、UML的靜態(tài)建模技術(shù)簡介,制作: 施珺,1. UML概述,UML(Unified Modeling Language,統(tǒng)一建模語言)是一種可以應(yīng)用于任何軟件開發(fā)過程的標(biāo)記法和語義語言,主要是由Rational Software公司的三位巨匠Booch、Rumbaugh和Jacobson于1995年正式合作創(chuàng)建的。UML使用了9種模型圖用來對面向?qū)ο蟮能浖到y(tǒng)進(jìn)行建模。,UML可分為兩個主要構(gòu)件結(jié)構(gòu)圖和行為圖。結(jié)構(gòu)圖包括類圖、對象圖、組件圖和部署圖;行為圖包括用例圖、活動圖、序列圖、協(xié)作圖和狀態(tài)圖。,2. UML建模工具推薦,1)Rational Software公司推出的第一個功能完備的UML

2、軟件包:Rational Rose,它可以使代碼反向轉(zhuǎn)化為模型、改變模型以及可以對代碼進(jìn)行更新來反應(yīng)模型的變化,具備完整的對象管理功能,通過類和圖的存儲庫,在一個圖中對一個類的修改可以輕松地使所有包含該類的圖都得到相應(yīng)的更新。 2)Microsoft公司推出的Visio,功能與Rational Rose類似。,3. UML的靜態(tài)建模機(jī)制,任何建模語言都以靜態(tài)建模機(jī)制為基礎(chǔ),標(biāo)準(zhǔn)建模語言UML也不例外。UML的靜態(tài)建模機(jī)制包括: 用例圖(Use case diagram) 類圖(Class diagram) 對象圖(Object diagram ) 包(Package) 組件圖(Componen

3、t diagram) 部署圖(Deployment diagram),3.1 用例圖,3.1.1 用例圖的概念 用例圖是使用UML設(shè)計新系統(tǒng)的起點(diǎn),說明誰要使用系統(tǒng)以及他們使用該系統(tǒng)可以做什么,描述的是外部執(zhí)行者所理解的系統(tǒng)功能。 在UML中,一個用例模型由若干個用例圖描述, 用例圖的主要元素是用例和執(zhí)行者。 用例圖用于需求分析階段,使用用例圖可以對測試、普通流程和異常處理流程等功能進(jìn)行建模。,3.1.2 用例圖的標(biāo)記符組件 用例圖包括4個基本組件: 系統(tǒng)、參與者、用例、關(guān)系 系統(tǒng):為用戶執(zhí)行某類功能的一個或多個軟件構(gòu)件。 參與者:用來表示使用系統(tǒng)的對象,即系統(tǒng)用戶,可以是一個人或者另一個系統(tǒng)

4、。標(biāo)記符號為:,參與者角色名,teacher,參與者的角色名應(yīng)該用他們使用系統(tǒng)時的工作頭銜,要避免起一個實(shí)際的人名。,用例: 是用戶希望系統(tǒng)具備的動作,即系統(tǒng)功能。用一個里面帶有名稱的橢圓表示:,用例名稱,record grades,用例名稱可以是帶有數(shù)字、字母和除保留符號(:冒號)以外的任何符號的任意字符串。要盡量使用主動語態(tài)動詞和可以描述系統(tǒng)上執(zhí)行的功能的名詞。,關(guān)系:由一條連接參與者和用例的線來表示。,用例,參與者,如果多個參與者與用例之間有同一關(guān)系,可以泛化名稱,以一個參與者取代重復(fù)的參與者,學(xué)生成績管理系統(tǒng),3.1.3 用例圖示例,record grades,Create repor

5、t cards,view grades,distribute report cards,teacher,student,Printing administrator,3.1.4 泛化技術(shù),泛化是一種用于表示UML中項目的繼承的技術(shù),泛化可以應(yīng)用于參與者和用例來表示其子項從父項繼承功能。,Cook Spaghetti,cooker,Cook Chinese,Cook Lasagna,Cook Pasta,Cook dinner,mother cooker,father cooker,3.1.5 包含和擴(kuò)展關(guān)系,包含和擴(kuò)展是在兩個用例緊密相關(guān)時,關(guān)聯(lián)用例的兩種方法。當(dāng)一個用例要一直用另一個用例時就

6、為包含關(guān)系,當(dāng)一個用例可能使用另一個用例時就為擴(kuò)展關(guān)系。 包含關(guān)系標(biāo)記符和擴(kuò)展關(guān)系標(biāo)記符如下:,包含用例,被包含用例,include,擴(kuò)展用例,被擴(kuò)展用例,extand,record grades,Update grades,teacher,Notify guardians Extension points: Failing grade is saved,save grades,include,include,extand,用例圖的包含與擴(kuò)展關(guān)系示例,3.1.6 如何建立用例圖模型,(1)找出系統(tǒng)中的參與者和用例 以“記錄成績”系統(tǒng)為例,業(yè)務(wù)需求如下: 系統(tǒng)可以供教師使用來為學(xué)生記錄成績 系統(tǒng)

7、需要根據(jù)需求創(chuàng)建報告卡 系統(tǒng)需要允許用戶瀏覽記錄的成績 參與者: 教師、學(xué)生、管理員 用例有: 記錄成績 更新成績 生成報告卡 檢查報告卡的準(zhǔn)確性 分發(fā)報告卡 瀏覽成績,管理員,教師、學(xué)生、管理員,(2)區(qū)分用例的優(yōu)先次序 1) 記錄成績 2) 瀏覽成績 3) 更新成績 4) 生成報告卡 5) 檢查報告卡的準(zhǔn)確性 6) 分發(fā)報告卡 (3)細(xì)化每個用例 登錄 保存成績 記錄成績 加載成績 瀏覽成績 更新成績 生成報告卡 分發(fā)報告卡,(4)建立用例模型結(jié)構(gòu) 教師可以記錄成績,記錄成績包含保存成績 教師可以更新成績,更新成績包含加載、保存成績 教師、管理員和學(xué)生可以瀏覽成績,瀏覽成績包含登錄 管理員

8、可以生成報告卡 教師可以分發(fā)報告卡 (5)建立用戶界面的原型,record grades,Update grades,teacher,save grades,include,include,logon,Create report cards,view grades,distribute report cards,student,administrator,load grades,include,include,3.2 類圖、對象圖和包,3.2.1 類圖 類圖(Class Diagram)是由組成系統(tǒng)或者子系統(tǒng)的構(gòu)造塊構(gòu)成的靜態(tài)圖,描述類和類之間的靜態(tài)關(guān)系,是面向?qū)ο蠓椒ǖ暮诵摹?類圖由類及其關(guān)

9、系組成,類包含特性和操作,類可以和其它類之間具有關(guān)系。 類圖是定義其它圖的基礎(chǔ),在類圖的基礎(chǔ)上,可以用狀態(tài)圖、合作圖等進(jìn)一步描述系統(tǒng)其他方面的特性。,3.2.2 類 類是類圖的主要成分,類的兩個主要組件是特性和操作。可以用4種不同方式的標(biāo)記符來建模類:,同時顯示特性和操作,只顯示特性,只顯示操作,不顯示特性和操作,類中無特性和操作,3.2.3 關(guān)系,兩個類之間可以通過一條線或者一個關(guān)聯(lián)名稱相關(guān),名稱后的箭頭顯示關(guān)聯(lián)的方向。,teacher,student,class,teaches ,takes ,上面表示teacher教授一個class;一個student屬于一個class。,多重性,用來表

10、示一個類的多少對象與另一個類的一個對象相關(guān),多重性是一個數(shù)值或數(shù)值范圍。,teacher,student,class,teaches ,takes ,上面表示一個teacher至少教授一個class,也可以教授無限多個class ;一個class只有一個教師;一個student屬于4-6個class;一個class 有10-30名學(xué)生。,1,1.*,10.30,4.6,角色,在類圖中使用角色可以幫助讀者理解第一個類對于第二個類的作用。,teacher,class,上面表示一個class有一個teacher起導(dǎo)師的作用;一個class有0或一個teacher起助教的作用; 。,1,1.*,0.1

11、,1.*,instructor,assistant,3.2.4 對象圖,對象是類的實(shí)例,對象具有一定的特性值。 對象標(biāo)記符為:,對象名:類名,MathTeacher:Teacher,3.2.5 為特性提供信息,為特性提供信息包括指定數(shù)據(jù)類型、賦初始值(默認(rèn)值)、提供多重性。 +號表示成員是可視的,可由外部相關(guān)類訪問; - 表示成員是私有的,不能由外部的類訪問; #表示受保護(hù)的,只對相同系統(tǒng)中的類是可視的。 不管在可視還是不可視時,特性和操作之間都沒有區(qū)別。但是,特性在默認(rèn)時通常是不可視的,而操作在默認(rèn)時通常是可視的。,if ( NumberOfGrades=0) then GPA=Null e

12、lse GPA=Sum(Grades)/ (NumberOf(Grades)*25) ,+/ 派生的特性,3.2.6 包,包是一種把類分組為通用類目的方式,包在對象或者類的情況下都通過在類名前追加名和雙冒號(: )的形式來表示。 標(biāo)記符為:,對象 :包 :類,MathTeacher :Grading :Teacher,Teacher,OnlineUser,Administrator,uses, generates, displays,maintains ,contains,1,1.*,1.*,1,1,1.*,3.3 組件圖和部署圖,3.3.1 組件圖(Component diagram) 組件

13、圖顯示系統(tǒng)實(shí)現(xiàn)時的源代碼的靜態(tài)結(jié)構(gòu),即軟件構(gòu)件之間的依賴關(guān)系。 軟件構(gòu)件就是一個實(shí)際文件,可以是源代碼文件、二進(jìn)制代碼文件和可執(zhí)行文件等。 組件圖可以用來顯示編譯、鏈接或執(zhí)行時構(gòu)件之間的依賴關(guān)系 。組件圖用左側(cè)帶兩個小矩形的大矩形表示;組件之間的依賴關(guān)系用虛線箭頭表示。,includes,DataAccess,includes,includes,UserInterface,extends,3.3.2 部署圖(Deployment diagram),部署圖描述系統(tǒng)實(shí)現(xiàn)時硬件的物理拓?fù)浣Y(jié)構(gòu)以及在此結(jié)構(gòu)上執(zhí)行的軟件。 部署圖可以顯示計算結(jié)點(diǎn)(如一臺Unix主機(jī)、一個PC終端、一臺打印機(jī)、一個傳感器等)的拓?fù)浣Y(jié)構(gòu)和通信路徑、結(jié)點(diǎn)上運(yùn)行的軟件構(gòu)件、軟件構(gòu)件包含的邏輯單元(對象、類)等,即運(yùn)行時各個包或類在結(jié)點(diǎn)中的分布情況 。部署圖常用于幫助理解分布

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論