- 相關推薦
ABC軟件開發(fā)的方法
摘要:
在計算機的發(fā)展過程中,軟件作為一種遵照特定順序組成的計算機指令與數(shù)據(jù)的集合體,始終影響并深刻改變著人們的生活。軟件離不開軟件開發(fā),軟件開發(fā)則指的是建造軟件系統(tǒng)并構筑系統(tǒng)中各部分的過程,它要求通過某種程序語言加以實現(xiàn),而本文將簡要闡述軟件開發(fā)方法中的“基于軟件體系結構的構件組裝”模式,即“ABC”模式。
關鍵詞:“ABC”模式 軟件開發(fā) 計算機技術 程序語言 軟件生命周期
當今社會的發(fā)展過程是信息交流傳播的過程。1946年,世界上第一臺計算機在美國誕生,時至今日,計算機早已走入千家萬戶并逐漸成為人們學習與工作不可或缺的一部分?梢哉f,計算機的出現(xiàn)與發(fā)展極大地改變了信息交流的模式,通過各種各樣的軟件結構,計算機的表達及使用效率將得到質(zhì)的提升,若想促進這種提升,人們就應繼續(xù)注重計算機軟件研發(fā)領域的技術革新,以此為信息技術的發(fā)展及應用提供源源不斷的思辨與創(chuàng)新。
1、軟件開發(fā)在當今時代的意義。
隨著科學水平的進步與信息技術的不斷推廣,目前,計算機在各行各業(yè)中均有所應用,人們需要通過計算機完成信息傳輸與交流互動,這對他們的生產(chǎn)與工作產(chǎn)生了直接化的影響。而在所有計算機技術中,軟件的意義顯得最為重要,倘若沒有軟件作為支撐,計算機將無法協(xié)助人們完成交流與工作,也就會顯著影響人類社會的正常運轉(zhuǎn)。
軟件是一種無形但卻能通過虛擬運算來實際模擬特性、質(zhì)量、運行數(shù)據(jù)并產(chǎn)生效果方式的指令集合。很多時候,軟件都是有生命周期并需要經(jīng)常更新?lián)Q代的。而在當前局勢下,隨著計算機設備及硬件的發(fā)展,軟件的復雜程度正變得越來越高,大批軟件的代碼行數(shù)從早期的十萬級、百萬級逐漸增長,如今已達到了千萬乃至于上億的級別。持續(xù)擴大的代碼規(guī)模對軟件的開發(fā)效率形成了制約,為應對這種制約,軟件應當具備更多、更強、更復雜的計算及應用能力。成千上百萬行的代碼需要得到妥善排序及處理,這需要越來越多的網(wǎng)絡工程師加入到實際添加代碼及編寫軟件的行列之中,倘若不處理好軟件開發(fā)問題,軟件開發(fā)工作中的實際舉措將無法與事態(tài)變化的速率相調(diào)和,屆時,計算機將可能無法繼續(xù)維持高頻度、高功率的計算,這勢必會導致高新技術行業(yè)效率整體下滑。
針對這種問題,人們應重視軟件系統(tǒng)的開發(fā)與日常維護,對軟件精益求精,同時在開發(fā)后經(jīng)常進行糾錯、修改和升級,令系統(tǒng)能始終滿足客戶群體的需求。從而為當今時代的經(jīng)濟建設添磚加瓦并貢獻出屬于自己的那部分力量。
2、當今軟件開發(fā)與編程模式的局限性。
眾所周知,計算機軟件主要分為系統(tǒng)軟件與應用軟件兩大類。系統(tǒng)軟件是指控制并協(xié)調(diào)計算機正常運轉(zhuǎn)、為外部設備提供連接并支持應用軟件開發(fā)與運行的計算機系統(tǒng),它是用戶無需干預的多種軟件及程序的集合;應用軟件則是指利用C語言、java等進行編寫的主要應用于商業(yè)及生活中的安裝軟件,這是本文主要涉及的部分。
對計算機軟件開發(fā)來說,用戶的實際需求應對軟件開發(fā)方向起決定性作用,然而,我國計算機軟件在開發(fā)過程中卻往往存在著脫離用戶需求的問題。這個問題主要是由于在進行計算機軟件開發(fā)前沒有進行合理的規(guī)劃,計算機軟件開發(fā)中的重點是制定開發(fā)計劃,但在現(xiàn)實生活中開發(fā)者卻經(jīng)常由于這樣或那樣的因素而在開發(fā)過程中沒能制定計劃,這就導致軟件在開發(fā)過程中精準程度不足,其編程及代碼缺乏邏輯,從而顯著降低了計算機軟件開發(fā)與應用時期的效率。
同時,由于我國在計算機技術起步方面比發(fā)達國家晚,開發(fā)編程領域內(nèi)的技術水平遠遠落后于美、日、英、法、德等國,這就使得我國在計算機軟件開發(fā)領域缺乏與發(fā)達國家同等水平的競爭力。競爭力的缺失又更進一步損害了我國自主開發(fā)的進取心與創(chuàng)新意識,當市場上出現(xiàn)比較受歡迎的計算機軟件時,其他從業(yè)商家首先想到的不是革新技術,而是一味抄襲、改造別人的創(chuàng)意,這無疑大大降低了計算機軟件開發(fā)從業(yè)者的熱情及責任心。
3、ABC開發(fā)方法簡介。
為應對上述問題,計算機軟件開發(fā)領域一方面應寄希望于國家對抄襲行為的打擊與嚴懲,另一方面也應提升自身從業(yè)能力,在明確考慮到客戶需求的前提下,盡可能使開發(fā)出來的軟件滿足不同用戶在不同領域內(nèi)的需求。
近年來,基于構件的軟件開發(fā)(CBSD)技術正逐漸得到廣泛應用與重視,它對COTS構件質(zhì)量和種類的要求較為突出,同時也可降低系統(tǒng)開發(fā)與維護成本。CBSD技術從出現(xiàn)伊始,便是一種更為先進的軟件開發(fā)模式。它為軟件開發(fā)者提供了一條從基礎到精細,洞察軟件結構并逐步構建系統(tǒng)以滿足客戶需求的有效途徑。CBSD可以將原有的軟件開發(fā)從使用應用系統(tǒng)開發(fā)轉(zhuǎn)變?yōu)榧蓱孟到y(tǒng),其關注的焦點是源代碼與目標碼構件的復用,而軟件體系結構則可基于這種構件和連接件的分解模式進行描述,這樣做能精化設計環(huán)節(jié),促使領域內(nèi)的構造更容易被理解。這便導出了一種可以將CBSD技術與普通軟件體系結構技術結合應用的技術,即基于軟件體系結構的構件組裝,也就是ABC(Architecture Based Component Composition)技術。
ABC技術的指導思想是以SA為主,CBSD為輔,將系統(tǒng)結構作為軟件生命周期內(nèi)設計階段的最關鍵要素,從而為系統(tǒng)提供能滿足不同要求者需求的半開放式基礎。軟件工程的已有實踐均表明沒有哪種單一的技術模式可以完美應對各種類型的問題,因此在軟件生命周期內(nèi),開發(fā)者應結合軟件結構對軟件開發(fā)過程施以直接、特別的影響,在開發(fā)周期內(nèi)運用ABC模式控制軟件各個基端的高層結構復雜性,再基于構件的軟件復用來提高開發(fā)質(zhì)量及效率。這可以分析并解釋其生命周期內(nèi)的演化方式及方向,對軟件體系的整個生命周期實行建模,使其在不斷調(diào)整并適應的過程中滿足客戶需求,進而促使軟件結構朝著更為科學化、具體化、系統(tǒng)化的發(fā)展方向前進。
4、采用ABC方法開發(fā)軟件的簡要步驟。
ABC方法是SA(軟件體系結構)與CBSD(基于構建的軟件開發(fā))這兩種方法的結合,SA提供了一種實現(xiàn)構件結構構筑的途徑,即通過指令與體系結構描述語言進行構件接口方面的闡述及定義;CBSD則提供了運用現(xiàn)有中間件設施實現(xiàn)基于構件的軟件復用的途徑。ABC方法將這兩種途徑進行了較為高效的整合,從而顯著地將軟件體系結構導入了軟件生命周期的各個階段。endprint
。1)設計體系結構。
ABC模式是將軟件體系結構與構件組裝結合在一起的軟件開發(fā)手段,它能在對客戶需求的分析階段導入現(xiàn)有的體系結構概念,進而以結構化的模式組織并協(xié)調(diào)客戶需求與應用控制之間的矛盾。在這一階段,軟件需求是一種相對動態(tài)的特征,通過將這些動態(tài)化的需求與靜態(tài)的模板聯(lián)系到一起,可以組織并架構出一種較為實用的分析模型。這便是設計體系結構的初衷,即將客戶實用需求與軟件應用要素結合在一起進行量化的處理及分析。
同時,ABC模式在構建構件分析模型的基礎上,還導入了一種變化性質(zhì)的表現(xiàn)機制,進而將這一機制繼續(xù)分割為幾種相互交流的模式以描述特征之間的動態(tài)與靜態(tài)依存關系。這就為領域特征模型的建造與軟件系統(tǒng)的完整性提供了保障。
ABC模式的設計階段主要依賴于SA構建模型。在這一階段,設計者應結合軟件系統(tǒng)需求制定出適用于全局的規(guī)劃,再進一步細化領域空間內(nèi)的構件和連接子,進而建立起動態(tài)與靜態(tài)相結合的SA模型。其實,ABC模式正是這樣一種將責任識別與需求這兩者的關系調(diào)節(jié)在一起進行深入分析的手段,它正是一種對軟件系統(tǒng)的基礎結構進行規(guī)劃與設計,進而以此作為后續(xù)設計研發(fā)、組裝及軟件維護的應用指南。
。2)軟件組裝與部署。
ABC模式的組裝與部署階段是將通過設計得到的SA模型進行選取、鑒定、檢查并應用的過程。在進行一致性校驗后,將系統(tǒng)整體改建為可供安裝的軟件包,再把一些無法復用的構件描述轉(zhuǎn)換為基于C++或Java代碼的模型與構架,以便能最終組裝到目標系統(tǒng)。
制作軟件的目的是將軟件包基于中間件平臺安裝并運行。在啟用中間件平臺之前,還需經(jīng)過一定的部署才可使其平穩(wěn)運行。系統(tǒng)設計與研發(fā)階段的部分信息可以進行復用,ABC模式定義了SA部署視圖,圖中含有大量設計過程與研發(fā)過程中衍生出來的部署信息,將這些信息以表現(xiàn)化的圖形方式展示出來,可以在實際操作過程中顯示目標環(huán)境中的資源與資源負載狀況,從而促進其完成軟件的部署。
。3)軟件維護與驗證。
ABC軟件開發(fā)可謂對SA的細化、演進與回饋。經(jīng)由ABC模式開發(fā)后的軟件體系,其結構語法和語義信息得到了進一步的完善。在最終的維護和演化階段,運行視圖可以提供系統(tǒng)在運行過程中的實際狀態(tài),因而保留了系統(tǒng)最完整也最精確的信息。而在反射式軟件中間件的輔助下,人們也可通過一些軟件體系結構隨時對軟件系統(tǒng)進行在線維護,這些軟件體系結構能反映出系統(tǒng)運行時的狀態(tài),經(jīng)過這種反映,ABC方法可以實現(xiàn)特征建模工具與軟件體系結構、建模工具及作為構件運行平臺的軟件結構設計及組裝、應用部署、維護等方面的改進。
同時,在ABC模式中,對系統(tǒng)隨時展開驗證也是很有必要的。這主要分為三個層次:
、購恼Z法層次上進行驗證,指的是對SA模型從接口構件匹配形式到連接的種種關系層面上進行校驗;
、谠趯嵺`實驗中根據(jù)已經(jīng)實現(xiàn)的語言和平臺規(guī)范,對數(shù)據(jù)與指令進行有類別、分層次的檢查;
、壅驹诔绦蛘Z言語義的角度,描述構件行為對系統(tǒng)整體的影響,例如闡述程序的有效性或完整性,對其進行檢查,從而確保開發(fā)軟件的正常運行。
5、ABC模式的優(yōu)越性。
(1)面向更廣大的群體。
ABC模式對傳統(tǒng)的單一建模模式提出了質(zhì)疑,它立足在“基于客戶群體需求”的基礎上,將網(wǎng)絡空間在軟件應用領域內(nèi)的客戶及潛在客戶群體聯(lián)系到了一起,使這些人的需求與ABC模式緊密結合起來,再通過這些需求對網(wǎng)絡軟件研發(fā)的激勵作用加速ABC模式的顯著發(fā)展。
而在ABC模式的建模中,這種方針也得到了較為切實地運用。在構建構件建模的過程中,程序群體中的每一個個體都會為其自身對環(huán)境進行探索及實現(xiàn),這種建模特征使得體系在建模特征上得到了進一步地擴張,在容量允許的范圍內(nèi),用戶群體可以在這一構筑體系中隨時加入群體或是從群體中退出,他們能完全以一種自發(fā)性的形式與其他用戶展開交流,這就使得軟件在演化過程中涌現(xiàn)出的用戶需求不再是一些潛在的概念,而是在用戶之間展開交流的過程中逐步成型并完善的一種高度發(fā)達的群體理念。
ABC模式正是在軟件中引用了這種改變,它真正構建并塑造了一種面向群體的模型,進而使得群體中的個體可以根據(jù)自身需求對所需要的特征進行描述,這達成了一種有利于網(wǎng)絡軟件技術發(fā)展并改進的良好循環(huán)。
。2)設計目的清晰、明確。
ABC模式一般都有較為復雜的構建交互,它往往存在著大量的連接子模型,構件系統(tǒng)在運行過程中一般都會根據(jù)所運行的環(huán)境展開一定容量的擴張,這一過程是軟件開發(fā)與運行的重要階段。隨著計算機運行處理能力、網(wǎng)絡傳輸效率、硬盤存儲總量的提升,當前很多軟件的設計方式都面臨著對軟件的要求與需求標準越來越高,需求信息較分散,計算及設計過程極為繁瑣等情況,而ABC模式則很好的應對了這些問題。
為了能更好地利用運算資源、提高效率,運用ABC模式能迅速理解系統(tǒng)中多個構件及它們之間的關系,對系統(tǒng)的運轉(zhuǎn)方式及運行時刻進行深入細致的分析,在拆分過程中計算并理解所需理解的部分,這使得在軟件設計過程中便將整體與局部的關系很好的囊括到了一起,從而可以使之在結合多數(shù)要素后做出較為合理、精準的決策。
將部署信息、系統(tǒng)拆分狀況與部署評估的目標完整結合到一起可以簡化原有的分析過程、精化并細化運算過程,這有利于簡化實際設計軟件并應用軟件的運行步驟,可以提高軟件運行效率,這便是ABC模式最主要的優(yōu)點。
6、結語。
在十幾年的時間里,ABC模式得到了較為長足的發(fā)展。當今形勢下,軟件運行平臺的能力越來越強,網(wǎng)絡技術的應用范圍也變得越來越大,計算機正因其實用性與高效性而越來越廣地滲入到人類生活的方方面面,而基于ABC方法指導下的軟件設計應用,則可較高的減少軟件研發(fā)時間及費用,進而顯著提高軟件應對問題時的靈活性、可靠性。
總而言之,伴隨著互聯(lián)網(wǎng)的興起及大數(shù)據(jù)網(wǎng)絡化時代的到來,計算機技術正日新月異的改變著自身形態(tài)。這導致軟件從誕生起到現(xiàn)在已發(fā)生了翻天覆地的變化,展望未來,應用ABC模式及方法的軟件設計體系將會也仍將發(fā)揮重要的理論及使用價值,但倘若不隨時更新、強化這一方法,不積極面對可能到來的新挑戰(zhàn)與新機遇,那即便是再先進的理論也還是會被時代淘汰。因此,軟件研發(fā)從業(yè)人員應在巧妙運用ABC模式改善工作效率的同時,將新技術、新思想與具體實踐結合起來,從而做到月月新、日日新,以此確保在自身在軟件開發(fā)領域內(nèi)的百戰(zhàn)不殆。
參考文獻:
[1]梅宏,黃罡,張路,張偉。ABC:一種全生命周期軟件體系結構建模方法[J]。中國科學:信息科學,2014,44(05):564—587。
[2]梅宏,陳鋒,馮耀東,楊杰。ABC:基于體系結構、面向構件的軟件開發(fā)方法[J]。軟件學報,2003,14(04):721—732。
[3]陳洪濤。面向軟件過程的ABC系統(tǒng)的研究與實現(xiàn)[D]。上海交通大學,2004。
[4]林躍進,夏一丁,劉春雨。使用ABC方法、設計實現(xiàn)基于構件的可復用軟件架構[J]?萍紓鞑ィ2010(10)。
【ABC軟件開發(fā)的方法】相關文章:
軟件開發(fā)工程師職責(精選)07-13
軟件開發(fā)工程師職責04-15
軟件開發(fā)工程師具體職責06-28
激勵方法03-11
(實用)軟件開發(fā)工程師職責15篇09-06
軟件開發(fā)工程師職責集錦[15篇]04-15
孩子流鼻血的原因及處理方法預防方法07-05
鍛煉膽量的方法08-16
挑選雞肉的方法06-29
螞蟥的養(yǎng)殖方法07-30