999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析軟件復(fù)用技術(shù)

2008-12-31 00:00:00王茂蛟
電腦知識與技術(shù) 2008年14期

摘要:軟件復(fù)用是將已有的軟件及其有效成分用于構(gòu)造新的軟件或系統(tǒng)軟件,是提高軟件質(zhì)量和生產(chǎn)效率的的基本途徑。本文主要介紹軟件復(fù)用的基本概念、分類,軟件復(fù)用技術(shù)以及基于復(fù)用的軟件開發(fā)過程。

關(guān)鍵詞:軟件復(fù)用;軟件復(fù)用技術(shù);基于復(fù)用的軟件開發(fā)過程

中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)14-20940-02

1 軟件復(fù)用的概念

所謂軟件復(fù)用是指重復(fù)使用“為了復(fù)用目的而設(shè)計(jì)的軟件”的過程。而可復(fù)用軟件則是指為了復(fù)用目的而設(shè)計(jì)的軟件。軟件復(fù)用更強(qiáng)調(diào)的是復(fù)用的目的。它是一種系統(tǒng)化的方法,為了復(fù)用而進(jìn)行設(shè)計(jì)。為了復(fù)用而開發(fā)。并且要有效地組織和管理這些復(fù)用產(chǎn)品。方便人們查找和使用。基于復(fù)用產(chǎn)品進(jìn)行開發(fā)。由此可見。并非所有重復(fù)使用軟件的行為都是軟件復(fù)用過程。例如:重復(fù)使用“并非為了復(fù)用目的而設(shè)計(jì)的軟件”或在一個應(yīng)用系統(tǒng)的不同版本間重復(fù)使用代碼。這兩類行為都不屬于嚴(yán)格意義上的軟件復(fù)用。軟件復(fù)用一定要有積累。首先要為了復(fù)用目的設(shè)計(jì)很多的復(fù)用產(chǎn)品,有了一定的積累后才能進(jìn)行軟件復(fù)用。

2 軟件復(fù)用的分類

軟件復(fù)用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng),它不僅僅是對程序的復(fù)用,它還包括對軟件生產(chǎn)過程中任何活動所產(chǎn)生的成品的復(fù)用。按抽象程度的高低,可以劃分為如下的復(fù)用級別:

2.1 代碼的復(fù)用

包括目標(biāo)代碼和源代碼的復(fù)用。當(dāng)前大部分編程語言的運(yùn)行支持系統(tǒng)都提供了連接、綁定等功能來支持目標(biāo)代碼的復(fù)用。源代碼的復(fù)用級別略高于目標(biāo)代碼的復(fù)用,程序員在編程時把一些代碼段復(fù)制到自己的程序中,但這樣往往會產(chǎn)生一些新舊代碼不匹配的錯誤。要想大規(guī)模的實(shí)現(xiàn)源程序的復(fù)用只有依靠含有大量可復(fù)用構(gòu)件的構(gòu)件庫。比如“對象鏈接及嵌入”(0LE)技術(shù),既支持在源程序級定義構(gòu)件并用以構(gòu)造新的系統(tǒng),又使這些構(gòu)件在目標(biāo)代碼的級別上仍然是一些獨(dú)立的可復(fù)用構(gòu)件,能夠在運(yùn)行時被靈活的重新組合為各種不同的應(yīng)用。

2.2 設(shè)計(jì)的復(fù)用

設(shè)計(jì)結(jié)果比源程序的抽象級別更高,因此它的復(fù)用受實(shí)現(xiàn)環(huán)境的影響較少,從而使可復(fù)用構(gòu)件被復(fù)用的機(jī)會更多,并且所需的修改更少。這種復(fù)用有三種途徑:第一種途徑是從現(xiàn)有系統(tǒng)的設(shè)計(jì)結(jié)果中提取一些可復(fù)用的設(shè)計(jì)構(gòu)件,并把這些構(gòu)件應(yīng)用于新系統(tǒng)的設(shè)計(jì);第二種途徑是把一個現(xiàn)有系統(tǒng)的全部設(shè)計(jì)文檔在新的軟硬件平臺上重新實(shí)現(xiàn),也就是把一個設(shè)計(jì)運(yùn)用于多個具體的實(shí)現(xiàn);第三種途徑是獨(dú)立于任何具體的應(yīng)用,有計(jì)劃地開發(fā)一些可復(fù)用的設(shè)計(jì)構(gòu)件。

2.3 分析的復(fù)用

這是比設(shè)計(jì)結(jié)果更高級別的復(fù)用,可復(fù)用的分析構(gòu)件是針對問題域的某些事物或某些問題的抽象程度更高的解法,受設(shè)計(jì)技術(shù)及實(shí)現(xiàn)條件的影響很少,所以可復(fù)用的機(jī)會更大。復(fù)用的途徑也有三種:①從現(xiàn)有系統(tǒng)的分析結(jié)果中提取可復(fù)用構(gòu)件用于新系統(tǒng)的分析;②用一份完整的分析文檔作輸入產(chǎn)生針對不同軟硬件平臺和其它實(shí)現(xiàn)條件的多項(xiàng)設(shè)計(jì);③獨(dú)立于具體應(yīng)用,專門開發(fā)一些可復(fù)用的分析構(gòu)件。

2.4 測試信息的復(fù)用

主要包括測試用例的復(fù)用和測試過程信息的復(fù)用。前者是把一個軟件的測試用例在新的軟件測試中使用,或者在軟件作出修改時在新的一輪測試中使用。后者是在測試過程中通過軟件工具自動地記錄測試的過程信息,包括測試員的每一個操作、輸入?yún)?shù)、測試用例及運(yùn)行環(huán)境等一切信息。這種復(fù)用的級別,不便和分析、設(shè)計(jì)、編程的復(fù)用級別作準(zhǔn)確的比較,因?yàn)楸粡?fù)用的不是同一事物的不同抽象層次,而是另一種信息,但從這些信息的形態(tài)看,大體處于與程序代碼相當(dāng)?shù)募墑e。由于軟件生產(chǎn)過程主要是正向過程,即大部分軟件的生產(chǎn)過程是使軟件產(chǎn)品從抽象級別較高的形態(tài)向抽象級別較低的形態(tài)演化,所以較高級別的復(fù)用容易帶動較低級別的復(fù)用,因而復(fù)用的級別越高,可得到的回報也越大,因此分析結(jié)果和設(shè)計(jì)結(jié)果在目前很受重視。

3 軟件復(fù)用技術(shù)

軟件復(fù)用技術(shù)可分為合成技術(shù)和生成技術(shù)兩大類:

3.1 合成技術(shù)

在合成技術(shù)中,構(gòu)件(Building blocks)是復(fù)用的基石。其軟件方法以抽象數(shù)據(jù)類型為理論基礎(chǔ),借用了硬件中集成電路芯片的思想,即將功能細(xì)節(jié)與數(shù)據(jù)結(jié)構(gòu)隱藏封裝在構(gòu)件內(nèi)部,并有精心設(shè)計(jì)的接口。構(gòu)件在開發(fā)中就類似于芯片的使用,可組裝成更大的構(gòu)件。構(gòu)件是對某一函數(shù)、過程、子程序、數(shù)據(jù)類型、算法等可復(fù)用軟件成份的抽象,利用構(gòu)件構(gòu)造軟件系統(tǒng),可提高生產(chǎn)率、縮短開發(fā)周期。構(gòu)件完全不需修改的情況只是一種理想的情形,在實(shí)際工作中,修改和增刪是難免的。構(gòu)件組合成更大的構(gòu)件的方式有三種:⑴連接:通常標(biāo)準(zhǔn)庫中的標(biāo)準(zhǔn)函數(shù)是靠編譯和連接程序與其它模塊一并合成系統(tǒng)的。⑵ 消息傳遞和繼承:例如Smalltalk面向?qū)ο蟮某绦蚪Y(jié)構(gòu)體系,就是通過消息傳遞和繼承機(jī)制把對象與相關(guān)的其它對象類聯(lián)系起來合成一個系統(tǒng)的。⑶管道機(jī)制:例如UNIX中用管道(Pipe)連接Shell命令,使用前一命令的輸出作為后一命令的輸入,用管道機(jī)制把多個Shell命令連接在一起完成一個更復(fù)雜的功能。

3.2 生成技術(shù)

生成技術(shù)利用可復(fù)用的模式,通過生成程序產(chǎn)生一個新的程序或程序段,產(chǎn)生的程序即是模式的實(shí)例。可復(fù)用的模式分為:代碼模式和規(guī)則模式。前者的一個示例是應(yīng)用生成器,可復(fù)用的代碼模式就存在于生成器自身,通過特定的參數(shù)替換,生成抽象軟件模塊的具體實(shí)例。后者的一個示例是變換系統(tǒng),它是變換規(guī)則的集合;在其變換方法中通常采用超高級的規(guī)格說明語言,形式化地給出軟件需求規(guī)格說明,利用程序變換系統(tǒng),把用超高級規(guī)格說明語言編寫的程序轉(zhuǎn)化成某種可執(zhí)行語言的程序。此種超高級語言抽象能力高,邏輯性強(qiáng),形式化好,便于軟件使用者維護(hù)。與構(gòu)件的復(fù)用相比,模式復(fù)用主要用于某些具體的應(yīng)用領(lǐng)域。一般說來,構(gòu)件的描述應(yīng)選用一種不依賴于具體機(jī)器、具體語言的較抽象的語言,否則會受機(jī)器和語言的限制而降低可復(fù)用性。例如,用某種高級語言編寫的構(gòu)件將受到該語言中的數(shù)據(jù)結(jié)構(gòu)和控制結(jié)構(gòu)的限制,有時在其它語言中不易找到相應(yīng)的概念和結(jié)構(gòu)。另外,大批構(gòu)件必須用一個數(shù)據(jù)庫進(jìn)行管理。總之,構(gòu)件方法支持自底向上的軟件開發(fā)方法,相應(yīng)的構(gòu)件應(yīng)具有硬件獨(dú)立性、軟件獨(dú)立性、可讀性、可理解性、可修改性和正確性。而變換方法側(cè)重于程序的推導(dǎo)方式,推理規(guī)則,支持自頂向下的軟件開發(fā)技術(shù);因其形式化程度高,抽象性強(qiáng),一般軟件開發(fā)者不易掌握,在描述某些實(shí)際問題時也有困難;再者,經(jīng)過多次變換得到的可執(zhí)行程序的效率較低,對時間和存儲空間的需求較高,這都是需要解決的問題。在實(shí)際應(yīng)用中可將這兩種方法結(jié)合使用,取長補(bǔ)短,再吸收人工智能的研究成果,以知識庫為輔助工具,可促進(jìn)復(fù)用技術(shù)的成熟、拓展和深化。

4 基于復(fù)用的軟件開發(fā)過程

應(yīng)用系統(tǒng)的軟件復(fù)用由可復(fù)用資產(chǎn)的開發(fā)、管理、支持和復(fù)用四個過程組成。

4.1 可復(fù)用資產(chǎn)的開發(fā)

此開發(fā)過程要界定并提供可復(fù)用資產(chǎn),以滿足應(yīng)用工程師的需要。可復(fù)用資產(chǎn)的來源可以是新開發(fā)的、再建設(shè)的、購置的。可復(fù)用資產(chǎn)有多種類型,如代碼、接口、體系結(jié)構(gòu)、測試、工具、規(guī)范等。此開發(fā)過程的活動包括:清理現(xiàn)有的應(yīng)用軟件和資產(chǎn),列出其詳細(xì)清單,并進(jìn)行分析;進(jìn)行領(lǐng)域分析;體系結(jié)構(gòu)定義;評估應(yīng)用工程師的需求;進(jìn)行技術(shù)改革;可復(fù)用資產(chǎn)的設(shè)計(jì)、實(shí)現(xiàn)、測試和打包等。

4.2 復(fù)用

復(fù)用過程是使用可復(fù)用資產(chǎn)來生產(chǎn)客戶合同應(yīng)用軟件的過程。此過程的活動包括:檢驗(yàn)領(lǐng)域模型;收集和分析最終用戶的需求;從可復(fù)用資產(chǎn)中挑選合適的構(gòu)件,并進(jìn)行必要的客戶化調(diào)節(jié);設(shè)計(jì)和實(shí)現(xiàn)可復(fù)用資產(chǎn)未覆蓋到的部分;組裝出完整的應(yīng)用軟件,對之進(jìn)行測試。

4.3 支持

支持過程的任務(wù)是全面支持可復(fù)用資產(chǎn)的獲取、管理、維護(hù)工作。此過程的活動包括:對所提供的可復(fù)用資產(chǎn)進(jìn)行確認(rèn);對構(gòu)件庫進(jìn)行分類綴目;通告和分發(fā)可復(fù)用資產(chǎn);提供必要的文檔;從應(yīng)用工程師收集反饋信息和缺陷報告。

4.4 管理

管理過程從事計(jì)劃、啟動、資源、跟蹤。并協(xié)調(diào)這幾個過程。管理過程的活動包括:對新資產(chǎn)的獲取工作優(yōu)先性排隊(duì);安排其施工日程;分析其影響;解決有關(guān)的矛盾;進(jìn)行培訓(xùn);進(jìn)行指揮。

5 結(jié)束語

使用成熟的軟件復(fù)用技術(shù)可以提高軟件開發(fā)效率,改善軟件質(zhì)量,縮短軟件開發(fā)周期,降低軟件開發(fā)成本,同時還可促進(jìn)軟件復(fù)用技術(shù)自身的進(jìn)一步發(fā)展與完善。

參考文獻(xiàn):

[1] 張海藩. 軟件工程導(dǎo)論(第3版)[M]. 北京:清華大學(xué)出版社,1998.

[2] 黃柏素, 梅宏 譯. 軟件工程實(shí)踐者的研究方法[M]. 機(jī)械工業(yè)出版社,1999.

主站蜘蛛池模板: 538国产在线| 无码日韩视频| 国产欧美视频综合二区| 操国产美女| 粉嫩国产白浆在线观看| 国产欧美日韩视频怡春院| 日韩福利视频导航| 一本大道无码高清| 欧洲亚洲一区| 夜夜高潮夜夜爽国产伦精品| 22sihu国产精品视频影视资讯| 国产欧美精品一区aⅴ影院| 青青草原国产一区二区| 久久一本日韩精品中文字幕屁孩| 97在线国产视频| 久久黄色免费电影| 国产精品任我爽爆在线播放6080| 精品欧美视频| 大学生久久香蕉国产线观看 | 国产成人综合在线视频| 免费在线色| 日韩av无码精品专区| 激情无码视频在线看| 一边摸一边做爽的视频17国产| 国产激情无码一区二区免费| 国产成人精品在线1区| 亚洲无码高清视频在线观看| 亚洲精品成人福利在线电影| 国产日韩欧美视频| 国产一区二区影院| 成人年鲁鲁在线观看视频| 一区二区三区国产| 天天摸天天操免费播放小视频| 亚洲综合专区| 国产日产欧美精品| 国产福利观看| 日韩美一区二区| 一本久道久久综合多人| 无码在线激情片| 国产精品久久久久无码网站| 97免费在线观看视频| 九九久久99精品| 欧美亚洲另类在线观看| 99九九成人免费视频精品 | 制服丝袜无码每日更新| 日本一区二区不卡视频| AV无码无在线观看免费| 国产你懂得| 22sihu国产精品视频影视资讯| 日韩成人免费网站| 国产成人AV男人的天堂| 91在线一9|永久视频在线| 视频二区亚洲精品| 999精品免费视频| 91小视频在线观看免费版高清| 2020最新国产精品视频| 日韩小视频在线观看| 国产精品亚洲αv天堂无码| 久久成人18免费| 青青草原国产av福利网站| 久久影院一区二区h| 全免费a级毛片免费看不卡| 日韩欧美国产另类| 999福利激情视频| 亚洲—日韩aV在线| 91国内外精品自在线播放| 欧美色99| 欧美日韩在线成人| 女人18毛片久久| 亚洲男人的天堂视频| 亚洲成人网在线观看| 国产偷国产偷在线高清| 国产精品无码在线看| 国产成人精品综合| 在线观看无码a∨| 国产国模一区二区三区四区| 久久国产精品77777| 色有码无码视频| 久草性视频| 天天摸夜夜操| 国产人人乐人人爱| 操美女免费网站|