軟件項(xiàng)目詳細(xì)設(shè)計(jì)_第1頁(yè)
軟件項(xiàng)目詳細(xì)設(shè)計(jì)_第2頁(yè)
軟件項(xiàng)目詳細(xì)設(shè)計(jì)_第3頁(yè)
軟件項(xiàng)目詳細(xì)設(shè)計(jì)_第4頁(yè)
軟件項(xiàng)目詳細(xì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程第4章 軟件項(xiàng)目的詳細(xì)設(shè)計(jì)第4章

軟件項(xiàng)目的詳細(xì)設(shè)計(jì)本章要點(diǎn)1、掌握常用的詳細(xì)設(shè)計(jì)的表達(dá)方法

2、了解軟件設(shè)計(jì)規(guī)格說明和設(shè)計(jì)評(píng)審的主要內(nèi)容一、詳細(xì)設(shè)計(jì)

詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng)。

詳細(xì)設(shè)計(jì)的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。一、詳細(xì)設(shè)計(jì)

詳細(xì)設(shè)計(jì)以總體設(shè)計(jì)階段的工作為基礎(chǔ),但又不同于總體設(shè)計(jì)階段,表現(xiàn)為:

1、在總體設(shè)計(jì)階段,數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以比較抽象的方式描述

2、詳細(xì)設(shè)計(jì)要提供關(guān)于算法的更多的細(xì)節(jié)一、詳細(xì)設(shè)計(jì)

3、詳細(xì)設(shè)計(jì)的模塊包含實(shí)現(xiàn)對(duì)應(yīng)的總體設(shè)計(jì)的模塊所需要的處理邏輯,主要有:(1)

詳細(xì)的算法(2)

數(shù)據(jù)表示和數(shù)據(jù)結(jié)構(gòu)(3)

實(shí)施的功能和使用的數(shù)據(jù)之間的關(guān)系

(4)

每個(gè)模塊被編碼成過程、子程序、函數(shù)或其它類型的命名實(shí)體。二、詳細(xì)設(shè)計(jì)的基本任務(wù)1、算法設(shè)計(jì)

用某種圖形、表格、語言等工具將每個(gè)模塊處理過程的詳細(xì)算法描述出來。2、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

對(duì)于需求分析、概要設(shè)計(jì)確定的概念性的數(shù)據(jù)類型進(jìn)行確切的定義。二、詳細(xì)設(shè)計(jì)的基本任務(wù)3、物理設(shè)計(jì)

對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì),即確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。物理結(jié)構(gòu)主要指數(shù)據(jù)庫(kù)的存儲(chǔ)記錄格式、存儲(chǔ)記錄安排和存儲(chǔ)方法,這些都依賴于具體所使用的數(shù)據(jù)庫(kù)系統(tǒng)。二、詳細(xì)設(shè)計(jì)的基本任務(wù)4、其他設(shè)計(jì)

(1)代碼設(shè)計(jì):為了提高數(shù)據(jù)的輸入、分類、存儲(chǔ)及檢索等操作的效率,以及節(jié)約內(nèi)存空間,對(duì)數(shù)據(jù)庫(kù)中的某些數(shù)據(jù)項(xiàng)的值要進(jìn)行代碼設(shè)計(jì)。(2)輸入/輸出格式設(shè)計(jì)。

(3)人機(jī)對(duì)話設(shè)計(jì):對(duì)于一個(gè)實(shí)時(shí)系統(tǒng),用戶與計(jì)算機(jī)頻繁對(duì)話,因此要進(jìn)行對(duì)話方式、內(nèi)容及格式的具體設(shè)計(jì)。二、詳細(xì)設(shè)計(jì)的基本任務(wù)5、編寫詳細(xì)設(shè)計(jì)說明書(1)引言:包括編寫目的、背景、定義、參考資料。(2)程序系統(tǒng)的組織結(jié)構(gòu)。

(3)程序1(標(biāo)識(shí)符)設(shè)計(jì)說明:包括功能、性能、輸入、輸出、算法、流程邏輯、接口。(4)程序2(標(biāo)識(shí)符)設(shè)計(jì)說明。(5)程序N(標(biāo)識(shí)符)設(shè)計(jì)說明。6、評(píng)審對(duì)處理過程的算法和數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)都要評(píng)審。三、詳細(xì)設(shè)計(jì)方法

1、采用自頂向下、逐步求精的程序設(shè)計(jì)方法2、使用三種基本控制結(jié)構(gòu)構(gòu)造程序3、主程序員的組織形式四、詳細(xì)設(shè)計(jì)的工具

詳細(xì)設(shè)計(jì)的任務(wù)是給出軟件模塊結(jié)構(gòu)中各個(gè)模塊的內(nèi)部過程描述,也就是模塊內(nèi)部的算法設(shè)計(jì)。

詳細(xì)設(shè)計(jì)的工具可以分為圖形、表格和語言三種。四、詳細(xì)設(shè)計(jì)的工具1、程序流程圖

程序流程圖又稱為程序框圖,它是歷史最悠久、使用最廣泛的一種描述程序邏輯結(jié)構(gòu)的工具。(1)程序流程圖的三種基本控制結(jié)構(gòu)四、詳細(xì)設(shè)計(jì)的工具(2)程序流程圖的主要缺點(diǎn)如下:

程序流程圖誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)。

程序流程圖中的箭頭代表控制流,程序員可以不加限制的使用GOTO語句,導(dǎo)

致基本控制塊多入口多出口。程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。四、詳細(xì)設(shè)計(jì)的工具2、盒圖(N-S圖)

它以一種結(jié)構(gòu)化的方式嚴(yán)格地限制從一個(gè)處理到另一個(gè)處理的控制轉(zhuǎn)移。(1)盒圖的基本符號(hào)四、詳細(xì)設(shè)計(jì)的工具

(2)每一個(gè)N-S圖開始于一個(gè)大的矩形,表示它所描述的模塊。該矩形的內(nèi)部被分成不同的部分,分別表示不同的子處理過程,這些子處理過程又可以進(jìn)一步分解成更小的部分。四、詳細(xì)設(shè)計(jì)的工具

3、問題分析圖(PAD圖,ProblemAnalysis

Diagram)

是日本日立公司于1979年提出的一種算法描述工具,它是一種由左往右展開的二維樹型結(jié)構(gòu)。(1)PAD圖的基本符號(hào)四、詳細(xì)設(shè)計(jì)的工具

(2)PAD圖的控制流程為自上而下,從左到右地執(zhí)行。

(3)實(shí)例:將數(shù)組A(1)到A(10)進(jìn)行排序的PAD圖。四、詳細(xì)設(shè)計(jì)的工具(4)PAD圖的優(yōu)點(diǎn)1)清晰地反映了程序的層次結(jié)構(gòu),圖中的豎線為程序的層次線,最左邊豎線是程序的主線,其后一層一層展開,層次關(guān)系一目了然。

2)支持逐步求精的設(shè)計(jì)方法,左邊層次中的內(nèi)容可以抽象,然后由左到右逐步細(xì)化。3)易讀易寫,使用方便。4)支持結(jié)構(gòu)化的程序設(shè)計(jì)原理。5)可自動(dòng)生成程序。四、詳細(xì)設(shè)計(jì)的工具4、類程序設(shè)計(jì)語言(PDL)

類程序設(shè)計(jì)語言(Program

DesignLanguage)、過程設(shè)計(jì)語言(ProcessDesign

Language),也稱為偽碼。四、詳細(xì)設(shè)計(jì)的工具(1)PDL特點(diǎn)

所有關(guān)鍵字都有固定語法,以便提供結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊的特性。描述處理過程的說明性語言沒有嚴(yán)格的語法。

具有數(shù)據(jù)說明機(jī)制,包括簡(jiǎn)單的與復(fù)雜的數(shù)據(jù)說明。

具有模塊定義和調(diào)用機(jī)制,開發(fā)人員應(yīng)根據(jù)系統(tǒng)編程所用的語種,說明PDL表示有關(guān)程序結(jié)構(gòu)。四、詳細(xì)設(shè)計(jì)的工具(2)程序結(jié)構(gòu)1)順序結(jié)構(gòu)采用自然語言描述順序結(jié)構(gòu):????處理S1處理S2……處理Sn四、詳細(xì)設(shè)計(jì)的工具2)選擇結(jié)構(gòu)① IF—ElSE結(jié)構(gòu)IF

條件IF

條件處理S1或處理SELSEENDIF處理S2ENDIF四、詳細(xì)設(shè)計(jì)的工具② IF—ORIF—ElSE結(jié)構(gòu)IF

條件1處理

S1ORIF

條件2處理

S2……ELSE

處理SnENDIF四、詳細(xì)設(shè)計(jì)的工具③

CASE結(jié)構(gòu)CASE

OFCASE(1) 處理S1CASE(2) 處理S2……ELSE 處理SnENDCASE四、詳細(xì)設(shè)計(jì)的工具3)重復(fù)結(jié)構(gòu)①

FOR結(jié)構(gòu)FOR

i=1

TO

n循環(huán)體ENDFOR四、詳細(xì)設(shè)計(jì)的工具②

WHILE結(jié)構(gòu)WHILE

條件循環(huán)體ENDWHILE③

UNTIL結(jié)構(gòu)REPEAT循環(huán)體UNTIL

條件四、詳細(xì)設(shè)計(jì)的工具4)擴(kuò)充結(jié)構(gòu)①

模塊定義PROCEDURE 模塊名(參數(shù))……RETURNEND四、詳細(xì)設(shè)計(jì)的工具②

模塊調(diào)用CALL 模塊名(參數(shù))③

數(shù)據(jù)定義DECLAER 屬性 變量名,……

屬性有:字符、整型、實(shí)型、雙精度、指針、數(shù)組及結(jié)構(gòu)等類型。四、詳細(xì)設(shè)計(jì)的工具④

輸入/輸出GET(輸入變量表)PUT(輸出變量表)四、詳細(xì)設(shè)計(jì)的工具(3)PDL應(yīng)用示例

××系統(tǒng)主控模塊詳細(xì)設(shè)計(jì)為例,說明如何用PDL來描述。四、詳細(xì)設(shè)計(jì)的工具PROCEDURE

模塊名()清屏;顯示××系統(tǒng)用戶界面;PUT(“請(qǐng)輸入用戶口令:”);GET(password);IF

password

<>

系統(tǒng)口令提示警告信息;退出運(yùn)行ENDIF四、詳細(xì)設(shè)計(jì)的工具??????????END顯示本系統(tǒng)主菜單;WHILE(true)接收用戶選擇ABC;IF

ABC=“退出”Break;ENDIF調(diào)用相應(yīng)下層模塊完成用戶選擇功能;ENDWHILE;清屏;RETURN四、詳細(xì)設(shè)計(jì)的工具(4)優(yōu)點(diǎn):??

1)提供的機(jī)制較圖形全面,為保證詳細(xì)設(shè)計(jì)與編碼的質(zhì)量創(chuàng)造了有利條件。可作為注釋嵌入在源程序中一起作為程序的文檔,并可同高級(jí)程序設(shè)計(jì)語言一樣進(jìn)行編輯、修改,有利于軟件的維護(hù)??勺詣?dòng)生成程序代碼,提高軟件生產(chǎn)率。目前已有PDL多種版本(如PDL/pascal,PDL/C,PDL/Ada等),為自動(dòng)生成相應(yīng)代碼提供了便利條件。五、軟件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論