軟件工程5(軟件工程方法)_第1頁
軟件工程5(軟件工程方法)_第2頁
軟件工程5(軟件工程方法)_第3頁
軟件工程5(軟件工程方法)_第4頁
軟件工程5(軟件工程方法)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程軟件工程主講:陳利平主講:陳利平計算機與信息科學學院計算機與信息科學學院20152015 一、主要內容一、主要內容 講述軟件工程方法的基本概念。講述軟件工程方法的基本概念。 二、目的與要求二、目的與要求 了解軟件工程的基本方法,理解軟件工程三了解軟件工程的基本方法,理解軟件工程三個基本要素及面向對象方法的基本概念。個基本要素及面向對象方法的基本概念。 三、重點與難點三、重點與難點 軟件工程的三個基本要素和面向對象方法的軟件工程的三個基本要素和面向對象方法的基本概念?;靖拍?。概述:概述:思考:思考: 提問:提問: 1)1) 軟件工程的三個基本要素是什么?軟件工程的三個基本要素是什么?

2、2) 2) 什么是面向對象?什么是面向對象?2.1 2.1 軟件工程方法概述軟件工程方法概述1 1)概念)概念軟件工程包含軟件工程包含技術技術和和管理管理兩方面的內容,是技兩方面的內容,是技術和管理緊密結合所形成的工程學科。術和管理緊密結合所形成的工程學科。通常將軟件開發(fā)全過程中使用的一整套技術方通常將軟件開發(fā)全過程中使用的一整套技術方法的集合稱為法的集合稱為方法學方法學(methedology)(methedology),也稱為,也稱為范范型型(paradigm)(paradigm)。目前使用最廣泛的軟件工程方法學:目前使用最廣泛的軟件工程方法學:傳統(tǒng)方法傳統(tǒng)方法(結構化方法)(結構化方法)

3、,面向對象方法面向對象方法。2 2)三要素:)三要素: 軟件工程以關注軟件質量軟件工程以關注軟件質量 為目標,包括過程、方法為目標,包括過程、方法 和工具三個要素。和工具三個要素。2 2)三要素:)三要素:軟件工程軟件工程方法方法為軟件開發(fā)提供了為軟件開發(fā)提供了 “ “如何做如何做” ” 的的技術技術; ;軟件軟件工具工具為軟件工程方法提供了自動的或半自為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境動的軟件支撐環(huán)境; ;過程過程是為了獲得高質量的軟件所需要完成的一是為了獲得高質量的軟件所需要完成的一系列任務框架,它規(guī)定了完成各項任務的工作系列任務框架,它規(guī)定了完成各項任務的工作步驟。步驟。3

4、 3)結構化方法)結構化方法 也稱為也稱為生命周期方法學生命周期方法學或或結構化范型結構化范型。將軟件生命。將軟件生命周期的全過程依次劃分為若干個階段,采用結構周期的全過程依次劃分為若干個階段,采用結構化技術來完成每個階段的任務?;夹g來完成每個階段的任務。(1) (1) 是現(xiàn)有的軟件開發(fā)方法中最成熟,應用最廣泛是現(xiàn)有的軟件開發(fā)方法中最成熟,應用最廣泛的方法,主要特點是快速、自然和方便。的方法,主要特點是快速、自然和方便。 (2) (2) 結構化方法總的指導思想自頂向下、逐步求精結構化方法總的指導思想自頂向下、逐步求精。它的基本原則是功能的分解與抽象。它的基本原則是功能的分解與抽象。3 3)結

5、構化方法)結構化方法結構化開發(fā)方法的組成結構化開發(fā)方法的組成 (1) 20(1) 20世紀世紀7070年代初年代初 結構化程序設計方法結構化程序設計方法 (Structured Structured ProgramProgram,SPSP) (2) 20(2) 20世紀世紀7070年代中年代中 結構化設計方法(結構化設計方法(Structured Structured DesignDesign,SDSD) (3) 20(3) 20世紀世紀7070年代末年代末 結構化分析方法結構化分析方法 (Structured Structured AnalysisAnalysis,SASA) SASA,SD

6、SD,SP SP 法相互銜接,形成了一整套開發(fā)方法。法相互銜接,形成了一整套開發(fā)方法。3 3)結構化方法)結構化方法 工作模型工作模型 瀑布模型(瀑布模型(Waterfall ModelWaterfall Model) 瀑布模型是開發(fā)軟件產品的一個行之有效的工程模型瀑布模型是開發(fā)軟件產品的一個行之有效的工程模型。開發(fā)開發(fā)時期時期運行運行時期時期計劃計劃時期時期( (目標與范圍說明書目標與范圍說明書) )( (可行性論證報告可行性論證報告) )( (維護報告維護報告) )( (測試報告測試報告) )( (程序程序) )( (設計文檔設計文檔) )( (需求說明書需求說明書) )4 4)面向對象方

7、法)面向對象方法面向對象方法面向對象方法(OOSD(Object-Oriented (OOSD(Object-Oriented Software Development)Software Development)是是8080年代推出的一年代推出的一種全新的軟件開發(fā)方法。非常實用而強種全新的軟件開發(fā)方法。非常實用而強有力,被譽為有力,被譽為9090年代軟件的核心技術之年代軟件的核心技術之一。一。4 4)面向對象方法)面向對象方法基本思想是基本思想是:對問題領域進行自然的分割:對問題領域進行自然的分割,以更接近人類通常思維的方式建立問題,以更接近人類通常思維的方式建立問題領域的模型,以便對客觀的信

8、息實體進行領域的模型,以便對客觀的信息實體進行結構和行為的模擬,從而使設計的軟件更結構和行為的模擬,從而使設計的軟件更直接地表現(xiàn)問題的求解過程。面向對象的直接地表現(xiàn)問題的求解過程。面向對象的開發(fā)方法以對象作為最基本的元素,是分開發(fā)方法以對象作為最基本的元素,是分析和解決問題的核心。析和解決問題的核心。4 4)面向對象方法)面向對象方法面向對象方法由三部分組成:面向對象方法由三部分組成:(1) OOA(Object-Oriented Analysis)(1) OOA(Object-Oriented Analysis)面向對面向對象的分析象的分析(2) OOD(Object-Oriented De

9、sign)(2) OOD(Object-Oriented Design)面向對象面向對象的設計的設計(3) OOP (Object-Oriented Program)(3) OOP (Object-Oriented Program)面向對面向對象的程序設計象的程序設計4 4)面向對象方法)面向對象方法OOA強調的是對一個系統(tǒng)中的對象特征和行強調的是對一個系統(tǒng)中的對象特征和行為的定義。建立系統(tǒng)的三類模型。為的定義。建立系統(tǒng)的三類模型。OOD與與OOAOOA密切配合順序實現(xiàn)對現(xiàn)實世界的密切配合順序實現(xiàn)對現(xiàn)實世界的進一步建模。進一步建模。OOP是面向對象的技術中發(fā)展最快的,使用是面向對象的技術中發(fā)展

10、最快的,使用面向對象的程序設計語言,進行編碼。面向對象的程序設計語言,進行編碼。4 4)面向對象方法)面向對象方法工作模型工作模型噴泉模型噴泉模型該模型是由該模型是由B.H.SollersB.H.Sollers和和J.M.EdwardsJ.M.Edwards于于19901990年提出年提出的一種新的開發(fā)模型。它的一種新的開發(fā)模型。它克服了瀑布模型不支持軟克服了瀑布模型不支持軟件重用和多項開發(fā)活動集件重用和多項開發(fā)活動集成的局限性,噴泉模型使成的局限性,噴泉模型使開發(fā)過程具有迭代性和無開發(fā)過程具有迭代性和無間隙性。間隙性。 分分 析析系統(tǒng)系統(tǒng) 設計設計軟件軟件 設計設計實實 現(xiàn)現(xiàn)噴泉模型噴泉模型

11、4 4)面向對象方法)面向對象方法面向對象方法概念:面向對象方法概念:(1) (1) 面向對象模型更接近于面向對象模型更接近于問題域問題域以問題域中的對象為基礎建模以問題域中的對象為基礎建模以對象、屬性和操作對問題進行建模以對象、屬性和操作對問題進行建模(2) (2) 反復細化高層模型反復細化高層模型直到可以實現(xiàn)的程度直到可以實現(xiàn)的程度努力避免在開發(fā)過程中出現(xiàn)大的概念跳變努力避免在開發(fā)過程中出現(xiàn)大的概念跳變(3) (3) 將模型組織成對象的集合將模型組織成對象的集合真實世界中的具體事物真實世界中的具體事物 駕駛執(zhí)照、信用卡、飛機等駕駛執(zhí)照、信用卡、飛機等邏輯概念邏輯概念 操作系統(tǒng)中的分時策略、

12、軍事訓練中的沖突操作系統(tǒng)中的分時策略、軍事訓練中的沖突解決規(guī)則等解決規(guī)則等 4 4)面向對象方法)面向對象方法(4) (4) 將所有信息封裝在對象中將所有信息封裝在對象中數(shù)據(jù)表示對象的特征,即對象屬性數(shù)據(jù)表示對象的特征,即對象屬性功能(或行為)表示對象可以做什么,即功能(或行為)表示對象可以做什么,即對象操作對象操作“面向對象方法面向對象方法”是是一種基于對真實世界中的概念進行抽象而一種基于對真實世界中的概念進行抽象而思考問題的方法思考問題的方法4 4)面向對象方法)面向對象方法4) 4) 面向對象方法面向對象方法 “面向對象方法面向對象方法”不是不是使用面向對象編程語言(使用面向對象編程語言

13、(C+, Eiffel, C+, Eiffel, SmalltalkSmalltalk)使用面向對象的符號進行設計使用面向對象的符號進行設計OO is not the answer to all your problems.OO is not the answer to all your problems. 4) 4) 面向對象方法面向對象方法 面向對象的方法的代表性成果有:面向對象的方法的代表性成果有: B.HendersonB.Henderson-sellers -sellers 和和 J.m.EdwardsJ.m.Edwards提出的面向對象提出的面向對象軟件生存期噴泉模型及面向對象的系

14、統(tǒng)開發(fā)方法。軟件生存期噴泉模型及面向對象的系統(tǒng)開發(fā)方法。 G.BoochG.Booch提出的面向對象的開發(fā)方法。提出的面向對象的開發(fā)方法。 P.CoadP.Coad和和E.YourdE.Yourd提出的提出的OOAOOA和和OODOOD法。法。 J. J. RumbaughRumbaugh等人提出的對象建模技術等人提出的對象建模技術(OMT)(OMT)。 Jacobson Jacobson 提出的面向對象的軟件工程提出的面向對象的軟件工程(OOSE)(OOSE)。 G.boochG.booch J.RumboughJ.Rumbough Jacobson Jacobson等人在等人在BoochBooch方法、方法、OMTOMT和和OOSEOOSE的基礎上推出了統(tǒng)一建模語言的基礎上推出了統(tǒng)一建模語言UMLUML。5 5)形式化方法)形式化方法形式化方法是一種基于形式化數(shù)學變換形式化方法是一種基于形式化數(shù)學變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉換為可執(zhí)行的程序。明轉換為可執(zhí)行的程序。該過程的具體描述如圖所示。該過程的具體描述如圖所示。 l形式化方法的主要特點形式化方法的主要特點(1) (1) 軟件需求規(guī)格說明被細化為用數(shù)學記

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論