




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程發(fā)展史及發(fā)展趨勢一:軟件工程定義軟件工程是一門研究用工程化方法構建和維護有效、實用和高質量軟件學科。它包含到程序設計語言、數據庫、軟件開發(fā)工具、系統(tǒng)平臺、標準、設計模式等方面。在現代社會中,軟件應用于多個方面。經典軟件有電子郵件、嵌入式系統(tǒng)、人機界面、辦公套件、操作系統(tǒng)、編譯器、數據庫、游戲等。同時,各個行業(yè)幾乎都有計算機軟件應用,如工業(yè)、農業(yè)、銀行、航空、政府部門等。這些應用促進了經濟和社會發(fā)展,也提升了工作和生活效率二:軟件工程發(fā)展歷史伴隨人類發(fā)展,計算機作為第三次科技革命關鍵代表產品,極大推進了人類社會發(fā)展。與此同時,軟件作為現代計算機關鍵支撐部分,伴伴隨計算機發(fā)展不停發(fā)展。早在20世紀50年代,相關軟件編程語言就已經出現,不過相關軟件工程這個概念卻要遠遠晚于軟件發(fā)展。據資料顯示,軟件工程這個概念最早出現在20世紀60年代末期。在軟件工程發(fā)展半個多世紀內,軟件工程所使用程序語言不停發(fā)展,而且有相關軟件四六七零零四零二二號碼論文寫作工程模型不停發(fā)展,從最早瀑布模型到現在光為人所知云計算,軟件工程幾乎每隔5-就會取得一次突破性發(fā)展,而且相關軟件語言從最早面向程序結構轉向為面向對象,極大提升了軟件編程效率。現在,軟件工程經過50多年發(fā)展,已經深入到社會生活各個層面,能夠說,現代社會生活,幾乎在每一個方面都包含到軟件工程。1.軟件工程開發(fā)過程軟件是由計算機程序和程序設計概念發(fā)展演化而來,是在程序和程序設計發(fā)展到一定規(guī)模而且逐步商品化過程中形成。軟件開發(fā)經歷了程序設計階段、軟件設計階段和軟件工程階段演變過程。程序設計階段程序設計階段出現在1946年~1955年。此階段特點是:尚無軟件概念,程序設計關鍵圍繞硬件進行開發(fā),規(guī)模很小,工具簡單,無明確分工(開發(fā)者和用戶),程序設計追求節(jié)省空間和編程技巧,無文檔資料(除程序清單外),關鍵用于科學計算。軟件設計階段軟件設計階段出現在1956年~1970年。此階段特點是:硬件環(huán)境相對穩(wěn)定,出現了“軟件作坊”開發(fā)組織形式。開始廣泛使用產品軟件(可購置),從而建立了軟件概念。伴隨計算機技術發(fā)展和計算機應用日益普及,軟件系統(tǒng)規(guī)模越來越龐大,高級編程語言層出不窮,應用領域不停拓寬,開發(fā)者和用戶有了明確分工,社會對軟件需求量劇增。但軟件開發(fā)技術沒有重大突破,軟件產品質量不高,生產效率低下,從而造成了“軟件危機”產生。軟件工程階段自1970年起,軟件開發(fā)進入了軟件工程階段。因為“軟件危機”產生,迫使大家不得不研究、改變軟件開發(fā)技術手段和管理方法。以后軟件產生進入了軟件工程時代。此階段特定是:硬件已向巨型化、微型化、網絡化和智能化四個方向發(fā)展,數據庫技術已成熟并廣泛應用,第三代、第四代語言出現;第一代軟件技術:結構化程序設計在數值計算領域取得優(yōu)異成績;第二代軟件技術:軟件測試技術、方法、原理用于軟件生產過程;第三代軟件技術:處理需求定義技術用于軟件需求分析和描述。2.軟件工程各個階段面向對象軟件工程(OOSE)自從1985年首次提出面向對象概念以來,面向對象技術作為一個全新軟件開發(fā)方法開始在軟件工程領域越來越被廣泛使用。80年代末90年代初,面向對象軟件工程方法展現百花齊放、百家爭鳴局面。其中,引人注意是Booch、Rumbaugh和Jacobson為代表三種面向對象技術。這三種關鍵面向對象方法各有優(yōu)缺點,而期望采取面向對象方法用戶并不深知這些方法優(yōu)缺點及相互之間差異,所以極難依據應用特點選擇適宜建模方法和建模語言。于是,出現了UML。面向對象技術在軟件工程領域全方面應用即是面向對象軟件工程方法。它包含面向對象分析(OOA)、面向對象設計(OOD)、面向對象編程(OOP)、面向對象測試(OOT)和面向對象軟件維護(OOSM)等關鍵內容。面向對象分析和設計建模技術是面向對象軟件工程方法關鍵組成部分。OOA基礎任務是針對問題域和系統(tǒng)責任,利用OO方法,建立一個反應問題域OOA模型,不考慮與系統(tǒng)實現相關原因(包含編程語言、圖形用戶界面、數據庫等等),從而使OOA模型獨立于具體實現。OOD基礎任務是依據已確立系統(tǒng)對象模型,利用面向對象技術,進行系統(tǒng)軟件設計。其中包含兩方面工作:一是把OOA模型直接搬到OOD,做為OOD一個部分;二是針對具體實現中人機界面、數據存放、任務管理等原因補充部分與實現相關部分。這些部分與OOA采取相同表示法和模型結構。從OOA到OOD不存在轉換,只有很局部修改或調整,并增加多個與實現相關獨立部分。OOA與OOD工作是連續(xù)、無縫,許可有一定相交,也許可從OOD返回到OOA。OOP工作就是用同一個面向對象編程語言把OOD模型中每個成份書寫出來。OOT即是對于用OO技術開發(fā)軟件,在測試過程中繼續(xù)利用OO概念和標準,進行以對象概念為中心軟件測試。OOSM。面向對象軟件工程方法為改善軟件維護提供了有效路徑。程序與問題域一致,各個階段表示一致,從而大大降低了了解難度;系統(tǒng)中最輕易改變原因(功效)作為對象服務封裝在對象內部,對象封裝性使一個對象修改對其她影響很小,從而避免了波動效應。OOSE可很好描述系統(tǒng)與其用戶之間信息交換機制,即用于向軟件系統(tǒng)提出需求后,軟件系統(tǒng)完成這項需求過程。OOSE方法遵照瀑布式軟件開發(fā)過程,首先是描述與系統(tǒng)交互相關用戶視圖,然后建立分析模型,最終結構過程則完成交互設計、實現和測試。OOSE方法最大特點是面向用例。用例(usecase)代表一些用戶可見功效,實現一個具體用戶目標。用例代表一類功效而不是使用該功效某一具體實例。用例是正確描述需求關鍵工具,貫穿于整個軟件開發(fā)過程,包含對系統(tǒng)測試和驗證過程。基于組件軟件工程(CBSE)怎樣愈加好地實現軟件重用一直是軟件工程關鍵研究課題。OO技術出現是軟件開發(fā)技術巨大進步,但怎樣實現大粒度重用以提升軟件可維護性和可擴展性仍是一個難題,CBSE發(fā)展從根本上處理這一問題:因為COM/DCOM、JavaBeans/EJB等組件標準出現,CBSE趨向實用。1990年開始在基于面向對象技術基礎上發(fā)展了組件技術,它豐富了重用手段和方法,逐步成為研究熱點。組件(Component)是可用來組成軟件系統(tǒng)即插即用(plugandplay)軟件成份,是能夠獨立地制造、分發(fā)、銷售、裝配二進制軟件單元。CBSE是指用裝配可重用軟件組件方法來結構應用程序。它包含了系統(tǒng)分析、結構、維護和擴展各個方面,在這些方面中都是以組件方法為關鍵。面向服務軟件工程(SOSE)面對市場需求快速改變,要求企業(yè)系統(tǒng)含有靈敏服務、快速重構、資源重用及自由擴充等特點。這么就應運而生了面向服務架構(ServiceOrientedArchitecture,SOA)。它定義了組成系統(tǒng)服務,經過描述服務之間交互提供特定功效特征,而且將服務映射為具體某種實現技術。SOA關鍵概念是服務,即把軟件一些功效獨立出來,使之能獨立運行,而且在邏輯關系上和運行應用系統(tǒng)成為一個層次。它接收來自全部授權對象請求,使得服務能夠同時為多個應用程序提供相同功效,大大增大軟件復用程度,降低開發(fā)和維護成本。一個服務是服務提供者為實現服務請求而實施一個工作單元(應用程序),是部分良定義操作,也就是說,一個服務實現了一個應用功效,它是一個粗粒度、可發(fā)覺軟件實體,經過一組松散耦合和基于消息模型與其它應用或服務交互。三:軟件工程未來發(fā)展趨勢1.需求工程,漸成熱點:專業(yè)化角色,日益復雜業(yè)務創(chuàng)新,全球分布團體以及互聯網級交付速度,這些都對需求獲取正確性和有效性提出了更高要求;我估計需求工程研究和實施會成為近期熱點,其中UseCase技術會被更廣泛而正確應用,而相關工具研發(fā)也會成為熱點(如IBMRationalRequiementsComposer、Ravenflow等)。用例優(yōu)勢在于它天生是黑盒,它用自然語言抽象了用戶和目標系統(tǒng)交互,避免了混入分析、設計和實現細節(jié),以確保用例能夠被不懂具體技術業(yè)務及測試人員所真正了解。2.DSSA和MDD,老樹新花(基于領域構架[DSSA]與模型驅動開發(fā)[MDD]):伴隨軟件應用日益普及,軟件已經超出了將手動步驟自動化范圍,而開始成為業(yè)務創(chuàng)新關鍵推進力。所以,引入捕捉特定領域內最優(yōu)異需求及其實現架構DSSA成為行業(yè)用戶熱點之一。而且,DSSA引入將MDD門檻大大降低了,也使基于DSSAMDD支撐工具成為可能,從而能夠極大地提升開發(fā)效率并確保軟件質量(比如,。]elelogicRhapsody就是一個成功基于實時嵌入式系統(tǒng)構架MDD工具)。3.迭代/靈敏,漸成標準:伴隨軟件交付周期日益加緊,迭代化開發(fā)已經成為大多數軟件開發(fā)團體必選項。不過迭代對整個團體需求、架構、協(xié)同及測試能力都提出了更高要求,現在很多開發(fā)團體都在試圖導入迭代化開發(fā)過程中,靈敏能夠是被看成迭代化開發(fā)一個導入方法,只不過靈敏范圍其實比迭代化開發(fā)更大部分。4.連續(xù)集成,蓄勢待發(fā):連續(xù)集成是確保迭代化開發(fā)質量關鍵方法,經過連續(xù)集成能夠利用自動化方法來盡可能自動地、盡早確保代碼質量。伴隨迭代和靈敏流行,連續(xù)集成相關工具成為現在市場上新熱點(如連續(xù)集成框架IBMRationalBuildForge,開源軟件CruiseControl,代碼靜態(tài)分析工具KlocworkInsigtlt,IBMRationalSoftwareAnalyzer等)。5.基于實踐過程框架,方興未艾:開發(fā)角色專業(yè)化和分布全球化都要求軟件開發(fā)過程愈加規(guī)范,而靈敏又要求過程必需緊密貼合項目實際需要,所以傳統(tǒng)大一統(tǒng)過程無法符合這一需求。新一代過程將是以實踐為關鍵,項目能夠經過組裝所需不一樣實踐來取得貼近項目要求過程。lJI(IvarJacobsonInternational)EssWork框架和IBMRationalRMC都是新一代基于實踐過程框架。6.配置管理,昨日黃花:伴隨開發(fā)團體規(guī)模日益減小,配置管理復雜性大大降低了,我們注意到越來越多用戶轉向使用開源配置管理工具(如Subeverison,JIRA,hosted-proiects等等)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 回租合同疑問3篇
- 錄像拍攝合作合同
- 醫(yī)療信息匹配合同3篇
- 工程招標代理服務比選案例3篇
- 保安服務合同終止原因3篇
- 工程用水泥購銷合同2篇
- 學生課堂紀律自我保證書3篇
- 礦石處理工藝的管理與維護技術考核試卷
- 旅行期間的緊急情況處理流程優(yōu)化建議考核試卷
- 空氣凈化器行業(yè)政策環(huán)境分析考核試卷
- 2025年重慶市中考物理模擬試卷(一)(含解析)
- 《服務營銷雙主動》課件
- 公司法公章管理制度
- 演出經紀人員資格備考資料2025
- 成都交通投資集團有限公司招聘考試真題2024
- (二模)嘉興市2025年高三教學測試語文試卷(含答案)
- 湖北省宜昌二中2025年高考化學考前最后一卷預測卷含解析
- DZ∕T 0227-2010 地質巖心鉆探規(guī)程(正式版)
- GB/T 23858-2009檢查井蓋
- 山東省危廢處理名錄
- 班組安全安全考核表
評論
0/150
提交評論