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