軟件工程-第8章-詳細設計_第1頁
軟件工程-第8章-詳細設計_第2頁
軟件工程-第8章-詳細設計_第3頁
軟件工程-第8章-詳細設計_第4頁
軟件工程-第8章-詳細設計_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

8.2詳細設計的工具詳細設計工具包括圖形,表格,語言三類。不論是哪一類工具,都應該指明控制流,處理功能,數(shù)據(jù)組織以及其它方面的實現(xiàn)細節(jié),從而在編碼階段能把對設計的描述直接翻譯成程序代碼。描述程序處理過程的工具稱為詳細設計工具。1.程序流程圖2.盒圖(N-S圖)3.問題分析圖(PAD)5.過程設計語言(PDL)(偽碼)4.判定樹與判定表1.程序流程圖

程序流程圖又稱為程序框圖,是詳細設計中最古老、使用最廣泛的圖形描述工具。是流經(jīng)一個系統(tǒng)的信息流、觀點流或部件流的圖形代表。

流程圖由一些圖框和流程線組成,圖框表示操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后。最簡單的結構是矩形(代表處理)和菱形(代表決策)。五種基本控制結構:

示例程序流程圖的規(guī)定符號1)順序型結構

順序結構由帶箭頭的控制線依次連接幾個處理方框構成。

處理1處理2處理n…例題

2)

選擇型結構

選擇型結構是流程圖中最為常用的結構,其結構構造有兩種,一種是條件選擇結構又稱為IF-THEN-ELSE結構,使用菱形表現(xiàn)邏輯判定條件,條件結果決定選擇兩個處理方框中的一個。處理1處理2決策條件……結果YesELSE部分THEN部分No……No處理1決策條件1Yes處理2決策條件2Yes處理n決策條件nYesNoNo例題

3)

循環(huán)型結構

重復執(zhí)行某種功能的程序時就用到循環(huán)結構,流程圖中循環(huán)型結構分為兩種,一種是先判定型循環(huán),又稱為DO-WHILE型循環(huán)結構,測試一個循環(huán)控制條件為真時,就重復執(zhí)行特定的處理。循環(huán)條件處理NoYes例題先判定型循環(huán)結構流程圖先判定再執(zhí)行

4)

循環(huán)型結構

另一種是后判定型循環(huán),又稱為Repeat-Until型循環(huán)結構,重復執(zhí)行某特定的處理,直到控制條件成立為止。循環(huán)條件處理NoYes例題先執(zhí)行再判斷,至少執(zhí)行一次指定的操作后判定型循環(huán)結構流程圖

5)

綜合嵌套型結構

流程圖的優(yōu)缺點(1)優(yōu)點:它獨立于任何一種程序設計語言,比較直觀,清晰,易于掌握。(2)缺點:流程圖所使用的符號不夠規(guī)范,常常使用一些習慣性用法。特別是表示程序控制流程的前頭,使用的靈活性極大,程序員可以不受任何約束隨意轉移控制。(3)對程序圖所用的符號做出嚴格的定義,不允許人們隨心所欲地畫出各種不規(guī)范的流程圖。2、盒圖(N-S圖)1973年,Nassi和Shneiderman發(fā)表了題為“結構化程序的流程圖技術”的文章,提出用盒圖(Boxdiagram)來代替?zhèn)鹘y(tǒng)的流程圖,引起了人們的重視,根據(jù)這兩位創(chuàng)始人的名字,許多人把它簡稱為N-S圖(N-Schart)。N-S的主要特色,就是只能描述結構化程序所允許的標準結構,根本取消了表現(xiàn)諸如含有GOTO語句的非標準結構的手段。用方框圖代替?zhèn)鹘y(tǒng)的流程圖,N-S結構流程圖也成為盒圖,是一種符合結構化程序設計原則的圖形描述工具。N-S圖對五種基本控制結構,由五種圖形構件表示。(a)順序;(b)選擇;(c)CASE多分支;(d)循環(huán);(e)調(diào)用子程序A示例X5abX1bX4iFFghX2X3cX=1X=2dTX=3eX6FFTTT結束開始T1)功能域(即一個特定控制結構的作用域)明確2)不可能任意轉移控制3)很容易確定局部和全程數(shù)據(jù)的作用域4)很容易表現(xiàn)嵌套關系,也可以表示模塊的層次結構N-S圖的特點N-S圖示例ab條件1TF

CaseXi,i=2,3,4X2X3X4當條件3成立條件2直到條件4成立直到條件成立cdefghij順序結構選擇結構多分支選擇結構先判定型循環(huán)結構后判定型循環(huán)結構FTTF例1:startifpthenwhileqdofenddoelseblockgnendblockendifstop例2:以下是兩個程序流程圖,試用N—S圖表示。N-S圖的優(yōu)缺點(1)優(yōu)點:所有的程序結構均用方框來表示,無論并列或者嵌套,程序的結構清晰可見。而且,由于它只能表達結構化的程序邏輯,使應用N-S圖來描述軟件設計的人不得不遵守結構化程序設計的規(guī)定。久而久之,就可自然地養(yǎng)成良好的程序設計風格。(2)缺點:當程序內(nèi)嵌套的層數(shù)增多時,內(nèi)層的方塊越畫越小,不僅會增加畫圖的困難,并將使圖形的清晰性受到影響。N-S圖的擴展形式擴展:要相應位置用名字(用橢園框),在另外的地方把這些命名的部分進一步展開。3、問題分析圖(PAD)(ProblemAnalysisDiagram)PAD圖是日本日立公司于1979年提出的一種算法描述工具,現(xiàn)已等到ISO認可。它是一種由左往右展開的二維樹型結構。PAD圖的控制流程為自上而下,從左往右地執(zhí)行。優(yōu)點:清晰地反映了程序的層次結構。(層次數(shù)即為縱線數(shù))支持逐步求精的設計方法,左邊層次中的內(nèi)容可以抽象,然后由左到右逐步細化。易讀易寫,使用方便(比流程圖)。支持結構化的程序設計原理。可自動生成程序。PAD也設置了五種基本控制結構的圖式,并允許遞歸使用。PAD描述的示例

對應于增量型循環(huán)結構

for

i:=n1

to

n2

step

n3

do

在PAD中有相應的循環(huán)控制結構PAD的擴充控制結構使用PAD圖提供的定義功能來逐步求精的例子(a)初始的PAD圖;(b)使用def符號細化處理框P2例1:startifpthenwhileqdofenddoelseblockgnendblockendifstop例2:以下是兩個程序流程圖,試用PAD圖表示。使用PAD符號設計的程序必然是結構化的程序.PAD圖所描繪的程序結構十分清晰.用PAD圖表現(xiàn)程序邏輯,易讀,易記,易懂.容易將PAD圖轉換成高級語言源程序.可用軟件工具實現(xiàn)自動轉換.即可以表示程序邏輯,也可以描繪數(shù)據(jù)結構.支持自頂向下,逐步求精方法的使用.PAD圖的優(yōu)點:4、判定表

程序流程圖、N-S圖、PAD圖都不易清楚的描述含有多重嵌套的條件選擇。判定表可以清晰的表示復雜的條件組合與其對應的處理之間的關系。

一張判定表由4部分組成,左上部列出所有條件,左下部是所有可能做的動作,右上部是表示各種條件組合的一個矩陣,右下部是和每種條件組合相對應的動作.判定表右半部實質(zhì)上是一條規(guī)則,規(guī)定了與特定條件組合相對應的動作.所有條件條件組合矩陣與每種條件組合所對應的動作表所有可能的動作列表國內(nèi)乘客頭等艙殘疾乘客行李≤30kg免費(W-30)*2(W-30)*3(W-30)*4(W-30)*6(W-30)*8(W-30)*12TTTFTTTTTTTTTTFFFFFFFFFFFFFFFFFFF×××××××××例1假設某航空公司規(guī)定,乘客可以免費托運重量不超過30公斤的行李。當行李重量超過30公斤時,對頭等艙的國內(nèi)乘客超重部分每公斤收費4元,對其它艙的國內(nèi)乘客超重部分每公斤收費6元,對外國乘客超重部分每公斤收費比國內(nèi)乘客多一倍,對殘疾乘客超重部分每公斤收費比正常乘客少一半。用判定表來表示與上述每種條件組合相對應的動作。用判定表表示計算行李費算法

12345教授

TFFF副教授

FTFF講師

FFTF助教

FFFT講座TFFFF50×

30

×

25

×

20

×

15

×例2:某校制定了教師的講課課時津貼標準。對于各種性質(zhì)的講座,無論教師是什么職稱,每課時津貼費一律是50元;而對于一般的授課,則根據(jù)教師的職稱來決定每課時津貼費:教授30元,副教授25元,講師20元,助教15元。行李費算法行李重量

W>30國內(nèi)乘客外國乘客頭等艙其它艙殘疾乘客----(W-30)*2正常乘客----(W-30)*4殘疾乘客----(W-30)*3正常乘客----(W-30)*6頭等艙其它艙殘疾乘客----(W-30)*4正常乘客----(W-30)*8殘疾乘客----(W-30)*6正常乘客----(W-30)*12行李重量

W≤30免費判定樹是判定表的變體,其優(yōu)點是形式簡單,不需要任何說明,一眼就可以看出它的含義.5、判定樹例1、某廠對部分職工重新分配工作的政策是:年齡在20歲以下者,初中文化程度脫產(chǎn)學習。高中文化程度當電工;年齡在20—40歲之間者,中學文化程度男性當鉗工,女性當車工,大學文化程度都當技術員。年齡在40歲以上者,中學文化程度當材料員,大學文化程度當技術員。請用判定表或判定樹描述上述問題的加工邏輯。分析:本題條件包括年齡、文化程度、性別三個,構成的判定條件取值表如表所示所有的組合條件為3X3x2=182、用判定表描述“檢查定貨單”的處理邏輯:“如果金額超過1000元而又未過期,則發(fā)出批準單和提貨單。如果金額超過2000元,但已過期,則不發(fā)出批準單和提貨單。如果金額低于2000元,則不論是否過期,都發(fā)出批準單和提貨單,而且對低于2000元已過期的還需發(fā)出通知單”。6、PDL語言8.3詳細設計說明書引言程序系統(tǒng)的組織結構關鍵程序的設計說明詳細設計說明書規(guī)格例1例2例3填空題1.詳細設計階段主要完成的任務是——。2.軟件的詳細設計可以采用——、——、—————三種形式的描述工具表示模塊的處理過程。設計出模塊的執(zhí)行過程。圖、表、過程設計語言3.Jackson方法可以實現(xiàn)從——中推導出程序結構數(shù)據(jù)結構4.程序流程圖稱——,包括三個基本的成分:——,——,——。5.為了實現(xiàn)使用程序流程圖描述結構化程序,必須限制程序流程圖只使用以下五種基本控制結構——、——、——、——、——。6.PAD圖是一種描述程序邏輯結構的圖形工具,這種圖形由程序流程圖演化而來,它把程序的結構表示成——結構。程序框圖加工處理步驟邏輯條件控制流向順序型選擇型先判定(while)型循環(huán)后判定(until)型循環(huán)多情況(case)型選擇二維樹型7.過程設計語言屬于一種——,是一種描述——的語言。8.Jackson方法簡稱JSD,是一種典型的——的設計方法。面向數(shù)據(jù)結構偽碼模塊算法設計及處理細節(jié)1.軟件詳細設計階段的任務是()。A.算法設計B.功能設計C.調(diào)用關系設計D.輸入/輸出設計選擇題2.軟件詳細設計階段主要采用的工具是()A.DFDB.PADC.DDD.SAAB3.軟件詳細設計階段采用自左向右的二維圖形結構描述算法的是().A.IPOB.JSPC.PADD.JSDC4.軟件詳細設計階段的任務是()。A.確定程序文件名B.確定模塊的算法

C.確定變量名D.確定使用的語言B5.結構化程序設計采用的思想是()。

A.篩選法B.逐步求精法C.迭代法D.遞歸法B6.軟件詳細設計階段屬于軟件生存周期的()階段。A.需求分析B.軟件設計

C編碼D.軟件維護B7.以語言形式描述模塊算法的是()。A.PADB.程序流程圖C.PDLD.盒圖C8、為了使程序能在不同的計算機上運行,程序應當具有較好的()

A.可移植性B.可重用性C.可維護性D.可適用性A9、下列屬于功能性注釋的是()。A.說明模塊的用處和功能的注釋B.說明數(shù)據(jù)的名稱和用處的注釋C.說明程序段的注釋D.說明程序開發(fā)背景的注釋C10.下面對提高程序編碼效率沒有影響的是()。

A.選擇良好的設計方法B.選擇良好的算法C.選擇良好的數(shù)據(jù)結構D.變量名的使用D11.軟件詳細設計的主要任務是確定每個模塊的()A.功能B.外部接口C.算法和使用的數(shù)據(jù)結構D.編程實現(xiàn)12.下面關于PDL語言不正確的說法是()A.PDL的外層語法必須符合一般程序設計語言常用的語法規(guī)則B.PDL是一種偽碼C.PDL只是描述加工的具體實現(xiàn)D.PDL是描述處理過程怎么做13.PAD圖在()可以大大提高開發(fā)效率A.系統(tǒng)分析B.自動分析數(shù)據(jù)C.軟件的自動化生成D.測試軟件CCC14.下列工具在軟件詳細設計過程中不常用的是()

A.PDLB.N—S圖C.DFD圖D.PAD圖15.Jackson方法是軟件設計中用到的一種常用的設計方法,使用Jackson方法可以實現(xiàn)()。A.從模塊結構中導出數(shù)據(jù)結構B.從模塊結構中導出程序結構C.從數(shù)據(jù)流圖中導出初始的結構圖D.從結構圖導出程序結構CD應用題begins1;

ifx>5thens2elses3;

whiley<Odobeginifz>3thens4elses5;

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論