總體設(shè)計與詳細(xì)設(shè)計_第1頁
總體設(shè)計與詳細(xì)設(shè)計_第2頁
總體設(shè)計與詳細(xì)設(shè)計_第3頁
總體設(shè)計與詳細(xì)設(shè)計_第4頁
總體設(shè)計與詳細(xì)設(shè)計_第5頁
已閱讀5頁,還剩97頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、總體設(shè)計與詳細(xì)設(shè)計,系統(tǒng)設(shè)計的任務(wù),根據(jù)已批準(zhǔn)的系統(tǒng)分析報告,依照系統(tǒng)邏輯模型和實際運(yùn)行環(huán)境以及經(jīng)濟(jì)技術(shù)條件,確定新系統(tǒng)的物理實施方案 將邏輯模型轉(zhuǎn)換為物理模型的過程,邏輯模型,物理模型,系統(tǒng)設(shè)計的原則,系統(tǒng)性,靈活性,可靠性,經(jīng)濟(jì)性,513 系統(tǒng)設(shè)計的主要內(nèi)容,1、系統(tǒng)總體結(jié)構(gòu)設(shè)計 2、代碼設(shè)計 3、數(shù)據(jù)庫(文件)設(shè)計 4、輸入/輸出設(shè)計 5、處理流程設(shè)計 6、程序流程設(shè)計 7、系統(tǒng)設(shè)計文檔,系統(tǒng)設(shè)計的步驟,1、系統(tǒng)總體設(shè)計 2、詳細(xì)設(shè)計 3、系統(tǒng)實施進(jìn)度與計劃的制定 4、系統(tǒng)設(shè)計說明書的編寫,系統(tǒng)總體結(jié)構(gòu)設(shè)計,1 系統(tǒng)總體功能結(jié)構(gòu)設(shè)計概述 2 模塊和模塊結(jié)構(gòu) 3 模塊分解的原則 4 控制結(jié)

2、構(gòu)圖的繪制 5 系統(tǒng)平臺設(shè)計,系統(tǒng)總體功能結(jié)構(gòu)設(shè)計概述,1系統(tǒng)總體設(shè)計的任務(wù) 根據(jù)系統(tǒng)分析文檔資料和系統(tǒng)的邏輯模型設(shè)計新系統(tǒng)的物理模型和物理結(jié)構(gòu)。 2系統(tǒng)總體設(shè)計的基本要求 能夠?qū)崿F(xiàn)邏輯模型所規(guī)定的信息服務(wù)功能 系統(tǒng)具有一定的適應(yīng)性和可修改性和可擴(kuò)充性 3系統(tǒng)總體設(shè)計的主要問題及其解決方法 主要問題:系統(tǒng)各部分之間的信息關(guān)聯(lián),造成“波動效應(yīng)”,使系統(tǒng)設(shè)計、修改和維護(hù)困難 解決方法:采用結(jié)構(gòu)化設(shè)計和模塊化設(shè)計的思想方法,系統(tǒng)總體功能結(jié)構(gòu)設(shè)計概述,結(jié)構(gòu)化設(shè)計的三個要點(diǎn): 系統(tǒng)性 自頂向下分解 層次性 模塊化設(shè)計的基本思想: 把一個信息系統(tǒng)設(shè)計成若干模塊的方法稱為模塊化 將系統(tǒng)設(shè)計成由相對獨(dú)立、單一

3、功能的模塊組成的結(jié)構(gòu) 圖示,模塊和模塊結(jié)構(gòu),1概述 結(jié)構(gòu)化設(shè)計借助一套標(biāo)準(zhǔn)的設(shè)計原則和圖表工具,把系統(tǒng)分成若干模塊,各模塊可通過結(jié)構(gòu)化語言、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)基本符號 圖示 (2)表示方式 (3)模塊調(diào)用規(guī)則 每個模塊都有特定的任務(wù),只有上級模塊才能調(diào)用下級模塊 只有上下級模塊之間才能通信 相鄰模塊必須通過各自的上級模塊傳遞才能間接通信 模塊按照自

4、上而下的順序調(diào)用,模塊和模塊結(jié)構(gòu),4)數(shù)據(jù)傳送 圖示 (5)控制信息傳送 (6)轉(zhuǎn)接符號的使用 4模塊分解的基本結(jié)構(gòu)類型 順序結(jié)構(gòu)+選擇結(jié)構(gòu)+循環(huán)結(jié)構(gòu) 圖示,模塊分解的原則,1模塊的獨(dú)立性 2模塊的凝聚性 (1)偶然凝聚 (2)邏輯凝聚 (3)時間凝聚 (4)數(shù)據(jù)凝聚 (5)功能凝聚 3模塊耦合 (1)數(shù)據(jù)耦合 (2)控制耦合 (3)內(nèi)容耦合,控制結(jié)構(gòu)圖的繪制,1繪制的依據(jù)和過程 依據(jù):數(shù)據(jù)流程圖。 過程:首先將上層數(shù)據(jù)流程圖映射為上層控制結(jié)構(gòu)圖,由頂層數(shù)據(jù)流程圖開始,逐級下推,每一層數(shù)據(jù)流程圖中的處理功能映射為相應(yīng)的模塊。 圖示 2以轉(zhuǎn)換為中心結(jié)構(gòu)的模塊分解 分解為輸入、處理、輸出三大部分。

5、教材P173圖5-11 圖示 3以業(yè)務(wù)為中心結(jié)構(gòu)的模塊分解 分解一個檢查業(yè)務(wù)類型模塊和一個調(diào)度類型模塊,調(diào)度類型模塊可以繼續(xù)分為不同處理邏輯的子模塊。 教材P174圖5-13 圖示,系統(tǒng)平臺設(shè)計,管理信息系統(tǒng)平臺設(shè)計包括計算機(jī)處理方式,網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,網(wǎng)絡(luò)操作系統(tǒng)的選擇,數(shù)據(jù)庫管理系統(tǒng)的選擇等軟、硬件選擇與設(shè)計工作等。 1、按管理信息系統(tǒng)的目標(biāo)選擇系統(tǒng)平臺 單項業(yè)務(wù)系統(tǒng) 綜合業(yè)務(wù)管理系統(tǒng) 集成管理系統(tǒng) 信息處理模式 2、計算機(jī)處理方式的選擇和設(shè)計 選擇根據(jù) 選擇方式 3、計算機(jī)網(wǎng)絡(luò)系統(tǒng)的設(shè)計 有關(guān)內(nèi)容請參考計算機(jī)網(wǎng)絡(luò)的技術(shù)書籍,系統(tǒng)平臺設(shè)計,4、數(shù)據(jù)庫管理系統(tǒng)的選擇 選擇原則 5、軟、硬件選擇

6、根據(jù)系統(tǒng)需要和資源約束進(jìn)行選擇 采用采購招標(biāo)方式進(jìn)行 硬件的選擇原則 軟件的選擇原則,數(shù)據(jù)庫設(shè)計,1 文件設(shè)計 2 數(shù)據(jù)庫設(shè)計的要求和步驟 3 概念結(jié)構(gòu)設(shè)計 4 邏輯結(jié)構(gòu)設(shè)計 說明:關(guān)系模型在第二章已講,數(shù)據(jù)庫的物理實現(xiàn)用VFP,機(jī)房上機(jī),文件設(shè)計,文件設(shè)計就是根據(jù)文件的使用要求、處理方式、存儲量、數(shù)據(jù)的活動性以及硬件設(shè)備的條件等,合理地確定文件類別,選擇文件介質(zhì),決定文件的組織方式和存取方法。 1、文件的分類 主文件(靜態(tài)文件+動態(tài)文件) 業(yè)務(wù)文件 輸入文件 輸出文件 工作文件 轉(zhuǎn)存文件,531 文件設(shè)計,2、文件設(shè)計的步驟 了解已有的或可提供的計算機(jī)系統(tǒng)功能 確定文件設(shè)計的基本指標(biāo) 與其他

7、文件的接口 文件的數(shù)據(jù)量 文件的邏輯結(jié)構(gòu) 文件的處理方式 文件的使用率 文件的存取時間 文件的保密 確定合適的文件組織方式、存取方式和介質(zhì) 編寫文件設(shè)計說明書,數(shù)據(jù)庫設(shè)計的要求和步驟,1數(shù)據(jù)庫設(shè)計的要求 滿足用戶要求 滿足數(shù)據(jù)庫管理系統(tǒng)要求 具有較高的范式 2數(shù)據(jù)庫設(shè)計的步驟 (1)數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計 (2)數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計 (3)數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計,533 概念結(jié)構(gòu)設(shè)計,1概念模型的表示方法 E-R圖+實例分析 2確定系統(tǒng)實體、屬性與聯(lián)系 3確定局部E-R圖(含屬性圖) 4確定完整E-R圖 將各個局部E-R圖合并為完整E-R圖 5優(yōu)化E-R圖,概念結(jié)構(gòu)設(shè)計,具體操作: 通讀文字描述,

8、確定所有實體,用矩形表示 通讀文字描述,逐一確定各實體之間的聯(lián)系,并用菱形表示 標(biāo)出各聯(lián)系的類型 用橢圓添加實體屬性,并用下劃線注明主屬性,工廠物資管理 (較完整的E-R圖示例,實體 倉庫、零件、供應(yīng)商、項目、職工 實體間的聯(lián)系 一個倉庫可以存放多種零件,一種零件可存放在多個倉庫中 一個倉庫有多個職工當(dāng)倉庫保管員,一個職工只能在一個倉庫工作 職工中有領(lǐng)導(dǎo):倉庫主任 供應(yīng)關(guān)系中都是多對多的關(guān)系,工廠物資管理實體及其屬性圖,工廠物資管理實體及其屬性圖,工廠物資管理實體及其聯(lián)系圖,完整的E-R圖,主碼,邏輯結(jié)構(gòu)設(shè)計,1概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型的原則 一個實體轉(zhuǎn)換為一個關(guān)系,實體的屬性就是關(guān)系的屬性

9、,實體的碼就是關(guān)系的碼 一個聯(lián)系也轉(zhuǎn)換為一個關(guān)系,聯(lián)系的屬性以及聯(lián)系所連接的實體的屬性轉(zhuǎn)換為關(guān)系的屬性,碼的轉(zhuǎn)換: 1:1聯(lián)系兩端實體的碼都成為關(guān)系的候選碼 1:n聯(lián)系n端實體的碼成為關(guān)系的碼 m:n聯(lián)系兩端實體的碼組合成為關(guān)系的碼 2關(guān)系的轉(zhuǎn)換 實體關(guān)系;聯(lián)系關(guān)系;碼屬性用下劃線 3關(guān)系的合并 將具有相同碼的關(guān)系合并 關(guān)系模型的優(yōu)化范式理論,代碼設(shè)計,1 代碼概述 2 代碼設(shè)計方法 3 管理信息系統(tǒng)中的代碼,代碼設(shè)計,代碼社會現(xiàn)象: 全國公民的身份證號碼 學(xué)生的學(xué)號 職工的職工號 銀行操作員編號 數(shù)據(jù)流程圖中的代碼,代碼概述,1、定義 代碼(Code)是人為確定的代表客觀事物(實體)名稱、屬

10、性或狀態(tài)的符號或者是這些符號的組合。 2、作用 唯一化 +規(guī)范化 +系統(tǒng)化 +快速化,代碼設(shè)計方法,1代碼設(shè)計的原則 (1)足夠的容量;(2)按屬性系統(tǒng)化;(3)分類的柔性;(4)系統(tǒng)間的協(xié)調(diào) 2代碼的類型 (1)順序碼 以某種順序形式編碼。 (2)數(shù)字碼(成組碼) 即以純數(shù)字符號形式編碼。區(qū)間碼+層次碼。 (3)字符碼(表意碼) 即以純字符形式編碼(英文、漢語拼音等)。 (4)混合碼 即以數(shù)字和字符混合形式編碼。 (5)其他 重復(fù)碼+專用碼 +組合碼,代碼設(shè)計方法,3代碼的設(shè)計方法 (1)線分類方法 線分類方法的主要出發(fā)點(diǎn)是:首先給定母項,母項下分若干子項,由對象的母項分大集合,由大集合確定

11、小集合,最后落實到具體對象。舉例 。 (2)面分類方法 主要從面角度來考慮分類。 舉例。代碼3212表示材料為鋼的1.0mm圓頭的鍍鉻螺釘,代碼設(shè)計方法,4代碼的校驗 (1)錄入代碼時的可能錯誤: 識別錯誤+易位錯誤+雙易位錯誤+隨機(jī)錯誤 (2)避免代碼錄入出現(xiàn)錯誤的辦法 增加校驗位。 (3)校驗位的確定步驟 理論+舉例,代碼設(shè)計方法,4代碼的校驗 原設(shè)計的一組代碼為五位:32456,確定權(quán)數(shù)為7,6,5,4,3 求代碼每一位Ci與其對應(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

12、=11 取余R,R = SMOD(M) = 91MOD(11) = 3 校驗位C6 = R = 3 最終代碼為: C1C2C3CC5C6 ,即324563 使用時為:324563,管理信息系統(tǒng)中的代碼,1部門代碼 采用成組碼。前兩位為部門編碼,后兩位為科室編碼。 2人員代碼 可以采用順序碼或組合碼。 3物資代碼 采用成組碼,并用表意碼輔助。 4設(shè)備代碼 采用組合碼。產(chǎn)品代碼+部門代碼+順序號構(gòu)成的物資碼,管理信息系統(tǒng)中的代碼,5產(chǎn)品代碼 采用成組碼或表意碼。EWH-69C。 6工程代碼 采用成組碼。序列號+年份+工程性質(zhì) 7會計科目代碼 采用成組碼。分段分級設(shè)計代碼,詳細(xì)設(shè)計,概述 結(jié)構(gòu)化構(gòu)造

13、 圖形設(shè)計工具 偽碼與程序設(shè)計語言 各種詳細(xì)設(shè)計工具的比較 詳細(xì)設(shè)計文件與復(fù)審,概 述,概要設(shè)計完成了程序的總體結(jié)構(gòu)設(shè)計,規(guī)定了各個模塊的功能及各模塊之間的相互聯(lián)系,再進(jìn)一步,要考慮每個模塊內(nèi)部的算法問題。 從軟件開發(fā)的工程化觀點(diǎn)來看,在使用程序設(shè)計語言編寫程序以前,需要對算法的邏輯關(guān)系進(jìn)行分析,并給出清晰的表達(dá),使之成為編碼的依據(jù)。 這一步工作不僅編碼工作容易多了,而且給軟件的維護(hù)帶來了很多的方便,在理想的情況下,詳細(xì)設(shè)計步驟需要的過程描述應(yīng)當(dāng)用自然語言來表達(dá)。 但是,詳細(xì)設(shè)計必須是無歧義地描述過程的細(xì)節(jié),而自然語言卻不具有單一性。必須使用更有約束性的方式來表示過程細(xì)節(jié)。 在概要設(shè)計期間,每

14、個模塊被定義為軟件總體結(jié)構(gòu)的組成部分,用自然語言編寫結(jié)構(gòu)圖和接口說明、模塊的處理說明和性能說明。 為了把這些簡明的、無歧義的一般處理步驟的描述轉(zhuǎn)換為準(zhǔn)確的、結(jié)構(gòu)過程的描述,就需要使用設(shè)計描述工具,結(jié)構(gòu)化 構(gòu)造,過程規(guī)格說明的工具稱之為詳細(xì)設(shè)計工具,可分為: 圖形工具:把過程的細(xì)節(jié)表示成一個“圖”的組成部分,在這個圖上,邏輯構(gòu)造用具體的圖形來表示。 列表工具:用一個表來表示過程的細(xì)節(jié),表列出了各種操作及相應(yīng)的條件。 語言工具:用類語言來表示過程的細(xì)節(jié),類語言很接近編程語言。 不管屬于哪一類,一種設(shè)計工具應(yīng)表現(xiàn)出控制的流程、處理功能、數(shù)據(jù)的組織及實現(xiàn)的細(xì)節(jié),詳細(xì)設(shè)計的基礎(chǔ)在60年代初期開始奠定和充

15、實的。60年代后期,提出了一組邏輯構(gòu)造,利用這組邏輯構(gòu)造可以構(gòu)成任何程序。這組構(gòu)造強(qiáng)調(diào)“維持一定的功能域”。也就是說,每個構(gòu)造有一個預(yù)定的邏輯結(jié)構(gòu),每個構(gòu)造都從頂部進(jìn)入并從底部離去。 順序構(gòu)造是實現(xiàn)任何一個算法的基本處理步驟。 條件構(gòu)造根據(jù)某種邏輯條件的出現(xiàn)而選擇相應(yīng)的處理步驟。 重復(fù)構(gòu)造則是為循環(huán)而設(shè)置的。 這三種構(gòu)造是結(jié)構(gòu)程序設(shè)計軟件工程領(lǐng)域中的一種重要方法的基礎(chǔ),提出這些結(jié)構(gòu)化構(gòu)造的目的是限制軟件的過程設(shè)計,只允許采用幾種預(yù)定的操作。 采用這些結(jié)構(gòu)化構(gòu)造將減少程序的復(fù)雜性,從而提高軟件的可讀性、可測試性和可維護(hù)性。 使用有限的幾種邏輯構(gòu)造還有助于人們用“成塊識別”的方式去理解進(jìn)程。 任何

16、一個程序,不管它的應(yīng)用領(lǐng)域或技術(shù)復(fù)雜性如何,都可以僅僅用這3種結(jié)構(gòu)化構(gòu)造來設(shè)計和實現(xiàn),詳細(xì)設(shè)計中的圖形工具有: 流程圖 方塊圖(N-S圖) HIPO圖 PAD圖等 這些圖形工具提供了極好的圖形樣式,通過它們,可以方便地描述過程的細(xì)節(jié),圖形設(shè)計 工具,流程圖獨(dú)立于各種程序設(shè)計語言,比較直觀、清晰,易于學(xué)習(xí)掌握。然而,它也是經(jīng)常被誤用的一種方法。 為使流程圖能描述結(jié)構(gòu)化程序,限制流程圖只能由幾種基本控制結(jié)構(gòu)組成,或者說任一程序流程圖都應(yīng)能由幾種基本控制結(jié)構(gòu)嵌套而成。 ISO5807信息處理數(shù)據(jù)流程圖、程序流程圖、系統(tǒng)流程圖、程序網(wǎng)絡(luò)圖和系統(tǒng)資源圖的文件編制符號及約定中對程序流程圖的符號做出了規(guī)定,

17、例 】畫出實現(xiàn)符號函數(shù)的流程圖,通常,當(dāng)需要從一組嵌套的循環(huán)構(gòu)造或者嵌套的條件構(gòu)造中離去時,只簡單地采用結(jié)構(gòu)化構(gòu)造有可能使效率降低,甚至沿著離去路徑使所有邏輯測試復(fù)雜化,從而使軟件的控制流程變得模糊不清,增加了出錯的可能性,并且對可讀性和可維護(hù)性也有不良影響。這時,可以有兩種選擇: 重新設(shè)計程序流程,使得在控制流程的嵌套部位不需要出現(xiàn)離去分支。 有控制地采用非結(jié)構(gòu)化的構(gòu)造;也就是說,設(shè)計成有限制地從嵌套流程中往外分支,方塊圖是一種強(qiáng)制使用結(jié)構(gòu)化構(gòu)造的圖示工具,具有下列特點(diǎn): 明確規(guī)定功能域 (即某一具體構(gòu)造的功能范圍) ,并且很直觀地從圖形表示中看出來。 不可能隨意分支或轉(zhuǎn)移。 可以很容易地確

18、定局部數(shù)據(jù)和 (或) 全程數(shù)據(jù)的作用域。 容易表示出遞歸結(jié)構(gòu),NS圖是一種不允許破壞結(jié)構(gòu)化的圖形算法描述工具。 在NS圖中去掉了流程圖中易引起麻煩的流程線,全部算法都寫在一個框內(nèi),每一種結(jié)構(gòu)也是一個框,例 】畫出實現(xiàn)符號函數(shù)的NS圖,對應(yīng)與一個結(jié)構(gòu)化流程圖的方塊圖,HIPO(層次加輸入-處理-輸出) 是根據(jù)IBM公司研制的軟件設(shè)計與文件編制技術(shù)發(fā)展而來的一種圖示工具。 在概要設(shè)計、詳細(xì)設(shè)計、設(shè)計評審、測試和維護(hù)的不同階段,都可以使用HIPO圖對設(shè)計進(jìn)行描述。 HIPO圖的最重要的特征是它能夠表示輸入/輸出數(shù)據(jù) (外部數(shù)據(jù)和內(nèi)部數(shù)據(jù)流程) 與軟件的過程之間的關(guān)系。 完整的一組HIPO圖由下列各部

19、分組成: 層次圖 (H圖) :以層次方框形式表達(dá)程序主功能模塊與次功能模塊的關(guān)系。 高層IPO圖:針對H圖中的主功能模塊和次功能模塊,描述其輸入,處理功及輸出等。 低層IPO圖:給出H圖中最低層次的具體設(shè)計,在畫H圖時要注意幾個問題: 根據(jù)經(jīng)驗,一般每層畫3-10個功能模塊為宜。 對于畫到第幾層為止則無統(tǒng)一標(biāo)準(zhǔn),視具體情況而定。 畫高層IPO時,從H層第一層開始畫,按自上而下,從左到右的順序畫出H圖中每個方框 (除最底層外) 的IPO圖。在IPO圖上給出哪些是輸入,處理的功能是什么,輸出什么。 為了避免規(guī)模和維護(hù)上的復(fù)雜性問題,大多數(shù)項目的HIPO圖只深入到某一層,PAD (問題分析圖) 是一

20、種用于軟件詳細(xì)設(shè)計的表達(dá)形式: 綜合流程圖、Warnier圖(類似判定樹)、方塊圖和偽碼等技術(shù)的一些特點(diǎn); 以二維樹的形式描述程序的邏輯; 主要優(yōu)點(diǎn)是程序結(jié)構(gòu)清晰,能夠直接導(dǎo)出程序代碼,并對其一致性進(jìn)行檢查; 可應(yīng)用于BASIC、FORTRAN、COBOL、PASCAL等高級語言; 支持軟件需求分析和概要設(shè)計階段,PAD圖采用自頂向下、逐步求精和結(jié)構(gòu)化設(shè)計的原則: 力求將模糊的問題解的概念逐步轉(zhuǎn)換成確定的、詳盡的過程。 最終可采用計算機(jī)進(jìn)行處理。 PAD為軟件設(shè)計提供了3種基本控制結(jié)構(gòu)(順序、循環(huán)和選擇)描述,首先要從系統(tǒng)設(shè)計的一種模糊的概念出發(fā),將過程描述為: 過程順序部分的表示 過程重復(fù)部

21、分的表示 過程選擇部分的表示 重復(fù)上述步驟,直到過程完全確定和詳盡為止,PAD圖對應(yīng)的程序執(zhí)行的步驟: PAD的執(zhí)行順序是從最左主干線的上端結(jié)點(diǎn),自上而下依次執(zhí)行。 當(dāng)遇到判斷或循環(huán)時,就自左而右進(jìn)入下一層從表示下一層的縱線上端開始執(zhí)行,直到該縱線下端,再返回上一層的縱線的轉(zhuǎn)入處。 如此繼續(xù),直到執(zhí)行到主干線的下端為止,例 】畫出實現(xiàn)符號函數(shù)的PAD圖,偽碼是控制結(jié)構(gòu)和某些編程語言元素的簡寫符號,可以任意插入注釋,實質(zhì)上是“文字流程圖”。 熟悉某種程序設(shè)計語言的設(shè)計人員所用的偽碼可能就是該語言的簡化版本 。 實際使用時,設(shè)計人員可以隨意增加偽碼的詳細(xì)程度,特別是針對可能產(chǎn)生二義性的地方。 偽碼

22、的缺點(diǎn)是不標(biāo)準(zhǔn),而且只有控制結(jié)構(gòu),對數(shù)據(jù)描述能力很差,偽碼設(shè)計 語言,程序設(shè)計語言 (PDL,又稱詳細(xì)設(shè)計語言DDL) 彌補(bǔ)了偽碼的缺點(diǎn),它是一種“混雜式語言”。 它采用某種語言 (例如英語) 的詞匯但卻采用另一種語言 (即一種結(jié)構(gòu)化編程語言) 的全部語法,它用文本格式提供一種描述數(shù)據(jù)和處理的方法。 PDL有正規(guī)的句法,指出數(shù)據(jù)和處理結(jié)構(gòu),并用自然語言說明細(xì)節(jié)。 雖然程序設(shè)計語言是不可執(zhí)行的,但可以對之開發(fā)出評價設(shè)計和轉(zhuǎn)換為源程序的自動化技術(shù),為了實現(xiàn)從詳細(xì)設(shè)計到編碼的自動轉(zhuǎn)換,各種程序設(shè)計語言都開發(fā)了相應(yīng)的PDL,如PDL/PASCAL,PDL/C,以及PDL/Ada等,它們利用程序設(shè)計語言

23、的語法結(jié)構(gòu),用自然語言表示某些控制信息,使面向設(shè)計的部分減少,面向?qū)崿F(xiàn)的部分增加,從而使程序設(shè)計語言更件接近可執(zhí)行代碼。 程序設(shè)計語言可分為三個部分: 數(shù)據(jù)說明 處理說明 I/O 對特殊的應(yīng)用,如多任務(wù)語句或?qū)崟r應(yīng)用等,可以提供專用的結(jié)構(gòu)和語句,PROCEDURE spellcheck IS 查找錯拼單詞 BEGIN split document into single words 將整個文檔分解成單詞 look up words in dictionary 在字典中查找這些單詞 display words which are not in dictionary 顯示找不到單詞 create

24、a new dictionary 造一個新字典 END spellcheck,在總體結(jié)構(gòu)上它和高級語言程序的相似之處主要在于: 關(guān)鍵字起到了骨架作用。 按程序結(jié)構(gòu)縮格書寫。 主要差別表現(xiàn)在:除去特定的若干關(guān)鍵字外,所描述的內(nèi)容也使用了簡單的自然語言,沒有高級語言那樣嚴(yán)格的語法限制。 程序設(shè)計語言是用于詳細(xì)設(shè)計階段的工具,這個階段的任務(wù)顯然與用高級語言編寫程序的任務(wù)完全不同。 程序設(shè)計語言把敘述性說明文直接插入到PDL語句中。由于混合使用敘述性說明文和形式化的過程形式,故一般無法對其進(jìn)行編譯,PDL可以是一種稍作變動的編程語言,或者是為程序設(shè)計而專門研制的語言。 作為一種程序設(shè)計語言,PDL應(yīng)當(dāng)

25、具有以下特征: 其關(guān)鍵字有固定語法,以便提供全部結(jié)構(gòu)化構(gòu)造、數(shù)據(jù)說明和模塊化特性。 一種自然語言的自由文法,用來描述處理性能。 有數(shù)據(jù)說明機(jī)制,包括簡單的 (標(biāo)量與數(shù)組) 與復(fù)雜的數(shù)據(jù)結(jié)構(gòu) (鏈表或?qū)哟谓Y(jié)構(gòu))。 有子程序定義與調(diào)用方法,用來表達(dá)各種方式的接口說明。 一個用程序設(shè)計語言描述的軟件設(shè)計應(yīng)當(dāng)可以轉(zhuǎn)換成匯編語言、FORTRAN或者Pascal,只是難易程度有所不同而已,任何一種詳細(xì)設(shè)計工具如果使用得當(dāng),對設(shè)計有很大幫助;如果使用不當(dāng),則即便是最好的工具也不會有什么幫助。 一個詳細(xì)設(shè)計工具應(yīng): 可以用來得到便于理解和復(fù)審的過程表示。 應(yīng)增強(qiáng)編程的能力,以便使程序事實上成為設(shè)計的一個自然的

26、產(chǎn)物。 得到的設(shè)計表達(dá)還必須便于維護(hù),以使設(shè)計總是能夠正確地表達(dá)程序,根據(jù)上面介紹的一般特性,設(shè)計工具應(yīng)具有: 模塊性:支持模塊化軟件的開發(fā)。 簡明性:應(yīng)易學(xué)、易用、易讀。 便于編輯:在設(shè)計、測試和維護(hù)階段便于修改。 機(jī)器可讀性:應(yīng)能直接輸入到計算機(jī)內(nèi)處理。 可維護(hù)性:軟件配置的維護(hù)意味對詳細(xì)設(shè)計的維護(hù)。 強(qiáng)行結(jié)構(gòu)化:會使人們養(yǎng)成良好的設(shè)計習(xí)慣。 自動處理:使設(shè)計人員對軟件的正確性與質(zhì)量有新的深入了解。 數(shù)據(jù)表示:應(yīng)具有直接地表示局部和全程數(shù)據(jù)的能力。 邏輯驗證:要達(dá)到設(shè)計邏輯的自動驗證這個首要目標(biāo)。 編程能力:所表示的設(shè)計可以很容易轉(zhuǎn)換成源程序,設(shè)計工具的選擇更大程度上取決于人的因素,而不是

27、取決于技術(shù)特性,詳細(xì)設(shè)計完畢,應(yīng)交付的文件有: 詳細(xì)設(shè)計說明書 初步的模塊開發(fā)卷宗,詳細(xì)設(shè)計文件 與復(fù)審,詳細(xì)設(shè)計說明書又稱程序設(shè)計說明書。 編制本說明書的目的是說明一個軟件系統(tǒng)各個層次中的每一個程序 (每個模塊或子程序) 的設(shè)計考慮,如實現(xiàn)算法、邏輯流程等,軟件的詳細(xì)設(shè)計完成以后,必須從正確性和可維護(hù)性兩個方面,對它的邏輯、數(shù)據(jù)結(jié)構(gòu)和界面等進(jìn)行檢查。 詳細(xì)設(shè)計的復(fù)審可用下列形式之一完成: 設(shè)計者和設(shè)計組的另一個成員一起進(jìn)行靜態(tài)檢查。 由一個檢查小組進(jìn)行的較正式的“結(jié)構(gòu)設(shè)計檢查”。 由檢查小組進(jìn)行的正式的“設(shè)計檢查”,對軟件設(shè)計質(zhì)量給出嚴(yán)肅的評價。 軟件開發(fā)的實踐表明,正式的詳細(xì)設(shè)計復(fù)審在發(fā)現(xiàn)某些類型的設(shè)計錯誤方面和測試一樣有效。 正確的態(tài)度是:在詳細(xì)設(shè)計復(fù)審中,不為設(shè)計辯護(hù),而是揭短,揭露出設(shè)計中的缺點(diǎn)錯誤,任何一個程序,都可以僅僅用順序、條件和重復(fù)三種結(jié)構(gòu)化構(gòu)造來設(shè)計和實現(xiàn),并且將減少程序的復(fù)雜性,提高可讀性、可測試性和可維護(hù)性。 用來表示詳細(xì)設(shè)計的工具分成三個大類圖形、列表和語言。 詳細(xì)設(shè)計中的設(shè)計工具主要有程序流程圖、方塊圖、HIPO圖和PAD圖、程序設(shè)計語言PDL以及判定表等。 詳細(xì)設(shè)計產(chǎn)生的主要文件是詳細(xì)設(shè)計說明書,它為編寫源代碼提供了必要的說明,小 結(jié),思考與習(xí)題,5-1 舉例說明你對概要設(shè)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論