第6章 SEI-軟件建模.ppt_第1頁
第6章 SEI-軟件建模.ppt_第2頁
第6章 SEI-軟件建模.ppt_第3頁
第6章 SEI-軟件建模.ppt_第4頁
第6章 SEI-軟件建模.ppt_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程導(dǎo)論(6) 軟件建模,為什么要建模?,本章內(nèi)容,6.1 一個(gè)簡單建模的例子 6.2 軟件建模 6.3 元建模 6.4 建模語言和UML 6.5 軟件過程模型,本章內(nèi)容,6.1 一個(gè)簡單建模的例子 6.2 軟件建模 6.3 元建模 6.4 建模語言和UML 6.5 軟件過程模型,示例- UML,統(tǒng)一建模語言 (UML) 是用于建立面向?qū)ο笙到y(tǒng)模型的標(biāo)記方法,而序列圖是UML中的一個(gè)組件,用于形象地描述系統(tǒng)執(zhí)行時(shí)參與者與對象之間的內(nèi)部交互過程,演示一個(gè)軟件系統(tǒng)中的某個(gè)具體的用例方案。 序列圖是直觀的,將對象和參與者(橫軸)映射到時(shí)間(縱軸)。消息連接了對象,當(dāng)消息發(fā)生時(shí),它們沿著縱軸從一個(gè)

2、對象移動到另一個(gè)對象。這些消息被連接到從對象或參與者底部的中間延伸出的豎直虛線或稱生命線,示例表示,本章內(nèi)容,6.1 一個(gè)簡單建模的例子 6.2 軟件建模 6.3 元建模 6.4 建模語言和UML 6.5 軟件過程模型,6.2 軟件建模,6.2.1 為什么要建模 6.2.2 軟件建模概述 6.2.3 如何建模,如果不事先對軟件系統(tǒng)進(jìn)行抽象而完成藍(lán)圖或系統(tǒng)架構(gòu)的設(shè)計(jì),就直接構(gòu)建一個(gè)復(fù)雜的軟件系統(tǒng),幾乎不可能 建模能事先描述系統(tǒng)的結(jié)構(gòu)和關(guān)系,使問題清楚、簡單化,有效地解決問題 更好理解手頭上的業(yè)務(wù)情況或工程情況(as-is模型) 設(shè)計(jì)更好的系統(tǒng)架構(gòu)和構(gòu)建更好的系統(tǒng)(to-be模型) 創(chuàng)建可視化代碼

3、和其他實(shí)施形式適應(yīng)軟件的迭代開發(fā),為什么要建模?,as-is 模型,集中于業(yè)務(wù)流程,to-be 模型,集中于系統(tǒng)架構(gòu),軟件建模概述,軟件過程建模 業(yè)務(wù)建模 需求建模 體系結(jié)構(gòu)建模 設(shè)計(jì)建模 組織建模,面向?qū)ο蠼?對象模型被用來描述系統(tǒng)的數(shù)據(jù)結(jié)構(gòu) 動態(tài)模型被用來描述系統(tǒng)的控制結(jié)構(gòu),廣泛的模型,模型就是在現(xiàn)實(shí)世界和虛擬邏輯世界之間所構(gòu)造的橋梁 ,如as-is模型 、to-be模型 從更廣泛的建模概念看,IDE可以看作是模型驅(qū)動開發(fā)實(shí)踐的入口點(diǎn),在創(chuàng)建和維護(hù)代碼方面能夠提供抽象層次方面的許多機(jī)制和工具 代碼的可視化顯示和編輯可看作是低層次的建模,再看UML,UML不僅是圖形化表示法的標(biāo)準(zhǔn),而且是一

4、種建模語言。同所有語言一樣,UML定義了語法和語義,UML的語義組成框架,如何建模?,統(tǒng)一軟件、數(shù)據(jù)和業(yè)務(wù)建模 貫穿生命周期的建模 模型驅(qū)動構(gòu)架(MDA) 特定領(lǐng)域的建模語言,示例,本章內(nèi)容,6.1 一個(gè)簡單建模的例子 6.2 軟件建模 6.3 元建模 6.4 建模語言和UML 6.5 軟件過程模型,元建模(Meta-modeling)是對“模型的模型”的描述,是自動化工具如何共享數(shù)據(jù)以及互相操作的基礎(chǔ),可以參考 UML 2.0 對象管理組織 (OMG)把元對象設(shè)施(MOF)作為MDA的基礎(chǔ),MOF是所有元模型的定義語言 可根據(jù)需要,基于MOF為各個(gè)領(lǐng)域的特定建模需求定義相應(yīng)的領(lǐng)域定義語言 (

5、DSL),元建模概念,元建模的4層結(jié)構(gòu)體系,說明,元-元模型(meta-meta model,MMM)定義描述元模型的語言(MOF),所以比元模型更抽象、更簡潔。元-元建模層構(gòu)成了元建模體系結(jié)構(gòu)的基礎(chǔ)結(jié)構(gòu)。 元模型(UML)是元-元模型的實(shí)例,以定義描述模型(model)的語言。 用戶模型(user model)是元模型的實(shí)例,以定義描述問題域或功能域的語言。 用戶對象(user object),是模型的實(shí)例,以描述一個(gè)特定的信息論域。,本章內(nèi)容,6.1 一個(gè)簡單建模的例子 6.2 軟件建模 6.3 元建模 6.4 建模語言和UML 6.5 軟件過程模型,6.4 建模語言和UML,6.4.1

6、建模語言的起源 6.4.2 實(shí)體關(guān)系建模 6.4.3 UML 6.4.4 UML視圖 6.4.5 建模機(jī)制 6.4.6 系統(tǒng)建模語言SysML 6.4.7 虛擬現(xiàn)實(shí)建模語言,建模語言的歷史?,Booch是面向?qū)ο蠓椒ㄗ钤绲某珜?dǎo)者之一,基于Ada的工作,于1991年創(chuàng)立了建模語言,Booch OOD,HOOD & OMT,HOOD,OMT,實(shí)體關(guān)系建模,實(shí)體是工件的一個(gè)實(shí)例,即實(shí)體本身標(biāo)識了單個(gè)實(shí)例及其附帶的數(shù)據(jù)。 實(shí)體類型是具有相同的結(jié)構(gòu)并在企業(yè)內(nèi)部獨(dú)立存在的一組工件,相當(dāng)于面向?qū)ο蠓椒ㄖ小邦悺钡母拍?每個(gè)實(shí)體的屬性值的集合是唯一的,這樣可以保證實(shí)體的識別 實(shí)體關(guān)系(ER)是描述獨(dú)立的軟件工件

7、之間事務(wù)或?qū)嶓w之間的一種關(guān)聯(lián),依賴關(guān)系 特化和泛化 分類 表示方法,ER建模的過程,示例,UML,UML作為通用建模語言,其目標(biāo)是能適應(yīng)各種類型的應(yīng)用系統(tǒng)軟件建模的需求,從對面向?qū)ο笙到y(tǒng)建模擴(kuò)展到了結(jié)構(gòu)化設(shè)計(jì)系統(tǒng)、業(yè)務(wù)流程、事物系統(tǒng)、實(shí)時(shí)和嵌入式系Web應(yīng)用,三維建筑模型的視圖,俯視圖,側(cè)視圖,正視圖,正視,俯視,側(cè)視,UML視圖有用例視圖、邏輯視圖、實(shí)現(xiàn)視圖、并發(fā)視圖和部署視圖 每類視圖,進(jìn)一步分為各種類型的圖,如邏輯視圖分為類圖、包圖和對象圖。 每個(gè)視圖都由一個(gè)或者多個(gè)圖組成,一個(gè)圖是系統(tǒng)體系結(jié)構(gòu)在某個(gè)側(cè)面的表示 所有的圖有機(jī)地組成系統(tǒng)的完整視圖,UML視圖,UML 2.0的13種視圖,用

8、例圖描述系統(tǒng)的功能,展現(xiàn)了一組用例、用戶以及它們間的關(guān)系,即從用戶角度描述系統(tǒng)功能,用于收集用戶實(shí)際需求,用例圖,類圖,類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),用來表示系統(tǒng)中的類以及類與類之間的關(guān)系,展示了一組類、接口和協(xié)作及它們間的關(guān)系。,動態(tài)視圖,順序圖是交互圖中語義最豐富、表現(xiàn)力最強(qiáng)的一種圖,可以通過組合片斷和交互操作符表示諸如選擇、循環(huán)、并行、有序、引用等復(fù)雜的控制結(jié)構(gòu)。 時(shí)序圖關(guān)注沿著線性時(shí)間軸、生命線內(nèi)部和生命線之間的條件改變,描述對象狀態(tài)隨著時(shí)間改變的情況,適合實(shí)時(shí)和嵌入式系統(tǒng)建模。 活動圖既支持控制流模型,也支持對象流模型,實(shí)現(xiàn)了活動(過程)和動作(執(zhí)行行為的節(jié)點(diǎn))的集成。,視圖之間的關(guān)系,類

9、圖是構(gòu)建其它圖的基礎(chǔ),沒有類圖就沒有狀態(tài)機(jī)圖、協(xié)作圖等 用協(xié)作來表示用例,而協(xié)作又被細(xì)化為若干個(gè)圖,建模元素,建模機(jī)制,通用機(jī)制 注釋能夠在模型中添加一些模型元素?zé)o法表示的額外信息,對某個(gè)元素作出解釋或說明 在圖的模型元素上添加修飾為模型元素附加一定的語義 模型元素具有的一些屬性是以數(shù)值方式體現(xiàn)的。 擴(kuò)展機(jī)制 模式是指在已有的模型元素基礎(chǔ)上建立一種新的模型元素 附加標(biāo)簽值,是模型元素的附加屬性。 約束是對元素(語義)的限制,建模步驟,首先是描述需求 根據(jù)需求建立系統(tǒng)的靜態(tài)模型(結(jié)構(gòu)模型),以構(gòu)造系統(tǒng)的結(jié)構(gòu); 描述系統(tǒng)的行為,建立動態(tài)視圖,在系統(tǒng)開發(fā)的每個(gè)階段都要建造不同的模型,建造這些模型的目

10、的也不同 注重系統(tǒng)體系結(jié)構(gòu)的開發(fā)。 注重過程的迭代和遞增性,系統(tǒng)建模語言SysML,用來描述軟件系統(tǒng)的架構(gòu)、行為和功能的建模語言,并吸收了UML建立及其應(yīng)用中所獲得的經(jīng)驗(yàn),成為對象建模組織(OMG)聯(lián)盟軟件工程開發(fā)的事實(shí)上的標(biāo)準(zhǔn),SysML示例,虛擬現(xiàn)實(shí)建模語言,VRML為模擬現(xiàn)實(shí)中的三維產(chǎn)品造型而設(shè)計(jì)的建模語言,通過文本信息描述三維場景,在Internet網(wǎng)上傳輸,最終由本地機(jī)上VRML瀏覽器解釋生成三維場景,VRML Script結(jié)構(gòu),VRML Script示例,GeoVRML,GeoVRML是讓用戶通過Web瀏覽器中標(biāo)準(zhǔn)的VRML插件來瀏覽地理參考數(shù)據(jù)、地圖和三維地形模型 全面支持多種常

11、用坐標(biāo)系和參考橢球,并能完成不同坐標(biāo)系之間的自動轉(zhuǎn)換和映射 擴(kuò)展所有的數(shù)值類型為64位雙精度型,提高精度指標(biāo)到毫米級 三維建模型功能進(jìn)一步增強(qiáng) ,如新增加了地理坐標(biāo)、DTM模型、植入場景)10個(gè)節(jié)點(diǎn) 實(shí)現(xiàn)了基于高程的瀏覽模式,GeoVRML 示例,X3D具有高度的可擴(kuò)展性,整合了Java 3D、流媒體、XML等技術(shù),包括3D計(jì)算能力、渲染質(zhì)量和傳輸速度,X3D,X3D腳本示例,本章內(nèi)容,6.1 一個(gè)簡單建模的例子 6.2 軟件建模 6.3 元建模 6.4 建模語言和UML 6.5 軟件過程模型,軟件過程的管理實(shí)踐,不同的項(xiàng)目需要不同的方法論,一個(gè)項(xiàng)目的最佳過程是這個(gè)項(xiàng)目所能負(fù)擔(dān)的最小過程。 A

12、listair Cockburn,6.5 軟件過程模型,6.5.1 瀑布模型的不足 6.5.2 V模型詮釋軟件過程 6.5.3 沒有統(tǒng)一天下的RUP 6.5.4 MSF的過程模型,后期的變化、迭代、改動困難 不支持重用 沒有一個(gè)聯(lián)系各個(gè)階段的統(tǒng)一模型,瀑布模型的不足,V模型詮釋軟件過程,MSF的過程模型,角色和任務(wù),MSF的特點(diǎn)和原則,目標(biāo)驅(qū)動而非任務(wù)驅(qū)動 外部可見的里程碑 應(yīng)提交項(xiàng)的變更管理 遞進(jìn)的版本發(fā)布策略 風(fēng)險(xiǎn)驅(qū)動的進(jìn)度管理 項(xiàng)目組集體參與管理產(chǎn)品質(zhì)量,MSF過程模型的應(yīng)用,1為共同的愿景而工作 2 推動開放式溝通 3 賦予團(tuán)隊(duì)成員權(quán)力 4 建立清晰的職責(zé)和共同的責(zé)任 5關(guān)注交付業(yè)務(wù)價(jià)

13、值 6 保持靈巧,預(yù)測變化 7 質(zhì)量投資 8 學(xué)習(xí)所有的經(jīng)驗(yàn),RUP的迭代過程,1,2,3,4,RUP初始階段,主要成果: 前景文檔:對核心項(xiàng)目要求、關(guān)鍵性質(zhì)、前景說明。 初始的項(xiàng)目術(shù)語表。 初始的用例模型和商業(yè)用例。 項(xiàng)目規(guī)劃,其中明確階段和迭代,一個(gè)或多個(gè)原型。 初始的風(fēng)險(xiǎn)評估和商業(yè)模型。 評估準(zhǔn)則: 相關(guān)共利益者對項(xiàng)目范圍定義和成本/進(jìn)度估計(jì)達(dá)成共識。 通過主要的用例將需求無二義地表達(dá)出來。 成本/進(jìn)度估計(jì)、優(yōu)先級、風(fēng)險(xiǎn)和開發(fā)過程的可信度。 開發(fā)出來的體系結(jié)構(gòu)原型的深度和廣度,RUP細(xì)化階段,成果: 用例模型 可執(zhí)行的體系結(jié)構(gòu)原型及其描述 修訂后的風(fēng)險(xiǎn)表和商業(yè)用例、開發(fā)用例,指定要使用的過程。 整個(gè)項(xiàng)目的開發(fā)計(jì)劃。 評估準(zhǔn)則: 產(chǎn)品的前景是否穩(wěn)定?體系結(jié)構(gòu)是否穩(wěn)定? 可執(zhí)行的演示是否強(qiáng)調(diào)了主要的風(fēng)險(xiǎn)元素并得到解決? 構(gòu)造階段規(guī)劃是否已經(jīng)足夠詳細(xì)和準(zhǔn)確,是否有可信度的評估支持? 如果用當(dāng)前的計(jì)劃來開發(fā)整個(gè)系統(tǒng),包括使用已定義的體系結(jié)構(gòu),是否所有相關(guān)共利益者對此都達(dá)成一致?,RUP構(gòu)造階段,版,至少應(yīng)該包括: 在特定平臺上集成的軟件產(chǎn)品。 用戶手冊和對當(dāng)前版本的描述。 評估準(zhǔn)則是: 產(chǎn)品版本是否足夠穩(wě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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論