總體設(shè)計(jì)與詳細(xì)設(shè)計(jì).ppt
《總體設(shè)計(jì)與詳細(xì)設(shè)計(jì).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《總體設(shè)計(jì)與詳細(xì)設(shè)計(jì).ppt(102頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
總體設(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)換為物理模型的過程,邏輯模型,物理模型,系統(tǒng)設(shè)計(jì)的原則,系統(tǒng)性,靈活性,可靠性,經(jīng)濟(jì)性,5.1.3系統(tǒng)設(shè)計(jì)的主要內(nèi)容,1、系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)2、代碼設(shè)計(jì)3、數(shù)據(jù)庫(文件)設(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ì)說明書的編寫,系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì),1系統(tǒng)總體功能結(jié)構(gòu)設(shè)計(jì)概述2模塊和模塊結(jié)構(gòu)3模塊分解的原則4控制結(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ì)的主要問題及其解決方法主要問題:系統(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ú)立、單一功能的模塊組成的結(jié)構(gòu)圖示,,模塊和模塊結(jié)構(gòu),1.概述結(jié)構(gòu)化設(shè)計(jì)借助一套標(biāo)準(zhǔn)的設(shè)計(jì)原則和圖表工具,把系統(tǒng)分成若干模塊,各模塊可通過結(jié)構(gòu)化語言、N-S圖、IPO圖、決策表、決策樹等工具進(jìn)行描述。(UC矩陣逐層分析:系統(tǒng)-子系統(tǒng)-??欤?.模塊模塊是可以組合、分解和更換的基本單元。(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í)模塊之間才能通信相鄰模塊必須通過各自的上級(jí)模塊傳遞才能間接通信模塊按照自上而下的順序調(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ù)和過程依據(jù):數(shù)據(jù)流程圖。過程:首先將上層數(shù)據(jù)流程圖映射為上層控制結(jié)構(gòu)圖,由頂層數(shù)據(jù)流程圖開始,逐級(jí)下推,每一層數(shù)據(jù)流程圖中的處理功能映射為相應(yīng)的模塊。圖示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ù)庫管理系統(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)絡(luò)的技術(shù)書籍,系統(tǒng)平臺(tái)設(shè)計(jì),4、數(shù)據(jù)庫管理系統(tǒng)的選擇選擇原則5、軟、硬件選擇根據(jù)系統(tǒng)需要和資源約束進(jìn)行選擇采用采購招標(biāo)方式進(jìn)行硬件的選擇原則軟件的選擇原則,數(shù)據(jù)庫設(shè)計(jì),1文件設(shè)計(jì)2數(shù)據(jù)庫設(shè)計(jì)的要求和步驟3概念結(jié)構(gòu)設(shè)計(jì)4邏輯結(jié)構(gòu)設(shè)計(jì)說明:關(guān)系模型在第二章已講,數(shù)據(jù)庫的物理實(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)存文件,5.3.1文件設(shè)計(jì),2、文件設(shè)計(jì)的步驟了解已有的或可提供的計(jì)算機(jī)系統(tǒng)功能確定文件設(shè)計(jì)的基本指標(biāo)與其他文件的接口文件的數(shù)據(jù)量文件的邏輯結(jié)構(gòu)文件的處理方式文件的使用率文件的存取時(shí)間文件的保密確定合適的文件組織方式、存取方式和介質(zhì)編寫文件設(shè)計(jì)說明書,數(shù)據(jù)庫設(shè)計(jì)的要求和步驟,1.?dāng)?shù)據(jù)庫設(shè)計(jì)的要求滿足用戶要求滿足數(shù)據(jù)庫管理系統(tǒng)要求具有較高的范式2.?dāng)?shù)據(jù)庫設(shè)計(jì)的步驟(1)數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)(2)數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)(3)數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì),,,,,,5.3.3概念結(jié)構(gòu)設(shè)計(jì),1.概念模型的表示方法E-R圖+實(shí)例分析2.確定系統(tǒng)實(shí)體、屬性與聯(lián)系3.確定局部E-R圖(含屬性圖)4.確定完整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í)體倉庫、零件、供應(yīng)商、項(xiàng)目、職工實(shí)體間的聯(lián)系一個(gè)倉庫可以存放多種零件,一種零件可存放在多個(gè)倉庫中一個(gè)倉庫有多個(gè)職工當(dāng)倉庫保管員,一個(gè)職工只能在一個(gè)倉庫工作職工中有領(lǐng)導(dǎo):倉庫主任供應(yīng)關(guān)系中都是多對(duì)多的關(guān)系,工廠物資管理實(shí)體及其屬性圖,工廠物資管理實(shí)體及其屬性圖,工廠物資管理實(shí)體及其聯(lián)系圖,完整的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)象:全國公民的身份證號(hào)碼學(xué)生的學(xué)號(hào)職工的職工號(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)字符碼(表意碼)即以純字符形式編碼(英文、漢語拼音等)。(4)混合碼即以數(shù)字和字符混合形式編碼。(5)其他重復(fù)碼+專用碼+組合碼。,代碼設(shè)計(jì)方法,3.代碼的設(shè)計(jì)方法(1)線分類方法線分類方法的主要出發(fā)點(diǎn)是:首先給定母項(xiàng),母項(xiàng)下分若干子項(xiàng),由對(duì)象的母項(xiàng)分大集合,由大集合確定小集合……,最后落實(shí)到具體對(duì)象。舉例。(2)面分類方法主要從面角度來考慮分類。舉例。代碼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與其對(duì)應(yīng)的權(quán)數(shù)Pi的乘積之和SS=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.產(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ì)語言各種詳細(xì)設(shè)計(jì)工具的比較詳細(xì)設(shè)計(jì)文件與復(fù)審,概述,概要設(shè)計(jì)完成了程序的總體結(jié)構(gòu)設(shè)計(jì),規(guī)定了各個(gè)模塊的功能及各模塊之間的相互聯(lián)系,再進(jìn)一步,要考慮每個(gè)模塊內(nèi)部的算法問題。從軟件開發(fā)的工程化觀點(diǎn)來看,在使用程序設(shè)計(jì)語言編寫程序以前,需要對(duì)算法的邏輯關(guān)系進(jìn)行分析,并給出清晰的表達(dá),使之成為編碼的依據(jù)。這一步工作不僅編碼工作容易多了,而且給軟件的維護(hù)帶來了很多的方便。,在理想的情況下,詳細(xì)設(shè)計(jì)步驟需要的過程描述應(yīng)當(dāng)用自然語言來表達(dá)。但是,詳細(xì)設(shè)計(jì)必須是無歧義地描述過程的細(xì)節(jié),而自然語言卻不具有單一性。必須使用更有約束性的方式來表示過程細(xì)節(jié)。在概要設(shè)計(jì)期間,每個(gè)模塊被定義為軟件總體結(jié)構(gòu)的組成部分,用自然語言編寫結(jié)構(gòu)圖和接口說明、模塊的處理說明和性能說明。為了把這些簡明的、無歧義的一般處理步驟的描述轉(zhuǎn)換為準(zhǔn)確的、結(jié)構(gòu)過程的描述,就需要使用設(shè)計(jì)描述工具。,結(jié)構(gòu)化構(gòu)造,過程規(guī)格說明的工具稱之為詳細(xì)設(shè)計(jì)工具,可分為:圖形工具:把過程的細(xì)節(jié)表示成一個(gè)“圖”的組成部分,在這個(gè)圖上,邏輯構(gòu)造用具體的圖形來表示。列表工具:用一個(gè)表來表示過程的細(xì)節(jié),表列出了各種操作及相應(yīng)的條件。語言工具:用類語言來表示過程的細(xì)節(jié),類語言很接近編程語言。不管屬于哪一類,一種設(shè)計(jì)工具應(yīng)表現(xiàn)出控制的流程、處理功能、數(shù)據(jù)的組織及實(shí)現(xiàn)的細(xì)節(jié)。,詳細(xì)設(shè)計(jì)的基礎(chǔ)在60年代初期開始奠定和充實(shí)的。60年代后期,提出了一組邏輯構(gòu)造,利用這組邏輯構(gòu)造可以構(gòu)成任何程序。這組構(gòu)造強(qiáng)調(diào)“維持一定的功能域”。也就是說,每個(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)造的目的是限制軟件的過程設(shè)計(jì),只允許采用幾種預(yù)定的操作。采用這些結(jié)構(gòu)化構(gòu)造將減少程序的復(fù)雜性,從而提高軟件的可讀性、可測試性和可維護(hù)性。使用有限的幾種邏輯構(gòu)造還有助于人們用“成塊識(shí)別”的方式去理解進(jìn)程。任何一個(gè)程序,不管它的應(yīng)用領(lǐng)域或技術(shù)復(fù)雜性如何,都可以僅僅用這3種結(jié)構(gòu)化構(gòu)造來設(shè)計(jì)和實(shí)現(xiàn)。,詳細(xì)設(shè)計(jì)中的圖形工具有:流程圖方塊圖(N-S圖)HIPO圖PAD圖等這些圖形工具提供了極好的圖形樣式,通過它們,可以方便地描述過程的細(xì)節(jié)。,圖形設(shè)計(jì)工具,流程圖獨(dú)立于各種程序設(shè)計(jì)語言,比較直觀、清晰,易于學(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)資源圖的文件編制符號(hào)及約定》中對(duì)程序流程圖的符號(hào)做出了規(guī)定。,,【例】畫出實(shí)現(xiàn)符號(hào)函數(shù)的流程圖。,通常,當(dāng)需要從一組嵌套的循環(huán)構(gòu)造或者嵌套的條件構(gòu)造中離去時(shí),只簡單地采用結(jié)構(gòu)化構(gòu)造有可能使效率降低,甚至沿著離去路徑使所有邏輯測試復(fù)雜化,從而使軟件的控制流程變得模糊不清,增加了出錯(cuò)的可能性,并且對(duì)可讀性和可維護(hù)性也有不良影響。這時(shí),可以有兩種選擇:重新設(shè)計(jì)程序流程,使得在控制流程的嵌套部位不需要出現(xiàn)離去分支。有控制地采用非結(jié)構(gòu)化的構(gòu)造;也就是說,設(shè)計(jì)成有限制地從嵌套流程中往外分支。,方塊圖是一種強(qiáng)制使用結(jié)構(gòu)化構(gòu)造的圖示工具,具有下列特點(diǎn):明確規(guī)定功能域(即某一具體構(gòu)造的功能范圍),并且很直觀地從圖形表示中看出來。不可能隨意分支或轉(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ā)展而來的一種圖示工具。在概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、設(shè)計(jì)評(píng)審、測試和維護(hù)的不同階段,都可以使用HIPO圖對(duì)設(shè)計(jì)進(jìn)行描述。HIPO圖的最重要的特征是它能夠表示輸入/輸出數(shù)據(jù)(外部數(shù)據(jù)和內(nèi)部數(shù)據(jù)流程)與軟件的過程之間的關(guān)系。完整的一組HIPO圖由下列各部分組成:層次圖(H圖):以層次方框形式表達(dá)程序主功能模塊與次功能模塊的關(guān)系。高層IPO圖:針對(duì)H圖中的主功能模塊和次功能模塊,描述其輸入,處理功及輸出等。低層IPO圖:給出H圖中最低層次的具體設(shè)計(jì)。,在畫H圖時(shí)要注意幾個(gè)問題:根據(jù)經(jīng)驗(yàn),一般每層畫3-10個(gè)功能模塊為宜。對(duì)于畫到第幾層為止則無統(tǒng)一標(biāo)準(zhǔn),視具體情況而定。畫高層IPO時(shí),從H層第一層開始畫,按自上而下,從左到右的順序畫出H圖中每個(gè)方框(除最底層外)的IPO圖。在IPO圖上給出哪些是輸入,處理的功能是什么,輸出什么。為了避免規(guī)模和維護(hù)上的復(fù)雜性問題,大多數(shù)項(xiàng)目的HIPO圖只深入到某一層。,PAD(問題分析圖)是一種用于軟件詳細(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í)語言;支持軟件需求分析和概要設(shè)計(jì)階段。,PAD圖采用自頂向下、逐步求精和結(jié)構(gòu)化設(shè)計(jì)的原則:力求將模糊的問題解的概念逐步轉(zhuǎn)換成確定的、詳盡的過程。最終可采用計(jì)算機(jī)進(jìn)行處理。PAD為軟件設(shè)計(jì)提供了3種基本控制結(jié)構(gòu)(順序、循環(huán)和選擇)描述,首先要從系統(tǒng)設(shè)計(jì)的一種模糊的概念出發(fā),將過程描述為:過程順序部分的表示過程重復(fù)部分的表示過程選擇部分的表示重復(fù)上述步驟,直到過程完全確定和詳盡為止。,PAD圖對(duì)應(yīng)的程序執(zhí)行的步驟:PAD的執(zhí)行順序是從最左主干線的上端結(jié)點(diǎn),自上而下依次執(zhí)行。當(dāng)遇到判斷或循環(huán)時(shí),就自左而右進(jìn)入下一層從表示下一層的縱線上端開始執(zhí)行,直到該縱線下端,再返回上一層的縱線的轉(zhuǎn)入處。如此繼續(xù),直到執(zhí)行到主干線的下端為止。,,【例】畫出實(shí)現(xiàn)符號(hào)函數(shù)的PAD圖。,偽碼是控制結(jié)構(gòu)和某些編程語言元素的簡寫符號(hào),可以任意插入注釋,實(shí)質(zhì)上是“文字流程圖”。熟悉某種程序設(shè)計(jì)語言的設(shè)計(jì)人員所用的偽碼可能就是該語言的簡化版本。實(shí)際使用時(shí),設(shè)計(jì)人員可以隨意增加偽碼的詳細(xì)程度,特別是針對(duì)可能產(chǎn)生二義性的地方。偽碼的缺點(diǎn)是不標(biāo)準(zhǔn),而且只有控制結(jié)構(gòu),對(duì)數(shù)據(jù)描述能力很差。,偽碼設(shè)計(jì)語言,程序設(shè)計(jì)語言(PDL,又稱詳細(xì)設(shè)計(jì)語言DDL)彌補(bǔ)了偽碼的缺點(diǎn),它是一種“混雜式語言”。它采用某種語言(例如英語)的詞匯但卻采用另一種語言(即一種結(jié)構(gòu)化編程語言)的全部語法,它用文本格式提供一種描述數(shù)據(jù)和處理的方法。PDL有正規(guī)的句法,指出數(shù)據(jù)和處理結(jié)構(gòu),并用自然語言說明細(xì)節(jié)。雖然程序設(shè)計(jì)語言是不可執(zhí)行的,但可以對(duì)之開發(fā)出評(píng)價(jià)設(shè)計(jì)和轉(zhuǎn)換為源程序的自動(dòng)化技術(shù)。,為了實(shí)現(xiàn)從詳細(xì)設(shè)計(jì)到編碼的自動(dòng)轉(zhuǎn)換,各種程序設(shè)計(jì)語言都開發(fā)了相應(yīng)的PDL,如PDL/PASCAL,PDL/C,以及PDL/Ada等,它們利用程序設(shè)計(jì)語言的語法結(jié)構(gòu),用自然語言表示某些控制信息,使面向設(shè)計(jì)的部分減少,面向?qū)崿F(xiàn)的部分增加,從而使程序設(shè)計(jì)語言更件接近可執(zhí)行代碼。程序設(shè)計(jì)語言可分為三個(gè)部分:數(shù)據(jù)說明處理說明I/O對(duì)特殊的應(yīng)用,如多任務(wù)語句或?qū)崟r(shí)應(yīng)用等,可以提供專用的結(jié)構(gòu)和語句。,,PROCEDUREspellcheckIS查找錯(cuò)拼單詞BEGINsplitdocumentintosinglewords將整個(gè)文檔分解成單詞lookupwordsindictionary在字典中查找這些單詞displaywordswhicharenotindictionary顯示找不到單詞createanewdictionary造一個(gè)新字典ENDspellcheck,在總體結(jié)構(gòu)上它和高級(jí)語言程序的相似之處主要在于:關(guān)鍵字起到了骨架作用。按程序結(jié)構(gòu)縮格書寫。主要差別表現(xiàn)在:除去特定的若干關(guān)鍵字外,所描述的內(nèi)容也使用了簡單的自然語言,沒有高級(jí)語言那樣嚴(yán)格的語法限制。程序設(shè)計(jì)語言是用于詳細(xì)設(shè)計(jì)階段的工具,這個(gè)階段的任務(wù)顯然與用高級(jí)語言編寫程序的任務(wù)完全不同。程序設(shè)計(jì)語言把敘述性說明文直接插入到PDL語句中。由于混合使用敘述性說明文和形式化的過程形式,故一般無法對(duì)其進(jìn)行編譯。,PDL可以是一種稍作變動(dòng)的編程語言,或者是為程序設(shè)計(jì)而專門研制的語言。作為一種程序設(shè)計(jì)語言,PDL應(yīng)當(dāng)具有以下特征:其關(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á)各種方式的接口說明。一個(gè)用程序設(shè)計(jì)語言描述的軟件設(shè)計(jì)應(yīng)當(dāng)可以轉(zhuǎn)換成匯編語言、FORTRAN或者Pascal,只是難易程度有所不同而已。,任何一種詳細(xì)設(shè)計(jì)工具如果使用得當(dāng),對(duì)設(shè)計(jì)有很大幫助;如果使用不當(dāng),則即便是最好的工具也不會(huì)有什么幫助。一個(gè)詳細(xì)設(shè)計(jì)工具應(yīng):可以用來得到便于理解和復(fù)審的過程表示。應(yīng)增強(qiáng)編程的能力,以便使程序事實(shí)上成為設(shè)計(jì)的一個(gè)自然的產(chǎn)物。得到的設(shè)計(jì)表達(dá)還必須便于維護(hù),以使設(shè)計(jì)總是能夠正確地表達(dá)程序。,根據(jù)上面介紹的一般特性,設(shè)計(jì)工具應(yīng)具有:模塊性:支持模塊化軟件的開發(fā)。簡明性:應(yīng)易學(xué)、易用、易讀。便于編輯:在設(shè)計(jì)、測試和維護(hù)階段便于修改。機(jī)器可讀性:應(yīng)能直接輸入到計(jì)算機(jī)內(nèi)處理??删S護(hù)性:軟件配置的維護(hù)意味對(duì)詳細(xì)設(shè)計(jì)的維護(hù)。強(qiáng)行結(jié)構(gòu)化:會(huì)使人們養(yǎng)成良好的設(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ì)說明書初步的模塊開發(fā)卷宗。,詳細(xì)設(shè)計(jì)文件與復(fù)審,詳細(xì)設(shè)計(jì)說明書又稱程序設(shè)計(jì)說明書。編制本說明書的目的是說明一個(gè)軟件系統(tǒng)各個(gè)層次中的每一個(gè)程序(每個(gè)模塊或子程序)的設(shè)計(jì)考慮,如實(shí)現(xiàn)算法、邏輯流程等。,軟件的詳細(xì)設(shè)計(jì)完成以后,必須從正確性和可維護(hù)性兩個(gè)方面,對(duì)它的邏輯、數(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à)。軟件開發(fā)的實(shí)踐表明,正式的詳細(xì)設(shè)計(jì)復(fù)審在發(fā)現(xiàn)某些類型的設(shè)計(jì)錯(cuò)誤方面和測試一樣有效。正確的態(tài)度是:在詳細(xì)設(shè)計(jì)復(fù)審中,不為設(shè)計(jì)辯護(hù),而是揭短,揭露出設(shè)計(jì)中的缺點(diǎn)錯(cuò)誤。,任何一個(gè)程序,都可以僅僅用順序、條件和重復(fù)三種結(jié)構(gòu)化構(gòu)造來設(shè)計(jì)和實(shí)現(xiàn),并且將減少程序的復(fù)雜性,提高可讀性、可測試性和可維護(hù)性。用來表示詳細(xì)設(shè)計(jì)的工具分成三個(gè)大類——圖形、列表和語言。詳細(xì)設(shè)計(jì)中的設(shè)計(jì)工具主要有程序流程圖、方塊圖、HIPO圖和PAD圖、程序設(shè)計(jì)語言PDL以及判定表等。詳細(xì)設(shè)計(jì)產(chǎn)生的主要文件是詳細(xì)設(shè)計(jì)說明書,它為編寫源代碼提供了必要的說明。,小結(jié),思考與習(xí)題,5-1舉例說明你對(duì)概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)的理解。有不需要概要設(shè)計(jì)的情況嗎?5-2請(qǐng)為一個(gè)程序進(jìn)行詳細(xì)設(shè)計(jì),該程序接收一串任意長度的字符串文本作為輸入,并列表輸出文本中出現(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),用來產(chǎn)生流程圖的方塊圖。(2)一個(gè)判定表分析程序。(3)一個(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ì)語言和表格工具。圖示工具中,(A)簡單而應(yīng)用廣泛、(B)表示法中,每一個(gè)處理過程用一個(gè)盒子表示,盒子可以嵌套。(C)可以縱橫延伸,圖形的空間效果好。(D)是一種設(shè)計(jì)語言,它是一種面向(E)的語言。若用判定表來描述圖5-14所示的流程圖。將b1,b2,b3作為條件欄s1,s2作為操作欄,則化簡后的判定表中應(yīng)有(F)個(gè)規(guī)則。圖5-14習(xí)題5-5供選擇的答案:A-C:①NS圖②流程圖③HIPO圖④PAD圖D:①C②PDL③PROLOG④PASCALE:①人②機(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í),用來表示模塊間的調(diào)用關(guān)系的圖叫做(B)圖。根據(jù)輸入輸出的數(shù)據(jù)結(jié)構(gòu)產(chǎn)生程序結(jié)構(gòu)的設(shè)計(jì)方法叫做(C)方法。用來描述軟件設(shè)計(jì)結(jié)果的一種著名的語言是(D)。可以用(E)圖描述輸入、處理、輸出三者之間的關(guān)系。供選擇的答案:A:①邏輯②詳細(xì)③程序④一般B,E:①PAD②HCP③SC④SADT⑤HIPO⑥NSC:①Dijkstra②Parnas③Wirth④JacksonD:①PDL②APL③PSL④SDL,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 總體 設(shè)計(jì) 詳細(xì)
鏈接地址:http://italysoccerbets.com/p-3660078.html