軟件工程與過(guò)程軟件過(guò)程模型PPT課件_第1頁(yè)
軟件工程與過(guò)程軟件過(guò)程模型PPT課件_第2頁(yè)
軟件工程與過(guò)程軟件過(guò)程模型PPT課件_第3頁(yè)
軟件工程與過(guò)程軟件過(guò)程模型PPT課件_第4頁(yè)
軟件工程與過(guò)程軟件過(guò)程模型PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.1.現(xiàn)代軟件工程現(xiàn)代軟件工程( (國(guó)家示范性軟件學(xué)院系列教材國(guó)家示范性軟件學(xué)院系列教材) ) 張家浩張家浩/ /東南大學(xué)東南大學(xué) 機(jī)械工業(yè)出版社機(jī)械工業(yè)出版社 2009.12009.12.2.軟件工程軟件工程 理論與實(shí)踐理論與實(shí)踐 許家珆許家珆 曾翎曾翎 彭德中彭德中 編著編著 高等教育出版社高等教育出版社 2004.72004.73.3.軟件工程軟件工程- -實(shí)踐者的研究方法實(shí)踐者的研究方法 (美)(美)Roger S. PressmanRoger S. Pressman著著 鄭人杰等譯鄭人杰等譯 機(jī)械工業(yè)出機(jī)械工業(yè)出版社版社 2008.62008.6 4.4.Sommerville.I

2、. (Sommerville.I. (影印版影印版) ) 機(jī)械工業(yè)出版社機(jī)械工業(yè)出版社 2003.42003.4第1頁(yè)/共47頁(yè)總總 目目 錄錄第1章 軟件工程學(xué)概述(2學(xué)時(shí))第2章 軟件過(guò)程(2學(xué)時(shí))第3章 軟件過(guò)程模型(4學(xué)時(shí))第4章 案例研究(2學(xué)時(shí))第5章 軟件需求分析過(guò)程(4學(xué)時(shí))第6章 結(jié)構(gòu)化分析建模(4學(xué)時(shí))第7章 面向?qū)ο蠓治觯?學(xué)時(shí)) 第8章 軟件設(shè)計(jì)(4學(xué)時(shí))第9章 結(jié)構(gòu)化設(shè)計(jì)方法(4學(xué)時(shí))第2頁(yè)/共47頁(yè)總總 目目 錄錄第10章 面向?qū)ο笤O(shè)計(jì)(4學(xué)時(shí))第11章 軟件實(shí)現(xiàn)(2學(xué)時(shí))第12章 軟件測(cè)試(4學(xué)時(shí))第13章 軟件維護(hù)(2學(xué)時(shí)) 第14章 軟件項(xiàng)目管理(2學(xué)時(shí))第1

3、5章 軟件項(xiàng)目估算(1學(xué)時(shí))第16章 軟件項(xiàng)目計(jì)劃與管理(1學(xué)時(shí))第3頁(yè)/共47頁(yè)第第3章章 軟件過(guò)程模型軟件過(guò)程模型3.1 瀑布模型3.2 增量模型3.3 螺旋模型3.4 協(xié)同開(kāi)發(fā)模型3.5 面向?qū)ο竽P?.6 面向方面的軟件開(kāi)發(fā)3.7 實(shí)驗(yàn)要求及習(xí)題第4頁(yè)/共47頁(yè) 在20世紀(jì)80年代之前,瀑布模型一直是惟一被廣泛采用的生命周期模型,現(xiàn)在它仍然是軟件工程中應(yīng)用得最廣泛的過(guò)程模型,它提供了軟件開(kāi)發(fā)的基本框架。 傳統(tǒng)軟件工程方法學(xué)的軟件過(guò)程,基本上可以用瀑布模型來(lái)描述。 瀑布模型將軟件生命周期劃分為軟件計(jì)劃、需求分析和定義、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件測(cè)試、軟件運(yùn)行和維護(hù)這6個(gè)階段,規(guī)定了它們自上

4、而下、相互銜接的固定次序,如同瀑布流水逐級(jí)下落而得名。 3.1 3.1 瀑布模型第5頁(yè)/共47頁(yè)圖3.1 傳統(tǒng)的瀑布模型第6頁(yè)/共47頁(yè) 傳統(tǒng)的瀑布模型有下述的幾個(gè)特點(diǎn):1. 階段間具有順序性和依賴(lài)性 2. 推遲實(shí)現(xiàn)的觀(guān)點(diǎn)3. 質(zhì)量保證的觀(guān)點(diǎn) 瀑布模型的成功在很大程度上是由于它基本上是一種文檔驅(qū)動(dòng)的模型。 但是,“瀑布模型是由文檔驅(qū)動(dòng)的”這個(gè)事實(shí)也是它的一個(gè)主要缺點(diǎn)。 第7頁(yè)/共47頁(yè) 圖3.2 實(shí)際的帶“反饋環(huán)”的瀑布模型第8頁(yè)/共47頁(yè)圖3.3 上下階段間循環(huán)第9頁(yè)/共47頁(yè)圖3.4 具有維護(hù)階段循環(huán)的軟件生存期的瀑布模型第10頁(yè)/共47頁(yè) 增量模型也稱(chēng)為漸增模型,使用增量模型開(kāi)發(fā)軟件時(shí),

5、把軟件產(chǎn)品作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、編碼、集成和測(cè)試。 每一個(gè)構(gòu)件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構(gòu)成。 第一個(gè)增量構(gòu)件往往實(shí)現(xiàn)軟件的基本需求,提供最核心的功能。 第二個(gè)增量構(gòu)件提供更完善的編輯和文檔生成功能。 第三個(gè)增量構(gòu)件實(shí)現(xiàn)拼寫(xiě)和語(yǔ)法檢查功能。 。 能在較短時(shí)間內(nèi)向用戶(hù)提交可完成部分工作的產(chǎn)品,是增量模型的一個(gè)優(yōu)點(diǎn)。3.2 3.2 增量模型第11頁(yè)/共47頁(yè)增量方式包括:增量開(kāi)發(fā):以一定的時(shí)間間隔開(kāi)發(fā)部分工作軟件增量提交:以一定的時(shí)間間隔增量方式向用戶(hù)提交工作軟件及相應(yīng)文檔 增量模型融合了線(xiàn)性順序模型的基本成份和原型實(shí)現(xiàn)模型的迭代特征,故分為漸增模型和原型模型。漸增

6、模型是瀑布模型的變種,有兩類(lèi)漸增模型:增量構(gòu)造模型:在瀑布模型基礎(chǔ)上,對(duì)一些階段進(jìn)行整體開(kāi)發(fā),對(duì)另一些階段進(jìn)行增量開(kāi)發(fā)演化提交模型:它在瀑布模型的基礎(chǔ)上,所有階段都進(jìn)行增量開(kāi)發(fā),也就是說(shuō)不僅是增量開(kāi)發(fā),也是增量提交。第12頁(yè)/共47頁(yè) 增量模型逐步增加產(chǎn)品功能可以使用戶(hù)有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶(hù)組織帶來(lái)的沖擊。 但也存在以下缺陷: 1.必須把軟件的體系結(jié)構(gòu)設(shè)計(jì)得便于按這種方式進(jìn)行擴(kuò)充,也就是說(shuō),軟件體系結(jié)構(gòu)必須是開(kāi)放的。 2.模型適應(yīng)變更的靈活性?xún)?yōu)于瀑布模型,但容易退化為邊做邊改模型,使軟件過(guò)程的控制失去整體性。 從長(zhǎng)遠(yuǎn)觀(guān)點(diǎn)看,具有開(kāi)放結(jié)構(gòu)的軟件擁有真正的

7、優(yōu)勢(shì),這樣的軟件的可維護(hù)性明顯好于封閉結(jié)構(gòu)的軟件。第13頁(yè)/共47頁(yè)需求分析設(shè)計(jì)編碼1測(cè)試1測(cè)試2編碼2編碼3測(cè)試3圖3.5 3.5 增量構(gòu)造模型1 1增量模型融合了線(xiàn)性順序模型的基本成份和原型實(shí)現(xiàn)模型的迭代特征。第14頁(yè)/共47頁(yè)圖3.6 增量構(gòu)造模型2第15頁(yè)/共47頁(yè)圖3.7 風(fēng)險(xiǎn)更大的增量模型第16頁(yè)/共47頁(yè) 所謂快速原型是快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。 快速原型模型的第一步是快速建立一個(gè)能反映用戶(hù)主要需求的原型系統(tǒng),讓用戶(hù)在計(jì)算機(jī)上試用它,通過(guò)實(shí)踐來(lái)了解目標(biāo)系統(tǒng)的概貌。 從圖3.8可以看出,快速原型模型是不帶反饋環(huán)的,

8、這正是這種過(guò)程模型的主要優(yōu)點(diǎn):軟件產(chǎn)品的開(kāi)發(fā)基本上是線(xiàn)性順序進(jìn)行的??焖僭湍P偷?7頁(yè)/共47頁(yè)圖3.8 快速原型模型第18頁(yè)/共47頁(yè) 軟件風(fēng)險(xiǎn)是任何軟件開(kāi)發(fā)項(xiàng)目中都普遍存在的實(shí)際問(wèn)題,項(xiàng)目越大,軟件越復(fù)雜,承擔(dān)該項(xiàng)目所冒的風(fēng)險(xiǎn)也越大。 軟件風(fēng)險(xiǎn)在不同程度上損害軟件開(kāi)發(fā)過(guò)程和軟件產(chǎn)品質(zhì)量。 在軟件開(kāi)發(fā)過(guò)程中必須及時(shí)識(shí)別和分析風(fēng)險(xiǎn),并且采取適當(dāng)措施以消除或減少風(fēng)險(xiǎn)的危害。 對(duì)于大型軟件,只開(kāi)發(fā)一個(gè)原型往往達(dá)不到要求,故螺旋模型特別適合于大型復(fù)雜的系統(tǒng)。 螺旋模型將瀑布模型和增量模型結(jié)合起來(lái),并加入了風(fēng)險(xiǎn)分析(風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)分析、風(fēng)險(xiǎn)控制)。 3.3 3.3 螺旋模型第19頁(yè)/共47頁(yè) 圖3.

9、9 完整的螺旋模型每一個(gè)周期都包括需求定義、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評(píng)審。第20頁(yè)/共47頁(yè) 螺旋模型有許多優(yōu)點(diǎn): (1)有利于已有軟件的重用,有助于把軟件質(zhì)量作為軟件開(kāi)發(fā)的一個(gè)重要目標(biāo); (2)減少了過(guò)多測(cè)試或測(cè)試不足所帶來(lái)的風(fēng)險(xiǎn); (3)維護(hù)只是模型的另一個(gè)周期,在維護(hù)和開(kāi)發(fā)之間并沒(méi)有本質(zhì)區(qū)別。 螺旋模型主要適用于內(nèi)部開(kāi)發(fā)的大規(guī)模軟件項(xiàng)目。如果進(jìn)行風(fēng)險(xiǎn)分析的費(fèi)用接近整個(gè)項(xiàng)目的經(jīng)費(fèi)預(yù)算,則風(fēng)險(xiǎn)分析是不可行的。 螺旋模型的主要優(yōu)勢(shì)在于,它是風(fēng)險(xiǎn)驅(qū)動(dòng)的,但是,這也可能是它的一個(gè)弱點(diǎn)。第21頁(yè)/共47頁(yè) 協(xié)同開(kāi)發(fā)模型(Collaborative Development Model, 簡(jiǎn)稱(chēng)CDM),有時(shí)

10、也叫做協(xié)同工程,可以表示為一系列框架活動(dòng)、軟件工程動(dòng)作和任務(wù)以及相應(yīng)的狀態(tài)。 在某一特定時(shí)間,建模活動(dòng)可能處于任何一種狀態(tài)。 協(xié)同開(kāi)發(fā)模型定義了一系列事件,這些事件將觸發(fā)軟件工程活動(dòng)、動(dòng)作或任務(wù)的狀態(tài)轉(zhuǎn)換。3.4 3.4 協(xié)同開(kāi)發(fā)模型第22頁(yè)/共47頁(yè)空狀態(tài)開(kāi)發(fā)狀態(tài)等待變更狀態(tài)評(píng)審狀態(tài)修改狀態(tài)建立基線(xiàn)狀態(tài)結(jié)束狀態(tài)建?;顒?dòng)圖3.10 3.10 協(xié)同開(kāi)發(fā)模型第23頁(yè)/共47頁(yè)3.5 噴泉模型分 析系統(tǒng) 設(shè)計(jì)軟件 設(shè)計(jì)實(shí) 現(xiàn)圖3.11 3.11 噴泉模型該模型是由B.H.Sollers和J.M.Edwards于1990年提出的一種面向?qū)ο箝_(kāi)發(fā)模型。又稱(chēng)快速應(yīng)用開(kāi)發(fā)模型(RADRAD,Rapid Ap

11、plication Development ModelRapid Application Development Model) 它克服了瀑布模型不支持軟件重用和多項(xiàng)開(kāi)發(fā)活動(dòng)集成的局限性,噴泉模型使開(kāi)發(fā)過(guò)程具有迭代性和無(wú)間隙性。 其特點(diǎn)如下: ()開(kāi)發(fā)過(guò)程有分析、系統(tǒng)設(shè)計(jì)、軟件設(shè)計(jì)和實(shí)現(xiàn)4個(gè)階段。()各階段相互重疊,反映了軟件過(guò)程并行性的特點(diǎn)。 ()以分析為基礎(chǔ)。( 4 4)反映了軟件過(guò)程迭代性。 ()強(qiáng)調(diào)增量開(kāi)發(fā),整個(gè)過(guò)程是一個(gè)迭代的逐步提煉的過(guò)程。 第24頁(yè)/共47頁(yè)獲取需求需求分析具體描述優(yōu)化程序調(diào)整驗(yàn)證維護(hù)知識(shí)庫(kù)專(zhuān)家系統(tǒng)程序 也稱(chēng)為基于知識(shí)的軟件開(kāi)發(fā)模型,是知識(shí)工程與軟件工程相結(jié)合的軟件

12、開(kāi)發(fā)模型。 圖1.20 1.20 智能模型 其主要特點(diǎn)是必須建立知識(shí)庫(kù),并將模型本身、軟件工程知識(shí)、特定領(lǐng)域知識(shí)放入知識(shí)庫(kù)。 具體描述可以使用形式功能規(guī)約,也可以使用知識(shí)處理語(yǔ)言描述等。第25頁(yè)/共47頁(yè)構(gòu)件組裝模型的特征:應(yīng)用軟件可用預(yù)先編好的、功能明確的產(chǎn)品部件定制而成, , 并可用不同版本的部件實(shí)現(xiàn)應(yīng)用的擴(kuò)展和更新。 利用模塊化方法,將復(fù)雜的難以維護(hù)的系統(tǒng)分解為互相獨(dú)立、協(xié)同工作的部件,并努力使這些部件可反復(fù)重用。 突破時(shí)間、空間及不同硬件設(shè)備的限制,利用客戶(hù)和軟件之間統(tǒng)一的接口實(shí)現(xiàn)跨平臺(tái)的互操作。 3.7 3.7 構(gòu)件組裝模型(組件集成模型)需求分析和定義體系結(jié)構(gòu)設(shè)計(jì)構(gòu)件庫(kù)建立測(cè)試和發(fā)

13、布應(yīng)用軟件構(gòu)建1:N第26頁(yè)/共47頁(yè)構(gòu)件組裝模型的優(yōu)點(diǎn):n構(gòu)件組裝模型導(dǎo)致了軟件的復(fù)用,提高了軟件開(kāi)發(fā)的效率,面向?qū)ο蠹夹g(shù)是軟件工程的構(gòu)件組裝模型的基礎(chǔ)。n構(gòu)件可由一方定義其規(guī)格說(shuō)明,被另一方實(shí)現(xiàn),然后供給第三方使用。n構(gòu)件組裝模型允許多個(gè)項(xiàng)目同時(shí)開(kāi)發(fā),降低了費(fèi)用,提高了可維護(hù)性。n可實(shí)現(xiàn)分步提交軟件產(chǎn)品。構(gòu)件組裝模型的缺點(diǎn):u 可重用性和軟件高效性不易協(xié)調(diào)。u 缺乏通用的組裝結(jié)構(gòu)標(biāo)準(zhǔn),而自定義的組裝結(jié)構(gòu)標(biāo)準(zhǔn)引入較大的風(fēng)險(xiǎn)。u 需要精干的有經(jīng)驗(yàn)的分析和開(kāi)發(fā)人員,一般的開(kāi)發(fā)人員插不上手。u 客戶(hù)的滿(mǎn)意度低。 第27頁(yè)/共47頁(yè)3.83.8 統(tǒng)一過(guò)程模型統(tǒng)一過(guò)程(Unified Process,

14、UP) 是風(fēng)險(xiǎn)驅(qū)動(dòng)的、基于用例技術(shù)的、以架構(gòu)為中心的、迭代和增量的、可配置的軟件開(kāi)發(fā)流程。統(tǒng)一過(guò)程是一個(gè)軟件開(kāi)發(fā)過(guò)程,是一個(gè)通用的過(guò)程框架,可用于各類(lèi)軟件系統(tǒng)和應(yīng)用領(lǐng)域,它重復(fù)一系列組成系統(tǒng)生命周期的循環(huán)。每次循環(huán)包括四個(gè)階段:初始細(xì)化構(gòu)造移交每個(gè)階段又進(jìn)一步細(xì)分為多次迭代的過(guò)程,每次循環(huán)迭代會(huì)產(chǎn)生一個(gè)新的版本。第28頁(yè)/共47頁(yè)預(yù)備循環(huán) Iter.#1周期處理工作流反復(fù)支持工作流 Iter.#2 Iter.#n Iter.#n+1 Iter.#n+2 Iter.#m Iter.#m+1管理環(huán)境配置管理業(yè)務(wù)模型實(shí)現(xiàn)測(cè)試分析和設(shè)計(jì)分布需求詳細(xì)化提交初始化構(gòu)造第29頁(yè)/共47頁(yè)RUPRUP的時(shí)間軸

15、被分解為四個(gè)順序的階段,分別是:初始階段(Inception)(Inception)、細(xì)化階段(Elaboration)(Elaboration)構(gòu)造階段(Construction)(Construction)、交付階段(Transition)(Transition)每個(gè)階段結(jié)束于一個(gè)主要的里程碑(Major Milestones)(Major Milestones)每個(gè)階段本質(zhì)上是兩個(gè)里程碑之間的時(shí)間跨度在每個(gè)階段的結(jié)尾執(zhí)行一次評(píng)估以確定這個(gè)階段的目標(biāo)是否已經(jīng)滿(mǎn)足。如果評(píng)估結(jié)果令人滿(mǎn)意的話(huà),可以允許項(xiàng)目進(jìn)入下一個(gè)階段。 RUPRUP的階段目標(biāo):初始階段的目標(biāo)是為系統(tǒng)建立業(yè)務(wù)案例并確定項(xiàng)目的邊

16、界。 細(xì)化階段的目標(biāo)是分析問(wèn)題領(lǐng)域,建立健全的體系結(jié)構(gòu)基礎(chǔ),編制項(xiàng)目計(jì)劃,淘汰項(xiàng)目中最高風(fēng)險(xiǎn)的元素。 構(gòu)建階段,所有剩余的構(gòu)件和應(yīng)用程序功能被開(kāi)發(fā)并集成為產(chǎn)品,所有的功能被詳細(xì)測(cè)試。 交付階段的重點(diǎn)是確保軟件對(duì)最終用戶(hù)是可用的。 第30頁(yè)/共47頁(yè)RUPRUP的核心工作流: RUP RUP中有6 6個(gè)核心過(guò)程工作流和3 3個(gè)核心支持工作流。 盡管6 6個(gè)核心過(guò)程工作流可能使人想起傳統(tǒng)瀑布模型中的幾個(gè)階段,但應(yīng)注意迭代過(guò)程中的階段是完全不同的,這些工作流在整個(gè)生命周期中一次又一次被訪(fǎng)問(wèn)。 9 9個(gè)核心工作流在項(xiàng)目中輪流被使用,在每一次迭代中以不同的重點(diǎn)和強(qiáng)度重復(fù)。 核心過(guò)程工作流:(1 1)業(yè)務(wù)

17、建模工作流為組織開(kāi)發(fā)一個(gè)構(gòu)想,并基于這個(gè)構(gòu)想在業(yè)務(wù)用例模型和業(yè)務(wù)對(duì)象模型中定義組織的過(guò)程,角色和責(zé)任。 (2 2)需求工作流的目標(biāo)是描述系統(tǒng)應(yīng)該做什么,并使開(kāi)發(fā)人員和用戶(hù)就這一描述達(dá)成共識(shí)。 (3 3)分析和設(shè)計(jì)工作流將需求轉(zhuǎn)化成未來(lái)系統(tǒng)的設(shè)計(jì),為系統(tǒng)開(kāi)發(fā)一個(gè)健壯的結(jié)構(gòu)并調(diào)整設(shè)計(jì)使其與實(shí)現(xiàn)環(huán)境相匹配,優(yōu)化其性能。 第31頁(yè)/共47頁(yè)(4 4)實(shí)現(xiàn)工作流的目的包括以層次化的子系統(tǒng)形式定義代碼的組織結(jié)構(gòu);以組件的形式( (源文件、二進(jìn)制文件、可執(zhí)行文件) )實(shí)現(xiàn)類(lèi)和對(duì)象;將開(kāi)發(fā)出的組件作為單元進(jìn)行測(cè)試以及集成由單個(gè)開(kāi)發(fā)者(或小組)所產(chǎn)生的結(jié)果,使其成為可執(zhí)行的系統(tǒng)。 (5 5)測(cè)試工作流要驗(yàn)證對(duì)象

18、間的交互作用,驗(yàn)證軟件中所有組件的正確集成,檢驗(yàn)所有的需求已被正確的實(shí)現(xiàn), ,識(shí)別、提出缺陷并確認(rèn)缺陷在軟件部署之前被處理。(6 6)部署工作流的目的是成功的生成版本并將軟件分發(fā)給最終用戶(hù)。 核心支持工作流:(1 1)配置和變更管理工作流描繪了如何在多個(gè)成員組成的項(xiàng)目中控制大量的產(chǎn)物,管理演化系統(tǒng)中的多個(gè)變體,跟蹤軟件創(chuàng)建過(guò)程中的版本。 (2 2)軟件項(xiàng)目管理工作流平衡各種可能產(chǎn)生沖突的目標(biāo),管理風(fēng)險(xiǎn),克服各種約束并成功交付使用戶(hù)滿(mǎn)意的產(chǎn)品。 (3 3)環(huán)境工作流的目的是向軟件開(kāi)發(fā)組織提供軟件開(kāi)發(fā)環(huán)境,包括過(guò)程和工具。 第32頁(yè)/共47頁(yè)RUPRUP模型的優(yōu)點(diǎn): 提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開(kāi)發(fā)

19、過(guò)程、需求管理、基于組件的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件質(zhì)量及控制軟件變更等方面,針對(duì)所有關(guān)鍵的開(kāi)發(fā)活動(dòng)為每個(gè)開(kāi)發(fā)成員提供了必要的準(zhǔn)則、模板和工具指導(dǎo),并確保全體成員共享相同的知識(shí)基礎(chǔ)。它建立了簡(jiǎn)潔和清晰的過(guò)程結(jié)構(gòu),為開(kāi)發(fā)過(guò)程提供較大的通用性。 RUPRUP模型的缺點(diǎn): RUP RUP在理論上,是比較理想的,但在實(shí)際應(yīng)用上,還需要更多的工具的支持和普及推廣工作。第33頁(yè)/共47頁(yè)3.9 面向方面的軟件開(kāi)發(fā) 面向方面的軟件開(kāi)發(fā)(Aspect-Oriented Software Development,簡(jiǎn)稱(chēng)AOSP)是一系列新興技術(shù),用以尋找軟件系統(tǒng)中新的模塊化特性。 強(qiáng)調(diào)獨(dú)立描述關(guān)注點(diǎn),軟件

20、關(guān)注點(diǎn)就是客戶(hù)需要的屬性或者技術(shù)興趣點(diǎn),它一般體現(xiàn)在整個(gè)架構(gòu)設(shè)計(jì)中。 有些關(guān)注點(diǎn)涉及系統(tǒng)多個(gè)方面的功能、特性和信息,這些關(guān)注點(diǎn)通常稱(chēng)為橫切關(guān)注點(diǎn)。第34頁(yè)/共47頁(yè) 方面需求(Aspectual Requirement)定義了那些對(duì)整個(gè)軟件體系結(jié)構(gòu)產(chǎn)生影響的橫切關(guān)注點(diǎn): 對(duì)等關(guān)注點(diǎn),這種關(guān)注點(diǎn)是相互獨(dú)立的,沒(méi)有任何一個(gè)對(duì)等關(guān)注點(diǎn)比另一個(gè)更重要。如 ATM的取款、轉(zhuǎn)帳和存款等; 擴(kuò)展(extension),是在基礎(chǔ)組件(base)之上定義的組件,它用來(lái)表示附加的服務(wù)或功能。如在圖書(shū)館系統(tǒng)中,當(dāng)還書(shū)時(shí)發(fā)現(xiàn)該書(shū)已經(jīng)超期,那么系統(tǒng)就要計(jì)算罰金。計(jì)算罰金功能就是還書(shū)的擴(kuò)展。第35頁(yè)/共47頁(yè)對(duì)等關(guān)注點(diǎn)第

21、36頁(yè)/共47頁(yè)對(duì)等關(guān)注點(diǎn)(分離限制)第37頁(yè)/共47頁(yè)擴(kuò)展第38頁(yè)/共47頁(yè)對(duì)等關(guān)注點(diǎn)(分離限制) 問(wèn)題: 纏繞(tangling),各個(gè)組件包含滿(mǎn)足不同關(guān)注點(diǎn)的實(shí)現(xiàn)(也就是編碼),如組件“房間”; 分散(Scattering),某個(gè)特定關(guān)注點(diǎn)的實(shí)現(xiàn)是分散在多個(gè)組件中,如“登記入住”。 分離擴(kuò)展是一種使復(fù)雜問(wèn)題易于理解的技術(shù)。第39頁(yè)/共47頁(yè)關(guān)注點(diǎn)分離技術(shù) 關(guān)注點(diǎn)分離技術(shù)(Concern Separation Technique)對(duì)關(guān)注點(diǎn)進(jìn)行建模和結(jié)構(gòu)化。 用例技術(shù)關(guān)注點(diǎn)合成機(jī)制 關(guān)注點(diǎn)合成機(jī)制(Concern Composition Mechanism)將關(guān)注點(diǎn)合成 發(fā)生在編譯時(shí)、編譯后,甚至是運(yùn)行時(shí)第40頁(yè)/共47

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論