




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程軟件工程王濤王濤華東交通大學軟件學院華東交通大學軟件學院E-mial: 2 2軟件工程教材 江西高校出版社 如何理解“軟件工程”? 軟件工程 (Software Engineering,簡稱SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。3 3軟件工程教材 江西高校出版社 軟件工程采用系統工程學和管理學相結合的原理、方法和技術來指導、管理和實施軟件的各種活動,包括軟件開發、運行、維護和服務等。思想基礎 傳統工業,如道路橋梁工程、民用建筑工程和化學工程等4 4軟件工程教材 江西高校出版社“軟件工程” 有代表性的定義:軟件工程是一種工程形式,它運用計算機科學和數學
2、原理,針對軟件問題獲得一種經濟有效的解決方案。用系統的、規范的、可度量的方法,開發、運行和維護軟件。5 5軟件工程教材 江西高校出版社 軟件工程的基本目標高質量高生產力1.滿足客戶需求2.獲得最好收益6 6軟件工程教材 江西高校出版社 20世紀六七十年代,計算機硬件技術有了很大的發展,為計算機的廣泛應用創造了條件,并要求軟件與之相適應。 然而當時的軟件開發與維護技術無法滿足日益增長的軟件產品需求!表現如下:1.開發工具落后2.程序設計語言功能差3.軟件可維護性差7 7軟件工程教材 江西高校出版社“軟件危機”1968年的NATO(北大西洋公約組織)會議需要將工程技術的思想引入軟件開發領域。會議上
3、第一次提出了“軟件工程”這個名詞。8 8軟件工程教材 江西高校出版社1.軟件工程的成型與發展歷程 軟件工程的初步成型首先是從軟件工程過程開始的。為獲得高質量的軟件產品,軟件工程過程必須科學、合理。這就涉及到軟件生命周期的描述采用何種模型的問題。螺旋模型漸增模型噴泉模型快速應用開發模型快速原型模型瀑布模型智能模型9 9軟件工程教材 江西高校出版社 軟件生命周期 軟件生命周期方法學把軟件開發和維護分成軟件定義、軟件開發和軟件維護三個時期,每個時期又分成若干個階段。1010軟件工程教材 江西高校出版社(1) 軟件定義時期:確定軟件開發必須完成的任務;論證軟件的可行性;確定用戶需求的詳細功能和性能。這
4、個時期可以劃分為三個階段:問題定義、可行性研究和需求分析。(2) 軟件開發時期:設計和實現軟件的定義。軟件開發時期包 括四個階段:總體設計、詳細設計、編碼及單元測試、綜 合測試。(3) 軟件維護時期:軟件維護是對投入使用的軟件的修改,實 際上是對軟件的一次重新定義和開發過程。 1111軟件工程教材 江西高校出版社1212軟件工程教材 江西高校出版社1313軟件工程教材 江西高校出版社 面向過程(Procedure-oriented,簡稱PO) 面向對象(Object-oriented,簡稱OO) 統一建模語言(Unified Modeling Language ,UML)1414軟件工程教材
5、江西高校出版社 基于凈室技術、敏捷技術、重構技術、人工智能技術 互聯網和圖像化接口技術 基于面向對象基礎的構件技術 計算機輔助軟件工程(Computer Aided Software Engineering,簡稱CASE)1515軟件工程教材 江西高校出版社 21世紀軟件發展的趨勢中間件技術、對等計算、語義網、自治計算隨需即取等1616軟件工程教材 江西高校出版社2.軟件工程學科的基本確立1983年,IEEE給軟件工程下了定義,即“軟件工程是開發、運行、維護和修復軟件的系統方法”。BWBoelim提出關于軟件工程的7條基本原理:用分階段的生命周期計劃嚴格管理用分階段的生命周期計劃嚴格管理堅持進
6、行階段評審堅持進行階段評審實行嚴格的產品控制實行嚴格的產品控制采用現代程序設計技術采用現代程序設計技術結果應能清楚地審查結果應能清楚地審查開發小組的人員應該少而精開發小組的人員應該少而精承認不斷改進的軟件工程實踐的必要性承認不斷改進的軟件工程實踐的必要性1717軟件工程教材 江西高校出版社 原則、方法與技術軟件工程在軟件開發、管理、維護中所作的研究 軟件工程學就是研究“如何借助科學的理論和現代工程技術來指導軟件的開發,從而達到用較少的投資獲得高質量的、可靠的軟件的目的” 。1818軟件工程教材 江西高校出版社程序設計時期軟件時期軟件工程時期后軟件工程時期軟件工程學4個發展時期我們現在處于該時期
7、!1919軟件工程教材 江西高校出版社3. 軟件工程管理的規范化和標準化 軟件工程管理,就是從工程學角度出發,對軟件工程的項目范圍、項目周期、產品質量、知識資源、人力資源和項目成本等六大要素進行管理,克服軟件危機,規避軟件風險,提高軟件開發效益和質量,降低軟件開發成本。 方法與技術 工具與環境 標準與規范 組織與管理完整意義上的軟件工程2020軟件工程教材 江西高校出版社4.啟示與總結縱觀軟件工程的發展歷史,我們可以得到以下啟示:(1) 研究工程理論和實踐需要有系統科學的思想(2) 軟件工程管理任重道遠(3) 軟件工程的新技術新方法將不斷涌現2121軟件工程教材 江西高校出版社 軟件開發技術,
8、它包括軟件生存期模型、軟件開發方法、軟件開發工具和環境以及軟件管理技術。2222軟件工程教材 江西高校出版社 軟件生存期模型(也稱軟件生命周期模型)是描述軟件開發過程中各種活動如何執行的模型。 目前典型的軟件開發模型有: 瀑布模型、增量模型、螺旋模型、噴泉模型和變換模型等。 不同的開發方法有不同的軟件過程模型。2323軟件工程教材 江西高校出版社瀑布模型2424軟件工程教材 江西高校出版社瀑布模型的優點瀑布模型的優點 它提供了一個模版,模版使得分析、設計、編碼、測試和維護的方法可以在該模版下有一個共同的指導。 雖然有不少缺陷,但比在軟件開發中隨意的狀態要好得多。2525軟件工程教材 江西高校出
9、版社瀑布模型的缺點瀑布模型的缺點 實際的項目大部分情況難以按照該模型給出的順序進行,而且這種模型的迭代是間接的,這很容易有微小的變化而造成大的混亂。 經常情況下用戶難以表達真正的需求,而這種模式卻要求如此,這種模型是不歡迎具有二義性問題存在的。2626軟件工程教材 江西高校出版社瀑布模型的缺點瀑布模型的缺點 用戶要等到開發周期的晚期才能看到程序運行的測試版本,而在這時若發現大的錯誤,可能引起用戶的驚慌,而后果也可能是災難性的。 采用這種線性模型,經常在過程的開始和結束時,要等待其他成員完成后,才能進行下去,有可能花在等待的時間比開發的時間有長。我們稱之為“堵塞狀態”。2727軟件工程教材 江西
10、高校出版社快速原型模型2828軟件工程教材 江西高校出版社增量模型2929軟件工程教材 江西高校出版社增量模型的優點增量模型的優點 人員分配靈活,剛開始不用投入大量人力資源,當核心產品很受歡迎時,可增加人力實現下一個增量 先發布部分功能給用戶,對用戶起到鎮靜劑的作。 具有一定的市場。3030軟件工程教材 江西高校出版社螺旋模型3131軟件工程教材 江西高校出版社螺旋模型的優點螺旋模型的優點 對于大型系統及軟件的開發,這種模型是一個很好的方法。開發者和客戶能夠較好地對待和理解每一個演化級別上的風險。螺旋模型的缺點螺旋模型的缺點 需要相當的風險分析評估的技術,且成功就依賴于這種技術。 顯然,若存在
11、一個沒有被發現的大風險,將會出現問題,甚至可能導致演化過程失去控制。3232軟件工程教材 江西高校出版社噴泉模型優點:噴泉模型不像瀑布模型那樣,需要分析活動結束后才開始設計活動,設計活動結束后才開始編碼活動。該模型的各個階段沒有明顯的界限,開發人員可以同步進行開發。其優點是可以提高軟件項目開發效率,節省開發時間,適應于面向對象的軟件開發過程。3333軟件工程教材 江西高校出版社噴泉模型的缺點噴泉模型的缺點 由于噴泉模型在各個開發階段是重疊的,因此在開發過程中需要大量的開發人員,因此不利于項目的管理。此外這種模型要求嚴格管理文檔,使得審核的難度加大,尤其是面對可能隨時加入各種信息、需求與資料的情
12、況。3434軟件工程教材 江西高校出版社變換模型3535軟件工程教材 江西高校出版社變換模型的優點變換模型的優點 形式化規約可直接作為程序驗證的基礎,可以盡早地發現和糾正錯誤( 包括那些在其他情況下不能發現的錯誤)。 開發出來的軟件具有很高的安全性和健壯性,特別適合安全部門或者軟件錯誤會造成經濟損失的開發項目。3636軟件工程教材 江西高校出版社變換模型的缺點變換模型的缺點 開發費用高,而且需要的時間長。 不能將該模型作為對客戶通信的機制,因為客戶對這些數學語言一無所知。 具有開發無缺陷軟件的承諾3737軟件工程教材 江西高校出版社軟件開發方法主要包括:面向過程的開發方法面向對象的開發方法基于
13、構件的開發方法3838軟件工程教材 江西高校出版社傳統的軟件開發方法:結構化開發方法(Structured Developing) 、Jackson方法、原型化方法(Prototyping Method)、HIPO法等。3939軟件工程教材 江西高校出版社面向對象的軟件開發方法OOS D(Object-Oriented Software Development)基于構件的開發(Component-Based Development,簡稱CBD)或基于構件的軟件工程(Component-Based Software Engineering,簡稱CBSE)4040軟件工程教材 江西高校出版社 基于
14、構件的開發(Component-Based Development,簡稱CBD)是在一定構件模型的支持下,復用構件庫中的一個或多個軟件構件,通過組合手段高效率、高質量地構造應用軟件系統的過程。已經成為現今軟件復用實踐的研究熱點,被認為是最具潛力的軟件工程發展方向之一。4141軟件工程教材 江西高校出版社 接口和契約構件 CBD開發模式構件技術和對象技術的關系構件框架基于構件開發的相關概念:4242軟件工程教材 江西高校出版社1.構件軟件構件是一個僅帶特定契約接口和顯式語境依賴的結構單元,軟件構件可以獨立部署,易于第三方整合。2.接口和契約接口(Interface)是用戶與構件發生交互的連接渠道
15、,第三方只能通過構件接口的規格說明理解和復用構件,接口規格說明也是一種“契約”(Contract),它足夠精確地描述構件實現的功能,同時又不把構件限定于唯一的實現方法,4343軟件工程教材 江西高校出版社3.構件框架構件框架(Framework)是構件實例“即插即用”的支撐結構。通過一定的環境條件和交互規則,構件框架允許一組構件形成一個“孤島”,獨立地與外部構件或其他框架交互和協作,因此構件框架及其內含的構件也可以視為一個構件。4444軟件工程教材 江西高校出版社4. CBD開發模式創建檢索和評價適配(adaptation)組裝測試和驗證配置和部署維護和演進不同于傳統的軟件生命周期開發方法45
16、45軟件工程教材 江西高校出版社5. 構件技術和對象技術的關系構件技術與面向對象技術緊密相關。構件和對象都是對現實世界的抽象描述,通過接口封裝了可復用的代碼實現。然而兩者在以下三方面不同:概念層面復用策略技術手段4646軟件工程教材 江西高校出版社 當今,構件技術已經成為計算環境的基本組成之一,眾多中間件產品和開發工具提供了對不同構件模型的實現支持,然而有關CBD開發方法學,至今仍有一些問題尚未解決!4747軟件工程教材 江西高校出版社 軟件開發環境(Software Development Environment,SDE)一般以對象庫為基礎來組織環境,支持封裝性、實例化、類屬和繼承,達到了較
17、高的集成度和開放性的統一。4848軟件工程教材 江西高校出版社 人機界面 軟件工具算法語言如C、C#、C+和Java等4949軟件工程教材 江西高校出版社軟件開發環境可按以下幾種角度分類:1. 按軟件開發模型及開發方法分類,有支持瀑布模型、演化模型、螺旋模型、噴泉模型以及結構化方法、信息模型方法、面向對象方法等不同模型及方法的軟件開發環境。5050軟件工程教材 江西高校出版社2. 按功能及結構特點分類,有單體型、協同型、分散型和并發型等多種類型的軟件開發環境。3. 按應用范圍分類,有通用型和專用型軟件開發環境。其中專用型軟件開發環境與應用領域有關,故又軟件開發方法(Software Development Method)是指軟件開發過程所遵循的辦法和步驟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省稽陽聯誼學校2025年4月高三聯考數學試卷(含答案)
- 《人生的意義在于奉獻》課件
- 《演講的藝術》課件
- 受彎構件的其他構造要求鋼筋混凝土結構課件
- 短期合同續簽建議
- 鐵路班組管理S班組凝聚力訓練課件
- 討論照明電路能否采用三相三線制供電方式不加零線會不會出現問
- 網格橋架安裝施工方案
- 鐵路客運站車無線交互系統客運管理部分課件
- 大學生職業規劃大賽《視覺傳達設計專業》生涯發展展示
- 任務三家庭清掃有工序(教學課件)二年級下冊勞動技術(人美版)
- 電商訂單處理流程優化計劃
- 建筑工程檢測行業市場現狀分析及未來三到五年發展趨勢報告
- 高爐水渣基礎知識
- 腫瘤標志物的試題及答案
- 煙草行業網絡安全體系建設
- 2025年中考地理二輪復習:中考地理常見易混易錯知識點與練習題(含答案)
- 硫酸使用安全培訓
- 政務服務窗口培訓課件
- 2025年湖南湘潭高新集團有限公司招聘筆試參考題庫含答案解析
- 2024年02月福建2024年興業銀行福州分行金融科技人才招考筆試歷年參考題庫附帶答案詳解
評論
0/150
提交評論