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