軟件開發(fā)環(huán)境_第1頁
軟件開發(fā)環(huán)境_第2頁
軟件開發(fā)環(huán)境_第3頁
軟件開發(fā)環(huán)境_第4頁
軟件開發(fā)環(huán)境_第5頁
已閱讀5頁,還剩128頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、School of Computer & Information 主講人主講人: : 邵邵 堃堃School of Computer & Information 軟件開發(fā)環(huán)境重點(diǎn)教授面向軟件開發(fā)過程的各類軟件軟件開發(fā)環(huán)境重點(diǎn)教授面向軟件開發(fā)過程的各類軟件開發(fā)工具和使用方法。開發(fā)工具和使用方法。 講述重點(diǎn):講述重點(diǎn):1.了解軟件工程中方法,工具和過程之間的基本概念,了解軟件工程中方法,工具和過程之間的基本概念,及其相互關(guān)系(講述為主);及其相互關(guān)系(講述為主);2.了解當(dāng)前的主要軟件開發(fā)方法,結(jié)構(gòu)化開發(fā)、面向?qū)α私猱?dāng)前的主要軟件開發(fā)方法,結(jié)構(gòu)化開發(fā)、面向?qū)ο箝_發(fā)、面向方面開發(fā)和面

2、向組件的開發(fā)等(學(xué)生自象開發(fā)、面向方面開發(fā)和面向組件的開發(fā)等(學(xué)生自己查找資料,然后做報(bào)告);己查找資料,然后做報(bào)告);School of Computer & Information 3.了解針對(duì)這些開發(fā)方法的主要工具軟件(學(xué)生自己查了解針對(duì)這些開發(fā)方法的主要工具軟件(學(xué)生自己查找資料,然后做報(bào)告),重點(diǎn)介紹面向?qū)ο箝_發(fā)方法找資料,然后做報(bào)告),重點(diǎn)介紹面向?qū)ο箝_發(fā)方法UML,及其開發(fā)工具,及其開發(fā)工具Rational Rose(講述為主講述為主)。軟件。軟件開發(fā)工具、軟件測試工具和軟件開發(fā)過程項(xiàng)目管理工開發(fā)工具、軟件測試工具和軟件開發(fā)過程項(xiàng)目管理工具;具;School of Com

3、puter & Information l軟件工程化的背景;軟件工程化的背景;l軟件規(guī)模化的背景;軟件規(guī)模化的背景;l軟件產(chǎn)業(yè)化的背景;軟件產(chǎn)業(yè)化的背景;School of Computer & Information l軟件開發(fā)環(huán)境軟件開發(fā)環(huán)境(Software Development Environment)是指在基本硬件和宿至軟件的是指在基本硬件和宿至軟件的基礎(chǔ)上,為支持系統(tǒng)軟件和應(yīng)用軟件的工程化基礎(chǔ)上,為支持系統(tǒng)軟件和應(yīng)用軟件的工程化開發(fā)和維護(hù)而使用的一組軟件,簡稱開發(fā)和維護(hù)而使用的一組軟件,簡稱SDE。l它由軟件工具和環(huán)境集成機(jī)制構(gòu)成,前者用以它由軟件工具和環(huán)境集成機(jī)

4、制構(gòu)成,前者用以支持軟件開發(fā)的相關(guān)過程、活動(dòng)和任務(wù),后者支持軟件開發(fā)的相關(guān)過程、活動(dòng)和任務(wù),后者為工具集成和軟件的開發(fā)、維護(hù)及治理提供統(tǒng)為工具集成和軟件的開發(fā)、維護(hù)及治理提供統(tǒng)一的支持。一的支持。 School of Computer & Information Software Engineering注:軟件工程的三個(gè)基本要素:方法、工具和過程過程:規(guī)定了完成各項(xiàng)任務(wù)的過程;方法:完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法;工具:軟件工程的支撐環(huán)境; School of Computer & Information 支持支持瀑布模型瀑布模型、演化模型演化模型、螺旋模型螺旋模型、噴泉模型

5、噴泉模型以及以及結(jié)構(gòu)化方法結(jié)構(gòu)化方法、信息模型方信息模型方法法、面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ǖ炔煌P图胺椒ǖ牡炔煌P图胺椒ǖ能浖_發(fā)環(huán)境。軟件開發(fā)環(huán)境。 School of Computer & Information 有有單體型單體型、協(xié)同型協(xié)同型、分散型分散型和和并發(fā)型并發(fā)型等等多種類型的軟件開發(fā)環(huán)境。多種類型的軟件開發(fā)環(huán)境。 School of Computer & Information l前端開發(fā)環(huán)境前端開發(fā)環(huán)境(支持系統(tǒng)規(guī)劃、分析、設(shè)計(jì)等階段支持系統(tǒng)規(guī)劃、分析、設(shè)計(jì)等階段的活動(dòng)的活動(dòng));l后端開發(fā)環(huán)境后端開發(fā)環(huán)境(支持編程、測試等階段的活動(dòng)支持編程、測試等階段的活動(dòng)

6、);l軟件維護(hù)環(huán)境;軟件維護(hù)環(huán)境;l逆向工程環(huán)境;逆向工程環(huán)境; 此類環(huán)境往往可通過對(duì)功能較全的環(huán)境進(jìn)行剪裁此類環(huán)境往往可通過對(duì)功能較全的環(huán)境進(jìn)行剪裁而得到。而得到。School of Computer & Information 有有通用型通用型和和專用型專用型軟件開發(fā)環(huán)境。其中軟件開發(fā)環(huán)境。其中專用型軟件開發(fā)環(huán)境與應(yīng)用領(lǐng)域有關(guān);專用型軟件開發(fā)環(huán)境與應(yīng)用領(lǐng)域有關(guān); School of Computer & Information 軟件開發(fā)環(huán)境由工具集和集成機(jī)制兩部軟件開發(fā)環(huán)境由工具集和集成機(jī)制兩部分構(gòu)成,工具集和集成機(jī)制間的關(guān)系如分構(gòu)成,工具集和集成機(jī)制間的關(guān)系如同同“插件插

7、件”和和“插槽插槽”間的關(guān)系。間的關(guān)系。 School of Computer & Information 軟件開發(fā)環(huán)境中的工具可包括:軟件開發(fā)環(huán)境中的工具可包括: 支持特定過程模型和開發(fā)方法的工具支持特定過程模型和開發(fā)方法的工具,如支持瀑布模,如支持瀑布模型及數(shù)據(jù)流方法的分析工具、設(shè)計(jì)工具、編碼工具、型及數(shù)據(jù)流方法的分析工具、設(shè)計(jì)工具、編碼工具、測試工具、維護(hù)工具,支持面向?qū)ο蠓椒ǖ臏y試工具、維護(hù)工具,支持面向?qū)ο蠓椒ǖ腛OA工具、工具、OOD工具和工具和OOP工具等;工具等; 獨(dú)立于模型和方法的工具獨(dú)立于模型和方法的工具,如界面輔助生成工具和文,如界面輔助生成工具和文檔出版工具;檔

8、出版工具; 亦可包括管理類工具和針對(duì)特定領(lǐng)域的應(yīng)用類工具。亦可包括管理類工具和針對(duì)特定領(lǐng)域的應(yīng)用類工具。 School of Computer & Information 對(duì)工具的集成及用戶軟件的開發(fā)、維護(hù)及管理對(duì)工具的集成及用戶軟件的開發(fā)、維護(hù)及管理提供統(tǒng)一的支持。按功能可劃分為環(huán)境信息庫、提供統(tǒng)一的支持。按功能可劃分為環(huán)境信息庫、過程控制及消息服務(wù)器、環(huán)境用戶界面三個(gè)部過程控制及消息服務(wù)器、環(huán)境用戶界面三個(gè)部分。分。School of Computer & Information 是軟件開發(fā)環(huán)境的核心,用以儲(chǔ)存與系統(tǒng)開發(fā)有關(guān)的是軟件開發(fā)環(huán)境的核心,用以儲(chǔ)存與系統(tǒng)開發(fā)有關(guān)的信

9、息并支持信息的交流與共享。庫中儲(chǔ)存兩類信息,信息并支持信息的交流與共享。庫中儲(chǔ)存兩類信息,一類是開發(fā)過程中產(chǎn)生的有關(guān)被開發(fā)系統(tǒng)的信息,如一類是開發(fā)過程中產(chǎn)生的有關(guān)被開發(fā)系統(tǒng)的信息,如分析文檔、設(shè)計(jì)文檔、測試報(bào)告等;另一類是環(huán)境提分析文檔、設(shè)計(jì)文檔、測試報(bào)告等;另一類是環(huán)境提供的支持信息,如文檔模板、系統(tǒng)配置、過程模型、供的支持信息,如文檔模板、系統(tǒng)配置、過程模型、可復(fù)用構(gòu)件等??蓮?fù)用構(gòu)件等。School of Computer & Information 是實(shí)現(xiàn)過程集成及控制集成的基礎(chǔ)。過程集成是按照是實(shí)現(xiàn)過程集成及控制集成的基礎(chǔ)。過程集成是按照具體軟件開發(fā)過程的要求進(jìn)行工具的選擇與組

10、合,控具體軟件開發(fā)過程的要求進(jìn)行工具的選擇與組合,控制集成并行工具之間的通信和協(xié)同工作。制集成并行工具之間的通信和協(xié)同工作。School of Computer & Information 包括環(huán)境總界面和由它實(shí)行統(tǒng)一控制的各環(huán)境部件及包括環(huán)境總界面和由它實(shí)行統(tǒng)一控制的各環(huán)境部件及工具的界面。統(tǒng)一的、具有一致視感工具的界面。統(tǒng)一的、具有一致視感(Look & Feel)的的用戶界面是軟件開發(fā)環(huán)境的重要特征,是充分發(fā)揮環(huán)用戶界面是軟件開發(fā)環(huán)境的重要特征,是充分發(fā)揮環(huán)境的優(yōu)越性、高效地使用工具并減輕用戶的學(xué)習(xí)負(fù)擔(dān)境的優(yōu)越性、高效地使用工具并減輕用戶的學(xué)習(xí)負(fù)擔(dān)的保證。的保證。Scho

11、ol of Computer & Information l(1)軟件開發(fā)的一致性及完整性維護(hù);軟件開發(fā)的一致性及完整性維護(hù); l(2)配置管理及版本控制;配置管理及版本控制; l(3)數(shù)據(jù)的多種表示形式及其在不同形式之間自動(dòng)轉(zhuǎn)換;數(shù)據(jù)的多種表示形式及其在不同形式之間自動(dòng)轉(zhuǎn)換; l(4)信息的自動(dòng)檢索及更新;信息的自動(dòng)檢索及更新; l(5)項(xiàng)目控制和管理;項(xiàng)目控制和管理; l(6)對(duì)方法學(xué)的支持;對(duì)方法學(xué)的支持;School of Computer & Information l軟件開發(fā)方法軟件開發(fā)方法(Software Development Method)是指是指軟件開發(fā)過

12、程所遵循的辦法和步驟。軟件開發(fā)活動(dòng)的軟件開發(fā)過程所遵循的辦法和步驟。軟件開發(fā)活動(dòng)的目的是有效地得到一些工作產(chǎn)物,也就是一個(gè)運(yùn)行的目的是有效地得到一些工作產(chǎn)物,也就是一個(gè)運(yùn)行的系統(tǒng)及其支持文檔,并且滿足有關(guān)的質(zhì)量要求。軟件系統(tǒng)及其支持文檔,并且滿足有關(guān)的質(zhì)量要求。軟件開發(fā)是一種非常復(fù)雜的腦力勞動(dòng),所以經(jīng)常更多討論開發(fā)是一種非常復(fù)雜的腦力勞動(dòng),所以經(jīng)常更多討論的是軟件開發(fā)方法學(xué),指的是規(guī)則、方法和工具的集的是軟件開發(fā)方法學(xué),指的是規(guī)則、方法和工具的集成,既支持開發(fā),也支持以后的演變過程成,既支持開發(fā),也支持以后的演變過程(交付運(yùn)行后,交付運(yùn)行后,系統(tǒng)還會(huì)變化,或是為了改錯(cuò),或是為了功能的增減系統(tǒng)還

13、會(huì)變化,或是為了改錯(cuò),或是為了功能的增減)。School of Computer & Information 分析、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)分析、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)(測試驗(yàn)收測試驗(yàn)收)、演、演化化(維護(hù)維護(hù))School of Computer & Information 覆蓋開發(fā)全過程,并且便于在各階段間的過渡;覆蓋開發(fā)全過程,并且便于在各階段間的過渡; 便于在開發(fā)各階段中有關(guān)人員之間的通信;便于在開發(fā)各階段中有關(guān)人員之間的通信; 支持有效的解決問題的技術(shù);支持有效的解決問題的技術(shù); 支持系統(tǒng)設(shè)計(jì)和開發(fā)的各種不同途徑;支持系統(tǒng)設(shè)計(jì)和開發(fā)的各種不同途徑; 在開發(fā)過程中支持軟件正確性的校驗(yàn)

14、和驗(yàn)證;在開發(fā)過程中支持軟件正確性的校驗(yàn)和驗(yàn)證;軟件開發(fā)方法應(yīng)該考慮的一般因素School of Computer & Information 便于在系統(tǒng)需求中列入設(shè)計(jì)、實(shí)際和性能的便于在系統(tǒng)需求中列入設(shè)計(jì)、實(shí)際和性能的約束;約束; 支持設(shè)計(jì)師和其他技術(shù)人員的智力勞動(dòng);支持設(shè)計(jì)師和其他技術(shù)人員的智力勞動(dòng); 在系統(tǒng)的整個(gè)生存周期都支持它的演化;在系統(tǒng)的整個(gè)生存周期都支持它的演化; 受自動(dòng)化工具的支持。受自動(dòng)化工具的支持。此外,在開發(fā)的所有階段,有關(guān)的軟件產(chǎn)物都應(yīng)該是可見和可控此外,在開發(fā)的所有階段,有關(guān)的軟件產(chǎn)物都應(yīng)該是可見和可控的;軟件開發(fā)方法應(yīng)該可教學(xué)、可轉(zhuǎn)移,還應(yīng)該是開放的,即可的

15、;軟件開發(fā)方法應(yīng)該可教學(xué)、可轉(zhuǎn)移,還應(yīng)該是開放的,即可以容納新的技術(shù)、治理方法和新工具,并且與已有的標(biāo)準(zhǔn)相適應(yīng)以容納新的技術(shù)、治理方法和新工具,并且與已有的標(biāo)準(zhǔn)相適應(yīng)可稱為應(yīng)用型軟件開發(fā)環(huán)境??煞Q為應(yīng)用型軟件開發(fā)環(huán)境。School of Computer & Information w CRC卡w UMLSchool of Computer & Information CRC(Class-Responsibility-Collaborator)卡建模是一種簡單且有效卡建模是一種簡單且有效的面向?qū)ο蟮姆治黾夹g(shù)。它由三部分組的面向?qū)ο蟮姆治黾夹g(shù)。它由三部分組成:成:1. 類類(Cl

16、ass)2. 職責(zé)職責(zé)(Responsibility)3. 協(xié)作協(xié)作(Collaborator)School of Computer & Information 一個(gè)類代表許多類似的對(duì)象。而對(duì)象是系統(tǒng)模型一個(gè)類代表許多類似的對(duì)象。而對(duì)象是系統(tǒng)模型化中關(guān)注的事物。他們可以是一個(gè)人、地方、事化中關(guān)注的事物。他們可以是一個(gè)人、地方、事情、或任何對(duì)系統(tǒng)有重要性的概念。類名一般列情、或任何對(duì)系統(tǒng)有重要性的概念。類名一般列在在CRC卡的頂部??ǖ捻敳俊chool of Computer & Information 職責(zé)是類需要知道或做的任何事物。這些職責(zé)是類職責(zé)是類需要知道或做的任何事物

17、。這些職責(zé)是類自身所知的知識(shí),或類在執(zhí)行時(shí)所需的知識(shí)。自身所知的知識(shí),或類在執(zhí)行時(shí)所需的知識(shí)。School of Computer & Information 協(xié)作是指為獲取消息,或協(xié)助執(zhí)行活動(dòng)的其他類。協(xié)作是指為獲取消息,或協(xié)助執(zhí)行活動(dòng)的其他類。在特定情形下,與指定的類按一個(gè)設(shè)想共同完成在特定情形下,與指定的類按一個(gè)設(shè)想共同完成一個(gè)一個(gè)(或許多或許多)步驟。協(xié)作的類順著步驟。協(xié)作的類順著CRC卡的右邊卡的右邊排列。排列。 School of Computer & Information CRC模型是CRC卡的集合,它代表一個(gè)應(yīng)用域或問題域的全部或一部分。School of C

18、omputer & Information CRC模型是最普遍的用戶。圖中展示了一個(gè)航運(yùn)/存貨控制系統(tǒng)的CRC模型例子,展示的CRC卡將被放在一張書桌或工作桌上。注意卡的放置:相互協(xié)作的卡是彼此接近的,無關(guān)系的卡不能放在附近。 School of Computer & Information 1、 CRC模型組一起加入(模型組包括相關(guān)的客戶領(lǐng)域人員、設(shè)計(jì)者、記錄員、系統(tǒng)分析員等)。2、 安排模型房間。3、 進(jìn)行集體自由討論內(nèi)容根據(jù)此CRC模型的系統(tǒng)目標(biāo)進(jìn)行,如系統(tǒng)是為誰開發(fā)的?那些商業(yè)業(yè)務(wù)需要這個(gè)系統(tǒng)的何種支持?工作時(shí)需要什么信息?總之盡量按能達(dá)到系統(tǒng)要求實(shí)現(xiàn)的目標(biāo)進(jìn)行,包括進(jìn)

19、行活動(dòng)時(shí)對(duì)資源、條件、活動(dòng)及人員的要求。School of Computer & Information 4、 講解CRC模型技術(shù)(完成集體討論后,設(shè)計(jì)者將描述CRC模型過程。通常需要花費(fèi)十至十五分鐘,該過程包括創(chuàng)造幾個(gè)CRC卡范例,范例參考上圖)。5、 重復(fù)地執(zhí)行CRC模型步驟。6、 執(zhí)行用例情景試驗(yàn)用戶情景試驗(yàn)是一個(gè)任務(wù)過程模式,其中用戶們將積極地參與以保證需求是準(zhǔn)確的。基本的思想是一組商業(yè)領(lǐng)域?qū)<遥ㄒ簿褪强蛻舴剑?,設(shè)計(jì)者,系統(tǒng)分析員一步步通過一系列的用例證實(shí)CRC模能準(zhǔn)確地反映出用戶的需求。School of Computer & Information CRC模型就是一

20、種溝通方式,客戶方與開發(fā)方如何通過這種有效的、易實(shí)現(xiàn)、易操作的方式建立一個(gè)能描述準(zhǔn)確的、雙方達(dá)成共識(shí)的系統(tǒng)需求。CRC建模因?yàn)橛脩舴e極參與到模型的定義中,他們對(duì)工作的滿意度就會(huì)增加,并與開發(fā)者們并肩創(chuàng)造這個(gè)CRC模型,通過這個(gè)一連串的模型卡,雙方對(duì)待建的系統(tǒng)需求目標(biāo)達(dá)成共識(shí)。School of Computer & Information CRC模型只是一個(gè)面向?qū)ο髴?yīng)用的用戶需求定義的一部分。你也應(yīng)該考慮到用例,原型,和正式的需求文檔。是否要使用CRC建模,就根據(jù)項(xiàng)目、企業(yè)、客戶自身存在和所需的條件而定了 School of Computer & Information 面向?qū)?/p>

21、象的軟件過程面向?qū)ο蟮能浖^程- -噴泉模型噴泉模型 需求階段面向?qū)ο蠓治鲭A段面向?qū)ο笤O(shè)計(jì)階段編碼階段集成和測試階段運(yùn)行狀態(tài)進(jìn)一步開發(fā)維護(hù)期噴泉模型的生命周期與結(jié)構(gòu)化方法的生命周期是一致的,但噴泉模型的各個(gè)階段是迭代和無縫的。School of Computer & Information 面向?qū)ο蟮能浖^程面向?qū)ο蟮能浖^程-RUP -RUP RUP的二維開發(fā)模型橫軸是過程展開的生命周期特征,體現(xiàn)開發(fā)過程的動(dòng)態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括周期(Cycle)、階段(Phase)、迭代(Iteration)和里程碑(Milestone); 縱軸以內(nèi)容來組織為自然的邏輯活動(dòng),體現(xiàn)開發(fā)過程

22、的靜態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括活動(dòng)(Activity)、產(chǎn)物(Artifact)、工作者(Worker)和工作流(Workflow)。 School of Computer & Information RUPRUP的各個(gè)階段和里程碑的各個(gè)階段和里程碑- -橫向橫向 RUP中的軟件生命周期在時(shí)間上被分解為四個(gè)順序的階段 初始階段初始階段(Inception) (生命周期目標(biāo)里程碑 ) 前景文檔:對(duì)核心項(xiàng)目要求、關(guān)鍵性質(zhì)、主要限制的一般性的前景說明; 初始的用例模型(完成1020); 初始的項(xiàng)目術(shù)語表; 初始的商業(yè)用例,包括商業(yè)環(huán)境、驗(yàn)收規(guī)范以及成本預(yù)測; 初始的風(fēng)險(xiǎn)評(píng)估; 項(xiàng)目規(guī)劃

23、,其中明確階段和迭代; 商業(yè)模型,根據(jù)需要可選; 一個(gè)或多個(gè)原型;細(xì)化階段細(xì)化階段(Elaboration)(生命周期結(jié)構(gòu)里程碑) 構(gòu)造階段構(gòu)造階段(Construction)(初始運(yùn)行能力 )交付階段交付階段(Transition)(產(chǎn)品發(fā)布里程碑) 用例模型(至少完成80):識(shí)別出了所有的用例和角色,以及大多數(shù)用例的描述; 調(diào)整一些增加的需求,包括非功能性需求以及任何與特定用例無關(guān)的需求; 軟件體系結(jié)構(gòu)描述; 可執(zhí)行的體系結(jié)構(gòu)原型; 修訂后的風(fēng)險(xiǎn)表和商業(yè)用例; 整個(gè)項(xiàng)目的開發(fā)計(jì)劃,包括粗略項(xiàng)目規(guī)劃,顯示迭代過程以及相應(yīng)的評(píng)估準(zhǔn)則; 更新的開發(fā)用例,指定要使用的過程; 初步的用戶手冊(可選)

24、; 在特定平臺(tái)上集成的軟件產(chǎn)品; 用戶手冊; 對(duì)當(dāng)前版本的描述 ; beta測試確認(rèn)新系統(tǒng)達(dá)到用戶的預(yù)期; 與被取代的舊系統(tǒng)并行操作; 功能性數(shù)據(jù)庫的轉(zhuǎn)換; 用戶和維護(hù)人員培訓(xùn); 向市場、分銷商和銷售人員進(jìn)行新產(chǎn)品的展示;School of Computer & Information RUPRUP的核心工作流的核心工作流- -縱向縱向 描述如何為新的目標(biāo)組織開發(fā)一個(gè)構(gòu)想,并基于這個(gè)構(gòu)想在商業(yè)用例模型和商業(yè)對(duì)象模型中定義組織的過程,角色和責(zé)任。 描述系統(tǒng)應(yīng)該做什么,并使開發(fā)人員和用戶就這一描述達(dá)成共識(shí)。為了達(dá)到該目標(biāo),要對(duì)需要的功能和約束進(jìn)行提取、組織、文檔化;最重要的是理解系統(tǒng)所解決

25、問題的定義和范圍。 設(shè)計(jì)活動(dòng)以體系結(jié)構(gòu)設(shè)計(jì)為中心,體系結(jié)構(gòu)由若干結(jié)構(gòu)視圖來表達(dá),結(jié)構(gòu)視圖是整個(gè)設(shè)計(jì)的抽象和簡化。分析設(shè)計(jì)的結(jié)果是一個(gè)設(shè)計(jì)模型和一個(gè)可選的分析模型。 目的包括以層次化的子系統(tǒng)形式定義代碼的組織結(jié)構(gòu);以組件的形式(源文件、二進(jìn)制文件、可執(zhí)行文件)實(shí)現(xiàn)類和對(duì)象;將開發(fā)出的組件作為單元進(jìn)行測試以及集成由單個(gè)開發(fā)者(或小組)所產(chǎn)生的結(jié)果,使其成為可執(zhí)行的系統(tǒng)。 目的是驗(yàn)證對(duì)象間的交互作用,驗(yàn)證軟件中所有組件的正確集成,檢驗(yàn)所有的需求已被正確的實(shí)現(xiàn), 識(shí)別并確認(rèn)缺陷在軟件部署之前被提出并處理。RUP提出了迭代的方法,意味著在整個(gè)項(xiàng)目中進(jìn)行測試,從而盡可能早地發(fā)現(xiàn)缺陷,從根本上降低了修改缺陷

26、的成本。 目的是成功的生成版本并將軟件分發(fā)給最終用戶。部署工作流描述了那些與確保軟件產(chǎn)品對(duì)最終用戶具有可用性相關(guān)的活動(dòng),包括:軟件打包、生成軟件本身以外的產(chǎn)品、安裝軟件、為用戶提供幫助。在有些情況下,還可能包括計(jì)劃和進(jìn)行beta測試版、移植現(xiàn)有的軟件和數(shù)據(jù)以及正式驗(yàn)收。 描繪了如何在多個(gè)成員組成的項(xiàng)目中控制大量的產(chǎn)物。配置和變更管理工作流提供了準(zhǔn)則來管理演化系統(tǒng)中的多個(gè)變體,跟蹤軟件創(chuàng)建過程中的版本。同時(shí)也闡述了對(duì)產(chǎn)品修改原因、時(shí)間、人員保持審計(jì)記錄。 平衡各種可能產(chǎn)生沖突的目標(biāo),管理風(fēng)險(xiǎn),克服各種約束并成功交付使用戶滿意的產(chǎn)品。 目的是向軟件開發(fā)組織提供軟件開發(fā)環(huán)境,包括過程和工具。 Sch

27、ool of Computer & Information Jim RumbaughGrady BoochIvar JacobsonSchool of Computer & Information UML的簡介的簡介lUML(Unified Modeling Language)是一種構(gòu)建軟件系統(tǒng)和文檔的通用可視化建模語言。lUML能與所有的開發(fā)方法一同使用,可用于軟件開發(fā)的整個(gè)生命周期。lUML能表達(dá)系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)信息,并能管理復(fù)雜的系統(tǒng)模型,便于軟件團(tuán)隊(duì)之間的合作開發(fā)。lUML不是編程語言,但支持UML語言的工具可以提供從UML到各種編程語言的代碼生成,也可以提供從現(xiàn)有

28、程序逆向構(gòu)建UML模型。lUML并不是萬能的,它是一種離散的建模語言,對(duì)于特定的領(lǐng)域,比如:GUI、VLSI電路設(shè)計(jì)或基于規(guī)則的人工智能,用特定的語言和工具可能更合適。School of Computer & Information l最重要目標(biāo):UML是所有建模人員可以使用的通用建模語言。它包含主流建模方法的概念,從而可以替代現(xiàn)有的軟件分析和設(shè)計(jì)方法,比如:OMT,Booch,OOSE等。lUML不是完整的開發(fā)方法,它不包括逐步的開發(fā)流程,但它提供所有必要的概念,具備足夠的表達(dá)能力。lUML的另一個(gè)目標(biāo)是:能盡量簡潔地表達(dá)系統(tǒng)的模型。UML的目標(biāo)的目標(biāo)School of Comput

29、er & Information UML概念可以劃分為以下范圍:概念可以劃分為以下范圍: 系統(tǒng)需求系統(tǒng)需求 靜態(tài)結(jié)構(gòu)靜態(tài)結(jié)構(gòu) 動(dòng)態(tài)行為動(dòng)態(tài)行為 交互行為交互行為 物理實(shí)現(xiàn)物理實(shí)現(xiàn) 各種圖之間的關(guān)系各種圖之間的關(guān)系 模型組織模型組織 擴(kuò)展機(jī)制擴(kuò)展機(jī)制UML的主要概念的主要概念School of Computer & Information 用例視圖用例視圖(Use Cases View)從外部用戶從外部用戶的角度來描述系統(tǒng)的行為,它將系統(tǒng)功的角度來描述系統(tǒng)的行為,它將系統(tǒng)功能劃分為對(duì)用戶有意義的事務(wù),這些事能劃分為對(duì)用戶有意義的事務(wù),這些事務(wù)被稱為務(wù)被稱為用例用例,用戶被稱為用戶

30、被稱為執(zhí)行者執(zhí)行者,用用例視圖例視圖也就是描述活動(dòng)者在各個(gè)用例中也就是描述活動(dòng)者在各個(gè)用例中的參與情況,它指導(dǎo)所有的行為視圖。的參與情況,它指導(dǎo)所有的行為視圖。系統(tǒng)需求系統(tǒng)需求School of Computer & Information 靜態(tài)視圖靜態(tài)視圖(Static View),一個(gè)模型必須首先定,一個(gè)模型必須首先定義各種事物的內(nèi)部特征和相互之間的關(guān)系,應(yīng)義各種事物的內(nèi)部特征和相互之間的關(guān)系,應(yīng)用概念建模成用概念建模成類類,類描述事物的,類描述事物的屬性屬性和以及在和以及在這些屬性上的這些屬性上的操作操作。類之間可以存在不同的。類之間可以存在不同的關(guān)關(guān)系系,比如,比如泛化泛化(繼

31、承)、(繼承)、關(guān)聯(lián)關(guān)聯(lián)和和依賴依賴等,靜態(tài)等,靜態(tài)視圖表示成視圖表示成類圖類圖,靜態(tài)視圖在某一時(shí)刻的快照,靜態(tài)視圖在某一時(shí)刻的快照稱為稱為對(duì)象圖對(duì)象圖。靜態(tài)結(jié)構(gòu)靜態(tài)結(jié)構(gòu)School of Computer & Information 狀態(tài)機(jī)視圖狀態(tài)機(jī)視圖(State Machine View),通過對(duì)每,通過對(duì)每個(gè)類的對(duì)象的生命周期進(jìn)行建模,描述了對(duì)象個(gè)類的對(duì)象的生命周期進(jìn)行建模,描述了對(duì)象時(shí)間上的動(dòng)態(tài)行為。時(shí)間上的動(dòng)態(tài)行為。狀態(tài)機(jī)狀態(tài)機(jī)是由是由狀態(tài)狀態(tài)和和遷移遷移組組成的圖,狀態(tài)機(jī)通常附屬于類,描述類實(shí)例對(duì)成的圖,狀態(tài)機(jī)通常附屬于類,描述類實(shí)例對(duì)接受接受事件事件的響應(yīng)。的響應(yīng)。 活

32、動(dòng)視圖活動(dòng)視圖(Activity View)是利用狀態(tài)機(jī)對(duì)運(yùn)算是利用狀態(tài)機(jī)對(duì)運(yùn)算和和工作流工作流進(jìn)行建模的特殊形式。進(jìn)行建模的特殊形式。活動(dòng)圖活動(dòng)圖的狀態(tài)的狀態(tài)代表了運(yùn)算執(zhí)行的狀態(tài),而非一般對(duì)象的狀態(tài)代表了運(yùn)算執(zhí)行的狀態(tài),而非一般對(duì)象的狀態(tài),活動(dòng)圖和流程圖很相似,不過它支持并發(fā)。,活動(dòng)圖和流程圖很相似,不過它支持并發(fā)。動(dòng)態(tài)行為動(dòng)態(tài)行為School of Computer & Information 交互視圖交互視圖(Interaction View),對(duì)象通過交互來,對(duì)象通過交互來實(shí)現(xiàn)行為,交互視圖通過實(shí)現(xiàn)行為,交互視圖通過協(xié)作協(xié)作來進(jìn)行建模,協(xié)來進(jìn)行建模,協(xié)作具有結(jié)構(gòu)和行為兩個(gè)方面,

33、結(jié)構(gòu)包含為行為作具有結(jié)構(gòu)和行為兩個(gè)方面,結(jié)構(gòu)包含為行為方面而定義的一系列角色和關(guān)系,行為方面是方面而定義的一系列角色和關(guān)系,行為方面是綁定于角色的對(duì)象間的一系列交換的消息,這綁定于角色的對(duì)象間的一系列交換的消息,這些消息在協(xié)作中稱為些消息在協(xié)作中稱為交互交互,消息序列可用兩種,消息序列可用兩種圖來表示:圖來表示:順序圖順序圖(重點(diǎn)在消息的時(shí)間順序)(重點(diǎn)在消息的時(shí)間順序)和和協(xié)作圖協(xié)作圖(重點(diǎn)在交換消息的對(duì)象間的關(guān)系)(重點(diǎn)在交換消息的對(duì)象間的關(guān)系)。交互行為交互行為School of Computer & Information 物理視圖物理視圖(Physical View),許多系

34、統(tǒng)模型獨(dú),許多系統(tǒng)模型獨(dú)立于最終的實(shí)現(xiàn),在實(shí)現(xiàn)方面,必須充分考慮立于最終的實(shí)現(xiàn),在實(shí)現(xiàn)方面,必須充分考慮系統(tǒng)的重用性和性能。系統(tǒng)的重用性和性能。UML有兩種視圖來表有兩種視圖來表示系統(tǒng)的實(shí)現(xiàn):示系統(tǒng)的實(shí)現(xiàn):實(shí)現(xiàn)視圖實(shí)現(xiàn)視圖和和部署視圖部署視圖,實(shí)現(xiàn)視,實(shí)現(xiàn)視圖將可重用的系統(tǒng)片段打包成圖將可重用的系統(tǒng)片段打包成組件組件,部署視圖,部署視圖描述系統(tǒng)運(yùn)行時(shí)資源的物理分布,這些資源稱描述系統(tǒng)運(yùn)行時(shí)資源的物理分布,這些資源稱為為結(jié)點(diǎn)結(jié)點(diǎn)。物理實(shí)現(xiàn)物理實(shí)現(xiàn)School of Computer & Information 靜態(tài)視圖(類圖,對(duì)象圖),物理視圖(實(shí)靜態(tài)視圖(類圖,對(duì)象圖),物理視圖(實(shí)現(xiàn)

35、視圖,部署視圖)是描述系統(tǒng)的靜態(tài)結(jié)構(gòu)現(xiàn)視圖,部署視圖)是描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。 用例圖是描述系統(tǒng)的外部視圖。用例圖是描述系統(tǒng)的外部視圖。 活動(dòng)圖描述系統(tǒng)的外部活動(dòng)圖描述系統(tǒng)的外部/內(nèi)部視圖。內(nèi)部視圖。 交互視圖(順序圖,協(xié)作圖)描述系統(tǒng)的內(nèi)交互視圖(順序圖,協(xié)作圖)描述系統(tǒng)的內(nèi)部視圖。部視圖。 狀態(tài)圖描述單個(gè)類的動(dòng)態(tài)行為。狀態(tài)圖描述單個(gè)類的動(dòng)態(tài)行為。各種圖之間的關(guān)系各種圖之間的關(guān)系School of Computer & Information 模型管理視圖模型管理視圖(Model Management View),任何大系統(tǒng)必須劃分為較小的單元,以使人們?nèi)魏未笙到y(tǒng)必須劃分為較小的單元,

36、以使人們能在某一時(shí)刻只接觸有限的信息,不影響團(tuán)隊(duì)能在某一時(shí)刻只接觸有限的信息,不影響團(tuán)隊(duì)間的并行工作。模型是利用間的并行工作。模型是利用包包(Package)和和包包的依賴的依賴來進(jìn)行管理的。包是來進(jìn)行管理的。包是UML模型中通用模型中通用的層次組織結(jié)構(gòu),包上的依賴總結(jié)了包內(nèi)容的的層次組織結(jié)構(gòu),包上的依賴總結(jié)了包內(nèi)容的依賴關(guān)系。依賴關(guān)系。模型組織模型組織School of Computer & Information 擴(kuò)展機(jī)制擴(kuò)展機(jī)制(Extension Mechanisms),UML能能滿足絕大部分系統(tǒng)建模的需要,但任何語言都滿足絕大部分系統(tǒng)建模的需要,但任何語言都不是萬能的,它必須

37、考慮一定的擴(kuò)展機(jī)制,不是萬能的,它必須考慮一定的擴(kuò)展機(jī)制,UML的擴(kuò)展機(jī)制包括的擴(kuò)展機(jī)制包括約束約束、標(biāo)簽值標(biāo)簽值和和原型原型。這些擴(kuò)展機(jī)制可以用來為特定領(lǐng)域剪裁這些擴(kuò)展機(jī)制可以用來為特定領(lǐng)域剪裁UML的配置,這樣帶來一些好處:根據(jù)自身需要來的配置,這樣帶來一些好處:根據(jù)自身需要來使用建模語言。使用建模語言。擴(kuò)展機(jī)制擴(kuò)展機(jī)制School of Computer & Information l一個(gè)模型必須首先定義各種事物的內(nèi)部特征和一個(gè)模型必須首先定義各種事物的內(nèi)部特征和相互之間的關(guān)系,下面介紹一些基本的模型元相互之間的關(guān)系,下面介紹一些基本的模型元素:素:分類:n類(Class)n接口

38、(Interface)n子系統(tǒng)(Sub System)n執(zhí)行者(Actor)n用例(Use Cases)n組件(Component)n結(jié)點(diǎn)(Node)n注釋(Comment)關(guān)系:n關(guān)聯(lián)(Association)n泛化(Generalization)n依賴(Dependency)n實(shí)現(xiàn)(Realization)n約束(Constraint)靜態(tài)視圖:n類圖n對(duì)象圖靜態(tài)建模靜態(tài)建模School of Computer & Information l類類是具有相同屬性、操作和關(guān)系的對(duì)象集合的是具有相同屬性、操作和關(guān)系的對(duì)象集合的總稱。通常在總稱。通常在UML中類被畫成矩形,中類被畫成矩形,

39、l包括三個(gè)部分:名稱、屬性和操作。包括三個(gè)部分:名稱、屬性和操作。名稱:名稱:每個(gè)類都必須有一個(gè)名字,用來區(qū)分其它每個(gè)類都必須有一個(gè)名字,用來區(qū)分其它的類。類名是一個(gè)字符串,稱為簡單名字。路徑的類。類名是一個(gè)字符串,稱為簡單名字。路徑名字是在類名前加包含類的包名為前綴。例如名字是在類名前加包含類的包名為前綴。例如Wall、java:awt:Wall都是合法的類名。都是合法的類名。 屬性:屬性:類可以有任意多個(gè)屬性,也可以沒有屬性類可以有任意多個(gè)屬性,也可以沒有屬性。在類圖中屬性只要寫上名字就可以了,也可以。在類圖中屬性只要寫上名字就可以了,也可以在屬性名后跟上類型甚至缺省取值在屬性名后跟上類型

40、甚至缺省取值 。 操作:操作:操作是類的任意一個(gè)實(shí)例對(duì)象都可以調(diào)用操作是類的任意一個(gè)實(shí)例對(duì)象都可以調(diào)用的,并可能影響該對(duì)象行為的實(shí)現(xiàn)。的,并可能影響該對(duì)象行為的實(shí)現(xiàn)。 靜態(tài)建模靜態(tài)建模-類類School of Computer & Information 類名屬性操作School of Computer & Information l接口接口是未給出實(shí)現(xiàn)的對(duì)象行為的描述,是未給出實(shí)現(xiàn)的對(duì)象行為的描述,接口包含操作,但沒有屬性,一個(gè)或多接口包含操作,但沒有屬性,一個(gè)或多個(gè)類可以實(shí)現(xiàn)接口,每個(gè)類實(shí)現(xiàn)接口的個(gè)類可以實(shí)現(xiàn)接口,每個(gè)類實(shí)現(xiàn)接口的操作。操作。StringisEqual(St

41、ring) : BooleanHash() : IntegerHashableComparable接口標(biāo)記靜態(tài)建模靜態(tài)建模-接口接口School of Computer & Information l任何大系統(tǒng)都必須任何大系統(tǒng)都必須劃分為較小的單元?jiǎng)澐譃檩^小的單元,以便人們在某一,以便人們在某一時(shí)刻可以和有限的時(shí)刻可以和有限的信息工作,使團(tuán)隊(duì)信息工作,使團(tuán)隊(duì)的工作不相互影響的工作不相互影響。l包可以包含各種模包可以包含各種模型元素和其它的包型元素和其它的包,包之間還可能存,包之間還可能存在一定的依賴。在一定的依賴。FinancesCreditsAccountsBankInterface

42、靜態(tài)建模靜態(tài)建模-子系統(tǒng)(包)子系統(tǒng)(包)School of Computer & Information l執(zhí)行者執(zhí)行者是與系統(tǒng)、子系統(tǒng)或類交互的外部是與系統(tǒng)、子系統(tǒng)或類交互的外部人員,進(jìn)程或事務(wù)。在運(yùn)行時(shí),具體人員人員,進(jìn)程或事務(wù)。在運(yùn)行時(shí),具體人員會(huì)充當(dāng)系統(tǒng)的多個(gè)執(zhí)行者,不同用戶可能會(huì)充當(dāng)系統(tǒng)的多個(gè)執(zhí)行者,不同用戶可能會(huì)成為一個(gè)執(zhí)行者。會(huì)成為一個(gè)執(zhí)行者。StudentProfessorBilling SystemRegistrar靜態(tài)建模靜態(tài)建模-執(zhí)行者執(zhí)行者School of Computer & Information l用例用例是系統(tǒng)提供的外部可感知的功是系統(tǒng)提供的

43、外部可感知的功能單元,用例的目的是定義清晰的能單元,用例的目的是定義清晰的系統(tǒng)行為,但不解釋系統(tǒng)的內(nèi)部結(jié)系統(tǒng)行為,但不解釋系統(tǒng)的內(nèi)部結(jié)構(gòu)。構(gòu)。l用例可以與執(zhí)行者關(guān)聯(lián),也可以參用例可以與執(zhí)行者關(guān)聯(lián),也可以參與其他的多種關(guān)系,比如擴(kuò)展、泛與其他的多種關(guān)系,比如擴(kuò)展、泛化和包含等?;桶?。l用戶的動(dòng)態(tài)部分用交互視圖來描述用戶的動(dòng)態(tài)部分用交互視圖來描述,比如順序圖、協(xié)作圖。,比如順序圖、協(xié)作圖。l用例用橢圓來表示,用例名標(biāo)在橢用例用橢圓來表示,用例名標(biāo)在橢圓下方,用實(shí)線與同自身通信的用圓下方,用實(shí)線與同自身通信的用戶相連。戶相連。Maintain Curriculum靜態(tài)建模靜態(tài)建模-用例用例Sc

44、hool of Computer & Information lRegistrar - maintain the curriculumlProfessor - request rosterlStudent - maintain schedulelBilling System - receive billing information from registrationMaintain ScheduleMaintain CurriculumRequest Course Roster靜態(tài)建模靜態(tài)建模-用例用例School of Computer & Information l用例圖

45、用例圖描述執(zhí)行者在各個(gè)用例中的參與描述執(zhí)行者在各個(gè)用例中的參與情況。情況。StudentRegistrarProfessorMaintain ScheduleMaintain CurriculumRequest Course RosterBilling System靜態(tài)建模靜態(tài)建模-用例圖用例圖School of Computer & Information l組件組件是可重用的系統(tǒng)片段,具有良是可重用的系統(tǒng)片段,具有良好好 定義接口的物理實(shí)現(xiàn)單元。每定義接口的物理實(shí)現(xiàn)單元。每個(gè)組件個(gè)組件 包含了系統(tǒng)設(shè)計(jì)中某些類包含了系統(tǒng)設(shè)計(jì)中某些類的實(shí)現(xiàn)。的實(shí)現(xiàn)。l組件設(shè)計(jì)的原則組件設(shè)計(jì)的原則:良好

46、的組件不直:良好的組件不直接接 依賴于其它組件,而是依賴于依賴于其它組件,而是依賴于其它組其它組 件所支持的接口。這樣的件所支持的接口。這樣的好處是系統(tǒng)好處是系統(tǒng) 中的組件可以被支持中的組件可以被支持相同接口的組件相同接口的組件 所取代。所取代。l一個(gè)組件可能是一個(gè)組件可能是源代碼源代碼、可執(zhí)行程可執(zhí)行程序序或或動(dòng)態(tài)庫動(dòng)態(tài)庫。Student靜態(tài)建模靜態(tài)建模-組件組件School of Computer & Information l結(jié)點(diǎn)結(jié)點(diǎn)代表系統(tǒng)運(yùn)行時(shí)的物理對(duì)象,結(jié)點(diǎn)通常代表系統(tǒng)運(yùn)行時(shí)的物理對(duì)象,結(jié)點(diǎn)通常擁有運(yùn)算能力,它可以容納對(duì)象和組件實(shí)例擁有運(yùn)算能力,它可以容納對(duì)象和組件實(shí)例。R

47、egistrationDatabaseLibraryDormMain Building靜態(tài)建模靜態(tài)建模-結(jié)點(diǎn)結(jié)點(diǎn)School of Computer & Information l注釋注釋用于解釋設(shè)計(jì)的思路,便于理解。用于解釋設(shè)計(jì)的思路,便于理解。l一個(gè)好的模型應(yīng)該有詳盡的注釋。一個(gè)好的模型應(yīng)該有詳盡的注釋。Representsan incorporated entityCompany注釋靜態(tài)建模靜態(tài)建模-注釋注釋School of Computer & Information l關(guān)聯(lián)關(guān)聯(lián)描述了系統(tǒng)中對(duì)象和其它實(shí)例之間的描述了系統(tǒng)中對(duì)象和其它實(shí)例之間的離散的連接,關(guān)聯(lián)是有序的,

48、它允許重復(fù)離散的連接,關(guān)聯(lián)是有序的,它允許重復(fù),關(guān)聯(lián)的實(shí)例是,關(guān)聯(lián)的實(shí)例是鏈鏈。l關(guān)聯(lián)至對(duì)象的連接點(diǎn)稱為關(guān)聯(lián)至對(duì)象的連接點(diǎn)稱為關(guān)聯(lián)端點(diǎn)關(guān)聯(lián)端點(diǎn),很多,很多信息被附在關(guān)聯(lián)端點(diǎn)上,它擁有角色名、信息被附在關(guān)聯(lián)端點(diǎn)上,它擁有角色名、重?cái)?shù)(多少個(gè)類的實(shí)例可以關(guān)聯(lián)于另一個(gè)重?cái)?shù)(多少個(gè)類的實(shí)例可以關(guān)聯(lián)于另一個(gè)類的實(shí)例),可見性等。類的實(shí)例),可見性等。l關(guān)聯(lián)有自己的名稱,可以擁有自己的屬性關(guān)聯(lián)有自己的名稱,可以擁有自己的屬性,這時(shí)關(guān)聯(lián)本身也是類,稱為,這時(shí)關(guān)聯(lián)本身也是類,稱為關(guān)聯(lián)類關(guān)聯(lián)類。靜態(tài)建模關(guān)系關(guān)聯(lián)靜態(tài)建模關(guān)系關(guān)聯(lián)School of Computer & Information Manage

49、sJobbossworkeremployeeemployer1.*0.1CompanyPersonJobSalary角色名重?cái)?shù)關(guān)聯(lián)名稱關(guān)聯(lián)類二元關(guān)聯(lián)自關(guān)聯(lián)School of Computer & Information l聚集聚集(Aggregation)用來表達(dá)整體部分)用來表達(dá)整體部分關(guān)系的關(guān)聯(lián)。關(guān)系的關(guān)聯(lián)。組合組合(Composition)是一)是一種聚集,是關(guān)聯(lián)更強(qiáng)的形式。種聚集,是關(guān)聯(lián)更強(qiáng)的形式。PolygonPoint13.*pointsContainsPolygonWindowSlider12ScrollbarHeader1Title11Panel1Body聚集組合靜態(tài)建

50、模關(guān)系聚合和組靜態(tài)建模關(guān)系聚合和組合合School of Computer & Information l泛化泛化是一般化和具體化之間的一種關(guān)系。是一般化和具體化之間的一種關(guān)系。l繼承繼承就是一種泛化關(guān)系,更一般化的描述稱為就是一種泛化關(guān)系,更一般化的描述稱為雙親雙親,雙親的雙親稱為,雙親的雙親稱為祖先祖先,更具體化的描述,更具體化的描述稱為稱為孩子孩子,在類的范疇,雙親對(duì)應(yīng)超類,孩子,在類的范疇,雙親對(duì)應(yīng)超類,孩子對(duì)應(yīng)子類。對(duì)應(yīng)子類。TreeOakElmBirch孩子雙親PersonStudentGraduate祖先靜態(tài)建模關(guān)系泛化靜態(tài)建模關(guān)系泛化School of Computer

51、 & Information l多重繼承多重繼承:一個(gè)孩子可以從多個(gè)雙親繼承屬性和:一個(gè)孩子可以從多個(gè)雙親繼承屬性和方法。多重繼承可能存在方法。多重繼承可能存在沖突沖突,因?yàn)楸焕^承的雙,因?yàn)楸焕^承的雙親可能存在相同的類聲明,這時(shí),最好顯式解決親可能存在相同的類聲明,這時(shí),最好顯式解決沖突問題。沖突問題。AssistantTeacherStudent靜態(tài)建模關(guān)系多重繼承靜態(tài)建模關(guān)系多重繼承School of Computer & Information l依賴依賴指明兩個(gè)或兩個(gè)以上模型元素之間的指明兩個(gè)或兩個(gè)以上模型元素之間的關(guān)系。關(guān)系。l依賴有很多種類,比如:實(shí)現(xiàn)(依賴有很多種

52、類,比如:實(shí)現(xiàn)(realize)、使用、(、使用、(usage)、實(shí)例化()、實(shí)例化(instantiate)、調(diào)用()、調(diào)用(call),派生(),派生(derive)、訪問)、訪問(access)、引入()、引入(import)、友元()、友元(friend)等等。)等等。Application ServerDataBase依賴類型靜態(tài)建模關(guān)系依賴靜態(tài)建模關(guān)系依賴School of Computer & Information l實(shí)現(xiàn)實(shí)現(xiàn)是依賴的一種,但由于它具有特殊意是依賴的一種,但由于它具有特殊意義,所以將它獨(dú)立講述。實(shí)現(xiàn)是連接說明義,所以將它獨(dú)立講述。實(shí)現(xiàn)是連接說明和實(shí)現(xiàn)之間

53、的關(guān)系。和實(shí)現(xiàn)之間的關(guān)系。StringisEqual(String) : BooleanHash() : IntegerComparableComparableisEqual(String) : BooleanHash() : Integer實(shí)現(xiàn)特殊的實(shí)現(xiàn)標(biāo)記靜態(tài)建模關(guān)系實(shí)現(xiàn)靜態(tài)建模關(guān)系實(shí)現(xiàn)School of Computer & Information l約束約束用來表示各種限制,如關(guān)聯(lián)路徑上的限制用來表示各種限制,如關(guān)聯(lián)路徑上的限制,和屬性特征檢測(存在、所有)。,和屬性特征檢測(存在、所有)。PersonCommitteeMember-of約束Chair-ofsubset靜態(tài)建模

54、關(guān)系約束靜態(tài)建模關(guān)系約束School of Computer & Information l靜態(tài)視圖靜態(tài)視圖是是UML的基礎(chǔ),靜態(tài)視圖表示為類的基礎(chǔ),靜態(tài)視圖表示為類圖,主要是描述類和類之間的關(guān)系。圖,主要是描述類和類之間的關(guān)系。繼承關(guān)聯(lián)PersonHouseresidence0.*owner0.*FinancialInstitutionclientcreditor0.*0.*Mortgageprincipalrateterm關(guān)聯(lián)類ordered0.*1BankTrustCompany靜態(tài)建模類圖靜態(tài)建模類圖School of Computer & Information l對(duì)

55、象圖是系統(tǒng)在某一時(shí)刻的快照。對(duì)象圖是系統(tǒng)在某一時(shí)刻的快照。Smith : Personcottage : Househome : Housefirst : Mortgagesecond : MortgageRoyalBank : Bank鏈靜態(tài)建模對(duì)象圖靜態(tài)建模對(duì)象圖School of Computer & Information l狀態(tài)機(jī)圖狀態(tài)機(jī)圖l用例圖用例圖l活動(dòng)圖活動(dòng)圖l順序圖順序圖l協(xié)作圖協(xié)作圖動(dòng)態(tài)建模動(dòng)態(tài)建模School of Computer & Information l狀態(tài)機(jī)圖狀態(tài)機(jī)圖是對(duì)單個(gè)類的對(duì)象的生命周期進(jìn)行建模,描述是對(duì)單個(gè)類的對(duì)象的生命周期進(jìn)行建模,

56、描述了對(duì)象時(shí)間上的動(dòng)態(tài)行為,每個(gè)對(duì)象被認(rèn)為是了對(duì)象時(shí)間上的動(dòng)態(tài)行為,每個(gè)對(duì)象被認(rèn)為是事件驅(qū)動(dòng)事件驅(qū)動(dòng)的孤立實(shí)體。的孤立實(shí)體。l狀態(tài)機(jī)圖是由狀態(tài)機(jī)圖是由狀態(tài)狀態(tài)和和躍遷躍遷組成的圖,通常狀態(tài)機(jī)附屬于組成的圖,通常狀態(tài)機(jī)附屬于類,描述類實(shí)例對(duì)接受事件的響應(yīng)。類,描述類實(shí)例對(duì)接受事件的響應(yīng)。l事件事件表達(dá)對(duì)象間的調(diào)用、顯式信號(hào)、值的改變或時(shí)間的表達(dá)對(duì)象間的調(diào)用、顯式信號(hào)、值的改變或時(shí)間的推移。推移。 調(diào)用事件、變更事件、信號(hào)事件、時(shí)間事件調(diào)用事件、變更事件、信號(hào)事件、時(shí)間事件l狀態(tài)狀態(tài)描述對(duì)象生命周期的一段時(shí)間,可以是等待其它事描述對(duì)象生命周期的一段時(shí)間,可以是等待其它事件時(shí)所處的時(shí)間,或是執(zhí)行某一

57、活動(dòng)時(shí)所處的時(shí)間,狀件時(shí)所處的時(shí)間,或是執(zhí)行某一活動(dòng)時(shí)所處的時(shí)間,狀態(tài)分為態(tài)分為簡單狀態(tài)簡單狀態(tài)和和復(fù)合狀態(tài)復(fù)合狀態(tài)。動(dòng)態(tài)建模動(dòng)態(tài)建模-狀態(tài)機(jī)圖狀態(tài)機(jī)圖School of Computer & Information l躍遷躍遷定義對(duì)象對(duì)某一事件發(fā)生的反應(yīng),通常,定義對(duì)象對(duì)某一事件發(fā)生的反應(yīng),通常,遷移具有遷移具有觸發(fā)事件觸發(fā)事件、躍遷條件躍遷條件、動(dòng)作動(dòng)作和和目標(biāo)狀目標(biāo)狀態(tài)態(tài)。l躍遷的種類有躍遷的種類有外部躍遷外部躍遷和和內(nèi)部躍遷內(nèi)部躍遷。外部躍遷。外部躍遷是最普通的躍遷,會(huì)發(fā)生狀態(tài)改變;內(nèi)部躍遷是最普通的躍遷,會(huì)發(fā)生狀態(tài)改變;內(nèi)部躍遷不發(fā)生狀態(tài)改變。不發(fā)生狀態(tài)改變。l躍遷有兩個(gè)隱式

58、動(dòng)作:躍遷有兩個(gè)隱式動(dòng)作:進(jìn)入動(dòng)作進(jìn)入動(dòng)作和和退出動(dòng)作退出動(dòng)作。無論何時(shí)進(jìn)入和退出時(shí)都要執(zhí)行,這方便進(jìn)入無論何時(shí)進(jìn)入和退出時(shí)都要執(zhí)行,這方便進(jìn)入時(shí)進(jìn)行初始化工作,退出時(shí)進(jìn)行資源的釋放工時(shí)進(jìn)行初始化工作,退出時(shí)進(jìn)行資源的釋放工作。作。動(dòng)態(tài)建模動(dòng)態(tài)建模-狀態(tài)機(jī)圖狀態(tài)機(jī)圖School of Computer & Information createdreadystart/master.ready()poll/master.ack()stop/初始狀態(tài)結(jié)束狀態(tài)狀態(tài)機(jī)狀態(tài)觸發(fā)事件動(dòng)作表達(dá)式躍遷School of Computer & Information l用例圖用例圖描述各個(gè)執(zhí)行者在

59、各個(gè)用例中的參與情描述各個(gè)執(zhí)行者在各個(gè)用例中的參與情況,描述系統(tǒng)為用戶所感知的外部視圖。況,描述系統(tǒng)為用戶所感知的外部視圖。l用例圖的功能:用例圖的功能: 捕獲系統(tǒng)用戶需求捕獲系統(tǒng)用戶需求 描述系統(tǒng)邊界描述系統(tǒng)邊界 指明系統(tǒng)外部行為指明系統(tǒng)外部行為 指導(dǎo)系統(tǒng)開發(fā)者的功能開發(fā)指導(dǎo)系統(tǒng)開發(fā)者的功能開發(fā) 系統(tǒng)建模的起點(diǎn),指導(dǎo)所有的類圖和交互圖的設(shè)系統(tǒng)建模的起點(diǎn),指導(dǎo)所有的類圖和交互圖的設(shè)計(jì)計(jì) 產(chǎn)生測試用例,用戶文檔產(chǎn)生測試用例,用戶文檔 估計(jì)項(xiàng)目大小和進(jìn)度。估計(jì)項(xiàng)目大小和進(jìn)度。動(dòng)態(tài)建模動(dòng)態(tài)建模-用例圖用例圖School of Computer & Information CustomerSa

60、lesmanSupplierSupervisorSaleManagementSupply執(zhí)行者用例系統(tǒng)邊界School of Computer & Information l活動(dòng)圖活動(dòng)圖是用狀態(tài)機(jī)對(duì)工作流進(jìn)行建模的特殊形是用狀態(tài)機(jī)對(duì)工作流進(jìn)行建模的特殊形式,它和流程圖很類似,不過它支持并發(fā)控制式,它和流程圖很類似,不過它支持并發(fā)控制。l活動(dòng)圖一般不描述所有的運(yùn)算細(xì)節(jié),它顯示活活動(dòng)圖一般不描述所有的運(yùn)算細(xì)節(jié),它顯示活動(dòng)的流,但不顯示執(zhí)行活動(dòng)的對(duì)象。動(dòng)的流,但不顯示執(zhí)行活動(dòng)的對(duì)象。l活動(dòng)圖處于系統(tǒng)的外部和內(nèi)部視圖之間,所以活動(dòng)圖處于系統(tǒng)的外部和內(nèi)部視圖之間,所以它可以作為設(shè)計(jì)的起點(diǎn),為了完

61、成設(shè)計(jì),每個(gè)它可以作為設(shè)計(jì)的起點(diǎn),為了完成設(shè)計(jì),每個(gè)活動(dòng)必須擴(kuò)展成一個(gè)和多個(gè)操作,每個(gè)操作被活動(dòng)必須擴(kuò)展成一個(gè)和多個(gè)操作,每個(gè)操作被指派給特定的對(duì)象來實(shí)現(xiàn)。指派給特定的對(duì)象來實(shí)現(xiàn)。l將商業(yè)組織控制的活動(dòng)劃分在一起,這類劃分將商業(yè)組織控制的活動(dòng)劃分在一起,這類劃分可以通過分隔的區(qū)域來表達(dá),由于它們的外觀可以通過分隔的區(qū)域來表達(dá),由于它們的外觀,每個(gè)區(qū)域稱為,每個(gè)區(qū)域稱為泳道泳道(swimlane)。)。動(dòng)態(tài)建模動(dòng)態(tài)建模-活動(dòng)圖活動(dòng)圖School of Computer & Information CustomerSalesStockroomRequestServicePayTake OrderFill OrderDeliver

溫馨提示

  • 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論