軟件工程的發(fā)展碩士論文
軟件工程是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學(xué)科。下面是小編為大家整理的軟件工程的發(fā)展碩士論文,歡迎閱讀。
摘要:軟件工程是一類工程。工程是將理論和知識應(yīng)用于實踐的科學(xué)。就軟件工程而言,它借鑒了傳統(tǒng)工程的原則和方法,以求高效地開發(fā)高質(zhì)量軟件。其中應(yīng)用了計算機科學(xué)、數(shù)學(xué)和管理科學(xué)。本文只要闡述軟件工程的發(fā)展過程及其發(fā)展趨勢。
關(guān)鍵詞:軟件工程;模型;迭代;
1.軟件工程概述
20世紀(jì)六七十年代,計算機硬件技術(shù)有了很大的發(fā)展,為計算機的廣泛應(yīng)用創(chuàng)造了條件,并要求軟件與之相適應(yīng)。當(dāng)時的軟件生產(chǎn)具有個體化、作坊式特點,開發(fā)工具落后,開發(fā)平臺單一,程序設(shè)計語言功能差。尤其是軟件維護工作,耗費大量的人力、物力和計算機資源,許多程序的個體化特性使得它們無法修改和維護。有的干脆廢棄原有系統(tǒng)不用,從頭編寫新軟件。與此同時,軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜,軟件管理和維護困難,開發(fā)費用不斷增加。這種軟件開發(fā)技術(shù)、開發(fā)工具和生產(chǎn)方式落后的狀況與計算機應(yīng)用迅速普及和對軟件的需求日益增加形成了尖銳的矛盾,由此而產(chǎn)生了“軟件危機”。軟件危機的產(chǎn)生使計算機軟件專家認(rèn)識到軟件開發(fā)必須以新的方法作指導(dǎo),原有的軟件開發(fā)方法必須改變,他們決定把工程技術(shù)的思想引入軟件開發(fā)領(lǐng)域,使軟件開發(fā)走上工程學(xué)科的途徑,以擺脫日益嚴(yán)重的軟件危機。于是,美國和西歐的一些科學(xué)家在1968年的NATO(北大西洋公約組織)會議上第一次提出了“軟件工程”這個名詞,是利用工程學(xué)的方法開發(fā)和維護計算機軟件的一門學(xué)科。從此,軟件工程作為-- F~I 學(xué)科正式誕生,人們開始了軟件工程的研究。
2.軟件工程發(fā)展過程中常用模型
軟件的質(zhì)量因素很多,如正確性、可靠性、容錯性、易用性、靈活性、可擴充性、可理解性、可維護性等等。有些因素相互重疊,有些則相抵觸,真要提高質(zhì)量可不容易啊!軟件工程的主要環(huán)節(jié)有:人員管理、項目管理、可行性與需求分析、系統(tǒng)設(shè)計、程序設(shè)計、測試、維護等。
軟件工程模型建議用一定的流程將各個環(huán)節(jié)連接起來,并可用規(guī)范的方式操作全過程,如同工廠的生產(chǎn)線。常見的軟件工程模型有:瀑布模型(線形模型),漸增式模型,螺旋模型,快速原型模型等。
最早出現(xiàn)的軟件工程模型是線性模型(又稱瀑布模型)。線性模型太理想化,太單純,已不再適合現(xiàn)代的軟件開發(fā)模式,幾乎被業(yè)界拋棄。偶而被人提起。都屬于被貶對象.未被留一絲惋惜。但我們應(yīng)該認(rèn)識到,“線性”是人們最容易掌握并能熟練應(yīng)用的思想方法。當(dāng)人們碰到一個復(fù)雜的“非線性”問題時,總是千方百計地將其分解或轉(zhuǎn)化為一系列簡單的線性問題,然后逐個解決。一個軟件系統(tǒng)的整體nf能是復(fù)雜的,而單個子程序總是簡單的,可以用線性的方式來實現(xiàn),否則干活就太累了。線性是一種簡潔,簡潔就是美。當(dāng)我們領(lǐng)會了線性的精神。就不要再呆板地套用線性模型的外表,而應(yīng)該用活它。例如漸增式模型實質(zhì)就是分段的線性模型,如圖3所示。螺旋模型則是接連的彎曲了的線性模型。在其它模型中都能夠找到線性模型的影子。 畢業(yè)
3.軟件工程的發(fā)展變化
國外很多項目的開發(fā)都是基于一些圖形化的東西來做的,他們的日的是盡量少寫代碼甚至不寫代碼。代碼能夠通過圖形化的方式自動生成,這樣的一個好處就是如果用戶的需求變化或者業(yè)務(wù)邏輯發(fā)生變化,我們需要做的就是對圖形表示的調(diào)整。然后重新自動生成代碼,這也就是國外開發(fā)很注重對項目的概念和邏輯分析的原因。
他們的重點是把業(yè)務(wù)規(guī)則和需求用圖形化的方式表現(xiàn)出來,然后通過CASE工具自動生成代碼。所以當(dāng)國人還在不停的開發(fā)一個又一個的MIS工具的時候,國外已經(jīng)把很多精力放到了CASE工具的制作上。
社會進步的一個很明顯的現(xiàn)象就是社會分工越來越細(xì),軟件的開發(fā)也不例外。為什么在軟件開發(fā)的今天已經(jīng)不能出現(xiàn)象裘伯君這樣的軟件英雄的原因也在這里,單憑個人之力,我們也許窮盡有生之年也開發(fā)不出象Windows這樣的操作系統(tǒng)。因為。當(dāng)前軟件行業(yè)的壁壘無非就是兩個,一個就是以技術(shù)創(chuàng)新取勝,你模仿的了其中的界面,但是你沒有辦法實現(xiàn)其中的核心功能。結(jié)果是你只能購買其技術(shù)核心,而你作一些邊角工作。不舉別的例子,比如VB這樣的開發(fā)工具,其核心部分是它和第三方提供的COM控件或者是DLL函數(shù)庫,你所做的就是一個整合的工作。
4.軟件工程發(fā)展的趨勢
由于計算能力向服務(wù)器端的快速集中,提供高并行計算能力和可用性的中間件技術(shù)被廣泛采用,甚至已經(jīng)成為構(gòu)建大型軟件系統(tǒng)的必選項;軟件工程會如何發(fā)展呢?我覺得在未來幾年我們會看到如下的趨勢:
迭代、敏捷,漸成標(biāo)準(zhǔn):隨著軟件交付周期的日益加快,迭代化開發(fā)已經(jīng)成為大多數(shù)軟件開發(fā)團隊的必選項。但是迭代對整個團隊的需求、架構(gòu)、協(xié)同及測試能力都提出了更高的要求,現(xiàn)在許多開發(fā)團隊都在試圖導(dǎo)入迭代化開發(fā)的過程中,敏捷可是被看成迭代化開發(fā)的一種導(dǎo)入方式。這不過敏捷的范圍其實比迭代化開發(fā)更大一些。
持續(xù)集成,蓄勢待發(fā):持續(xù)集成是保證迭代化開發(fā)質(zhì)量的主要方式,通過持續(xù)集成可以利用自動化的方式來盡量自動地、盡早保證代碼質(zhì)量。隨著迭代和敏捷的流行,持續(xù)集成相關(guān)的工具成為現(xiàn)在市場上的新熱點(如持續(xù)集成框架IBM RationalBuitdForge,開源軟件CruiseControl,代碼靜態(tài)分析工具Klocworklnsight,IBM Rational Software Analyzer等)。
持續(xù)集成是一個復(fù)雜的系統(tǒng)工程,組織需要首先將現(xiàn)有的配置管理/變更管理工具與Build環(huán)境緊密集成并完成自動化Build過程,在根據(jù)企業(yè)/項目/產(chǎn)品的現(xiàn)狀,定義如何自動化地檢測軟件質(zhì)量(代碼靜態(tài)分析、單元測試或冒煙測試),并定義需要自動化生成的管理報表。
需求工程,漸成熱點:專業(yè)化的角色,日益復(fù)雜的業(yè)務(wù)創(chuàng)新,全球分布的團隊以及互聯(lián)網(wǎng)級的交付速度,這些都對需求獲取的正確性和有效性提出了更高的要求;同時,需求分析員又可以方便地通過用例分析(use case analysis)將需求體系精華成分析模型。在這一過程中,需求分析員可以更進一步地完善基于用例的需求體系,而不必?fù)?dān)心分析模型會污染需求,從而實現(xiàn)需求與分析的分離及有效互動。
參考文獻:
[1]史濟民等.軟件工程.高等教育出版社,2002.
[2]張海藩.軟件工程導(dǎo)論.清華大學(xué)出版社.
[3]馬承志.PowerBuilder 8.0編程實例與技巧,機械工業(yè)出版社
[4]崔杜武,PowerBuilder 8.0從基礎(chǔ)到應(yīng)用.人民郵電出版社. 畢
【軟件工程的發(fā)展碩士論文】相關(guān)文章:
軟件工程碩士論文提綱02-26
軟件工程碩士論文要求11-28
軟件工程碩士論文模板03-12
本科軟件工程碩士論文03-15
軟件工程碩士論文提綱范例03-29
軟件工程碩士論文答辯11-18
最新軟件工程碩士論文提綱格式03-19
關(guān)于軟件工程碩士論文答辯流程03-11
軟件工程碩士論文ISOS新型測報軟件的應(yīng)用03-25
- 相關(guān)推薦