首頁 > 文章中心 > 正文

          軟件開發(fā)中對(duì)構(gòu)件的研究與合成

          前言:本站為你精心整理了軟件開發(fā)中對(duì)構(gòu)件的研究與合成范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。

          軟件開發(fā)中對(duì)構(gòu)件的研究與合成

          摘要:隨著我國的快速發(fā)展,科學(xué)技術(shù)的發(fā)展有很大的提升。針對(duì)軟件的開發(fā)和在軟件的性能上,有著高質(zhì)量和不同程度的要求。在現(xiàn)在科技迅速發(fā)展的社會(huì),傳統(tǒng)的軟件開發(fā),已經(jīng)不能滿足社會(huì)的需要,同時(shí)人們生活的快速發(fā)展在需求上也越來越多。傳統(tǒng)的軟件開發(fā)面臨著被淘汰的危險(xiǎn)?;跇?gòu)件的軟件開發(fā)、開發(fā)的方法和各種優(yōu)勢(shì)已經(jīng)是現(xiàn)在相關(guān)研究關(guān)注的方向。通過基于構(gòu)件的軟件開發(fā)中對(duì)構(gòu)件的開發(fā)和方法技術(shù)上以及技術(shù)合成上進(jìn)行了分析和研究,為以后在軟件的研究中提供一些有益的參考。

          關(guān)鍵詞:軟件重用;構(gòu)件;構(gòu)件合成;軟件開發(fā)

          每個(gè)軟件的生存有著每個(gè)軟件的周期性,一般軟件都包括著很多種維護(hù)的階段,一般都包含著分析和測(cè)試及編碼等等。針對(duì)軟件的開發(fā),在各個(gè)方面都是在重復(fù)運(yùn)行的反復(fù)工作的,對(duì)生產(chǎn)上大大地減少了效率,同時(shí)針對(duì)質(zhì)量上也是不能控制的。軟件的開發(fā)有很強(qiáng)的轉(zhuǎn)變性,從各個(gè)方面都要進(jìn)行轉(zhuǎn)變,將是一個(gè)很復(fù)雜的工程。隨著信息時(shí)代的趨勢(shì),軟件的開發(fā)也在快速地發(fā)展,對(duì)于軟件重用技術(shù)上還沒有很好的解決方案進(jìn)行解決。對(duì)于軟件的開發(fā)有很高的期望,是可以使我們的發(fā)展道路走上工程化和產(chǎn)業(yè)化的一種希望。在軟件的開發(fā)過程中常常有很多重復(fù)勞動(dòng),使得軟件生產(chǎn)效率降低,軟件產(chǎn)品質(zhì)量也不能得到確切的保證。因此,軟件的生產(chǎn)方式亟待一次根本性轉(zhuǎn)變。隨著面向?qū)ο蠹夹g(shù)的發(fā)展,軟件重用技術(shù)成為一種可行的解決方案,被視為軟件開發(fā)真正走上工程化和產(chǎn)業(yè)化道路的希望?;跇?gòu)件的軟件開發(fā)技術(shù)(Component-basedSoftwareDevelop-ment簡(jiǎn)稱CBSD)就是應(yīng)這一需要而產(chǎn)生的。

          1開發(fā)意義

          針對(duì)基于構(gòu)件的軟件開發(fā),是一種特殊的軟件,可以進(jìn)行重復(fù)軟件的運(yùn)用,是一種基于分布目標(biāo)的手段。不同的技術(shù)互相連接著,各種不同的因素相結(jié)合在一起。相結(jié)合的結(jié)果體現(xiàn)了共同實(shí)現(xiàn)軟件重復(fù)運(yùn)用的關(guān)鍵。一般普通軟件的開發(fā),主要是側(cè)重于編寫程序。但是基于構(gòu)件軟件開發(fā),主要是側(cè)重于構(gòu)件的組裝上,可以很好地對(duì)構(gòu)件的系統(tǒng)完善,同時(shí)減少了側(cè)重于軟件維護(hù)的方向。在針對(duì)系統(tǒng)升級(jí)和開放中,可以大幅度地減少所需要的各種人力物力?;跇?gòu)件的研究,主要是把軟件進(jìn)行分解,針對(duì)每一個(gè)分解成獨(dú)立的單元。這種軟件部件的思想早在Ada語言中的Package機(jī)制中已有了雛型,直到面對(duì)的對(duì)象,在技術(shù)上對(duì)對(duì)象的概述上可以進(jìn)發(fā)現(xiàn),針對(duì)軟件部件的生產(chǎn)上有很好的奠基作用。如圖1所示。所提到的軟件部件簡(jiǎn)稱為構(gòu)件,以下是構(gòu)件的基本概念。構(gòu)件(component)是指一種特殊的軟件,有著封裝和規(guī)范以及可重復(fù)軟件運(yùn)用等優(yōu)點(diǎn),同時(shí)也是組成構(gòu)件的主要因素,構(gòu)件的基本特征主要包含以下幾點(diǎn):(1)構(gòu)件是一種具有獨(dú)立性的、可傳遞性的、來進(jìn)行操作上的結(jié)合。(2)構(gòu)件是軟件開發(fā)時(shí)一個(gè)具有特殊性的軟件,也是一種不可獨(dú)特的軟件單元,位于一個(gè)特殊的主要核心位置;同時(shí)對(duì)設(shè)計(jì)方面決定著封裝,體現(xiàn)了一個(gè)大單元的小部分和其他構(gòu)件一起結(jié)合而組成的。(3)構(gòu)件的組成部分主要是很多的對(duì)象類所結(jié)合在一起所組成的,在某種物理意義的包。(4)構(gòu)件自身帶有一種特定性,是可以根據(jù)進(jìn)程邊界進(jìn)行跨越式的操作,針對(duì)網(wǎng)絡(luò)的實(shí)現(xiàn),網(wǎng)絡(luò)的語言和相關(guān)的開發(fā)軟件上都是處于一個(gè)獨(dú)立的對(duì)象,在操作系統(tǒng)上也是處于一個(gè)獨(dú)立的對(duì)象,實(shí)現(xiàn)了可以隨時(shí)使用的方便快捷優(yōu)點(diǎn)。(5)構(gòu)件具有的特殊性,在某種意義上可以隨時(shí)隨地進(jìn)行分離,其軟件系統(tǒng)具有標(biāo)準(zhǔn)化,以及重復(fù)運(yùn)用性較強(qiáng)的的優(yōu)點(diǎn)。

          2構(gòu)件組成

          2.1形式化的構(gòu)件陳述構(gòu)件可以根據(jù)一個(gè)四元組來體現(xiàn):構(gòu)件其中包含著:(1)構(gòu)件標(biāo)識(shí)符;(2)構(gòu)件說明;(3)構(gòu)件體;(4)接口。如果進(jìn)行構(gòu)件的說明和構(gòu)件體兩種元組進(jìn)行分離,要同時(shí)考慮一個(gè)問題,是通過很多程度設(shè)計(jì)的不同種類進(jìn)行語言設(shè)計(jì)的體現(xiàn);同時(shí)同一個(gè)構(gòu)件也可以用很多不同構(gòu)件體進(jìn)行語言實(shí)現(xiàn)。在上一章就已經(jīng)提過軟件接口。其中構(gòu)件的接口不單單只是靠外部物理來實(shí)現(xiàn)接口的作用,還可以進(jìn)行外部邏輯接口的作用;針對(duì)外部邏輯接口,主要是提供一個(gè)形式化的構(gòu)件,給用戶提供各種功能的介紹,可以更方便進(jìn)行對(duì)用戶的心理受眾情況以及對(duì)構(gòu)件使用的普及。

          2.2構(gòu)件設(shè)計(jì)構(gòu)件的設(shè)計(jì)可以從3個(gè)層次進(jìn)行分析,如圖2所示。針對(duì)構(gòu)件的介紹中,主要是對(duì)構(gòu)件功能的介紹和普及,對(duì)于構(gòu)件的各種功能都很詳細(xì)地了解。對(duì)構(gòu)件的重要方面進(jìn)一步進(jìn)行標(biāo)識(shí),對(duì)構(gòu)件功能的描寫上,就只是單單地給用戶提供外部邏輯接口的有效作用。具有邏輯設(shè)計(jì)的構(gòu)件必須要在規(guī)范的情況下進(jìn)行,主要是規(guī)范構(gòu)件的語言定義,還通過構(gòu)件操作來進(jìn)行語言邏輯上的設(shè)計(jì)。其中邏輯性的設(shè)計(jì)和物理性設(shè)計(jì)是分開進(jìn)行的,可以對(duì)構(gòu)件語言上不同的種類進(jìn)行實(shí)現(xiàn)。構(gòu)件的發(fā)展也隨著構(gòu)件的規(guī)劃越來越標(biāo)準(zhǔn)化,對(duì)構(gòu)件未來在設(shè)計(jì)上的開發(fā)不再具有獨(dú)立性,都是由構(gòu)件制造商來進(jìn)行開發(fā)。這樣對(duì)用戶系統(tǒng)的開發(fā),可以更好地將周期縮短,同時(shí)在質(zhì)量上可以很好地控制并有很高的穩(wěn)定性。

          2.3構(gòu)件生命周期構(gòu)件的特殊性體現(xiàn)了一種動(dòng)態(tài)的定義,有一個(gè)獨(dú)立的生命周期,其運(yùn)行需要空間大、占內(nèi)存多。針對(duì)構(gòu)件的發(fā)展過程,有很多的構(gòu)件在發(fā)展過程中被淘汰,其中對(duì)激活的構(gòu)件是通過事件的發(fā)生來進(jìn)行的,通過事件的發(fā)生消息和過程以及指令等方面來進(jìn)行的。

          2.4構(gòu)件與對(duì)象的區(qū)別構(gòu)件和對(duì)象,粗略看來概念有點(diǎn)相似。深入分析一下,他們有著本質(zhì)上的區(qū)別。表1給出它們?cè)诟拍钌系膮^(qū)別與不同。如表1所示。

          3構(gòu)件合成技術(shù)

          針對(duì)構(gòu)件的合成,主要是先從找原件開始進(jìn)行,對(duì)內(nèi)部的結(jié)構(gòu)進(jìn)行定義以及對(duì)外部接口的定義。其中接口的定義體現(xiàn)了內(nèi)部系統(tǒng)的狀況,但是系統(tǒng)的總體不只是所有各個(gè)部件的組成來實(shí)現(xiàn)的,系統(tǒng)的總體要多樣化和個(gè)性化,對(duì)于構(gòu)件的合成技術(shù)是非常重要的。

          3.1構(gòu)件合成的定義構(gòu)件的合成定義,由參照Nierastrasz和Dami的進(jìn)行定義,然后進(jìn)行軟件的合成,主要通過構(gòu)件軟件插口連接起來,來進(jìn)行主要構(gòu)造過程;其中對(duì)于軟件插口的描述,主要是體現(xiàn)構(gòu)件之間的產(chǎn)生的作用方法。其中構(gòu)件合成可以分兩大基本類型:(1)構(gòu)件可以被合成進(jìn)系統(tǒng),但是又可以成為組成系統(tǒng)的一小部分。在這種環(huán)境下,構(gòu)件將會(huì)被編譯,而且也會(huì)被鏈接到系統(tǒng)成為內(nèi)部合成部分。(2)構(gòu)件獨(dú)立地起作用,稱為外部合成。

          3.2構(gòu)件合成的主要問題和解決辦法在進(jìn)行構(gòu)件的合成中會(huì)出現(xiàn)很多的問題,其中主要的問題是,在進(jìn)行構(gòu)件的合成時(shí)對(duì)于不同種類的構(gòu)件在合成中,并不能很好地被運(yùn)用。針對(duì)于不同的構(gòu)件包進(jìn)行不同程度上的構(gòu)件合成,往往會(huì)導(dǎo)致效率的降低。對(duì)于問題的出現(xiàn),可以從以下幾點(diǎn)進(jìn)行概述:(1)對(duì)構(gòu)件進(jìn)行修改。(2)適配器/打包器。(3)創(chuàng)建帶轉(zhuǎn)換器的構(gòu)件。這些方法有助于解決一些問題,但并沒有解決重用問題的本身,即如果用戶只想用“黑箱法”(不了解構(gòu)件內(nèi)部結(jié)構(gòu))那么對(duì)構(gòu)件進(jìn)行修改等方法就不會(huì)給用戶帶來明顯益處。針對(duì)構(gòu)件的合成從以下3方面進(jìn)行分析,構(gòu)件的組織部分、針對(duì)構(gòu)件任務(wù)的分配情況,并且在構(gòu)件的合成中是不是符合相互間需求。相關(guān)研究者對(duì)構(gòu)件合成研究時(shí),采用了很多不同的方法和類型來進(jìn)行研究的,首先對(duì)插件的組織進(jìn)行設(shè)計(jì)規(guī)劃,對(duì)構(gòu)件軟插口也要進(jìn)行設(shè)計(jì)規(guī)劃;通過軟插口的限制條件進(jìn)行系統(tǒng)化,通過構(gòu)件和封裝的系統(tǒng),根據(jù)不同特征不同種類進(jìn)行分離。構(gòu)件在開發(fā)中具有抽象化,其作用可以進(jìn)行插口的分離,同時(shí)借助插口特殊作用來進(jìn)行不同結(jié)構(gòu)的類型形成,只要是出現(xiàn)較高的抽象化現(xiàn)象,就可以根據(jù)具體產(chǎn)生進(jìn)行合適的應(yīng)用。

          3.3基于軟件插口的構(gòu)件合成技術(shù)針對(duì)軟件插口的構(gòu)件合成技術(shù),為了構(gòu)件合成的效率提升,對(duì)于用戶可以重用構(gòu)件,可以進(jìn)行“黑箱法”方式來進(jìn)行,主要針對(duì)重用構(gòu)件以及維修保護(hù)的方便,介紹了一種基于軟件插口的構(gòu)件合成技術(shù)。如圖3所示。針對(duì)圖3中各項(xiàng)做出解釋:MsgType是消息類型:有著請(qǐng)求、應(yīng)答、自定義等各種類型;OrigalID是發(fā)送消息標(biāo)識(shí);UserID是接收消息的標(biāo)識(shí);MsgPriority是消息的優(yōu)先機(jī)制,例如“先進(jìn)先出FIFO”或“依據(jù)優(yōu)先級(jí)”;Priority----當(dāng)MsgPriority值為“依據(jù)優(yōu)先級(jí)”時(shí),指示優(yōu)先級(jí)。以上不同消息的種類都各其所職,都有不同的作用和功能。軟插口的消息主要是進(jìn)行消息的處理功能。其消息的多樣化可以進(jìn)行一個(gè)請(qǐng)求,進(jìn)行一組數(shù)據(jù)等形式來體現(xiàn)。消息的系統(tǒng)化體現(xiàn)了一個(gè)安全的儲(chǔ)存點(diǎn),軟插口主要是通過管理器來管理的。軟件插口的結(jié)構(gòu)圖如圖4所示。軟件插口為了信息點(diǎn)之間的鏈接有可靠性的傳播作用,主要是根據(jù)消息通道等技術(shù)來實(shí)現(xiàn)的,在發(fā)送結(jié)點(diǎn)和接收結(jié)點(diǎn)上可以進(jìn)行分別定義,其中有兩個(gè)通道來進(jìn)行消息的傳遞。在發(fā)送端,要將要發(fā)送的消息進(jìn)行傳送,在接收端時(shí)接收隊(duì)列主要負(fù)責(zé)著信息的存放。構(gòu)件和軟件插口有著很重要的關(guān)系作用,可以用構(gòu)件來進(jìn)行信息的傳遞,在需要處理的數(shù)據(jù)時(shí),必須要進(jìn)行處理。要保證平臺(tái)的穩(wěn)定性和獨(dú)立性特點(diǎn),只要是根據(jù)消息機(jī)制的構(gòu)件都可以進(jìn)行結(jié)合,不但可以提高構(gòu)建技術(shù)合成的性能,還能簡(jiǎn)化開發(fā)過程。

          4結(jié)語

          軟件構(gòu)件可以說是跨世紀(jì)軟件技術(shù)發(fā)展的一個(gè)趨勢(shì),也是軟件工程界的一個(gè)熱門話題。構(gòu)件技術(shù)主要是來源軟件的重用優(yōu)勢(shì),以及所謂軟件的重用上進(jìn)行軟件成分來構(gòu)造新的軟件。不但軟件開發(fā)上的人力物力和時(shí)間都能減少,同時(shí)對(duì)于軟件的可靠性和質(zhì)量上都有很大的提高。構(gòu)件技術(shù)是目前發(fā)展最快的軟件重用方式。旨在提高軟件生產(chǎn)率,同時(shí)提升軟件的可靠性,大力增強(qiáng)軟件的可維護(hù)性功能,此軟件的特殊重用技術(shù)在不同方面都有著很重要的作用。21世紀(jì)是信息化社會(huì),電子產(chǎn)品普及到每個(gè)人的生活中,成為生活中一個(gè)必不可少的位置,軟件作為這些電子產(chǎn)品的重要主體核心,同時(shí)也面臨著軟件的開發(fā)和需求上的壓力,要不斷地進(jìn)行創(chuàng)新開發(fā)新的軟件,來滿足社會(huì)的應(yīng)求和人們的需求。隨著對(duì)構(gòu)件的研究加深,構(gòu)件自身有很多的特點(diǎn)和優(yōu)勢(shì),已經(jīng)成為很多相關(guān)研究者的關(guān)注,針對(duì)基于構(gòu)件的軟件開發(fā)方法上很有多種,已經(jīng)被相關(guān)的研究者認(rèn)為基于構(gòu)件的軟件開發(fā),是能夠解決軟件的危機(jī)重要主體,可以大大地提升軟件的質(zhì)量和生產(chǎn)效率,成為現(xiàn)在一種可行的途徑。

          參考文獻(xiàn):

          [1]陳余華,方美琪.信息系統(tǒng)工程的面向?qū)ο蟮姆椒?北京:清華大學(xué)出版社,1999.

          [2]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論.北京:高等教育出版社,1990.

          [3]朱峰.基于工作過程系統(tǒng)化的數(shù)據(jù)庫課程改革[J].電腦知識(shí)與技術(shù),2009.

          [4]岳國英.數(shù)據(jù)庫技術(shù)與SQServer2005實(shí)用教程[M].北京:中國電力出版社,2008.

          作者:余麗花 單位:廣東省汕尾市廣播電視大學(xué)