版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件工程發(fā)展史及發(fā)展趨勢一:軟件工程定義軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效、實用和高質(zhì)量軟件學(xué)科。它包含到程序設(shè)計語言、數(shù)據(jù)庫、軟件開發(fā)工具、系統(tǒng)平臺、標(biāo)準(zhǔn)、設(shè)計模式等方面。在現(xiàn)代社會中,軟件應(yīng)用于多個方面。經(jīng)典軟件有電子郵件、嵌入式系統(tǒng)、人機(jī)界面、辦公套件、操作系統(tǒng)、編譯器、數(shù)據(jù)庫、游戲等。同時,各個行業(yè)幾乎都有計算機(jī)軟件應(yīng)用,如工業(yè)、農(nóng)業(yè)、銀行、航空、政府部門等。這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會發(fā)展,也提升了工作和生活效率二:軟件工程發(fā)展歷史伴隨人類發(fā)展,計算機(jī)作為第三次科技革命關(guān)鍵代表產(chǎn)品,極大推進(jìn)了人類社會發(fā)展。與此同時,軟件作為現(xiàn)代計算機(jī)關(guān)鍵支撐部分,伴伴隨計算機(jī)發(fā)展不停發(fā)展。早在20世紀(jì)50年代,相關(guān)軟件編程語言就已經(jīng)出現(xiàn),不過相關(guān)軟件工程這個概念卻要遠(yuǎn)遠(yuǎn)晚于軟件發(fā)展。據(jù)資料顯示,軟件工程這個概念最早出現(xiàn)在20世紀(jì)60年代末期。在軟件工程發(fā)展半個多世紀(jì)內(nèi),軟件工程所使用程序語言不停發(fā)展,而且有相關(guān)軟件四六七零零四零二二號碼論文寫作工程模型不停發(fā)展,從最早瀑布模型到現(xiàn)在光為人所知云計算,軟件工程幾乎每隔5-就會取得一次突破性發(fā)展,而且相關(guān)軟件語言從最早面向程序結(jié)構(gòu)轉(zhuǎn)向為面向?qū)ο?極大提升了軟件編程效率?,F(xiàn)在,軟件工程經(jīng)過50多年發(fā)展,已經(jīng)深入到社會生活各個層面,能夠說,現(xiàn)代社會生活,幾乎在每一個方面都包含到軟件工程。1.軟件工程開發(fā)過程軟件是由計算機(jī)程序和程序設(shè)計概念發(fā)展演化而來,是在程序和程序設(shè)計發(fā)展到一定規(guī)模而且逐步商品化過程中形成。軟件開發(fā)經(jīng)歷了程序設(shè)計階段、軟件設(shè)計階段和軟件工程階段演變過程。程序設(shè)計階段程序設(shè)計階段出現(xiàn)在1946年~1955年。此階段特點是:尚無軟件概念,程序設(shè)計關(guān)鍵圍繞硬件進(jìn)行開發(fā),規(guī)模很小,工具簡單,無明確分工(開發(fā)者和用戶),程序設(shè)計追求節(jié)省空間和編程技巧,無文檔資料(除程序清單外),關(guān)鍵用于科學(xué)計算。軟件設(shè)計階段軟件設(shè)計階段出現(xiàn)在1956年~1970年。此階段特點是:硬件環(huán)境相對穩(wěn)定,出現(xiàn)了“軟件作坊”開發(fā)組織形式。開始廣泛使用產(chǎn)品軟件(可購置),從而建立了軟件概念。伴隨計算機(jī)技術(shù)發(fā)展和計算機(jī)應(yīng)用日益普及,軟件系統(tǒng)規(guī)模越來越龐大,高級編程語言層出不窮,應(yīng)用領(lǐng)域不停拓寬,開發(fā)者和用戶有了明確分工,社會對軟件需求量劇增。但軟件開發(fā)技術(shù)沒有重大突破,軟件產(chǎn)品質(zhì)量不高,生產(chǎn)效率低下,從而造成了“軟件危機(jī)”產(chǎn)生。軟件工程階段自1970年起,軟件開發(fā)進(jìn)入了軟件工程階段。因為“軟件危機(jī)”產(chǎn)生,迫使大家不得不研究、改變軟件開發(fā)技術(shù)手段和管理方法。以后軟件產(chǎn)生進(jìn)入了軟件工程時代。此階段特定是:硬件已向巨型化、微型化、網(wǎng)絡(luò)化和智能化四個方向發(fā)展,數(shù)據(jù)庫技術(shù)已成熟并廣泛應(yīng)用,第三代、第四代語言出現(xiàn);第一代軟件技術(shù):結(jié)構(gòu)化程序設(shè)計在數(shù)值計算領(lǐng)域取得優(yōu)異成績;第二代軟件技術(shù):軟件測試技術(shù)、方法、原理用于軟件生產(chǎn)過程;第三代軟件技術(shù):處理需求定義技術(shù)用于軟件需求分析和描述。2.軟件工程各個階段面向?qū)ο筌浖こ蹋∣OSE)自從1985年首次提出面向?qū)ο蟾拍钜詠?面向?qū)ο蠹夹g(shù)作為一個全新軟件開發(fā)方法開始在軟件工程領(lǐng)域越來越被廣泛使用。80年代末90年代初,面向?qū)ο筌浖こ谭椒ㄕ宫F(xiàn)百花齊放、百家爭鳴局面。其中,引人注意是Booch、Rumbaugh和Jacobson為代表三種面向?qū)ο蠹夹g(shù)。這三種關(guān)鍵面向?qū)ο蠓椒ǜ饔袃?yōu)缺點,而期望采取面向?qū)ο蠓椒ㄓ脩舨⒉簧钪@些方法優(yōu)缺點及相互之間差異,所以極難依據(jù)應(yīng)用特點選擇適宜建模方法和建模語言。于是,出現(xiàn)了UML。面向?qū)ο蠹夹g(shù)在軟件工程領(lǐng)域全方面應(yīng)用即是面向?qū)ο筌浖こ谭椒āK嫦驅(qū)ο蠓治?OOA)、面向?qū)ο笤O(shè)計(OOD)、面向?qū)ο缶幊?OOP)、面向?qū)ο鬁y試(OOT)和面向?qū)ο筌浖S護(hù)(OOSM)等關(guān)鍵內(nèi)容。面向?qū)ο蠓治龊驮O(shè)計建模技術(shù)是面向?qū)ο筌浖こ谭椒P(guān)鍵組成部分。OOA基礎(chǔ)任務(wù)是針對問題域和系統(tǒng)責(zé)任,利用OO方法,建立一個反應(yīng)問題域OOA模型,不考慮與系統(tǒng)實現(xiàn)相關(guān)原因(包含編程語言、圖形用戶界面、數(shù)據(jù)庫等等),從而使OOA模型獨立于具體實現(xiàn)。OOD基礎(chǔ)任務(wù)是依據(jù)已確立系統(tǒng)對象模型,利用面向?qū)ο蠹夹g(shù),進(jìn)行系統(tǒng)軟件設(shè)計。其中包含兩方面工作:一是把OOA模型直接搬到OOD,做為OOD一個部分;二是針對具體實現(xiàn)中人機(jī)界面、數(shù)據(jù)存放、任務(wù)管理等原因補(bǔ)充部分與實現(xiàn)相關(guān)部分。這些部分與OOA采取相同表示法和模型結(jié)構(gòu)。從OOA到OOD不存在轉(zhuǎn)換,只有很局部修改或調(diào)整,并增加多個與實現(xiàn)相關(guān)獨立部分。OOA與OOD工作是連續(xù)、無縫,許可有一定相交,也許可從OOD返回到OOA。OOP工作就是用同一個面向?qū)ο缶幊陶Z言把OOD模型中每個成份書寫出來。OOT即是對于用OO技術(shù)開發(fā)軟件,在測試過程中繼續(xù)利用OO概念和標(biāo)準(zhǔn),進(jìn)行以對象概念為中心軟件測試。OOSM。面向?qū)ο筌浖こ谭椒楦纳栖浖S護(hù)提供了有效路徑。程序與問題域一致,各個階段表示一致,從而大大降低了了解難度;系統(tǒng)中最輕易改變原因(功效)作為對象服務(wù)封裝在對象內(nèi)部,對象封裝性使一個對象修改對其她影響很小,從而避免了波動效應(yīng)。OOSE可很好描述系統(tǒng)與其用戶之間信息交換機(jī)制,即用于向軟件系統(tǒng)提出需求后,軟件系統(tǒng)完成這項需求過程。OOSE方法遵照瀑布式軟件開發(fā)過程,首先是描述與系統(tǒng)交互相關(guān)用戶視圖,然后建立分析模型,最終結(jié)構(gòu)過程則完成交互設(shè)計、實現(xiàn)和測試。OOSE方法最大特點是面向用例。用例(usecase)代表一些用戶可見功效,實現(xiàn)一個具體用戶目標(biāo)。用例代表一類功效而不是使用該功效某一具體實例。用例是正確描述需求關(guān)鍵工具,貫穿于整個軟件開發(fā)過程,包含對系統(tǒng)測試和驗證過程?;诮M件軟件工程(CBSE)怎樣愈加好地實現(xiàn)軟件重用一直是軟件工程關(guān)鍵研究課題。OO技術(shù)出現(xiàn)是軟件開發(fā)技術(shù)巨大進(jìn)步,但怎樣實現(xiàn)大粒度重用以提升軟件可維護(hù)性和可擴(kuò)展性仍是一個難題,CBSE發(fā)展從根本上處理這一問題:因為COM/DCOM、JavaBeans/EJB等組件標(biāo)準(zhǔn)出現(xiàn),CBSE趨向?qū)嵱谩?990年開始在基于面向?qū)ο蠹夹g(shù)基礎(chǔ)上發(fā)展了組件技術(shù),它豐富了重用手段和方法,逐步成為研究熱點。組件(Component)是可用來組成軟件系統(tǒng)即插即用(plugandplay)軟件成份,是能夠獨立地制造、分發(fā)、銷售、裝配二進(jìn)制軟件單元。CBSE是指用裝配可重用軟件組件方法來結(jié)構(gòu)應(yīng)用程序。它包含了系統(tǒng)分析、結(jié)構(gòu)、維護(hù)和擴(kuò)展各個方面,在這些方面中都是以組件方法為關(guān)鍵。面向服務(wù)軟件工程(SOSE)面對市場需求快速改變,要求企業(yè)系統(tǒng)含有靈敏服務(wù)、快速重構(gòu)、資源重用及自由擴(kuò)充等特點。這么就應(yīng)運而生了面向服務(wù)架構(gòu)(ServiceOrientedArchitecture,SOA)。它定義了組成系統(tǒng)服務(wù),經(jīng)過描述服務(wù)之間交互提供特定功效特征,而且將服務(wù)映射為具體某種實現(xiàn)技術(shù)。SOA關(guān)鍵概念是服務(wù),即把軟件一些功效獨立出來,使之能獨立運行,而且在邏輯關(guān)系上和運行應(yīng)用系統(tǒng)成為一個層次。它接收來自全部授權(quán)對象請求,使得服務(wù)能夠同時為多個應(yīng)用程序提供相同功效,大大增大軟件復(fù)用程度,降低開發(fā)和維護(hù)成本。一個服務(wù)是服務(wù)提供者為實現(xiàn)服務(wù)請求而實施一個工作單元(應(yīng)用程序),是部分良定義操作,也就是說,一個服務(wù)實現(xiàn)了一個應(yīng)用功效,它是一個粗粒度、可發(fā)覺軟件實體,經(jīng)過一組松散耦合和基于消息模型與其它應(yīng)用或服務(wù)交互。三:軟件工程未來發(fā)展趨勢1.需求工程,漸成熱點:專業(yè)化角色,日益復(fù)雜業(yè)務(wù)創(chuàng)新,全球分布團(tuán)體以及互聯(lián)網(wǎng)級交付速度,這些都對需求獲取正確性和有效性提出了更高要求;我估計需求工程研究和實施會成為近期熱點,其中UseCase技術(shù)會被更廣泛而正確應(yīng)用,而相關(guān)工具研發(fā)也會成為熱點(如IBMRationalRequiementsComposer、Ravenflow等)。用例優(yōu)勢在于它天生是黑盒,它用自然語言抽象了用戶和目標(biāo)系統(tǒng)交互,避免了混入分析、設(shè)計和實現(xiàn)細(xì)節(jié),以確保用例能夠被不懂具體技術(shù)業(yè)務(wù)及測試人員所真正了解。2.DSSA和MDD,老樹新花(基于領(lǐng)域構(gòu)架[DSSA]與模型驅(qū)動開發(fā)[MDD]):伴隨軟件應(yīng)用日益普及,軟件已經(jīng)超出了將手動步驟自動化范圍,而開始成為業(yè)務(wù)創(chuàng)新關(guān)鍵推進(jìn)力。所以,引入捕捉特定領(lǐng)域內(nèi)最優(yōu)異需求及其實現(xiàn)架構(gòu)DSSA成為行業(yè)用戶熱點之一。而且,DSSA引入將MDD門檻大大降低了,也使基于DSSAMDD支撐工具成為可能,從而能夠極大地提升開發(fā)效率并確保軟件質(zhì)量(比如,。]elelogicRhapsody就是一個成功基于實時嵌入式系統(tǒng)構(gòu)架MDD工具)。3.迭代/靈敏,漸成標(biāo)準(zhǔn):伴隨軟件交付周期日益加緊,迭代化開發(fā)已經(jīng)成為大多數(shù)軟件開發(fā)團(tuán)體必選項。不過迭代對整個團(tuán)體需求、架構(gòu)、協(xié)同及測試能力都提出了更高要求,現(xiàn)在很多開發(fā)團(tuán)體都在試圖導(dǎo)入迭代化開發(fā)過程中,靈敏能夠是被看成迭代化開發(fā)一個導(dǎo)入方法,只不過靈敏范圍其實比迭代化開發(fā)更大部分。4.連續(xù)集成,蓄勢待發(fā):連續(xù)集成是確保迭代化開發(fā)質(zhì)量關(guān)鍵方法,經(jīng)過連續(xù)集成能夠利用自動化方法來盡可能自動地、盡早確保代碼質(zhì)量。伴隨迭代和靈敏流行,連續(xù)集成相關(guān)工具成為現(xiàn)在市場上新熱點(如連續(xù)集成框架IBMRationalBuildForge,開源軟件CruiseControl,代碼靜態(tài)分析工具KlocworkInsigtlt,IBMRationalSoftwareAnalyzer等)。5.基于實踐過程框架,方興未艾:開發(fā)角色專業(yè)化和分布全球化都要求軟件開發(fā)過程愈加規(guī)范,而靈敏又要求過程必需緊密貼合項目實際需要,所以傳統(tǒng)大一統(tǒng)過程無法符合這一需求。新一代過程將是以實踐為關(guān)鍵,項目能夠經(jīng)過組裝所需不一樣實踐來取得貼近項目要求過程。lJI(IvarJacobsonInternational)EssWork框架和IBMRationalRMC都是新一代基于實踐過程框架。6.配置管理,昨日黃花:伴隨開發(fā)團(tuán)體規(guī)模日益減小,配置管理復(fù)雜性大大降低了,我們注意到越來越多用戶轉(zhuǎn)向使用開源配置管理工具(如Subeverison,JIRA,hosted-proiects等等)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能在人民生活中的創(chuàng)新應(yīng)用案例解析
- 2026年建筑工程師招聘面試題庫全解
- 2026年人才測評與人力資源管理專業(yè)試題
- 2026年醫(yī)師資格考試臨床醫(yī)學(xué)基礎(chǔ)題庫
- 2026年邏輯推理與思維方法測試題集
- 2026年國防安全教育評價指標(biāo)測試題
- 2026年中醫(yī)藥專業(yè)職稱考試中藥學(xué)方向知識點模擬題
- 2026年金融分析師金融風(fēng)險管理知識筆試題目
- 2026年安全管理標(biāo)準(zhǔn)操作考核試題庫
- 2026年物流管理與供應(yīng)鏈優(yōu)化專業(yè)題庫
- 弱電智能化工程施工方案與技術(shù)措施
- 10S505 柔性接口給水管道支墩
- 2024年廣東粵電湛江風(fēng)力發(fā)電限公司社會公開招聘21人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 依庫珠單抗注射液-臨床用藥解讀
- 罷免物業(yè)申請書
- 高血壓的急癥與處理
- 表面粗糙度與檢測(新國標(biāo))課件
- 人工智能在系統(tǒng)集成中的應(yīng)用
- 大九九乘法口訣表(可下載打印)
- 金屬非金屬礦山安全操作規(guī)程
- 壓鑄鋁合金熔煉改善
評論
0/150
提交評論