王雯雯 中國石油大學(xué)勝利學(xué)院
“云”上的軟件工程
王雯雯 中國石油大學(xué)勝利學(xué)院
“云”作為一種趨勢,對軟件工程的方法、架構(gòu)、模式有影響是一定的。本文從目標、過程和原則三個方面出發(fā)闡述了“云”對軟件工程的影響。
“云” 軟件工程
每一個IT人對于“云”都有自己的理解,其中比較通俗地解釋就是資源或計算能力的整合,這也是軟件工作者要樂見的:可以利用整個網(wǎng)絡(luò)的計算能力,不必再因為本地服務(wù)器的能力限制而捆手捆腳。
在“云”時代中,使用計算資源就像是用電一樣方便、廉價。只要有瀏覽器就可以進行各項日常事務(wù),不必再安裝各種軟件,可以直接在“云”上使用公用的軟件程序;不必再擔心數(shù)據(jù)會隨它們的依附物(電腦、U盤、移動硬盤)的丟失而丟失,“云”無疑是比較安全的;不必再為了無休止的更新、殺毒而費神,“云”的那一端會有專業(yè)的維護人員對使用的軟件進行維護。連接“云”就可以獲得所需要的軟件或服務(wù),這似乎有點遙遠,但是歷史一次又一次的讓我們體會到科技的迅速,那是一種颶風的效果。不再購買或開發(fā)各種功能的軟件?對于軟件行業(yè)存亡的討論也許就是由這一點引起的,但是只有“電”是無法支撐日常生活的,沒有各種電器再多的電也是惘然。只是“云”上所要求的“軟件”不同于我們現(xiàn)在意義上的軟件罷了,軟件開發(fā)過程、目標發(fā)生了改變。
軟件工程的框架可概括為:目標、過程和原則。而“云”的襲來對這三方面的影響是明顯的。
“云”可以分為三層:資源管理層、應(yīng)用接口層、應(yīng)用訪問層。這三個層次的主要功能也是與現(xiàn)行軟件工程的沖突點所在。
其中資源管理層主要處理計算資源的共享方式;應(yīng)用接口層主要處理以哪一種形式對外提供相應(yīng)的服務(wù);應(yīng)用訪問層實際上相當于應(yīng)用層,在這一層中使用“云”的方式來進行具體應(yīng)用的實現(xiàn)。其具體形式包括:Saas、云內(nèi)Web服務(wù)、Paas、管理服務(wù)提供商、公用計算。Saas:軟件即服務(wù);Paas:將開發(fā)環(huán)境以服務(wù)的方式提供;云內(nèi)Web服務(wù):API的共享;公用計算:計算資源、存儲資源的共享。
傳統(tǒng)的軟件工程其目標是使用戶的滿意度最高,是一種極具個性化的開發(fā),是針對某一特定的問題求解。這與“云計算”中的軟件共用是矛盾的,“云”強調(diào)跨組織的軟件共用,它強調(diào)數(shù)據(jù)、平臺和應(yīng)用的統(tǒng)一,其個性化體現(xiàn)在服務(wù)的組合上,這樣就降低了運營成本。數(shù)據(jù)的統(tǒng)一從用戶角度出發(fā)就是歸納整合同一用戶在不同應(yīng)用上數(shù)據(jù)信息,從企業(yè)角度出發(fā)就是整合歸納行業(yè)信息數(shù)據(jù),減小數(shù)據(jù)交換的成本。這就使得“云”下的軟件工程其目標更加的“廣闊”,在進行需求分析時,需要提取客戶的共性需求。在這一點上“云計算”使用的是一種類似于社區(qū)管理的方式,各個企業(yè)保持其自身的私有核心,共用所在行業(yè)共性的關(guān)鍵系統(tǒng)。
就如上文所說的,“云計算”對軟件工程的沖擊,不是由“端”到“云”的轉(zhuǎn)移,不是個性化項目軟件的存在必要性,而是一種思考方式的改變。在“云”下的軟件工程,手中所掌握的是近乎無限的計算能力,無須再因為服務(wù)器或硬件的限制退而求其次,不必再為了局域網(wǎng)布線傷透腦筋;但相對在進行軟件工程的設(shè)計初期所要考慮的方面會更加的廣泛,因為所進行的不再是一個特殊解問題而是一種公共的公式性問題。
“云”下的軟件工程,在自身軟件的管理基礎(chǔ)上更加突出了對“云”平臺的管理?!霸啤逼脚_支持多個共用服務(wù)系統(tǒng),而每個共用服務(wù)系統(tǒng)又支持多個應(yīng)用系統(tǒng)。這些應(yīng)用系統(tǒng)在“云”服務(wù)總線的調(diào)配下與最上層的客戶系統(tǒng)、服務(wù)展示平臺整合。在“云”上的軟件過程,不再僅僅關(guān)心項目的完成時間、項目自身的質(zhì)量。它關(guān)注的是整個“社區(qū)”(企業(yè)所在的行業(yè)所建立的平臺)的發(fā)展、完善程度、管理有效性等等,其要求是一種平臺管理與軟件自身管理的協(xié)調(diào)。項目管理、產(chǎn)品管理、平臺管理只有這三者協(xié)調(diào)處置,才有可能造就一個成功的“云”下的軟件工程。
當然,“云”的來襲并不代表著一切的改變,不論是現(xiàn)在還是將來軟件工程中的七大原則都不會有太大的改變只是側(cè)重的方向不同而已。在“云”下,分割、綜合、抽象、預(yù)變、關(guān)聯(lián)這些共性原則是相通的,而構(gòu)件原則、復(fù)用原則的側(cè)重與傳統(tǒng)軟件可能會有所不同。軟件復(fù)用即通用組件的開發(fā),大部分復(fù)用活動都是在一個企業(yè)或者組織內(nèi)部進行的,即具有一定的局限性,并沒有對整個行業(yè)的共性進行總結(jié)利用,這無疑是一種浪費。在“云”下的軟件已不僅僅是某個企業(yè)或組織的個性表征,“云”中的復(fù)用應(yīng)該是軟件級別的,也就是說將軟件看做一種服務(wù)進行跨企業(yè)、跨組織的項目級別復(fù)用。
目標、過程、原則,軟件工程架構(gòu)的三大組成,或多或少的受到“云”的影響,它們在用自己的方式適應(yīng)著“云”?!霸啤毕碌能浖こ虒⒁栏健霸啤?,同時利用它以期達到軟件工程的最終目的:最大程度的使用戶滿足,使用戶的使用、生活更加的方便,這無疑是每一個IT人的信念。
[1]仉偉,郭洪遠,云計算的特點和應(yīng)用展望[J],數(shù)字技術(shù)與應(yīng)用,2011(4):168-168.
[2]范耀明,鮮凱,云計算時代的軟件復(fù)用技術(shù)分析[J],華東科技:學(xué)術(shù)版,2016(4):436-437
王雯雯(1986-),漢族,山東東營人,碩士,助教,研究方向:軟件工程。