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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件工程軟件工程主講:陳利平主講:陳利平計(jì)算機(jī)與信息科學(xué)學(xué)院計(jì)算機(jī)與信息科學(xué)學(xué)院20152015 一、主要內(nèi)容一、主要內(nèi)容 講述軟件工程方法的基本概念。講述軟件工程方法的基本概念。 二、目的與要求二、目的與要求 了解軟件工程的基本方法,理解軟件工程三了解軟件工程的基本方法,理解軟件工程三個(gè)基本要素及面向?qū)ο蠓椒ǖ幕靖拍?。個(gè)基本要素及面向?qū)ο蠓椒ǖ幕靖拍睢?三、重點(diǎn)與難點(diǎn)三、重點(diǎn)與難點(diǎn) 軟件工程的三個(gè)基本要素和面向?qū)ο蠓椒ǖ能浖こ痰娜齻€(gè)基本要素和面向?qū)ο蠓椒ǖ幕靖拍?。基本概念。概述:概述:思考:思考?提問(wèn):提問(wèn): 1)1) 軟件工程的三個(gè)基本要素是什么?軟件工程的三個(gè)基本要素是什么?

2、2) 2) 什么是面向?qū)ο螅渴裁词敲嫦驅(qū)ο螅?.1 2.1 軟件工程方法概述軟件工程方法概述1 1)概念)概念軟件工程包含軟件工程包含技術(shù)技術(shù)和和管理管理兩方面的內(nèi)容,是技兩方面的內(nèi)容,是技術(shù)和管理緊密結(jié)合所形成的工程學(xué)科。術(shù)和管理緊密結(jié)合所形成的工程學(xué)科。通常將軟件開(kāi)發(fā)全過(guò)程中使用的一整套技術(shù)方通常將軟件開(kāi)發(fā)全過(guò)程中使用的一整套技術(shù)方法的集合稱(chēng)為法的集合稱(chēng)為方法學(xué)方法學(xué)(methedology)(methedology),也稱(chēng)為,也稱(chēng)為范范型型(paradigm)(paradigm)。目前使用最廣泛的軟件工程方法學(xué):目前使用最廣泛的軟件工程方法學(xué):傳統(tǒng)方法傳統(tǒng)方法(結(jié)構(gòu)化方法)(結(jié)構(gòu)化方法)

3、,面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ā? 2)三要素:)三要素: 軟件工程以關(guān)注軟件質(zhì)量軟件工程以關(guān)注軟件質(zhì)量 為目標(biāo),包括過(guò)程、方法為目標(biāo),包括過(guò)程、方法 和工具三個(gè)要素。和工具三個(gè)要素。2 2)三要素:)三要素:軟件工程軟件工程方法方法為軟件開(kāi)發(fā)提供了為軟件開(kāi)發(fā)提供了 “ “如何做如何做” ” 的的技術(shù)技術(shù); ;軟件軟件工具工具為軟件工程方法提供了自動(dòng)的或半自為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境動(dòng)的軟件支撐環(huán)境; ;過(guò)程過(guò)程是為了獲得高質(zhì)量的軟件所需要完成的一是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作系列任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。步驟。3

4、 3)結(jié)構(gòu)化方法)結(jié)構(gòu)化方法 也稱(chēng)為也稱(chēng)為生命周期方法學(xué)生命周期方法學(xué)或或結(jié)構(gòu)化范型結(jié)構(gòu)化范型。將軟件生命。將軟件生命周期的全過(guò)程依次劃分為若干個(gè)階段,采用結(jié)構(gòu)周期的全過(guò)程依次劃分為若干個(gè)階段,采用結(jié)構(gòu)化技術(shù)來(lái)完成每個(gè)階段的任務(wù)。化技術(shù)來(lái)完成每個(gè)階段的任務(wù)。(1) (1) 是現(xiàn)有的軟件開(kāi)發(fā)方法中最成熟,應(yīng)用最廣泛是現(xiàn)有的軟件開(kāi)發(fā)方法中最成熟,應(yīng)用最廣泛的方法,主要特點(diǎn)是快速、自然和方便。的方法,主要特點(diǎn)是快速、自然和方便。 (2) (2) 結(jié)構(gòu)化方法總的指導(dǎo)思想自頂向下、逐步求精結(jié)構(gòu)化方法總的指導(dǎo)思想自頂向下、逐步求精。它的基本原則是功能的分解與抽象。它的基本原則是功能的分解與抽象。3 3)結(jié)

5、構(gòu)化方法)結(jié)構(gòu)化方法結(jié)構(gòu)化開(kāi)發(fā)方法的組成結(jié)構(gòu)化開(kāi)發(fā)方法的組成 (1) 20(1) 20世紀(jì)世紀(jì)7070年代初年代初 結(jié)構(gòu)化程序設(shè)計(jì)方法結(jié)構(gòu)化程序設(shè)計(jì)方法 (Structured Structured ProgramProgram,SPSP) (2) 20(2) 20世紀(jì)世紀(jì)7070年代中年代中 結(jié)構(gòu)化設(shè)計(jì)方法(結(jié)構(gòu)化設(shè)計(jì)方法(Structured Structured DesignDesign,SDSD) (3) 20(3) 20世紀(jì)世紀(jì)7070年代末年代末 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法 (Structured Structured AnalysisAnalysis,SASA) SASA,SD

6、SD,SP SP 法相互銜接,形成了一整套開(kāi)發(fā)方法。法相互銜接,形成了一整套開(kāi)發(fā)方法。3 3)結(jié)構(gòu)化方法)結(jié)構(gòu)化方法 工作模型工作模型 瀑布模型(瀑布模型(Waterfall ModelWaterfall Model) 瀑布模型是開(kāi)發(fā)軟件產(chǎn)品的一個(gè)行之有效的工程模型瀑布模型是開(kāi)發(fā)軟件產(chǎn)品的一個(gè)行之有效的工程模型。開(kāi)發(fā)開(kāi)發(fā)時(shí)期時(shí)期運(yùn)行運(yùn)行時(shí)期時(shí)期計(jì)劃計(jì)劃時(shí)期時(shí)期( (目標(biāo)與范圍說(shuō)明書(shū)目標(biāo)與范圍說(shuō)明書(shū)) )( (可行性論證報(bào)告可行性論證報(bào)告) )( (維護(hù)報(bào)告維護(hù)報(bào)告) )( (測(cè)試報(bào)告測(cè)試報(bào)告) )( (程序程序) )( (設(shè)計(jì)文檔設(shè)計(jì)文檔) )( (需求說(shuō)明書(shū)需求說(shuō)明書(shū)) )4 4)面向?qū)ο蠓?/p>

7、法)面向?qū)ο蠓椒嫦驅(qū)ο蠓椒嫦驅(qū)ο蠓椒?OOSD(Object-Oriented (OOSD(Object-Oriented Software Development)Software Development)是是8080年代推出的一年代推出的一種全新的軟件開(kāi)發(fā)方法。非常實(shí)用而強(qiáng)種全新的軟件開(kāi)發(fā)方法。非常實(shí)用而強(qiáng)有力,被譽(yù)為有力,被譽(yù)為9090年代軟件的核心技術(shù)之年代軟件的核心技術(shù)之一。一。4 4)面向?qū)ο蠓椒ǎ┟嫦驅(qū)ο蠓椒ɑ舅枷胧腔舅枷胧牵簩?duì)問(wèn)題領(lǐng)域進(jìn)行自然的分割:對(duì)問(wèn)題領(lǐng)域進(jìn)行自然的分割,以更接近人類(lèi)通常思維的方式建立問(wèn)題,以更接近人類(lèi)通常思維的方式建立問(wèn)題領(lǐng)域的模型,以便對(duì)客觀的信

8、息實(shí)體進(jìn)行領(lǐng)域的模型,以便對(duì)客觀的信息實(shí)體進(jìn)行結(jié)構(gòu)和行為的模擬,從而使設(shè)計(jì)的軟件更結(jié)構(gòu)和行為的模擬,從而使設(shè)計(jì)的軟件更直接地表現(xiàn)問(wèn)題的求解過(guò)程。面向?qū)ο蟮闹苯拥乇憩F(xiàn)問(wèn)題的求解過(guò)程。面向?qū)ο蟮拈_(kāi)發(fā)方法以對(duì)象作為最基本的元素,是分開(kāi)發(fā)方法以對(duì)象作為最基本的元素,是分析和解決問(wèn)題的核心。析和解決問(wèn)題的核心。4 4)面向?qū)ο蠓椒ǎ┟嫦驅(qū)ο蠓椒嫦驅(qū)ο蠓椒ㄓ扇糠纸M成:面向?qū)ο蠓椒ㄓ扇糠纸M成:(1) OOA(Object-Oriented Analysis)(1) OOA(Object-Oriented Analysis)面向?qū)γ嫦驅(qū)ο蟮姆治鱿蟮姆治?2) OOD(Object-Oriented De

9、sign)(2) OOD(Object-Oriented Design)面向?qū)ο竺嫦驅(qū)ο蟮脑O(shè)計(jì)的設(shè)計(jì)(3) OOP (Object-Oriented Program)(3) OOP (Object-Oriented Program)面向?qū)γ嫦驅(qū)ο蟮某绦蛟O(shè)計(jì)象的程序設(shè)計(jì)4 4)面向?qū)ο蠓椒ǎ┟嫦驅(qū)ο蠓椒∣OA強(qiáng)調(diào)的是對(duì)一個(gè)系統(tǒng)中的對(duì)象特征和行強(qiáng)調(diào)的是對(duì)一個(gè)系統(tǒng)中的對(duì)象特征和行為的定義。建立系統(tǒng)的三類(lèi)模型。為的定義。建立系統(tǒng)的三類(lèi)模型。OOD與與OOAOOA密切配合順序?qū)崿F(xiàn)對(duì)現(xiàn)實(shí)世界的密切配合順序?qū)崿F(xiàn)對(duì)現(xiàn)實(shí)世界的進(jìn)一步建模。進(jìn)一步建模。OOP是面向?qū)ο蟮募夹g(shù)中發(fā)展最快的,使用是面向?qū)ο蟮募夹g(shù)中發(fā)展

10、最快的,使用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,進(jìn)行編碼。面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,進(jìn)行編碼。4 4)面向?qū)ο蠓椒ǎ┟嫦驅(qū)ο蠓椒üぷ髂P凸ぷ髂P蛧娙P蛧娙P驮撃P褪怯稍撃P褪怯葿.H.SollersB.H.Sollers和和J.M.EdwardsJ.M.Edwards于于19901990年提出年提出的一種新的開(kāi)發(fā)模型。它的一種新的開(kāi)發(fā)模型。它克服了瀑布模型不支持軟克服了瀑布模型不支持軟件重用和多項(xiàng)開(kāi)發(fā)活動(dòng)集件重用和多項(xiàng)開(kāi)發(fā)活動(dòng)集成的局限性,噴泉模型使成的局限性,噴泉模型使開(kāi)發(fā)過(guò)程具有迭代性和無(wú)開(kāi)發(fā)過(guò)程具有迭代性和無(wú)間隙性。間隙性。 分分 析析系統(tǒng)系統(tǒng) 設(shè)計(jì)設(shè)計(jì)軟件軟件 設(shè)計(jì)設(shè)計(jì)實(shí)實(shí) 現(xiàn)現(xiàn)噴泉模型噴泉模型

11、4 4)面向?qū)ο蠓椒ǎ┟嫦驅(qū)ο蠓椒嫦驅(qū)ο蠓椒ǜ拍睿好嫦驅(qū)ο蠓椒ǜ拍睿?1) (1) 面向?qū)ο竽P透咏诿嫦驅(qū)ο竽P透咏趩?wèn)題域問(wèn)題域以問(wèn)題域中的對(duì)象為基礎(chǔ)建模以問(wèn)題域中的對(duì)象為基礎(chǔ)建模以對(duì)象、屬性和操作對(duì)問(wèn)題進(jìn)行建模以對(duì)象、屬性和操作對(duì)問(wèn)題進(jìn)行建模(2) (2) 反復(fù)細(xì)化高層模型反復(fù)細(xì)化高層模型直到可以實(shí)現(xiàn)的程度直到可以實(shí)現(xiàn)的程度努力避免在開(kāi)發(fā)過(guò)程中出現(xiàn)大的概念跳變努力避免在開(kāi)發(fā)過(guò)程中出現(xiàn)大的概念跳變(3) (3) 將模型組織成對(duì)象的集合將模型組織成對(duì)象的集合真實(shí)世界中的具體事物真實(shí)世界中的具體事物 駕駛執(zhí)照、信用卡、飛機(jī)等駕駛執(zhí)照、信用卡、飛機(jī)等邏輯概念邏輯概念 操作系統(tǒng)中的分時(shí)策略、

12、軍事訓(xùn)練中的沖突操作系統(tǒng)中的分時(shí)策略、軍事訓(xùn)練中的沖突解決規(guī)則等解決規(guī)則等 4 4)面向?qū)ο蠓椒ǎ┟嫦驅(qū)ο蠓椒?4) (4) 將所有信息封裝在對(duì)象中將所有信息封裝在對(duì)象中數(shù)據(jù)表示對(duì)象的特征,即對(duì)象屬性數(shù)據(jù)表示對(duì)象的特征,即對(duì)象屬性功能(或行為)表示對(duì)象可以做什么,即功能(或行為)表示對(duì)象可以做什么,即對(duì)象操作對(duì)象操作“面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ā笔鞘且环N基于對(duì)真實(shí)世界中的概念進(jìn)行抽象而一種基于對(duì)真實(shí)世界中的概念進(jìn)行抽象而思考問(wèn)題的方法思考問(wèn)題的方法4 4)面向?qū)ο蠓椒ǎ┟嫦驅(qū)ο蠓椒?) 4) 面向?qū)ο蠓椒嫦驅(qū)ο蠓椒?“面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ā辈皇遣皇鞘褂妹嫦驅(qū)ο缶幊陶Z(yǔ)言(使用面向?qū)ο缶幊陶Z(yǔ)言

13、(C+, Eiffel, C+, Eiffel, SmalltalkSmalltalk)使用面向?qū)ο蟮姆?hào)進(jìn)行設(shè)計(jì)使用面向?qū)ο蟮姆?hào)進(jìn)行設(shè)計(jì)OO is not the answer to all your problems.OO is not the answer to all your problems. 4) 4) 面向?qū)ο蠓椒嫦驅(qū)ο蠓椒?面向?qū)ο蟮姆椒ǖ拇硇猿晒校好嫦驅(qū)ο蟮姆椒ǖ拇硇猿晒校?B.HendersonB.Henderson-sellers -sellers 和和 J.m.EdwardsJ.m.Edwards提出的面向?qū)ο筇岢龅拿嫦驅(qū)ο筌浖嫫趪娙P图懊嫦驅(qū)ο蟮南?/p>

14、統(tǒng)開(kāi)發(fā)方法。軟件生存期噴泉模型及面向?qū)ο蟮南到y(tǒng)開(kāi)發(fā)方法。 G.BoochG.Booch提出的面向?qū)ο蟮拈_(kāi)發(fā)方法。提出的面向?qū)ο蟮拈_(kāi)發(fā)方法。 P.CoadP.Coad和和E.YourdE.Yourd提出的提出的OOAOOA和和OODOOD法。法。 J. J. RumbaughRumbaugh等人提出的對(duì)象建模技術(shù)等人提出的對(duì)象建模技術(shù)(OMT)(OMT)。 Jacobson Jacobson 提出的面向?qū)ο蟮能浖こ烫岢龅拿嫦驅(qū)ο蟮能浖こ?OOSE)(OOSE)。 G.boochG.booch J.RumboughJ.Rumbough Jacobson Jacobson等人在等人在BoochBooch方法、方法、OMTOMT和和OOSEOOSE的基礎(chǔ)上推出了統(tǒng)一建模語(yǔ)言的基礎(chǔ)上推出了統(tǒng)一建模語(yǔ)言UMLUML。5 5)形式化方法)形式化方法形式化方法是一種基于形式化數(shù)學(xué)變換形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開(kāi)發(fā)方法,它可將系統(tǒng)的規(guī)格說(shuō)的軟件開(kāi)發(fā)方法,它可將系統(tǒng)的規(guī)格說(shuō)明轉(zhuǎn)換為可執(zhí)行的程序。明轉(zhuǎn)換為可執(zhí)行的程序。該過(guò)程的具體描述如圖所示。該過(guò)程的具體描述如圖所示。 l形式化方法的主要特點(diǎn)形式化方法的主要特點(diǎn)(1) (1) 軟件需求規(guī)格說(shuō)明被細(xì)化為用數(shù)學(xué)記

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論