軟件工程理論與實踐 課件 6面向?qū)ο蠓椒▽W(xué)與UML_第1頁
軟件工程理論與實踐 課件 6面向?qū)ο蠓椒▽W(xué)與UML_第2頁
軟件工程理論與實踐 課件 6面向?qū)ο蠓椒▽W(xué)與UML_第3頁
軟件工程理論與實踐 課件 6面向?qū)ο蠓椒▽W(xué)與UML_第4頁
軟件工程理論與實踐 課件 6面向?qū)ο蠓椒▽W(xué)與UML_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

XXXXXX大學(xué)軟件工程SOFTWARE

ENGINEERING教師:XXXXX2024教學(xué)目標:(1)理解面向?qū)ο蠓椒ǖ囊睾蛢?yōu)點;(2)掌握面向?qū)ο蠼5幕靖拍?、術(shù)語及其圖形符號。第6章面向?qū)ο蠓椒▽W(xué)與UML6.1面向?qū)ο蠓椒ǜ攀?.面向?qū)ο蠓椒ǖ囊孛嫦驅(qū)ο缶褪鞘褂脤ο?、類和繼承機制,并且對象之間僅能通過傳遞消息實現(xiàn)彼此通信。面向?qū)ο蠓椒ㄓ幸韵滤膫€要素。(1)對象對象是系統(tǒng)中描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的一個基本單位,由一組屬性和對這組屬性進行操作的一組服務(wù)組成。面向?qū)ο蠓椒ㄕJ為客觀世界是由各種對象組成的,任何事物都是對象,復(fù)雜對象由簡單對象組成。(2)類類是具有相同屬性和服務(wù)的一組對象的集合。類是一個抽象的概念,可以把所有對象劃分成各種類,每個類都定義了一組數(shù)據(jù)和一組方法。其中,數(shù)據(jù)用于表示對象的靜態(tài)屬性,是對象的狀態(tài)信息。方法是允許用于類上的操作。(3)繼承按照基類與派生類的關(guān)系,把若干個對象類組成一個層次結(jié)構(gòu)的系統(tǒng)。在層次結(jié)構(gòu)中,下層的派生類具有和上層的基類相同的特性,稱為繼承。(4)消息消息是對象發(fā)出的服務(wù)請求。對象彼此之間僅能通過傳遞消息相互聯(lián)系。對象的消息都被封裝在該對象的類中,必須發(fā)送消息請求它執(zhí)行某個操作,處理某個數(shù)據(jù)。2.面向?qū)ο蠓椒ǖ膬?yōu)點(1)符合人類的思維習(xí)慣。

(2)穩(wěn)定性好。

(3)可復(fù)用性好。

(4)可維護性好。

6.2UML概述6.2.1UML的特點(1)統(tǒng)一標準。UML統(tǒng)一了面向?qū)ο蠼5幕靖拍?、語法以及圖形符號,建立了便于軟件開發(fā)交流的通用語言,已成為面向?qū)ο筌浖5臉藴收Z言。(2)面向?qū)ο?。UML是一種面向?qū)ο蟮臉藴式UZ言,模型元素的建立以對象為基礎(chǔ),與人類的思維模式相符,并且易學(xué)易用。(3)圖形建模。UML提供了多種模型圖,以圖形的方式實現(xiàn)系統(tǒng)建模,建模過程清晰、直觀,可用于復(fù)雜軟件系統(tǒng)的建模。(4)獨立于程序設(shè)計語言。UML是一種建模語言,整個建模過程與程序設(shè)計語言無關(guān)。UML的建模不依賴于任何程序設(shè)計語言。6.2.2UML的視圖1.用例視圖2.邏輯視圖3.并發(fā)視圖4.組件視圖5.配置視圖6.2.3UML的建模元素6.2.4UML模型1.用例模型2.靜態(tài)模型3.動態(tài)模型4.實現(xiàn)模型6.3用例建模機制6.4靜態(tài)建模機制6.4.1類圖類圖是與面向?qū)ο蠓椒P(guān)系最為密切的一種UML圖形,它的主體就是系統(tǒng)內(nèi)部處理的事物。類圖主要用于描述系統(tǒng)中所包含的類以及這些類相互之間的關(guān)系。當(dāng)描述類之間關(guān)系時,常省略屬性和方法,只保留類名。類圖示例,教師類與教材類之間是關(guān)聯(lián)關(guān)系;教材類依賴課程類。類圖設(shè)計將在7.3.2中詳細介紹。6.4.2對象圖對象是類的實例。因此,對象圖可以看作是類圖的實例,幫助開發(fā)人員理解比較復(fù)雜的類圖。類圖與對象圖之間的區(qū)別是對象圖中對象的名字下面要加下劃線。對象圖示例,如圖6-5所示,每個方框代表一個對象實例,每個對象實例采用“對象名:類名”的形式標識,并在標識的下面添加一條下劃線。如果要表示出該對象實例在該時間點上的狀態(tài),可以通過“屬性=值”的形式給出該對象當(dāng)時的屬性值。在對象圖中,對象之間的有關(guān)系用一條直線來表示,關(guān)系的名稱直接在直線上面標出。如果不需要區(qū)別同類型的對象,可以省略對象實例的名稱,此類對象稱為匿名對象。6.4.3包圖一個系統(tǒng)往往由很多類組成,為了對類進行管理可以對類進行分組。在UML中,對類進行分組的單位就是包。包類似于文件系統(tǒng)中文件夾的概念。包圖示例,包的圖示符號由兩個矩形組成,包的名字可以寫在小的矩形內(nèi),也可以寫在大的矩形內(nèi)。包與包之間可以建立依賴、泛化等關(guān)系。6.5動態(tài)建模機制6.5.1順序圖順序圖又被稱為序列圖,主要反映用戶、系統(tǒng)、對象之間的交互次序。順序圖的重點是顯示對象之間發(fā)送消息的時間順序。它也顯示對象之間的交互,也就是在系統(tǒng)執(zhí)行時某個指定時間點將發(fā)生的事情。順序圖示例,時間從上到下推移,順序圖顯示對象之間隨著時間的推移而交換的消息或函數(shù)。順序圖設(shè)計將在7.4.1中詳細介紹。6.5.2通信圖通信圖又稱為協(xié)作圖,用于顯示系統(tǒng)的動作協(xié)作,類似順序圖中的交互片段,但通信圖也顯示對象之間的關(guān)系。實際建模中,順序圖和通信圖的選擇需要根據(jù)項目實際需求而定。如果重在時間或順序,那么選擇順序圖;如果重在對象之間的關(guān)系,那么選擇通信圖。通信圖示例,如圖6-8所示,通信圖中可以出現(xiàn)角色,用于指明誰是過程的發(fā)起者。消息的名稱及其具體內(nèi)容一般在關(guān)系連線上直接標出,并用箭頭注明消息的方向。為了體現(xiàn)出消息之間存在的先后關(guān)系,在消息名稱的前面加上序號。6.5.3狀態(tài)機圖狀態(tài)機圖用來描述對象對外部響應(yīng)的歷史狀態(tài)序列,即描述對象所有可能的狀態(tài),以及哪些事件將導(dǎo)致狀態(tài)的改變,包括對象在各個不同狀態(tài)間的跳轉(zhuǎn),以及這些跳轉(zhuǎn)的外部觸發(fā)事件,即從狀態(tài)到狀態(tài)的控制流。狀態(tài)機圖示例。不是所有的類都需要畫狀態(tài)機圖,有明確意義的狀態(tài)、在不同狀態(tài)下行為有所不同的類才需要畫狀態(tài)機圖。6.5.4活動圖活動圖是狀態(tài)機圖的一種特殊情況。不需指明任何事件,只要動作被執(zhí)行,活動圖中的狀態(tài)就自動開始轉(zhuǎn)換。如果狀態(tài)轉(zhuǎn)換的觸發(fā)事件是內(nèi)部動作時,可用活動圖描述;當(dāng)狀態(tài)轉(zhuǎn)換的觸發(fā)事件是外部事件時,常用狀態(tài)機圖來表示?;顒訄D示例,在活動圖中,用例和對象的行為中的各個活動之間通常具有時間順序。每個活動用一個圓角矩形表示,判斷點使用菱形框表示?;顒訄D設(shè)計將在7.4.2中詳細介紹。6.6實現(xiàn)建模機制6.6.1組件圖組件圖根據(jù)系統(tǒng)的組件顯示系統(tǒng)代碼的物理結(jié)構(gòu)。組件可以是源代碼組件、二進制組件或一個可執(zhí)行的組件。組件圖示例。根據(jù)組件圖中顯示的組件之間的依賴關(guān)系,可以很容易地分析出其中某個組件的變化將會對其他組件產(chǎn)生

溫馨提示

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