




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、UML面向?qū)ο蠼Ec設(shè)計,主講:王仁春,UML面向?qū)ο蠼Ec設(shè)計,本課程內(nèi)容安排: 1、面向?qū)ο蟾拍钆cUML介紹: 2、類建模與類圖介紹: 3、用例與用例圖介紹: 4、順序圖介紹: 5、狀態(tài)圖介紹: 6、活動圖: 7、協(xié)作圖與構(gòu)建圖與部署圖介紹: 8、UML在軟件開發(fā)實例中的具體應(yīng)用。,第01講,面向?qū)ο蟾拍钆cUML介紹,本講目標(biāo):,1、面向?qū)ο蟮姆治龊驮O(shè)計 (OOAD) 2、面向?qū)ο蟮幕靖拍睢?3、模型與建模 4、UML的基本概念。 5、UML的組成。 6、一個UML案例。,1、面向?qū)ο蟮姆治龊驮O(shè)計 (OOAD),1.1、面向?qū)ο蟪绦蛟O(shè)計的引入:,隨著信息技術(shù)的發(fā)展,軟件復(fù)雜性的增長 使軟
2、件開發(fā)越來越困難 應(yīng)用軟件 網(wǎng)絡(luò) 操作系統(tǒng),軟件可能是人類制造出來的最復(fù)雜的實體,1.2、面向?qū)ο蟮姆治龊驮O(shè)計 (OOAD),面向?qū)ο蟮姆椒ò凑杖祟惖淖匀凰季S的方式,面對客觀世界建立軟件模型。 充分體現(xiàn)了對復(fù)雜系統(tǒng)進行分解、抽象、模塊化等思想,OOA依照用戶所理解的真實世界中的對象概念,發(fā)現(xiàn)和分析對象的內(nèi)部構(gòu)成和外部關(guān)系,建立準(zhǔn)確而簡潔的軟件系統(tǒng)的對象模型。,OOD 是根據(jù)已建立的系統(tǒng)對象模型,運用面向?qū)ο蠹夹g(shù),進行軟件設(shè)計。,2、面向?qū)ο蟮幕靖拍睢?面向?qū)ο蟮幕靖拍?類與對象 抽象 封裝 繼承 多態(tài),2.1 類和對象的概念,多邊形對象,多邊形類,屬性頂點邊的顏色填充顏色,方法繪制擦除移動
3、,抽象為,2.2類和對象的關(guān)系:抽象,考察特定應(yīng)用程序相關(guān)問題的某些方面的過程,Class,2.3類的特性:封裝,信息隱藏的過程 有選擇的數(shù)據(jù)隱藏 防止意外的數(shù)據(jù)破壞 更易于隔離和修復(fù)錯誤,類的特性:封裝,封裝是允許有選擇地隱藏類中的屬性和方法的過程,2.4類的特性:繼承,超類是有其他類繼承其特征和行為的類 繼承其他類的類稱為子類,2.5類的特性:多態(tài)性,同樣的函數(shù)在不同的類上有不同的行為,類:形狀 方法: 繪制 移動 初始化,子類,對各個子類實現(xiàn)的方法 將產(chǎn)生不同的結(jié)果,2.6 類的其他知識,接口: 接口是一個收集方法和常數(shù)表單的契約。當(dāng)類執(zhí)行一個接口,它就許諾聲明在那個接口中執(zhí)行所有的方法
4、。 在不同類中實現(xiàn)取用相同參數(shù)的同名成員函數(shù) 契約,設(shè)計的靈魂 重載 在同一類中實現(xiàn)取用不同參數(shù)的同名成員函數(shù) 消息 對象之間的交互 包含三個方面的內(nèi)容:消息的接收者;接收對象應(yīng)采用的方法;方法所需要的參數(shù),3、模型與建模,3.1什么是模型,模型是現(xiàn)實的簡化 模型提供了系統(tǒng)的設(shè)計圖。模型可以包含詳細的規(guī)劃,也可以包含概括性的規(guī)劃,這種規(guī)劃高度概括了正在考慮的系統(tǒng)。好的模型包括那些具有高度抽象性的元素。 模型有助于按原樣或根據(jù)需要使系統(tǒng)可視化 通過模型可以詳細說明系統(tǒng)的結(jié)構(gòu)或行為 模型可以提供一個指導(dǎo)我們構(gòu)建系統(tǒng)的模板 模型可以記錄已經(jīng)做出的決策,3.2、為什么要建模,建模是為了讓我們更好地理解
5、將要開發(fā)的系統(tǒng)。,3.3、建模要實現(xiàn)的目的,模型有助于按原樣或根據(jù)需要使系統(tǒng)可視化。 通過模型可以詳細說明系統(tǒng)的結(jié)構(gòu)或行為。 模型可以提供一個指導(dǎo)我們構(gòu)建系統(tǒng)的模板。 模型可以記錄已經(jīng)做出的決策。,3.4、建模的原則,選擇創(chuàng)建什么模型對于如何處理問題以及如何形成解決方案有很深遠的影響。 每一種模型可以在不同的精度級別上表示。 最佳模型與現(xiàn)實情況是緊密相連的。 一個模型不足以全面地反映實際情況。每個具有一定規(guī)模的系統(tǒng)都是通過一組幾乎獨立的模型來表示的。,4、UML的基本概念。,4.1UML 簡介,統(tǒng)一建模語言UML(Unified Modeling Language)是一種繪制軟件藍圖的標(biāo)準(zhǔn)語言
6、。 可以用UML對軟件密集型系統(tǒng)進行可視化、詳述、構(gòu)造和文檔化。 從企業(yè)信息系統(tǒng)到基于Web的分布式應(yīng)用,甚至嚴(yán)格的實時嵌入式系統(tǒng)都適合于用UML來建模。 它是一種富有表達力的語言,可以描述開發(fā)所需要的各種視圖,然后以此為基礎(chǔ)開發(fā)系統(tǒng)。,4.2UML的語義與語法:,1.UML語義描述基于UML的精確元模型定義。元模型為UML的所有元素在語法和語義上提供了簡單、一致、通用的定義性說明,使開發(fā)者能在語義上取得一致,消除了因人而異的最佳表達方法所造成的影響。此外UML還支持對元模型的擴展定義。 2 UML表示法定義UML符號的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法為系統(tǒng)建模提供了標(biāo)準(zhǔn)。
7、這些圖形符號和文字所表達的是應(yīng)用級的模型,在語義上它是UML元模型的實例,4.3在不同系統(tǒng)中的應(yīng)用,信息系統(tǒng):與數(shù)據(jù)庫有關(guān)的系統(tǒng) 技術(shù)系統(tǒng):處理和控制技術(shù)設(shè)備 嵌入式系統(tǒng):控制像移動電話這樣的設(shè)備以及家用設(shè)備 分布式系統(tǒng):使用 CORBA 和類似的面向?qū)ο髾C制分布在不同系統(tǒng)上的數(shù)據(jù)庫系統(tǒng) 系統(tǒng)軟件:操作系統(tǒng)和編寫系統(tǒng)實用程序 業(yè)務(wù)系統(tǒng):與工作流有關(guān)的系統(tǒng),5、UML的組成。,5.UML的組成,標(biāo)準(zhǔn)建模語言UML的重要內(nèi)容可以由下列五類圖(共9種圖形)來定義:,類圖:,類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖
8、描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個生命周期都是有效的。 以洗衣機為例:類圖如右下:,對象圖:,對象圖是類圖的實例,幾乎使用與類圖完全相同的標(biāo)識。他們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時間段存在。 如下面:左圖指明對象和它對應(yīng)的類名;右圖盡管指明了對象所屬類,但并未提供一個具體的對象名,這是匿名對象。,用例圖,用例圖:是從用戶角度描述系統(tǒng)功能,并指出各功能的操作者 。 以洗衣機系統(tǒng)如下:,狀態(tài)圖,狀態(tài)圖是對類圖的補充。在實用上并不需要為所有的類畫狀態(tài)圖,僅為那些有多個狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生
9、改變的類畫狀態(tài)圖。如下為一洗衣過程的狀態(tài)圖。,順序圖,順序圖顯示對象之間的動態(tài)合作關(guān)系,它強調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的交互。,活動圖,活動圖描述滿足用例要求所要進行的活動以及活動間的約束關(guān)系,有利于識別并行活動,協(xié)作圖,協(xié)作圖描述對象間的協(xié)作關(guān)系,協(xié)作圖跟順序圖相似,顯示對象間的動態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對象以及它們之間的關(guān)系。,構(gòu)件圖,構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個部件可能是一個資源代碼部件、一個二進制部件或一個可執(zhí)行部件。它包含邏輯類或?qū)崿F(xiàn)類的有關(guān)信息。部件圖有助于分析和理解部件之間的相互影響程度。,部署圖,配置圖定義系統(tǒng)中軟硬
10、件的物理體系結(jié)構(gòu)。它可以顯示實際的計算機和設(shè)備(用節(jié)點表示)以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。在節(jié)點內(nèi)部,放置可執(zhí)行部件和對象以顯示節(jié)點跟可執(zhí)行軟件單元的對應(yīng)關(guān)系。下面為不同品牌計算機的通信部署圖:,UML中幾個圖的關(guān)系,用例圖,需求,類圖(復(fù)雜),狀態(tài)圖,順序圖,類圖(簡單),活動圖,協(xié)作圖,UML應(yīng)用領(lǐng)域,最常用的是為軟件系統(tǒng)建模,但不限于軟件系統(tǒng)建模。UML還可用來描述其他非軟件系統(tǒng),如一個機構(gòu)的組成或機構(gòu)中的工作流程等。,UML應(yīng)用-需求分析階段,UML 的用例視圖可以表示客戶的需求,通過用例建??梢詫ν獠康慕巧约八鼈兯枰南到y(tǒng)功能建模。,UML應(yīng)用-分
11、析階段,分析階段主要考慮所要解決的問題??捎肬ML 的邏輯視圖和動態(tài)視圖來描述,類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu);協(xié)作圖、狀態(tài)圖、順序圖和活動圖描述系統(tǒng)的動態(tài)特征。 在分析階段,只為問題領(lǐng)域的類建模,不定義軟件系統(tǒng)的解決方案的細節(jié)(如用戶接口的類數(shù)據(jù)庫等)。,UML應(yīng)用-設(shè)計階段,在設(shè)計階段把分析階段的結(jié)果擴展成技術(shù)解決方案,加入新的類來提供技術(shù)基礎(chǔ)結(jié)構(gòu)-用戶接口,數(shù)據(jù)庫操作等。 分析階段的領(lǐng)域問題類被嵌入在這個技術(shù)基礎(chǔ)結(jié)構(gòu)中,設(shè)計階段的結(jié)果是構(gòu)造階段的詳細的規(guī)格說明。,UML應(yīng)用-構(gòu)造階段,在構(gòu)造(或程序設(shè)計)階段把設(shè)計階段的類轉(zhuǎn)換成某種面向?qū)ο蟪绦蛟O(shè)計語言的代碼。,UML應(yīng)用-測試階段,對系統(tǒng)的測試
12、通常分為單元測試、集成測試、系統(tǒng)測試和接受測試幾個不同級別。 不同的測試小組使用不同的UML 圖作為他們工作的基礎(chǔ)。單元測試使用類圖和類的規(guī)格說明;集成測試典型地使用組件圖和協(xié)作圖;而系統(tǒng)測試實現(xiàn)用例圖來確認系統(tǒng)的行為是否符合這些圖中的定義。,UML應(yīng)用-構(gòu)造階段,在構(gòu)造(或程序設(shè)計)階段把設(shè)計階段的類轉(zhuǎn)換成某種面向?qū)ο蟪绦蛟O(shè)計語言的代碼。,6、一個UML案例,順序圖案例,劉備,孔明,關(guān)羽,求戰(zhàn),請擬策略,張飛,請防守荊州,請防守 荊州前線,孫權(quán),曹操,請聯(lián)絡(luò)孫權(quán),請孫權(quán)領(lǐng)兵相助,借東風(fēng)火攻,火攻曹軍,劉備的責(zé)任?,劉備,求戰(zhàn),請擬策略,請防守荊州,請聯(lián)絡(luò)孫權(quán),我必須 迎戰(zhàn)曹操!,使用UML表
13、示,孔明,請擬策略,請聯(lián)絡(luò)孫權(quán),請孫權(quán)領(lǐng)兵相助,借東風(fēng)火攻,火攻曹軍,使用UML表示,關(guān)羽,張飛,請防守 荊州,請防守 荊州前線,關(guān)羽,防守荊州,張飛,防守荊州前線,關(guān)羽,防守荊州,張飛,防守荊州前線,劉備,迎戰(zhàn)曹操,孔明,擬定策略,聯(lián)合孫權(quán),借東風(fēng)火攻,UML的類圖,怎么根據(jù)模型來寫代碼呢?,使用C#,劉備,迎戰(zhàn)曹操,寫C# 程序,class 劉備 public 迎戰(zhàn)曹操() ,孔明,擬定策略,聯(lián)合孫權(quán),借東風(fēng)火攻,寫C# 程序,class 孔明 public 擬定策略() public 聯(lián)合孫權(quán)() private 借東風(fēng)火攻() ,class 劉備 public 迎戰(zhàn)曹操() ,使用C#
14、,class 孔明 public 擬定策略() public 聯(lián)合孫權(quán)() private 借東風(fēng)火攻() ,class 關(guān)羽 public 防守荊州() ,class 張飛 public 防守前線() ,依樣畫葫蘆,準(zhǔn)備填寫public方法內(nèi)容,寫C#程序內(nèi)容,劉備,求戰(zhàn),請擬定策略,請防守荊州,請聯(lián)絡(luò)孫權(quán),寫C# 程序,class 劉備 孔明 k new 孔明 關(guān)羽 g new 關(guān)羽public 迎戰(zhàn)曹操() k.擬定策略 g.防守荊州 k.聯(lián)合孫權(quán) ,寫C#程序內(nèi)容,孔明,請擬定策略,請聯(lián)絡(luò)孫權(quán),請孫權(quán)領(lǐng)兵相助,借東風(fēng)火攻,借東風(fēng)火攻,寫C# 程序,class 孔明 孫權(quán) s new 孫權(quán) public 擬定策略() public 聯(lián)合孫權(quán)() s.請領(lǐng)兵相助 借東風(fēng)火攻() private 借東風(fēng)火攻() ,寫C#程序內(nèi)容,case end,class 劉備 孔明 k = new 孔明
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)蒙古藝術(shù)學(xué)院《歐美影視文化》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京中醫(yī)藥大學(xué)翰林學(xué)院《定性數(shù)據(jù)分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東工藝美術(shù)學(xué)院《操作系統(tǒng)原理實驗課》2023-2024學(xué)年第二學(xué)期期末試卷
- 九江學(xué)院《民舞-運動舞蹈劇目排練與實踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東省淄博市臨淄區(qū)2024-2025學(xué)年三年級數(shù)學(xué)第二學(xué)期期末聯(lián)考模擬試題含解析
- 綿陽城市學(xué)院《醫(yī)學(xué)影像成像原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川護理職業(yè)學(xué)院《高分子物理B》2023-2024學(xué)年第二學(xué)期期末試卷
- 鐵路冬季四防安全培訓(xùn)
- 2025水質(zhì)檢測技術(shù)服務(wù)合同
- 2025年高考歷史歷史問答題5種公式法5種記憶法匯編
- 新生兒低蛋白血癥指南課件
- 四川省宜賓市2023-2024學(xué)年八年級上學(xué)期期末義務(wù)教育階段教學(xué)質(zhì)量監(jiān)測英語試題
- 電力各種材料重量表總
- 班級管理課件:班級文化管理
- 門窗工程工作總結(jié)報告
- (完整文檔版)CRF表
- 發(fā)展心理學(xué)第五章 幼兒的心理發(fā)展
- 廣東深圳市道路交通管理事務(wù)中心招考聘用員額制工作人員筆試歷年高頻考點試題含答案帶詳解
- 家長會課件:四下英語家長會優(yōu)質(zhì)課件
- 華文版書法五年級下冊 第10課 走之旁 教案
評論
0/150
提交評論