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

下載本文檔

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

文檔簡介

1、School of Computer & Information 主講人主講人: : 邵邵 堃堃School of Computer & Information 軟件開發(fā)環(huán)境重點教授面向軟件開發(fā)過程的各類軟件軟件開發(fā)環(huán)境重點教授面向軟件開發(fā)過程的各類軟件開發(fā)工具和使用方法。開發(fā)工具和使用方法。 講述重點:講述重點: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é)生自己查找資料,然后做報告);己查找資料,然后做報告);School of Computer & Information 3.了解針對這些開發(fā)方法的主要工具軟件(學(xué)生自己查了解針對這些開發(fā)方法的主要工具軟件(學(xué)生自己查找資料,然后做報告),重點介紹面向?qū)ο箝_發(fā)方法找資料,然后做報告),重點介紹面向?qū)ο箝_發(fā)方法UML,及其開發(fā)工具,及其開發(fā)工具Rational Rose(講述為主講述為主)。軟件。軟件開發(fā)工具、軟件測試工具和軟件開發(fā)過程項目管理工開發(fā)工具、軟件測試工具和軟件開發(fā)過程項目管理工具;具;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ā)和維護而使用的一組軟件,簡稱開發(fā)和維護而使用的一組軟件,簡稱SDE。l它由軟件工具和環(huán)境集成機制構(gòu)成,前者用以它由軟件工具和環(huán)境集成機

4、制構(gòu)成,前者用以支持軟件開發(fā)的相關(guān)過程、活動和任務(wù),后者支持軟件開發(fā)的相關(guān)過程、活動和任務(wù),后者為工具集成和軟件的開發(fā)、維護及治理提供統(tǒng)為工具集成和軟件的開發(fā)、維護及治理提供統(tǒng)一的支持。一的支持。 School of Computer & Information Software Engineering注:軟件工程的三個基本要素:方法、工具和過程過程:規(guī)定了完成各項任務(wù)的過程;方法:完成軟件開發(fā)的各項任務(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è)計等階段支持系統(tǒng)規(guī)劃、分析、設(shè)計等階段的活動的活動);l后端開發(fā)環(huán)境后端開發(fā)環(huán)境(支持編程、測試等階段的活動支持編程、測試等階段的活動

6、);l軟件維護環(huán)境;軟件維護環(huán)境;l逆向工程環(huán)境;逆向工程環(huán)境; 此類環(huán)境往往可通過對功能較全的環(huán)境進行剪裁此類環(huán)境往往可通過對功能較全的環(huá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)境由工具集和集成機制兩部軟件開發(fā)環(huán)境由工具集和集成機制兩部分構(gòu)成,工具集和集成機制間的關(guān)系如分構(gòu)成,工具集和集成機制間的關(guān)系如同同“插件插

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

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

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

10、合,控具體軟件開發(fā)過程的要求進行工具的選擇與組合,控制集成并行工具之間的通信和協(xié)同工作。制集成并行工具之間的通信和協(xié)同工作。School of Computer & Information 包括環(huán)境總界面和由它實行統(tǒng)一控制的各環(huán)境部件及包括環(huán)境總界面和由它實行統(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í)負擔(dān)境的優(yōu)越性、高效地使用工具并減輕用戶的學(xué)習(xí)負擔(dān)的保證。的保證。Scho

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

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

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

14、和驗證;在開發(fā)過程中支持軟件正確性的校驗和驗證;軟件開發(fā)方法應(yīng)該考慮的一般因素School of Computer & Information 便于在系統(tǒng)需求中列入設(shè)計、實際和性能的便于在系統(tǒng)需求中列入設(shè)計、實際和性能的約束;約束; 支持設(shè)計師和其他技術(shù)人員的智力勞動;支持設(shè)計師和其他技術(shù)人員的智力勞動; 在系統(tǒng)的整個生存周期都支持它的演化;在系統(tǒ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 一個類代表許多類似的對象。而對象是系統(tǒng)模型一個類代表許多類似的對象。而對象是系統(tǒng)模型化中關(guān)注的事物。他們可以是一個人、地方、事化中關(guān)注的事物。他們可以是一個人、地方、事情、或任何對系統(tǒng)有重要性的概念。類名一般列情、或任何對系統(tǒng)有重要性的概念。類名一般列在在CRC卡的頂部??ǖ捻敳?。School of Computer & Information 職責(zé)是類需要知道或做的任何事物。這些職責(zé)是類職責(zé)是類需要知道或做的任何事物

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

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

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

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

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

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

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

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

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

26、的成本。 目的是成功的生成版本并將軟件分發(fā)給最終用戶。部署工作流描述了那些與確保軟件產(chǎn)品對最終用戶具有可用性相關(guān)的活動,包括:軟件打包、生成軟件本身以外的產(chǎn)品、安裝軟件、為用戶提供幫助。在有些情況下,還可能包括計劃和進行beta測試版、移植現(xiàn)有的軟件和數(shù)據(jù)以及正式驗收。 描繪了如何在多個成員組成的項目中控制大量的產(chǎn)物。配置和變更管理工作流提供了準(zhǔn)則來管理演化系統(tǒng)中的多個變體,跟蹤軟件創(chuàng)建過程中的版本。同時也闡述了對產(chǎn)品修改原因、時間、人員保持審計記錄。 平衡各種可能產(chǎn)生沖突的目標(biāo),管理風(fēng)險,克服各種約束并成功交付使用戶滿意的產(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ā)的整個生命周期。lUML能表達系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)信息,并能管理復(fù)雜的系統(tǒng)模型,便于軟件團隊之間的合作開發(fā)。lUML不是編程語言,但支持UML語言的工具可以提供從UML到各種編程語言的代碼生成,也可以提供從現(xiàn)有

28、程序逆向構(gòu)建UML模型。lUML并不是萬能的,它是一種離散的建模語言,對于特定的領(lǐng)域,比如:GUI、VLSI電路設(shè)計或基于規(guī)則的人工智能,用特定的語言和工具可能更合適。School of Computer & Information l最重要目標(biāo):UML是所有建模人員可以使用的通用建模語言。它包含主流建模方法的概念,從而可以替代現(xiàn)有的軟件分析和設(shè)計方法,比如:OMT,Booch,OOSE等。lUML不是完整的開發(fā)方法,它不包括逐步的開發(fā)流程,但它提供所有必要的概念,具備足夠的表達能力。lUML的另一個目標(biāo)是:能盡量簡潔地表達系統(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) 動態(tài)行為動態(tài)行為 交互行為交互行為 物理實現(xiàn)物理實現(xiàn) 各種圖之間的關(guān)系各種圖之間的關(guān)系 模型組織模型組織 擴展機制擴展機制UML的主要概念的主要概念School of Computer & Information 用例視圖用例視圖(Use Cases View)從外部用戶從外部用戶的角度來描述系統(tǒng)的行為,它將系統(tǒng)功的角度來描述系統(tǒng)的行為,它將系統(tǒng)功能劃分為對用戶有意義的事務(wù),這些事能劃分為對用戶有意義的事務(wù),這些事務(wù)被稱為務(wù)被稱為用例用例,用戶被稱為用戶

30、被稱為執(zhí)行者執(zhí)行者,用用例視圖例視圖也就是描述活動者在各個用例中也就是描述活動者在各個用例中的參與情況,它指導(dǎo)所有的行為視圖。的參與情況,它指導(dǎo)所有的行為視圖。系統(tǒng)需求系統(tǒng)需求School of Computer & Information 靜態(tài)視圖靜態(tài)視圖(Static View),一個模型必須首先定,一個模型必須首先定義各種事物的內(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)視圖在某一時刻的快照,靜態(tài)視圖在某一時刻的快照稱為稱為對象圖對象圖。靜態(tài)結(jié)構(gòu)靜態(tài)結(jié)構(gòu)School of Computer & Information 狀態(tài)機視圖狀態(tài)機視圖(State Machine View),通過對每,通過對每個類的對象的生命周期進行建模,描述了對象個類的對象的生命周期進行建模,描述了對象時間上的動態(tài)行為。時間上的動態(tài)行為。狀態(tài)機狀態(tài)機是由是由狀態(tài)狀態(tài)和和遷移遷移組組成的圖,狀態(tài)機通常附屬于類,描述類實例對成的圖,狀態(tài)機通常附屬于類,描述類實例對接受接受事件事件的響應(yīng)。的響應(yīng)。 活

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

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

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

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

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

37、考慮一定的擴展機制,不是萬能的,它必須考慮一定的擴展機制,UML的擴展機制包括的擴展機制包括約束約束、標(biāo)簽值標(biāo)簽值和和原型原型。這些擴展機制可以用來為特定領(lǐng)域剪裁這些擴展機制可以用來為特定領(lǐng)域剪裁UML的配置,這樣帶來一些好處:根據(jù)自身需要來的配置,這樣帶來一些好處:根據(jù)自身需要來使用建模語言。使用建模語言。擴展機制擴展機制School of Computer & Information l一個模型必須首先定義各種事物的內(nèi)部特征和一個模型必須首先定義各種事物的內(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é)點(Node)n注釋(Comment)關(guān)系:n關(guān)聯(lián)(Association)n泛化(Generalization)n依賴(Dependency)n實現(xiàn)(Realization)n約束(Constraint)靜態(tài)視圖:n類圖n對象圖靜態(tài)建模靜態(tài)建模School of Computer & Information l類類是具有相同屬性、操作和關(guān)系的對象集合的是具有相同屬性、操作和關(guān)系的對象集合的總稱。通常在總稱。通常在UML中類被畫成矩形,中類被畫成矩形,

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

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

41、ring) : BooleanHash() : IntegerHashableComparable接口標(biāo)記靜態(tài)建模靜態(tài)建模-接口接口School of Computer & Information l任何大系統(tǒng)都必須任何大系統(tǒng)都必須劃分為較小的單元劃分為較小的單元,以便人們在某一,以便人們在某一時刻可以和有限的時刻可以和有限的信息工作,使團隊信息工作,使團隊的工作不相互影響的工作不相互影響。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)或類交互的外部人員,進程或事務(wù)。在運行時,具體人員人員,進程或事務(wù)。在運行時,具體人員會充當(dāng)系統(tǒng)的多個執(zhí)行者,不同用戶可能會充當(dāng)系統(tǒng)的多個執(zhí)行者,不同用戶可能會成為一個執(zhí)行者。會成為一個執(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)系,比如擴展、泛與其他的多種關(guān)系,比如擴展、泛化和包含等。化和包含等。l用戶的動態(tài)部分用交互視圖來描述用戶的動態(tài)部分用交互視圖來描述,比如順序圖、協(xié)作圖。,比如順序圖、協(xié)作圖。l用例用橢圓來表示,用例名標(biāo)在橢用例用橢圓來表示,用例名標(biāo)在橢圓下方,用實線與同自身通信的用圓下方,用實線與同自身通信的用戶相連。戶相連。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í)行者在各個用例中的參與描述執(zhí)行者在各個用例中的參與情況。情況。StudentRegistrarProfessorMaintain ScheduleMaintain CurriculumRequest Course RosterBilling System靜態(tài)建模靜態(tài)建模-用例圖用例圖School of Computer & Information l組件組件是可重用的系統(tǒng)片段,具有良是可重用的系統(tǒng)片段,具有良好好 定義接口的物理實現(xiàn)單元。每定義接口的物理實現(xiàn)單元。每個組件個組件 包含了系統(tǒng)設(shè)計中某些類包含了系統(tǒng)設(shè)計中某些類的實現(xiàn)。的實現(xiàn)。l組件設(shè)計的原則組件設(shè)計的原則:良好

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

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

48、它允許重復(fù)離散的連接,關(guān)聯(lián)是有序的,它允許重復(fù),關(guān)聯(lián)的實例是,關(guān)聯(lián)的實例是鏈鏈。l關(guān)聯(lián)至對象的連接點稱為關(guān)聯(lián)至對象的連接點稱為關(guān)聯(lián)端點關(guān)聯(lián)端點,很多,很多信息被附在關(guān)聯(lián)端點上,它擁有角色名、信息被附在關(guān)聯(lián)端點上,它擁有角色名、重數(shù)(多少個類的實例可以關(guān)聯(lián)于另一個重數(shù)(多少個類的實例可以關(guān)聯(lián)于另一個類的實例),可見性等。類的實例),可見性等。l關(guān)聯(lián)有自己的名稱,可以擁有自己的屬性關(guān)聯(lián)有自己的名稱,可以擁有自己的屬性,這時關(guān)聯(lián)本身也是類,稱為,這時關(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角色名重數(shù)關(guān)聯(lián)名稱關(guān)聯(lián)類二元關(guān)聯(lián)自關(guān)聯(lián)School of Computer & Information l聚集聚集(Aggregation)用來表達整體部分)用來表達整體部分關(guān)系的關(guān)聯(lián)。關(guān)系的關(guān)聯(lián)。組合組合(Composition)是一)是一種聚集,是關(guān)聯(lián)更強的形式。種聚集,是關(guān)聯(lián)更強的形式。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)系,更一般化的描述稱為雙親雙親,雙親的雙親稱為,雙親的雙親稱為祖先祖先,更具體化的描述,更具體化的描述稱為稱為孩子孩子,在類的范疇,雙親對應(yīng)超類,孩子,在類的范疇,雙親對應(yīng)超類,孩子對應(yīng)子類。對應(yīng)子類。TreeOakElmBirch孩子雙親PersonStudentGraduate祖先靜態(tài)建模關(guān)系泛化靜態(tài)建模關(guān)系泛化School of Computer

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

52、類,比如:實現(xiàn)(realize)、使用、(、使用、(usage)、實例化()、實例化(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實現(xiàn)實現(xiàn)是依賴的一種,但由于它具有特殊意是依賴的一種,但由于它具有特殊意義,所以將它獨立講述。實現(xiàn)是連接說明義,所以將它獨立講述。實現(xiàn)是連接說明和實現(xiàn)之間

53、的關(guān)系。和實現(xiàn)之間的關(guān)系。StringisEqual(String) : BooleanHash() : IntegerComparableComparableisEqual(String) : BooleanHash() : Integer實現(xiàn)特殊的實現(xiàn)標(biāo)記靜態(tài)建模關(guān)系實現(xiàn)靜態(tài)建模關(guān)系實現(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對

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

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

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

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

59、各個用例中的參與情描述各個執(zhí)行者在各個用例中的參與情況,描述系統(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)建模的起點,指導(dǎo)所有的類圖和交互圖的設(shè)系統(tǒng)建模的起點,指導(dǎo)所有的類圖和交互圖的設(shè)計計 產(chǎn)生測試用例,用戶文檔產(chǎn)生測試用例,用戶文檔 估計項目大小和進度。估計項目大小和進度。動態(tài)建模動態(tài)建模-用例圖用例圖School of Computer & Information CustomerSa

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

61、成設(shè)計,每個它可以作為設(shè)計的起點,為了完成設(shè)計,每個活動必須擴展成一個和多個操作,每個操作被活動必須擴展成一個和多個操作,每個操作被指派給特定的對象來實現(xiàn)。指派給特定的對象來實現(xiàn)。l將商業(yè)組織控制的活動劃分在一起,這類劃分將商業(yè)組織控制的活動劃分在一起,這類劃分可以通過分隔的區(qū)域來表達,由于它們的外觀可以通過分隔的區(qū)域來表達,由于它們的外觀,每個區(qū)域稱為,每個區(qū)域稱為泳道泳道(swimlane)。)。動態(tài)建模動態(tài)建模-活動圖活動圖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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論