成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

軟件復(fù)用技術(shù) 軟件復(fù)用的內(nèi)容是怎樣的呢?

軟件復(fù)用的內(nèi)容是怎樣的呢?人們開發(fā)了許多基于各種OOPL的編程類庫,有力地支持了源程序?qū)哟蔚能浖?fù)用,但不足以實(shí)現(xiàn)更高層次的軟件復(fù)用。軟件復(fù)用的幾種方式?軟件復(fù)用是利用已有的軟件及其有效組件來構(gòu)造新的

軟件復(fù)用的內(nèi)容是怎樣的呢?

人們開發(fā)了許多基于各種OOPL的編程類庫,有力地支持了源程序?qū)哟蔚能浖?fù)用,但不足以實(shí)現(xiàn)更高層次的軟件復(fù)用。

軟件復(fù)用的幾種方式?

軟件復(fù)用是利用已有的軟件及其有效組件來構(gòu)造新的軟件或系統(tǒng)。不僅僅是軟件程序的復(fù)用,還包括軟件生產(chǎn)過程中其他勞動成果的復(fù)用,如項(xiàng)目計(jì)劃、可行性報(bào)告、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼(源程序)、測試用例、文檔和手冊等。因此,軟件復(fù)用包括軟件產(chǎn)品復(fù)用和軟件過程復(fù)用。

軟件復(fù)用不同于軟件移植。軟件移植是指對軟件進(jìn)行修改和擴(kuò)展,使其在保留原有功能、適應(yīng)原有平臺的基礎(chǔ)上,運(yùn)行在新的軟硬件平臺上。復(fù)用是指在多個(gè)系統(tǒng)中使用已有的軟件組件,尤其是在新系統(tǒng)中。

從復(fù)用產(chǎn)品和復(fù)用方法的理解上,也可以分為白盒復(fù)用和黑盒復(fù)用。黑盒復(fù)用是指直接復(fù)用已有的產(chǎn)品或組件,不做任何修改,是一種理想的復(fù)用方法。主要是基于二進(jìn)制代碼的復(fù)用,包括可執(zhí)行程序的復(fù)用和基于庫(包括動態(tài)鏈接庫和靜態(tài)庫)的復(fù)用。白盒重用是指根據(jù)用戶需求對現(xiàn)有產(chǎn)品進(jìn)行適應(yīng)性修改。;使用前的需求。白盒復(fù)用一般是源代碼級別的復(fù)用和相應(yīng)測試用例、文檔的復(fù)用。

無論白盒復(fù)用還是黑盒復(fù)用,熟悉和掌握復(fù)用的軟件系統(tǒng)都需要一定的成本。從經(jīng)濟(jì)角度考慮,再利用的成本必須遠(yuǎn)小于再開發(fā)的成本,否則不應(yīng)考慮。

軟件復(fù)用的一個(gè)關(guān)鍵因素是抽象。抽象是對軟件可復(fù)用對象的抽象和概括,即從特定的語言、環(huán)境等細(xì)節(jié)中提取可復(fù)用對象的基本屬性和相應(yīng)的操作。軟件的可復(fù)用性很大程度上取決于對可復(fù)用對象的理解深度或可復(fù)用對象的抽象程度。抽象程度越高,與具體環(huán)境和具體細(xì)節(jié)越不相關(guān),被未來系統(tǒng)重用的可能性就越大。領(lǐng)域分析是一個(gè)強(qiáng)大的抽象工具。領(lǐng)域分析借助特定領(lǐng)域和行業(yè)的專業(yè)知識和技能,對軟件系統(tǒng)對象進(jìn)行抽象和分類,提煉認(rèn)知對象及其關(guān)系,獲得系統(tǒng)的整體結(jié)構(gòu),生成可復(fù)用的軟件構(gòu)件。

通過軟件復(fù)用,我們可以在應(yīng)用系統(tǒng)的開發(fā)中充分利用現(xiàn)有的開發(fā)成果,減少包括分析、設(shè)計(jì)、編碼、測試等在內(nèi)的大量重復(fù)性工作。,從而提高軟件開發(fā)的效率。同時(shí),通過復(fù)用高質(zhì)量的已有開發(fā)成果,可以避免二次開發(fā)可能引入的錯(cuò)誤,從而提高軟件的質(zhì)量。

軟件復(fù)用有三個(gè)基本原則。首先,必須有可重用的對象。第二,被重用的對象必須是有用的。第三,重用者需要知道如何使用被重用的對象。的對象。軟件復(fù)用包括兩個(gè)相關(guān)的過程:開發(fā)復(fù)用軟件(組件)和開發(fā)不復(fù)用基于可復(fù)用軟件(組件)的應(yīng)用系統(tǒng)。只有解決了這些問題,才能實(shí)現(xiàn)真正成功的軟件復(fù)用。

可復(fù)用軟件(構(gòu)件)的開發(fā)是實(shí)現(xiàn)軟件復(fù)用的基本條件。對象技術(shù)的廣泛使用為構(gòu)建和使用組件提供了概念基礎(chǔ)和實(shí)用工具。利用可復(fù)用軟件,可以實(shí)現(xiàn)基于可復(fù)用軟件(組件)的應(yīng)用系統(tǒng)的構(gòu)建(集成和組裝)。軟件的制作也可以像硬件的制作一樣,在設(shè)計(jì)好框架后,用標(biāo)準(zhǔn)組件組裝。一般來說,組件是具有一定功能的程序體,可以獨(dú)立工作,也可以與其他組件協(xié)同工作。一旦產(chǎn)生,就與其具體的實(shí)現(xiàn)語言無關(guān)??梢哉J(rèn)為是二進(jìn)制代碼和數(shù)據(jù)段,其內(nèi)部實(shí)現(xiàn)是不可見的。成熟的組件可以作為商品出售,在保證開發(fā)者利益的同時(shí),最大程度滿足社會需求。使用組件開發(fā)軟件可以重用他人 現(xiàn)有的勞動成果更有效。

在可復(fù)用軟件的設(shè)計(jì)中,如何設(shè)計(jì)和構(gòu)造可復(fù)用軟件是軟件設(shè)計(jì)者必須面對的首要問題。根據(jù)面向?qū)ο蟮脑O(shè)計(jì)原則,我們應(yīng)該重點(diǎn)關(guān)注以下幾個(gè)方面:

(1)封裝

在軟件組件的定義中,用戶只關(guān)心事件的輸入和輸出,而不關(guān)心事件的輸入和輸出。;我不必關(guān)心事情的內(nèi)幕。方法和事件獨(dú)立于應(yīng)用程序。用戶可以在軟件組件中定義他們自己的事件,但是他們沒有。;不知道內(nèi)部調(diào)用的復(fù)雜性,從而提高了隱蔽性。

(2)超載

重載意味著在同一個(gè)軟件組件中使用相同的名稱來表示不同的方法名。一般有兩種實(shí)現(xiàn),一種是重載方法參數(shù)的個(gè)數(shù),另一種是重載方法參數(shù)的類型。

(3)繼承

繼承是在不同范圍內(nèi)對高級類的重用。

(4)聚合

聚合就是把一個(gè)很難復(fù)用的大型軟件分成幾個(gè)組件,讓其中的一部分可以復(fù)用。

(5)多態(tài)性

多態(tài)意味著一個(gè)方法不僅可以處理結(jié)構(gòu)相同的對象,也可以處理結(jié)構(gòu)不同的對象。

中間件和相關(guān)軟件是商業(yè)軟件復(fù)用。單看程序,軟件復(fù)用后的產(chǎn)品不僅包括中間件軟件,還包括軟件框架、應(yīng)用框架、通用業(yè)務(wù)組件等可復(fù)用形式。