版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第1頁第第12章章 軟件開發(fā)工具軟件開發(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章 軟件開發(fā)工具StarUML及其應(yīng)用本章引言本章引言lStarUML(簡稱(簡稱SU)是一款開放源碼的)是一款開放源碼的UML 開發(fā)工具,開發(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)境對面向?qū)ο蠓治雠c設(shè)計(jì)過程環(huán)境對面向?qū)ο蠓治雠c設(shè)計(jì)過程的支持和的支持和UML 圖形描述。本章最后通過一個(gè)教學(xué)管理系圖形描述。本章最后通過一個(gè)教學(xué)管理系統(tǒng)的系統(tǒng)分析設(shè)計(jì)過程,描述統(tǒng)的系統(tǒng)分析設(shè)計(jì)過程,描述StarUML 工具在系統(tǒng)分析工具在系統(tǒng)分析與設(shè)計(jì)中的使用。與設(shè)計(jì)中的使用。2021年12月12日第2頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第3頁學(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章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第4頁教學(xué)內(nèi)容教學(xué)內(nèi)容12.1 軟件開發(fā)工具軟件開發(fā)工具StarUML 概述概述12.2 StarUML 環(huán)境下的環(huán)境下的UML 圖形建模圖形建模12.3 一個(gè)簡易教學(xué)管理系統(tǒng)的分析和設(shè)計(jì)一個(gè)簡易教學(xué)管理系統(tǒng)的分析和設(shè)計(jì)12.4 本章小結(jié)和習(xí)題本章小結(jié)和習(xí)題 第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第5頁12.1
4、軟件開發(fā)工具軟件開發(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開源、可擴(kuò)展、靈活小巧(基本構(gòu)成只開源、可擴(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īng)用開發(fā)工具的直接支持。語言和快速應(yīng)用開發(fā)工具的直接支持。StarUML工具基于工具基于UML1.4版本,提供版本,提供11種不同類型的圖,支持種不同類型的圖,支持UML2.0的表示的表示法,通過支持法,通過支持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章 軟件開發(fā)工具StarUML及其應(yīng)用2021
6、年12月12日第6頁12.1.1 StarUML 的安裝及使用的安裝及使用StarUML是完全開放源碼的軟件,不僅免費(fèi)自由下載,連代碼都是完全開放源碼的軟件,不僅免費(fèi)自由下載,連代碼都免費(fèi)開放,官方網(wǎng)站免費(fè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章 軟件開發(fā)工具StarUML及其應(yīng)用12.1.1 StarUML 的安裝及使用的安裝及使用2StarUML 的安裝步驟(此處省略安裝過程界面)的安裝步驟(此處省略安裝過程界面) 單擊單擊StarUML安裝包,彈出歡迎界面(此處省略歡迎界安裝包,彈出歡迎界面(此處省略歡迎界面)。面)。 單擊單擊Next按鈕,點(diǎn)擊按鈕,點(diǎn)擊“I accept the agreement”同意同意安裝協(xié)議,再點(diǎn)擊安裝協(xié)議,再點(diǎn)擊Next按鈕。按鈕。 設(shè)置設(shè)置StarUML安裝的路徑后,單擊安裝的路徑后,單擊Next按鈕
8、,則開始安按鈕,則開始安裝過程。裝過程。 單擊單擊Finish,完成安裝并退出。,完成安裝并退出。2021年12月12日第7頁第12章 軟件開發(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可以從可以從“開始開始”“所有程序所有程序”中選擇中選擇StarUML文件夾下文件夾下的的StarUML啟動(dòng),或者在安裝過程中建立快捷方式,直接
9、啟動(dòng),或者在安裝過程中建立快捷方式,直接點(diǎn)擊快捷方式啟動(dòng)點(diǎn)擊快捷方式啟動(dòng)StarUML。2021年12月12日第8頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第9頁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ū)域,參見圖大區(qū)域,參見圖12.2。第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.1.2 Star
10、UML 的主要功能的主要功能2021年12月12日第10頁圖圖12.2 StarUML應(yīng)用程序窗口應(yīng)用程序窗口第12章 軟件開發(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)用程序窗口的頂部展開,包含一系列可以簡化常用操作的圖標(biāo),與打窗口的頂部展開,包含一系列可以簡化常用操作的圖標(biāo),與打開的模型圖窗口無關(guān)。另外,用戶可以通過工具欄幫助使用常開的模型圖窗口無關(guān)。另外,用戶可以通過工具欄幫助使用常用特性。用特性。StarUML對不同的圖顯示不同的工具欄,除了工具欄對不同的圖顯示不同的工具欄,除了工具欄和菜單外,和菜單外,StarUML還有相關(guān)的彈出菜單,可以用右鍵單擊來還有相關(guān)的彈出菜單,可以用右鍵單擊來進(jìn)行項(xiàng)目訪問。例如,鼠標(biāo)右鍵單擊類圖中的
12、類,彈出一個(gè)菜進(jìn)行項(xiàng)目訪問。例如,鼠標(biāo)右鍵單擊類圖中的類,彈出一個(gè)菜單,其中的選項(xiàng)包括增加類的屬性或操作、瀏覽和編輯類規(guī)范單,其中的選項(xiàng)包括增加類的屬性或操作、瀏覽和編輯類規(guī)范、產(chǎn)生類的代碼和瀏覽產(chǎn)生的代碼等。、產(chǎn)生類的代碼和瀏覽產(chǎn)生的代碼等。2021年12月12日第11頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.1.2 StarUML 的主要功能的主要功能UML圖例區(qū)域中包括了適用于當(dāng)前模型圖的各種組成成分,模圖例區(qū)域中包括了適用于當(dāng)前模型圖的各種組成成分,模型圖就是通過選擇圖例區(qū)域中的模型在工作區(qū)域中設(shè)計(jì)而成的型圖就是通過選擇圖例區(qū)域中的模型在工作區(qū)域中設(shè)計(jì)而成的。每種模型圖都有各
13、自對應(yīng)的工具箱。每種模型圖都有各自對應(yīng)的工具箱。工作區(qū)域是建立和修改當(dāng)前模型圖的主操作區(qū),區(qū)域左上角的工作區(qū)域是建立和修改當(dāng)前模型圖的主操作區(qū),區(qū)域左上角的圖標(biāo)表示當(dāng)前正在被操作的圖的名稱,圖中繪制的每個(gè)模型元圖標(biāo)表示當(dāng)前正在被操作的圖的名稱,圖中繪制的每個(gè)模型元素都會(huì)顯示在工作區(qū)域中,用戶可以通過對模型元素的控制來素都會(huì)顯示在工作區(qū)域中,用戶可以通過對模型元素的控制來達(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)航工具,通過它可以快速查模型視圖區(qū)域是一個(gè)層次結(jié)構(gòu)的導(dǎo)航工具,通過它可以快速查看順序圖、類圖、用例圖、狀態(tài)圖、活動(dòng)圖和部署圖的名稱及看順序圖、類圖、用例圖、狀態(tài)圖、活動(dòng)圖和部署圖的名稱及其中的模型元素和其他許多模型元素。其中的模型元素和其他許多模型元素。2021年12月12日第12頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.1.2 StarUML 的主要功能的主要功能屬性編輯區(qū)域是對圖中各個(gè)組成成分、成分之間的關(guān)系,甚屬性編輯區(qū)域是對圖中各個(gè)組成成分、成分之間的關(guān)系,甚至圖本身的屬性進(jìn)行編輯的工具,其中包括許多預(yù)定義及至圖本身的屬性進(jìn)行編輯的工具,其中包括許多預(yù)定義
15、及自定義的屬性設(shè)置,其中一些設(shè)置會(huì)直觀地在工作區(qū)域中自定義的屬性設(shè)置,其中一些設(shè)置會(huì)直觀地在工作區(qū)域中的圖上表示出來。另外,描述文檔編輯區(qū)域在默認(rèn)情況下的圖上表示出來。另外,描述文檔編輯區(qū)域在默認(rèn)情況下是和屬性編輯區(qū)域放在一起的,用戶可以通過單擊下方是和屬性編輯區(qū)域放在一起的,用戶可以通過單擊下方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頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第14頁12.2 Sta
16、rUML 環(huán)境下的環(huán)境下的UML 圖形建模圖形建模StarUML模型是問題陳述域與軟件系統(tǒng)表示的聯(lián)系紐帶,軟模型是問題陳述域與軟件系統(tǒng)表示的聯(lián)系紐帶,軟件系統(tǒng)的所有工作可以從件系統(tǒng)的所有工作可以從StarUML模型的建立開始。在默模型的建立開始。在默認(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)的說明組成的,形和相關(guān)的說明組成的,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章 軟件開發(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頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第16頁12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖用例圖主要用于對系統(tǒng)、子系統(tǒng)或類的行為進(jìn)行建模,與具體用例圖主要用于對系統(tǒng)、子系統(tǒng)或類的行為進(jìn)行建模,與具體的實(shí)現(xiàn)細(xì)節(jié)無關(guān),它只說明系統(tǒng)實(shí)現(xiàn)什么功能,而不必說明如的實(shí)現(xiàn)細(xì)節(jié)無關(guān),它只說明系統(tǒng)實(shí)現(xiàn)什么功能,而不必說明如何實(shí)現(xiàn),表示從系統(tǒng)外部用戶的觀點(diǎn)看系統(tǒng)應(yīng)具有的功能。類何實(shí)現(xiàn),表示從系統(tǒng)外部用戶的觀點(diǎn)看系統(tǒng)應(yīng)具有的功能。類圖用于對系統(tǒng)的靜態(tài)
19、結(jié)構(gòu)建模,是邏輯視圖的重要組成部分,圖用于對系統(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章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖1用例圖(用例圖(Use Case Di
20、agram) 在軟件開發(fā)的生存周期中,用例圖主要用在系統(tǒng)需求分析階在軟件開發(fā)的生存周期中,用例圖主要用在系統(tǒng)需求分析階段和系統(tǒng)設(shè)計(jì)階段。在系統(tǒng)需求分析階段,用例圖用來獲段和系統(tǒng)設(shè)計(jì)階段。在系統(tǒng)需求分析階段,用例圖用來獲取系統(tǒng)的需求,幫助理解系統(tǒng)應(yīng)當(dāng)如何工作;在系統(tǒng)設(shè)計(jì)取系統(tǒng)的需求,幫助理解系統(tǒng)應(yīng)當(dāng)如何工作;在系統(tǒng)設(shè)計(jì)階段,用例圖可以用來規(guī)定系統(tǒng)要實(shí)現(xiàn)的行為。一般地,階段,用例圖可以用來規(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)有過對系統(tǒng)的建模過程。用例圖是系統(tǒng)的外部行為視已經(jīng)有過對系統(tǒng)的建模過程。用例圖是系統(tǒng)的外部行為視圖,在確定了參與者和相關(guān)用例的基礎(chǔ)上,通過繪制用例圖,在確定了參與者和相關(guān)用例的基礎(chǔ)上,通過繪制用例圖可以更清晰地理解系統(tǒng)的行為。圖可以更清晰地理解系統(tǒng)的行為。2021年12月12日第17頁第12章 軟件開發(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á)例外情況的事件流的用例圖畫成一個(gè)單
23、獨(dú)的子用例圖。件流的用例圖畫成一個(gè)單獨(dú)的子用例圖。 精化用例圖,簡化用例中的對話序列。用例圖可以有不同的層精化用例圖,簡化用例中的對話序列。用例圖可以有不同的層次,高層次系統(tǒng)的用例可以分解為若干個(gè)下屬子系統(tǒng)中的子用例次,高層次系統(tǒng)的用例可以分解為若干個(gè)下屬子系統(tǒng)中的子用例2021年12月12日第18頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖下面給出在下面給出在StarUML中創(chuàng)建用例圖的各組成元素的方法描述。中創(chuàng)建用例圖的各組成元素的方法描述。(1)用例圖中的各個(gè)組成成分在)用例圖中的各個(gè)組成成分在StarUML工具中的
24、畫法描述工具中的畫法描述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頁第12章 軟件開發(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; 可對可對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; 可對可對UseCase的的Name、Visibility、Attribute和和Operation進(jìn)行編輯。進(jìn)行編輯。 2021年12月12日第20頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖(2)StarUML工具中確定用例圖中各組成成分之間關(guān)系的畫法描述:工具中確定用例圖中各組成成分之間關(guān)系的畫法描述: 在用例圖的工具欄上單擊相應(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頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用
29、例圖、類圖和包圖的用例圖、類圖和包圖圖圖12.3展示了在展示了在StarUML中包含一個(gè)中包含一個(gè)actor、一個(gè)、一個(gè)usecase的用例圖的描述示例。的用例圖的描述示例。2021年12月12日第22頁圖圖12.3 用例圖示例用例圖示例第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖2類圖類圖類圖在系統(tǒng)的整個(gè)生存周期中都是有效的,它是項(xiàng)目組的良類圖在系統(tǒng)的整個(gè)生存周期中都是有效的,它是項(xiàng)目組的良好設(shè)計(jì)工具,有助于開發(fā)人員在用具體的編程語言實(shí)現(xiàn)系好設(shè)計(jì)工具,有助于開發(fā)人員在用具體的編程語言實(shí)現(xiàn)系統(tǒng)之前顯示和計(jì)劃系統(tǒng)結(jié)構(gòu),保證系統(tǒng)
30、設(shè)計(jì)和開發(fā)的一致統(tǒng)之前顯示和計(jì)劃系統(tǒng)結(jié)構(gòu),保證系統(tǒng)設(shè)計(jì)和開發(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ǔ),沒
31、有類圖,就沒有狀態(tài)模型。類圖是構(gòu)建其他圖的基礎(chǔ),沒有類圖,就沒有狀態(tài)圖、通信圖等其他圖,也就無法表示系統(tǒng)的其他各個(gè)方態(tài)圖、通信圖等其他圖,也就無法表示系統(tǒng)的其他各個(gè)方面。面。2021年12月12日第23頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖一般地,對象類圖的建立步驟如下:一般地,對象類圖的建立步驟如下: 研究分析問題領(lǐng)域,確定系統(tǒng)的需求。研究分析問題領(lǐng)域,確定系統(tǒng)的需求。 從需求描述中發(fā)現(xiàn)對象和對象類,明確它們的含義和責(zé)任,確定從需求描述中發(fā)現(xiàn)對象和對象類,明確它們的含義和責(zé)任,確定屬性和操作。屬性和操作。 從需求描
32、述中發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系。著重分析找出對象類之間從需求描述中發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系。著重分析找出對象類之間的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚集、組合、依賴等聯(lián)系表達(dá)出來類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚集、組合、依賴等聯(lián)系表達(dá)出來。雖然對象類圖表達(dá)的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應(yīng)當(dāng)把對系統(tǒng)的。雖然對象類圖表達(dá)的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應(yīng)當(dāng)把對系統(tǒng)的靜態(tài)分析與動(dòng)態(tài)分析結(jié)合起來,更能準(zhǔn)確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征靜態(tài)分析與動(dòng)態(tài)分析結(jié)合起來,更能準(zhǔn)確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征。 設(shè)計(jì)類與聯(lián)系
33、。調(diào)整和精化已得到的對象類和類之間的聯(lián)系,解設(shè)計(jì)類與聯(lián)系。調(diào)整和精化已得到的對象類和類之間的聯(lián)系,解決諸如命名沖突、功能重復(fù)等問題。決諸如命名沖突、功能重復(fù)等問題。 繪制對象類圖并編制相應(yīng)的說明。繪制對象類圖并編制相應(yīng)的說明。2021年12月12日第24頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖 研究分析問題領(lǐng)域,確定系統(tǒng)的需求。研究分析問題領(lǐng)域,確定系統(tǒng)的需求。 從需求描述中發(fā)現(xiàn)對象和對象類,明確它們的含義和責(zé)任,確定從需求描述中發(fā)現(xiàn)對象和對象類,明確它們的含義和責(zé)任,確定屬性和操作。屬性和操作。 從需求描述中發(fā)現(xiàn)類之
34、間的靜態(tài)聯(lián)系。著重分析找出對象類之間從需求描述中發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系。著重分析找出對象類之間的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚集、組合、依賴等聯(lián)系表達(dá)出來類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚集、組合、依賴等聯(lián)系表達(dá)出來。雖然對象類圖表達(dá)的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應(yīng)當(dāng)把對系統(tǒng)的。雖然對象類圖表達(dá)的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應(yīng)當(dāng)把對系統(tǒng)的靜態(tài)分析與動(dòng)態(tài)分析結(jié)合起來,更能準(zhǔn)確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征靜態(tài)分析與動(dòng)態(tài)分析結(jié)合起來,更能準(zhǔn)確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征。 設(shè)計(jì)類與聯(lián)系。調(diào)整和精化
35、已得到的對象類和類之間的聯(lián)系,解設(shè)計(jì)類與聯(lián)系。調(diào)整和精化已得到的對象類和類之間的聯(lián)系,解決諸如命名沖突、功能重復(fù)等問題。決諸如命名沖突、功能重復(fù)等問題。 繪制對象類圖并編制相應(yīng)的說明。繪制對象類圖并編制相應(yīng)的說明。2021年12月12日第25頁第12章 軟件開發(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頁第12章 軟件開發(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頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖3包圖包圖 包是一種組合機(jī)制,把各種各樣的模型元素通過內(nèi)在的語義連包是一種組合機(jī)制,把各種各樣的模型元素通過內(nèi)在的語義連在一起,成為一個(gè)整體就叫做包,
38、構(gòu)成包的模型元素稱為包的在一起,成為一個(gè)整體就叫做包,構(gòu)成包的模型元素稱為包的內(nèi)容。包通常用于對模型的組織管理,因此有時(shí)又將包稱為子內(nèi)容。包通常用于對模型的組織管理,因此有時(shí)又將包稱為子系統(tǒng)(系統(tǒng)(Subsystem)。包擁有自己的模型元素,包與包之間不)。包擁有自己的模型元素,包與包之間不能共用相同的模型元素。包的實(shí)例沒有任何語義,只有在模型能共用相同的模型元素。包的實(shí)例沒有任何語義,只有在模型執(zhí)行期間,包才有意義。執(zhí)行期間,包才有意義。包能夠引用來自其他包的模型元素。當(dāng)一個(gè)包從另一個(gè)包中引包能夠引用來自其他包的模型元素。當(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í)例沒有語義。例沒有語義。2021年12月12日第28頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖包是用來說明元素組或者子系統(tǒng)的機(jī)制。一個(gè)包可以是任何種包是用來說明元素組或者子系統(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頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖包圖的建立步驟如下。包圖的建立步驟如下。(1)分析系統(tǒng)模型元素(通常是對象類),把概念上或語)分析系統(tǒng)模型元素(通常是對象類),把概念上或語義上
42、相近的模型元素納入一個(gè)包。義上相近的模型元素納入一個(gè)包。注意可以從類的功能的相關(guān)性來確定納入包中的對象類。以注意可以從類的功能的相關(guān)性來確定納入包中的對象類。以下幾點(diǎn)可作為分析對象類的功能相關(guān)性的參考。下幾點(diǎn)可作為分析對象類的功能相關(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)的,這說明該剩余的類只為那個(gè)被刪除的類所類是功能相關(guān)的,這說明該剩余的類只為那個(gè)被刪除
43、的類所使用,它們之間有依賴關(guān)系。使用,它們之間有依賴關(guān)系。2021年12月12日第30頁第12章 軟件開發(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è)類的對象,則這兩個(gè)類是功能如果一個(gè)類激發(fā)創(chuàng)建另一個(gè)類的對象,則這兩個(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)聚性,包中的對象類應(yīng)該是功能相關(guān)一個(gè)包應(yīng)當(dāng)具有高內(nèi)聚性,包中的對象類應(yīng)該是功能相關(guān)的。的。2021年12月12日第31頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖(2)對于每一個(gè)包,標(biāo)出其模型元素的可視性:公共、保)對于每一個(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頁第12章 軟件開發(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ū)域中對包屬性進(jìn)行編輯。
46、)選中生成包,在屬性編輯區(qū)域中對包屬性進(jìn)行編輯。(3)將需要放在一個(gè)包中的對象拖到對應(yīng)包中。)將需要放在一個(gè)包中的對象拖到對應(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é)束包,松開鼠標(biāo)后,則生成一條關(guān)系。結(jié)束包,松開鼠標(biāo)后,則生成一條關(guān)系。 (5)重復(fù)步驟()重復(fù)步驟(1)()(3),至包圖完成。),至包圖完成。2021年12月12日第33頁第12章 軟件開發(fā)工具StarUML及其應(yīng)用12.2.1 StarUML 的用例圖、類圖和包圖的用例圖、類圖和包圖圖圖12.5展示了一個(gè)基本
47、的包圖畫法示例。展示了一個(gè)基本的包圖畫法示例。2021年12月12日第34頁圖圖12.5 包圖示例包圖示例第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第35頁12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖交互圖包括順序圖和通信圖(交互圖包括順序圖和通信圖(UML1.0中稱為協(xié)作圖),通常由中稱為協(xié)作圖),通常由一組對象和它們之間的關(guān)系組成,包括它們之間可能傳遞的消一組對象和它們之間的關(guān)系組成,包括它們之間可能傳遞的消息。多數(shù)情況下,交互圖包括對類、接口、構(gòu)件和結(jié)點(diǎn)的具體息。多數(shù)情況下,交互圖包括對類、接口、構(gòu)件和結(jié)點(diǎn)的具體的或原型化的實(shí)例,以及它們之間
48、傳遞的消息進(jìn)行建模。交互的或原型化的實(shí)例,以及它們之間傳遞的消息進(jìn)行建模。交互圖除了可以用于對一個(gè)用例的事件流程進(jìn)行建模外,也可以單圖除了可以用于對一個(gè)用例的事件流程進(jìn)行建模外,也可以單獨(dú)使用,用于可視化、詳述、構(gòu)造和文檔化一個(gè)特定對象群體獨(dú)使用,用于可視化、詳述、構(gòu)造和文檔化一個(gè)特定對象群體的動(dòng)態(tài)方面,主要由一組對象和它們之間的關(guān)系構(gòu)成包括需要的動(dòng)態(tài)方面,主要由一組對象和它們之間的關(guān)系構(gòu)成包括需要什么對象、對象相互之間發(fā)送什么消息、什么角色啟動(dòng)消息及什么對象、對象相互之間發(fā)送什么消息、什么角色啟動(dòng)消息及消息按照什么順序發(fā)送等。消息按照什么順序發(fā)送等。第12章 軟件開發(fā)工具StarUML及其應(yīng)
49、用2021年12月12日第36頁12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖狀態(tài)機(jī)通過對類對象的生存周期建立模型來描述對象隨時(shí)間變狀態(tài)機(jī)通過對類對象的生存周期建立模型來描述對象隨時(shí)間變化的動(dòng)態(tài)行為,也可以用來描述用例、協(xié)作和方法的動(dòng)態(tài)行為,化的動(dòng)態(tài)行為,也可以用來描述用例、協(xié)作和方法的動(dòng)態(tài)行為,包括狀態(tài)圖和活動(dòng)圖。狀態(tài)圖是狀態(tài)結(jié)點(diǎn)通過轉(zhuǎn)移連接的圖,包括狀態(tài)圖和活動(dòng)圖。狀態(tài)圖是狀態(tài)結(jié)點(diǎn)通過轉(zhuǎn)移連接的圖,描述一個(gè)特定對象的所有可能狀態(tài),以及由于各種事件的發(fā)生描述一個(gè)特定對象的所有可能狀態(tài),以及由于各種事件的發(fā)生而引起的狀態(tài)之間的轉(zhuǎn)移?;顒?dòng)圖是一種表述過程機(jī)理、業(yè)務(wù)而引起的狀態(tài)
50、之間的轉(zhuǎn)移?;顒?dòng)圖是一種表述過程機(jī)理、業(yè)務(wù)過程及工作流的技術(shù),是過程及工作流的技術(shù),是UML用于對系統(tǒng)的動(dòng)態(tài)行為建模的一用于對系統(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ì)上說,活動(dòng)圖是的控制流,與常用的軟件流程圖類似,從本質(zhì)上說,活動(dòng)圖是一類流程圖。一類流程圖。第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第37頁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ā)送消息的對象的組織結(jié)構(gòu),顯示對象、對象之間的連接及對象之消息的對象的組織結(jié)構(gòu),顯示對象、對象之間的連接及對象之間的消息,還可以顯示當(dāng)前模型中的簡單類實(shí)例。在圖形上,間的消息,還可以顯示當(dāng)前模型中的簡單類實(shí)例。在圖形上,順序圖是一張表,其中顯示的對象沿橫軸排列,從左到右分布順序圖是一張表,其中顯示的對象沿橫軸排列,從左到右分布在圖的頂部,消息則沿縱軸按時(shí)間順序排列;而通信圖則表現(xiàn)在圖的頂部,消息則沿縱軸按時(shí)間順序排列;而通信圖則表現(xiàn)為頂點(diǎn)和弧的集合。為頂點(diǎn)和弧的集合。第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12
52、日第38頁12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖(1)順序圖)順序圖建立順序圖的步驟如下。建立順序圖的步驟如下。 確定交互的上下文。確定交互的上下文。 找出參與交互的對象類角色,把它們橫向排列在順序圖的頂部,最重找出參與交互的對象類角色,把它們橫向排列在順序圖的頂部,最重要的對象安置在最左邊,交互密切的對象盡可能相鄰。在交互中創(chuàng)建的要的對象安置在最左邊,交互密切的對象盡可能相鄰。在交互中創(chuàng)建的對象在垂直方向應(yīng)安置在其被創(chuàng)建的時(shí)間點(diǎn)處。對象在垂直方向應(yīng)安置在其被創(chuàng)建的時(shí)間點(diǎn)處。 對每一個(gè)對象設(shè)置一條垂直向下的生命線。對每一個(gè)對象設(shè)置一條垂直向下的生命線。 從初始化交互
53、的信息開始,自頂向下在對象的生命線之間安置信息。從初始化交互的信息開始,自頂向下在對象的生命線之間安置信息。注意用箭頭的形式區(qū)別同步消息和異步消息。根據(jù)順序圖是屬于說明層注意用箭頭的形式區(qū)別同步消息和異步消息。根據(jù)順序圖是屬于說明層還是屬于實(shí)例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型與約束。還是屬于實(shí)例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型與約束。 在生命線上繪出對象的激活期,以及對象創(chuàng)建或銷毀的構(gòu)造型和標(biāo)記。在生命線上繪出對象的激活期,以及對象創(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、件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第39頁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è)對象類。鍵,則生成一個(gè)對象類。 可在屬性編輯區(qū)域?qū)ο箢惖膶傩赃M(jìn)行編輯??稍趯傩跃庉媴^(qū)域?qū)ο箢惖膶傩赃M(jìn)行編輯。 當(dāng)創(chuàng)建兩個(gè)及以上的對象類后,可選擇當(dāng)創(chuàng)建兩個(gè)及以上的對象類后,可選擇Stimulus項(xiàng),然后單項(xiàng),然后單擊起始類的生命線并拖動(dòng)至結(jié)束類的生命線,松開鼠標(biāo)后,則生擊起始類的生命線并拖動(dòng)至結(jié)束類的生命線,松開鼠標(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章 軟件開發(fā)工具StarUML及其應(yīng)用2021年
56、12月12日第40頁12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖圖圖12.6展示了由以上步驟畫出的簡單順序圖圖例。展示了由以上步驟畫出的簡單順序圖圖例。值得注意的是,值得注意的是,StarUML中沒有提供表示返回值的圖示。中沒有提供表示返回值的圖示。圖圖12.6 交互圖圖例交互圖圖例第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第41頁12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖(2)通信圖)通信圖通信圖的建立步驟如下。通信圖的建立步驟如下。 確定交互的上下文。確定交互的上下文。 找出參與交互的對象類角色,把它們作為圖形的結(jié)點(diǎn)安置
57、在通信圖中。找出參與交互的對象類角色,把它們作為圖形的結(jié)點(diǎn)安置在通信圖中。最重要的對象安置在圖的中央,與它有直接交互的對象安置在鄰近。最重要的對象安置在圖的中央,與它有直接交互的對象安置在鄰近。 設(shè)置對象的初始性質(zhì)。設(shè)置對象的初始性質(zhì)。 說明對象之間的鏈接。首先給出對象之間的關(guān)聯(lián)連接,然后給出其他連說明對象之間的鏈接。首先給出對象之間的關(guān)聯(lián)連接,然后給出其他連接,并且給出必要的修飾,如構(gòu)造型接,并且給出必要的修飾,如構(gòu)造型globallocal等。等。 從初始化交互的消息開始,在鏈接上安置相應(yīng)的消息,給出消息的序號(hào)。從初始化交互的消息開始,在鏈接上安置相應(yīng)的消息,給出消息的序號(hào)。注意用箭頭的形
58、式區(qū)別同步消息和異步消息。根據(jù)通信圖是屬于說明層還是注意用箭頭的形式區(qū)別同步消息和異步消息。根據(jù)通信圖是屬于說明層還是屬于實(shí)例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型和約束。屬于實(shí)例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型和約束。 處理一些特殊情況,如循環(huán)、自調(diào)用、回調(diào)、多對象等。處理一些特殊情況,如循環(huán)、自調(diào)用、回調(diào)、多對象等。通信圖一般包括對象、鏈和消息。通信圖一般包括對象、鏈和消息。第12章 軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第42頁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的,對應(yīng)的,對應(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è)對象類。鍵,則生成一個(gè)對象類。 在屬性編輯區(qū)域?qū)ο箢惖膶傩赃M(jìn)行編輯。在屬性編輯區(qū)域?qū)ο箢惖膶傩赃M(jìn)行編輯。第12章
60、軟件開發(fā)工具StarUML及其應(yīng)用2021年12月12日第43頁12.2.2 StarUML 的交互圖和狀態(tài)機(jī)圖的交互圖和狀態(tài)機(jī)圖 當(dāng)創(chuàng)建兩個(gè)及以上的對象類后,可選擇當(dāng)創(chuàng)建兩個(gè)及以上的對象類后,可選擇Link項(xiàng),然后單擊起項(xiàng),然后單擊起始類的生命線并拖動(dòng)至結(jié)束類的生命線,松開鼠標(biāo)后,則生成始類的生命線并拖動(dòng)至結(jié)束類的生命線,松開鼠標(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年魯教五四新版八年級(jí)地理上冊階段測試試卷
- 2025年蘇教新版選修3地理上冊階段測試試卷含答案
- 2025年粵人版九年級(jí)生物上冊月考試卷含答案
- 二零二五年度衛(wèi)生間清潔劑研發(fā)與供應(yīng)合同3篇
- 二零二五年度2025版文化創(chuàng)意產(chǎn)業(yè)融資合同范本4篇
- 2025年度環(huán)保工程派遣人員勞務(wù)合同范本4篇
- 擔(dān)保合同約定條款協(xié)議書(2篇)
- 2025年度摩托車租賃平臺(tái)合作合同范本3篇
- 2025年度牧草種植基地環(huán)境保護(hù)合同范本3篇
- 二零二五版苗木種植基地林業(yè)病蟲害防治合同2篇
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護(hù)導(dǎo)體
- 計(jì)劃合同部部長述職報(bào)告范文
- 人教版高一地理必修一期末試卷
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專題培訓(xùn)課件
- 二手車車主寄售協(xié)議書范文范本
- 窗簾采購?fù)稑?biāo)方案(技術(shù)方案)
- 五年級(jí)上冊小數(shù)除法豎式計(jì)算練習(xí)300題及答案
- 語言規(guī)劃講義
- 生活用房設(shè)施施工方案模板
- 上海市楊浦區(qū)2022屆初三中考二模英語試卷+答案
- GB/T 9755-2001合成樹脂乳液外墻涂料
評(píng)論
0/150
提交評(píng)論