張毅
摘 要:著網(wǎng)絡(luò)信息化的迅猛發(fā)展,軟件工程技術(shù)是計算機硬件設(shè)備的重要載體。并且作為一門獨立的學(xué)科出現(xiàn)在教育范疇之中。已經(jīng)廣乏應(yīng)用于工作、生活、學(xué)習(xí)的各個領(lǐng)域。從而形成了自身特有的技術(shù)發(fā)展軌跡。本文簡要闡述了當(dāng)前軟件工程技術(shù)的發(fā)展現(xiàn)狀。分析了其面臨的挑戰(zhàn)和問題。并對其今后的發(fā)展方向和前景進行了展望。
關(guān)鍵詞:軟件工程;發(fā)展歷程;未來趨勢;
文章編號:1674-3520(2015)-09-00-01
一、軟件工程概述
為了盡可能消除軟件危機的影響,高效地開發(fā)出高質(zhì)量的軟件系統(tǒng),軟件工程作為一門學(xué)科應(yīng)運而生,它的最終目的是實現(xiàn)軟件的工業(yè)化生產(chǎn)。為了克服軟件缺乏“可見性”的特點,從軟件過程管理、開發(fā)方式、產(chǎn)品構(gòu)成等方面著手,借鑒工業(yè)化生產(chǎn)的成功經(jīng)驗,對軟件產(chǎn)品的生產(chǎn)過程加以嚴格的管理和控制。也就用下式來表示:軟件工程 = 管理 + 技術(shù)。
傳統(tǒng)軟件工程將軟件開發(fā)生命周期劃分為問題定義、可行性分析、需求分析、概要設(shè)計、詳細設(shè)計、編碼、測試、運行維護 8 個階段 ,每一階段都有具體的任務(wù)和交付成果。軟件過程模型指如何具體地組織銜接軟件開發(fā)生命周期的各個階段。常用的有瀑布模型、原型模型、螺旋模型、增量模型和噴泉模型等。
二、軟件工程技術(shù)發(fā)展歷程
軟件工程的從概念的提出到取得長足的進步一共經(jīng)歷了30多年,其中較為重要的進步主要是建立于高級語言基礎(chǔ)上的結(jié)構(gòu)化程序設(shè)計技術(shù)以及相關(guān)的開發(fā)工具、計算機輔助軟件工程成為研究熱點,并開發(fā)了一些對軟件技術(shù)發(fā)展具有深遠影響的軟件工程環(huán)境以及面向?qū)ο蟮母呒壵Z言的編程思路以及編程方法的誕生。從本質(zhì)上而言,軟件屬于客觀事物的范疇,也是對其他實際客觀事物的一種不斷改進,因此客觀世界的不斷變化以及快速發(fā)展決定了軟件工程的誕生以及進一步發(fā)展。軟件的發(fā)展中重要的貢獻就是解決了硬件的異構(gòu)特性,比如可以采用操作系統(tǒng)從客戶的角度屏蔽了計算機硬件之間的差異,目前屏蔽中間件的異構(gòu)性的網(wǎng)絡(luò)服務(wù)技術(shù)也取得了較好的發(fā)展。更為復(fù)雜的異構(gòu)問題都會促使軟件技術(shù)的不斷發(fā)展,應(yīng)用軟件工程的理念進行實際問題的解決主要需要建立合理的模型并采用正確的處理方式,剞劂概念模型以及現(xiàn)實問題之間的映射關(guān)系。
三、軟件以及特征
軟件是在客觀的世界之中,問題的空間以及解空間的相關(guān)描述,它能反映客觀的諸多事物,是諸多的知識的提升提煉以及固話的結(jié)果。怎樣能夠讓軟件的模型有較強的表達能力,能夠符合人類的思維,也就是說將軟件的計算環(huán)境上升到一個較為抽象的層次。在高級的語言產(chǎn)生前,編程的工具就是簡單的機器語言,軟件的基本語言構(gòu)造為指令。高級的語言運用了變量以及標(biāo)識符、表達式等理念來做語言的基礎(chǔ),再應(yīng)用三種基本的控制構(gòu)造表達軟件模型計算的邏輯性,所以,軟件的開發(fā)人員應(yīng)該在更高的抽象層次上來進行程序的設(shè)計。后期就出現(xiàn)了諸多的開發(fā)范型以及結(jié)構(gòu)化的程序設(shè)計的技術(shù),從而實現(xiàn)了模塊化的數(shù)據(jù)以及過程抽象,提升了人們表達的客觀抽象層次。長時間以來,面對對象來設(shè)計程序這種方式的出現(xiàn)并漸漸變得流行。
四、軟件工程的主要研究內(nèi)容
按照目前的基本要求以及規(guī)范,軟件工程是以計算機科學(xué)的基本理論以及相關(guān)技術(shù)為基礎(chǔ),采用工程管理的模式以及方案,對軟件產(chǎn)品進行定義、開發(fā)、維護以及后期的管理。
軟件工程中最為基本的目標(biāo)是實現(xiàn)產(chǎn)品的正確性、可靠性以及合算性。所謂正確性也就是說所設(shè)計的軟件要能夠達到預(yù)先設(shè)定的目標(biāo),完成相應(yīng)的設(shè)計功能;可用性指的是軟件的基本結(jié)構(gòu)以及相關(guān)支撐資料可以滿足用戶的需求;合算性則指的是軟件的成本與性能之間的平衡。因此軟件工程的開發(fā)過程就是一個生產(chǎn)一個最終滿足用戶需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。一般而言主要包含了需求設(shè)計分析、功能實現(xiàn)、客戶確認以及支持等一系列的過程。在軟件工程的開發(fā)設(shè)計中必須遵循以下的四個原則,首先是要能夠采用合理的設(shè)計方法,設(shè)計要體現(xiàn)模塊化的思維,要能夠考慮到軟件的一致性以及集成組裝性等方面的問題;此次要采用合理的開發(fā)風(fēng)格,以此保證軟件開發(fā)的可持續(xù)性,不斷滿足用戶提出的新要求;同時要能夠為軟件開發(fā)提供高質(zhì)量的工程支持,保證按期對客戶提交符合要求的軟件產(chǎn)品;最后就是要能夠保證對于軟件工程的有效管理。
五、軟件技術(shù)的開發(fā)趨向
軟件技術(shù)是 20世紀末技術(shù)進展最快的,給我們呈現(xiàn)了全方位的信息基礎(chǔ)設(shè)備。這個快速延伸的基礎(chǔ)設(shè)施,就逐漸的成為了一個資源多樣化的計算平臺,將人類的生化以及社會信息化、數(shù)字化,成為了人類一切社會活動的必要設(shè)備?,F(xiàn)在要將軟件平臺上的諸多資源整理合并,促成巨型高效,可信統(tǒng)一的虛擬環(huán)境,讓所有的信息以及資源為人類服務(wù)。傳統(tǒng)的軟件是封閉靜態(tài)的平臺,從頂向下逐漸的分解進程,所以傳統(tǒng)的軟件開發(fā)是要有確定的系統(tǒng)范圍,再開始分工處理的對策,在開發(fā)的全部進程之中,是在有效的控制下進行的。但是,在以后的軟件開發(fā)中,要有一個豐富的基礎(chǔ)軟件并資源諸多,可以開放、動態(tài)以及多變的框架,開始由無序到有序的循環(huán)進程,讓動態(tài)的目標(biāo)逐步的穩(wěn)定。軟件構(gòu)件的技術(shù)它是可以支持軟件的實體以開放自主的狀態(tài)存在于各種各樣的節(jié)點上,所有的軟件實體都可以在開放的狀態(tài)下利用某類的方法開始發(fā)布,并采用各種的協(xié)同方法和別的軟件實體開始跨網(wǎng)絡(luò)的互聯(lián)互通以及協(xié)作聯(lián)盟,成為一種不再是信息的提供者,還是各種的服務(wù)功能的提供者。
當(dāng)下我國的軟件開發(fā)飛速的發(fā)展,網(wǎng)絡(luò)環(huán)境開始開放以及動態(tài)性較強,用戶在使用中方法的個性化性質(zhì)的需求,這決定了新的軟件工程,可以感應(yīng)外界的網(wǎng)絡(luò)環(huán)境變化,并且跟著這種變化依據(jù)功能的指標(biāo),性能的指標(biāo)以及可信性的指標(biāo)實行靜態(tài)的調(diào)整以及動態(tài)的演變,使軟件系統(tǒng)具有高的用戶信譽度。將相關(guān)的理論以及技術(shù)結(jié)合,為我國的軟件工程打下堅實的基礎(chǔ),讓我國的軟件行業(yè)能夠有跨越式的飛躍以及核心技術(shù)的提升,為軟件工程的發(fā)展提供科學(xué)可靠的依據(jù)。
參考文獻:
[1]孫永國.軟件工程技術(shù)發(fā)展思索[J].無線互聯(lián)科技,2013(5).
[2]張元鳴,肖剛,徐恭旭,陸佳煒.軟件產(chǎn)品族構(gòu)件演化及其復(fù)雜度評價[J].計算機應(yīng)用,2011(3).
[3]陳校潔 探析當(dāng)前軟件工程技術(shù)發(fā)展的現(xiàn)狀、挑戰(zhàn)與展望[期刊論文]-電腦迷 2014(17)
[4]李娜.LI Na 淺談軟件工程技術(shù)發(fā)展[期刊論文]-軟件 2014(3)