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