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