劉歆一 張立新 崔粉霞
【摘 要】在傳統(tǒng)的軟件開(kāi)發(fā)工程中,大型軟件開(kāi)發(fā)項(xiàng)目也要從頭開(kāi)始,導(dǎo)致軟件開(kāi)發(fā)成本高昂、耗時(shí)較長(zhǎng),而且軟件開(kāi)發(fā)質(zhì)量無(wú)法得到保障。在此情況下,基于組件的軟件復(fù)用技術(shù)得到快速發(fā)展,通過(guò)組件的編制,使大量通用功能代碼形成一個(gè)固定的軟件模塊,可以被重復(fù)使用,極大的提高了軟件開(kāi)發(fā)效率和開(kāi)發(fā)質(zhì)量。軟組件技術(shù)在通信軟件中的應(yīng)用,成為主導(dǎo)通信軟件開(kāi)發(fā)模式創(chuàng)新的重要推動(dòng)力,具有極高的應(yīng)用價(jià)值。下面本文分析組件技術(shù)在軟件開(kāi)發(fā)中的應(yīng)用現(xiàn)狀,結(jié)合軟件技術(shù)的開(kāi)發(fā),對(duì)組件技術(shù)在軟件技術(shù)開(kāi)發(fā)中的應(yīng)用進(jìn)行具體分析。
【關(guān)鍵詞】組件技術(shù);軟件開(kāi)發(fā);技術(shù)應(yīng)用
目前,在軟件開(kāi)發(fā)領(lǐng)域,一場(chǎng)新的革命正在悄悄興起,這是由日趨成熟的組件技術(shù)引發(fā)的。幾年以前,當(dāng)微軟公司首先使用OLE的時(shí)候,其初衷是為了增強(qiáng)軟件的互操作性。然而在使用過(guò)程中,人們逐漸認(rèn)識(shí)到這一技術(shù)背后的實(shí)質(zhì)性內(nèi)容和它在軟件開(kāi)發(fā)中所扮演的重要角色。組件技術(shù)將以前所未有的方式提高軟件產(chǎn)業(yè)的生產(chǎn)效率,這一點(diǎn)已逐步成為軟件開(kāi)發(fā)人員的共識(shí)。傳統(tǒng)的Client/Server結(jié)構(gòu)、群件中間件等大型軟件系統(tǒng)的構(gòu)成形式,都將在組件的基礎(chǔ)上重新構(gòu)造。組件技術(shù)使近二十年來(lái)興起的面向?qū)ο蠹夹g(shù)進(jìn)入到成熟的實(shí)用化階段。在組件技術(shù)的概念模式下,軟件系統(tǒng)可以被視為相互協(xié)同工作的對(duì)象集合,其中每個(gè)對(duì)象都會(huì)提供特定的服務(wù),發(fā)出特定的消息,并且以標(biāo)準(zhǔn)形式公布出來(lái),以便其他對(duì)象了解和調(diào)用。組件技術(shù)的出現(xiàn),軟件開(kāi)發(fā)的方式有了很大的變化,可以把軟件開(kāi)發(fā)的內(nèi)容分成若干個(gè)層次,將每個(gè)層次封裝成一個(gè)個(gè)的組件,在構(gòu)建應(yīng)用系統(tǒng)時(shí),將這些個(gè)組件有機(jī)地組裝起來(lái)就成為一個(gè)系統(tǒng),就象是用零件組裝出一臺(tái)機(jī)器一樣,其應(yīng)用和推廣已經(jīng)成為必然趨勢(shì)。
一、軟組件技術(shù)的應(yīng)用現(xiàn)狀
軟組件技術(shù)即基于組件的軟件技術(shù)。組件是可重用的軟件開(kāi)發(fā)模塊,封裝一組數(shù)據(jù)和處理過(guò)程,為用戶提供業(yè)務(wù)接口,與對(duì)象有一定的相似性,但不完全符合對(duì)象的概念界定,因此要對(duì)組件和對(duì)象進(jìn)行區(qū)別對(duì)待。首先,組件可以獨(dú)立運(yùn)行,也可以在其他容器應(yīng)用程序中使用,比如瀏覽器、VB 程序等。其次組件可以由一個(gè)或多個(gè)類組成,本身是一個(gè)完整的應(yīng)用程序,但不能被執(zhí)行。組件的存在意義及最大特點(diǎn)是可以被重復(fù)使用,而不須修改源代碼。目前常用的組件包括 Active X、CDF、Java Beans 等。
隨著軟件市場(chǎng)競(jìng)爭(zhēng)的日益激烈,客戶對(duì)軟件開(kāi)發(fā)效率和開(kāi)發(fā)質(zhì)量都提出了更高要求。為提高軟件產(chǎn)品開(kāi)發(fā)的市場(chǎng)競(jìng)爭(zhēng)力,開(kāi)發(fā)者必須在更短的時(shí)間內(nèi),設(shè)計(jì)研發(fā)出具有更少漏洞的軟件產(chǎn)品。軟組件技術(shù)是一種軟件復(fù)用技術(shù),可以最大限度的降低冗余開(kāi)發(fā)工作,而且被復(fù)用的組件均已經(jīng)過(guò)嚴(yán)格的測(cè)試審核,可以為軟件開(kāi)發(fā)質(zhì)量提供保障。因此,軟組件技術(shù)具有極高的應(yīng)用價(jià)值,目前已經(jīng)在通信軟件系統(tǒng)設(shè)計(jì)中得到了廣泛應(yīng)用。
二、組件技術(shù)在企業(yè)軟件開(kāi)發(fā)中的應(yīng)用
1.基礎(chǔ)設(shè)計(jì)
在企業(yè)應(yīng)用中,要構(gòu)建組件首先就得將應(yīng)用合理地劃分為許多層次,然后根據(jù)這些層次來(lái)設(shè)計(jì)組件。系統(tǒng)層次結(jié)構(gòu)的前提是一組網(wǎng)絡(luò)、數(shù)據(jù)、應(yīng)用的集合,Client和Server可以動(dòng)態(tài)地建立或斷開(kāi)連接以滿足用戶需求。在這種模式下,用戶可以在任何時(shí)間、任何地點(diǎn)存取數(shù)據(jù)及應(yīng)用邏輯,其優(yōu)點(diǎn)是,無(wú)論何時(shí),即使需要對(duì)組件或子件進(jìn)行簡(jiǎn)單或復(fù)雜的修改,都不會(huì)對(duì)其他組件造成影響。筆者最近參加了一個(gè)教育軟件“題卷編輯與組卷網(wǎng)絡(luò)系統(tǒng)”的分析與設(shè)計(jì),該系統(tǒng)在豐富題目資源的基礎(chǔ)上,提供給用戶對(duì)題目進(jìn)行增、刪、改,對(duì)試卷結(jié)構(gòu)進(jìn)行維護(hù)調(diào)整以及根據(jù)用戶輸入的條件組合一份試卷等功能。軟件開(kāi)發(fā)環(huán)境采用了VB+ SQLServer,在設(shè)計(jì)中運(yùn)用了Windows DNA三層系統(tǒng)架構(gòu)。
2.層次劃分
(1)應(yīng)用層。應(yīng)用層通常是指人機(jī)界面,本系統(tǒng)中與用戶直接交互的有題庫(kù)管理、卷庫(kù)管理、智能組卷和基表維護(hù)界面;其中基表維護(hù)包括年級(jí)管理、學(xué)科管理、題型管理以及章節(jié)管理。應(yīng)用層中沒(méi)有涉及業(yè)務(wù)邏輯,只是進(jìn)行了一些界面設(shè)計(jì)、簡(jiǎn)單的人機(jī)交互,最重要的是調(diào)用中間件提供的方法。
(2)業(yè)務(wù)邏輯層。第二層是業(yè)務(wù)邏輯層,也是系統(tǒng)實(shí)現(xiàn)的核心和關(guān)鍵;它包含中間件和系統(tǒng)服務(wù)對(duì)象,處理系統(tǒng)的應(yīng)用邏輯。在這一層的設(shè)計(jì)上充分運(yùn)用了組件技術(shù)的概念,將系統(tǒng)中頻繁使用的對(duì)象抽象封裝成題目、試卷、年級(jí)、學(xué)科、章節(jié)樹(shù)這五個(gè)控件(也可稱為中間件)。以上控件使用方法類似,在此僅以題目控件為例說(shuō)明設(shè)計(jì)思路:題目是題卷庫(kù)系統(tǒng)的重中之重,在題庫(kù)管理(包含增加題目、刪除題目、修改題目以及瀏覽題目四個(gè)窗體界面),組卷等多個(gè)窗體界面中都有所運(yùn)用,為了避免代碼的重復(fù)以及界面的重復(fù)設(shè)計(jì),將題目封裝成控件的形式,在應(yīng)用層只需調(diào)用控件提供的接口方法,而控件的具體實(shí)現(xiàn)則對(duì)應(yīng)用層完全透明。
(3)數(shù)據(jù)層。采用了SQL Server數(shù)據(jù)庫(kù)設(shè)計(jì),存放了題目屬性、試卷結(jié)構(gòu)、年級(jí)信息、學(xué)科信息、題型信息等軟件所有相關(guān)數(shù)據(jù)。SQL Server是客戶/服務(wù)器數(shù)據(jù)庫(kù),所以軟件也是C/S結(jié)構(gòu),網(wǎng)絡(luò)可以有多臺(tái)機(jī)器同時(shí)使用和操縱數(shù)據(jù)庫(kù)進(jìn)行組卷或?qū)︻}卷維護(hù)管理。
三、展望
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,有效推動(dòng)了軟件開(kāi)發(fā)技術(shù)的發(fā)展,軟件開(kāi)發(fā)技術(shù)開(kāi)始從過(guò)去的結(jié)構(gòu)化體系中,逐漸蠻像體系轉(zhuǎn)變,從研制了組件技術(shù)之后,軟件開(kāi)發(fā)領(lǐng)域的發(fā)展提供了參考價(jià)值。未來(lái),組件軟件的持續(xù)開(kāi)發(fā)將朝著結(jié)構(gòu)化、開(kāi)發(fā)化等方面發(fā)展。相較而言,結(jié)構(gòu)化的開(kāi)放方法在早期已經(jīng)有著廣泛的應(yīng)用,主要是根據(jù)軟件內(nèi)部的數(shù)據(jù)結(jié)構(gòu)對(duì)系統(tǒng)結(jié)構(gòu)進(jìn)行優(yōu)化,從而滿足軟件開(kāi)發(fā)的需求。對(duì)于結(jié)構(gòu)化的開(kāi)發(fā)一定要遵循逐步求精的過(guò)程,并且自上而下的,借助結(jié)構(gòu)化設(shè)計(jì)更好實(shí)現(xiàn)模塊化設(shè)計(jì),提高整個(gè)系統(tǒng)結(jié)構(gòu)的運(yùn)行效率。這種開(kāi)發(fā)的方式還需要進(jìn)一步成熟,以滿足大規(guī)模軟件的開(kāi)發(fā)需求。因此,未來(lái)還應(yīng)該進(jìn)一步研究面向廣大用戶對(duì)象的開(kāi)發(fā)方法,在軟件開(kāi)發(fā)技術(shù)方面,面向?qū)ο蟮乃枷氤霈F(xiàn)的軟件開(kāi)發(fā),將成為新領(lǐng)域、新視野。實(shí)際上,面向?qū)ο蟮拈_(kāi)發(fā)方法屬于軟件開(kāi)發(fā)領(lǐng)域中比較重要的一個(gè)研究項(xiàng)目,總體考慮軟件開(kāi)發(fā)的全過(guò)程以及各階段的開(kāi)發(fā)需求,是一種優(yōu)秀的開(kāi)放方式。對(duì)象利用相關(guān)的狀態(tài)變化來(lái)組成整體的軟件開(kāi)發(fā)??傮w來(lái)說(shuō),面向?qū)ο蟮拈_(kāi)發(fā)方法具有封裝性和繼承性,還能夠有效解決軟件重用問(wèn)題,用于拓展和補(bǔ)充,滿足復(fù)雜規(guī)模較大的項(xiàng)目系統(tǒng)的變化和發(fā)展需求。隨著未來(lái)科學(xué)技術(shù)的不斷發(fā)展,組件技術(shù)在軟件技術(shù)中的應(yīng)用和研究,必定越來(lái)越深入,提高軟件開(kāi)發(fā)率,通過(guò)組件技術(shù)的基本概念闡述和應(yīng)用必要性分析,針對(duì)軟件開(kāi)發(fā)中的應(yīng)用進(jìn)行研究,為今后的軟件開(kāi)發(fā)領(lǐng)域提供重要的素材。
四、結(jié)束語(yǔ)
組件技術(shù)的出現(xiàn),極大地滿足了多個(gè)應(yīng)用領(lǐng)域的要求,使得各種技術(shù)形成的組件可以最大程度地進(jìn)行重用?,F(xiàn)在人們?cè)絹?lái)越多地寄希望于具有分散和聯(lián)合處理能力的開(kāi)放性分布式組件技術(shù)。分布式組件技術(shù)的目標(biāo)是實(shí)現(xiàn)開(kāi)放的組件產(chǎn)品,使應(yīng)用程序能相互操作,降低開(kāi)發(fā)與管理費(fèi)用。到目前為止,還沒(méi)有出現(xiàn)一個(gè)完整的開(kāi)放式組件系統(tǒng)的實(shí)施方案。但我們相信,組件化是軟件工業(yè)化的必然和最終選擇。
【參考文獻(xiàn)】
[1]向云帆. 軟組件技術(shù)及其在通信軟件中的應(yīng)用分析[J]. 電子技術(shù)與軟件工程, 2017(24):68-68.
[2]王宗陶. 組件技術(shù)在測(cè)控軟件開(kāi)發(fā)中的應(yīng)用前景分析[C]// 全國(guó)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用年會(huì)論文集(2001). 2001.
[3]覃銘堅(jiān). 基于組件技術(shù)的快速成型軟件系統(tǒng)開(kāi)發(fā)[D]. 西安科技大學(xué), 2007.