蔡蘇亞
(陜西工業(yè)職業(yè)技術(shù)學(xué)院信息工程學(xué)院,陜西咸陽(yáng),712000)
軟件技術(shù)是信息技術(shù)產(chǎn)業(yè)的核心之一,也是軟件產(chǎn)業(yè)、信息化應(yīng)用的重要基礎(chǔ)。當(dāng)前,信息技術(shù)將有力地推動(dòng)信息產(chǎn)業(yè)、軟件產(chǎn)業(yè)的發(fā)展,同時(shí)會(huì)對(duì)軟件技術(shù)提出新的需求,也必將引發(fā)軟件技術(shù)的重大變革。文中基于這一背景,從當(dāng)前軟件技術(shù)的發(fā)展角度,分析了軟件系統(tǒng)的發(fā)展趨勢(shì),這一研究對(duì)于進(jìn)一步了解軟件系統(tǒng)的變革方向性具有一定的意義。
軟件反映的是一種客觀事物,隨著社會(huì)的發(fā)展與變化,軟件技術(shù)也在不斷發(fā)展,軟件工程的產(chǎn)生與發(fā)展也是基于事物的發(fā)展規(guī)律,單單通過(guò)軟硬件和多種軟件之間的異構(gòu)性的解決方式就能找到軟件技術(shù)發(fā)展的一個(gè)方向。比如操作系統(tǒng)的發(fā)展,屏蔽了計(jì)算機(jī)硬件的異構(gòu)性,支持軟件的出現(xiàn)屏蔽了操作系統(tǒng)與編程語(yǔ)言之間的異構(gòu)性,而Web Services 相關(guān)技術(shù)的發(fā)展屏蔽了各種中間件間的異構(gòu)性;對(duì)解決問(wèn)題逐步深入,對(duì)使用與適應(yīng)性方面的要求也在不斷提高,加上日益發(fā)展的軟件技術(shù),更加復(fù)雜的新的異構(gòu)問(wèn)題還會(huì)出現(xiàn),而這一問(wèn)題的解決對(duì)于軟件技術(shù)的發(fā)展有促進(jìn)作用。我們要根據(jù)學(xué)科對(duì)需要解決的問(wèn)題的概念進(jìn)行提煉,尋找有效的解決辦法,使得以上問(wèn)題的概念模型以及相應(yīng)的關(guān)聯(lián)問(wèn)題得到解決,下圖是軟件職業(yè)職業(yè)能力,軟件工程主要是對(duì)軟件開(kāi)發(fā)范型、工程支持技術(shù)、軟件設(shè)計(jì)方法及工程管理技術(shù)進(jìn)行研究。軟件工程的方向問(wèn)題主要涵蓋在軟件開(kāi)發(fā)范型中,對(duì)求解軟件的計(jì)算邏輯進(jìn)行研究;而軟件工程的途徑問(wèn)題主要涵蓋在軟件設(shè)計(jì)方法中,對(duì)低層、高層概念模型以及處理邏輯相關(guān)的問(wèn)題進(jìn)行研究;工程質(zhì)量與產(chǎn)品質(zhì)量的問(wèn)題則涵蓋在工程支持技術(shù)和過(guò)程管理技術(shù)中,主要是對(duì)軟件過(guò)程中管理學(xué)理論知識(shí)的應(yīng)用進(jìn)行研究,軟件開(kāi)發(fā)其映射的是從高層概念模型/高層處理邏輯到低層概念模型/低層處理邏輯,另外成本、技術(shù)以及進(jìn)度等基本要素也在映射中得到體現(xiàn),因此對(duì)映射模式(軟件生產(chǎn)模式)問(wèn)題進(jìn)行相關(guān)研究是必要的。對(duì)的發(fā)展進(jìn)行分析研究表明,傳統(tǒng)產(chǎn)業(yè)發(fā)展的基本模式是零部件生產(chǎn)符合相關(guān)標(biāo)準(zhǔn),并且是在標(biāo)準(zhǔn)零部件的產(chǎn)品生產(chǎn)前提下進(jìn)行的,零部件是生產(chǎn)的關(guān)鍵部分,復(fù)用是重要方法,通過(guò)過(guò)往經(jīng)驗(yàn)可以知道,軟件開(kāi)發(fā)工程化以及其生產(chǎn)工業(yè)化必須要經(jīng)歷這種模式。所以,標(biāo)準(zhǔn)構(gòu)件的生產(chǎn)和構(gòu)件的復(fù)用是促進(jìn)軟件產(chǎn)業(yè)發(fā)展的兩個(gè)關(guān)鍵因素。
分析傳統(tǒng)軟件工程產(chǎn)業(yè)的發(fā)展,其基本模式均是符合標(biāo)準(zhǔn)的零部件(構(gòu)件)生產(chǎn)以及基于標(biāo)準(zhǔn)構(gòu)件的產(chǎn)品生產(chǎn)(組裝),構(gòu)件是核心和基礎(chǔ),復(fù)用是必須的手段。實(shí)踐表明,這種模式是軟件開(kāi)發(fā)工程化、軟件生產(chǎn)工業(yè)化的必由之路。因此,軟件產(chǎn)業(yè)的發(fā)展并形成規(guī)模經(jīng)濟(jì),標(biāo)準(zhǔn)構(gòu)件的生產(chǎn)和構(gòu)件的復(fù)用是關(guān)鍵因素.
傳統(tǒng)軟件的開(kāi)發(fā)平臺(tái)是封閉靜態(tài)的,由上往下進(jìn)行分解的所以在開(kāi)發(fā)傳統(tǒng)軟件時(shí)幾乎都是將系統(tǒng)的范圍先確定下來(lái),再對(duì)各個(gè)部分進(jìn)行突破,這樣就能很好的控制整個(gè)開(kāi)發(fā)過(guò)程。然而軟件系統(tǒng)的開(kāi)發(fā)平臺(tái)是開(kāi)放動(dòng)態(tài)的,且基礎(chǔ)軟件資源非常豐富,它的系統(tǒng)開(kāi)發(fā)是將眾多基礎(chǔ)軟件資源進(jìn)行整合,再通過(guò)無(wú)序和有序循環(huán),目標(biāo)由動(dòng)態(tài)變?yōu)榉€(wěn)定。新的軟件基本模型與之前所有傳統(tǒng)的計(jì)算模型相比顯得更加復(fù)雜,因?yàn)樗拈_(kāi)發(fā)平臺(tái)和應(yīng)用的需求不同,由于無(wú)序有序的循環(huán),新的軟件使用周期也與傳統(tǒng)軟件使用周期概念有所不同,多種多樣的目標(biāo)讓其程序的正確性涵蓋了多種傳統(tǒng)正確性的描述,傳統(tǒng)的軟件體系結(jié)構(gòu)是基于軟件實(shí)體的結(jié)構(gòu)分解,而新的軟件體系結(jié)構(gòu)則是基于協(xié)同的軟件實(shí)體整合,軟件開(kāi)發(fā)過(guò)程和環(huán)境的改變促使了虛擬工廠的生成,它是基于互聯(lián)網(wǎng)面向廣大用戶的。
圖2 為大部分企業(yè)管理的運(yùn)行軟件系統(tǒng)結(jié)構(gòu)其核心就是軟件系統(tǒng),而軟件系統(tǒng)基于開(kāi)發(fā)平臺(tái)正在由集中封閉的計(jì)算平臺(tái)向轉(zhuǎn)變?yōu)殚_(kāi)放的互聯(lián)網(wǎng)平臺(tái),因此軟件系統(tǒng)也伴隨著運(yùn)行環(huán)境的轉(zhuǎn)變而發(fā)生一些變化。如今,軟件系統(tǒng)的計(jì)算環(huán)境也正由原來(lái)的Client/Server 演變?yōu)镃lient/Cluster,且正慢慢向著Client/Network 與Client/Virtual Environment 發(fā)展。那基于互聯(lián)網(wǎng)平臺(tái)開(kāi)發(fā)的新軟件系統(tǒng)在未來(lái)又會(huì)是怎樣的一個(gè)形態(tài)呢?
圖2 企業(yè)管理運(yùn)行軟件系統(tǒng)結(jié)構(gòu)
從技術(shù)角度出發(fā),部分技術(shù)支持的軟件實(shí)體在互聯(lián)網(wǎng)的每個(gè)節(jié)點(diǎn)上會(huì)體現(xiàn)其開(kāi)放自主的特點(diǎn),在開(kāi)放多變的環(huán)境下,所有軟件實(shí)體的發(fā)布都能夠以某種形式進(jìn)行,同時(shí)通過(guò)多種協(xié)同方式與不同網(wǎng)絡(luò)的軟件實(shí)體之間進(jìn)行相互連通和協(xié)作,也就形成了Software Web,它與現(xiàn)在的信息web 差不多,但它并非只是單純的給用戶提供信息,而是提供各種網(wǎng)絡(luò)服務(wù)。在開(kāi)放、動(dòng)態(tài)多變的網(wǎng)絡(luò)環(huán)境下,為了滿足用戶的個(gè)性化使用要求,Software Web 也就應(yīng)運(yùn)而生了,它需要對(duì)外部網(wǎng)絡(luò)環(huán)境的變化具有感知能力,同時(shí)能在感知這種變化后根據(jù)各種性能和功能等指標(biāo)而發(fā)生調(diào)整和動(dòng)態(tài)轉(zhuǎn)變,提高用戶對(duì)系統(tǒng)的信賴感,這中新形態(tài)的軟件即是下文所介紹的網(wǎng)構(gòu)軟件。
網(wǎng)構(gòu)軟件是在Internet 動(dòng)態(tài)開(kāi)放環(huán)境下軟件系統(tǒng)一種抽象的基本形態(tài),它不僅僅是傳統(tǒng)軟件結(jié)構(gòu)的進(jìn)一步發(fā)展,不同于那些在靜態(tài)封閉環(huán)境下的傳統(tǒng)軟件,網(wǎng)構(gòu)軟件還具有以下幾個(gè)獨(dú)有的基本特征:自主性、協(xié)同性、反應(yīng)性、演化性、多態(tài)性。自主性顧名思義獨(dú)立主動(dòng),即網(wǎng)構(gòu)軟件系統(tǒng)中的軟件具有對(duì)應(yīng)的特性,而且這個(gè)特性讓它完全不同于傳統(tǒng)軟件系統(tǒng)中的軟件,傳統(tǒng)軟件依賴性和被動(dòng)性較強(qiáng)。在開(kāi)放的網(wǎng)絡(luò)環(huán)境下,網(wǎng)構(gòu)軟件系統(tǒng)中不同軟件通過(guò)各種靜態(tài)和動(dòng)態(tài)連接的方式進(jìn)行相互連通和協(xié)作,這就是網(wǎng)構(gòu)軟件的協(xié)同性,這與傳統(tǒng)軟件系統(tǒng)的靜態(tài)簡(jiǎn)單的連接模式完全不同,圖3 為網(wǎng)購(gòu)組件依賴示例。網(wǎng)構(gòu)軟件對(duì)外部運(yùn)行和應(yīng)用環(huán)境的感知且將相應(yīng)的信息反饋給系統(tǒng)的功能即是它的反應(yīng)性,此特性使其能感知互聯(lián)網(wǎng)開(kāi)放多變的外部環(huán)境。演化性指的是網(wǎng)構(gòu)軟件結(jié)構(gòu)能夠根據(jù)網(wǎng)絡(luò)需求和環(huán)境產(chǎn)生動(dòng)態(tài)演化,其軟件元素?cái)?shù)量、結(jié)構(gòu)關(guān)系、結(jié)構(gòu)形態(tài)的動(dòng)態(tài)調(diào)節(jié)性充分體現(xiàn)了這一點(diǎn),它賦予了網(wǎng)構(gòu)軟件系統(tǒng)的適應(yīng)性,使其對(duì)多變的網(wǎng)絡(luò)環(huán)境有良好的應(yīng)變能力。網(wǎng)構(gòu)軟件的多態(tài)性指的是其系統(tǒng)具有相互兼容的多目標(biāo)性的效果,它能夠在動(dòng)態(tài)多變的網(wǎng)絡(luò)環(huán)境下遵循部分協(xié)同原則,符合各種相互兼容的目標(biāo)形態(tài),該特性賦予了網(wǎng)構(gòu)軟件系統(tǒng)具有相應(yīng)的柔性以及符合個(gè)性化要求。
圖3 網(wǎng)購(gòu)組件依賴示例
總的來(lái)說(shuō),隨著Internet 的快速發(fā)展和廣泛應(yīng)用,計(jì)算機(jī)軟件逐步由靜態(tài)封閉過(guò)渡到動(dòng)態(tài)開(kāi)放的環(huán)境。為了順應(yīng)這種發(fā)展趨勢(shì),軟件系統(tǒng)將會(huì)慢慢呈現(xiàn)出彈性、目標(biāo)多等軟件形態(tài)。新型軟件形態(tài)的出現(xiàn),會(huì)給傳統(tǒng)的軟件理論、技術(shù)和方法帶來(lái)相應(yīng)的挑戰(zhàn)。從某種意義上來(lái)說(shuō),這種挑戰(zhàn)也是一個(gè)難得的機(jī)遇,有助于對(duì)軟件理論、技術(shù)和方法的研究,促進(jìn)一個(gè)優(yōu)化Internet發(fā)展環(huán)境的新型軟件理論、技術(shù)和方法體系的生成。
[1]嚴(yán)雋薇.軟件產(chǎn)業(yè)中的技術(shù)發(fā)展趨勢(shì)[J].微型電腦應(yīng)用,2009,12:1-3+9+76.
[2]朱仲英,虞慧群,王景寅,尤晉元,高毓乾.軟件技術(shù)發(fā)展趨勢(shì)研究[J].微型電腦應(yīng)用,2010,09:1-4+65.
[3]柴繼貴,王蓉.軟件技術(shù)發(fā)展趨勢(shì)的探析[J].成都電子機(jī)械高等專科學(xué)校學(xué)報(bào),2011,04:33-35.
[4]楊芙清,梅宏,呂建,金芝.淺論軟件技術(shù)發(fā)展[J].電子學(xué)報(bào),2002,S1:1901-1906.
[5]陳佳聞.新一代軟件技術(shù)的發(fā)展趨勢(shì)[J].科技信息(科學(xué)教研),2008,17:394-395.