吳定瑞
摘要:軟件工程的主要目的是為人們的工作和生活服務(wù)。只有在計(jì)算機(jī)中安裝相應(yīng)的軟件,充分發(fā)揮軟件的功能,才能實(shí)現(xiàn)其真正的價(jià)值。隨著計(jì)算機(jī)范圍的逐步擴(kuò)大和人們對(duì)計(jì)算機(jī)軟件功能要求的不斷提高,加強(qiáng)計(jì)算機(jī)軟件工程技術(shù)的開發(fā)和應(yīng)用顯得尤為重要。本文考察了軟件工程的發(fā)展過程,討論了軟件工程的相關(guān)方法和技術(shù),并展望了軟件技術(shù)的發(fā)展趨勢。
關(guān)鍵詞:軟件工程;軟件危機(jī);計(jì)算機(jī)應(yīng)用
1軟件工程的起源
1.1.軟件危機(jī)
隨著互聯(lián)網(wǎng)的不斷發(fā)展,越來越多的領(lǐng)域開始使用計(jì)算機(jī),所需的軟件也越來越復(fù)雜。目前,用傳統(tǒng)方法開發(fā)的軟件已難以滿足當(dāng)前所謂“軟件危機(jī)”的高要求。軟件工程旨在解決這一問題。軟件工程提案將導(dǎo)致工程和合作中的軟件工程。其核心思想是在軟件工程過程中引入管理思想,提前為整個(gè)軟件工程周期制定不同的預(yù)算和進(jìn)度,滿足用戶在軟件工程、開發(fā)、發(fā)布和后續(xù)維護(hù)階段的需求。為了解決各種軟件工程問題,實(shí)現(xiàn)軟件工程的預(yù)期目標(biāo),在軟件工程概念中出現(xiàn)了許多新的方法和計(jì)算機(jī)語言。雖然軟件工程的思想極大地改進(jìn)了軟件工程過程,但軟件的復(fù)雜性、不可預(yù)測性和其他特性是無法改變的。相關(guān)數(shù)據(jù)顯示,在IT行業(yè)高度發(fā)達(dá)的美國,程序員代碼錯(cuò)誤仍然不可避免,而在IT行業(yè)不發(fā)達(dá)的國家,編程代碼錯(cuò)誤的概率更高。
1.2軟件與其他產(chǎn)品之間的差異
與日常生活中的原材料相比,軟件是非常特殊的,因?yàn)檎嬲从耻浖r(jià)值的部分是存儲(chǔ)的代碼以及代碼可以實(shí)現(xiàn)的特定功能。然而,在實(shí)踐中,您只能看到載體,而不能看到內(nèi)部存儲(chǔ)的代碼。在成本方面,一般工業(yè)產(chǎn)品的成本主要是原材料和制造過程中的各種成本,而軟件的成本主要體現(xiàn)在前期策劃和后期軟件維護(hù)中,但軟件制造過程中所需的成本,是次要的,這與一般工業(yè)產(chǎn)品的成本構(gòu)成非常不同。在使用方面,該軟件與一般商品也有很大不同。一般來說,用戶只需購買商品,他們就有權(quán)充分使用商品,所購買的商品將被消費(fèi),直到損壞無法使用為止。但是,用戶在購買本軟件后不能直接完全擁有自己的使用權(quán),本軟件也不會(huì)隨著用戶的使用而偽裝和剽竊。一般工業(yè)產(chǎn)品的制造過程是在車間進(jìn)行的,原材料轉(zhuǎn)化為產(chǎn)品的過程是顯而易見的,但軟件工程過程是抽象的,其開發(fā)不易掌握。軟件工程的思想是為了解決上述軟件工程問題而發(fā)展起來的,即使軟件工程過程是工程化和具體化的。
2軟件工程方法和技術(shù)
2.1技術(shù)觀點(diǎn)
一般來說,技術(shù)方面主要包括軟件工程范式和軟件設(shè)計(jì)方法。軟件開發(fā)特別關(guān)注工程思想,使開發(fā)的軟件盡可能滿足用戶的需求,這是軟件工程范式的重點(diǎn);軟件設(shè)計(jì)方法關(guān)注軟件工程過程和設(shè)計(jì)思想,關(guān)注概念。目前,軟件工程的實(shí)際應(yīng)用主要集中在軟件代碼的重用上。這不僅可以避免軟件工程過程中的無用工作,而且可以在成熟產(chǎn)品的基礎(chǔ)上開發(fā)軟件。因此,我們可以在開發(fā)過程中關(guān)注軟件創(chuàng)新。如果我們用這項(xiàng)技術(shù)來開發(fā)軟件和應(yīng)用系統(tǒng),當(dāng)然可以充分利用現(xiàn)有的開發(fā)服務(wù),消除軟件生命周期中的重復(fù)工作,在一定程度上提高軟件工程效率,,提高所開發(fā)軟件的質(zhì)量,避免不必要的錯(cuò)誤。軟件復(fù)用主要包括軟件構(gòu)件技術(shù)、領(lǐng)域工程、軟件體系結(jié)構(gòu)等。其中,軟件構(gòu)件是指軟件工程中已知的條件,可重用構(gòu)件是指軟件工程中可以重用的獨(dú)立部分。上述組件主要包括活動(dòng)代碼,還包括一些特定的需求、軟件系統(tǒng)結(jié)構(gòu)等,可以稱為可重用軟件組件。軟件復(fù)用的關(guān)鍵在于軟件構(gòu)件,軟件構(gòu)件技術(shù)特別包括如何根據(jù)需求構(gòu)建新的構(gòu)件,如何從現(xiàn)有的軟件系統(tǒng)中提取有用的構(gòu)件,如何理解構(gòu)件之間的內(nèi)在關(guān)系,如何準(zhǔn)確地描述組件以及如何準(zhǔn)確地分類和管理組件。
2.2項(xiàng)目管理視角
在軟件工程過程中,不僅要注重技術(shù)水平,還要注重開發(fā)過程中開發(fā)人員的管理和開發(fā)進(jìn)度,借鑒其他技術(shù)領(lǐng)域的成功管理方法,引入管理理論。將項(xiàng)目管理的思想引入到軟件工程過程中,將不再把軟件工程的重點(diǎn)放在個(gè)人身上,而是更加注重團(tuán)隊(duì)合作。在軟件工程過程中,運(yùn)用管理的概念來管理開發(fā)者和軟件工程,可以提前控制軟件工程的進(jìn)度,確保軟件工程按照預(yù)期的成本、質(zhì)量和用戶需求進(jìn)行。同時(shí),項(xiàng)目管理方法的引入促進(jìn)了開發(fā)商和企業(yè)的長期發(fā)展,降低了開發(fā)風(fēng)險(xiǎn)。
3軟件工程發(fā)展趨勢
3.1全球化趨勢
隨著全球化進(jìn)程的加快,軟件工程行業(yè)的環(huán)境也發(fā)生了變化。用傳統(tǒng)的思維管理軟件工程是很困難的。隨著信息技術(shù)的不斷普及,越來越多的軟件工程不僅在國內(nèi)完成,而且在國外完成,未來的軟件工程將越來越注重全球合作與交流。與此同時(shí),通過軟件的全球合作,軟件外包發(fā)展越來越快。許多從事軟件外包行業(yè)的公司發(fā)展迅速。這些軟件外包公司將軟件工程的設(shè)計(jì)理念、編程部分、測試、軟件更新甚至后期維護(hù)移交給各個(gè)國家,這一過程就是軟件工程的全球協(xié)作過程,這個(gè)過程已經(jīng)成為軟件工程公司的普遍做法。
3.2開放計(jì)算的廣泛應(yīng)用
軟件工程中的開放計(jì)算是軟件工程的新趨勢。軟件工程本身具有很強(qiáng)的開放性,再加上全球合作的不斷深化,這一趨勢將成為未來軟件工程發(fā)展的重點(diǎn)。同時(shí),開放計(jì)算使不同地區(qū)的軟件工程者更方便地共同開發(fā)軟件,更有利于開發(fā)者之間的交流。它還使軟件的后期維護(hù)更容易、更專業(yè),這對(duì)客戶和開發(fā)人員來說是一個(gè)雙贏的結(jié)果。
3.3模塊化設(shè)計(jì)
軟件全球化與合作不僅給軟件工程帶來了機(jī)遇,也給軟件工程的發(fā)展帶來了各種可能的挑戰(zhàn)。軟件公司之間的競爭日趨激烈。正是這種激烈的競爭推動(dòng)了軟件工程朝著調(diào)制的方向不斷發(fā)展。模塊化設(shè)計(jì)的思想是為了解決傳統(tǒng)技術(shù)在實(shí)際應(yīng)用中缺乏靈活性的問題。使用軟件工程中的科學(xué)方法對(duì)已知軟件組件和類似軟件組件進(jìn)行分類和調(diào)整。這提高了軟件工程的效率,提高了企業(yè)的競爭力,對(duì)軟件工程的長期快速發(fā)展具有重要意義。
結(jié)束語:
目前軟件工程的研究內(nèi)容包括軟件工程模型、設(shè)計(jì)方法、工程支持技術(shù)和工程管理技術(shù)。這些部分已經(jīng)發(fā)展得非常成熟,使得軟件工程不僅僅是一個(gè)單一的系統(tǒng),而是一門復(fù)雜的綜合學(xué)科。同時(shí),軟件工程中也存在一些問題。我們應(yīng)該根據(jù)軟件工程的特點(diǎn)、發(fā)展歷史和實(shí)際發(fā)展中的各個(gè)環(huán)節(jié),努力尋找解決這些問題的方法,并特別關(guān)注實(shí)際應(yīng)用中的關(guān)鍵點(diǎn)。
參考文獻(xiàn):
[1] 洪成筍.計(jì)算機(jī)科學(xué)與技術(shù)的發(fā)展趨勢的思考[J].現(xiàn)代信息科技,2017,(1):90.
[2] 王新陽,王奇.論計(jì)算機(jī)科學(xué)與技術(shù)的發(fā)展趨勢[J].電子技術(shù)與軟件工程.