軟件工程:第五課 第一部分_第1頁
軟件工程:第五課 第一部分_第2頁
軟件工程:第五課 第一部分_第3頁
軟件工程:第五課 第一部分_第4頁
軟件工程:第五課 第一部分_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、n軟件設(shè)計(jì)的概述軟件設(shè)計(jì)的概述n軟件設(shè)計(jì)的基本原理軟件設(shè)計(jì)的基本原理n模塊設(shè)計(jì)模塊設(shè)計(jì)n概要設(shè)計(jì)概述概要設(shè)計(jì)概述n結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法nJACKSONJACKSON設(shè)計(jì)方法設(shè)計(jì)方法n數(shù)據(jù)設(shè)計(jì)和文件設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)和文件設(shè)計(jì)n過程設(shè)計(jì)過程設(shè)計(jì)( (詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)) )n設(shè)計(jì)的評(píng)審設(shè)計(jì)的評(píng)審 軟件設(shè)計(jì)的目標(biāo)和任務(wù)軟件設(shè)計(jì)的目標(biāo)和任務(wù) 軟件設(shè)計(jì)重要性軟件設(shè)計(jì)重要性 軟件設(shè)計(jì)方法軟件設(shè)計(jì)方法 軟件設(shè)計(jì)階段軟件設(shè)計(jì)階段軟件設(shè)計(jì)的概述軟件設(shè)計(jì)的概述討論要點(diǎn)(1)(1)如何將需求分析模型轉(zhuǎn)換為軟件設(shè)計(jì)?如何將需求分析模型轉(zhuǎn)換為軟件設(shè)計(jì)?(2)(2)作為軟件工程師在軟件設(shè)計(jì)方面應(yīng)使用作為軟件工程師在軟件

2、設(shè)計(jì)方面應(yīng)使用哪些基本原則和概念?哪些基本原則和概念?軟件設(shè)計(jì)的概述軟件設(shè)計(jì)的概述 一一. 軟件設(shè)計(jì)的目標(biāo)軟件設(shè)計(jì)的目標(biāo) 軟件需求:解決軟件需求:解決“做什么做什么” 軟件設(shè)計(jì):解決軟件設(shè)計(jì):解決“怎么做怎么做”二二. .軟件設(shè)計(jì)的任務(wù)軟件設(shè)計(jì)的任務(wù) 問題結(jié)構(gòu)問題結(jié)構(gòu)( (軟件需求軟件需求) ) 軟件結(jié)構(gòu)軟件結(jié)構(gòu) 從軟件需求規(guī)格說明書出發(fā),形成軟件的具體從軟件需求規(guī)格說明書出發(fā),形成軟件的具體設(shè)計(jì)方案。設(shè)計(jì)方案。映射映射軟件設(shè)計(jì)的目標(biāo)和任務(wù)軟件設(shè)計(jì)的目標(biāo)和任務(wù)軟件設(shè)計(jì)的目標(biāo)和任務(wù)軟件設(shè)計(jì)的目標(biāo)和任務(wù)軟件設(shè)計(jì)的目標(biāo)和任務(wù)軟件設(shè)計(jì)的目標(biāo)和任務(wù)軟件的開發(fā)階段軟件設(shè)計(jì)的重要性為什么軟件設(shè)計(jì)很重要?軟件

3、設(shè)計(jì)是開發(fā)階段中最重要的步驟,它是軟件開發(fā)過程中質(zhì)量得以保證的關(guān)鍵步驟。設(shè)計(jì)提供了軟件的表示,使得軟件的質(zhì)量評(píng)價(jià)成為可能。同時(shí),軟件設(shè)計(jì)又是將用戶要求準(zhǔn)確地轉(zhuǎn)化成為最終的軟件產(chǎn)品的唯一途徑。另一方面,軟件設(shè)計(jì)是后續(xù)開發(fā)步驟及軟件維護(hù)工作的基礎(chǔ)。如果沒有設(shè)計(jì),只能建立一個(gè)不穩(wěn)定的系統(tǒng)。軟件設(shè)計(jì)的重要性只要出現(xiàn)一些小小的變動(dòng),就會(huì)使得軟件垮掉,而且難于測試。軟件設(shè)計(jì)方法軟件設(shè)計(jì)方法F結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法( (SDSD) )F面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法( (JSDJSD方法方法) )F面向?qū)ο蟮脑O(shè)計(jì)方法面向?qū)ο蟮脑O(shè)計(jì)方法( (OODOOD) )軟件設(shè)計(jì)的階段軟件設(shè)計(jì)的階段(

4、1)(1)概要設(shè)計(jì)概要設(shè)計(jì)( (總體設(shè)計(jì)總體設(shè)計(jì)) )確定軟件的結(jié)構(gòu)以及各組成成分確定軟件的結(jié)構(gòu)以及各組成成分( (子系子系統(tǒng)或模塊統(tǒng)或模塊) )之間的相互關(guān)系。之間的相互關(guān)系。(2)(2)詳細(xì)設(shè)計(jì)(過程設(shè)計(jì),模塊設(shè)計(jì))詳細(xì)設(shè)計(jì)(過程設(shè)計(jì),模塊設(shè)計(jì))確定模塊內(nèi)部的算法和數(shù)據(jù)結(jié)構(gòu),產(chǎn)生確定模塊內(nèi)部的算法和數(shù)據(jù)結(jié)構(gòu),產(chǎn)生描述各模塊程序過程的詳細(xì)文檔。描述各模塊程序過程的詳細(xì)文檔。n軟件設(shè)計(jì)的概述軟件設(shè)計(jì)的概述n軟件設(shè)計(jì)的基礎(chǔ)軟件設(shè)計(jì)的基礎(chǔ)n模塊設(shè)計(jì)基礎(chǔ)模塊設(shè)計(jì)基礎(chǔ)n概要設(shè)計(jì)概述概要設(shè)計(jì)概述n結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法nJACKSONJACKSON設(shè)計(jì)方法設(shè)計(jì)方法n數(shù)據(jù)設(shè)計(jì)和文件設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)和文件

5、設(shè)計(jì)n過程設(shè)計(jì)過程設(shè)計(jì)( (詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)) )n設(shè)計(jì)的評(píng)審設(shè)計(jì)的評(píng)審軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ) 數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)的各個(gè)元素之間的邏輯關(guān)系的一種表示。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)應(yīng)確定數(shù)據(jù)的組織、存取方式、相關(guān)程度以及信息的不同處理方法。 數(shù)據(jù)結(jié)構(gòu)的組織方法和復(fù)雜程度可以靈活多樣,但典型的數(shù)據(jù)結(jié)構(gòu)種類是有限的,它們是構(gòu)成一些更復(fù)雜結(jié)構(gòu)的基本構(gòu)件塊。 軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)

6、軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)(Modularity)(Modularity)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ) 模塊化是好的軟件設(shè)計(jì)的一個(gè)基本準(zhǔn)則模塊化是好的軟件設(shè)計(jì)的一個(gè)基本準(zhǔn)則 高層模塊高層模塊 從整體上把握從整體上把握 問題問題, ,隱蔽細(xì)節(jié)隱蔽細(xì)節(jié) 復(fù)雜問題復(fù)雜問題 較小問題較小問題 分解分解 可減小解題所需的總的工作可減小解題所需的總的工作分解分解軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)例例: :將問題將問題(P1+P2)(P1+P2)分解為分解為P1,P2,P1,P2,設(shè)函數(shù)設(shè)函數(shù)C(x)定義定義問題問題 x 的的復(fù)雜程度復(fù)雜程度. .函數(shù)函數(shù)E(x)確定解決問題

7、確定解決問題 x 需需要的要的工作量工作量, ,對(duì)問題對(duì)問題P1和和P2,如如: C(P1) C(P2)顯然顯然: E(P1) E(P2)規(guī)律規(guī)律: C(P1+P2) C(P1)+C(P2) E(P1+P2) E(P1)+E(P2) 各個(gè)擊破各個(gè)擊破理論理論軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)模塊化和軟件成本圖模塊化和軟件成本圖成成本本或或工工作作量量模塊模塊數(shù)量數(shù)量軟件總成本軟件總成本集成成本集成成本成本成本/ /模塊模塊M最小成本區(qū)域最小成本區(qū)域軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)CAD SOFTWARE TASKS user interac

8、tion task; 2-D drawing creation task; graphics display task; drawing file management task; end. 軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)PROCEDURE:2-D drawing creation REPEAT UNTIL (drawing creation task terminates) DO WHILE (digitizer數(shù)字轉(zhuǎn)換器數(shù)字轉(zhuǎn)換器 interaction occurs) digitizer interface task; DETERMINE drawing request CASE; line:

9、 line drawing task; rectangle:rectangle drawing task; circle: circle drawing task; 軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)在不同層次上描述數(shù)據(jù)對(duì)象的細(xì)節(jié),定義與該數(shù)據(jù)對(duì)象在不同層次上描述數(shù)據(jù)對(duì)象的細(xì)節(jié),定義與該數(shù)據(jù)對(duì)象相關(guān)的操作。相關(guān)的操作。例如,在例如,在CADCAD軟件中,定義一個(gè)叫做軟件中,定義一個(gè)叫做drawingdrawing的數(shù)據(jù)對(duì)象??傻臄?shù)據(jù)對(duì)象??蓪rawingdrawing規(guī)定為一個(gè)抽象數(shù)據(jù)類型,定義它的內(nèi)部細(xì)節(jié)為規(guī)定為一個(gè)抽象數(shù)據(jù)類型,定義它的內(nèi)部細(xì)節(jié)為: :軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)blue-print

10、 IS INSTANCE OF drawing;blue-print IS INSTANCE OF drawing;軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)軟件質(zhì)量因素軟件質(zhì)量因素n 可維護(hù)性可維護(hù)性n 可靠性可靠性n 可理解性可理解性n 效率效率信息隱蔽的目的:信息隱蔽的目的: 提高模塊的獨(dú)立性,減少修改或維護(hù)時(shí)提高模塊的獨(dú)立性,減少修改或維護(hù)時(shí)的影響面。的影響面。軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)n軟件設(shè)計(jì)的概述軟件設(shè)計(jì)的概述n軟件設(shè)計(jì)的基礎(chǔ)軟件設(shè)計(jì)的基礎(chǔ)n模塊設(shè)計(jì)基礎(chǔ)模塊設(shè)計(jì)基礎(chǔ)n概要設(shè)計(jì)概述概要設(shè)計(jì)概述n結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法nJACKSONJACKSON開發(fā)方法開發(fā)方法n數(shù)據(jù)設(shè)計(jì)

11、和文件設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)和文件設(shè)計(jì)n過程設(shè)計(jì)過程設(shè)計(jì)( (詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)) )n設(shè)計(jì)的評(píng)審設(shè)計(jì)的評(píng)審 c c n軟件設(shè)計(jì)的概述軟件設(shè)計(jì)的概述n軟件設(shè)計(jì)的基礎(chǔ)軟件設(shè)計(jì)的基礎(chǔ)n模塊設(shè)計(jì)基礎(chǔ)模塊設(shè)計(jì)基礎(chǔ)n概要設(shè)計(jì)概述概要設(shè)計(jì)概述n結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法nJACKSONJACKSON設(shè)計(jì)方法設(shè)計(jì)方法n數(shù)據(jù)設(shè)計(jì)和文件設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)和文件設(shè)計(jì)n過程設(shè)計(jì)過程設(shè)計(jì)( (詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)) )n設(shè)計(jì)的評(píng)審設(shè)計(jì)的評(píng)審概要概要設(shè)計(jì)概述設(shè)計(jì)概述概要設(shè)計(jì)確定:n軟件系統(tǒng)的結(jié)構(gòu)軟件系統(tǒng)的結(jié)構(gòu)n各模塊功能及模塊間聯(lián)系各模塊功能及模塊間聯(lián)系( (接口接口) )表示軟件結(jié)構(gòu)的圖形工具表示軟件結(jié)構(gòu)的圖形工具n結(jié)構(gòu)圖結(jié)構(gòu)圖n層次圖和層次圖和HIPO圖圖概要設(shè)計(jì)的過程概要設(shè)計(jì)的過程(1)(1)設(shè)想可能的方案設(shè)想可能的方案(2)(2)選取合理的方案選取合理的方案(3)(3

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論