![軟件工程方法與實踐第十章軟件工程高級課程_第1頁](http://file4.renrendoc.com/view14/M07/30/12/wKhkGWcilhKANqiRAAEEE5jJ0qQ329.jpg)
![軟件工程方法與實踐第十章軟件工程高級課程_第2頁](http://file4.renrendoc.com/view14/M07/30/12/wKhkGWcilhKANqiRAAEEE5jJ0qQ3292.jpg)
![軟件工程方法與實踐第十章軟件工程高級課程_第3頁](http://file4.renrendoc.com/view14/M07/30/12/wKhkGWcilhKANqiRAAEEE5jJ0qQ3293.jpg)
![軟件工程方法與實踐第十章軟件工程高級課程_第4頁](http://file4.renrendoc.com/view14/M07/30/12/wKhkGWcilhKANqiRAAEEE5jJ0qQ3294.jpg)
![軟件工程方法與實踐第十章軟件工程高級課程_第5頁](http://file4.renrendoc.com/view14/M07/30/12/wKhkGWcilhKANqiRAAEEE5jJ0qQ3295.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
軟件工程方法與實踐
第10章軟件工程高級課題
第10章軟件工程高級課題
O10.1軟件復(fù)用
O10.2新型的軟件工程
。10.3計算機輔助軟件工程
Q10.4小結(jié)
10.1.1軟件復(fù)用概述
軟件復(fù)用(Reuse),即由軟(構(gòu))件集成軟件,是借鑒
硬件集成而提出的,體現(xiàn)“從貨架上直接拿”的現(xiàn)代軟件
工程理念的一種技術(shù)、一種方法,也是一個過程。
軟件復(fù)用的重要性體現(xiàn)在:能更快、更好、成本更低地生
產(chǎn)軟件(產(chǎn)品)。
軟件復(fù)用定義:在構(gòu)造新的軟件系統(tǒng)的過程中,對已存在
的軟件人工制品的再次使用技術(shù)。定義可概括為:“開發(fā)
伴隨復(fù)用”,“開發(fā)為了復(fù)用”。
10.1.1軟件復(fù)用概述
實現(xiàn)復(fù)用的關(guān)鍵要素是軟件構(gòu)件技術(shù)??蓮?fù)用的構(gòu)件可以
包括軟件的技術(shù)表示、各種文檔、測試用例,以及與過程
相關(guān)的任務(wù)等。
軟件復(fù)用的層次從低到高有:
⑴源代碼復(fù)用
⑵軟件體系結(jié)構(gòu)復(fù)用
⑶應(yīng)用程序生成器
(4)領(lǐng)域特定的軟件體系結(jié)構(gòu)的復(fù)用
10.1.1軟件復(fù)用概述
軟件復(fù)用主要涉及到制造構(gòu)件技術(shù)和使用構(gòu)件技術(shù)。
制造構(gòu)件技術(shù)是指獨立于單個軟件系統(tǒng)開發(fā)的,可服務(wù)
于整個應(yīng)用領(lǐng)域的構(gòu)件生產(chǎn)技術(shù)。
使用構(gòu)件的技術(shù)是指在軟件系統(tǒng)開發(fā)中,使用已有構(gòu)件
的方法和技術(shù)。
提高軟件復(fù)用質(zhì)量和集成化程度的關(guān)鍵環(huán)節(jié)是,構(gòu)件的
參量化和可復(fù)用性能,以及完善的集成環(huán)境。
10.1.2軟件復(fù)用過程
軟件復(fù)用過程,即基于構(gòu)件的軟件工程
(CBSE)包含兩個并發(fā)的子過程:
領(lǐng)域工程(DE)
基于構(gòu)件的軟件開發(fā)(CBSD)
10.1.2軟件復(fù)用過程
領(lǐng)域
A領(lǐng)域分析》結(jié)構(gòu)開發(fā)?構(gòu)件開發(fā)
知識源X.______________
AA
可復(fù)用
領(lǐng)域模型結(jié)構(gòu)模型
領(lǐng)域工程構(gòu)件庫
圖10.1基于構(gòu)件的軟件工程(CBSE)的過程模型
10.1.3領(lǐng)域工程
領(lǐng)域工程(DE)是構(gòu)件的一系列開發(fā)工程,
是在特定的應(yīng)用領(lǐng)域中,以構(gòu)件庫形式標(biāo)識、
構(gòu)造、分類和傳播一組軟件制品——軟件構(gòu)
件。
根據(jù)復(fù)用活動所應(yīng)用的領(lǐng)域范圍,可劃分為橫
向復(fù)用和縱向復(fù)用兩種復(fù)用形式。
縱向復(fù)用領(lǐng)域工程的活動
⑴實施領(lǐng)域分析(步驟)
I①選擇特定的領(lǐng)域,定義應(yīng)用領(lǐng)域;
I②從中抽取具有可重復(fù)模式(結(jié)構(gòu)的、數(shù)據(jù)的、行
為的)的功能分類;
I③收集應(yīng)用領(lǐng)域中有代表性的應(yīng)用樣本,標(biāo)識/描述
可復(fù)用的功能類;
I④建立領(lǐng)域分析模型;
I⑤定義需求規(guī)約,得出由需求規(guī)約構(gòu)件和若干連接
子配置構(gòu)成的領(lǐng)域模型。
縱向復(fù)用領(lǐng)域工程的活動
⑵開發(fā)可復(fù)用構(gòu)件
?開發(fā)的構(gòu)件應(yīng)該具有通用性、可變性、易組裝性和可
理解性描述等特性。
?設(shè)計構(gòu)件必須考慮領(lǐng)域的應(yīng)用特征,主要設(shè)計構(gòu)件的
標(biāo)準(zhǔn)數(shù)據(jù)、標(biāo)準(zhǔn)接口協(xié)議和程序模板。
?采用流行的構(gòu)件實現(xiàn)標(biāo)準(zhǔn)。例如,組件對象模型
(COM)技術(shù),對象鏈接與嵌入(OLE)結(jié)構(gòu)標(biāo)準(zhǔn),
公共對象請求代理體系結(jié)構(gòu)(CORBA)標(biāo)準(zhǔn),
OpenDoc開放式文檔接口標(biāo)準(zhǔn)等。
縱向復(fù)用領(lǐng)域工程的活動
⑶建立可復(fù)用構(gòu)件庫
領(lǐng)域構(gòu)件庫具有類似于數(shù)據(jù)庫管理系統(tǒng)的、基
于科學(xué)分類的構(gòu)件描述、檢索和管理的一系列
機制。
10.1.4基于構(gòu)件的軟件開發(fā)
構(gòu)件集成模型就是一個軟件復(fù)用過程的基于構(gòu)件的軟件
開發(fā)(CBSD)模型。
1014基于構(gòu)件的軟件開發(fā)
2.構(gòu)件的集成活動
第一,對一個構(gòu)件的匹配過程,包括構(gòu)件對象參數(shù)的提
取和相互匹配,以及根據(jù)需要進行構(gòu)件對象功能的刪減、
變換,使之匹配;
第二,對構(gòu)件的集成(連接)過程,即設(shè)計和實現(xiàn)應(yīng)用
系統(tǒng)與構(gòu)件的互連功能,這也可以看做是把構(gòu)件對象融
合到應(yīng)用系統(tǒng)中。
10.1.4基于構(gòu)件的軟件開發(fā)
3.應(yīng)用系統(tǒng)工程
CBSD支持的特定應(yīng)用系統(tǒng)的軟件工程,稱為應(yīng)用系統(tǒng)
工程(ASE)。ASE過程是從一個或多個構(gòu)件系統(tǒng)中選
擇構(gòu)件進行特化,裝配到某個特定應(yīng)用系統(tǒng)中。
①收集信息,制定應(yīng)用系統(tǒng)的用例模型。
②把用例模型作為輸入,組裝和特化分析構(gòu)件。
③把分析模型作為輸入,組裝和特化設(shè)計構(gòu)件。
④把設(shè)計模型作為輸入,組裝和特化實現(xiàn)構(gòu)件。
⑤組裝和特化測試構(gòu)件,測試應(yīng)用系統(tǒng)。n
⑥應(yīng)用系統(tǒng)打包,提供給運用制造商、安裝者或用戶L
10.2.1形式化方法
形式化軟件開發(fā)方法是一種基于形式化的、數(shù)學(xué)的規(guī)約
技術(shù)。
形式化軟件開發(fā)方法與傳統(tǒng)開發(fā)方法相比:
①形式化方法提供了規(guī)約環(huán)境的基礎(chǔ)。軟件需求描述被
精煉成一個用數(shù)學(xué)符號表達的、詳細(xì)的、形式化描述的
分析模型。這樣生成的模型更完整、一致和無二義性。
②設(shè)計、實現(xiàn)和單元測試等過程被一個形式化的轉(zhuǎn)換過
程所替代。轉(zhuǎn)換由比較小的一系列步驟組成,每次轉(zhuǎn)換
之間的距離小于描述和程序之間的距離,因而能更好地
跟蹤。
形式化軟件開發(fā)過程
形式化開發(fā)方法是將軟件系統(tǒng)的需求描述,采用某種規(guī)
約的形式化方式,轉(zhuǎn)換成一個可執(zhí)行程序。
在轉(zhuǎn)換過程中,形式化描述被逐步求精地轉(zhuǎn)換成有嚴(yán)格
數(shù)學(xué)方法保證其正確的一系列系統(tǒng)表示,直到形式化描
述被轉(zhuǎn)換成一個對等的可執(zhí)行程序。
需求定義f形式化描述一形式化轉(zhuǎn)換f集成和系統(tǒng)驗證
圖10.2形式化的軟件開發(fā)過程
形式化方法的特點
①提供了規(guī)約環(huán)境的基礎(chǔ)——形式化描述的分
析模型。
②設(shè)計、實現(xiàn)和單元測試等過程被一個形式化
的、逐步求精的、正確性得到保證的轉(zhuǎn)換過程
所替代。
③形式化方法特別適合對安全性、可靠性、保
密性要求極高的系統(tǒng)開發(fā)。
形式化的轉(zhuǎn)換模型
轉(zhuǎn)換模型是結(jié)合形式化軟件開發(fā)方法和程序自動生成技術(shù)
的一種軟件開發(fā)模型。
實施轉(zhuǎn)換模型開發(fā)的常用技術(shù)有:
①基于模型的規(guī)格說明及其變換技術(shù);
②基于代數(shù)結(jié)構(gòu)的規(guī)格說明及其變換結(jié)構(gòu);
③基于時序邏輯的規(guī)格說明和驗證技術(shù);
④基于可視形式化的技術(shù),等等。
轉(zhuǎn)換模型開發(fā)過程
轉(zhuǎn)換模型的軟件開發(fā)過程中,程序變換系統(tǒng)由一系列程序
變換語言、相應(yīng)的編譯系統(tǒng)、分析和驗證工具、變換控制
工具,以及變換規(guī)則集等組成。
系統(tǒng)需求
圖10.3軟件轉(zhuǎn)換模型
形式化的凈室模型
“凈室”開發(fā)理念是通過嚴(yán)格的檢查(復(fù)審),在分析、
設(shè)計等開發(fā)單元(室)消除錯誤,力求在無(零)缺陷或
超潔凈的狀態(tài)(凈室)下實現(xiàn)軟件的開發(fā)。
凈室模型是一種基于增量式的、形式化的軟件開發(fā)模型。
凈室開發(fā)模型把軟件看成一系列逐步求精的增量開發(fā),每
個增量就是一個形式化表示的“盒”,對每個“盒”都采
用形式化方法驗證正確性。凈室模型的這種盒結(jié)構(gòu)是在一
個特定的抽象層次上對系統(tǒng)(或系統(tǒng)某些方面)的一次封
凈室模型開發(fā)過程
需求盒結(jié)構(gòu)規(guī)約形式化設(shè)計正確性驗證代碼檢查統(tǒng)計性
增量1:認(rèn)證
收集測試
測試計劃
需求盒結(jié)構(gòu)規(guī)約形式化設(shè)計正確性驗證代碼檢查統(tǒng)計性
增量2:認(rèn)證
收集測試
測試計劃
需求盒結(jié)構(gòu)規(guī)約形式化設(shè)計正確性驗證代碼檢查統(tǒng)計性
增量/7認(rèn)證
收集測試
測試計劃
圖10.4凈室模型增量(盒)的開發(fā)過程
凈室模型的特性
①一般采用狀態(tài)轉(zhuǎn)換模型形式化描述激勵及其響應(yīng)。
②軟件被分解成一個個增量開發(fā),對每個增量單獨采用凈
室過程進行有效性驗證。
③采用結(jié)構(gòu)化的、逐步精化的程序設(shè)計,保證從描述到程
序代碼的轉(zhuǎn)換是正確的。
④制定詳盡的測試計劃,通過嚴(yán)格的檢查過程對軟件進行
靜態(tài)測試。
⑤對完成的軟件增量進行統(tǒng)計性測試,測定它的可靠性。
⑥增量移交給系統(tǒng)時,還要進行系統(tǒng)集成測試,這又得到
一次有效性驗證。
10.2.2軟件再工程
軟件再工程(SR)是使用新的、現(xiàn)代方法和技
術(shù),修改和/或重建軟件系統(tǒng)的過程,以達到過
程的改善和軟件質(zhì)量的提高,所以,應(yīng)稱為軟
件過程再工程。
軟件再工程是一項針對軟件工程的業(yè)務(wù)過程和
管理過程的技術(shù)革命。
軟件再工程過程模型
軟件再工程的各項活動,形成了一個循環(huán)過程,每個活動
都可能重復(fù),對于一個特定的過程可以在任意一個活動之
后結(jié)束。
圖10.5軟件再工程的過程模型
逆向工程
軟件的逆向工程是
指從源代碼出發(fā),
重新恢復(fù)設(shè)計文檔
和需求規(guī)格文檔的
過程。
"72R*口目
圖10.6逆向工程過程
軟件重構(gòu)和正向工程
軟件重構(gòu)是應(yīng)用最新的設(shè)計和實現(xiàn)技術(shù)對老軟
件系統(tǒng)的源代碼和數(shù)據(jù)進行修改。軟件重構(gòu)分為
代碼重構(gòu)和數(shù)據(jù)重構(gòu)兩種。
如果對一個軟件(產(chǎn)品)版本進行結(jié)構(gòu)化翻新的
重新開發(fā)(可看做是一種預(yù)防性維護),就應(yīng)實
施軟件再工程的正向工程。
10.2.3客戶/服務(wù)器軟件工程
客戶-服務(wù)器(c/s)系統(tǒng)是一種基于分布式計算
機體系結(jié)構(gòu)的、對數(shù)據(jù)采用分布式管理的、特殊
的計算機體系結(jié)構(gòu)。
C/S系統(tǒng)的演化是與可視化桌面功能、新的存儲
技術(shù)、增強的數(shù)據(jù)庫技術(shù),以及先進的網(wǎng)絡(luò)通信
等各個方面的進展緊密聯(lián)系的O
C/S系統(tǒng)結(jié)構(gòu)示例
圖10.7客戶-服務(wù)器體系結(jié)構(gòu)示例
C/S系統(tǒng)的軟件構(gòu)件
?C/S系統(tǒng)有各種特定的請求和服務(wù)。C/S系統(tǒng)的軟件構(gòu)件
主要有用戶交互/表示構(gòu)件、數(shù)據(jù)庫管理構(gòu)件、應(yīng)用構(gòu)件和
中間件(包括網(wǎng)絡(luò)操作、支持?jǐn)?shù)據(jù)庫特定應(yīng)用、對象請求
代理、組件技術(shù)、通信管理等特殊應(yīng)用的軟件元素)等,
它們分布在客戶端或服務(wù)器端,或者同時分布在兩端。
?連接C/S系統(tǒng)各種構(gòu)件的機制有管道(Pipe)、遠(yuǎn)程過
程調(diào)用、客戶■服務(wù)器SQL交互和面向?qū)ο筮B接標(biāo)準(zhǔn)
(CORBA)等。這些連接機制都被結(jié)合到網(wǎng)絡(luò)管理和操
作系統(tǒng)中。
C/S系統(tǒng)的軟件工程
C/S系統(tǒng)開發(fā)工程,主要是從一組業(yè)務(wù)需求演化到一組
被確認(rèn)的、在客戶和服務(wù)器上實現(xiàn)的軟件構(gòu)件。
⑴C/S系統(tǒng)的分析建模。
⑵C/S系統(tǒng)的設(shè)計,根據(jù)所采用的計算機體系結(jié)構(gòu),考
慮特定的構(gòu)造環(huán)境,進行定制設(shè)計。
⑶C/S系統(tǒng)的測試,針對它的分布特性,主要在應(yīng)用功
能、服務(wù)器、數(shù)據(jù)庫、事務(wù)、網(wǎng)絡(luò)通信等方面進行。—
10.3.1軟件工程環(huán)境
?現(xiàn)代軟件開發(fā),無論技術(shù)活動還是管理活動,都離
不開軟件工程環(huán)境(SEE)的支持。
?SEE是實現(xiàn)軟件生產(chǎn)工程化的重要基礎(chǔ)。它建立在先
進軟件開發(fā)方法的基礎(chǔ)上,正影響和改變著軟件生產(chǎn)
方式,反過來又進一步促進了軟件方法的推廣與流行。
?SEE包括“生產(chǎn)一個軟件系統(tǒng)所需要的過程、方法和
自動化的集合”。建立一個開發(fā)環(huán)境首先要確定一種
開發(fā)過程模型,提出成套的、有效的開發(fā)方法,然后
在這一基礎(chǔ)上利用各種軟件工具實現(xiàn)開發(fā)活動的自動
化。
10.3.1軟件工程環(huán)境
?SEE有一套包括數(shù)據(jù)集成、控制集成和界面集成的集成
機制,讓各個工具使用統(tǒng)一的規(guī)范存取環(huán)境信息庫,采
用統(tǒng)一的用戶界面,同時為各個工具或開發(fā)活動之間的
通信、切換、調(diào)度和協(xié)同工作提供支持。
?SEE用于輔助軟件開發(fā)、運行、維護和管理等各種活
動的軟件(程序),是一個軟件工具集(或工具包)。
這不僅意味著SEE支持開發(fā)功能的擴大,也反映了工具集
成化程度的提高。
10.3.2CASE環(huán)境
I計算機輔助軟件工程(CASE)是通過一組集成
化的工具,輔助軟件開發(fā)者實現(xiàn)各項活動的全部
自動化,使軟件產(chǎn)品在整個生存周期中,開發(fā)和
維護生產(chǎn)率得到提高,質(zhì)量得到保證。
CASE環(huán)境、CASE工具、集成化CASE(I-
CASE)等,實際是一切現(xiàn)代化軟件開發(fā)環(huán)境
(SEE)的代名詞。
CASE環(huán)境
軟件工
程信息。
②每一個信息項的改變,可以追蹤到其他相關(guān)信息項。
③對所有軟件工程信息提供版本控制和配置管理。
④對環(huán)境中任何工具,可進行直接的、非順序的訪問。
⑤在標(biāo)準(zhǔn)的分解結(jié)構(gòu)中提供工具和數(shù)據(jù)的自動支持。
⑥使每個工具的用戶,共享人機界面所有的功能。
⑦收集能夠改善過程和產(chǎn)品的各項度量指標(biāo)。
⑧支持軟件工程師們之間的通信。
CASE環(huán)境的組成構(gòu)件
CASE工具
1.集成化工具層
集成化框架
為可移植性服務(wù)的機構(gòu),可移植服務(wù)層
操作系統(tǒng)n、
硬件平臺I環(huán)境基礎(chǔ)層
環(huán)境體系結(jié)構(gòu)
1
圖10.8CASE環(huán)境的組成構(gòu)件
CASE的工具及其分類
II
過程/階段
編輯工具字處理器、文本編輯器、圖表編輯器軟件開發(fā)全過程
編寫文檔工具頁面輸出程序、圖像編輯器軟件開發(fā)全過程
規(guī)劃與估算工具PERT工具、估算工具、電子表格工具軟件開發(fā)全過程
變更管埋工具需求跟蹤工具、變更控制系統(tǒng)軟件開發(fā)全過程
方法支持工具設(shè)計編輯器、數(shù)據(jù)字典、代碼生成器描述、設(shè)計
原型建立工具高端語言、用戶界面生成器描述、測試、有效性驗證
語言處理工具編譯器、解釋器設(shè)計、實現(xiàn)
配置管理工具版本管理系統(tǒng)、細(xì)節(jié)建立工具設(shè)計、實現(xiàn)
程序分析工具交叉索引生成器、靜態(tài)/動態(tài)分析器實現(xiàn)、測試、有效性驗證
測試工具測試數(shù)據(jù)生成器、文件比較器實現(xiàn)、測試、有效性驗證
調(diào)試工具交互式調(diào)試系統(tǒng)實現(xiàn)、測試、有效性驗證
再工程工具交叉索引系統(tǒng)、程序重構(gòu)系統(tǒng)實現(xiàn)
集成化CASE的框架結(jié)構(gòu)
用戶界面層
界面工具箱
表示協(xié)議
工且層
三具管理服務(wù)
CASECASECASECASECASE
工具工具
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來十年移動支付的科技發(fā)展趨勢預(yù)測
- 標(biāo)準(zhǔn)化管理在生產(chǎn)現(xiàn)場的挑戰(zhàn)與對策
- 現(xiàn)代音樂文化的全球化傳播路徑
- 13人物描寫一組(說課稿)2023-2024學(xué)年統(tǒng)編版語文五年級下冊
- Unit 1 Playtime Lesson 3(說課稿)-2023-2024學(xué)年人教新起點版英語二年級下冊001
- 25 少年閏土 第二課時 說課稿-2024-2025學(xué)年語文六年級上冊 統(tǒng)編版
- Unit1 London is a big city(說課稿)2023-2024學(xué)年外研版(三起)四年級下冊
- 2024-2025學(xué)年高中生物 第七章 現(xiàn)代生物進化理論 第1節(jié) 現(xiàn)代生物進化理論的由來說課稿3 新人教版必修2
- Unit 2 Being a good language learner Exploring and Using 說課稿-2024-2025學(xué)年高中英語重大版(2019)必修第一冊
- 2025挖掘機勞動合同范文
- 高一生物生物必修一全冊考試題帶答題紙答案
- 北師大版五年級上冊四則混合運算100道及答案
- 專項債券在燃?xì)饣A(chǔ)設(shè)施建設(shè)中的融資作用
- 人教部編版道德與法治八年級下冊:6.3 《國家行政機關(guān)》說課稿1
- GE-LM2500+G4航改燃?xì)廨啓C在艦船和工業(yè)上的應(yīng)用
- 2024山東能源集團中級人才庫選拔(高頻重點提升專題訓(xùn)練)共500題附帶答案詳解
- 鋼鐵是怎樣煉成的讀后感作文700字
- 武漢市江夏區(qū)2022-2023學(xué)年七年級上學(xué)期期末數(shù)學(xué)試卷【帶答案】-109
- 學(xué)校物業(yè)服務(wù)合同范本專業(yè)版
- SL 288-2014 水利工程施工監(jiān)理規(guī)范
- 部編版八年級語文上冊期末考試卷
評論
0/150
提交評論