![太原理工大學(xué)軟件工程第十二_第1頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/9/207ce940-34b8-4e26-92cd-cbdd96c45ff3/207ce940-34b8-4e26-92cd-cbdd96c45ff31.gif)
![太原理工大學(xué)軟件工程第十二_第2頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/9/207ce940-34b8-4e26-92cd-cbdd96c45ff3/207ce940-34b8-4e26-92cd-cbdd96c45ff32.gif)
![太原理工大學(xué)軟件工程第十二_第3頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/9/207ce940-34b8-4e26-92cd-cbdd96c45ff3/207ce940-34b8-4e26-92cd-cbdd96c45ff33.gif)
![太原理工大學(xué)軟件工程第十二_第4頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/9/207ce940-34b8-4e26-92cd-cbdd96c45ff3/207ce940-34b8-4e26-92cd-cbdd96c45ff34.gif)
![太原理工大學(xué)軟件工程第十二_第5頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/9/207ce940-34b8-4e26-92cd-cbdd96c45ff3/207ce940-34b8-4e26-92cd-cbdd96c45ff35.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第1頁(yè)第第12章章 軟件開(kāi)發(fā)工具軟件開(kāi)發(fā)工具StarUML及其應(yīng)用及其應(yīng)用本章內(nèi)容結(jié)構(gòu)本章內(nèi)容結(jié)構(gòu)l本章引言本章引言l學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)l教學(xué)內(nèi)容教學(xué)內(nèi)容l本章小結(jié)本章小結(jié)l思考和練習(xí)思考和練習(xí)l課堂討論課堂討論第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用本章引言本章引言lStarUML(簡(jiǎn)稱(簡(jiǎn)稱SU)是一款開(kāi)放源碼的)是一款開(kāi)放源碼的UML 開(kāi)發(fā)工具,開(kāi)發(fā)工具,本身具有發(fā)展快、靈活、可擴(kuò)展性強(qiáng)等特點(diǎn),是當(dāng)前應(yīng)用本身具有發(fā)展快、靈活、可擴(kuò)展性強(qiáng)等特點(diǎn),是當(dāng)前應(yīng)用范圍較廣的軟件建模工具之一。范圍較廣的軟件建模工具之一。StarUM
2、L 可以讀取可以讀取Rational Rose生成的文件,讓原先生成的文件,讓原先Rose 的用戶可以轉(zhuǎn)的用戶可以轉(zhuǎn)而使用免費(fèi)的而使用免費(fèi)的StarUML。l本章主要介紹本章主要介紹StarUML 環(huán)境對(duì)面向?qū)ο蠓治雠c設(shè)計(jì)過(guò)程環(huán)境對(duì)面向?qū)ο蠓治雠c設(shè)計(jì)過(guò)程的支持和的支持和UML 圖形描述。本章最后通過(guò)一個(gè)教學(xué)管理系圖形描述。本章最后通過(guò)一個(gè)教學(xué)管理系統(tǒng)的系統(tǒng)分析設(shè)計(jì)過(guò)程,描述統(tǒng)的系統(tǒng)分析設(shè)計(jì)過(guò)程,描述StarUML 工具在系統(tǒng)分析工具在系統(tǒng)分析與設(shè)計(jì)中的使用。與設(shè)計(jì)中的使用。2021年12月12日第2頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第3頁(yè)學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)l熟悉
3、并掌握熟悉并掌握StarUML工具的用法工具的用法l理解和掌握理解和掌握StarUML工具用于分析、設(shè)計(jì)的用法工具用于分析、設(shè)計(jì)的用法l掌握面向?qū)ο蠓治?、設(shè)計(jì)的方法掌握面向?qū)ο蠓治?、設(shè)計(jì)的方法第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第4頁(yè)教學(xué)內(nèi)容教學(xué)內(nèi)容12.1 軟件開(kāi)發(fā)工具軟件開(kāi)發(fā)工具StarUML 概述概述12.2 StarUML 環(huán)境下的環(huán)境下的UML 圖形建模圖形建模12.3 一個(gè)簡(jiǎn)易教學(xué)管理系統(tǒng)的分析和設(shè)計(jì)一個(gè)簡(jiǎn)易教學(xué)管理系統(tǒng)的分析和設(shè)計(jì)12.4 本章小結(jié)和習(xí)題本章小結(jié)和習(xí)題 第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第5頁(yè)12.1
4、軟件開(kāi)發(fā)工具軟件開(kāi)發(fā)工具StarUML 概述概述當(dāng)前,業(yè)界使用最廣泛的當(dāng)前,業(yè)界使用最廣泛的UML建模工具包括建模工具包括Rational Rose、ArgoUML、StarUML等。等。StarUML不僅包含不僅包含Rose所具有的所具有的功能全面、滿足所有建模環(huán)境需求能力和靈活性等特點(diǎn),最功能全面、滿足所有建模環(huán)境需求能力和靈活性等特點(diǎn),最關(guān)鍵的是,關(guān)鍵的是,StarUML開(kāi)源、可擴(kuò)展、靈活小巧(基本構(gòu)成只開(kāi)源、可擴(kuò)展、靈活小巧(基本構(gòu)成只有約有約20M)。與)。與Rose類似,類似,StarUML可以和任何一種面向?qū)梢院腿魏我环N面向?qū)ο蟮膽?yīng)用程序結(jié)構(gòu)組合使用,得到各類主要的面向?qū)ο缶幊?/p>
5、象的應(yīng)用程序結(jié)構(gòu)組合使用,得到各類主要的面向?qū)ο缶幊陶Z(yǔ)言和快速應(yīng)用開(kāi)發(fā)工具的直接支持。語(yǔ)言和快速應(yīng)用開(kāi)發(fā)工具的直接支持。StarUML工具基于工具基于UML1.4版本,提供版本,提供11種不同類型的圖,支持種不同類型的圖,支持UML2.0的表示的表示法,通過(guò)支持法,通過(guò)支持UML輪廓(輪廓(profile)的概念積極地支持模型驅(qū))的概念積極地支持模型驅(qū)動(dòng)結(jié)構(gòu)(動(dòng)結(jié)構(gòu)(Model Driven Architecture,UMD)方法。)方法。12.1.1 StarUML 的安裝及使用的安裝及使用12.1.2 StarUML 的主要功能的主要功能第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021
6、年12月12日第6頁(yè)12.1.1 StarUML 的安裝及使用的安裝及使用StarUML是完全開(kāi)放源碼的軟件,不僅免費(fèi)自由下載,連代碼都是完全開(kāi)放源碼的軟件,不僅免費(fèi)自由下載,連代碼都免費(fèi)開(kāi)放,官方網(wǎng)站免費(fèi)開(kāi)放,官方網(wǎng)站為:為:http:/ : IntelPentium233MHz 或更高。或更高。 Windows2000,Windows XP,或更高版本。,或更高版本。 Microsoft Internet Explorer5.0或更高版本?;蚋甙姹?。 128 MB RAM(推薦(推薦256MB)。)。 110 MB硬盤空間(推薦硬盤空間(推薦150MB空間)??臻g)。 SVGA或更高分辨
7、率(推薦或更高分辨率(推薦1024768)。)。 鼠標(biāo)或其他指引設(shè)備。鼠標(biāo)或其他指引設(shè)備。第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.1.1 StarUML 的安裝及使用的安裝及使用2StarUML 的安裝步驟(此處省略安裝過(guò)程界面)的安裝步驟(此處省略安裝過(guò)程界面) 單擊單擊StarUML安裝包,彈出歡迎界面(此處省略歡迎界安裝包,彈出歡迎界面(此處省略歡迎界面)。面)。 單擊單擊Next按鈕,點(diǎn)擊按鈕,點(diǎn)擊“I accept the agreement”同意同意安裝協(xié)議,再點(diǎn)擊安裝協(xié)議,再點(diǎn)擊Next按鈕。按鈕。 設(shè)置設(shè)置StarUML安裝的路徑后,單擊安裝的路徑后,單擊Next按鈕
8、,則開(kāi)始安按鈕,則開(kāi)始安裝過(guò)程。裝過(guò)程。 單擊單擊Finish,完成安裝并退出。,完成安裝并退出。2021年12月12日第7頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.1.1 StarUML 的安裝及使用的安裝及使用3StarUML 的使用的使用 StarUML工具是個(gè)菜單驅(qū)動(dòng)的應(yīng)用程序,具有非常友好的圖工具是個(gè)菜單驅(qū)動(dòng)的應(yīng)用程序,具有非常友好的圖形用戶界面。與常規(guī)應(yīng)用程序的啟動(dòng)方法類似,形用戶界面。與常規(guī)應(yīng)用程序的啟動(dòng)方法類似,StarUML可以從可以從“開(kāi)始開(kāi)始”“所有程序所有程序”中選擇中選擇StarUML文件夾下文件夾下的的StarUML啟動(dòng),或者在安裝過(guò)程中建立快捷方式,直接
9、啟動(dòng),或者在安裝過(guò)程中建立快捷方式,直接點(diǎn)擊快捷方式啟動(dòng)點(diǎn)擊快捷方式啟動(dòng)StarUML。2021年12月12日第8頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第9頁(yè)12.1.2 StarUML 的主要功能的主要功能1StarUML 的主菜單窗口及使用的主菜單窗口及使用 StarUML應(yīng)用程序界面窗口包括工具欄區(qū)域、應(yīng)用程序界面窗口包括工具欄區(qū)域、UML圖例區(qū)域、圖例區(qū)域、工作區(qū)域、模型視圖區(qū)域、屬性編輯區(qū)域及狀態(tài)信息欄工作區(qū)域、模型視圖區(qū)域、屬性編輯區(qū)域及狀態(tài)信息欄6大區(qū)域,參見(jiàn)圖大區(qū)域,參見(jiàn)圖12.2。第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.1.2 Star
10、UML 的主要功能的主要功能2021年12月12日第10頁(yè)圖圖12.2 StarUML應(yīng)用程序窗口應(yīng)用程序窗口第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.1.2 StarUML 的主要功能的主要功能工具欄區(qū)域包括菜單欄及標(biāo)準(zhǔn)工具欄兩個(gè)部分。菜單欄用于顯工具欄區(qū)域包括菜單欄及標(biāo)準(zhǔn)工具欄兩個(gè)部分。菜單欄用于顯示當(dāng)前可供使用的菜單項(xiàng),包括文件(示當(dāng)前可供使用的菜單項(xiàng),包括文件(File)、編輯()、編輯(Edit)、格式(、格式(Format)、模型()、模型(Model)、視圖()、視圖(View)、工具)、工具(Tools)、幫助()、幫助(Help)7個(gè)項(xiàng)目,其內(nèi)容隨當(dāng)前正在操作的個(gè)項(xiàng)目
11、,其內(nèi)容隨當(dāng)前正在操作的模型圖而有所不同;標(biāo)準(zhǔn)工具欄位于菜單欄下,沿著應(yīng)用程序模型圖而有所不同;標(biāo)準(zhǔn)工具欄位于菜單欄下,沿著應(yīng)用程序窗口的頂部展開(kāi),包含一系列可以簡(jiǎn)化常用操作的圖標(biāo),與打窗口的頂部展開(kāi),包含一系列可以簡(jiǎn)化常用操作的圖標(biāo),與打開(kāi)的模型圖窗口無(wú)關(guān)。另外,用戶可以通過(guò)工具欄幫助使用常開(kāi)的模型圖窗口無(wú)關(guān)。另外,用戶可以通過(guò)工具欄幫助使用常用特性。用特性。StarUML對(duì)不同的圖顯示不同的工具欄,除了工具欄對(duì)不同的圖顯示不同的工具欄,除了工具欄和菜單外,和菜單外,StarUML還有相關(guān)的彈出菜單,可以用右鍵單擊來(lái)還有相關(guān)的彈出菜單,可以用右鍵單擊來(lái)進(jìn)行項(xiàng)目訪問(wèn)。例如,鼠標(biāo)右鍵單擊類圖中的
12、類,彈出一個(gè)菜進(jìn)行項(xiàng)目訪問(wèn)。例如,鼠標(biāo)右鍵單擊類圖中的類,彈出一個(gè)菜單,其中的選項(xiàng)包括增加類的屬性或操作、瀏覽和編輯類規(guī)范單,其中的選項(xiàng)包括增加類的屬性或操作、瀏覽和編輯類規(guī)范、產(chǎn)生類的代碼和瀏覽產(chǎn)生的代碼等。、產(chǎn)生類的代碼和瀏覽產(chǎn)生的代碼等。2021年12月12日第11頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.1.2 StarUML 的主要功能的主要功能UML圖例區(qū)域中包括了適用于當(dāng)前模型圖的各種組成成分,模圖例區(qū)域中包括了適用于當(dāng)前模型圖的各種組成成分,模型圖就是通過(guò)選擇圖例區(qū)域中的模型在工作區(qū)域中設(shè)計(jì)而成的型圖就是通過(guò)選擇圖例區(qū)域中的模型在工作區(qū)域中設(shè)計(jì)而成的。每種模型圖都有各
13、自對(duì)應(yīng)的工具箱。每種模型圖都有各自對(duì)應(yīng)的工具箱。工作區(qū)域是建立和修改當(dāng)前模型圖的主操作區(qū),區(qū)域左上角的工作區(qū)域是建立和修改當(dāng)前模型圖的主操作區(qū),區(qū)域左上角的圖標(biāo)表示當(dāng)前正在被操作的圖的名稱,圖中繪制的每個(gè)模型元圖標(biāo)表示當(dāng)前正在被操作的圖的名稱,圖中繪制的每個(gè)模型元素都會(huì)顯示在工作區(qū)域中,用戶可以通過(guò)對(duì)模型元素的控制來(lái)素都會(huì)顯示在工作區(qū)域中,用戶可以通過(guò)對(duì)模型元素的控制來(lái)達(dá)到成功繪制圖形的目的。其中工作區(qū)域右下角的達(dá)到成功繪制圖形的目的。其中工作區(qū)域右下角的 圖標(biāo)表示綜圖標(biāo)表示綜覽窗口標(biāo)識(shí),用于顯示模型圖當(dāng)前區(qū)域在整個(gè)模型中的位置。覽窗口標(biāo)識(shí),用于顯示模型圖當(dāng)前區(qū)域在整個(gè)模型中的位置。模型視圖區(qū)
14、域是一個(gè)層次結(jié)構(gòu)的導(dǎo)航工具,通過(guò)它可以快速查模型視圖區(qū)域是一個(gè)層次結(jié)構(gòu)的導(dǎo)航工具,通過(guò)它可以快速查看順序圖、類圖、用例圖、狀態(tài)圖、活動(dòng)圖和部署圖的名稱及看順序圖、類圖、用例圖、狀態(tài)圖、活動(dòng)圖和部署圖的名稱及其中的模型元素和其他許多模型元素。其中的模型元素和其他許多模型元素。2021年12月12日第12頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.1.2 StarUML 的主要功能的主要功能屬性編輯區(qū)域是對(duì)圖中各個(gè)組成成分、成分之間的關(guān)系,甚屬性編輯區(qū)域是對(duì)圖中各個(gè)組成成分、成分之間的關(guān)系,甚至圖本身的屬性進(jìn)行編輯的工具,其中包括許多預(yù)定義及至圖本身的屬性進(jìn)行編輯的工具,其中包括許多預(yù)定義
15、及自定義的屬性設(shè)置,其中一些設(shè)置會(huì)直觀地在工作區(qū)域中自定義的屬性設(shè)置,其中一些設(shè)置會(huì)直觀地在工作區(qū)域中的圖上表示出來(lái)。另外,描述文檔編輯區(qū)域在默認(rèn)情況下的圖上表示出來(lái)。另外,描述文檔編輯區(qū)域在默認(rèn)情況下是和屬性編輯區(qū)域放在一起的,用戶可以通過(guò)單擊下方是和屬性編輯區(qū)域放在一起的,用戶可以通過(guò)單擊下方Document選項(xiàng)進(jìn)行切換。選項(xiàng)進(jìn)行切換。狀態(tài)信息欄用于顯示執(zhí)行某些命令和操作之后的進(jìn)展情況、狀態(tài)信息欄用于顯示執(zhí)行某些命令和操作之后的進(jìn)展情況、結(jié)果和錯(cuò)誤提示。結(jié)果和錯(cuò)誤提示。 2021年12月12日第13頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第14頁(yè)12.2 Sta
16、rUML 環(huán)境下的環(huán)境下的UML 圖形建模圖形建模StarUML模型是問(wèn)題陳述域與軟件系統(tǒng)表示的聯(lián)系紐帶,軟模型是問(wèn)題陳述域與軟件系統(tǒng)表示的聯(lián)系紐帶,軟件系統(tǒng)的所有工作可以從件系統(tǒng)的所有工作可以從StarUML模型的建立開(kāi)始。在默模型的建立開(kāi)始。在默認(rèn)情況下,認(rèn)情況下,StarUML模型都以擴(kuò)展名為模型都以擴(kuò)展名為.uml 的文件進(jìn)行的文件進(jìn)行保存,一個(gè)項(xiàng)目包含并管理模型(保存,一個(gè)項(xiàng)目包含并管理模型(Model)、子系統(tǒng)()、子系統(tǒng)(Subsystem)和包()和包(Package)等子元素。模型是由圖)等子元素。模型是由圖形和相關(guān)的說(shuō)明組成的,形和相關(guān)的說(shuō)明組成的,StarUML共提供了類
17、圖、用例圖共提供了類圖、用例圖、順序圖、順序圖(角色)、協(xié)作圖(、順序圖、順序圖(角色)、協(xié)作圖(UML2.0中修改為中修改為通信圖)、協(xié)作圖(角色)、狀態(tài)圖、活動(dòng)圖、構(gòu)件圖、通信圖)、協(xié)作圖(角色)、狀態(tài)圖、活動(dòng)圖、構(gòu)件圖、部署圖、組合結(jié)構(gòu)圖部署圖、組合結(jié)構(gòu)圖11種模型圖的繪制方法。種模型圖的繪制方法。第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2 StarUML 環(huán)境下的環(huán)境下的UML 圖形建模圖形建模12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖12.2.3 StarUML 的構(gòu)件圖與部署圖的
18、構(gòu)件圖與部署圖12.2.4 StarUML 的正向工程和逆向工程的正向工程和逆向工程2021年12月12日第15頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第16頁(yè)12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖用例圖主要用于對(duì)系統(tǒng)、子系統(tǒng)或類的行為進(jìn)行建模,與具體用例圖主要用于對(duì)系統(tǒng)、子系統(tǒng)或類的行為進(jìn)行建模,與具體的實(shí)現(xiàn)細(xì)節(jié)無(wú)關(guān),它只說(shuō)明系統(tǒng)實(shí)現(xiàn)什么功能,而不必說(shuō)明如的實(shí)現(xiàn)細(xì)節(jié)無(wú)關(guān),它只說(shuō)明系統(tǒng)實(shí)現(xiàn)什么功能,而不必說(shuō)明如何實(shí)現(xiàn),表示從系統(tǒng)外部用戶的觀點(diǎn)看系統(tǒng)應(yīng)具有的功能。類何實(shí)現(xiàn),表示從系統(tǒng)外部用戶的觀點(diǎn)看系統(tǒng)應(yīng)具有的功能。類圖用于對(duì)系統(tǒng)的靜態(tài)
19、結(jié)構(gòu)建模,是邏輯視圖的重要組成部分,圖用于對(duì)系統(tǒng)的靜態(tài)結(jié)構(gòu)建模,是邏輯視圖的重要組成部分,涉及具體的實(shí)現(xiàn)細(xì)節(jié),不僅定義系統(tǒng)中的類,表示類的內(nèi)部結(jié)涉及具體的實(shí)現(xiàn)細(xì)節(jié),不僅定義系統(tǒng)中的類,表示類的內(nèi)部結(jié)構(gòu)(屬性和操作),還表示系統(tǒng)中類之間的關(guān)系,包括關(guān)聯(lián)、構(gòu)(屬性和操作),還表示系統(tǒng)中類之間的關(guān)系,包括關(guān)聯(lián)、依賴及聚集等,類之間的這種復(fù)雜關(guān)聯(lián)關(guān)系在依賴及聚集等,類之間的這種復(fù)雜關(guān)聯(lián)關(guān)系在UML2.0中也可中也可定義為組合結(jié)構(gòu)圖。定義為組合結(jié)構(gòu)圖。第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖1用例圖(用例圖(Use Case Di
20、agram) 在軟件開(kāi)發(fā)的生存周期中,用例圖主要用在系統(tǒng)需求分析階在軟件開(kāi)發(fā)的生存周期中,用例圖主要用在系統(tǒng)需求分析階段和系統(tǒng)設(shè)計(jì)階段。在系統(tǒng)需求分析階段,用例圖用來(lái)獲段和系統(tǒng)設(shè)計(jì)階段。在系統(tǒng)需求分析階段,用例圖用來(lái)獲取系統(tǒng)的需求,幫助理解系統(tǒng)應(yīng)當(dāng)如何工作;在系統(tǒng)設(shè)計(jì)取系統(tǒng)的需求,幫助理解系統(tǒng)應(yīng)當(dāng)如何工作;在系統(tǒng)設(shè)計(jì)階段,用例圖可以用來(lái)規(guī)定系統(tǒng)要實(shí)現(xiàn)的行為。一般地,階段,用例圖可以用來(lái)規(guī)定系統(tǒng)要實(shí)現(xiàn)的行為。一般地,每個(gè)用例圖都應(yīng)包含三個(gè)方面的內(nèi)容:一個(gè)(或一組)用每個(gè)用例圖都應(yīng)包含三個(gè)方面的內(nèi)容:一個(gè)(或一組)用例、參與者、參與者與系統(tǒng)中的用例之間的交互及用例之例、參與者、參與者與系統(tǒng)中的用例
21、之間的交互及用例之間的關(guān)系。在使用間的關(guān)系。在使用StarUML繪制用例圖之前,一般地應(yīng)該繪制用例圖之前,一般地應(yīng)該已經(jīng)有過(guò)對(duì)系統(tǒng)的建模過(guò)程。用例圖是系統(tǒng)的外部行為視已經(jīng)有過(guò)對(duì)系統(tǒng)的建模過(guò)程。用例圖是系統(tǒng)的外部行為視圖,在確定了參與者和相關(guān)用例的基礎(chǔ)上,通過(guò)繪制用例圖,在確定了參與者和相關(guān)用例的基礎(chǔ)上,通過(guò)繪制用例圖可以更清晰地理解系統(tǒng)的行為。圖可以更清晰地理解系統(tǒng)的行為。2021年12月12日第17頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖一般地,用例圖的建立步驟如下。一般地,用例圖的建立步驟如下。 找出系統(tǒng)外部的參與
22、者和外部系統(tǒng),確定系統(tǒng)的邊界和范圍。找出系統(tǒng)外部的參與者和外部系統(tǒng),確定系統(tǒng)的邊界和范圍。 確定每一個(gè)參與者所希望的系統(tǒng)行為。確定每一個(gè)參與者所希望的系統(tǒng)行為。 把這些系統(tǒng)行為命名為用例。把這些系統(tǒng)行為命名為用例。 把一些公共的系統(tǒng)行為分解為一批新的用例,供其他的用例引把一些公共的系統(tǒng)行為分解為一批新的用例,供其他的用例引用,把一些變更的行為分解為擴(kuò)展用例。用,把一些變更的行為分解為擴(kuò)展用例。 編制每一個(gè)用例的腳本。編制每一個(gè)用例的腳本。 繪制用例圖。繪制用例圖。 區(qū)分主業(yè)務(wù)流和例外情況的事件流??梢园驯磉_(dá)例外情況的事區(qū)分主業(yè)務(wù)流和例外情況的事件流??梢园驯磉_(dá)例外情況的事件流的用例圖畫(huà)成一個(gè)單
23、獨(dú)的子用例圖。件流的用例圖畫(huà)成一個(gè)單獨(dú)的子用例圖。 精化用例圖,簡(jiǎn)化用例中的對(duì)話序列。用例圖可以有不同的層精化用例圖,簡(jiǎn)化用例中的對(duì)話序列。用例圖可以有不同的層次,高層次系統(tǒng)的用例可以分解為若干個(gè)下屬子系統(tǒng)中的子用例次,高層次系統(tǒng)的用例可以分解為若干個(gè)下屬子系統(tǒng)中的子用例2021年12月12日第18頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖下面給出在下面給出在StarUML中創(chuàng)建用例圖的各組成元素的方法描述。中創(chuàng)建用例圖的各組成元素的方法描述。(1)用例圖中的各個(gè)組成成分在)用例圖中的各個(gè)組成成分在StarUML工具中的
24、畫(huà)法描述工具中的畫(huà)法描述StarUML在建立新項(xiàng)目(在建立新項(xiàng)目(New Project)后會(huì)默認(rèn)生成一個(gè)主)后會(huì)默認(rèn)生成一個(gè)主用例圖用例圖Main。而在。而在StarUML中創(chuàng)建新用例圖的方法如下:中創(chuàng)建新用例圖的方法如下: 在模型視圖區(qū)域的在模型視圖區(qū)域的Use Case Model標(biāo)題上單擊鼠標(biāo)右鍵,顯示出彈出菜單(其他標(biāo)題上單擊鼠標(biāo)右鍵,顯示出彈出菜單(其他Model亦允許添亦允許添加);加); 選擇選擇Add DiagramUse Case Diagram,一個(gè)新的用例,一個(gè)新的用例圖出現(xiàn)在圖出現(xiàn)在Use Case Model之下;之下; 直接將新用例圖更名為設(shè)計(jì)的名字。直接將新用例
25、圖更名為設(shè)計(jì)的名字。2021年12月12日第19頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖在在StarUML中創(chuàng)建參與者中創(chuàng)建參與者actors的方法如下:的方法如下: 在圖例模型區(qū)域中選中在圖例模型區(qū)域中選中Actor模型;模型; 在工作區(qū)域中單擊鼠標(biāo)左鍵,則生成一個(gè)新的在工作區(qū)域中單擊鼠標(biāo)左鍵,則生成一個(gè)新的actor; 可對(duì)可對(duì)actor的的Name、Visibility、Attribute和和Operation進(jìn)行進(jìn)行編輯。編輯。在在StarUML中創(chuàng)建用例中創(chuàng)建用例UseCase的方法如下:的方法如下: 在圖例
26、模型區(qū)域中選中在圖例模型區(qū)域中選中UseCase模型;模型; 在工作區(qū)域中單擊鼠標(biāo)左鍵,則生成一個(gè)新的在工作區(qū)域中單擊鼠標(biāo)左鍵,則生成一個(gè)新的UseCase; 可對(duì)可對(duì)UseCase的的Name、Visibility、Attribute和和Operation進(jìn)行編輯。進(jìn)行編輯。 2021年12月12日第20頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖(2)StarUML工具中確定用例圖中各組成成分之間關(guān)系的畫(huà)法描述:工具中確定用例圖中各組成成分之間關(guān)系的畫(huà)法描述: 在用例圖的工具欄上單擊相應(yīng)的關(guān)系圖標(biāo)。在用例圖的工具欄上單
27、擊相應(yīng)的關(guān)系圖標(biāo)。StarUML 中提供了中提供了Association、DirectedAssociation、Generalization、Dependency、Include、Extend 6類用例圖中涉及的關(guān)系。類用例圖中涉及的關(guān)系。 在相應(yīng)的起始組成單位上單擊并拖動(dòng)到結(jié)束組成單位上。在相應(yīng)的起始組成單位上單擊并拖動(dòng)到結(jié)束組成單位上。 選中生成的關(guān)系,在屬性編輯區(qū)域編輯該關(guān)系的選中生成的關(guān)系,在屬性編輯區(qū)域編輯該關(guān)系的Name、Stereotype、Visibility等相關(guān)屬性。等相關(guān)屬性。(3)StarUML工具中為用例圖、組成成分及關(guān)系添加摘要描述的方法工具中為用例圖、組成成分及
28、關(guān)系添加摘要描述的方法 在模型視圖區(qū)域或工作區(qū)域選中相應(yīng)用例圖、成分及關(guān)系。在模型視圖區(qū)域或工作區(qū)域選中相應(yīng)用例圖、成分及關(guān)系。 在屬性編輯區(qū)域底端單擊在屬性編輯區(qū)域底端單擊Documentation,屬性編輯區(qū)替換為摘要描述編輯,屬性編輯區(qū)替換為摘要描述編輯區(qū)。區(qū)。 在編輯區(qū)中鍵入相關(guān)描述。在編輯區(qū)中鍵入相關(guān)描述。在在StarUML中為圖、成分及關(guān)系添加摘要描述的方法與以上介紹的方法完全相中為圖、成分及關(guān)系添加摘要描述的方法與以上介紹的方法完全相同,下文中不再贅述。同,下文中不再贅述。2021年12月12日第21頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用
29、例圖、類圖和包圖的用例圖、類圖和包圖圖圖12.3展示了在展示了在StarUML中包含一個(gè)中包含一個(gè)actor、一個(gè)、一個(gè)usecase的用例圖的描述示例。的用例圖的描述示例。2021年12月12日第22頁(yè)圖圖12.3 用例圖示例用例圖示例第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖2類圖類圖類圖在系統(tǒng)的整個(gè)生存周期中都是有效的,它是項(xiàng)目組的良類圖在系統(tǒng)的整個(gè)生存周期中都是有效的,它是項(xiàng)目組的良好設(shè)計(jì)工具,有助于開(kāi)發(fā)人員在用具體的編程語(yǔ)言實(shí)現(xiàn)系好設(shè)計(jì)工具,有助于開(kāi)發(fā)人員在用具體的編程語(yǔ)言實(shí)現(xiàn)系統(tǒng)之前顯示和計(jì)劃系統(tǒng)結(jié)構(gòu),保證系統(tǒng)
30、設(shè)計(jì)和開(kāi)發(fā)的一致統(tǒng)之前顯示和計(jì)劃系統(tǒng)結(jié)構(gòu),保證系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)的一致性。在系統(tǒng)分析階段,類圖主要用于顯示角色和提供系統(tǒng)性。在系統(tǒng)分析階段,類圖主要用于顯示角色和提供系統(tǒng)行為的實(shí)體的職責(zé);在系統(tǒng)設(shè)計(jì)階段,類圖主要用于捕捉行為的實(shí)體的職責(zé);在系統(tǒng)設(shè)計(jì)階段,類圖主要用于捕捉組成系統(tǒng)體系結(jié)構(gòu)的類結(jié)構(gòu);在系統(tǒng)編碼階段,類圖提供組成系統(tǒng)體系結(jié)構(gòu)的類結(jié)構(gòu);在系統(tǒng)編碼階段,類圖提供系統(tǒng)功能實(shí)現(xiàn)的依據(jù)。類圖是用類和它們之間的關(guān)系描述系統(tǒng)功能實(shí)現(xiàn)的依據(jù)。類圖是用類和它們之間的關(guān)系描述系統(tǒng)的一種圖示,是從靜態(tài)角度表示系統(tǒng)的,屬于一種靜系統(tǒng)的一種圖示,是從靜態(tài)角度表示系統(tǒng)的,屬于一種靜態(tài)模型。類圖是構(gòu)建其他圖的基礎(chǔ),沒(méi)
31、有類圖,就沒(méi)有狀態(tài)模型。類圖是構(gòu)建其他圖的基礎(chǔ),沒(méi)有類圖,就沒(méi)有狀態(tài)圖、通信圖等其他圖,也就無(wú)法表示系統(tǒng)的其他各個(gè)方態(tài)圖、通信圖等其他圖,也就無(wú)法表示系統(tǒng)的其他各個(gè)方面。面。2021年12月12日第23頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖一般地,對(duì)象類圖的建立步驟如下:一般地,對(duì)象類圖的建立步驟如下: 研究分析問(wèn)題領(lǐng)域,確定系統(tǒng)的需求。研究分析問(wèn)題領(lǐng)域,確定系統(tǒng)的需求。 從需求描述中發(fā)現(xiàn)對(duì)象和對(duì)象類,明確它們的含義和責(zé)任,確定從需求描述中發(fā)現(xiàn)對(duì)象和對(duì)象類,明確它們的含義和責(zé)任,確定屬性和操作。屬性和操作。 從需求描
32、述中發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系。著重分析找出對(duì)象類之間從需求描述中發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系。著重分析找出對(duì)象類之間的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚集、組合、依賴等聯(lián)系表達(dá)出來(lái)類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚集、組合、依賴等聯(lián)系表達(dá)出來(lái)。雖然對(duì)象類圖表達(dá)的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應(yīng)當(dāng)把對(duì)系統(tǒng)的。雖然對(duì)象類圖表達(dá)的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應(yīng)當(dāng)把對(duì)系統(tǒng)的靜態(tài)分析與動(dòng)態(tài)分析結(jié)合起來(lái),更能準(zhǔn)確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征靜態(tài)分析與動(dòng)態(tài)分析結(jié)合起來(lái),更能準(zhǔn)確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征。 設(shè)計(jì)類與聯(lián)系
33、。調(diào)整和精化已得到的對(duì)象類和類之間的聯(lián)系,解設(shè)計(jì)類與聯(lián)系。調(diào)整和精化已得到的對(duì)象類和類之間的聯(lián)系,解決諸如命名沖突、功能重復(fù)等問(wèn)題。決諸如命名沖突、功能重復(fù)等問(wèn)題。 繪制對(duì)象類圖并編制相應(yīng)的說(shuō)明。繪制對(duì)象類圖并編制相應(yīng)的說(shuō)明。2021年12月12日第24頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖 研究分析問(wèn)題領(lǐng)域,確定系統(tǒng)的需求。研究分析問(wèn)題領(lǐng)域,確定系統(tǒng)的需求。 從需求描述中發(fā)現(xiàn)對(duì)象和對(duì)象類,明確它們的含義和責(zé)任,確定從需求描述中發(fā)現(xiàn)對(duì)象和對(duì)象類,明確它們的含義和責(zé)任,確定屬性和操作。屬性和操作。 從需求描述中發(fā)現(xiàn)類之
34、間的靜態(tài)聯(lián)系。著重分析找出對(duì)象類之間從需求描述中發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系。著重分析找出對(duì)象類之間的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚集、組合、依賴等聯(lián)系表達(dá)出來(lái)類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚集、組合、依賴等聯(lián)系表達(dá)出來(lái)。雖然對(duì)象類圖表達(dá)的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應(yīng)當(dāng)把對(duì)系統(tǒng)的。雖然對(duì)象類圖表達(dá)的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應(yīng)當(dāng)把對(duì)系統(tǒng)的靜態(tài)分析與動(dòng)態(tài)分析結(jié)合起來(lái),更能準(zhǔn)確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征靜態(tài)分析與動(dòng)態(tài)分析結(jié)合起來(lái),更能準(zhǔn)確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征。 設(shè)計(jì)類與聯(lián)系。調(diào)整和精化
35、已得到的對(duì)象類和類之間的聯(lián)系,解設(shè)計(jì)類與聯(lián)系。調(diào)整和精化已得到的對(duì)象類和類之間的聯(lián)系,解決諸如命名沖突、功能重復(fù)等問(wèn)題。決諸如命名沖突、功能重復(fù)等問(wèn)題。 繪制對(duì)象類圖并編制相應(yīng)的說(shuō)明。繪制對(duì)象類圖并編制相應(yīng)的說(shuō)明。2021年12月12日第25頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖(3)在)在StarUML中創(chuàng)建類間關(guān)系的方法如下:中創(chuàng)建類間關(guān)系的方法如下: 在模型區(qū)域點(diǎn)擊相應(yīng)的關(guān)系圖標(biāo),在模型區(qū)域點(diǎn)擊相應(yīng)的關(guān)系圖標(biāo),StarUML中提供了中提供了Association、DirectedAssociation、Aggr
36、egation、Composition、Generalization、Dependency、Realization、Link 8種類圖中涉及的關(guān)系;種類圖中涉及的關(guān)系; 在相應(yīng)的起始組成單位上單擊并拖動(dòng)到結(jié)束組成單位上;在相應(yīng)的起始組成單位上單擊并拖動(dòng)到結(jié)束組成單位上; 選中生成的關(guān)系,在屬性編輯區(qū)域編輯該關(guān)系的選中生成的關(guān)系,在屬性編輯區(qū)域編輯該關(guān)系的Name、Stereotype、Visibility等相關(guān)屬性。等相關(guān)屬性。2021年12月12日第26頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖圖圖12.4 展示了具有
37、兩個(gè)展示了具有兩個(gè)Class和一個(gè)接口的類圖圖例。其中和一個(gè)接口的類圖圖例。其中Class1與與Class2的關(guān)系為的關(guān)系為DirectedAssociation,Class1與與Interface是是Realization關(guān)系,關(guān)系,Class2與與Interface是是Dependency關(guān)系。關(guān)系。2021年12月12日第27頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖3包圖包圖 包是一種組合機(jī)制,把各種各樣的模型元素通過(guò)內(nèi)在的語(yǔ)義連包是一種組合機(jī)制,把各種各樣的模型元素通過(guò)內(nèi)在的語(yǔ)義連在一起,成為一個(gè)整體就叫做包,
38、構(gòu)成包的模型元素稱為包的在一起,成為一個(gè)整體就叫做包,構(gòu)成包的模型元素稱為包的內(nèi)容。包通常用于對(duì)模型的組織管理,因此有時(shí)又將包稱為子內(nèi)容。包通常用于對(duì)模型的組織管理,因此有時(shí)又將包稱為子系統(tǒng)(系統(tǒng)(Subsystem)。包擁有自己的模型元素,包與包之間不)。包擁有自己的模型元素,包與包之間不能共用相同的模型元素。包的實(shí)例沒(méi)有任何語(yǔ)義,只有在模型能共用相同的模型元素。包的實(shí)例沒(méi)有任何語(yǔ)義,只有在模型執(zhí)行期間,包才有意義。執(zhí)行期間,包才有意義。包能夠引用來(lái)自其他包的模型元素。當(dāng)一個(gè)包從另一個(gè)包中引包能夠引用來(lái)自其他包的模型元素。當(dāng)一個(gè)包從另一個(gè)包中引用模型元素時(shí),這兩個(gè)包之間就建立了關(guān)系。包與包之
39、間允許用模型元素時(shí),這兩個(gè)包之間就建立了關(guān)系。包與包之間允許建立的關(guān)系有依賴、精化和通用化,但需注意,只能在包中的建立的關(guān)系有依賴、精化和通用化,但需注意,只能在包中的類型之間建立關(guān)系,而不能在實(shí)例之間建立關(guān)系,因?yàn)榘膶?shí)類型之間建立關(guān)系,而不能在實(shí)例之間建立關(guān)系,因?yàn)榘膶?shí)例沒(méi)有語(yǔ)義。例沒(méi)有語(yǔ)義。2021年12月12日第28頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖包是用來(lái)說(shuō)明元素組或者子系統(tǒng)的機(jī)制。一個(gè)包可以是任何種包是用來(lái)說(shuō)明元素組或者子系統(tǒng)的機(jī)制。一個(gè)包可以是任何種類的一組模型元素,如一組類、一組用例、一組協(xié)作圖
40、(通類的一組模型元素,如一組類、一組用例、一組協(xié)作圖(通信圖)或者其他的包(嵌套包)。整個(gè)系統(tǒng)都可以被認(rèn)為是信圖)或者其他的包(嵌套包)。整個(gè)系統(tǒng)都可以被認(rèn)為是包含在一個(gè)最頂層的包中包含在一個(gè)最頂層的包中System(系統(tǒng))包。一個(gè)包定(系統(tǒng))包。一個(gè)包定義了一個(gè)嵌套的名字空間,因此同名元素在不同的包內(nèi)可能義了一個(gè)嵌套的名字空間,因此同名元素在不同的包內(nèi)可能需要被復(fù)制。需要被復(fù)制。一般地,需要按照下列原則將元素組織成包:將提供通用服務(wù)一般地,需要按照下列原則將元素組織成包:將提供通用服務(wù)(或者一組相關(guān)服務(wù)集)的元素組織成一個(gè)包,這些元素之(或者一組相關(guān)服務(wù)集)的元素組織成一個(gè)包,這些元素之間具
41、有高耦合度和密切的協(xié)作關(guān)系。間具有高耦合度和密切的協(xié)作關(guān)系。包在某種程度上應(yīng)該被視為具有高聚合度包在某種程度上應(yīng)該被視為具有高聚合度它所承擔(dān)的職責(zé)它所承擔(dān)的職責(zé)相互之間密切關(guān)聯(lián)。相比之下,不同包中的元素之間的耦合相互之間密切關(guān)聯(lián)。相比之下,不同包中的元素之間的耦合和合作關(guān)系應(yīng)該比較松散。和合作關(guān)系應(yīng)該比較松散。2021年12月12日第29頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖包圖的建立步驟如下。包圖的建立步驟如下。(1)分析系統(tǒng)模型元素(通常是對(duì)象類),把概念上或語(yǔ))分析系統(tǒng)模型元素(通常是對(duì)象類),把概念上或語(yǔ)義上
42、相近的模型元素納入一個(gè)包。義上相近的模型元素納入一個(gè)包。注意可以從類的功能的相關(guān)性來(lái)確定納入包中的對(duì)象類。以注意可以從類的功能的相關(guān)性來(lái)確定納入包中的對(duì)象類。以下幾點(diǎn)可作為分析對(duì)象類的功能相關(guān)性的參考。下幾點(diǎn)可作為分析對(duì)象類的功能相關(guān)性的參考。 如果一個(gè)類的行為和如果一個(gè)類的行為和/或結(jié)構(gòu)的變更要求另一個(gè)相應(yīng)的變或結(jié)構(gòu)的變更要求另一個(gè)相應(yīng)的變更,則這兩個(gè)類是功能相關(guān)的。更,則這兩個(gè)類是功能相關(guān)的。 如果刪除一個(gè)類后,另一個(gè)類便變成是多余的,則這兩個(gè)如果刪除一個(gè)類后,另一個(gè)類便變成是多余的,則這兩個(gè)類是功能相關(guān)的,這說(shuō)明該剩余的類只為那個(gè)被刪除的類所類是功能相關(guān)的,這說(shuō)明該剩余的類只為那個(gè)被刪除
43、的類所使用,它們之間有依賴關(guān)系。使用,它們之間有依賴關(guān)系。2021年12月12日第30頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖 如果兩個(gè)類之間有大量的頻繁交互或通信,則這兩個(gè)類是如果兩個(gè)類之間有大量的頻繁交互或通信,則這兩個(gè)類是功能相關(guān)的。功能相關(guān)的。 如果兩個(gè)類之間有一般如果兩個(gè)類之間有一般/特殊關(guān)系,則這兩個(gè)類是功能相特殊關(guān)系,則這兩個(gè)類是功能相關(guān)的。關(guān)的。 如果一個(gè)類激發(fā)創(chuàng)建另一個(gè)類的對(duì)象,則這兩個(gè)類是功能如果一個(gè)類激發(fā)創(chuàng)建另一個(gè)類的對(duì)象,則這兩個(gè)類是功能相關(guān)的。相關(guān)的。 如果兩個(gè)類不涉及同一個(gè)外部活動(dòng),則這兩個(gè)
44、類不應(yīng)放在如果兩個(gè)類不涉及同一個(gè)外部活動(dòng),則這兩個(gè)類不應(yīng)放在同一個(gè)包中。同一個(gè)包中。 一個(gè)包應(yīng)當(dāng)具有高內(nèi)聚性,包中的對(duì)象類應(yīng)該是功能相關(guān)一個(gè)包應(yīng)當(dāng)具有高內(nèi)聚性,包中的對(duì)象類應(yīng)該是功能相關(guān)的。的。2021年12月12日第31頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖(2)對(duì)于每一個(gè)包,標(biāo)出其模型元素的可視性:公共、保)對(duì)于每一個(gè)包,標(biāo)出其模型元素的可視性:公共、保護(hù)或私有。護(hù)或私有。(3)確定包與包之間的依賴關(guān)系,特別是輸入依賴。)確定包與包之間的依賴關(guān)系,特別是輸入依賴。(4)確定包與包之間的泛化關(guān)系,確定包元素的多態(tài)性
45、和)確定包與包之間的泛化關(guān)系,確定包元素的多態(tài)性和重載。重載。(5)繪制包圖。)繪制包圖。(6)包圖精化。)包圖精化。2021年12月12日第32頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖在在StarUML中創(chuàng)建包圖的方法如下。中創(chuàng)建包圖的方法如下。(1)包圖可以直接在)包圖可以直接在Class Diagram中建立。點(diǎn)擊圖例區(qū)中建立。點(diǎn)擊圖例區(qū)域中的域中的Package圖例,然后在工圖例,然后在工作區(qū)域中單擊鼠標(biāo)左鍵,即生成一個(gè)包。作區(qū)域中單擊鼠標(biāo)左鍵,即生成一個(gè)包。(2)選中生成包,在屬性編輯區(qū)域中對(duì)包屬性進(jìn)行編輯。
46、)選中生成包,在屬性編輯區(qū)域中對(duì)包屬性進(jìn)行編輯。(3)將需要放在一個(gè)包中的對(duì)象拖到對(duì)應(yīng)包中。)將需要放在一個(gè)包中的對(duì)象拖到對(duì)應(yīng)包中。(4)當(dāng)創(chuàng)建兩個(gè)及以上的包后,可選擇)當(dāng)創(chuàng)建兩個(gè)及以上的包后,可選擇Dependency項(xiàng)等項(xiàng)等關(guān)系,然后單擊起始包并拖動(dòng)至關(guān)系,然后單擊起始包并拖動(dòng)至結(jié)束包,松開(kāi)鼠標(biāo)后,則生成一條關(guān)系。結(jié)束包,松開(kāi)鼠標(biāo)后,則生成一條關(guān)系。 (5)重復(fù)步驟()重復(fù)步驟(1)()(3),至包圖完成。),至包圖完成。2021年12月12日第33頁(yè)第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖圖圖12.5展示了一個(gè)基本
47、的包圖畫(huà)法示例。展示了一個(gè)基本的包圖畫(huà)法示例。2021年12月12日第34頁(yè)圖圖12.5 包圖示例包圖示例第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第35頁(yè)12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖交互圖包括順序圖和通信圖(交互圖包括順序圖和通信圖(UML1.0中稱為協(xié)作圖),通常由中稱為協(xié)作圖),通常由一組對(duì)象和它們之間的關(guān)系組成,包括它們之間可能傳遞的消一組對(duì)象和它們之間的關(guān)系組成,包括它們之間可能傳遞的消息。多數(shù)情況下,交互圖包括對(duì)類、接口、構(gòu)件和結(jié)點(diǎn)的具體息。多數(shù)情況下,交互圖包括對(duì)類、接口、構(gòu)件和結(jié)點(diǎn)的具體的或原型化的實(shí)例,以及它們之間
48、傳遞的消息進(jìn)行建模。交互的或原型化的實(shí)例,以及它們之間傳遞的消息進(jìn)行建模。交互圖除了可以用于對(duì)一個(gè)用例的事件流程進(jìn)行建模外,也可以單圖除了可以用于對(duì)一個(gè)用例的事件流程進(jìn)行建模外,也可以單獨(dú)使用,用于可視化、詳述、構(gòu)造和文檔化一個(gè)特定對(duì)象群體獨(dú)使用,用于可視化、詳述、構(gòu)造和文檔化一個(gè)特定對(duì)象群體的動(dòng)態(tài)方面,主要由一組對(duì)象和它們之間的關(guān)系構(gòu)成包括需要的動(dòng)態(tài)方面,主要由一組對(duì)象和它們之間的關(guān)系構(gòu)成包括需要什么對(duì)象、對(duì)象相互之間發(fā)送什么消息、什么角色啟動(dòng)消息及什么對(duì)象、對(duì)象相互之間發(fā)送什么消息、什么角色啟動(dòng)消息及消息按照什么順序發(fā)送等。消息按照什么順序發(fā)送等。第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)
49、用2021年12月12日第36頁(yè)12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖狀態(tài)機(jī)通過(guò)對(duì)類對(duì)象的生存周期建立模型來(lái)描述對(duì)象隨時(shí)間變狀態(tài)機(jī)通過(guò)對(duì)類對(duì)象的生存周期建立模型來(lái)描述對(duì)象隨時(shí)間變化的動(dòng)態(tài)行為,也可以用來(lái)描述用例、協(xié)作和方法的動(dòng)態(tài)行為,化的動(dòng)態(tài)行為,也可以用來(lái)描述用例、協(xié)作和方法的動(dòng)態(tài)行為,包括狀態(tài)圖和活動(dòng)圖。狀態(tài)圖是狀態(tài)結(jié)點(diǎn)通過(guò)轉(zhuǎn)移連接的圖,包括狀態(tài)圖和活動(dòng)圖。狀態(tài)圖是狀態(tài)結(jié)點(diǎn)通過(guò)轉(zhuǎn)移連接的圖,描述一個(gè)特定對(duì)象的所有可能狀態(tài),以及由于各種事件的發(fā)生描述一個(gè)特定對(duì)象的所有可能狀態(tài),以及由于各種事件的發(fā)生而引起的狀態(tài)之間的轉(zhuǎn)移?;顒?dòng)圖是一種表述過(guò)程機(jī)理、業(yè)務(wù)而引起的狀態(tài)
50、之間的轉(zhuǎn)移?;顒?dòng)圖是一種表述過(guò)程機(jī)理、業(yè)務(wù)過(guò)程及工作流的技術(shù),是過(guò)程及工作流的技術(shù),是UML用于對(duì)系統(tǒng)的動(dòng)態(tài)行為建模的一用于對(duì)系統(tǒng)的動(dòng)態(tài)行為建模的一種常用工具,描述活動(dòng)的順序,展現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)種常用工具,描述活動(dòng)的順序,展現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,與常用的軟件流程圖類似,從本質(zhì)上說(shuō),活動(dòng)圖是的控制流,與常用的軟件流程圖類似,從本質(zhì)上說(shuō),活動(dòng)圖是一類流程圖。一類流程圖。第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第37頁(yè)12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖1順序圖和通信圖順序圖和通信圖 順序圖強(qiáng)調(diào)消息發(fā)送的時(shí)間順序,而通信圖則
51、強(qiáng)調(diào)接收和發(fā)送順序圖強(qiáng)調(diào)消息發(fā)送的時(shí)間順序,而通信圖則強(qiáng)調(diào)接收和發(fā)送消息的對(duì)象的組織結(jié)構(gòu),顯示對(duì)象、對(duì)象之間的連接及對(duì)象之消息的對(duì)象的組織結(jié)構(gòu),顯示對(duì)象、對(duì)象之間的連接及對(duì)象之間的消息,還可以顯示當(dāng)前模型中的簡(jiǎn)單類實(shí)例。在圖形上,間的消息,還可以顯示當(dāng)前模型中的簡(jiǎn)單類實(shí)例。在圖形上,順序圖是一張表,其中顯示的對(duì)象沿橫軸排列,從左到右分布順序圖是一張表,其中顯示的對(duì)象沿橫軸排列,從左到右分布在圖的頂部,消息則沿縱軸按時(shí)間順序排列;而通信圖則表現(xiàn)在圖的頂部,消息則沿縱軸按時(shí)間順序排列;而通信圖則表現(xiàn)為頂點(diǎn)和弧的集合。為頂點(diǎn)和弧的集合。第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12
52、日第38頁(yè)12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖(1)順序圖)順序圖建立順序圖的步驟如下。建立順序圖的步驟如下。 確定交互的上下文。確定交互的上下文。 找出參與交互的對(duì)象類角色,把它們橫向排列在順序圖的頂部,最重找出參與交互的對(duì)象類角色,把它們橫向排列在順序圖的頂部,最重要的對(duì)象安置在最左邊,交互密切的對(duì)象盡可能相鄰。在交互中創(chuàng)建的要的對(duì)象安置在最左邊,交互密切的對(duì)象盡可能相鄰。在交互中創(chuàng)建的對(duì)象在垂直方向應(yīng)安置在其被創(chuàng)建的時(shí)間點(diǎn)處。對(duì)象在垂直方向應(yīng)安置在其被創(chuàng)建的時(shí)間點(diǎn)處。 對(duì)每一個(gè)對(duì)象設(shè)置一條垂直向下的生命線。對(duì)每一個(gè)對(duì)象設(shè)置一條垂直向下的生命線。 從初始化交互
53、的信息開(kāi)始,自頂向下在對(duì)象的生命線之間安置信息。從初始化交互的信息開(kāi)始,自頂向下在對(duì)象的生命線之間安置信息。注意用箭頭的形式區(qū)別同步消息和異步消息。根據(jù)順序圖是屬于說(shuō)明層注意用箭頭的形式區(qū)別同步消息和異步消息。根據(jù)順序圖是屬于說(shuō)明層還是屬于實(shí)例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型與約束。還是屬于實(shí)例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型與約束。 在生命線上繪出對(duì)象的激活期,以及對(duì)象創(chuàng)建或銷毀的構(gòu)造型和標(biāo)記。在生命線上繪出對(duì)象的激活期,以及對(duì)象創(chuàng)建或銷毀的構(gòu)造型和標(biāo)記。 根據(jù)消息之間的關(guān)系,確定循環(huán)結(jié)構(gòu)及循環(huán)參數(shù)和出口條件。根據(jù)消息之間的關(guān)系,確定循環(huán)結(jié)構(gòu)及循環(huán)參數(shù)和出口條件。第12章 軟
54、件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第39頁(yè)12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖在在StarUML中創(chuàng)建順序圖的方法如下。中創(chuàng)建順序圖的方法如下。 在模型視圖區(qū)域在模型視圖區(qū)域Model處單擊鼠標(biāo)右鍵,彈出顯示菜單。處單擊鼠標(biāo)右鍵,彈出顯示菜單。 將鼠標(biāo)移至將鼠標(biāo)移至Add Diagram項(xiàng),然后在子菜單中選擇順序圖項(xiàng),然后在子菜單中選擇順序圖(Sequence Diagram),則在工作區(qū)域生成一個(gè)新的順序圖界),則在工作區(qū)域生成一個(gè)新的順序圖界面。面。 在圖例區(qū)域中選擇在圖例區(qū)域中選擇Object項(xiàng),然后在工作區(qū)域中點(diǎn)擊鼠標(biāo)左項(xiàng),然后在工作區(qū)
55、域中點(diǎn)擊鼠標(biāo)左鍵,則生成一個(gè)對(duì)象類。鍵,則生成一個(gè)對(duì)象類。 可在屬性編輯區(qū)域?qū)?duì)象類的屬性進(jìn)行編輯。可在屬性編輯區(qū)域?qū)?duì)象類的屬性進(jìn)行編輯。 當(dāng)創(chuàng)建兩個(gè)及以上的對(duì)象類后,可選擇當(dāng)創(chuàng)建兩個(gè)及以上的對(duì)象類后,可選擇Stimulus項(xiàng),然后單項(xiàng),然后單擊起始類的生命線并拖動(dòng)至結(jié)束類的生命線,松開(kāi)鼠標(biāo)后,則生擊起始類的生命線并拖動(dòng)至結(jié)束類的生命線,松開(kāi)鼠標(biāo)后,則生成一條調(diào)用關(guān)系。成一條調(diào)用關(guān)系。 若有類內(nèi)自調(diào)用的情況,可使用若有類內(nèi)自調(diào)用的情況,可使用SelfStimulus項(xiàng)進(jìn)行表示。項(xiàng)進(jìn)行表示。 重復(fù)步驟,至順序圖完成。重復(fù)步驟,至順序圖完成。第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年
56、12月12日第40頁(yè)12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖圖圖12.6展示了由以上步驟畫(huà)出的簡(jiǎn)單順序圖圖例。展示了由以上步驟畫(huà)出的簡(jiǎn)單順序圖圖例。值得注意的是,值得注意的是,StarUML中沒(méi)有提供表示返回值的圖示。中沒(méi)有提供表示返回值的圖示。圖圖12.6 交互圖圖例交互圖圖例第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第41頁(yè)12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖(2)通信圖)通信圖通信圖的建立步驟如下。通信圖的建立步驟如下。 確定交互的上下文。確定交互的上下文。 找出參與交互的對(duì)象類角色,把它們作為圖形的結(jié)點(diǎn)安置
57、在通信圖中。找出參與交互的對(duì)象類角色,把它們作為圖形的結(jié)點(diǎn)安置在通信圖中。最重要的對(duì)象安置在圖的中央,與它有直接交互的對(duì)象安置在鄰近。最重要的對(duì)象安置在圖的中央,與它有直接交互的對(duì)象安置在鄰近。 設(shè)置對(duì)象的初始性質(zhì)。設(shè)置對(duì)象的初始性質(zhì)。 說(shuō)明對(duì)象之間的鏈接。首先給出對(duì)象之間的關(guān)聯(lián)連接,然后給出其他連說(shuō)明對(duì)象之間的鏈接。首先給出對(duì)象之間的關(guān)聯(lián)連接,然后給出其他連接,并且給出必要的修飾,如構(gòu)造型接,并且給出必要的修飾,如構(gòu)造型globallocal等。等。 從初始化交互的消息開(kāi)始,在鏈接上安置相應(yīng)的消息,給出消息的序號(hào)。從初始化交互的消息開(kāi)始,在鏈接上安置相應(yīng)的消息,給出消息的序號(hào)。注意用箭頭的形
58、式區(qū)別同步消息和異步消息。根據(jù)通信圖是屬于說(shuō)明層還是注意用箭頭的形式區(qū)別同步消息和異步消息。根據(jù)通信圖是屬于說(shuō)明層還是屬于實(shí)例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型和約束。屬于實(shí)例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型和約束。 處理一些特殊情況,如循環(huán)、自調(diào)用、回調(diào)、多對(duì)象等。處理一些特殊情況,如循環(huán)、自調(diào)用、回調(diào)、多對(duì)象等。通信圖一般包括對(duì)象、鏈和消息。通信圖一般包括對(duì)象、鏈和消息。第12章 軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第42頁(yè)12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖創(chuàng)建通信圖的步驟描述如下。創(chuàng)建通信圖的步驟描述如下。 在模型視圖區(qū)域
59、在模型視圖區(qū)域Model處單擊鼠標(biāo)右鍵,彈出顯示菜單。處單擊鼠標(biāo)右鍵,彈出顯示菜單。 將鼠標(biāo)移至將鼠標(biāo)移至Add Diagram項(xiàng),然后在子菜單中選擇通信圖項(xiàng),然后在子菜單中選擇通信圖(StarUML是基于是基于UML1.4的,對(duì)應(yīng)的,對(duì)應(yīng)Collaboration Diagram),),則在工作區(qū)域生成一個(gè)新的通信圖界面;則在工作區(qū)域生成一個(gè)新的通信圖界面; 在圖例區(qū)域中選擇在圖例區(qū)域中選擇Object項(xiàng),然后在工作區(qū)域中點(diǎn)擊鼠標(biāo)左項(xiàng),然后在工作區(qū)域中點(diǎn)擊鼠標(biāo)左鍵,則生成一個(gè)對(duì)象類。鍵,則生成一個(gè)對(duì)象類。 在屬性編輯區(qū)域?qū)?duì)象類的屬性進(jìn)行編輯。在屬性編輯區(qū)域?qū)?duì)象類的屬性進(jìn)行編輯。第12章
60、軟件開(kāi)發(fā)工具StarUML及其應(yīng)用2021年12月12日第43頁(yè)12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖 當(dāng)創(chuàng)建兩個(gè)及以上的對(duì)象類后,可選擇當(dāng)創(chuàng)建兩個(gè)及以上的對(duì)象類后,可選擇Link項(xiàng),然后單擊起項(xiàng),然后單擊起始類的生命線并拖動(dòng)至結(jié)束類的生命線,松開(kāi)鼠標(biāo)后,則生成始類的生命線并拖動(dòng)至結(jié)束類的生命線,松開(kāi)鼠標(biāo)后,則生成一條鏈關(guān)系。一條鏈關(guān)系。 若有類自聯(lián)系的情況,可使用若有類自聯(lián)系的情況,可使用SelfLink項(xiàng)進(jìn)行表示。項(xiàng)進(jìn)行表示。 在圖例區(qū)域中選擇在圖例區(qū)域中選擇ForwardStimulus或或ReverseStimulus項(xiàng),項(xiàng),然后點(diǎn)擊步驟中生成的鏈,從而添加
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝修進(jìn)度款支付合同
- 藥品冷鏈運(yùn)輸保密合同
- 商業(yè)空間裝修施工合同范本
- 包包購(gòu)銷合同
- 咨詢服務(wù)合同終止協(xié)議書(shū)年
- 互聯(lián)網(wǎng)廣告投放策略與實(shí)踐案例
- 建筑項(xiàng)目居間合同
- 出租打印機(jī)合同年
- 圖書(shū)購(gòu)銷合同范例
- 工程管理咨詢合同
- 2 找春天 公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 2025年江蘇護(hù)理職業(yè)學(xué)院高職單招語(yǔ)文2018-2024歷年參考題庫(kù)頻考點(diǎn)含答案解析
- 2025年江蘇南京水務(wù)集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 護(hù)理人文知識(shí)培訓(xùn)課件
- 建筑工程施工安全管理課件
- 2025年春新人教版數(shù)學(xué)七年級(jí)下冊(cè)教學(xué)課件 7.2.3 平行線的性質(zhì)(第1課時(shí))
- 安徽省合肥市2025年高三第一次教學(xué)質(zhì)量檢測(cè)地理試題(含答案)
- 2025年上半年畢節(jié)市威寧自治縣事業(yè)單位招考考試(443名)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 處方點(diǎn)評(píng)知識(shí)培訓(xùn)
- 2025年新合同管理工作計(jì)劃
- 2020譯林版高中英語(yǔ)選擇性必修二單詞默寫(xiě)表
評(píng)論
0/150
提交評(píng)論