摘要:軟件是一種載體,更準(zhǔn)確地說是載體上的計(jì)算機(jī)或信息。隨著科技的快速進(jìn)步,軟件工程的研究與實(shí)踐應(yīng)用得到了顯著的進(jìn)展,軟件工程的方法對軟件發(fā)展有較大的影響,目前,控制開發(fā)過程主要從技術(shù)和管理兩方面著手?;仡欆浖こ痰陌l(fā)展歷史,總結(jié)出它的理論、方法、成果。結(jié)合internet技術(shù)和面臨的機(jī)遇,踏上軟件工程開發(fā)新的征程。
關(guān)鍵詞:軟件工程;體系結(jié)構(gòu);技術(shù)管理;挑戰(zhàn)
中圖分類號:TP311.5 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 22-0000-02
1 前言
軟件工程經(jīng)過30多年的不斷發(fā)展,已經(jīng)被應(yīng)用到社會的各個(gè)領(lǐng)域。但是根據(jù)目前的情況看,過去的軟件工程理論遠(yuǎn)遠(yuǎn)趕不上軟件工程的快速發(fā)展趨勢,因此,不斷加強(qiáng)工程實(shí)踐理論創(chuàng)新工作有著深遠(yuǎn)的意義。
2 軟件工程的發(fā)展歷史
計(jì)算機(jī)最早被用在軍事領(lǐng)域,20世紀(jì)中期后逐漸發(fā)展到民用領(lǐng)域。當(dāng)時(shí)軟件工程師備受人們尊敬,他們從事的編程工作被譽(yù)為藝術(shù)家的工作。由于當(dāng)時(shí)計(jì)算機(jī)的硬件配置較低,編程工作者面臨著處理器能力緩慢、存儲器空間小、維護(hù)不便等難題,因此,需要他們充分發(fā)揮聰明才智, 這樣才能編寫出反映快速、占用空間小、處理數(shù)據(jù)能力強(qiáng)的程序。到了20世紀(jì)60年代,計(jì)算機(jī)的應(yīng)用范圍擴(kuò)展到更多領(lǐng)域,于是又有兩方面問題出現(xiàn)了,一方面是使用者對軟件系統(tǒng)功能的要求越來越高;另一方面是軟件系統(tǒng)自身復(fù)雜程度和開發(fā)難度在不斷加大,軟件的質(zhì)量滿足不了人們的需求。這兩個(gè)主要矛盾在不斷惡化,最后引發(fā)了“軟件危機(jī)”。1968年的會議上第一次提出了“軟件工程”這個(gè)新名詞,從此人們開始了軟件工程的開發(fā)與研究。
3 軟件不同于其他產(chǎn)品
軟件是一種特殊的產(chǎn)品,更確切地說軟件是一種基于源代碼創(chuàng)造出來的作品,人們不能真實(shí)的看到它,卻可以在實(shí)踐應(yīng)用過程中體驗(yàn)它的價(jià)值。
軟件和傳統(tǒng)的工業(yè)有著本質(zhì)上的差別。傳統(tǒng)工業(yè)的特點(diǎn)是,首先,要對所要對產(chǎn)品進(jìn)行精心的設(shè)計(jì);其次,開始注入資金采購生產(chǎn)原材料,一切準(zhǔn)備完成后開始產(chǎn)品投產(chǎn);最后,銷售產(chǎn)品獲取較大的利潤。軟件的生產(chǎn)不同,它的主要投資成本就是前期開發(fā)設(shè)計(jì)過程成本、軟件運(yùn)行成本和后期維護(hù)成本,在生產(chǎn)線上進(jìn)行批量生產(chǎn)時(shí)的投資較少。用戶在購買其他產(chǎn)品后就有了它的所有權(quán)和使用權(quán),可是用戶買來的軟件只有它的使用權(quán)。工業(yè)產(chǎn)品會隨著時(shí)間的推移,產(chǎn)品會逐漸出現(xiàn)磨損、功能受損、運(yùn)行緩慢等問題,而軟件在使用過程中不會出現(xiàn)這些狀況,只是會出現(xiàn)同一款軟件在不斷的更新,而不會影響到已購買產(chǎn)品的使用。
傳統(tǒng)產(chǎn)品的整個(gè)生產(chǎn)過程是可見的,可以實(shí)際看到材料消耗量和產(chǎn)品進(jìn)展情況。但是軟件的開發(fā)基于運(yùn)用不可見的代碼編寫程序,整個(gè)過程裝在程序員的腦袋里,其他人無法得知程序進(jìn)展情況。傳統(tǒng)產(chǎn)品設(shè)計(jì)通過核定后,在生產(chǎn)過程中就很難做到臨時(shí)改變方案,如確實(shí)需改動,要經(jīng)過層層嚴(yán)格審批方可進(jìn)行。但是軟件工程具有其易變性,在開發(fā)過程中編程人員可以根據(jù)實(shí)際情況做適當(dāng)調(diào)整。
4 軟件工程方法和技術(shù)
30多年來,軟件工程研究取得了重大性進(jìn)步,雖然“軟件危機(jī)”依然存在,但軟件工程方法對軟件行業(yè)還是起到了積極促進(jìn)作用。從20世紀(jì)60年代以來,軟件開發(fā)過程取得了重大突破,碩果累累。目前,主要從技術(shù)和管理兩方面對軟件的開發(fā)過程進(jìn)行控制。
4.1 技術(shù)角度
從技術(shù)角度分析,既要關(guān)注軟件開發(fā)范型又要重視軟件設(shè)計(jì)方法。前者關(guān)注軟件工程的方向,也就是說怎樣才能做到準(zhǔn)確書寫以滿足需求的軟件;后者則關(guān)注的是軟件工程的途徑,也就是說如何用低層概念模型反映高層概念模型。在實(shí)踐中,軟件的重復(fù)使用是軟件工程理論的核心內(nèi)容。根據(jù)目前工業(yè)產(chǎn)品的開發(fā)模式,軟件復(fù)用是把已有的成果作為基礎(chǔ),利用在過去開發(fā)過程中總結(jié)的經(jīng)驗(yàn),應(yīng)用在新的軟件工程的開發(fā),這樣能減少重復(fù)勞動,減少工作量、降低復(fù)雜度。軟件構(gòu)件被應(yīng)用于系統(tǒng)中可以明確辨識的部分,它是實(shí)現(xiàn)軟件復(fù)用的關(guān)鍵技術(shù),它包括源代碼、需求、系統(tǒng)、軟件體系結(jié)構(gòu)等一切有利于開發(fā)活動的信息。其主要目的是從現(xiàn)有的系統(tǒng)中提取構(gòu)件并進(jìn)行構(gòu)件生產(chǎn),研究其本質(zhì)特征和構(gòu)件有怎樣的聯(lián)系;怎樣描述構(gòu)件;怎樣對構(gòu)件進(jìn)行分類。
4.2 工程管理角度
4.2.1 探究管理方法的積極作用
由于結(jié)合軟件工程開發(fā)和生產(chǎn)過程具有特殊性,因此要采取一套不同于其他項(xiàng)目管理的方法。新的管理方法應(yīng)更具合理性、高效性、科學(xué)性等優(yōu)點(diǎn),確保工程化系統(tǒng)開發(fā)的順利進(jìn)行。軟件管理方法實(shí)現(xiàn)了對成本、人員、質(zhì)量、風(fēng)險(xiǎn)、文檔進(jìn)行控制,同時(shí)進(jìn)行軟件管理有利于把開發(fā)人員的個(gè)人能力轉(zhuǎn)變成企業(yè)的開發(fā)能力,提高企業(yè)競爭能力,降低投資風(fēng)險(xiǎn)性。
4.2.2 軟件項(xiàng)目管理遵守原則
做好軟件項(xiàng)目管理工作,要遵守以下幾方面原則,第一,軟件項(xiàng)目中需要處理好需求、資源、工期、質(zhì)量四者之間的相互關(guān)系;第二,為了降低管理的風(fēng)險(xiǎn),通常要根據(jù)實(shí)際生產(chǎn)要求把較大規(guī)模的項(xiàng)目拆分開;第三,制定一套具有合理性,科學(xué)性的措施來監(jiān)控項(xiàng)目的進(jìn)度;同時(shí)還能做到一旦發(fā)現(xiàn)問題就能夠及時(shí)解決;第四,根據(jù)不同項(xiàng)目的工作需要,制訂出不同的項(xiàng)目管理制度;第五,重視人員的思想道德教育,培養(yǎng)積極的工作態(tài)度,鼓勵(lì)他們要把理論與實(shí)踐相結(jié)合。
5 軟件工程的發(fā)展趨勢
到了20世紀(jì)末,Internet開始主導(dǎo)了流行的潮流走向,它的廣泛應(yīng)用提供了一個(gè)資源豐富的計(jì)算平臺,從而加快了全球信息化的進(jìn)程。今后怎樣能在這個(gè)平臺上進(jìn)一步整合資源、形成龐大的、高效率的、可信程度高的虛擬環(huán)境,能為用戶更好地服務(wù),滿足他們的高需求將是軟件工程總的發(fā)展趨勢。Internet平臺有一些不同于傳統(tǒng)軟件的平臺特點(diǎn),例如,分布性、自治性、開放性、導(dǎo)購性、不可預(yù)見性、、連接環(huán)境的多樣性等。這就會帶來軟件工程發(fā)展的新問題。因此,軟件開發(fā)人員就要重視新理論的研究、探究不同方法的科學(xué)性、尋找適用型技術(shù)等綜合辦法來應(yīng)對Internet平臺的特點(diǎn)。目前,已有很多科研人員加大了對這方面的研究。
由此可見,Internet的應(yīng)用在快速發(fā)展,在各個(gè)領(lǐng)域得到推廣。使計(jì)算機(jī)面臨的環(huán)境有所改變,在新的發(fā)展趨勢下,計(jì)算機(jī)軟件正從靜態(tài)、封閉的舊環(huán)境逐漸走向開放、動態(tài)、多變的新環(huán)境。為了適應(yīng)這種新的發(fā)展趨勢,軟件系統(tǒng)將會逐步呈現(xiàn)出柔性、多目標(biāo)、連續(xù)反應(yīng)式網(wǎng)絡(luò)系統(tǒng)形態(tài)。面對這些新型的軟件,原來的軟件理論、方法、技術(shù)已不能滿足需要。全面的衡量,這種危機(jī)給我們帶來巨大挑戰(zhàn)的同時(shí)也提供了前所未有的發(fā)展機(jī)遇,我們要積極去探索研究,建立一套適合internet新環(huán)境下的軟件開發(fā)體系。Internet發(fā)展將使系統(tǒng)軟件和支撐平臺的研究重點(diǎn)發(fā)生改變,因此,在新型中間平臺技術(shù)方面一定要做到創(chuàng)新。
6 結(jié)束語
隨著全球信息化的趨勢和市場經(jīng)濟(jì)壓力的增加,軟件工程的發(fā)展正在潛移默化的影響著我們?nèi)粘I睿鞣N辦公軟件的開發(fā)與應(yīng)用,使人們工作和生活起來更加輕松方便。軟件的不斷更新未來發(fā)展的必然趨勢。應(yīng)該把握住這樣的難得的機(jī)遇,開發(fā)出更好的軟件以適應(yīng)人們的更好需求,為軟件工程的美好未來努力奮斗。
參考文獻(xiàn):
[1]李志.試析軟件工程的歷史及其發(fā)展[J].科園月刊,2011(3).
[2]馮偉,侯勝利.我國計(jì)算機(jī)軟件工程的歷史與發(fā)展趨勢[J].中國電子商務(wù),2010(11).
[3]王博然,蘇鋼.軟件工程的歷史與發(fā)展趨勢[J].北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2008(3).
[4]韓洋.軟件工程的歷史及新發(fā)展[J].東方企業(yè)文化,2010(3).