文/井世麗 宦亮
軟件與其他產(chǎn)品有著許多不同之處,是作為一種知識(shí)密度較強(qiáng)且生產(chǎn)較難的產(chǎn)品。由于上世紀(jì)計(jì)算機(jī)剛剛興起,計(jì)算機(jī)高級(jí)語(yǔ)言還沒(méi)有出現(xiàn),其設(shè)計(jì)成本較高,在使用計(jì)算機(jī)軟件編寫程序時(shí),只有很少一部分人能夠認(rèn)識(shí)和掌握,計(jì)算機(jī)軟件的發(fā)展被這種最初的現(xiàn)象極大的制約了。直到上世紀(jì)六十年代,人們才認(rèn)識(shí)到計(jì)算機(jī)軟件的重要性,并得到了行業(yè)的極大關(guān)注,隨著市場(chǎng)中計(jì)算機(jī)硬件平臺(tái)的廣泛應(yīng)用,逐漸過(guò)渡到了對(duì)計(jì)算機(jī)軟件需求量的激增,并且對(duì)于軟件設(shè)計(jì)的要求也越來(lái)越高,這就需要軟件工程技術(shù)不斷的改革與創(chuàng)新。從行業(yè)發(fā)展的需求出發(fā),對(duì)軟件工程技術(shù)發(fā)展趨勢(shì)進(jìn)行有效的研究是非常有必要和迫切的,在研究過(guò)程中,我們首先考慮的是軟件工程和計(jì)算機(jī)發(fā)展中的變化,不可能對(duì)軟件工程技術(shù)發(fā)展進(jìn)行孤立研究,這樣才能進(jìn)一步預(yù)測(cè)和分析軟件工程的發(fā)展趨勢(shì)。
在馮·諾依曼理論體系中,從計(jì)算機(jī)模型產(chǎn)生的時(shí)候起,一直在沿用計(jì)算機(jī)二進(jìn)制碼,但就計(jì)算機(jī)能力而言,其在以下幾方面發(fā)生的變化尤為突出:
(1)CUP的運(yùn)算能力在摩爾定律出現(xiàn)后,其運(yùn)算能力有了很大提高,達(dá)到了前所未有的高度,但運(yùn)算能力在單科CPU的提升方面上,是一項(xiàng)非常困難和緩慢的技術(shù),目前仍沒(méi)有快速提高的有效辦法;
(2)并行運(yùn)算技術(shù)以及并行多核、多線程技術(shù),這兩種技術(shù)依靠多任務(wù)處理系統(tǒng)得到了一定程度的提升,并給服務(wù)器處理帶來(lái)了很大的便利,致使許多計(jì)算機(jī)發(fā)展方向轉(zhuǎn)向了服務(wù)器架構(gòu),突破了服務(wù)器C/S傳統(tǒng)模式下的處理瓶頸,瘦客戶端結(jié)構(gòu)B/S模式受到了人們的普遍歡迎,而胖客戶端結(jié)構(gòu)C/S模式已經(jīng)不再具有廣闊的應(yīng)用市場(chǎng);
(3)大數(shù)據(jù)的應(yīng)用需求有效推進(jìn)了云計(jì)算發(fā)展,更快的在互聯(lián)網(wǎng)的迅速發(fā)展過(guò)程起到了催化劑的作用,為工業(yè)信息化起到了巨大的推進(jìn)作用。
軟件工程在計(jì)算機(jī)技術(shù)發(fā)展過(guò)程中,主要體現(xiàn)在以下幾個(gè)方面:
(1)由于在計(jì)算機(jī)中使用了諸如COM、DCOM、CORBA等中間件技術(shù),分布式應(yīng)用軟件在不同的軟件技術(shù)中間很容易的實(shí)現(xiàn)了資源共享,這不僅可以幫助軟件開(kāi)發(fā)人員節(jié)省精力與時(shí)間,還可以協(xié)助計(jì)算機(jī)對(duì)一些分布式計(jì)算進(jìn)行有效交互和處理,有利于軟件開(kāi)發(fā)人員在業(yè)務(wù)邏輯投入中節(jié)省大量時(shí)間,使軟件開(kāi)發(fā)規(guī)模逐漸縮小,進(jìn)而精簡(jiǎn)了代碼結(jié)構(gòu),對(duì)軟件工作人員進(jìn)行了更好的定位,使其更好的完成本職工作;
(2)目前計(jì)算機(jī)能力已經(jīng)逐漸傾向于服務(wù)器端,實(shí)用的中間件技術(shù)和較快的計(jì)算機(jī)運(yùn)算處理能力,不僅是開(kāi)發(fā)大型軟件過(guò)程中的必經(jīng)之路,也是新技術(shù)發(fā)展的主要趨勢(shì);
(3)原本較為分散的散件開(kāi)發(fā)人員,隨著互聯(lián)網(wǎng)的不斷普及和發(fā)展,跨網(wǎng)絡(luò)平臺(tái)、跨系統(tǒng)領(lǐng)域都在標(biāo)準(zhǔn)接口協(xié)議的統(tǒng)一下被重新整合在了一起,他們?cè)陂_(kāi)發(fā)軟件過(guò)程中,只要基礎(chǔ)平臺(tái)與協(xié)議框架合適,就可以很好的把軟件實(shí)用工具開(kāi)發(fā)出來(lái);
(4)系統(tǒng)軟件和應(yīng)用軟件的緊密耦合,促使系統(tǒng)軟件的平臺(tái)服務(wù)能力、底層擴(kuò)展能力、二次開(kāi)發(fā)能力均得到了普遍的提高。
軟件開(kāi)發(fā)行業(yè)在技術(shù)發(fā)展過(guò)程中,隨著全球化趨勢(shì)的不斷加速,也發(fā)生了前所未有的改變,在此過(guò)程中,若使用傳統(tǒng)管理方式對(duì)軟件開(kāi)發(fā)進(jìn)行管理,就會(huì)顯得十分吃力,因?yàn)樾畔⒒粩嗥占埃浖_(kāi)發(fā)不斷深化,許多軟件對(duì)開(kāi)發(fā)的環(huán)境也有了更高的要求。與此同時(shí),在軟件全球化共同協(xié)作發(fā)展過(guò)程中,軟件外包的發(fā)展步伐也逐漸加快,一些從事軟件外包工作的公司也應(yīng)運(yùn)而生,這些軟件外包公司把軟件需求、軟件發(fā)布、軟件維護(hù)、軟件測(cè)試、設(shè)計(jì)思想以及編程等各部分各模塊分離開(kāi)來(lái),通過(guò)合理利用軟件工程模塊化協(xié)作的方法,分配給不同的國(guó)家和地區(qū)完成。許多外包公司已經(jīng)把這個(gè)分配過(guò)程作為主要發(fā)展手段,并成功推向了市場(chǎng),從而實(shí)現(xiàn)了軟件信息全球化協(xié)作的基礎(chǔ)。
軟件工程領(lǐng)域中一種新趨勢(shì),就是開(kāi)放性軟件計(jì)算方式。由于全球化協(xié)同合作的加強(qiáng),再加上軟件本身就是一種開(kāi)放性共用技術(shù),所以在未來(lái)軟件發(fā)展過(guò)程中,軟件工程的重點(diǎn)和方向必然是這種新趨勢(shì)。與此同時(shí),開(kāi)放性計(jì)算有利于開(kāi)發(fā)者之間的交流與溝通,給軟件技術(shù)開(kāi)發(fā)人員帶來(lái)了便利,這也是一個(gè)實(shí)現(xiàn)共贏的方式,在后期維護(hù)中,對(duì)客戶與開(kāi)發(fā)者而言,變得更加簡(jiǎn)單化及專業(yè)化。
隨著軟件工程的全球化發(fā)展,不僅給軟件工程帶來(lái)了一定的難度與挑戰(zhàn),也給軟件開(kāi)發(fā)者帶來(lái)了新機(jī)遇。在發(fā)展過(guò)程中,各軟件公司競(jìng)爭(zhēng)越來(lái)越激烈,促使軟件開(kāi)發(fā)在此種激烈競(jìng)爭(zhēng)下,逐漸朝著模塊化思想發(fā)展。其本質(zhì)是將已知和相似的軟件結(jié)構(gòu)以科學(xué)手段進(jìn)行分類,將模塊思想通過(guò)一定方式進(jìn)行模塊化,主要是基于和解決傳統(tǒng)技術(shù)在實(shí)際生活中不靈敏問(wèn)題。這種模塊化設(shè)計(jì)思想的提出,不但促進(jìn)了軟件工程技術(shù)的未來(lái)發(fā)展,還提高了企業(yè)之間的軟件開(kāi)發(fā)效率和競(jìng)爭(zhēng)力。
綜上所述,隨著計(jì)算機(jī)軟件的全面創(chuàng)新和發(fā)展,基于計(jì)算機(jī)平臺(tái)硬件的不斷完善,軟件工程也朝著更規(guī)范化與更高效的方向推進(jìn)。目前,工程支持技術(shù)、軟件開(kāi)發(fā)模型、工程管理技術(shù)以及軟件設(shè)計(jì)方案等軟件工程所研究的主要內(nèi)容,均促使軟件不再單一化和獨(dú)立化,伴隨著軟件工程化的實(shí)施,軟件成為了一種集有效性、復(fù)雜性以及科學(xué)性為一體的新技術(shù),與此同時(shí),也不可避免的出現(xiàn)了軟件過(guò)于龐大、調(diào)度過(guò)于復(fù)雜、測(cè)試過(guò)于專業(yè)等新的問(wèn)題,為了解決這些問(wèn)題,應(yīng)加大對(duì)軟件的研發(fā)力度,及時(shí)找到解決辦法,在發(fā)展的同時(shí)摒棄掉傳統(tǒng)開(kāi)發(fā)模式下固有的弊端,從而推動(dòng)軟件工程技術(shù)朝著可持續(xù)穩(wěn)定健康的目標(biāo)前進(jìn)。