UML系統(tǒng)建模與分析設(shè)計(jì)--1系統(tǒng)建模與分析設(shè)計(jì)技術(shù)的演變.ppt_第1頁(yè)
UML系統(tǒng)建模與分析設(shè)計(jì)--1系統(tǒng)建模與分析設(shè)計(jì)技術(shù)的演變.ppt_第2頁(yè)
UML系統(tǒng)建模與分析設(shè)計(jì)--1系統(tǒng)建模與分析設(shè)計(jì)技術(shù)的演變.ppt_第3頁(yè)
UML系統(tǒng)建模與分析設(shè)計(jì)--1系統(tǒng)建模與分析設(shè)計(jì)技術(shù)的演變.ppt_第4頁(yè)
UML系統(tǒng)建模與分析設(shè)計(jì)--1系統(tǒng)建模與分析設(shè)計(jì)技術(shù)的演變.ppt_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2020/7/15,軟件工程方法,1,UML系統(tǒng)建模 與分析設(shè)計(jì),課件,2020/7/15,軟件工程方法,2,第一章系統(tǒng)建模與分析設(shè)計(jì)技術(shù)的演變,本章目的: 理解軟件的基本概念和特點(diǎn) 了解軟件的發(fā)展過(guò)程及軟件開(kāi)發(fā)過(guò)程 了解軟件開(kāi)發(fā)的方法 掌握面向?qū)ο蠹夹g(shù)的基本概念及開(kāi)發(fā)過(guò)程 了解幾種典型的面向?qū)ο蠓椒?2020/7/15,軟件工程方法,3,1.1 軟件的概念、特點(diǎn)和分類,1現(xiàn)代軟件的概念和特點(diǎn) (1)軟件規(guī)模大。 (2)軟件開(kāi)發(fā)規(guī)范并趨于標(biāo)準(zhǔn)化。 (3)軟件開(kāi)發(fā)方法多,有大量的軟件工具持。 (4)注重軟件開(kāi)發(fā)的管理。 (5)軟件維護(hù)相對(duì)過(guò)去容易得多。,2020/7/15,軟件工程方法,4,2軟

2、件的分類 (1)按軟件的功能劃分 系統(tǒng)軟件。 支撐軟件。 應(yīng)用軟件。 (2)按軟件的規(guī)模劃分 微型軟件。 小型軟件。 中型軟件。 大型甚至超大型軟件。 (3)按軟件工作方式劃分 實(shí)時(shí)處理軟件。 分時(shí)軟件。 交互式軟件。 批處理軟件。,2020/7/15,軟件工程方法,5,(4)按軟件服務(wù)對(duì)象的范圍劃分 項(xiàng)目軟件。 產(chǎn)品軟件。 (5)按使用的頻度劃分 一次性使用軟件。 使用頻度較高的軟件。 (6)按軟件失效的影響程度劃分 一般性軟件。 關(guān)鍵性軟件。,2020/7/15,軟件工程方法,6,1.2軟件的發(fā)展與軟件工程,軟件工程的指導(dǎo)性原則: 變動(dòng)的軟件需求。 穩(wěn)妥的設(shè)計(jì)方法。 高效的軟件開(kāi)發(fā)支持技術(shù)

3、。 有效的過(guò)程管理。 軟件工程具有里程碑意義的進(jìn)展: 結(jié)構(gòu)化軟件開(kāi)發(fā)方法的工具。 計(jì)算機(jī)輔助軟件工程(CASE)。 面向?qū)ο笳Z(yǔ)言和方法成為主流的軟件開(kāi)發(fā)技術(shù)。,2020/7/15,軟件工程方法,7,1.3 軟件開(kāi)發(fā)模型的演變和生存周期,1.3.1 軟件開(kāi)發(fā)過(guò)程與模型的演變 1. 瀑布模型(waterfall model) (1)慎重使用瀑布模型的情況: 不能充分理解客戶需求或客戶需求有可能迅速發(fā)生化; 系統(tǒng)太大太復(fù)雜,不能一次做完所有的事; 事先擬采用的技術(shù)迅速發(fā)生變化; 提供的資源有限; 無(wú)法利用各開(kāi)發(fā)階段的某一中間產(chǎn)品。,2020/7/15,軟件工程方法,8,(2)使用瀑布模型的情況: 系

4、統(tǒng)所有的功能、性能要求客戶可以一次性準(zhǔn)確交付時(shí); 必須是首次開(kāi)發(fā)的新系統(tǒng)并且淘汰全部老系統(tǒng)時(shí)。 2. 漸增模型(incremental model) (1)慎重考慮使用漸增模型的情況: 不能充分理解客戶需求或客戶需求有可能迅速發(fā)生變化; 事先擬采用的技術(shù)迅速發(fā)生變化; 客戶突然提出一些新的功能需求; 長(zhǎng)時(shí)期內(nèi)僅有有限的資源保證(開(kāi)發(fā)人員和資金)。,2020/7/15,軟件工程方法,9,使用漸增模型的情況: 需要在盡短的時(shí)間內(nèi)得到系統(tǒng)基本功能的演示或使用; 各版本都有中間階段產(chǎn)品可提供使用; 系統(tǒng)可以被自然地分割成漸增的模式; 開(kāi)發(fā)人員與資金可以逐步增加。,2020/7/15,軟件工程方法,10

5、,3. 演化模型(evolutionary model) 演化模型也稱為原型(prototype)法模型。 使用演化模型時(shí)應(yīng)注意: 演化模型也是通過(guò)系統(tǒng)各個(gè)可執(zhí)行的中間版本以漸增的形式來(lái)開(kāi)發(fā)系統(tǒng)的,但是客戶需求可以分步逐漸了解,不用在初始時(shí)就確定。 在模型中,可以預(yù)先定義一部分客戶需求,然后在每個(gè)后繼的中間版本中再逐步增加需求,一點(diǎn)點(diǎn)完善。 在開(kāi)發(fā)每個(gè)中間版本時(shí),開(kāi)發(fā)過(guò)程中的活動(dòng)和任務(wù)可以順序地或部分重疊平行地被加入到這些中間版本中。,2020/7/15,軟件工程方法,11,2020/7/15,軟件工程方法,12,4. 螺旋模型(spiral model) 螺旋模型的四類活動(dòng): 制定計(jì)劃。 風(fēng)

6、險(xiǎn)分析。 實(shí)施開(kāi)發(fā)。 客戶評(píng)估。,2020/7/15,軟件工程方法,13,5 . 智能模型(intelligent model),2020/7/15,軟件工程方法,14,1.3.2 軟件開(kāi)發(fā)模型的選擇 要綜合考慮以下幾個(gè)因素: (1)軟件規(guī)模 (2)軟件類型 系統(tǒng)軟件的開(kāi)發(fā)。 實(shí)時(shí)軟件的開(kāi)發(fā)。 商業(yè)應(yīng)用軟件的開(kāi)發(fā)。 嵌入式軟件的開(kāi)發(fā)。 人工智能軟件的開(kāi)發(fā)。,2020/7/15,軟件工程方法,15,(3)軟件質(zhì)量要求 (4)交付工期 (5)客戶需求明確度 (6)投資 (7)可復(fù)用性 (8)開(kāi)發(fā)者掌握的資源,2020/7/15,軟件工程方法,16,1.3.3 軟件生存周期,2020/7/15,軟件

7、工程方法,17,軟件定義 (1)軟件系統(tǒng)的可行性研究 1)經(jīng)濟(jì)可行性研究。 2)技術(shù)可行性研究。 3)法律可行性研究。 4)方案的選擇。 (2)需求分析 1)任務(wù)。 軟件功能需求: 軟件性能需求: 軟件系統(tǒng)運(yùn)行環(huán)境: 2)按需求建模。 3)軟件需求規(guī)格說(shuō)明(Software Requirements Specification,簡(jiǎn)稱SRS)。,2020/7/15,軟件工程方法,18,軟件開(kāi)發(fā) (1)概要設(shè)計(jì) 建立系統(tǒng)總體結(jié)構(gòu)和各模塊之間的關(guān)系; 定義各個(gè)功能摸塊的接口; 設(shè)計(jì)全局?jǐn)?shù)據(jù)庫(kù)或數(shù)據(jù)結(jié)構(gòu); 規(guī)定設(shè)計(jì)約束; 制定組裝測(cè)試計(jì)劃。 (2)詳細(xì)設(shè)計(jì) 對(duì)概要設(shè)計(jì)進(jìn)行細(xì)化; 建立文檔資料。,202

8、0/7/15,軟件工程方法,19,(3)實(shí)現(xiàn) 選擇合適的編程語(yǔ)言; 制定測(cè)試案例; 保存文檔資料。 (4)組裝測(cè)試 (5)確認(rèn)測(cè)試 3軟件使用、維護(hù)和更新?lián)Q代 (1)軟件使用 (2)系統(tǒng)維護(hù) (3)系統(tǒng)更新?lián)Q代,2020/7/15,軟件工程方法,20,1.4 軟件開(kāi)發(fā)方法簡(jiǎn)介,1. 結(jié)構(gòu)化程序設(shè)計(jì)方法 其控制結(jié)構(gòu)僅由順序、選擇與重復(fù)等有限的基本控制結(jié)構(gòu)表示。 2. 模塊化程序設(shè)計(jì)方法 模塊之間的接口應(yīng)盡可能簡(jiǎn)明清晰: 單獨(dú)模塊的修改不影響其它模塊的功能; 模塊化應(yīng)具有可修改性、易讀性和可驗(yàn)證性。 3. 面向?qū)ο蟪绦蛟O(shè)計(jì)方法,2020/7/15,軟件工程方法,21,1.4.1 結(jié)構(gòu)化軟件開(kāi)發(fā)方法

9、 1結(jié)構(gòu)化分析的步驟 構(gòu)造數(shù)據(jù)流模型。 構(gòu)建控制流模型。 生成數(shù)據(jù)字典(DD)。 生成可選方案,建立需求規(guī)約。,2020/7/15,軟件工程方法,22,2結(jié)構(gòu)化設(shè)計(jì)步驟 首先研究、分析和審查數(shù)據(jù)流圖。從軟件的需求規(guī)格說(shuō)明中弄清數(shù)據(jù)流加工的過(guò)程。 然后根據(jù)數(shù)據(jù)流圖決定問(wèn)題的類型。 由數(shù)據(jù)流圖推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖。 優(yōu)化軟件結(jié)構(gòu)。 描述模塊接口。 修改和補(bǔ)充數(shù)據(jù)詞典。 制定測(cè)試計(jì)劃。,2020/7/15,軟件工程方法,23,1.4.2 模塊化軟件開(kāi)發(fā)方法 (1)模塊可分解性。 (2)模塊可組裝性。 (3)模塊可理解性。 (4)模塊連續(xù)性。 (5)模塊保護(hù)。,2020/7/15,軟件工程方法,24

10、,1.4.3 面向數(shù)據(jù)結(jié)構(gòu)軟件開(kāi)發(fā)方法 1建立JSD的系統(tǒng)進(jìn)程模型 2JSD方法的步驟 (1)JSD需求分析步驟 標(biāo)識(shí)系統(tǒng)中的實(shí)體與相應(yīng)動(dòng)作; 生成實(shí)體結(jié)構(gòu)圖; 初建系統(tǒng)模型。 (2)JSD系統(tǒng)設(shè)計(jì)步驟 擴(kuò)充功能過(guò)程。 系統(tǒng)定時(shí)。 系統(tǒng)實(shí)現(xiàn)。,2020/7/15,軟件工程方法,25,面向數(shù)據(jù)結(jié)構(gòu)的開(kāi)發(fā)方法的特點(diǎn): 將分析結(jié)果作為設(shè)計(jì)基礎(chǔ),無(wú)明顯分界; 都必須標(biāo)識(shí)關(guān)鍵實(shí)體和動(dòng)作; 信息具有層次性; 提供一組將層次化的數(shù)據(jù)結(jié)構(gòu)映射到程序結(jié)構(gòu)的步驟; 數(shù)據(jù)結(jié)構(gòu)由順序、選擇和重復(fù)3種構(gòu)造成分表示。,2020/7/15,軟件工程方法,26,1.4.4 面向?qū)ο筌浖_(kāi)發(fā)方法 面向?qū)ο蠓椒ǖ囊饬x: (1)一

11、種新的思考方式。 (2)將數(shù)據(jù)和行為結(jié)合成為對(duì)象。 (3)核心是封裝。 (4)面向?qū)ο蠓椒ń⒌幕A(chǔ)是: 軟件工程概念; 計(jì)算機(jī)科學(xué)概念; 工程管理; 數(shù)據(jù)庫(kù)信息模型; 傳統(tǒng)軟件開(kāi)發(fā)方法。,2020/7/15,軟件工程方法,27,面向?qū)ο蠓椒ㄓ袔资N,綜合起來(lái),其基本觀點(diǎn)如下: 現(xiàn)實(shí)客觀世界由對(duì)象組成。 相同的對(duì)象歸并為類。 類可以繼承。 對(duì)象之間通過(guò)消息進(jìn)行聯(lián)系。 面向?qū)ο?= 對(duì)象 + 類 + 繼承 + 通信,2020/7/15,軟件工程方法,28,1.4.5 軟件開(kāi)發(fā)方法的評(píng)價(jià)與選擇 綜合考慮以下幾方面因素: 人員素質(zhì)。 時(shí)間進(jìn)度。 掌握資源。 可行性。 領(lǐng)域知識(shí)。 從四個(gè)方面評(píng)價(jià): 技

12、術(shù)特征。 使用特征。 管理特征。 經(jīng)濟(jì)特征。,2020/7/15,軟件工程方法,29,1.5 面向?qū)ο筌浖_(kāi)發(fā)方法簡(jiǎn)介,特點(diǎn): (1)使人們更好地認(rèn)識(shí)客觀世界 (2)能很好地適應(yīng)需求變化 (3)容易實(shí)現(xiàn)軟件復(fù)用 (4)系統(tǒng)易于維護(hù)和修改,2020/7/15,軟件工程方法,30,1.5.1 面向?qū)ο蟮幕靖拍?封裝性、繼承性和多態(tài)性。 1. 對(duì)象 客觀世界中的實(shí)體抽象為問(wèn)題空間中的對(duì)象。 2. 對(duì)象的抽象類 把具有相同特征和行為的對(duì)象歸在一起就形成了類(Class)。,2020/7/15,軟件工程方法,31,2020/7/15,軟件工程方法,32,3. 信息隱蔽和局部化封裝 4. 繼承與派生,2

13、020/7/15,軟件工程方法,33,5. 對(duì)象之間的聯(lián)系紐帶消息,2020/7/15,軟件工程方法,34,6. 多態(tài)性 多態(tài)性(Polymorphism)是指同一個(gè)消息為不同的對(duì)象接收時(shí),可產(chǎn)生不同的動(dòng)作或執(zhí)行結(jié)果。,2020/7/15,軟件工程方法,35,1.5.2 面向?qū)ο笙到y(tǒng)開(kāi)發(fā)過(guò)程,2020/7/15,軟件工程方法,36,(1)需求分析階段。 (2)系統(tǒng)分析階段。 (3)系統(tǒng)設(shè)計(jì)階段。 (4)系統(tǒng)實(shí)現(xiàn)、測(cè)試、使用、維護(hù)階段。,2020/7/15,軟件工程方法,37,1.5.3 幾種典型的面向?qū)ο蠓椒ê?jiǎn)介 1Booch面向?qū)ο蠓椒?(1)Booch 方法的基本開(kāi)發(fā)模型 開(kāi)發(fā)模型包括邏輯

14、模型、物理模型、靜態(tài)模型和動(dòng)態(tài)模型。 (2)Booch方法的一般過(guò)程 開(kāi)發(fā)過(guò)程分為技術(shù)層和管理層開(kāi)發(fā)。 1)系統(tǒng)技術(shù)層開(kāi)發(fā)步驟 發(fā)現(xiàn)類與對(duì)象。 確定類和對(duì)象的語(yǔ)義。 標(biāo)識(shí)類和對(duì)象間的關(guān)系。,2020/7/15,軟件工程方法,38,2)系統(tǒng)管理層開(kāi)發(fā)步驟 強(qiáng)調(diào)團(tuán)隊(duì)技術(shù)管理。 明確用戶關(guān)鍵需求。 建立系統(tǒng)分析模型。 完善設(shè)計(jì)系統(tǒng)結(jié)構(gòu)。 系統(tǒng)實(shí)現(xiàn)。 軟件交付。 2Jacobson的面向?qū)ο蠓椒?(1)建立面向?qū)ο蠓治瞿P偷倪^(guò)程 1)建造用戶需求模型。 2)建造系統(tǒng)分析模型。,2020/7/15,軟件工程方法,39,(2)建立面向?qū)ο笤O(shè)計(jì)模型的過(guò)程 1)創(chuàng)建模塊作為主要的設(shè)計(jì)對(duì)象。 2)創(chuàng)建一個(gè)顯示激勵(lì)如何在模塊間傳送的交互圖。 3)把模塊組織成子系統(tǒng)。 4)復(fù)審設(shè)計(jì)工作。 3Coad-Yourdon的面向?qū)ο蠓椒ㄕ?/p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論