總體設計與詳細設計.ppt
《總體設計與詳細設計.ppt》由會員分享,可在線閱讀,更多相關《總體設計與詳細設計.ppt(102頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、總體設計與詳細設計,,系統(tǒng)設計的任務,根據(jù)已批準的系統(tǒng)分析報告,依照系統(tǒng)邏輯模型和實際運行環(huán)境以及經(jīng)濟技術條件,確定新系統(tǒng)的物理實施方案 將邏輯模型轉換為物理模型的過程,邏輯模型,物理模型,系統(tǒng)設計的原則,系統(tǒng)性,靈活性,可靠性,經(jīng)濟性,513 系統(tǒng)設計的主要內(nèi)容,1、系統(tǒng)總體結構設計 2、代碼設計 3、數(shù)據(jù)庫(文件)設計 4、輸入/輸出設計 5、處理流程設計 6、程序流程設計 7、系統(tǒng)設計文檔,系統(tǒng)設計的步驟,1、系統(tǒng)總體設計 2、詳細設計 3、系統(tǒng)實施進度與計劃的制定 4、系統(tǒng)設計說明書的編寫,系統(tǒng)總體結構設計,1 系統(tǒng)總體功能結構設計概述 2 模塊和模塊結構 3 模塊分解的原則 4 控制
2、結構圖的繪制 5 系統(tǒng)平臺設計,系統(tǒng)總體功能結構設計概述,1系統(tǒng)總體設計的任務 根據(jù)系統(tǒng)分析文檔資料和系統(tǒng)的邏輯模型設計新系統(tǒng)的物理模型和物理結構。 2系統(tǒng)總體設計的基本要求 能夠?qū)崿F(xiàn)邏輯模型所規(guī)定的信息服務功能 系統(tǒng)具有一定的適應性和可修改性和可擴充性 3系統(tǒng)總體設計的主要問題及其解決方法 主要問題:系統(tǒng)各部分之間的信息關聯(lián),造成“波動效應”,使系統(tǒng)設計、修改和維護困難 解決方法:采用結構化設計和模塊化設計的思想方法,系統(tǒng)總體功能結構設計概述,結構化設計的三個要點: 系統(tǒng)性 自頂向下分解 層次性 模塊化設計的基本思想: 把一個信息系統(tǒng)設計成若干模塊的方法稱為模塊化 將系統(tǒng)設計成由相對獨立、
3、單一功能的模塊組成的結構 圖示,,模塊和模塊結構,1概述 結構化設計借助一套標準的設計原則和圖表工具,把系統(tǒng)分成若干模塊,各模塊可通過結構化語言、N-S圖、IPO圖、決策表、決策樹等工具進行描述。 (UC矩陣逐層分析:系統(tǒng)-子系統(tǒng)-??欤?2模塊 模塊是可以組合、分解和更換的基本單元。 (1)輸入和輸出 (2)功能 (3)位置 (4)內(nèi)部數(shù)據(jù) (5)處理邏輯 (6)程序代碼,模塊和模塊結構,3控制結構圖 (1)基本符號 圖示 (2)表示方式 (3)模塊調(diào)用規(guī)則 每個模塊都有特定的任務,只有上級模塊才能調(diào)用下級模塊 只有上下級模塊之間才能通信 相鄰模塊必須通過各自的上級
4、模塊傳遞才能間接通信 模塊按照自上而下的順序調(diào)用,,,,模塊和模塊結構,(4)數(shù)據(jù)傳送 圖示 (5)控制信息傳送 (6)轉接符號的使用 4模塊分解的基本結構類型 順序結構+選擇結構+循環(huán)結構 圖示,,模塊分解的原則,1模塊的獨立性 2模塊的凝聚性 (1)偶然凝聚 (2)邏輯凝聚 (3)時間凝聚 (4)數(shù)據(jù)凝聚 (5)功能凝聚 3模塊耦合 (1)數(shù)據(jù)耦合 (2)控制耦合 (3)內(nèi)容耦合,控制結構圖的繪制,1繪制的依據(jù)和過程 依據(jù):數(shù)據(jù)流程圖。 過程:首先將上層數(shù)據(jù)流程圖映射為上層控制結構圖,由頂層數(shù)據(jù)流程圖開始,逐級下推,每一層數(shù)據(jù)流程圖中的處理功能映射為相應的模塊。 圖示
5、 2以轉換為中心結構的模塊分解 分解為輸入、處理、輸出三大部分。教材P173圖5-11 圖示 3以業(yè)務為中心結構的模塊分解 分解一個檢查業(yè)務類型模塊和一個調(diào)度類型模塊,調(diào)度類型模塊可以繼續(xù)分為不同處理邏輯的子模塊。 教材P174圖5-13 圖示,系統(tǒng)平臺設計,管理信息系統(tǒng)平臺設計包括計算機處理方式,網(wǎng)絡結構設計,網(wǎng)絡操作系統(tǒng)的選擇,數(shù)據(jù)庫管理系統(tǒng)的選擇等軟、硬件選擇與設計工作等。 1、按管理信息系統(tǒng)的目標選擇系統(tǒng)平臺 單項業(yè)務系統(tǒng) 綜合業(yè)務管理系統(tǒng) 集成管理系統(tǒng) 信息處理模式 2、計算機處理方式的選擇和設計 選擇根據(jù) 選擇方式 3、計算機網(wǎng)絡系統(tǒng)的設計 有關內(nèi)容請參考計算機網(wǎng)
6、絡的技術書籍,系統(tǒng)平臺設計,4、數(shù)據(jù)庫管理系統(tǒng)的選擇 選擇原則 5、軟、硬件選擇 根據(jù)系統(tǒng)需要和資源約束進行選擇 采用采購招標方式進行 硬件的選擇原則 軟件的選擇原則,數(shù)據(jù)庫設計,1 文件設計 2 數(shù)據(jù)庫設計的要求和步驟 3 概念結構設計 4 邏輯結構設計 說明:關系模型在第二章已講,數(shù)據(jù)庫的物理實現(xiàn)用VFP,機房上機。,文件設計,文件設計就是根據(jù)文件的使用要求、處理方式、存儲量、數(shù)據(jù)的活動性以及硬件設備的條件等,合理地確定文件類別,選擇文件介質(zhì),決定文件的組織方式和存取方法。 1、文件的分類 主文件(靜態(tài)文件+動態(tài)文件) 業(yè)務文件 輸入文件 輸出文件 工作文件 轉存文件,531 文件設計,
7、2、文件設計的步驟 了解已有的或可提供的計算機系統(tǒng)功能 確定文件設計的基本指標 與其他文件的接口 文件的數(shù)據(jù)量 文件的邏輯結構 文件的處理方式 文件的使用率 文件的存取時間 文件的保密 確定合適的文件組織方式、存取方式和介質(zhì) 編寫文件設計說明書,數(shù)據(jù)庫設計的要求和步驟,1數(shù)據(jù)庫設計的要求 滿足用戶要求 滿足數(shù)據(jù)庫管理系統(tǒng)要求 具有較高的范式 2數(shù)據(jù)庫設計的步驟 (1)數(shù)據(jù)庫的概念結構設計 (2)數(shù)據(jù)庫的邏輯結構設計 (3)數(shù)據(jù)庫的物理結構設計,,,,,,533 概念結構設計,1概念模型的表示方法 E-R圖+實例分析 2確定系統(tǒng)實體、屬性與聯(lián)系 3確定局部E-R圖(含屬性圖) 4
8、確定完整E-R圖 將各個局部E-R圖合并為完整E-R圖 5優(yōu)化E-R圖,概念結構設計,具體操作: 通讀文字描述,確定所有實體,用矩形表示 通讀文字描述,逐一確定各實體之間的聯(lián)系,并用菱形表示 標出各聯(lián)系的類型 用橢圓添加實體屬性,并用下劃線注明主屬性,,,工廠物資管理 (較完整的E-R圖示例),實體 倉庫、零件、供應商、項目、職工 實體間的聯(lián)系 一個倉庫可以存放多種零件,一種零件可存放在多個倉庫中 一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作 職工中有領導:倉庫主任 供應關系中都是多對多的關系,工廠物資管理實體及其屬性圖,工廠物資管理實體及其屬性圖,工廠物資管理實體及其聯(lián)系圖,
9、完整的E-R圖,主碼?,邏輯結構設計,1概念模型轉換為關系數(shù)據(jù)模型的原則 一個實體轉換為一個關系,實體的屬性就是關系的屬性,實體的碼就是關系的碼 一個聯(lián)系也轉換為一個關系,聯(lián)系的屬性以及聯(lián)系所連接的實體的屬性轉換為關系的屬性,碼的轉換: 1:1聯(lián)系兩端實體的碼都成為關系的候選碼 1:n聯(lián)系n端實體的碼成為關系的碼 m:n聯(lián)系兩端實體的碼組合成為關系的碼 2關系的轉換 實體關系;聯(lián)系關系;碼屬性用下劃線 3關系的合并 將具有相同碼的關系合并 關系模型的優(yōu)化范式理論,代碼設計,1 代碼概述 2 代碼設計方法 3 管理信息系統(tǒng)中的代碼,代碼設計,代碼社會現(xiàn)象: 全國公民的身份證號碼 學生的學號
10、 職工的職工號 銀行操作員編號 數(shù)據(jù)流程圖中的代碼,代碼概述,1、定義 代碼(Code)是人為確定的代表客觀事物(實體)名稱、屬性或狀態(tài)的符號或者是這些符號的組合。 2、作用 唯一化 +規(guī)范化 +系統(tǒng)化 +快速化,代碼設計方法,1代碼設計的原則 (1)足夠的容量;(2)按屬性系統(tǒng)化;(3)分類的柔性;(4)系統(tǒng)間的協(xié)調(diào) 2代碼的類型 (1)順序碼 以某種順序形式編碼。 (2)數(shù)字碼(成組碼) 即以純數(shù)字符號形式編碼。區(qū)間碼+層次碼。 (3)字符碼(表意碼) 即以純字符形式編碼(英文、漢語拼音等)。 (4)混合碼 即以數(shù)字和字符混合形式編碼。 (5)其他 重復碼+專用碼 +組合碼。,
11、代碼設計方法,3代碼的設計方法 (1)線分類方法 線分類方法的主要出發(fā)點是:首先給定母項,母項下分若干子項,由對象的母項分大集合,由大集合確定小集合,最后落實到具體對象。舉例 。 (2)面分類方法 主要從面角度來考慮分類。 舉例。代碼3212表示材料為鋼的1.0mm圓頭的鍍鉻螺釘。,,,代碼設計方法,4代碼的校驗 (1)錄入代碼時的可能錯誤: 識別錯誤+易位錯誤+雙易位錯誤+隨機錯誤 (2)避免代碼錄入出現(xiàn)錯誤的辦法 增加校驗位。 (3)校驗位的確定步驟 理論+舉例。,代碼設計方法,4代碼的校驗 原設計的一組代碼為五位:32456,確定權數(shù)為7,6,5,4,3 求代碼每一位Ci與其
12、對應的權數(shù)Pi的乘積之和S S= C1*P1+C2*P2++C5*P5 =3*7+2*6+4*5+5*4+6*3 =21+12+20+20+18=91 確定模M,M=11 取余R,R = SMOD(M) = 91MOD(11) = 3 校驗位C6 = R = 3 最終代碼為: C1C2C3CC5C6 ,即324563 使用時為:324563,管理信息系統(tǒng)中的代碼,1部門代碼 采用成組碼。前兩位為部門編碼,后兩位為科室編碼。 2人員代碼 可以采用順序碼或組合碼。 3物資代碼 采用成組碼,并用表意碼輔助。 4設備代碼 采用組合碼。產(chǎn)品代碼+部門代碼+順序號構成的物資碼。,管理信息系統(tǒng)中的代碼,5
13、產(chǎn)品代碼 采用成組碼或表意碼。EWH-69C。 6工程代碼 采用成組碼。序列號+年份+工程性質(zhì) 7會計科目代碼 采用成組碼。分段分級設計代碼。,詳細設計,,概述 結構化構造 圖形設計工具 偽碼與程序設計語言 各種詳細設計工具的比較 詳細設計文件與復審,概 述,概要設計完成了程序的總體結構設計,規(guī)定了各個模塊的功能及各模塊之間的相互聯(lián)系,再進一步,要考慮每個模塊內(nèi)部的算法問題。 從軟件開發(fā)的工程化觀點來看,在使用程序設計語言編寫程序以前,需要對算法的邏輯關系進行分析,并給出清晰的表達,使之成為編碼的依據(jù)。 這一步工作不僅編碼工作容易多了,而且給軟件的維護帶來了很多的方便。,在理想的情況下,詳細設
14、計步驟需要的過程描述應當用自然語言來表達。 但是,詳細設計必須是無歧義地描述過程的細節(jié),而自然語言卻不具有單一性。必須使用更有約束性的方式來表示過程細節(jié)。 在概要設計期間,每個模塊被定義為軟件總體結構的組成部分,用自然語言編寫結構圖和接口說明、模塊的處理說明和性能說明。 為了把這些簡明的、無歧義的一般處理步驟的描述轉換為準確的、結構過程的描述,就需要使用設計描述工具。,結構化 構造,過程規(guī)格說明的工具稱之為詳細設計工具,可分為: 圖形工具:把過程的細節(jié)表示成一個“圖”的組成部分,在這個圖上,邏輯構造用具體的圖形來表示。 列表工具:用一個表來表示過程的細節(jié),表列出了各種操作及相應的條件。 語言
15、工具:用類語言來表示過程的細節(jié),類語言很接近編程語言。 不管屬于哪一類,一種設計工具應表現(xiàn)出控制的流程、處理功能、數(shù)據(jù)的組織及實現(xiàn)的細節(jié)。,詳細設計的基礎在60年代初期開始奠定和充實的。60年代后期,提出了一組邏輯構造,利用這組邏輯構造可以構成任何程序。這組構造強調(diào)“維持一定的功能域”。也就是說,每個構造有一個預定的邏輯結構,每個構造都從頂部進入并從底部離去。 順序構造是實現(xiàn)任何一個算法的基本處理步驟。 條件構造根據(jù)某種邏輯條件的出現(xiàn)而選擇相應的處理步驟。 重復構造則是為循環(huán)而設置的。 這三種構造是結構程序設計軟件工程領域中的一種重要方法的基礎。,提出這些結構化構造的目的是限制軟件的過程設計,
16、只允許采用幾種預定的操作。 采用這些結構化構造將減少程序的復雜性,從而提高軟件的可讀性、可測試性和可維護性。 使用有限的幾種邏輯構造還有助于人們用“成塊識別”的方式去理解進程。 任何一個程序,不管它的應用領域或技術復雜性如何,都可以僅僅用這3種結構化構造來設計和實現(xiàn)。,詳細設計中的圖形工具有: 流程圖 方塊圖(N-S圖) HIPO圖 PAD圖等 這些圖形工具提供了極好的圖形樣式,通過它們,可以方便地描述過程的細節(jié)。,圖形設計 工具,流程圖獨立于各種程序設計語言,比較直觀、清晰,易于學習掌握。然而,它也是經(jīng)常被誤用的一種方法。 為使流程圖能描述結構化程序,限制流程圖只能由幾種基本控制結構組成,
17、或者說任一程序流程圖都應能由幾種基本控制結構嵌套而成。 ISO5807信息處理數(shù)據(jù)流程圖、程序流程圖、系統(tǒng)流程圖、程序網(wǎng)絡圖和系統(tǒng)資源圖的文件編制符號及約定中對程序流程圖的符號做出了規(guī)定。,,【例 】畫出實現(xiàn)符號函數(shù)的流程圖。,通常,當需要從一組嵌套的循環(huán)構造或者嵌套的條件構造中離去時,只簡單地采用結構化構造有可能使效率降低,甚至沿著離去路徑使所有邏輯測試復雜化,從而使軟件的控制流程變得模糊不清,增加了出錯的可能性,并且對可讀性和可維護性也有不良影響。這時,可以有兩種選擇: 重新設計程序流程,使得在控制流程的嵌套部位不需要出現(xiàn)離去分支。 有控制地采用非結構化的構造;也就是說,設計成有限制地從嵌
18、套流程中往外分支。,方塊圖是一種強制使用結構化構造的圖示工具,具有下列特點: 明確規(guī)定功能域 (即某一具體構造的功能范圍) ,并且很直觀地從圖形表示中看出來。 不可能隨意分支或轉移。 可以很容易地確定局部數(shù)據(jù)和 (或) 全程數(shù)據(jù)的作用域。 容易表示出遞歸結構。,NS圖是一種不允許破壞結構化的圖形算法描述工具。 在NS圖中去掉了流程圖中易引起麻煩的流程線,全部算法都寫在一個框內(nèi),每一種結構也是一個框。,,【例 】畫出實現(xiàn)符號函數(shù)的NS圖。,對應與一個結構化流程圖的方塊圖,HIPO(層次加輸入-處理-輸出) 是根據(jù)IBM公司研制的軟件設計與文件編制技術發(fā)展而來的一種圖示工具。 在概要設計、詳細設計
19、、設計評審、測試和維護的不同階段,都可以使用HIPO圖對設計進行描述。 HIPO圖的最重要的特征是它能夠表示輸入/輸出數(shù)據(jù) (外部數(shù)據(jù)和內(nèi)部數(shù)據(jù)流程) 與軟件的過程之間的關系。 完整的一組HIPO圖由下列各部分組成: 層次圖 (H圖) :以層次方框形式表達程序主功能模塊與次功能模塊的關系。 高層IPO圖:針對H圖中的主功能模塊和次功能模塊,描述其輸入,處理功及輸出等。 低層IPO圖:給出H圖中最低層次的具體設計。,在畫H圖時要注意幾個問題: 根據(jù)經(jīng)驗,一般每層畫3-10個功能模塊為宜。 對于畫到第幾層為止則無統(tǒng)一標準,視具體情況而定。 畫高層IPO時,從H層第一層開始畫,按自上而下,從左到右的
20、順序畫出H圖中每個方框 (除最底層外) 的IPO圖。在IPO圖上給出哪些是輸入,處理的功能是什么,輸出什么。 為了避免規(guī)模和維護上的復雜性問題,大多數(shù)項目的HIPO圖只深入到某一層。,PAD (問題分析圖) 是一種用于軟件詳細設計的表達形式: 綜合流程圖、Warnier圖(類似判定樹)、方塊圖和偽碼等技術的一些特點; 以二維樹的形式描述程序的邏輯; 主要優(yōu)點是程序結構清晰,能夠直接導出程序代碼,并對其一致性進行檢查; 可應用于BASIC、FORTRAN、COBOL、PASCAL等高級語言; 支持軟件需求分析和概要設計階段。,PAD圖采用自頂向下、逐步求精和結構化設計的原則: 力求將模糊的問題解
21、的概念逐步轉換成確定的、詳盡的過程。 最終可采用計算機進行處理。 PAD為軟件設計提供了3種基本控制結構(順序、循環(huán)和選擇)描述,首先要從系統(tǒng)設計的一種模糊的概念出發(fā),將過程描述為: 過程順序部分的表示 過程重復部分的表示 過程選擇部分的表示 重復上述步驟,直到過程完全確定和詳盡為止。,PAD圖對應的程序執(zhí)行的步驟: PAD的執(zhí)行順序是從最左主干線的上端結點,自上而下依次執(zhí)行。 當遇到判斷或循環(huán)時,就自左而右進入下一層從表示下一層的縱線上端開始執(zhí)行,直到該縱線下端,再返回上一層的縱線的轉入處。 如此繼續(xù),直到執(zhí)行到主干線的下端為止。,,【例 】畫出實現(xiàn)符號函數(shù)的PAD圖。,偽碼是控制結構和某些
22、編程語言元素的簡寫符號,可以任意插入注釋,實質(zhì)上是“文字流程圖”。 熟悉某種程序設計語言的設計人員所用的偽碼可能就是該語言的簡化版本 。 實際使用時,設計人員可以隨意增加偽碼的詳細程度,特別是針對可能產(chǎn)生二義性的地方。 偽碼的缺點是不標準,而且只有控制結構,對數(shù)據(jù)描述能力很差。,偽碼設計 語言,程序設計語言 (PDL,又稱詳細設計語言DDL) 彌補了偽碼的缺點,它是一種“混雜式語言”。 它采用某種語言 (例如英語) 的詞匯但卻采用另一種語言 (即一種結構化編程語言) 的全部語法,它用文本格式提供一種描述數(shù)據(jù)和處理的方法。 PDL有正規(guī)的句法,指出數(shù)據(jù)和處理結構,并用自然語言說明細節(jié)。 雖然程
23、序設計語言是不可執(zhí)行的,但可以對之開發(fā)出評價設計和轉換為源程序的自動化技術。,為了實現(xiàn)從詳細設計到編碼的自動轉換,各種程序設計語言都開發(fā)了相應的PDL,如PDL/PASCAL,PDL/C,以及PDL/Ada等,它們利用程序設計語言的語法結構,用自然語言表示某些控制信息,使面向設計的部分減少,面向?qū)崿F(xiàn)的部分增加,從而使程序設計語言更件接近可執(zhí)行代碼。 程序設計語言可分為三個部分: 數(shù)據(jù)說明 處理說明 I/O 對特殊的應用,如多任務語句或?qū)崟r應用等,可以提供專用的結構和語句。,,PROCEDURE spellcheck IS 查找錯拼單詞 BEGIN split document into
24、 single words 將整個文檔分解成單詞 look up words in dictionary 在字典中查找這些單詞 display words which are not in dictionary 顯示找不到單詞 create a new dictionary 造一個新字典 END spellcheck,在總體結構上它和高級語言程序的相似之處主要在于: 關鍵字起到了骨架作用。 按程序結構縮格書寫。 主要差別表現(xiàn)在:除去特定的若干關鍵字外,所描述的內(nèi)容也使用了簡單的自然語言,沒有高級語言那樣嚴格的語法限制。 程序設計語言是用于詳細設計階段的工具,這個階段的任務
25、顯然與用高級語言編寫程序的任務完全不同。 程序設計語言把敘述性說明文直接插入到PDL語句中。由于混合使用敘述性說明文和形式化的過程形式,故一般無法對其進行編譯。,PDL可以是一種稍作變動的編程語言,或者是為程序設計而專門研制的語言。 作為一種程序設計語言,PDL應當具有以下特征: 其關鍵字有固定語法,以便提供全部結構化構造、數(shù)據(jù)說明和模塊化特性。 一種自然語言的自由文法,用來描述處理性能。 有數(shù)據(jù)說明機制,包括簡單的 (標量與數(shù)組) 與復雜的數(shù)據(jù)結構 (鏈表或?qū)哟谓Y構)。 有子程序定義與調(diào)用方法,用來表達各種方式的接口說明。 一個用程序設計語言描述的軟件設計應當可以轉換成匯編語言、FORTRA
26、N或者Pascal,只是難易程度有所不同而已。,任何一種詳細設計工具如果使用得當,對設計有很大幫助;如果使用不當,則即便是最好的工具也不會有什么幫助。 一個詳細設計工具應: 可以用來得到便于理解和復審的過程表示。 應增強編程的能力,以便使程序事實上成為設計的一個自然的產(chǎn)物。 得到的設計表達還必須便于維護,以使設計總是能夠正確地表達程序。,根據(jù)上面介紹的一般特性,設計工具應具有: 模塊性:支持模塊化軟件的開發(fā)。 簡明性:應易學、易用、易讀。 便于編輯:在設計、測試和維護階段便于修改。 機器可讀性:應能直接輸入到計算機內(nèi)處理。 可維護性:軟件配置的維護意味對詳細設計的維護。 強行結構化:會使人們養(yǎng)
27、成良好的設計習慣。 自動處理:使設計人員對軟件的正確性與質(zhì)量有新的深入了解。 數(shù)據(jù)表示:應具有直接地表示局部和全程數(shù)據(jù)的能力。 邏輯驗證:要達到設計邏輯的自動驗證這個首要目標。 編程能力:所表示的設計可以很容易轉換成源程序。,設計工具的選擇更大程度上取決于人的因素,而不是取決于技術特性。,詳細設計完畢,應交付的文件有: 詳細設計說明書 初步的模塊開發(fā)卷宗。,詳細設計文件 與復審,詳細設計說明書又稱程序設計說明書。 編制本說明書的目的是說明一個軟件系統(tǒng)各個層次中的每一個程序 (每個模塊或子程序) 的設計考慮,如實現(xiàn)算法、邏輯流程等。,軟件的詳細設計完成以后,必須從正確性和可維護性兩個方面,對
28、它的邏輯、數(shù)據(jù)結構和界面等進行檢查。 詳細設計的復審可用下列形式之一完成: 設計者和設計組的另一個成員一起進行靜態(tài)檢查。 由一個檢查小組進行的較正式的“結構設計檢查”。 由檢查小組進行的正式的“設計檢查”,對軟件設計質(zhì)量給出嚴肅的評價。 軟件開發(fā)的實踐表明,正式的詳細設計復審在發(fā)現(xiàn)某些類型的設計錯誤方面和測試一樣有效。 正確的態(tài)度是:在詳細設計復審中,不為設計辯護,而是揭短,揭露出設計中的缺點錯誤。,任何一個程序,都可以僅僅用順序、條件和重復三種結構化構造來設計和實現(xiàn),并且將減少程序的復雜性,提高可讀性、可測試性和可維護性。 用來表示詳細設計的工具分成三個大類圖形、列表和語言。 詳細設計中的設
29、計工具主要有程序流程圖、方塊圖、HIPO圖和PAD圖、程序設計語言PDL以及判定表等。 詳細設計產(chǎn)生的主要文件是詳細設計說明書,它為編寫源代碼提供了必要的說明。,小 結,思考與習題,5-1 舉例說明你對概要設計與詳細設計的理解。有不需要概要設計的情況嗎? 5-2 請為一個程序進行詳細設計,該程序接收一串任意長度的字符串文本作為輸入,并列表輸出文本中出現(xiàn)的字和每個字出現(xiàn)的次數(shù)。 5-3 本題是供小組完成的題目。請為一個自動化詳細設計工具進行需求分析、概要設計與詳細設計。這種自動化工具可以是: (1) 一個以計算機為基礎的繪圖系統(tǒng),用來產(chǎn)生流程圖的方塊圖。 (2) 一個判定表分析程序。 (3
30、) 一個PDL縮進編排輔助程序和流程分析程序。 5-4 某些人主張,如果詳細設計的詳細程度與包含在源程序中的細節(jié)十分接近時,也可以刪去詳細設計這個步驟,直接編寫程序就行了。對嗎?,5-5 從供選擇的答案中選出應填入下列關于軟件詳細設計敘述的 ( ) 內(nèi)的正確答案。 軟件詳細設計工具可分為三類,即:圖示工具、設計語言和表格工具。圖示工具中,( A ) 簡單而應用廣泛、( B ) 表示法中,每一個處理過程用一個盒子表示,盒子可以嵌套。( C ) 可以縱橫延伸,圖形的空間效果好。 ( D ) 是一種設計語言,它是一種面向 ( E ) 的語言。若用判定表來描述圖5-14所示的流程圖。將b1,b2,
31、b3作為條件欄s1,s2作為操作欄,則化簡后的判定表中應有 ( F ) 個規(guī)則。 圖5-14 習題5-5 供選擇的答案: A - C: NS圖 流程圖 HIPO圖 PAD圖 D: C PDL PROLOG PASCAL E: 人 機器 數(shù)據(jù)結構 對象 F: 8 4 6 2,5-6 從供選擇的答案中選出應該填入下列關于軟件的敘述的 ( ) 內(nèi)的正確答案。 軟件設計階段可劃分為概要設計階段和 ( A ) 設計階段。用結構化設計方法進行設計時,用來表示模塊間的調(diào)用關系的圖叫做 ( B ) 圖。根據(jù)輸入輸出的數(shù)據(jù)結構產(chǎn)生程序結構的設計方法叫做 ( C ) 方法。用來描述軟件設計結果的一種著名的語言是( D )??梢杂?( E ) 圖描述輸入、處理、輸出三者之間的關系。 供選擇的答案: A: 邏輯 詳細 程序 一般 B,E: PAD HCP SC SADT HIPO NS C: Dijkstra Parnas Wirth Jackson D: PDL APL PSL SDL,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。