版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第5章 軟件詳細(xì)設(shè)計,從軟件開發(fā)的工程化觀點來看,在使用程序設(shè)計語言編寫程序之前,需要對算法的邏輯關(guān)系進(jìn)行分析,并給出清晰的表達(dá),使之成為編碼的依據(jù)。有了這一步,編碼工作就容易多了,更重要的是會給以后的軟件維護(hù)帶來方便。,5.1 概 述,在詳細(xì)設(shè)計階段,必須無歧義地描述必要的過程細(xì)節(jié),以便直接而簡單地導(dǎo)出源程序。為了把這些一般處理步驟的描述轉(zhuǎn)換為準(zhǔn)確的結(jié)構(gòu)和過程描述,就需要使用更具約束性的設(shè)計描述工具。,5.1 概 述,3種設(shè)計工具,5.1 概 述,過程規(guī)格說明工具可分為以下幾類: 圖示工具 列表工具 語言工具,5.2 結(jié)構(gòu)化構(gòu)造,20世紀(jì)60年代后期,針對詳細(xì)設(shè)計提出了一組邏輯構(gòu)造,這組構(gòu)造
2、強(qiáng)調(diào)“維持一定的功能域”,每個構(gòu)造有一個預(yù)定的邏輯結(jié)構(gòu),每個構(gòu)造都從頂部進(jìn)入并從底部離開,利用這組邏輯構(gòu)造可以構(gòu)成任何程序。 這些構(gòu)造就是順序構(gòu)造、條件構(gòu)造和重復(fù)構(gòu)造。,5.3 圖形設(shè)計工具,詳細(xì)設(shè)計中的圖形設(shè)計工具有程序流程圖、方塊圖、HIPO圖和PAD圖等,這些圖形工具提供了多種圖形樣式,可以方便地描述過程的細(xì)節(jié)。,5.3.1 程序流程圖,程序流程圖又稱為程序框圖,是程序設(shè)計中應(yīng)用最廣泛的算法描述工具。流程圖獨立于各種程序設(shè)計語言,且比較直觀、清晰,易于學(xué)習(xí)掌握。 然而它也是經(jīng)常被誤用的一種方法,其最大不足就是不夠規(guī)范,所用符號不統(tǒng)一,特別是任意使用箭頭會使程序的質(zhì)量受到很大影響。為此,必
3、須對流程圖的符號及使用加以嚴(yán)格限制,使之成為一個精確的、規(guī)范化的算法表達(dá)工具。,5.3.1 程序流程圖,(1)限制流程圖只能由幾種基本控制結(jié)構(gòu)組成,以使流程圖能描述結(jié)構(gòu)化程序。 任一程序流程圖都應(yīng)能由以下幾種基本控制結(jié)構(gòu)嵌套而成。 順序構(gòu)造用兩個方框和控制線(箭頭)表示。 條件構(gòu)造,即if - then - else構(gòu)造,用菱形判斷框表示,如果判斷為真,就執(zhí)行then部分的處理,如果判斷為假,就執(zhí)行else部分的處理。 重復(fù)構(gòu)造用兩種稍有不同的形式表示。 選擇構(gòu)造(或者說select - case構(gòu)造)實際上是if - then- else構(gòu)造的一種擴(kuò)充。,5.3.1 程序流程圖,基本控制結(jié)構(gòu)
4、,5.3.1 程序流程圖,嵌套構(gòu)造,5.3.2 方塊圖,方塊圖(又稱N-S圖、蔡平圖)是一種強(qiáng)制使用結(jié)構(gòu)化構(gòu)造的圖示工具 。,方塊圖表示的結(jié)構(gòu)化構(gòu)造,5.3.2 方塊圖,方塊圖具有下列特點: 明確規(guī)定功能域(即某一具體構(gòu)造的功能范圍),并且能很直觀地從圖形表示中看出來。 不能隨意分支或轉(zhuǎn)移。 可以很容易地確定局部數(shù)據(jù)和全程數(shù)據(jù)的作用域。 容易表示出遞歸結(jié)構(gòu)。,5.3.3 HIPO圖,HIPO(hierarchy plus input-process-output,層次加輸入-處理-輸出)圖是根據(jù)IBM公司研制的軟件設(shè)計與文件編制技術(shù)發(fā)展而來的。在概要設(shè)計、詳細(xì)設(shè)計、設(shè)計評審、測試和維護(hù)的不同階
5、段,都可以使用HIPO圖對設(shè)計進(jìn)行描述。 HIPO圖是一種圖示工具,其最重要的特征是能夠表示輸入/輸出數(shù)據(jù)(外部數(shù)據(jù)和內(nèi)部數(shù)據(jù)流程)與軟件的過程之間的關(guān)系。,5.3.3 HIPO圖,一組完整的HIPO圖由下列各部分組成。 層次圖(H圖):以層次方框形式表達(dá)程序主功能模塊與次功能模塊的關(guān)系。 高層IPO圖:針對H圖中的主功能模塊和次功能模塊,描述其輸入、處理及輸出等。 低層IPO圖:給出H圖中最底層的具體設(shè)計。,5.3.3 HIPO圖,實例:“訂單處理子系統(tǒng)”的H圖,“訂單處理了系統(tǒng)”的H圖,5.3.4 PAD圖,PAD(problem analysis diagram,問題分析圖)是一種用于軟
6、件詳細(xì)設(shè)計的表達(dá)形式,它綜合了流程圖、Warnier圖、方塊圖和偽碼等技術(shù)的一些特點,以二維樹的形式描述程序的邏輯,其主要優(yōu)點是程序結(jié)構(gòu)清晰,能夠直接導(dǎo)出程序代碼。 PAD可應(yīng)用于BASIC、FORTRAN、C等高級語言。在軟件需求分析和概要設(shè)計階段,PAD圖是當(dāng)前廣泛使用的一種軟件設(shè)計方法。PAD采用自頂向下、逐步求精和結(jié)構(gòu)化設(shè)計的原則,力求將模糊的問題解的概念逐步轉(zhuǎn)換成確定的、詳盡的過程。,5.3.4 PAD圖,PAD方法的基本原理,5.3.4 PAD圖,PAD圖設(shè)置的4種基本控制結(jié)構(gòu)。,PAD圖的基本控制結(jié)構(gòu),5.4 偽碼與程序設(shè)計語言,偽碼(pseudo-code)是控制結(jié)構(gòu)和某些編程
7、語言元素的簡寫符號,可以任意插入注釋,而且常采用詞句而不是表達(dá)式,所以偽碼實質(zhì)上是“文字流程圖”。 使用偽碼時,控制結(jié)構(gòu)一般用鋸齒狀縮格書寫來表示控制的嵌套。熟悉某種程序設(shè)計語言的設(shè)計人員所用的偽碼可能就是該語言的簡化版本。,5.4 偽碼與程序設(shè)計語言,程序設(shè)計語言(program design language,PDL,又稱詳細(xì)設(shè)計語言DDL)彌補(bǔ)了上述缺點,它是一種“混雜式語言”。 在這種語言中,采用某種語言(例如英語)的詞匯,但卻采用另一種語言(即一種結(jié)構(gòu)化編程語言)的全部語法,它用文本格式提供一種描述數(shù)據(jù)和處理的方法。程序設(shè)計語言有正規(guī)的句法,指出數(shù)據(jù)和處理結(jié)構(gòu),并用自然語言說明細(xì)節(jié)。
8、,5.4 偽碼與程序設(shè)計語言,一個典型的結(jié)構(gòu)化程序設(shè)計語言子集 :,5.4 偽碼與程序設(shè)計語言,在總體結(jié)構(gòu)上它和高級語言程序的相似之處主要有以下幾點: 關(guān)鍵字起到了骨架作用。 按程序結(jié)構(gòu)縮格書寫。,5.4 偽碼與程序設(shè)計語言,高級語言與程序設(shè)計語言所描述的程序仍有顯著的差別,主要差別表現(xiàn)在: 除去特定的若干關(guān)鍵字外,所描述的內(nèi)容還使用了簡單的自然語言,沒有高級語言那樣嚴(yán)格的語法限制,也完全可以采用中文來敘述。,5.5 各種詳細(xì)設(shè)計工具的比較,任何一種詳細(xì)設(shè)計工具如果使用得當(dāng),對設(shè)計都有很大的幫助;如果使用不當(dāng),即便是最好的工具也不會有什么幫助。一個詳細(xì)設(shè)計工具應(yīng)當(dāng)可以用來得到便于理解和復(fù)審的過
9、程表示。 此外詳細(xì)設(shè)計工具還應(yīng)當(dāng)增強(qiáng)編程的能力,以使程序事實上成為設(shè)計的一個自然產(chǎn)物。最后,利用詳細(xì)設(shè)計工具得到的設(shè)計表示還必須便于維護(hù),以使設(shè)計總是能夠正確地表達(dá)程序。,5.5 各種詳細(xì)設(shè)計工具的比較,根據(jù)上面介紹的一般特性,設(shè)計工具應(yīng)有下列屬性: 模塊性 簡明性 便于編輯 機(jī)器可讀性 可維護(hù)性 強(qiáng)行結(jié)構(gòu)化 自動處理 邏輯驗證 編程能力,5.6 詳細(xì)設(shè)計文件與復(fù)審,詳細(xì)設(shè)計完成后,計算機(jī)軟件產(chǎn)品開發(fā)文件編制指南中規(guī)定的這一階段應(yīng)交付的文件主要有: 詳細(xì)設(shè)計說明書。 初步的模塊開發(fā)卷宗。,5.6.1 詳細(xì)設(shè)計說明書,詳細(xì)設(shè)計說明書又稱程序設(shè)計說明書。編制本說明書的目的是,說明一個軟件系統(tǒng)各個層次中的每一個程序的設(shè)計考慮,如實現(xiàn)算法、邏輯流程等。,5.6.2 詳細(xì)設(shè)計的復(fù)審,軟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘肅省酒泉市2025-2026年高三上期末考試思想政治試卷(含解析)
- 醫(yī)療資源分配中的國際援助效果評估
- 老年護(hù)理中的清潔技巧與竅門
- 云南大學(xué)滇池學(xué)院《思想政治教育(黨建實務(wù)實訓(xùn))》2024-2025 學(xué)年第一學(xué)期期末試卷
- 2026年中國科學(xué)院海西研究院泉州裝備制造研究中心所創(chuàng)新平臺業(yè)務(wù)主管招聘備考題庫及1套參考答案詳解
- 《GBT 1279-2008化學(xué)試劑 十二水合硫酸鐵(Ⅲ)銨》專題研究報告
- 2026年南昌市政公用集團(tuán)公開招聘備考題庫及參考答案詳解
- 2026年東莞濱海灣未來學(xué)校招聘科創(chuàng)實驗室研究員備考題庫及參考答案詳解1套
- 2026年中國人民大學(xué)黨委宣傳部招聘備考題庫及答案詳解一套
- 2026年成都農(nóng)商銀行關(guān)于產(chǎn)業(yè)金融崗社會招聘的備考題庫附答案詳解
- 2026年廣東農(nóng)墾火星農(nóng)場有限公司公開招聘作業(yè)區(qū)管理人員備考題庫及參考答案詳解
- 腫瘤化療導(dǎo)致的中性粒細(xì)胞減少診治中國專家共識解讀
- 2025年查對制度考核考試題庫(答案+解析)
- 云南省2025年普通高中學(xué)業(yè)水平合格性考試歷史試題
- 四川省2025年高職單招職業(yè)技能綜合測試(中職類)汽車類試卷(含答案解析)
- 《工會法》及《勞動合同法》教學(xué)課件
- 股權(quán)轉(zhuǎn)讓協(xié)議書常電子版(2篇)
- 2023年副主任醫(yī)師(副高)-推拿學(xué)(副高)考試歷年高頻考點真題演練附帶含答案
- 產(chǎn)品質(zhì)量法課件
- 《食品包裝學(xué)(第三版)》教學(xué)PPT課件整套電子講義
- plc電機(jī)正反轉(zhuǎn)-教案
評論
0/150
提交評論