版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第15章 軟件工程新技術(shù)2022年6月12日第1頁第第15章章 軟件工程新技術(shù)軟件工程新技術(shù)本章內(nèi)容結(jié)構(gòu)本章內(nèi)容結(jié)構(gòu)l本章引言本章引言l學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)l教學(xué)內(nèi)容教學(xué)內(nèi)容l本章小結(jié)本章小結(jié)l思考和練習(xí)思考和練習(xí)第15章 軟件工程新技術(shù)本章引言本章引言軟件工程領(lǐng)域研究使用的新技術(shù):軟件工程領(lǐng)域研究使用的新技術(shù):迭代開發(fā),以時間換空間,消除市場風(fēng)險。迭代開發(fā),以時間換空間,消除市場風(fēng)險。敏捷開發(fā)或輕量級過程,以不變應(yīng)萬變。敏捷開發(fā)或輕量級過程,以不變應(yīng)萬變。永遠(yuǎn)的永遠(yuǎn)的Beta,不斷推陳出新,永無止境。,不斷推陳出新,永無止境。持續(xù)集成、持續(xù)構(gòu)建、全程測試。持續(xù)集成、持續(xù)構(gòu)建、全程測試。知識管理,
2、將軟件工程納入知識管理的范疇。知識管理,將軟件工程納入知識管理的范疇。軟件即服務(wù)軟件即服務(wù)(SaaS),面向服務(wù)架構(gòu),面向服務(wù)架構(gòu)(SOA)的開發(fā)思想。的開發(fā)思想。用例驅(qū)動開發(fā),用戶為本思想在軟件中的體現(xiàn)。用例驅(qū)動開發(fā),用戶為本思想在軟件中的體現(xiàn)。以顧客為中心的全面質(zhì)量管理。以顧客為中心的全面質(zhì)量管理。2022年6月12日第2頁第15章 軟件工程新技術(shù)2022年6月12日第3頁學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)l掌握掌握軟件復(fù)用軟件復(fù)用的概念、分類、關(guān)鍵技術(shù)及復(fù)用粒度的概念、分類、關(guān)鍵技術(shù)及復(fù)用粒度l理解理解基于構(gòu)件的軟件工程技術(shù)基于構(gòu)件的軟件工程技術(shù)的相關(guān)概念及應(yīng)用的相關(guān)概念及應(yīng)用l理解理解軟件過程和標(biāo)準(zhǔn)化軟
3、件過程和標(biāo)準(zhǔn)化的作用及應(yīng)用的作用及應(yīng)用l理解理解敏捷軟件開發(fā)過程敏捷軟件開發(fā)過程概念及模型概念及模型l理解理解Web 軟件工程軟件工程的相關(guān)概念和特色的相關(guān)概念和特色l理解理解軟件產(chǎn)品線技術(shù)軟件產(chǎn)品線技術(shù)的概念及發(fā)展的概念及發(fā)展第15章 軟件工程新技術(shù)2022年6月12日第4頁教學(xué)內(nèi)容教學(xué)內(nèi)容15.1 軟件復(fù)用技術(shù)軟件復(fù)用技術(shù)15.2 基于構(gòu)件的軟件工程技術(shù)基于構(gòu)件的軟件工程技術(shù)15.3 軟件過程與標(biāo)準(zhǔn)化軟件過程與標(biāo)準(zhǔn)化15.4 敏捷軟件開發(fā)過程敏捷軟件開發(fā)過程15.5 Web 軟件工程軟件工程15.6 軟件產(chǎn)品線技術(shù)軟件產(chǎn)品線技術(shù)15.7 本章小結(jié)和習(xí)題本章小結(jié)和習(xí)題 第15章 軟件工程新技
4、術(shù)2022年6月12日第5頁15.1.1 軟件復(fù)用概念及分類軟件復(fù)用概念及分類軟件復(fù)用:軟件復(fù)用:重復(fù)使用重復(fù)使用“為了復(fù)用目的而設(shè)計的軟件為了復(fù)用目的而設(shè)計的軟件”的過程。的過程。實施軟件復(fù)用的目的:實施軟件復(fù)用的目的:要使軟件開發(fā)工作進(jìn)行得更要使軟件開發(fā)工作進(jìn)行得更快、更好、更省??臁⒏?、更省。軟件復(fù)用與共享、軟件移植的區(qū)別:軟件復(fù)用與共享、軟件移植的區(qū)別:共享:共享:是在一個系統(tǒng)中多次使用一個相同的軟件成是在一個系統(tǒng)中多次使用一個相同的軟件成分分軟件移值:軟件移值:對一個軟件進(jìn)行修改,對一個軟件進(jìn)行修改, 使它運行于新的使它運行于新的軟硬件平臺軟硬件平臺第15章 軟件工程新技術(shù)2022
5、年6月12日第6頁15.1.1 軟件復(fù)用概念及分類軟件復(fù)用概念及分類(1)依據(jù)復(fù)用的對象分類)依據(jù)復(fù)用的對象分類產(chǎn)品復(fù)用、過程復(fù)用產(chǎn)品復(fù)用、過程復(fù)用(2)依據(jù)對可復(fù)用信息進(jìn)行復(fù)用的方式分類)依據(jù)對可復(fù)用信息進(jìn)行復(fù)用的方式分類黑盒復(fù)用、白盒復(fù)用黑盒復(fù)用、白盒復(fù)用(3)依據(jù)復(fù)用的組織方式分類)依據(jù)復(fù)用的組織方式分類個別的軟件復(fù)用、系統(tǒng)化的軟件復(fù)用個別的軟件復(fù)用、系統(tǒng)化的軟件復(fù)用(4)根據(jù)所應(yīng)用的領(lǐng)域范圍分類)根據(jù)所應(yīng)用的領(lǐng)域范圍分類橫向復(fù)用、縱向復(fù)用橫向復(fù)用、縱向復(fù)用第15章 軟件工程新技術(shù)2022年6月12日第7頁15.1.2 軟件復(fù)用的關(guān)鍵技術(shù)和復(fù)用粒度軟件復(fù)用的關(guān)鍵技術(shù)和復(fù)用粒度l軟件復(fù)用有
6、軟件復(fù)用有3個基本問題:個基本問題: 必須有可以復(fù)用的對象必須有可以復(fù)用的對象 所復(fù)用的對象必須是有用的所復(fù)用的對象必須是有用的 復(fù)用者需要知道如何去使用被復(fù)用的對象。復(fù)用者需要知道如何去使用被復(fù)用的對象。l軟件復(fù)用包括兩個相關(guān)過程:軟件復(fù)用包括兩個相關(guān)過程: 可復(fù)用軟件(構(gòu)件)的開發(fā)可復(fù)用軟件(構(gòu)件)的開發(fā) 基于可復(fù)用軟件(構(gòu)件)應(yīng)用系統(tǒng)的構(gòu)造(集成和組裝)基于可復(fù)用軟件(構(gòu)件)應(yīng)用系統(tǒng)的構(gòu)造(集成和組裝)第15章 軟件工程新技術(shù)2022年6月12日第8頁15.1.2 軟件復(fù)用的關(guān)鍵技術(shù)和復(fù)用粒度軟件復(fù)用的關(guān)鍵技術(shù)和復(fù)用粒度實現(xiàn)軟件復(fù)用的關(guān)鍵技術(shù)因素:實現(xiàn)軟件復(fù)用的關(guān)鍵技術(shù)因素:軟件構(gòu)件技術(shù)
7、、領(lǐng)軟件構(gòu)件技術(shù)、領(lǐng)域工程、軟件構(gòu)架技術(shù)、軟件再工程技術(shù)、開放系域工程、軟件構(gòu)架技術(shù)、軟件再工程技術(shù)、開放系統(tǒng)技術(shù)、軟件過程、統(tǒng)技術(shù)、軟件過程、CASE技術(shù)等。技術(shù)等。軟件復(fù)用的非技術(shù)因素:軟件復(fù)用的非技術(shù)因素:機構(gòu)組織如何適應(yīng)復(fù)用的機構(gòu)組織如何適應(yīng)復(fù)用的需求;管理方法如何適應(yīng)復(fù)用的需求;開發(fā)人員知需求;管理方法如何適應(yīng)復(fù)用的需求;開發(fā)人員知識的更新;創(chuàng)造性和工程化的關(guān)系;開發(fā)人員的心識的更新;創(chuàng)造性和工程化的關(guān)系;開發(fā)人員的心理障礙;知識產(chǎn)權(quán)問題;保守商業(yè)秘密的問題;復(fù)理障礙;知識產(chǎn)權(quán)問題;保守商業(yè)秘密的問題;復(fù)用前期投入的經(jīng)濟考慮;標(biāo)準(zhǔn)化問題等。用前期投入的經(jīng)濟考慮;標(biāo)準(zhǔn)化問題等。 第15
8、章 軟件工程新技術(shù)2022年6月12日第9頁15.2.1 中間件技術(shù)中間件技術(shù)中間件是一種獨立的系統(tǒng)軟中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序件或服務(wù)程序,分布式應(yīng)用,分布式應(yīng)用軟件借助這種軟件在不同的軟件借助這種軟件在不同的技術(shù)之間共享資源;技術(shù)之間共享資源;中間件中間件位于客戶機位于客戶機/服務(wù)器的操作系服務(wù)器的操作系統(tǒng)之上,管理計算資源和網(wǎng)統(tǒng)之上,管理計算資源和網(wǎng)絡(luò)通信。絡(luò)通信。圖圖15.1 15.1 中間件概念中間件概念 第15章 軟件工程新技術(shù)2022年6月12日第10頁15.2.1 中間件技術(shù)中間件技術(shù)圖圖15.2 15.2 中間件在應(yīng)用系統(tǒng)中的位置中間件在應(yīng)用系統(tǒng)中的位置中間件的作用
9、:中間件的作用:建立分建立分布式軟件模塊之間互操布式軟件模塊之間互操作的機制,作的機制,屏蔽底層分屏蔽底層分布式環(huán)境的復(fù)雜性和異布式環(huán)境的復(fù)雜性和異構(gòu)性構(gòu)性,為處于自己上層為處于自己上層的應(yīng)用軟件提供運行與的應(yīng)用軟件提供運行與開發(fā)環(huán)境開發(fā)環(huán)境,幫助用戶靈,幫助用戶靈活、高效地開發(fā)和集成活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。復(fù)雜的應(yīng)用軟件。第15章 軟件工程新技術(shù)2022年6月12日第11頁15.2.1 中間件技術(shù)中間件技術(shù)1中間件要解決的問題中間件要解決的問題 (1)應(yīng)用的互連和互操作問題)應(yīng)用的互連和互操作問題(2)針對不同的應(yīng)用領(lǐng)域,對中間件又有各種不同的要求)針對不同的應(yīng)用領(lǐng)域,對中間件又
10、有各種不同的要求l中間件具有以下特點:中間件具有以下特點: 滿足滿足大量應(yīng)用的需要;大量應(yīng)用的需要; 運行于多種硬件和操作系統(tǒng)平臺;運行于多種硬件和操作系統(tǒng)平臺; 支持分布式計算;支持分布式計算; 提供跨網(wǎng)絡(luò)、硬件和操作系統(tǒng)平臺的透明性;提供跨網(wǎng)絡(luò)、硬件和操作系統(tǒng)平臺的透明性; 支持標(biāo)準(zhǔn)的協(xié)議和接口。支持標(biāo)準(zhǔn)的協(xié)議和接口。第15章 軟件工程新技術(shù)2022年6月12日第12頁15.2.1 中間件技術(shù)中間件技術(shù)2中間件的分類中間件的分類(1)根據(jù)中間件具有的功能和所提供的服務(wù))根據(jù)中間件具有的功能和所提供的服務(wù) 面向?qū)ο笾虚g件、消息中間件、容錯中間件、反射中間面向?qū)ο笾虚g件、消息中間件、容錯中間件
11、、反射中間件件(2)基于)基于IDC分類方法分類方法 終端仿真終端仿真/屏幕轉(zhuǎn)換、數(shù)據(jù)訪問中間件屏幕轉(zhuǎn)換、數(shù)據(jù)訪問中間件 遠(yuǎn)程過程調(diào)用中間件、消息中間件遠(yuǎn)程過程調(diào)用中間件、消息中間件 交易中間件、交易中間件、 基于對象請求代理(基于對象請求代理(ORB)中間件)中間件第15章 軟件工程新技術(shù)2022年6月12日第13頁15.2.1 中間件技術(shù)中間件技術(shù)3中間件的發(fā)展及認(rèn)識度中間件的發(fā)展及認(rèn)識度早期的中間件市場中事務(wù)中間件與消息中間件占的份額最大早期的中間件市場中事務(wù)中間件與消息中間件占的份額最大,近年來隨著,近年來隨著Web應(yīng)用的逐漸普及,應(yīng)用的逐漸普及,支持支持Web服務(wù)和應(yīng)用的服務(wù)和應(yīng)用的
12、應(yīng)用服務(wù)器中間件的占有量已經(jīng)居于各類中間件的首位應(yīng)用服務(wù)器中間件的占有量已經(jīng)居于各類中間件的首位,消,消息中間件和事務(wù)中間件分別居第二、三名。息中間件和事務(wù)中間件分別居第二、三名。表表15.1 15.1 操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)和中間件的類比操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)和中間件的類比第15章 軟件工程新技術(shù)2022年6月12日第14頁15.2.2 構(gòu)件與構(gòu)件化構(gòu)件與構(gòu)件化構(gòu)件:構(gòu)件:是一些是一些可執(zhí)行單元可執(zhí)行單元,可以通過獨立的開發(fā)、購買和配,可以通過獨立的開發(fā)、購買和配置組合到一個功能系統(tǒng)中去,是軟件系統(tǒng)內(nèi)被標(biāo)識、符合某置組合到一個功能系統(tǒng)中去,是軟件系統(tǒng)內(nèi)被標(biāo)識、符合某種標(biāo)準(zhǔn)要求并可復(fù)用的軟
13、件組成成分,類似于傳統(tǒng)工業(yè)中的種標(biāo)準(zhǔn)要求并可復(fù)用的軟件組成成分,類似于傳統(tǒng)工業(yè)中的零部件。零部件。從廣義上來講,從廣義上來講,構(gòu)件可以是被封裝的對象類、類簇、一些功構(gòu)件可以是被封裝的對象類、類簇、一些功能模塊、構(gòu)件框架或構(gòu)架、文檔、分析件、設(shè)計模式能模塊、構(gòu)件框架或構(gòu)架、文檔、分析件、設(shè)計模式等;等;從狹義上來說,一般指對外提供的具有規(guī)約化接口、符合一從狹義上來說,一般指對外提供的具有規(guī)約化接口、符合一定標(biāo)準(zhǔn)、可替換的軟件系統(tǒng)的定標(biāo)準(zhǔn)、可替換的軟件系統(tǒng)的程序模塊程序模塊。第15章 軟件工程新技術(shù)2022年6月12日第15頁15.2.2 構(gòu)件與構(gòu)件化構(gòu)件與構(gòu)件化構(gòu)件技術(shù)的基本思想構(gòu)件技術(shù)的基本思
14、想:創(chuàng)建和利用可復(fù)用的軟件構(gòu)件來:創(chuàng)建和利用可復(fù)用的軟件構(gòu)件來解決軟件開發(fā)的問題。解決軟件開發(fā)的問題??蓮?fù)用構(gòu)件:可復(fù)用構(gòu)件:具有相對獨立功能和可復(fù)用價值的構(gòu)件。具有相對獨立功能和可復(fù)用價值的構(gòu)件。構(gòu)件化的軟件開發(fā)方法構(gòu)件化的軟件開發(fā)方法是一種將一個完整系統(tǒng)看作是是一種將一個完整系統(tǒng)看作是若若干個獨立部分(構(gòu)件)干個獨立部分(構(gòu)件)組裝的軟件開發(fā)方法,每一部分組裝的軟件開發(fā)方法,每一部分是一個可重用的單元,通過是一個可重用的單元,通過替換和重新配置來完成軟件替換和重新配置來完成軟件的升級的升級。第15章 軟件工程新技術(shù)2022年6月12日第16頁15.2.3 構(gòu)件模型及描述語言構(gòu)件模型及描述語
15、言兩個主要的構(gòu)件描述模型:兩個主要的構(gòu)件描述模型:Tracz提出的提出的3C模型:模型:主要用于對構(gòu)件的可重用信息進(jìn)行主要用于對構(gòu)件的可重用信息進(jìn)行描述,描述, Component=(Concept,Content,Context)REBOOT項目中提出的項目中提出的REBOOT(Reuse Based on Object Oriented Techniques)模型:)模型:主要用于對可重用主要用于對可重用構(gòu)件進(jìn)行分類與檢索,它與構(gòu)件檢索的關(guān)系更為密切。構(gòu)件進(jìn)行分類與檢索,它與構(gòu)件檢索的關(guān)系更為密切。第15章 軟件工程新技術(shù)2022年6月12日第17頁15.2.3 構(gòu)件模型及描述語言構(gòu)件模型
16、及描述語言 北京大學(xué)北京大學(xué)青鳥構(gòu)件模型青鳥構(gòu)件模型是一個具有面向?qū)ο箫L(fēng)格的模型,從是一個具有面向?qū)ο箫L(fēng)格的模型,從3個不同的、相互正交的視角來看待構(gòu)件,每個具體的構(gòu)件都是形態(tài)個不同的、相互正交的視角來看待構(gòu)件,每個具體的構(gòu)件都是形態(tài)、層次和表示構(gòu)成的三維空間中的一個點。、層次和表示構(gòu)成的三維空間中的一個點。構(gòu)件形態(tài)構(gòu)件形態(tài):類、類樹、框架、設(shè)計模式、體系結(jié)構(gòu);:類、類樹、框架、設(shè)計模式、體系結(jié)構(gòu);構(gòu)件層次構(gòu)件層次:分析件、設(shè)計件、編碼件、測試件:分析件、設(shè)計件、編碼件、測試件構(gòu)件的表示與層次有關(guān)構(gòu)件的表示與層次有關(guān),不同層次的構(gòu)件具有不同的表示媒,不同層次的構(gòu)件具有不同的表示媒介和手段,如圖
17、形、復(fù)合文檔、正文、偽碼、編程語言、目介和手段,如圖形、復(fù)合文檔、正文、偽碼、編程語言、目標(biāo)碼等。標(biāo)碼等。青鳥構(gòu)件模型從青鳥構(gòu)件模型從9個方面?zhèn)€方面來描述構(gòu)件,即來描述構(gòu)件,即概念、操作規(guī)約、接口概念、操作規(guī)約、接口、類型、實現(xiàn)體、構(gòu)件復(fù)合、類型、實現(xiàn)體、構(gòu)件復(fù)合、 構(gòu)件性質(zhì)、構(gòu)件注釋、構(gòu)件構(gòu)件性質(zhì)、構(gòu)件注釋、構(gòu)件語境。語境。第15章 軟件工程新技術(shù)2022年6月12日第18頁15.2.3 構(gòu)件模型及描述語言構(gòu)件模型及描述語言l構(gòu)件實現(xiàn)模型標(biāo)準(zhǔn):構(gòu)件實現(xiàn)模型標(biāo)準(zhǔn):CORBA、COM/DCOM/COM+、JavaBeans /EJBl基本思想:基本思想:第一,采用將構(gòu)件的接口和實現(xiàn)相分離的原則;
18、第一,采用將構(gòu)件的接口和實現(xiàn)相分離的原則;第二,采用黑盒重用的方式,外界僅可以通過構(gòu)件的接第二,采用黑盒重用的方式,外界僅可以通過構(gòu)件的接口來訪問構(gòu)件的功能;口來訪問構(gòu)件的功能;第三,在實現(xiàn)方法上都使用接口描述語言(第三,在實現(xiàn)方法上都使用接口描述語言(Interface Description Language,IDL)進(jìn)行構(gòu)件接口定義,利)進(jìn)行構(gòu)件接口定義,利用相應(yīng)的中間件作為支持該構(gòu)件模型的運行時環(huán)境,從用相應(yīng)的中間件作為支持該構(gòu)件模型的運行時環(huán)境,從而達(dá)到由不同的編程語言所實現(xiàn)、運行在不同的操作系而達(dá)到由不同的編程語言所實現(xiàn)、運行在不同的操作系統(tǒng)環(huán)境中及在不同主機上的構(gòu)件都能相互交互的
19、目的。統(tǒng)環(huán)境中及在不同主機上的構(gòu)件都能相互交互的目的。第15章 軟件工程新技術(shù)2022年6月12日第19頁15.2.3 構(gòu)件模型及描述語言構(gòu)件模型及描述語言l主要不同在于技術(shù)的提出者及應(yīng)用背景主要不同在于技術(shù)的提出者及應(yīng)用背景 COM/DCOM是由是由微軟公司微軟公司提出的,由于提出的,由于Microsoft在在PC軟件領(lǐng)域的壟斷地位,因此在基于軟件領(lǐng)域的壟斷地位,因此在基于Microsoft的環(huán)境的環(huán)境中,使用中,使用COM/DCOM/COM+是一種當(dāng)然的選擇;是一種當(dāng)然的選擇; CORBA是由是由OMG組織組織提出的,它的標(biāo)準(zhǔn)是開放的,并提出的,它的標(biāo)準(zhǔn)是開放的,并且且OMG成員廣泛,所以
20、成員廣泛,所以CORBA最具普遍性,是異構(gòu)環(huán)最具普遍性,是異構(gòu)環(huán)境中的理想選擇;境中的理想選擇; 在在Internet 和移動計算(如手機)中,和移動計算(如手機)中,Java是普遍采用是普遍采用的一種技術(shù),因此的一種技術(shù),因此JavaBeans/EJB在這類在這類Internet和移和移動計算應(yīng)用環(huán)境中比較適合動計算應(yīng)用環(huán)境中比較適合。第15章 軟件工程新技術(shù)2022年6月12日第20頁15.2.3 構(gòu)件模型及描述語言構(gòu)件模型及描述語言構(gòu)件描述語言構(gòu)件描述語言 比較典型的有比較典型的有CORBA規(guī)范中的規(guī)范中的接口描述語言接口描述語言IDLUML規(guī)范中的規(guī)范中的對象約束語言對象約束語言O(shè)CL
21、北大青鳥構(gòu)件系統(tǒng)中的北大青鳥構(gòu)件系統(tǒng)中的青鳥構(gòu)件描述語言青鳥構(gòu)件描述語言JBCDL加州理工大學(xué)提出的加州理工大學(xué)提出的構(gòu)件描述語言構(gòu)件描述語言CDL等等第15章 軟件工程新技術(shù)2022年6月12日第21頁15.2.4 構(gòu)件的檢索與組裝構(gòu)件的檢索與組裝1構(gòu)件的檢索構(gòu)件的檢索W.Frakes從構(gòu)件表示出發(fā),將現(xiàn)有方法分為從構(gòu)件表示出發(fā),將現(xiàn)有方法分為人工人工智能方法、超文本方法和信息科學(xué)方法智能方法、超文本方法和信息科學(xué)方法3類。類。H.Mili則按照復(fù)雜度和檢索效果的遞增,將其分為則按照復(fù)雜度和檢索效果的遞增,將其分為基于正文的、基于詞法描述符的、基于規(guī)約的分類基于正文的、基于詞法描述符的、基于
22、規(guī)約的分類和檢索和檢索3類。類。第15章 軟件工程新技術(shù)2022年6月12日第22頁15.2.4 構(gòu)件的檢索與組裝構(gòu)件的檢索與組裝W.Fr akes重點討論了信息科學(xué)方法,因為這是實際復(fù)用項目重點討論了信息科學(xué)方法,因為這是實際復(fù)用項目中,應(yīng)用較為成功的途徑。將信息科學(xué)方法分為中,應(yīng)用較為成功的途徑。將信息科學(xué)方法分為基于受控詞基于受控詞匯表和基于不受控詞匯表分類匯表和基于不受控詞匯表分類兩種形式。兩種形式。圖圖15.3 15.3 信息科學(xué)的編目方法分類圖信息科學(xué)的編目方法分類圖第15章 軟件工程新技術(shù)2022年6月12日第23頁15.2.4 構(gòu)件的檢索與組裝構(gòu)件的檢索與組裝l常用分類方式常用
23、分類方式枚舉分類枚舉分類刻面分類刻面分類屬性值分類屬性值分類正文檢索正文檢索關(guān)鍵詞分類關(guān)鍵詞分類第15章 軟件工程新技術(shù)2022年6月12日第24頁15.2.4 構(gòu)件的檢索與組裝構(gòu)件的檢索與組裝2構(gòu)件組裝技術(shù)構(gòu)件組裝技術(shù)l目的:目的:利用現(xiàn)有的構(gòu)件組裝成新的系統(tǒng)利用現(xiàn)有的構(gòu)件組裝成新的系統(tǒng)。l本質(zhì):本質(zhì):是在是在構(gòu)件之間建立關(guān)聯(lián)構(gòu)件之間建立關(guān)聯(lián),根據(jù)這種關(guān)聯(lián),協(xié)調(diào),根據(jù)這種關(guān)聯(lián),協(xié)調(diào)它們的行為,把它們組織成為一個有機的整體。它們的行為,把它們組織成為一個有機的整體。l構(gòu)件組裝的研究內(nèi)容包括兩部分:構(gòu)件組裝的研究內(nèi)容包括兩部分: 對對復(fù)合構(gòu)件形成過程的復(fù)合構(gòu)件形成過程的研究研究 面向面向體系結(jié)構(gòu)
24、(或者組裝框架)的體系結(jié)構(gòu)(或者組裝框架)的研究研究第15章 軟件工程新技術(shù)2022年6月12日第25頁15.2.4 構(gòu)件的檢索與組裝構(gòu)件的檢索與組裝3構(gòu)件組裝技術(shù)及方法的分類構(gòu)件組裝技術(shù)及方法的分類(1)根據(jù)組裝場景的不同分類)根據(jù)組裝場景的不同分類不同的組裝層次:不同的組裝層次:源代碼級的組裝、運行級組裝源代碼級的組裝、運行級組裝不同的組裝模式不同的組裝模式 靜態(tài)組裝:設(shè)計時的組裝。靜態(tài)組裝:設(shè)計時的組裝。 動態(tài)組裝:運行動態(tài)組裝:運行時的組裝時的組裝。(2)按照構(gòu)件在組裝之前需要對構(gòu)件內(nèi)部細(xì)節(jié)了解的)按照構(gòu)件在組裝之前需要對構(gòu)件內(nèi)部細(xì)節(jié)了解的程度及是否需要進(jìn)行修改、封裝程度及是否需要進(jìn)行
25、修改、封裝黑黑盒組裝方式、白盒組裝方式和灰盒組裝盒組裝方式、白盒組裝方式和灰盒組裝方式方式第15章 軟件工程新技術(shù)2022年6月12日第26頁15.2.4 構(gòu)件的檢索與組裝構(gòu)件的檢索與組裝4構(gòu)件組裝的實現(xiàn)方法構(gòu)件組裝的實現(xiàn)方法(1)以)以框架為基礎(chǔ)框架為基礎(chǔ)的方法的方法(2)以)以連接件連接件為基礎(chǔ)的方法為基礎(chǔ)的方法(3)以)以膠合代碼膠合代碼為基礎(chǔ)的方法為基礎(chǔ)的方法(4)基于)基于總線總線的方法的方法第15章 軟件工程新技術(shù)2022年6月12日第27頁15.2.5 基于構(gòu)件的軟件工程方法基于構(gòu)件的軟件工程方法l基于構(gòu)件的軟件工程(基于構(gòu)件的軟件工程(Component-Based Softw
26、are Engineering,CBSE):以):以面向?qū)ο蟮姆椒嫦驅(qū)ο蟮姆椒榛A(chǔ),為基礎(chǔ),強調(diào)強調(diào)軟件重用的作用軟件重用的作用,在軟件體系結(jié)構(gòu)設(shè)計的基礎(chǔ)上,使用可復(fù),在軟件體系結(jié)構(gòu)設(shè)計的基礎(chǔ)上,使用可復(fù)用的軟件用的軟件“構(gòu)件構(gòu)件”來設(shè)計和構(gòu)造基于計算機的系統(tǒng)過程。來設(shè)計和構(gòu)造基于計算機的系統(tǒng)過程。l基于構(gòu)件的開發(fā)(基于構(gòu)件的開發(fā)( CBD, Component-Based Development):是一個與領(lǐng)域活動并行的):是一個與領(lǐng)域活動并行的CBSE活動。為活動。為了實現(xiàn)軟件重用,基于構(gòu)件的軟件工程了實現(xiàn)軟件重用,基于構(gòu)件的軟件工程強調(diào)領(lǐng)域工程與軟件強調(diào)領(lǐng)域工程與軟件工程同步進(jìn)行工程
27、同步進(jìn)行。第15章 軟件工程新技術(shù)2022年6月12日第28頁15.2.5 基于構(gòu)件的軟件工程方法基于構(gòu)件的軟件工程方法圖圖15.4 15.4 一個典型的可重用的過程模型一個典型的可重用的過程模型圖圖15.4給出了一個典型的可重用的過程模型,描述了領(lǐng)域工給出了一個典型的可重用的過程模型,描述了領(lǐng)域工程與軟件工程的關(guān)系。程與軟件工程的關(guān)系。第15章 軟件工程新技術(shù)2022年6月12日第29頁15.2.5 基于構(gòu)件的軟件工程方法基于構(gòu)件的軟件工程方法圖圖15.5給出了一個基于構(gòu)件的開發(fā)模型。該模型中,建模和構(gòu)建給出了一個基于構(gòu)件的開發(fā)模型。該模型中,建模和構(gòu)建活動開始于識別可選構(gòu)件。這些構(gòu)件有些設(shè)
28、計成通用的軟件模塊活動開始于識別可選構(gòu)件。這些構(gòu)件有些設(shè)計成通用的軟件模塊,有些設(shè)計成面向?qū)ο蟮念惢蜍浖?。,有些設(shè)計成面向?qū)ο蟮念惢蜍浖?。圖圖15.5 15.5 基于構(gòu)件的開發(fā)模型基于構(gòu)件的開發(fā)模型第15章 軟件工程新技術(shù)2022年6月12日第30頁15.2.5 基于構(gòu)件的軟件工程方法基于構(gòu)件的軟件工程方法u基于構(gòu)件的開發(fā)模型可以由以下步驟組成(采用演基于構(gòu)件的開發(fā)模型可以由以下步驟組成(采用演進(jìn)方法):進(jìn)方法):(1)對于該問題領(lǐng)域的基于構(gòu)件的可用產(chǎn)品進(jìn))對于該問題領(lǐng)域的基于構(gòu)件的可用產(chǎn)品進(jìn)行研究和評估行研究和評估(2)考慮構(gòu)件集成的問題)考慮構(gòu)件集成的問題 (3)設(shè)計軟件架構(gòu)以容納這些
29、構(gòu)件)設(shè)計軟件架構(gòu)以容納這些構(gòu)件(4)將構(gòu)件集成到架構(gòu)中)將構(gòu)件集成到架構(gòu)中(5)進(jìn)行充分的測試以保證功能正常)進(jìn)行充分的測試以保證功能正常第15章 軟件工程新技術(shù)2022年6月12日第31頁15.2.5 基于構(gòu)件的軟件工程方法基于構(gòu)件的軟件工程方法基于構(gòu)件的開發(fā)模型存在的問題:基于構(gòu)件的開發(fā)模型存在的問題:(1)構(gòu)件的信賴度問題)構(gòu)件的信賴度問題(2)構(gòu)件認(rèn)證)構(gòu)件認(rèn)證(3)自然特性預(yù)測)自然特性預(yù)測(4)需求折中)需求折中第15章 軟件工程新技術(shù)2022年6月12日第32頁15.2.6 SOA 與與SaaSSOA憑借其松耦合的憑借其松耦合的特性,使得企業(yè)可以特性,使得企業(yè)可以按照模塊化的方
30、式來按照模塊化的方式來添加新服務(wù)或更新現(xiàn)添加新服務(wù)或更新現(xiàn)有服務(wù),以解決新的有服務(wù),以解決新的業(yè)務(wù)需要,從而可以業(yè)務(wù)需要,從而可以通過不同的渠道提供通過不同的渠道提供服務(wù),并可以把企業(yè)服務(wù),并可以把企業(yè)現(xiàn)有的應(yīng)用作為服務(wù)現(xiàn)有的應(yīng)用作為服務(wù),從而保護了現(xiàn)有的,從而保護了現(xiàn)有的IT基礎(chǔ)建設(shè)投資?;A(chǔ)建設(shè)投資。圖圖15.6 15.6 面向服務(wù)的分析與設(shè)計原理示意圖面向服務(wù)的分析與設(shè)計原理示意圖第15章 軟件工程新技術(shù)2022年6月12日第33頁15.2.6 SOA 與與SaaSlSOA模型的典型特征:模型的典型特征:松散耦合、粗粒度服務(wù)和標(biāo)準(zhǔn)化接口松散耦合、粗粒度服務(wù)和標(biāo)準(zhǔn)化接口lSOA的設(shè)計實踐原
31、則:的設(shè)計實踐原則:業(yè)務(wù)驅(qū)動服務(wù),服務(wù)驅(qū)動技術(shù);業(yè)務(wù)業(yè)務(wù)驅(qū)動服務(wù),服務(wù)驅(qū)動技術(shù);業(yè)務(wù)敏捷是基本的業(yè)務(wù)需求。敏捷是基本的業(yè)務(wù)需求。lSOA的目標(biāo):的目標(biāo):最大限度地重用現(xiàn)有服務(wù)以提高最大限度地重用現(xiàn)有服務(wù)以提高IT 的適應(yīng)能力的適應(yīng)能力和利用效率。和利用效率。圖圖15.7 15.7 一個完整的面向服務(wù)的體系結(jié)構(gòu)模型一個完整的面向服務(wù)的體系結(jié)構(gòu)模型第15章 軟件工程新技術(shù)2022年6月12日第34頁15.2.6 SOA 與與SaaS圖圖15.8 15.8 單個服務(wù)內(nèi)部結(jié)構(gòu)單個服務(wù)內(nèi)部結(jié)構(gòu)第15章 軟件工程新技術(shù)2022年6月12日第35頁15.2.6 SOA 與與SaaSuSaaS(Softwar
32、e-as-a-Service,軟件即服務(wù)),軟件即服務(wù)),國內(nèi)通常叫做軟件運營服務(wù)模式,簡稱為軟營模式國內(nèi)通常叫做軟件運營服務(wù)模式,簡稱為軟營模式:是一種通過是一種通過Internet 提供軟件的模式,廠商將應(yīng)提供軟件的模式,廠商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)自己實際需求,通過互聯(lián)網(wǎng)向廠商訂購所需的應(yīng)用自己實際需求,通過互聯(lián)網(wǎng)向廠商訂購所需的應(yīng)用軟件服務(wù),按訂購的服務(wù)多少和時間長短向廠商支軟件服務(wù),按訂購的服務(wù)多少和時間長短向廠商支付費用,并通過互聯(lián)網(wǎng)獲得廠商提供的服務(wù)付費用,并通過互聯(lián)網(wǎng)獲得廠商提供的服務(wù)。第15章 軟件工程新技術(shù)
33、2022年6月12日第36頁15.3 軟件過程與標(biāo)準(zhǔn)化軟件過程與標(biāo)準(zhǔn)化軟件過程:軟件過程:軟件生存周期中,將用戶需求轉(zhuǎn)化為可執(zhí)軟件生存周期中,將用戶需求轉(zhuǎn)化為可執(zhí)行系統(tǒng)的演化過程所進(jìn)行的軟件工程活動的全體,是行系統(tǒng)的演化過程所進(jìn)行的軟件工程活動的全體,是用于用于生產(chǎn)軟件產(chǎn)品的工具、方法和實踐的集合生產(chǎn)軟件產(chǎn)品的工具、方法和實踐的集合。軟件過程技術(shù)的目標(biāo):軟件過程技術(shù)的目標(biāo):通過工程化、標(biāo)準(zhǔn)化和形式化通過工程化、標(biāo)準(zhǔn)化和形式化的方法管理軟件的開發(fā)過程,從而改變目前的軟件生的方法管理軟件的開發(fā)過程,從而改變目前的軟件生產(chǎn)方式,實現(xiàn)產(chǎn)方式,實現(xiàn)大規(guī)模的軟件生產(chǎn)大規(guī)模的軟件生產(chǎn)。軟件過程的研究:軟件過
34、程的研究:主要針對軟件生產(chǎn)和管理,不僅要主要針對軟件生產(chǎn)和管理,不僅要有工程觀點,還要有有工程觀點,還要有系統(tǒng)觀點、管理觀點、運行觀點系統(tǒng)觀點、管理觀點、運行觀點和用戶觀點和用戶觀點。第15章 軟件工程新技術(shù)2022年6月12日第37頁15.3.1 軟件過程及其改進(jìn)軟件過程及其改進(jìn)軟件過程改進(jìn):軟件過程改進(jìn):在軟件過程活動中,為了更有效地達(dá)在軟件過程活動中,為了更有效地達(dá)到優(yōu)化軟件過程的目的所實施的改善或改變其軟件過到優(yōu)化軟件過程的目的所實施的改善或改變其軟件過程的系列活動。程的系列活動。軟件過程改進(jìn)主要包括以下幾個關(guān)鍵步驟:軟件過程改進(jìn)主要包括以下幾個關(guān)鍵步驟: 對比目前的狀態(tài)和期望達(dá)到的狀
35、態(tài),找出存在的差距對比目前的狀態(tài)和期望達(dá)到的狀態(tài),找出存在的差距 確定要改變哪些差距,需要改變到什么程度確定要改變哪些差距,需要改變到什么程度 制定相應(yīng)的具體實施計劃制定相應(yīng)的具體實施計劃第15章 軟件工程新技術(shù)2022年6月12日第38頁15.3.2 ISO 9000 標(biāo)準(zhǔn)標(biāo)準(zhǔn)ISO 9000是國際標(biāo)準(zhǔn)化組織是國際標(biāo)準(zhǔn)化組織ISO制定的世界上第一套質(zhì)量管理制定的世界上第一套質(zhì)量管理和質(zhì)量保證標(biāo)準(zhǔn),和質(zhì)量保證標(biāo)準(zhǔn),主要目的是為了滿足國際貿(mào)易中對質(zhì)量管理主要目的是為了滿足國際貿(mào)易中對質(zhì)量管理和質(zhì)量保證需要有共同語言和共同準(zhǔn)則的需要。和質(zhì)量保證需要有共同語言和共同準(zhǔn)則的需要。表表15.3 ISO
36、900015.3 ISO 9000標(biāo)準(zhǔn)體系標(biāo)準(zhǔn)體系第15章 軟件工程新技術(shù)2022年6月12日第39頁15.3.3 軟件能力成熟度模型(軟件能力成熟度模型(CMM)CMM(Capability Maturity Model)是卡內(nèi)基梅隆大學(xué)軟件是卡內(nèi)基梅隆大學(xué)軟件工程研究院工程研究院SEI受美國國防部委托制定的軟件過程的改良、評受美國國防部委托制定的軟件過程的改良、評估模型,也稱為估模型,也稱為SEI SW-CMM(Software Engineering Institute Software-Capability Maturity Model)。)。該模型于該模型于1991年發(fā)布,并發(fā)展成為
37、系列標(biāo)準(zhǔn)模型,描述了有年發(fā)布,并發(fā)展成為系列標(biāo)準(zhǔn)模型,描述了有效的軟件過程單元的框架,為軟件機構(gòu)提供了一條從混亂的效的軟件過程單元的框架,為軟件機構(gòu)提供了一條從混亂的、不成熟的軟件過程向成熟的、有紀(jì)律的軟件過程改進(jìn)的途、不成熟的軟件過程向成熟的、有紀(jì)律的軟件過程改進(jìn)的途徑。徑。CMM涵蓋了有關(guān)計劃、設(shè)計和管理軟件開發(fā)和維護的實踐,涵蓋了有關(guān)計劃、設(shè)計和管理軟件開發(fā)和維護的實踐,軟件機構(gòu)只要遵循這些實踐,就能夠提高該機構(gòu)的能力,以軟件機構(gòu)只要遵循這些實踐,就能夠提高該機構(gòu)的能力,以滿足成本、進(jìn)度計劃、功能及產(chǎn)品質(zhì)量等目標(biāo)滿足成本、進(jìn)度計劃、功能及產(chǎn)品質(zhì)量等目標(biāo)。第15章 軟件工程新技術(shù)2022年
38、6月12日第40頁15.3.3 軟件能力成熟度模型(軟件能力成熟度模型(CMM)1)初始級()初始級(Initial)2)可重復(fù)級()可重復(fù)級(Repeatable)3)已定義級()已定義級(Defined)4)已管理級()已管理級(Managed)5) 優(yōu)化級(優(yōu)化級(Optimizing) 圖圖15.9 CMM15.9 CMM模型的模型的5 5個成熟級個成熟級1CMM 的內(nèi)容的內(nèi)容第15章 軟件工程新技術(shù)2022年6月12日第41頁15.3.3 軟件能力成熟度模型(軟件能力成熟度模型(CMM)表表15.4 15.4 軟件過程的可視性與各成熟度能力模型的比較軟件過程的可視性與各成熟度能力模型
39、的比較第15章 軟件工程新技術(shù)2022年6月12日第42頁15.3.3 軟件能力成熟度模型(軟件能力成熟度模型(CMM)2關(guān)鍵過程域關(guān)鍵過程域(Key Process Area, KPA)一系列相互影響的關(guān)鍵操作活動,這些活動反映一個軟一系列相互影響的關(guān)鍵操作活動,這些活動反映一個軟件組織改進(jìn)軟件過程時,必須集中力量改進(jìn)的幾個方面件組織改進(jìn)軟件過程時,必須集中力量改進(jìn)的幾個方面第15章 軟件工程新技術(shù)2022年6月12日第43頁15.3.3 軟件能力成熟度模型(軟件能力成熟度模型(CMM)3CMM 實施中應(yīng)注意的問題實施中應(yīng)注意的問題 (1)剪裁的問題)剪裁的問題(2)ISO 9000與與CM
40、M的關(guān)系的關(guān)系(3)時間和效果的問題)時間和效果的問題CMM只是說明達(dá)到某一級別必須做的工作,并未說明如只是說明達(dá)到某一級別必須做的工作,并未說明如何實施何實施CMM費用遠(yuǎn)大于實施費用遠(yuǎn)大于實施ISO 9000的費用的費用 實際一個管理過程的改進(jìn)是一步步實現(xiàn)的實際一個管理過程的改進(jìn)是一步步實現(xiàn)的第15章 軟件工程新技術(shù)2022年6月12日第44頁15.3.4 PSP、TSP 和和CMMI1個體軟件過程(個體軟件過程(Personal Software Process,PSP)PSP可以為基于個體和小型群組軟件過程的優(yōu)化提供具體而可以為基于個體和小型群組軟件過程的優(yōu)化提供具體而有效的途徑,有效的
41、途徑,PSP的著眼點在于軟件缺陷的預(yù)防的著眼點在于軟件缺陷的預(yù)防2小組軟件開發(fā)過程(小組軟件開發(fā)過程(Team Software Process,TSP)TSP實施集體管理與自己管理相結(jié)合的原則,最終目的在于實施集體管理與自己管理相結(jié)合的原則,最終目的在于指導(dǎo)一切人員如何在最少的時間內(nèi),以預(yù)定的費用生產(chǎn)出高指導(dǎo)一切人員如何在最少的時間內(nèi),以預(yù)定的費用生產(chǎn)出高質(zhì)量的軟件產(chǎn)品。質(zhì)量的軟件產(chǎn)品。第15章 軟件工程新技術(shù)2022年6月12日第45頁15.3.4 PSP、TSP 和和CMMI3能力成熟度集成模型(能力成熟度集成模型(Capability MaturityModel Integration
42、,CMMI)SW-CMM(Software CMM)軟件軟件CMMSE-CMM(System Engineering CMM)系統(tǒng)工程系統(tǒng)工程CMMSA-CMM(Software Acquisition CMM)軟件采購軟件采購CMMIPT-CMM(Integrated Product Team CMM)集成產(chǎn)品群組集成產(chǎn)品群組CMMP-CMM(People CMM)人力資源能力成熟度模型人力資源能力成熟度模型第15章 軟件工程新技術(shù)2022年6月12日第46頁15.3.4 PSP、TSP 和和CMMICMMI為企業(yè)帶來價值主要體現(xiàn)在以下幾個方面:為企業(yè)帶來價值主要體現(xiàn)在以下幾個方面:(1)能
43、保證軟件開發(fā)的質(zhì)量與進(jìn)度,能對)能保證軟件開發(fā)的質(zhì)量與進(jìn)度,能對“雜亂無章、無序管雜亂無章、無序管理理”的項目開發(fā)過程進(jìn)行規(guī)范的項目開發(fā)過程進(jìn)行規(guī)范(2)有利于成本控制)有利于成本控制(3)有助于提高軟件開發(fā)者的職業(yè)素養(yǎng))有助于提高軟件開發(fā)者的職業(yè)素養(yǎng)(4)能夠解決人員流動所帶來的問題)能夠解決人員流動所帶來的問題(5)有利于提升公司和員工績效管理水平,以持續(xù)改進(jìn)效益)有利于提升公司和員工績效管理水平,以持續(xù)改進(jìn)效益第15章 軟件工程新技術(shù)2022年6月12日第47頁15.4.1 敏捷及敏捷過程相關(guān)概念敏捷及敏捷過程相關(guān)概念1“敏捷過程敏捷過程”在軟件業(yè)中的提出在軟件業(yè)中的提出 2001年年2
44、月,月,17位位“輕量級輕量級”軟件開發(fā)方法的創(chuàng)始人和專家軟件開發(fā)方法的創(chuàng)始人和專家(被稱為敏捷聯(lián)盟)共同簽署了(被稱為敏捷聯(lián)盟)共同簽署了“敏捷軟件開發(fā)宣言敏捷軟件開發(fā)宣言”,標(biāo)志著,標(biāo)志著敏捷軟件開發(fā)正式出現(xiàn)。該宣言聲明:敏捷軟件開發(fā)正式出現(xiàn)。該宣言聲明:個體和交互個體和交互 勝過勝過 過程和工具過程和工具可工作軟件可工作軟件 勝過勝過 面面俱到的文檔面面俱到的文檔客戶合作客戶合作 勝過勝過 合同談判合同談判響應(yīng)變化響應(yīng)變化 勝過勝過 遵循計劃遵循計劃第15章 軟件工程新技術(shù)2022年6月12日第48頁15.4.1 敏捷及敏捷過程相關(guān)概念敏捷及敏捷過程相關(guān)概念2敏捷的概念敏捷的概念l敏捷軟
45、件過程很容易適應(yīng)變化并迅速做出自我調(diào)整,在保證敏捷軟件過程很容易適應(yīng)變化并迅速做出自我調(diào)整,在保證質(zhì)量的前提下,做到文檔、度量適度,適用于各類中小型軟質(zhì)量的前提下,做到文檔、度量適度,適用于各類中小型軟件企業(yè)應(yīng)用。件企業(yè)應(yīng)用。l敏捷過程的適用范圍包括以下要求:敏捷過程的適用范圍包括以下要求: 軟件需求經(jīng)常變化或者需求變化比較大軟件需求經(jīng)常變化或者需求變化比較大 項目團隊與用戶之間進(jìn)行溝通比較容易項目團隊與用戶之間進(jìn)行溝通比較容易 項目的開發(fā)風(fēng)險比較高項目的開發(fā)風(fēng)險比較高 規(guī)模比較小,一般項目組成員在規(guī)模比較小,一般項目組成員在50人之內(nèi)人之內(nèi) 項目團隊的成員能力比較強,而且具有責(zé)任感項目團隊的
46、成員能力比較強,而且具有責(zé)任感 項目的可測試性比較好項目的可測試性比較好第15章 軟件工程新技術(shù)2022年6月12日第49頁15.4.1 敏捷及敏捷過程相關(guān)概念敏捷及敏捷過程相關(guān)概念3敏捷宣言所遵循的敏捷宣言所遵循的 12 條原則條原則 (1)人們最優(yōu)先要做的是通過盡早地、持續(xù)地交付有價值的軟)人們最優(yōu)先要做的是通過盡早地、持續(xù)地交付有價值的軟件來使客戶滿意。件來使客戶滿意。(2) 即使到了開發(fā)的后期,也歡迎改變需求。敏捷過程利用變即使到了開發(fā)的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創(chuàng)造競爭優(yōu)勢?;瘉頌榭蛻魟?chuàng)造競爭優(yōu)勢。(3) 經(jīng)常性的交付可以工作的軟件,交付的間隔可以從幾個星經(jīng)常性的
47、交付可以工作的軟件,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。期到幾個月,交付的時間間隔越短越好。(4) 在整個項目開發(fā)期間,業(yè)務(wù)人員和開發(fā)人員必須天天都在在整個項目開發(fā)期間,業(yè)務(wù)人員和開發(fā)人員必須天天都在一起工作。一起工作。 (5)圍繞被激勵起來的個體來構(gòu)建項目。給它們提供所需的環(huán))圍繞被激勵起來的個體來構(gòu)建項目。給它們提供所需的環(huán)境和支持,并且信任它們能夠完成工作。境和支持,并且信任它們能夠完成工作。第15章 軟件工程新技術(shù)2022年6月12日第50頁15.4.1 敏捷及敏捷過程相關(guān)概念敏捷及敏捷過程相關(guān)概念(6)在團隊內(nèi)部,最具有效果并且富有效率的傳遞信息的方法)在團隊內(nèi)
48、部,最具有效果并且富有效率的傳遞信息的方法就是面對面的交談。就是面對面的交談。(7) 工作的軟件是首要的進(jìn)度度量標(biāo)準(zhǔn)。工作的軟件是首要的進(jìn)度度量標(biāo)準(zhǔn)。(8)敏捷過程提倡可持續(xù)的開發(fā)進(jìn)度。責(zé)任人、開發(fā)者和用戶)敏捷過程提倡可持續(xù)的開發(fā)進(jìn)度。責(zé)任人、開發(fā)者和用戶應(yīng)保持一個長期恒定的開發(fā)速度。應(yīng)保持一個長期恒定的開發(fā)速度。(9) 不斷關(guān)注優(yōu)秀的技能和好的設(shè)計會增強敏捷能力。不斷關(guān)注優(yōu)秀的技能和好的設(shè)計會增強敏捷能力。(10)簡單)簡單使未完成的工作最大化的藝術(shù)使未完成的工作最大化的藝術(shù)是根本的。是根本的。(11)最好的構(gòu)架、需求和設(shè)計出自于自組織的團隊。)最好的構(gòu)架、需求和設(shè)計出自于自組織的團隊。(
49、12)每隔一定時間,團隊會在如何才能更有效的工作方面進(jìn))每隔一定時間,團隊會在如何才能更有效的工作方面進(jìn)行反省,然后相應(yīng)地對自己的行為進(jìn)行調(diào)整。行反省,然后相應(yīng)地對自己的行為進(jìn)行調(diào)整。第15章 軟件工程新技術(shù)2022年6月12日第51頁15.4.1 敏捷及敏捷過程相關(guān)概念敏捷及敏捷過程相關(guān)概念4敏捷軟件過程的特性敏捷軟件過程的特性 輕載軟件過程(輕載軟件過程(Light Weight Software Process) 基于時間基于時間 夠用就好(夠用就好(Just Enough) 并行并行 基于構(gòu)件的軟件工程基于構(gòu)件的軟件工程敏捷軟件過程模型可定義如下:敏捷軟件過程模型可定義如下: 敏捷軟件
50、過程模型敏捷軟件過程模型= 功能模型功能模型+ 合作模型合作模型+ 資源模型資源模型+ 產(chǎn)品模型產(chǎn)品模型第15章 軟件工程新技術(shù)2022年6月12日第52頁15.4.2 典型的敏捷過程模型典型的敏捷過程模型敏捷過程模型:敏捷過程模型: eXtreme Programming(XP,極限編程),極限編程) Scrum、DSDM(動態(tài),系統(tǒng)開發(fā)方法)(動態(tài),系統(tǒng)開發(fā)方法) 自適應(yīng)軟件開發(fā)(自適應(yīng)軟件開發(fā)(Adaptive Software Development,ASD) Feature Driven Development(FDD,特性驅(qū)動開發(fā)),特性驅(qū)動開發(fā)) Crystal Family第1
51、5章 軟件工程新技術(shù)2022年6月12日第53頁15.4.2 典型的敏捷過程模型典型的敏捷過程模型1極限編程(極限編程(eXtreme Programming,XP) XP的目標(biāo):的目標(biāo):在規(guī)定的時間生產(chǎn)出滿足客戶需要的軟件。在規(guī)定的時間生產(chǎn)出滿足客戶需要的軟件。 XP方法主要適用于下述情況:方法主要適用于下述情況: 需求不明確、變化快; 風(fēng)險較高(在特定時間內(nèi),面對一個相當(dāng)難開發(fā)的系統(tǒng)); 人數(shù)不超過10個的中小型團隊; 開發(fā)地點適宜在集中的場合。 XP體現(xiàn)體現(xiàn)4個價值目標(biāo):個價值目標(biāo):溝通、簡化、反饋和勇氣溝通、簡化、反饋和勇氣第15章 軟件工程新技術(shù)2022年6月12日第54頁15.4.
52、2 典型的敏捷過程模型典型的敏捷過程模型圖圖15.10 XP15.10 XP方法的開發(fā)過程方法的開發(fā)過程第15章 軟件工程新技術(shù)2022年6月12日第55頁15.4.2 典型的敏捷過程模型典型的敏捷過程模型2Scrum 方法方法 開發(fā)軟件就像是開發(fā)新產(chǎn)品,無法一開始就定義最終產(chǎn)品開發(fā)軟件就像是開發(fā)新產(chǎn)品,無法一開始就定義最終產(chǎn)品的規(guī)程的規(guī)程 ,過程中需要研發(fā)、創(chuàng)意、嘗試錯誤,所以,過程中需要研發(fā)、創(chuàng)意、嘗試錯誤,所以沒有沒有一種固定的流程可以保證項目成功。一種固定的流程可以保證項目成功。 Scrum開發(fā)團隊通常由開發(fā)團隊通常由59(72)人組成。)人組成。 Scrum偏重項目管理,偏重項目管理
53、,XP偏重編程實踐。偏重編程實踐。第15章 軟件工程新技術(shù)2022年6月12日第56頁15.4.2 典型的敏捷過程模型典型的敏捷過程模型3特征驅(qū)動開發(fā)(特征驅(qū)動開發(fā)(Feature Driven Development,F(xiàn)DD) 領(lǐng)域?qū)ο蠼?。領(lǐng)域?qū)ο蠼!?按照特征開發(fā)。按照特征開發(fā)。 類(代碼)擁有權(quán)。類(代碼)擁有權(quán)。 特征小組。特征小組。 審查。審查。 定期構(gòu)造。定期構(gòu)造。 配置管理。配置管理。 可視性進(jìn)度報告。可視性進(jìn)度報告。 第15章 軟件工程新技術(shù)2022年6月12日第57頁15.4.2 典型的敏捷過程模型典型的敏捷過程模型FDD方法包括方法包括5個過程組成,如圖所示。個過程組成
54、,如圖所示。 第15章 軟件工程新技術(shù)2022年6月12日第58頁15.5 Web 軟件工程軟件工程15.5.1 Web 軟件工程概述軟件工程概述15.5.2 Web 軟件的需求分析軟件的需求分析15.5.3 Web 軟件的設(shè)計軟件的設(shè)計15.5.4 Web 軟件的測試軟件的測試第15章 軟件工程新技術(shù)2022年6月12日第59頁15.5.1 Web 軟件工程概述軟件工程概述WebAppWebApp軟件幾乎具備下述所有屬性:軟件幾乎具備下述所有屬性:(1 1)網(wǎng)絡(luò)密集性()網(wǎng)絡(luò)密集性(Network IntensiveNetwork Intensive)(2 2)訪問并發(fā)性()訪問并發(fā)性(Co
55、ncurrencyConcurrency)(3 3)工作負(fù)荷的跳躍性()工作負(fù)荷的跳躍性(Unpredictable loadUnpredictable load)(4 4)性能()性能(PerformancePerformance)要求苛刻)要求苛刻(5 5)安全性()安全性(SecuritySecurity)要求苛刻)要求苛刻(6 6)可用性()可用性(AvailabilityAvailability)(7 7)數(shù)據(jù)驅(qū)動()數(shù)據(jù)驅(qū)動(Data drivenData driven):):(8 8)內(nèi)容敏感性()內(nèi)容敏感性(Content SensitiveContent Sensitive)
56、(9 9)持續(xù)演化()持續(xù)演化(Continuous EvolutionContinuous Evolution)(1010)即時性()即時性(ImmediacyImmediacy)(1111)美觀性()美觀性(AestheticsAesthetics)第15章 軟件工程新技術(shù)2022年6月12日第60頁15.5.1 Web 軟件工程概述軟件工程概述Web Web 工程過程工程過程 l整個整個WebWeb工程過程的框架工程過程的框架包括包括5 5個部分個部分: :(1 1)客戶)客戶交流交流階段階段(2 2)計劃階段)計劃階段(3 3)建模階段)建模階段(4 4)構(gòu)建)構(gòu)建階段階段(5 5)部
57、署階段)部署階段lWebWeb工程方法一般包括工程方法一般包括如下如下4 4種:種:(1 1)交流)交流方法方法:(2 2)需求分析方法)需求分析方法(3 3)設(shè)計)設(shè)計方法方法:(4 4)測試方法:)測試方法:第15章 軟件工程新技術(shù)2022年6月12日第61頁15.5.2 Web 軟件的需求分析軟件的需求分析根據(jù)根據(jù)WebWeb工程的分析特點,工程的分析特點,WebWeb軟件的需求分析會有以軟件的需求分析會有以下下5 5種主要的模型類型:種主要的模型類型:(1)內(nèi)容模型)內(nèi)容模型(2)交互模型)交互模型(3)功能模型)功能模型(4)配置模型)配置模型(5)導(dǎo)航模型)導(dǎo)航模型第15章 軟件工
58、程新技術(shù)2022年6月12日第62頁15.5.3 Web 軟件的設(shè)計軟件的設(shè)計WebWeb軟件的設(shè)計由需求分析階段所獲取的信息驅(qū)動,主要可分為軟件的設(shè)計由需求分析階段所獲取的信息驅(qū)動,主要可分為6 6個個步驟:步驟:(1)(1)內(nèi)容設(shè)計利用內(nèi)容模型作為建立內(nèi)容對象設(shè)計的基礎(chǔ);內(nèi)容設(shè)計利用內(nèi)容模型作為建立內(nèi)容對象設(shè)計的基礎(chǔ);(2)(2)美學(xué)設(shè)計建立了最終用戶所關(guān)注的外觀和感覺;美學(xué)設(shè)計建立了最終用戶所關(guān)注的外觀和感覺;(3)(3)架構(gòu)設(shè)計重點關(guān)注所有內(nèi)容對象和功能的總體超媒體結(jié)構(gòu);架構(gòu)設(shè)計重點關(guān)注所有內(nèi)容對象和功能的總體超媒體結(jié)構(gòu);(4)(4)界面設(shè)計創(chuàng)建了定義用戶界面的總體布局和交互機制;界面
59、設(shè)計創(chuàng)建了定義用戶界面的總體布局和交互機制;(5)(5)導(dǎo)航設(shè)計定義了最終用戶對超媒體結(jié)構(gòu)的導(dǎo)航關(guān)系;導(dǎo)航設(shè)計定義了最終用戶對超媒體結(jié)構(gòu)的導(dǎo)航關(guān)系;(6)(6)構(gòu)件設(shè)計表示了構(gòu)件設(shè)計表示了WebAppWebApp功能元素的詳細(xì)內(nèi)部結(jié)構(gòu)。功能元素的詳細(xì)內(nèi)部結(jié)構(gòu)。這這6 6個步驟分別會產(chǎn)生內(nèi)容、美學(xué)外觀、體系架構(gòu)、界個步驟分別會產(chǎn)生內(nèi)容、美學(xué)外觀、體系架構(gòu)、界面、導(dǎo)航和構(gòu)件,這些都是面、導(dǎo)航和構(gòu)件,這些都是WebWeb軟件設(shè)計階段的成果。軟件設(shè)計階段的成果。第15章 軟件工程新技術(shù)2022年6月12日15.5.3 Web 軟件的設(shè)計軟件的設(shè)計WebAppWebApp設(shè)計的方法設(shè)計的方法1 1Web
60、App WebApp 界面設(shè)計界面設(shè)計2.2.美學(xué)設(shè)計美學(xué)設(shè)計3.3.內(nèi)容設(shè)計內(nèi)容設(shè)計4.4.體系結(jié)構(gòu)設(shè)計:體系結(jié)構(gòu)設(shè)計:線性、網(wǎng)絡(luò)和層次線性、網(wǎng)絡(luò)和層次5.5.導(dǎo)航設(shè)計導(dǎo)航設(shè)計6.6.構(gòu)件級設(shè)計構(gòu)件級設(shè)計第15章 軟件工程新技術(shù)2022年6月12日第64頁15.5.4 Web 軟件的測試軟件的測試l 測試和評價測試和評價WebAppWebApp的質(zhì)量的原則:的質(zhì)量的原則:(1 1)內(nèi)容:內(nèi)容:句法、語義句法、語義(2 2)功能功能(3 3)結(jié)構(gòu)結(jié)構(gòu)(4 4)易用)易用性性(5 5)導(dǎo)航)導(dǎo)航性性(6 6)性能性能(7 7)兼容性)兼容性(8 8)互操作性互操作性(9 9)安全性)安全性第15
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024新款:基于物聯(lián)網(wǎng)的智能農(nóng)業(yè)解決方案合同
- 2024年股東股權(quán)買賣合同:權(quán)益轉(zhuǎn)讓協(xié)議模板
- 2024標(biāo)磚采購簡單合同
- B2B電子商務(wù)2024年購銷協(xié)議2篇
- 2025年度建筑工程安全生產(chǎn)責(zé)任合同實施細(xì)則3篇
- 2024年版:石油化工產(chǎn)品采購與銷售合同
- 2024民間融資居間合同(含應(yīng)急預(yù)案)范本2篇
- 2025年度土壤污染防治與修復(fù)工程合同3篇
- 2024年牧草種子供應(yīng)鏈合作合同書
- 自行車動力知識培訓(xùn)課件
- 廣東省珠海市香洲區(qū)2022-2023學(xué)年九年級上學(xué)期期末語文試題(含答案)
- 物業(yè)消防管理火災(zāi)事故應(yīng)急處置
- 無人機駕駛員培訓(xùn)計劃及大綱
- 初三化學(xué)學(xué)情分析
- 2023-2024學(xué)年重慶市康德卷生物高一第一學(xué)期期末檢測模擬試題含解析
- 4.與食品經(jīng)營相適應(yīng)的主要設(shè)備設(shè)施布局操作流程等文件
- 【企業(yè)采購業(yè)務(wù)內(nèi)部控制研究文獻(xiàn)綜述及理論基礎(chǔ)2600字】
- (完整word)軟件驗收單
- 施工員質(zhì)量員責(zé)任制月度考核記錄三
- 醫(yī)院重點崗位工作人員輪崗制度
- 第二章植物纖維
評論
0/150
提交評論