付利軍
(山西運(yùn)城農(nóng)業(yè)職業(yè)技術(shù)學(xué)院 山西 運(yùn)城 044000)
隨著現(xiàn)代技術(shù)的快速發(fā)展,軟件的開發(fā)要求越來越復(fù)雜,其中給予構(gòu)件的軟件開發(fā)方法被更多的應(yīng)用到了開發(fā)中來,這種方法的實(shí)踐具體是指,通過集成存在構(gòu)件的應(yīng)用,來提高軟件的應(yīng)用技術(shù),并減少軟件的開發(fā)費(fèi)用。但是在具體基于構(gòu)件的實(shí)踐開發(fā)中還存在一定的風(fēng)險。因此,開發(fā)時需要開發(fā)者更加精細(xì)和規(guī)范的實(shí)踐操作。
基于構(gòu)件的軟件開發(fā)主要應(yīng)用的是CBSD技術(shù)方法,具體是由軟件定義、軟件設(shè)計(jì)、軟件構(gòu)建、構(gòu)件庫、軟件測試、軟件發(fā)布五個部分組成。CBSD通過構(gòu)件整合與構(gòu)件的重用來實(shí)現(xiàn)軟件系統(tǒng)的開發(fā)。開發(fā)過程中CBSD會通過加強(qiáng)軟件系統(tǒng)的拓展與維護(hù)以此來降低軟件的開發(fā)費(fèi)用,同時還極大降低了系統(tǒng)的后期維護(hù)壓力。軟件在系統(tǒng)的構(gòu)造中包括了分析、設(shè)計(jì)、實(shí)行、組裝四個步驟。CBSD的理論實(shí)施的關(guān)鍵點(diǎn)是,通過構(gòu)建來組合軟件的開發(fā)系統(tǒng)中反復(fù)出現(xiàn)的部分,避免了系統(tǒng)的反復(fù)讀寫。CBSD會用代碼配合構(gòu)建整合系統(tǒng)。傳統(tǒng)開發(fā)模式的整合系統(tǒng)也就意味著軟件開發(fā)的成功,處于收尾階段。但是基于構(gòu)件的軟件開發(fā),整合系統(tǒng)階段仍處于核心的軟件開發(fā)階段,也是與構(gòu)件整合決定構(gòu)件重用的關(guān)鍵階段。
選取構(gòu)件的過程具體指,依照新系統(tǒng)的開發(fā)原則選取適合的開發(fā)組件。這也是構(gòu)件開發(fā)與維護(hù)的品質(zhì)保障過程。在選取構(gòu)件的過程中,主要是指發(fā)現(xiàn)與評估兩個部分。發(fā)現(xiàn)構(gòu)件的過程中會明確構(gòu)件的屬性、功能、接口,同時還要篩選構(gòu)件屬性的可用、可靠、可擴(kuò)展與構(gòu)件開發(fā)組織的非技術(shù)情況,如構(gòu)件開發(fā)組織的成熟度與占有的市場比例等方面。構(gòu)件評估的方法非常多也比較成熟。如Standards Organization評估描述與IEEE的評估技術(shù)等。這些評估方法是基于構(gòu)件的理論而出現(xiàn)的質(zhì)量評估。但是這些評估方法因?yàn)闆]有統(tǒng)一標(biāo)準(zhǔn),所以無法明確軟件系統(tǒng)的具體需求。
構(gòu)件的單個使用是為了實(shí)現(xiàn)軟件開發(fā)的特殊需求。所以,軟件系統(tǒng)在應(yīng)用構(gòu)件之前需要做出適當(dāng)?shù)恼{(diào)整,以降低構(gòu)件之間發(fā)生沖突的幾率。較為普遍的方法有以下三種:第一,白盒法。開發(fā)者可以通過修改構(gòu)件控制實(shí)現(xiàn)調(diào)整,但是會出現(xiàn)較大幾率的系統(tǒng)維護(hù)問題。第二,黑盒法,開發(fā)者可以通過構(gòu)建二進(jìn)制的執(zhí)行形式實(shí)現(xiàn)調(diào)整,但是導(dǎo)致構(gòu)件會無法供應(yīng)API與擴(kuò)展機(jī)制。第三,灰盒法。源代碼無法改動,但向系統(tǒng)供應(yīng)了API與擴(kuò)展機(jī)制。
開發(fā)者進(jìn)行軟件開發(fā)的過程中,還需要依據(jù)開發(fā)環(huán)境來實(shí)現(xiàn)基于構(gòu)件的軟件開發(fā)。比如在某開發(fā)環(huán)境下,開發(fā)系統(tǒng)前臺的選擇為ASPNET,后臺使用senrer2008數(shù)據(jù),構(gòu)件通過B/S三層體系結(jié)構(gòu)模型。以下我們以課件構(gòu)件的開發(fā)為案例,從三個方面來詳細(xì)闡述構(gòu)件的結(jié)構(gòu):
第一,用戶界面。用戶界面存在靜態(tài)與動態(tài)兩種形式。Dreamweaver模板的運(yùn)用可以達(dá)成靜態(tài)界面,同時運(yùn)用ASPNET的技術(shù)形成動態(tài)的頁面。動態(tài)頁面通常會出現(xiàn)的指令為:用戶請求解釋,并將請求指令傳遞到關(guān)聯(lián)的業(yè)務(wù)邏輯,進(jìn)而形成整個顯示視圖傳遞給用戶。
第二,業(yè)務(wù)邏輯。主要是將用戶傳遞的文件存入數(shù)據(jù)庫內(nèi),同時在界面中顯示文件說明,為了保證系統(tǒng)安全,設(shè)計(jì)構(gòu)件時對文件的格式加以限制,如只接受RAR的壓縮格式上傳,在接受之后會用上傳的年份至秒的具體時間來為文件進(jìn)行命名,目的是避免文件名稱的重復(fù)。業(yè)務(wù)邏輯層這一環(huán)節(jié)利用VBScript腳本語言創(chuàng)建了類模塊,主要具有以下屬性,文件標(biāo)題可見、上傳、章節(jié)、存儲路徑、說明。
第三,數(shù)據(jù)訪問。開發(fā)系統(tǒng)數(shù)據(jù)時,需要從多方面考慮對數(shù)據(jù)庫的使用與維護(hù),為了用戶可以更加便捷的利用數(shù)據(jù),需要把插入、查詢等具體功能指令進(jìn)行封裝并置于構(gòu)件。
基于構(gòu)件系統(tǒng)組裝的開發(fā)軟件過程中的標(biāo)準(zhǔn),主要體現(xiàn)在以下兩個方面:
第一,原子構(gòu)件組裝。課件上傳構(gòu)件的組合,充分體現(xiàn)了原子構(gòu)件的組裝流程。原子構(gòu)件組裝的實(shí)踐操作為將關(guān)聯(lián)構(gòu)件模型的三個層次組裝成為構(gòu)件。同時依據(jù)原子構(gòu)件的組裝,功能、界面、數(shù)據(jù)、訪問、業(yè)務(wù)這些設(shè)計(jì)到三個層次的功能,整合成為一個完整的課件上傳構(gòu)件。以上所敘述的三個構(gòu)件中,業(yè)務(wù)與功能的位置是處于數(shù)據(jù)訪問與用戶界面之間,所以,業(yè)務(wù)、功能構(gòu)件是以ASP.NET與ADD為組裝基礎(chǔ)。構(gòu)件的組裝的具體流程是:用VBscript腳本引用戶界面層的mod-ule.map構(gòu)件。而數(shù)據(jù)訪問利用與面向?qū)ο蟮姆椒?,將fikinfo于UPLOAD_FOLE經(jīng)過內(nèi)接口與課件組裝為高內(nèi)聚低形式的原子構(gòu)件,同時還要經(jīng)過外部接口實(shí)現(xiàn)與ADD.ASP的功能構(gòu)件連接;
第二,復(fù)合構(gòu)件的組裝。復(fù)合構(gòu)件是以獨(dú)立構(gòu)件的形式存在,由多個原子構(gòu)件組合而成。復(fù)合構(gòu)件分裝到文件中時,構(gòu)件之間既不會在數(shù)據(jù)上相互影響,也不會在行為上進(jìn)行緊密配合。所以一般都會采用黑盒組裝的方法。組裝的過程中,為了建立外部與內(nèi)部結(jié)構(gòu)的對應(yīng)聯(lián)系,需要對復(fù)合構(gòu)件實(shí)施接口綁定的操作,在進(jìn)行較為復(fù)雜的接口綁定時,可以通過各種不同的接口連接構(gòu)件來達(dá)成復(fù)合構(gòu)件的需求條件。在組裝復(fù)合構(gòu)件的外部接口時,需要使用擴(kuò)展連接件進(jìn)行連接,因?yàn)槠渚哂械臄U(kuò)展功能會通過連接嫁接給復(fù)合構(gòu)件。內(nèi)部接口主要的功能是信息傳遞,在實(shí)現(xiàn)與復(fù)合構(gòu)件的連接后,會讓復(fù)合構(gòu)件具備動態(tài)性能。在本次的系統(tǒng)開發(fā)中,復(fù)合構(gòu)件主要包括:公告管理、可見管理、作業(yè)批閱、作業(yè)下載、作業(yè)提交、在線測試、消息交流。這些功能都會封裝到獨(dú)立文件夾。而外部接口形式為各個功能文件的INDEX頁面,同時會在頁面提供各種連接內(nèi)部接口的功能按鈕。
綜上所述,以上本文主要敘述的是,基于構(gòu)件的軟件開發(fā)方法與實(shí)踐的研究策略,通過分析可以看出,構(gòu)件具有多種特性,非常適用于軟件的開發(fā),是提高軟件質(zhì)量的有效途徑,構(gòu)件的應(yīng)用可以實(shí)現(xiàn)設(shè)計(jì)與編碼的重用。并且構(gòu)件還能將更多的底層邏輯,組合成為更高層的新構(gòu)件。
[1]邸洪濤.軟件設(shè)計(jì)模式應(yīng)用初探[J].硅谷,2011(8).
[2]譚晏松,李法平.軟件設(shè)計(jì)模式與組件開發(fā)[J].北京電力高等專科學(xué)校學(xué)報:自然科學(xué)版,2010(6).
[3]李璇.軟件設(shè)計(jì)模式及其使用[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2010(7).
[4]李勇軍,余雨萍.《軟件設(shè)計(jì)模式》課程教學(xué)過程設(shè)計(jì)[J].教育教學(xué)論壇,2013(4):207-208.