高賽
摘 要 目前,我國(guó)社會(huì)主義改革日益擴(kuò)大市場(chǎng)經(jīng)濟(jì)份額,這使得軟件工程在我國(guó)國(guó)民建設(shè)中的作用越發(fā)凸顯。軟件工程是一個(gè)綜合學(xué)科,其涉及知識(shí)面很廣,包括系統(tǒng)平臺(tái)、模式設(shè)計(jì)、程序語(yǔ)言、軟件開(kāi)發(fā)、數(shù)據(jù)庫(kù)等等。尤其對(duì)我們生活最為常用的操作系統(tǒng)、電子郵件、辦公套件、游戲、人機(jī)交互界面等軟件來(lái)說(shuō),幾乎覆蓋了社會(huì)上各個(gè)行業(yè),包括工業(yè)生產(chǎn)、航空、農(nóng)業(yè)、政府機(jī)構(gòu)、銀行等。根據(jù)軟件工程自身特點(diǎn),不斷補(bǔ)充軟件開(kāi)發(fā)系統(tǒng)的知識(shí),以此,進(jìn)一步提升軟件工程在科技發(fā)展中的中堅(jiān)地位。
關(guān)鍵詞 軟件工程 系統(tǒng)開(kāi)發(fā) 計(jì)算機(jī)領(lǐng)域
中圖分類(lèi)號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A
經(jīng)過(guò)多年的發(fā)展,軟件工程如今已經(jīng)成為計(jì)算機(jī)領(lǐng)域中一門(mén)非常重要的學(xué)科。軟件工程對(duì)于開(kāi)發(fā)計(jì)算機(jī)功能,提高計(jì)算機(jī)的應(yīng)用效率有著重要的作用。進(jìn)入21世紀(jì)以后,軟件工程已經(jīng)全面應(yīng)用于社會(huì)發(fā)展的各個(gè)行業(yè)。目前,軟件工程的研究主要集中于軟件構(gòu)件技術(shù)、網(wǎng)絡(luò)計(jì)算智能化、可靠性工程、中間件、標(biāo)準(zhǔn)化、軟件重用等方面。時(shí)至今日,社會(huì)經(jīng)濟(jì)生產(chǎn)、人們生活交流都已經(jīng)離不開(kāi)軟件工程的支持。在社會(huì)需求的刺激下,軟件工程也朝著較高的水平飛速提升。
1 軟件工程定義及發(fā)展現(xiàn)狀
軟件工程,就是利用工程化中的方法實(shí)現(xiàn)對(duì)軟件的組建、測(cè)試和維護(hù),以此提高軟件的設(shè)計(jì)和使用效率。軟件工程興起于20世紀(jì)60年代,計(jì)算機(jī)的應(yīng)用范圍擴(kuò)展到更多領(lǐng)域,導(dǎo)致使用者對(duì)軟件系統(tǒng)功能的要求越來(lái)越高和軟件系統(tǒng)自身復(fù)雜程度和開(kāi)發(fā)難度在不斷加大,軟件的質(zhì)量滿(mǎn)足不了人們的需求。最后引發(fā)了“軟件危機(jī)”,促進(jìn)了軟件工程的誕生。
在軟件工程出現(xiàn)之初,歐美國(guó)家投入了大量的資金,制定了詳細(xì)的發(fā)展規(guī)劃,并取得了突破性的發(fā)展。在科學(xué)技術(shù)的推動(dòng)下,軟件工程逐漸走向了智能化、高集成化之路。軟件工程是一門(mén)綜合性極強(qiáng)的學(xué)科,該學(xué)科從無(wú)到有經(jīng)歷的發(fā)展階段為:萌芽階段、成長(zhǎng)階段、技術(shù)應(yīng)用與研究階段。在不同的階段,軟件工程完成了不同的任務(wù)。當(dāng)今,軟件工程已經(jīng)成為計(jì)算機(jī)應(yīng)用領(lǐng)域的核心技術(shù),而且市場(chǎng)需求量尚在逐年攀升。
目前,國(guó)外的軟件工程技術(shù)已經(jīng)十分成熟,領(lǐng)域內(nèi)常用的主流軟件開(kāi)發(fā)工具以及開(kāi)發(fā)環(huán)境都是國(guó)外科學(xué)家設(shè)計(jì)研究的。而對(duì)于我國(guó)的軟件工程發(fā)展而言,因?yàn)槠鸩捷^晚,與國(guó)外軟件工程技術(shù)相比,還存在著很多問(wèn)題,但在利用國(guó)外技術(shù)經(jīng)驗(yàn)的基礎(chǔ)上,只用了數(shù)十年,我國(guó)科研部門(mén)已經(jīng)研發(fā)出屬于自己的軟件技術(shù),比如 XYZ 系統(tǒng)、B-45 系統(tǒng)等。
2 軟件產(chǎn)品與傳統(tǒng)產(chǎn)品之間的特征比較
軟件是一種特殊的產(chǎn)品,更確切地說(shuō)軟件是一種基于源代碼創(chuàng)造出來(lái)的作品,人們不能真實(shí)的看到它,卻可以在實(shí)踐應(yīng)用過(guò)程中體驗(yàn)它的價(jià)值。
軟件和傳統(tǒng)的工業(yè)有著本質(zhì)上的差別。傳統(tǒng)工業(yè)的特點(diǎn)是,首先,要對(duì)產(chǎn)品進(jìn)行精心的設(shè)計(jì);其次,開(kāi)始注入資金采購(gòu)生產(chǎn)原材料,一切準(zhǔn)備完成后開(kāi)始產(chǎn)品投產(chǎn);最后,銷(xiāo)售產(chǎn)品獲取較大的利潤(rùn)。軟件的生產(chǎn)不同,它的主要投資成本就是前期開(kāi)發(fā)設(shè)計(jì)過(guò)程成本、軟件運(yùn)行成本和后期維護(hù)成本,在生產(chǎn)線上進(jìn)行批量生產(chǎn)時(shí)的投資較少。用戶(hù)在購(gòu)買(mǎi)其他產(chǎn)品后就有了它的所有權(quán)和使用權(quán),可是用戶(hù)買(mǎi)來(lái)的軟件只有它的使用權(quán)。工業(yè)產(chǎn)品會(huì)隨著時(shí)間的推移,產(chǎn)品會(huì)逐漸出現(xiàn)磨損、功能受損、運(yùn)行緩慢等問(wèn)題,而軟件在使用過(guò)程中不會(huì)出現(xiàn)這些狀況,只是會(huì)出現(xiàn)同一款軟件在不斷的更新,而不會(huì)影響到已購(gòu)買(mǎi)產(chǎn)品的使用。
傳統(tǒng)產(chǎn)品的整個(gè)生產(chǎn)過(guò)程是可見(jiàn)的,可以實(shí)際看到材料消耗量和產(chǎn)品進(jìn)展情況。但是軟件的開(kāi)發(fā)基于運(yùn)用不可見(jiàn)的代碼編寫(xiě)程序,整個(gè)過(guò)程裝在程序員的腦袋里,其他人無(wú)法得知程序進(jìn)展情況。傳統(tǒng)產(chǎn)品設(shè)計(jì)通過(guò)核定后,在生產(chǎn)過(guò)程中就很難做到臨時(shí)改變方案,如確實(shí)需改動(dòng),要經(jīng)過(guò)層層嚴(yán)格審批方可進(jìn)行。但是軟件工程具有其易變性,在開(kāi)發(fā)過(guò)程中編程人員可以根據(jù)實(shí)際情況做適當(dāng)調(diào)整。
3 軟件工程中的方法和技術(shù)
經(jīng)過(guò)幾十年的發(fā)展,軟件工程研究取得了重大性進(jìn)步,雖然“軟件危機(jī)”依然存在,但軟件工程方法對(duì)軟件行業(yè)還是起到了積極促進(jìn)作用。下面從技術(shù)和管理兩方面對(duì)軟件的開(kāi)發(fā)過(guò)程進(jìn)行控制。
3.1技術(shù)角度
從技術(shù)角度分析,既要關(guān)注軟件開(kāi)發(fā)范型又要重視軟件設(shè)計(jì)方法。前者關(guān)注軟件工程的方向,也就是說(shuō)怎樣才能做到準(zhǔn)確書(shū)寫(xiě)以滿(mǎn)足需求的軟件;后者則關(guān)注的是軟件工程的途徑,也就是說(shuō)如何用低層概念模型反映高層概念模型。在實(shí)踐中,軟件的重復(fù)使用是軟件工程理論的核心內(nèi)容。根據(jù)目前工業(yè)產(chǎn)品的開(kāi)發(fā)模式,軟件復(fù)用是把已有的成果作為基礎(chǔ),利用在過(guò)去開(kāi)發(fā)過(guò)程中總結(jié)的經(jīng)驗(yàn),應(yīng)用在新的軟件工程的開(kāi)發(fā),這樣能減少重復(fù)勞動(dòng)、減少工作量、降低復(fù)雜度。軟件構(gòu)件被應(yīng)用于系統(tǒng)中可以明確辨識(shí)的部分,它是實(shí)現(xiàn)軟件復(fù)用的關(guān)鍵技術(shù),它包括源代碼、需求、系統(tǒng)、軟件體系結(jié)構(gòu)等一切有利于開(kāi)發(fā)活動(dòng)的信息。其主要目的是從現(xiàn)有的系統(tǒng)中提取構(gòu)件并進(jìn)行構(gòu)件生產(chǎn),研究其本質(zhì)特征和構(gòu)件有怎樣的聯(lián)系、怎樣描述構(gòu)件、怎樣對(duì)構(gòu)件進(jìn)行分類(lèi)。
3.2工程管理角度
3.2.1探究管理方法的積極作用
由于結(jié)合軟件工程開(kāi)發(fā)和生產(chǎn)過(guò)程具有特殊性,因此要采取一套不同于其他項(xiàng)目管理的方法。新的管理方法應(yīng)更具合理性、高效性、科學(xué)性等優(yōu)點(diǎn),確保工程化系統(tǒng)開(kāi)發(fā)的順利進(jìn)行。軟件管理方法實(shí)現(xiàn)了對(duì)成本、人員、質(zhì)量、風(fēng)險(xiǎn)、文檔進(jìn)行控制,同時(shí)進(jìn)行軟件管理有利于把開(kāi)發(fā)人員的個(gè)人能力轉(zhuǎn)變成企業(yè)的開(kāi)發(fā)能力,提高企業(yè)競(jìng)爭(zhēng)能力,降低投資風(fēng)險(xiǎn)性。
3.2.2軟件項(xiàng)目管理遵守原則
做好軟件項(xiàng)目管理工作,要遵守以下幾方面原則,第一,軟件項(xiàng)目中需要處理好需求、資源、工期、質(zhì)量四者之間的相互關(guān)系;第二,為了降低管理的風(fēng)險(xiǎn),通常要根據(jù)實(shí)際生產(chǎn)要求把較大規(guī)模的項(xiàng)目拆分開(kāi);第三,制定一套具有合理性,科學(xué)性的措施來(lái)監(jiān)控項(xiàng)目的進(jìn)度;同時(shí)還能做到一旦發(fā)現(xiàn)問(wèn)題就能夠及時(shí)解決;第四,根據(jù)不同項(xiàng)目的工作需要,制訂出不同的項(xiàng)目管理制度;第五,重視人員的思想道德教育,培養(yǎng)積極的工作態(tài)度,鼓勵(lì)他們要把理論與實(shí)踐相結(jié)合。
4 我國(guó)軟件工程發(fā)展問(wèn)題
就目前我國(guó)軟件工程發(fā)展的現(xiàn)狀而言,存在的主要問(wèn)題有以下兩大方面:(1) 缺乏完善的軟件工程管理體制,導(dǎo)致軟件工程開(kāi)發(fā)團(tuán)隊(duì)的工作無(wú)法得到有效的協(xié)調(diào),開(kāi)發(fā)效率受到極大的限制。(2)對(duì)軟件開(kāi)發(fā)人員以及開(kāi)發(fā)進(jìn)度的控制力度不足,致使人員的穩(wěn)定性下降,使得很多軟件產(chǎn)品的生產(chǎn)效率低下,且產(chǎn)品質(zhì)量降低。與此同時(shí),部分軟件的開(kāi)發(fā)進(jìn)度未控制好,使得軟件產(chǎn)品的生產(chǎn)不能按時(shí)完成,項(xiàng)目延期現(xiàn)象頻發(fā)。
5 軟件工程的發(fā)展趨勢(shì)
5.1全球化趨勢(shì)發(fā)展
全球化是世界經(jīng)濟(jì)發(fā)展的總體趨勢(shì),對(duì)于軟件工程來(lái)說(shuō)亦是如此。發(fā)展到今天,軟件工程開(kāi)發(fā)已經(jīng)不再是某個(gè)國(guó)家自身的發(fā)展。而且,僅僅依靠某個(gè)國(guó)家自身的實(shí)力難以實(shí)現(xiàn)軟件工程技術(shù)的全面提升。鑒于此,全球化軟件協(xié)作交互模式應(yīng)運(yùn)而生。隨著軟件外包市場(chǎng)的快速發(fā)展以及軟件工程工具的進(jìn)步,越來(lái)越多的企業(yè)開(kāi)始締造跨國(guó)合作的軟件工程,他們?cè)诿绹?guó)完成軟件的概念設(shè)計(jì),在歐洲完成軟件的系統(tǒng)構(gòu)架設(shè)計(jì),在中國(guó)進(jìn)行軟件的測(cè)試,在印度為軟件用戶(hù)提供售后服務(wù)等。
5.2開(kāi)放性趨勢(shì)發(fā)展
就目前軟件工程發(fā)展的現(xiàn)狀而言,其發(fā)展趨勢(shì)必然朝著“開(kāi)放計(jì)算”的方向發(fā)展。所謂的開(kāi)放計(jì)算,其包括了開(kāi)放標(biāo)準(zhǔn)、開(kāi)放架構(gòu)、開(kāi)源軟件三個(gè)方面。通過(guò)統(tǒng)一的開(kāi)放標(biāo)準(zhǔn),不同企業(yè)開(kāi)發(fā)的不同軟件可以進(jìn)行互聯(lián)使用,不同軟件開(kāi)發(fā)工具可以集成使用,不同國(guó)家的技術(shù)經(jīng)驗(yàn)?zāi)軌驅(qū)崿F(xiàn)更好的交流,用戶(hù)在軟件方面的投資能夠得到更安全的保證。目前,開(kāi)放架構(gòu)最典型的代表當(dāng)屬“SOA”,這種開(kāi)放架構(gòu)的使用能夠有效的解決IT 環(huán)境中復(fù)雜度之間的矛盾,可以簡(jiǎn)化商業(yè)模式,增加軟件工程的靈活度。
5.3模塊化趨勢(shì)發(fā)展
隨著軟件市場(chǎng)的競(jìng)爭(zhēng)壓力加大,企業(yè)所面臨的 IT 環(huán)境更為復(fù)雜,為了應(yīng)對(duì)來(lái)自各方面的挑戰(zhàn),企業(yè)需要更多的創(chuàng)新能力和業(yè)務(wù)靈活性。模塊化思想的出現(xiàn),恰好可以幫助企業(yè)從根本上解決上述問(wèn)題。模塊化思想不僅可以通過(guò)抽象、分解、層次化、封裝等科學(xué)方法對(duì)各種軟件應(yīng)用以及軟件構(gòu)件進(jìn)行打包,提高企業(yè)的軟件重用水平;同時(shí),業(yè)界根據(jù)軟件模塊化思想,提出了SOA 技術(shù),通過(guò)對(duì)現(xiàn)有軟件系統(tǒng)以及各種軟件資源進(jìn)行有效的整合和重用,使得企業(yè)能夠更好應(yīng)對(duì)業(yè)務(wù)的靈活性要求。
參考文獻(xiàn)
[1] 李輝.軟件工程開(kāi)發(fā)方法的現(xiàn)狀與展望[J].福建廣播電視大學(xué)學(xué)報(bào),2011(03).
[2] 吳立國(guó).軟件工程發(fā)展綜述[J].華章,2013(10).