版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第5章詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)的任務(wù)和原則詳細(xì)設(shè)計(jì)的描述工具詳細(xì)設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)的任務(wù):1、為每個(gè)模塊選擇適當(dāng)?shù)乃惴ú⑦x取描述工具詳細(xì)描述這些算法。2、確定每個(gè)模塊所使用的數(shù)據(jù)結(jié)構(gòu)。3、確定各個(gè)模塊及模塊間接口的細(xì)節(jié),包括用戶界面和外部軟硬件接口、模塊間的接口、模塊局部數(shù)據(jù)和輸入輸出數(shù)據(jù)。4、為每個(gè)模塊設(shè)計(jì)測試用例,使得編碼階段對具體模塊的調(diào)試測試更加方便。5、編寫詳細(xì)設(shè)計(jì)說明書。詳細(xì)設(shè)計(jì)的任務(wù)為了是詳細(xì)設(shè)計(jì)更加地科學(xué)嚴(yán)謹(jǐn),應(yīng)遵守以下原則:對于模塊的邏輯描述,要在確保正確可靠的基礎(chǔ)上盡量地使得其更加清晰易讀。選擇適當(dāng)?shù)拿枋龉ぞ邅韺Ω髂K的算法進(jìn)行描述。采用結(jié)構(gòu)化的設(shè)計(jì)方法,改善程序的結(jié)構(gòu),使其結(jié)構(gòu)更加科學(xué)標(biāo)準(zhǔn),同時(shí)也降低了程序的復(fù)雜度,從而提高了程序的可讀性、可測試性和可維護(hù)性。詳細(xì)設(shè)計(jì)的原則詳細(xì)設(shè)計(jì)的描述方式詳細(xì)設(shè)計(jì)的描述方式分類:1)圖形描述:流程圖、盒圖、PAD圖等2)語言描述:PDL語言等3)表格描述:判定表等詳細(xì)設(shè)計(jì)的描述工具:下面介紹一些有代表性的詳細(xì)設(shè)計(jì)工具:
(1)程序流程圖
程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達(dá)工具。主要優(yōu)點(diǎn):獨(dú)立于任何一種程序設(shè)計(jì)語言,能夠比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。
為使流程圖支持結(jié)構(gòu)化程序設(shè)計(jì),限制在流程圖中只能使用下述的五種基本控制結(jié)構(gòu)。詳細(xì)設(shè)計(jì)的描述工具程序流程圖:是使用最廣泛、歷史最悠久的描述程序邏輯結(jié)構(gòu)的工具。AB順序選擇多分支選擇“當(dāng)型”循環(huán)A條件“直到型”循環(huán)A條件FTTF注:其中A或B為:①非轉(zhuǎn)移語句(可以為空)。②三種基本結(jié)構(gòu)之一。AB條件AB條件C詳細(xì)設(shè)計(jì)的描述工具程序流程圖的主要缺點(diǎn)如下:①程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu);②程序流程圖使用箭頭代表控制流,程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計(jì)的原則,隨意轉(zhuǎn)移控制;③程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)和描述有關(guān)的數(shù)據(jù),只能描述執(zhí)行過程;④對于大型軟件而言,流程圖過于瑣碎,不容易閱讀和修改。詳細(xì)設(shè)計(jì)的描述工具舉例:請使用流程圖描述下列程序的算法:在數(shù)據(jù)A(0)~A(10)中求最大數(shù)。詳細(xì)設(shè)計(jì)的描述工具(2)N-S圖(盒圖):是一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具。在N-S圖中,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件。AB順序多分支選擇“當(dāng)型”循環(huán)注:其中P為循環(huán)條件,S為循環(huán)體。PFTBAPFTA選擇=1P=2=nABNDO-WHILEPDO-UNTILPSS“直到型”循環(huán)詳細(xì)設(shè)計(jì)的描述工具N-S圖有下述特點(diǎn):①功能域(一個(gè)特定控制結(jié)構(gòu)的作用域)明確,圖中每個(gè)矩形框(除CASE構(gòu)造中表示條件取值的矩形框外),就是功能域。②不可能任意轉(zhuǎn)移控制,約束設(shè)計(jì)人員必須遵守結(jié)構(gòu)化程序設(shè)計(jì)的要求。③在盒圖上很容易確定局部和全程數(shù)據(jù)的作用域。④很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。詳細(xì)設(shè)計(jì)的描述工具舉例:請使用N-S描述下列程序的算法:在數(shù)據(jù)A(0)~A(10)中求最大數(shù)。詳細(xì)設(shè)計(jì)的描述工具(3)PAD圖:問題分析圖。是日本日立公司1979年提出的一種算法描述工具,它的結(jié)構(gòu)是由左向右展開的樹型結(jié)構(gòu)。選擇順序ABFT條件AB多分支選擇ACBCASE值1值2值nPAD基本控制結(jié)構(gòu)詳細(xì)設(shè)計(jì)的描述工具(3)PAD圖:
WHILE條件A
UNTIL條件AAS1S3S2def“當(dāng)型”循環(huán)“直到型”循環(huán)定義A(對A細(xì)化)PAD基本控制結(jié)構(gòu)詳細(xì)設(shè)計(jì)的描述工具PAD圖舉例:將數(shù)組A(1)到A(10)進(jìn)行選擇法排序(升序)的算法描述。PAD圖的控制流程為自上而下、從左到右。輸入A(1)到A(10)的值開始置初值:n=10sort輸出A(1)到A(10)的值結(jié)束詳細(xì)設(shè)計(jì)的描述工具PAD圖舉例:將數(shù)組A(1)到A(10)進(jìn)行選擇法排序的算法描述。PAD圖的控制流程為自上而下、從左到右。
WHILEi≤n-1sorti=1defm=ij=i+1
WHILEj≤nA(m)﹤-﹥A(i)i=i+1FTA(m)>A(j)m=jj=j+1詳細(xì)設(shè)計(jì)的描述工具舉例:請使用PAD圖描述下列程序的算法:在數(shù)據(jù)A(0)~A(10)中求最大數(shù)。詳細(xì)設(shè)計(jì)的描述工具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)生成程序。PAD圖有對照FORTRAN、Pascal、C等高級語言的標(biāo)準(zhǔn)圖式,因此,在有PAD系統(tǒng)的計(jì)算機(jī)上(如日立公司的系列機(jī)),可以直接輸入PAD圖,由計(jì)算機(jī)自動(dòng)通過走樹的方法生成源程序代碼,為軟件的自動(dòng)生成提供了有力的工具?!吃敿?xì)設(shè)計(jì)的描述工具(4)PDL(ProgramDesignLanguage
)
PDL與需求分析中采用的結(jié)構(gòu)化語言統(tǒng)屬于偽碼。偽碼的結(jié)構(gòu)分為內(nèi)外兩層,外語法應(yīng)符合一般程序設(shè)計(jì)語言常用的語法規(guī)則,而內(nèi)層語法則用一些簡單的句子、短語(自然語言)。詳細(xì)設(shè)計(jì)的描述工具PDL作為一種用于描述程序邏輯的語言,具有以下特點(diǎn):①有固定的關(guān)鍵字外語法,提供全部結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊特征②內(nèi)語法使用自然語言來描述處理特性,為開發(fā)者提供方便,提高可讀性。③具有數(shù)據(jù)說明機(jī)制,包括簡單的(如標(biāo)量和數(shù)組)與復(fù)雜的(如鏈表和層次結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu)。④具有子程序定義與調(diào)用機(jī)制,用以表達(dá)各種方式的接口說明。⑤由于與程序是同構(gòu)的,可利用自動(dòng)生成程序自動(dòng)生成代碼,提高軟件生產(chǎn)率。詳細(xì)設(shè)計(jì)的描述工具PDL中相關(guān)的關(guān)鍵詞介紹:
1、數(shù)據(jù)說明TYPE<變量名>IS<限定詞1><限定詞2>2、程序塊BEGIN<塊名><一組PDL語句>END詳細(xì)設(shè)計(jì)的描述工具3、控制結(jié)構(gòu)1)順序結(jié)構(gòu)在這個(gè)結(jié)構(gòu)中,程序按語句的先后順序執(zhí)行。2)選擇結(jié)構(gòu)IF<條件>THEN<語句或程序塊>ELSE<語句或程序塊>ENDIF詳細(xì)設(shè)計(jì)的描述工具3)多路選擇結(jié)構(gòu)CASEOF<變量名>:WHEN<條件1>SELECT<語句或程序塊>WHEN<條件2>SELECT<語句或程序塊>……WHEN<條件n>SELECT<語句或程序塊>DEFAULT:<語句或程序塊>ENDCASE詳細(xì)設(shè)計(jì)的描述工具4)循環(huán)結(jié)構(gòu)WHILE循環(huán)的形式如下:DOWHILE<條件><語句或程序塊>ENDDOUNTIL循環(huán)的形式如下:REPEATUNTIL<條件><語句或程序塊>ENDREPFOR循環(huán)的形式如下:DOFOR<循環(huán)變量>∈<循環(huán)變量的取值范圍><語句或程序塊>ENDFOR詳細(xì)設(shè)計(jì)的描述工具4、子程序子程序的形式如下:PROCEDURE<子程序名><屬性表>INTERFACE<參數(shù)表><語句或程序塊>END對子程序的調(diào)用可采用PERFORM。其形式如下:PERFORM<子程序名>如果調(diào)用該子程序需要參數(shù)時(shí),則其形式如下:PERFORM<子程序名>USING<參數(shù)名>詳細(xì)設(shè)計(jì)的描述工具5、輸入輸出用PDL描述輸入輸出一般有兩種形式:READ/WRITETO<設(shè)備><I/O表>或ASK<詢問>ANSWER<響應(yīng)選項(xiàng)>其中,第一種形式的<設(shè)備>是指I/O設(shè)備,<I/O表>則是其要傳送的變量名。而第二種形式則多用于人機(jī)交互的設(shè)計(jì)詳細(xì)設(shè)計(jì)的描述工具PDL應(yīng)用示例以××系統(tǒng)主控模塊詳細(xì)設(shè)計(jì)為例:
PROCEDERE模塊名()清屏;
顯示××系統(tǒng)用戶界面;WRITE(“請輸入用戶口令:”);
READ(password);IFpassword<>系統(tǒng)口令THEN
提示警告信息;
退出運(yùn)行;ENDIF
顯示本系統(tǒng)主菜單;
…END
詳細(xì)設(shè)計(jì)說明書參考標(biāo)準(zhǔn)文檔
其他設(shè)計(jì)方法
面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法是根據(jù)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)程序處理過程的方法。
目前比較成熟的有
M.A.Jackson提出的Jackson系統(tǒng)開發(fā)方法(JSD,JacksonSystemDevelopment)和J.D.warnier提出的程序邏輯構(gòu)造方法LCP(LogicalConstructionofPrograms)。
Jackson方法Jackson方法思想
面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)是根據(jù)某些過程,從一些數(shù)據(jù)結(jié)構(gòu)中導(dǎo)出程序結(jié)構(gòu),著重于問題域數(shù)據(jù)結(jié)構(gòu)到問題解的程序結(jié)構(gòu)之間的轉(zhuǎn)換,而不強(qiáng)調(diào)模塊定義。①首先要充分了解所涉及的數(shù)據(jù)結(jié)構(gòu),而且用工具清晰地描述數(shù)據(jù)結(jié)構(gòu);②然后按一定的步驟根據(jù)數(shù)據(jù)結(jié)構(gòu),導(dǎo)出解決問題的程序結(jié)構(gòu),完成設(shè)計(jì)。其他設(shè)計(jì)方法(2)Jackson圖
Jackson圖表示的三種基本結(jié)構(gòu),由方框、連線和一些附加標(biāo)記組成。標(biāo)記“o”代表選擇,標(biāo)記“*”代表重復(fù)。連線可以理解為“包含”或“由……組成”。ABCAB0C0AB*順序選擇重復(fù)其他設(shè)計(jì)方法Jackson方法的步驟一般可以歸納為五個(gè)步驟:1)分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并用Jackson結(jié)構(gòu)圖表示這些數(shù)據(jù)結(jié)構(gòu)。2)找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)單元
。其他設(shè)計(jì)方法
3)按照一定的映射規(guī)則由輸入、
溫馨提示
- 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年華東師大版九年級生物上冊月考試卷含答案
- 2025年冀教新版七年級地理下冊月考試卷
- 2025年人教A版七年級科學(xué)上冊階段測試試卷含答案
- 2025年人教版七年級科學(xué)下冊階段測試試卷
- 2025年岳麓版二年級英語上冊階段測試試卷含答案
- 2025年教科新版七年級科學(xué)上冊月考試卷含答案
- 二零二五版「鴻誠擔(dān)保招聘」人才招聘行業(yè)標(biāo)桿與最佳實(shí)踐合同3篇
- 2025年滬科版七年級地理下冊階段測試試卷含答案
- 2025版煤炭運(yùn)輸碳排放權(quán)交易合同4篇
- 2025年滬科版四年級數(shù)學(xué)下冊階段測試試卷
- 非誠不找小品臺(tái)詞
- 2024年3月江蘇省考公務(wù)員面試題(B類)及參考答案
- 患者信息保密法律法規(guī)解讀
- 老年人護(hù)理風(fēng)險(xiǎn)防控PPT
- 充電樁采購安裝投標(biāo)方案(技術(shù)方案)
- 醫(yī)院科室考勤表
- 鍍膜員工述職報(bào)告
- 春節(jié)期間化工企業(yè)安全生產(chǎn)注意安全生產(chǎn)
- 保險(xiǎn)行業(yè)加強(qiáng)清廉文化建設(shè)
- Hive數(shù)據(jù)倉庫技術(shù)與應(yīng)用
- 數(shù)字的秘密生活:最有趣的50個(gè)數(shù)學(xué)故事
評論
0/150
提交評論