


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、WORD格式軟件工程發(fā)展史及發(fā)展趨勢一:軟件工程定義軟件工程是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學科。它涉及到程序設(shè)計語言、數(shù)據(jù)庫、軟件開發(fā)工具、系統(tǒng)平臺、標準、設(shè)計模式等方面。在現(xiàn)代社會中,軟件應用于多個方面。 典型的軟件有電子郵件、 嵌入式系統(tǒng)、 人機界面、 辦公套件、操作系統(tǒng)、 編譯器、數(shù)據(jù)庫、游戲等。 同時,各個行業(yè)幾乎都有計算機軟件的應用, 如工業(yè)、農(nóng)業(yè)、銀行、航空、政府部門等。這些應用促進了經(jīng)濟和社會的發(fā)展,也提高了工作和生活效率二:軟件工程的發(fā)展歷史隨著人類的發(fā)展, 計算機作為第三次科技革命的主要代表產(chǎn)品,極大的推動了人類社會發(fā)展。與此同時,軟件作為現(xiàn)代
2、計算機的重要支撐部分,伴隨著計算機的發(fā)展不斷發(fā)展。早在 20 世紀 50 年代,有關(guān)軟件的編程語言就已經(jīng)出現(xiàn),但是關(guān)于軟件工程這個概念卻要遠遠晚于軟件發(fā)展。 據(jù)資料顯示, 軟件工程這個概念最早出現(xiàn)在20 世紀 60年代末期。 在軟件工程發(fā)展的半個多世紀內(nèi), 軟件工程所使用的程序語言不斷發(fā)展,而且有關(guān)于軟件四六七零零四零二二號碼論文寫作工程的模型不斷發(fā)展,從最早的瀑布模型到現(xiàn)在光為人所知的云計算,軟件工程幾乎每隔5-10 年就會獲得一次突破性發(fā)展,而且有關(guān)軟件語言從最早的面向程序結(jié)構(gòu)轉(zhuǎn)向為面向?qū)ο?,極大的提升了軟件編程的效率。目前,軟件工程經(jīng)過50 多年的發(fā)展, 已經(jīng)深入到社會生活的各個層面,可
3、以說, 現(xiàn)代社會生活, 幾乎在每一個方面都涉及到軟件工程。 1.軟件工程開發(fā)過程軟件是由計算機程序和程序設(shè)計的概念發(fā)展演化而來的,是在程序和程序設(shè)計發(fā)展到一定規(guī)模并且逐步商品化的過程中形成的。軟件開發(fā)經(jīng)歷了程序設(shè)計階段、軟件設(shè)計階段和軟件工程階段的演變過程。程序設(shè)計階段程序設(shè)計階段出現(xiàn)在1946 年 1955 年。此階段的特點是:尚無軟件的概念,程序設(shè)計主要圍繞硬件進行開發(fā),規(guī)模很小,工具簡單,無明確分工(開發(fā)者和用戶),程序設(shè)計追求節(jié)省空間和編程技巧,無文檔資料(除程序清單外),主要用于科學計算。軟件設(shè)計階段軟件設(shè)計階段出現(xiàn)在1956 年 1970 年。此階段的特點是:硬件環(huán)境相對穩(wěn)定,出現(xiàn)
4、了“軟件作坊”的開發(fā)組織形式。開始廣泛使用產(chǎn)品軟件(可購買),從而建立了軟件的概念。隨著計算機技術(shù)的發(fā)展和計算機應用的日益普及,軟件系統(tǒng)的規(guī)模越來越龐大, 高級編程語言層出不窮,應用領(lǐng)域不斷拓寬,開發(fā)者和用戶有了明確的分工,社會對軟件的需求量劇增。但軟件開發(fā)技術(shù)沒有重大突破,軟件產(chǎn)品的質(zhì)量不高,生產(chǎn)效率低下,從而導致了 “軟件危機”的產(chǎn)生。 軟件工程階段自 1970 年起,軟件開發(fā)進入了軟件工程階段。由于“軟件危機”的產(chǎn)生,迫使人們不得不研究、 改變軟件開發(fā)的技術(shù)手段和管理方法。從此軟件產(chǎn)生進入了軟件工程時代。此階段的特定是:硬件已向巨型化、微型化、網(wǎng)絡(luò)化和智能化四個方向發(fā)展,數(shù)據(jù)庫技術(shù)已成熟
5、并廣泛應用,第三代、第四代語言出現(xiàn);第一代軟件技術(shù):結(jié)構(gòu)化程序設(shè)計在數(shù)值計算領(lǐng)域取得優(yōu)異成績;第二代軟件技術(shù):軟件測試技術(shù)、方法、原理用于軟件生產(chǎn)過程;第三代軟件技術(shù):處理需求定義技術(shù)用于軟件需求分析和描述。2.軟件工程的各個階段專業(yè)資料整理面向?qū)ο蟮能浖こ蹋∣OSE)自從 1985 年首次提出面向?qū)ο蟮母拍钜詠恚嫦驅(qū)ο蠹夹g(shù)作為一種全新的軟件開發(fā)方法開始在軟件工程領(lǐng)域越來越被廣泛使用。80 年代末 90 年代初,面向?qū)ο蟮能浖こ谭椒ǔ尸F(xiàn)百花齊放、百家爭鳴的局面。其中,引人注意的是Booch、 Rumbaugh 和 Jacobson 為代表的三種面向?qū)ο蠹夹g(shù)。這三種主要的面向?qū)ο蠓椒ǜ饔袃?yōu)
6、缺點,而希望采用面向?qū)ο蠓椒ǖ挠脩舨⒉簧钪@些方法的優(yōu)缺點及相互之間的差異,因而很難根據(jù)應用特點選擇合適的建模方法和建模語言。于是,出現(xiàn)了UML。面向?qū)ο蠹夹g(shù)在軟件工程領(lǐng)域的全面應用即是面向?qū)ο蟮能浖こ谭椒ā?它包括面向?qū)ο蟮姆治?OOA)、面向?qū)ο蟮脑O(shè)計 (OOD)、面向?qū)ο蟮木幊?OOP)、面向?qū)ο蟮臏y試(OOT)和面向?qū)ο蟮能浖S護 (OOSM)等主要內(nèi)容。面向?qū)ο蟮姆治龊驮O(shè)計建模技術(shù)是面向?qū)ο筌浖こ谭椒ǖ闹匾M成部分。OOA 的基本任務是針對問題域和系統(tǒng)責任,運用OO 方法,建立一個反映問題域的OOA 模型,不考慮與系統(tǒng)實現(xiàn)有關(guān)的因素(包括編程語言、 圖形用戶界面、 數(shù)據(jù)庫等等 )
7、,從而使 OOA模型獨立于具體實現(xiàn)。OOD 的基本任務是根據(jù)已確立的系統(tǒng)對象模型,運用面向?qū)ο蠹夹g(shù),進行系統(tǒng)軟件設(shè)計。其中包括兩方面的工作:一是把 OOA 模型直接搬到 OOD,做為 OOD 的一個部分; 二是針對具體實現(xiàn)中的人機界面、數(shù)據(jù)存儲、 任務管理等因素補充一些與實現(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 模型中的每個成分書寫出來。
8、OOT即是對于用 OO 技術(shù)開發(fā)的軟件, 在測試過程中繼續(xù)運用OO 的概念和原則, 進行以對象概念為中心的軟件測試。OOSM。面向?qū)ο蟮能浖こ谭椒楦倪M軟件維護提供了有效的途徑。程序與問題域一致,各個階段的表示一致,從而大大降低了理解的難度;系統(tǒng)中最容易變化的因素(功能 )作為對象的服務封裝在對象內(nèi)部,對象的封裝性使一個對象的修改對其他影響很小,從而避免了波動效應。OOSE可較好的描述系統(tǒng)與其用戶之間的信息交換機制,即用于向軟件系統(tǒng)提出需求后,軟件系統(tǒng)完成這項需求的過程。OOSE方法遵循瀑布式的軟件開發(fā)過程,首先是描述與系統(tǒng)交互有關(guān)的用戶視圖,然后建立分析模型,最后的構(gòu)造過程則完成交互設(shè)計、
9、實現(xiàn)和測試。OOSE方法的最大特點是面向用例。用例(use case)代表某些用戶可見的功能,實現(xiàn)一個具體的用戶目標。 用例代表一類功能而不是使用該功能的某一具體實例。用例是精確描述需求的重要工具, 貫穿于整個軟件開發(fā)過程,包括對系統(tǒng)的測試和驗證過程?;诮M件的軟件工程( CBSE)如何更好地實現(xiàn)軟件重用一直是軟件工程的重要研究課題。OO 技術(shù)的出現(xiàn)是軟件開發(fā)技術(shù)的巨大進步,但怎樣實現(xiàn)大粒度的重用以提高軟件的可維護性和可擴展性仍是一個難題,CBSE的發(fā)展從根本上解決這一問題:由于COM/DCOM、 JavaBeans/EJB等組件標準的出現(xiàn),CBSE趨向?qū)嵱谩?1990 年開始在基于面向?qū)ο蠹?/p>
10、術(shù)的基礎(chǔ)上發(fā)展了組件技術(shù),它豐富了重用手段和方法,逐漸成為研究的熱點。組件(Component )是可用來構(gòu)成軟件系統(tǒng)的即插即用(plug and play) 的軟件成分,是可以獨立地制造、分發(fā)、銷售、裝配的二進制軟件單元。CBSE是指用裝配可重用軟件組件的方法來構(gòu)造應用程序。它包含了系統(tǒng)分析、構(gòu)造、維護和擴展的各個方面,在這些方面中都是以組件方法為核心的。面向服務的軟件工程(SOSE)面對市場需求的快速變化,要求企業(yè)系統(tǒng)具有敏捷服務、快速重構(gòu)、 資源重用及自由擴充等特點。這樣就應運而生了面向服務的架構(gòu)(Service Oriented Architecture , SOA)。它定義了構(gòu)成系統(tǒng)
11、的服務, 通過描述服務之間的交互提供特定的功能特性, 并且將服務映射為具體的某種實現(xiàn)技術(shù)。 SOA的核心概念是服務, 即把軟件的某些功能獨立出來, 使之能獨立運行, 并且在邏輯關(guān)系上和運行的應用系統(tǒng)成為一個層次。 它接受來自所有授權(quán)對象的請求,使得服務可以同時為多個應用程序提供相同的功能, 大大增大軟件復用程度, 減少開發(fā)和維護成本。一個服務是服務提供者為實現(xiàn)服務請求而執(zhí)行的一個工作單元 (應用程序 ),是一些良定義的操作, 也就是說, 一個服務實現(xiàn)了一個應用的功能, 它是一個粗粒度的、 可發(fā)現(xiàn)的軟件實體,通過一組松散耦合和基于消息的模型與其它的應用或服務交互。三:軟件工程未來發(fā)展趨勢1.需求
12、工程,漸成熱點:專業(yè)化的角色,日益復雜的業(yè)務創(chuàng)新,全球分布的團隊以及互聯(lián)網(wǎng)級的交付速度, 這些都對需求獲取的正確性和有效性提出了更高的要求;我預計需求工程的研究和實施會成為近期的熱點,其中Use Case 技術(shù)會被更廣泛而正確的應用,而相關(guān)工具的研發(fā)也會成為熱點(如 IBM Rational RequiementsComposer 、Ravenflow 等 )。用例的優(yōu)勢在于它天生是黑盒的,它用自然語言抽象了用戶和目標系統(tǒng)的交互,避免了混入分析、設(shè)計和實現(xiàn)細節(jié), 以保證用例可以被不懂具體技術(shù)的業(yè)務及測試人員所真正理解。2. DSSA和MDD ,老樹新花 (基于領(lǐng)域的構(gòu)架DSSA與模型驅(qū)動的開發(fā)
13、MDD) :隨著軟件應用的日益普及,軟件已經(jīng)超出了將手動流程自動化的范疇,而開始成為業(yè)務創(chuàng)新的主要推動力。因此,引入捕獲特定領(lǐng)域內(nèi)最先進需求及其實現(xiàn)架構(gòu)的 DSSA成為行業(yè)客戶的熱點之一。 而且,DSSA的引入將 MDD 門檻大大降低了, 也使基于 DSSA的 MDD 支撐工具成為可能,從而可以極大地提高開發(fā)效率并保證軟件質(zhì)量 (例如,。elelogic 的 Rhapsody 就是一個成功的基于實時嵌入式系統(tǒng)構(gòu)架的 MDD 工具 )。3.迭代敏捷,漸成標準:隨著軟件交付周期的日益加快,迭代化開發(fā)已經(jīng)成為大多數(shù)軟件開發(fā)團隊的必選項。但是迭代對整個團隊的需求、架構(gòu)、 協(xié)同及測試能力都提出了更高的要
14、求,現(xiàn)在許多開發(fā)團隊都在試圖導入迭代化開發(fā)的過程中, 敏捷可以是被看成迭代化開發(fā)的一種導入方式,只不過敏捷的范圍其實比迭代化開發(fā)更大一些。4.持續(xù)集成,蓄勢待發(fā):持續(xù)集成是保證迭代化開發(fā)質(zhì)量的主要方式,通過持續(xù)集成可以利用自動化的方式來盡量自動地、盡早保證代碼質(zhì)量。隨著迭代和敏捷的流行,持續(xù)集成相關(guān)的工具成為現(xiàn)在市場上的新熱點( 如持續(xù)集成框架IBM Rational BuildForge,開源軟件CruiseControl ,代碼靜態(tài)分析工具Klocwork Insigtlt , IBM Rational Software Analyzer 等 )。5.基于實踐的過程框架,方興未艾:開發(fā)角色
15、的專業(yè)化的和分布的全球化都要求軟件開發(fā)過程更加規(guī)范, 而敏捷又要求過程必須緊密貼合項目的實際需要,因此傳統(tǒng)的大一統(tǒng)的過程無法符合這一需求。新一代的過程將是以實踐為核心的,項目可以通過組裝所需的不同實踐來獲得貼近項目要求的過程。lJI(Ivar Jacobson International) 的 EssWork 框架和 IBMRational的 RMC 都是新一代的基于實踐的過程框架。6.配置管理,昨日黃花:隨著開發(fā)團隊規(guī)模的日益減小,配置管理的復雜性大大降低了,我 們注 意 到 越 來 越 多的 用 戶 轉(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)護工作服采購合同
- 維修保養(yǎng)合同范本:機械設(shè)施
- 高級顧問聘用合同
- 合伙協(xié)議合同簡化版范本
- 酒店投資合作合同范本
- 化學品運輸服務承包合同
- 私人裝修合同協(xié)議書范本
- 企業(yè)設(shè)備抵押融資合同樣本
- 寵物臨時寄養(yǎng)服務合同范本
- 合同簽約盛宴:五十二條經(jīng)典致辭美句鑒賞
- 排洪渠施工施工方法
- 冀教版數(shù)學七年級上下冊知識點總結(jié)
- 2024廣東省深圳市寶安區(qū)中考初三二模英語試題及答案
- 2021年山西省文化旅游投資控股集團公司組織架構(gòu)和部門職能
- 《工程勘察資質(zhì)分級標準和工程設(shè)計資質(zhì)分級標準》
- 駐場人員服務方案
- 《老年日常生活照料》課件-協(xié)助老年人進食進水
- (高清版)DZT 0130.6-2006 地質(zhì)礦產(chǎn)實驗室測試質(zhì)量管理規(guī)范 第6部分:水樣分析
- 消防安全評估消防安全評估方案
- 醫(yī)療行業(yè)的病人隱私保護培訓
- 第1課 精美絕倫的傳統(tǒng)工藝 課件 2023-2024學年贛美版初中美術(shù)八年級下冊
評論
0/150
提交評論