軟件工程導(dǎo)論(5)詳細(xì)設(shè)計(jì)描述工具_(dá)第1頁
軟件工程導(dǎo)論(5)詳細(xì)設(shè)計(jì)描述工具_(dá)第2頁
軟件工程導(dǎo)論(5)詳細(xì)設(shè)計(jì)描述工具_(dá)第3頁
軟件工程導(dǎo)論(5)詳細(xì)設(shè)計(jì)描述工具_(dá)第4頁
軟件工程導(dǎo)論(5)詳細(xì)設(shè)計(jì)描述工具_(dá)第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程導(dǎo)論(5)

——詳細(xì)設(shè)計(jì)描述工具南京理工大學(xué)汪惠芬2004年9月23日第五章詳細(xì)設(shè)計(jì)描述工具詳細(xì)設(shè)計(jì)也叫過程設(shè)計(jì)或程序設(shè)計(jì),它不同于編碼或編程。在詳細(xì)設(shè)計(jì)階段,要決定各個(gè)模塊的實(shí)現(xiàn)算法,并精確地表達(dá)這些算法。算法涉及所開發(fā)項(xiàng)目的具體要求和對(duì)每個(gè)模塊規(guī)定的功能,以及算法的設(shè)計(jì)和評(píng)價(jià),這不屬于本課程的研究范圍。算法表達(dá)需要給出適當(dāng)?shù)乃惴枋?,為此?yīng)提供過程設(shè)計(jì)的表達(dá)工具,本章將介紹幾種算法描述的工具。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/20232.第五章詳細(xì)設(shè)計(jì)描述工具描述詳細(xì)設(shè)計(jì)的工具可以分為圖形、表格、語言三類。無論哪類工具,其基本要求是能夠準(zhǔn)確、無二義性地描述系統(tǒng)控制、數(shù)據(jù)組織結(jié)構(gòu)、處理功能等有關(guān)細(xì)節(jié)。使得程序員能夠?qū)⑦@種描述直接翻譯為程序代碼。常用的圖形描述工具有程序流程圖、盒圖(N-S圖)、PAD圖、偽碼(程序設(shè)計(jì)語言PDL)和前面已經(jīng)介紹過的判定樹和判定表。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/20233.第五章詳細(xì)設(shè)計(jì)描述工具5.1程序流程圖5.2盒圖(N-S圖)5.3PAD圖5.4PDL5.5詳細(xì)設(shè)計(jì)評(píng)審5.6軟件藍(lán)圖5.7本章小結(jié)流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/20234.5.1程序流程圖程序流程圖也稱程序框圖,使軟件開發(fā)者最熟悉的一種算法表達(dá)工具。它獨(dú)立于任何一種程序設(shè)計(jì)語言,比較直觀、清晰,易于學(xué)習(xí)掌握。但由于它使用的符號(hào)不規(guī)范,常用一些習(xí)慣性用法,尤其是表示程序控制流程的箭頭,使用的靈活性極大,程序員可以不受任何限制,隨意轉(zhuǎn)移控制,這將使程序質(zhì)量受到很大的影響。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/20235.5.1程序流程圖為使用流程圖描述結(jié)構(gòu)化程序,必須限制流程圖只能使用以下五種基本控制流程結(jié)構(gòu):順序型:幾個(gè)連續(xù)的加工步驟依次排列構(gòu)成;選擇型:由某個(gè)邏輯判斷式的取值決定選擇兩個(gè)加工中的一個(gè);先判定(While)循環(huán):在循環(huán)控制條件成立時(shí),重復(fù)執(zhí)行特定的加工;后判定(Until)循環(huán):重復(fù)執(zhí)行特定的加工,直至循環(huán)控制條件成立;多情況選擇(Case):列舉多種加工情況,根據(jù)控制變量的取值,選擇執(zhí)行其一。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/20236.5.1程序流程圖基本控制結(jié)構(gòu)的圖形表示流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審ABABPSFTTFPPSFTP=1A1TFP=1A1FP=1A1F…

先判定循環(huán)后判定循環(huán)多情況選擇

(Do-While)(Do-Until)(Case)

順序型選擇型4/20/20237.5.1程序流程圖實(shí)例流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審abdfTFX1cX2X3eX4iX5ghTFTFTF入口X6j出口=1=2=3CaseDo-WhileDo-UntilDo-UntilTF4/20/20238.5.1程序流程圖需要對(duì)流程圖所使用的符號(hào)作出確切的規(guī)定,除去所規(guī)定使用定義了的符號(hào)外,流程圖中不允許出現(xiàn)任何其他符號(hào)。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/20239.5.1程序流程圖標(biāo)準(zhǔn)程序流程圖的規(guī)定符號(hào)流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審起止端點(diǎn)數(shù)據(jù)輸入輸出處理準(zhǔn)備或預(yù)處理預(yù)定義處理或既定處理?xiàng)l件判斷循環(huán)上界循環(huán)下界文件或文檔外接內(nèi)接流線虛線…省略線并行方式注解或注釋4/20/202310.5.1程序流程圖幾點(diǎn)說明:(1)循環(huán)的界限設(shè)有一對(duì)特殊的符號(hào)流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審循環(huán)名

進(jìn)入循環(huán)條件循環(huán)名循環(huán)名循環(huán)終止條件

循環(huán)名循環(huán)體循環(huán)體4/20/202311.5.1程序流程圖幾點(diǎn)說明:(2)流線表示控制流的流向。在自上而下或自左而右的自然流向情形,流線可不加箭頭。否則必須在流線上加上箭頭。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202312.5.1程序流程圖幾點(diǎn)說明:(3)注解符可用來標(biāo)志注解內(nèi)容,其虛線連在相關(guān)的符號(hào)上,或連接一個(gè)虛線框(框住一組符號(hào))。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審數(shù)據(jù)A處理1數(shù)據(jù)B處理2

注解1

注解24/20/202313.5.1程序流程圖幾點(diǎn)說明:(4)判斷有一個(gè)入口,但有多個(gè)可選出口。在判斷條件取值后有且僅有一個(gè)出口被激活。取值結(jié)果可在流線附近注明。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審A<BA=BA:BA>B條件值條件值1234512344/20/202314.5.1程序流程圖幾點(diǎn)說明:(5)虛線表示兩個(gè)或多個(gè)符號(hào)間的選擇關(guān)系。例如,虛線連接了兩個(gè)符號(hào),則表示這兩個(gè)符號(hào)中只選用其中的一個(gè)。另外,虛線也可配合注解使用。(6)外接符及內(nèi)接符表示流線在另外一個(gè)地方連接,或者表示轉(zhuǎn)向外部環(huán)境或從外部環(huán)境轉(zhuǎn)入。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202315.5.2盒圖(N-S圖)Nassi和Shneiderman提出了一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具,叫作盒圖(box-diagram),又稱N-S圖。在N-S圖中,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202316.5.2盒圖(N-S圖)N-S圖的五種基本圖形構(gòu)件流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審

順序型選擇型ABFTBA

P

FTA

P

先執(zhí)行處理A,再執(zhí)行處理B若條件P取真值,則執(zhí)行“T”下面框A的內(nèi)容;取假值時(shí),執(zhí)行“F”下面框B的內(nèi)容。若B是空操作,則拉下一個(gè)箭頭“”4/20/202317.5.2盒圖(N-S圖)N-S圖的五種基本圖形構(gòu)件流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審

While重復(fù)型Until重復(fù)型多分支選擇性(Case型)Do-WhilePSSDo-UntilPP=1=2……=nA1A2……An先判斷循環(huán)條件P的取值,若取值為真,則執(zhí)行循環(huán)體S;否則結(jié)束循環(huán)。先執(zhí)行循環(huán)體S,再判斷循環(huán)條件P的取值,若取值為真,則繼續(xù)執(zhí)行循環(huán)體S;否則結(jié)束循環(huán)。根據(jù)控制條件P的取值,相應(yīng)地執(zhí)行其值下面各框的內(nèi)容。4/20/202318.5.2盒圖(N-S圖)實(shí)例流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審abTX1FfX2TX4F=1=2=3igDo-WhiledeDo-UntilX5hX3cDo-UntilX6j4/20/202319.5.2盒圖(N-S圖)N-S圖的特點(diǎn)(1)圖中每個(gè)矩形框(除Case構(gòu)造中表示條件取值的矩形框外)都是明確定義了的功能域(即一個(gè)特定控制結(jié)構(gòu)的作用域),以圖形表示,清晰可見。(2)它的控制轉(zhuǎn)移不能任意規(guī)定,必須遵守結(jié)構(gòu)化程序設(shè)計(jì)的要求。(3)很容易確定局部數(shù)據(jù)和(或)全局?jǐn)?shù)據(jù)的作用域。(4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202320.5.2盒圖(N-S圖)N-S圖的擴(kuò)展表示任何一個(gè)N-S圖,都是五種基本控制結(jié)構(gòu)的相互組合與嵌套的結(jié)果。當(dāng)問題很復(fù)雜時(shí),N-S圖可能很大,在一張紙上畫不下,這時(shí),可以給這個(gè)圖中一些部分取個(gè)名字,在圖中相應(yīng)位置用名字表示(用橢圓形框住它)而不是用細(xì)節(jié)去表現(xiàn)這些部分。然后在另外的紙上把這些命名的部分進(jìn)一步展開。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202321.5.2盒圖(N-S圖)N-S圖的擴(kuò)展表示實(shí)例流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審abTX1FklDo-UntilX6jfTX4FigDo-UntilX5hX2=1=2=3Do-WhiledeX3ck:l:4/20/202322.5.3PAD(ProblemAnalysisDiagram)圖PAD是日本日立公司提出,由程序流程圖演化來的,用結(jié)構(gòu)化程序設(shè)計(jì)思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具?,F(xiàn)在已為ISO認(rèn)可。PAD也設(shè)置了五種基本控制結(jié)構(gòu)的圖式,并允許遞歸使用。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202323.5.3PAD圖流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審PAD圖的五種基本圖形構(gòu)件

順序型選擇型先執(zhí)行處理A,再執(zhí)行處理B若條件P取真值,則執(zhí)行上面的A框中的內(nèi)容;取假值時(shí),執(zhí)行下面B框中的內(nèi)容。若B是空操作,則只有A框,沒有B框,表示該選擇結(jié)構(gòu)中只有THAN后面又可執(zhí)行語句A,沒有ELSE部分。ABAPBAP4/20/202324.5.3PAD圖流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審PAD圖的五種基本圖形構(gòu)件

While重復(fù)型Until重復(fù)型多分支選擇性(Case型)P是循環(huán)判斷條件,S是循環(huán)體。循環(huán)判斷條件框的右端為雙縱線,表示該矩形域是循環(huán)條件,以區(qū)別于一般的矩形功能域。根據(jù)控制條件P的取值,相應(yīng)地執(zhí)行其值下面各框的內(nèi)容。A1PA2AnWhilePSUntilPS=1=2=n4/20/202325.5.3PAD圖流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審PAD圖增加的控制結(jié)構(gòu)為了反映增量型循環(huán)結(jié)構(gòu),在PAD中增加了對(duì)應(yīng)于fori:=n1ton2stepn3do的循環(huán)控制結(jié)構(gòu)——For重復(fù)型。其中,n1是循環(huán)初值,n2是循環(huán)終值,n3是循環(huán)增量。i=n1,n2,n3S4/20/202326.5.3PAD圖流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審實(shí)例WhileX3cX2de=1=2=3fUntilX5iX4ghaUntilX6jbX14/20/202327.5.3PAD圖流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審PAD圖的擴(kuò)展表示PAD所描述程序的層次關(guān)系表現(xiàn)在縱線上,每條縱線表示了一個(gè)層次,把PAD圖從左至右展開,隨著程序?qū)哟蔚脑黾?,PAD逐漸向右展開,有可能會(huì)超過一頁紙,這時(shí)可采用PAD的擴(kuò)充形式。當(dāng)一個(gè)模塊A在一頁紙上畫不下時(shí),可在圖中該模塊相應(yīng)位置矩形框中簡(jiǎn)記一個(gè)“NAMEA”,再在另一張紙上詳細(xì)畫出A的內(nèi)容,用def即雙下劃線來定義作A的PAD。4/20/202328.5.3PAD圖流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審PAD圖的擴(kuò)展表示實(shí)例WhileX3cdefX2NameIdedeffNameKUntilX5iX4ghaUntilX6jbNameKX1NameI=1=2=34/20/202329.5.3PAD圖流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審PAD圖的特點(diǎn)PAD所表達(dá)的程序,結(jié)構(gòu)清晰解結(jié)構(gòu)化程度高。作為一種詳細(xì)設(shè)計(jì)的圖形工具,PAD比流程圖更容易讀。圖中最左縱線是程序的主干線,即程序的第一層結(jié)構(gòu)。其后每增加一個(gè)層次,圖形向右擴(kuò)展一條縱線。因此,程序中含有的層次數(shù)即為PAD中的縱線數(shù)。4/20/202330.5.3PAD圖流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審PAD圖的特點(diǎn)PAD的執(zhí)行順序從最左主干線的上端的結(jié)點(diǎn)開始,自上而下依次執(zhí)行。每遇到判斷或循環(huán),就自左而右進(jìn)入下一層,從表示下一層的縱線上端開始執(zhí)行,直到該縱線下端,再返回上一層的縱線的轉(zhuǎn)入出。如此繼續(xù),直到執(zhí)行到主干線的下端為止。4/20/202331.5.3PAD圖流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審執(zhí)行示例WhileX3cX2de=1=2=3fUntilX5iX4ghaUntilX6jbX14/20/202332.5.4PDL(ProgramDesignLanguage)流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審概述PDL是一種用于描述功能模塊的算法設(shè)計(jì)和加工細(xì)節(jié)的語言,稱為設(shè)計(jì)程序用語言。它是一種偽碼。一般地,偽碼的語法規(guī)則分為“外語法”和“內(nèi)語法”。外語法應(yīng)當(dāng)符合一般程序設(shè)計(jì)語言常用語句的語法規(guī)則;內(nèi)語法可以用英語中的一些簡(jiǎn)單的句子、短語和通用的數(shù)學(xué)符號(hào),來描述程序應(yīng)執(zhí)行的功能。4/20/202333.5.4PDLPDL例子由此可以看出,PDL語言具有正文格式,很像一個(gè)高級(jí)語言。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審ProcedurespellcheckISBeginsplitdocumentintosinglewordslookupwordsindictionarydisplaywordswhicharenotindictionarycreateanewdictionaryEndspellcheck查找錯(cuò)拼的單詞把整個(gè)文檔分離成單句在字典中查這些單詞顯示字典中查不到的單詞造一個(gè)新字典4/20/202334.5.4PDLPDL特點(diǎn)(1)有固定的關(guān)鍵字外語法,提供全部結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊特征。(2)內(nèi)語法使用自然語言來描述處理特性,為開發(fā)者提供方便,提高可讀性。(3)有數(shù)據(jù)說明機(jī)制,包括簡(jiǎn)單的(如標(biāo)量和數(shù)據(jù))與復(fù)雜的(如鏈表和層次結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu)。(4)有子程序定義與調(diào)用機(jī)制,用以表達(dá)各種方式的接口說明。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202335.5.4PDL使用PDL語言,可以做到逐步求精:從比較概括和抽象的PDL程序起,逐步寫出更詳細(xì)的更精確的描述。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202336.5.4PDL逐步求精例子(--*打頭的句子為注釋語句)流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審ProcedurespellcheckISBegin

--*splitdocumentintosinglewordsLoopgetnextwordaddwordtowordlistinsortorderExitWhenallwordsprocessedEndLoop

--*lookupwordsindictionaryLoopgetwordfromwordlistIfwordnotindictionaryThen

--*displaywordsnotindictionarydisplaywordpromptonuserterminalIfuserresponsesayswordOKThenaddwordtogoodwordlistElseaddwordtobadwordlistEndifEndifExitWhenallwordsprocessedEndLoop

--*createanewdictionarydictionary:=mergedictionaryandgoodwordlistEndspellcheck4/20/202337.5.4PDL數(shù)據(jù)說明:定義數(shù)據(jù)的類型和作用域。一般形式為:TYPE<變量名>As<限定詞1><限定詞2><變量名>是一個(gè)模塊內(nèi)部使用的變量或模塊間公用的全局變量名。<限定詞1>指明數(shù)據(jù)類型,有Scale(純量)、List(表)、Array(數(shù)組)、Char(字符)、Struc(結(jié)構(gòu))<限定詞2>指明該變量的作用域,即在模塊或程序環(huán)境中該變量如何使用。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202338.5.4PDLPDL允許定義用于問題定義的抽象數(shù)據(jù)類型,如:流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審TYPEDrawingISStructureDefinednumberISStringLength(12);geometryDefinedlines:(x,y)start;(x,y)end;line.type;circle:(x,y)center,radius,arc.angle;point:(x,y);curve:(x[i],y[i])fori>2notesISStringLength(256);BOMDefinedpart.sequenceISList;part.no:Stringformataa-nnnnnn;PointerISPTR;EnddrawingTYPE--*繪圖--*圖形數(shù)目--*幾何形狀--*直線--*圓--*點(diǎn)--*曲線--*注解--*材料清單--*零件序列--*零件號(hào)--*指針4/20/202339.5.4PDL程序塊PDL的過程成分是塊結(jié)構(gòu)的,偽碼可以定義為許多塊,而塊將作為一個(gè)單個(gè)的實(shí)體來執(zhí)行。塊可按如下的方式劃分:Begin<塊名><一組偽碼語句>End<一組偽碼語句>則是由所有其它的PDL結(jié)構(gòu)組成。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202340.5.4PDL程序塊實(shí)例在上述塊定義中使用了一個(gè)專門的關(guān)鍵字Draw,說明PDL還可以擴(kuò)充用戶的功能以滿足某一個(gè)特定的應(yīng)用。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審Begin<draw-line-on-graphics-terminal>getend-pointsfromdisplaylist;scalephysicalend-pointstoscreencoordinates;Drawalineusingscreencoordinates;End--*在圖形終端畫直線--*從顯示表取端點(diǎn)--*標(biāo)定端點(diǎn)屏幕坐標(biāo)--*用屏幕坐標(biāo)畫直線4/20/202341.5.4PDL子程序結(jié)構(gòu)把PDL中的過程稱為子程序,可用如下PDL結(jié)構(gòu)定義:Procedure<子程序名><一組屬性>Interface<參數(shù)表>程序塊和/或一組偽碼語句End<一組屬性>描述了該子程序的引用特性以及其它一些有關(guān)實(shí)現(xiàn)的特性。Interface用于定義模塊的參數(shù)表,包括輸出和輸出信息的標(biāo)識(shí)符。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202342.5.4PDL子程序的調(diào)用:對(duì)子程序的調(diào)用使用關(guān)鍵字Proform,若子程序帶有參數(shù),則調(diào)用語句為:Proform<子程序名>Using<參數(shù)表>否則,調(diào)用語句形式為:Proform<子程序名>流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202343.5.4PDL基本控制結(jié)構(gòu)(1)順序型結(jié)構(gòu):在這類結(jié)構(gòu)中,語句按排列順序的先后次序執(zhí)行。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202344.5.4PDL基本控制結(jié)構(gòu)(2)選擇型結(jié)構(gòu):這類結(jié)構(gòu)采取了傳統(tǒng)的if-else-then形式。If<條件描述>Then<程序塊或偽碼語句組>Else<程序塊或偽碼語句組>Endif流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202345.5.4PDL選擇型結(jié)構(gòu)實(shí)例(工資單系統(tǒng)):流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審Ifyear.to.date.FICA<maximunThenBegincalculateFICA.deduction(seefomulano.30-1);If(year.To.date.FICA+FICA.deduction)>maximumThensetFICA.deduction=maximum–year.To.date.FICA;Elseskip;//表示Else部分被跳過Endif//表示If結(jié)構(gòu)的結(jié)束End//表示處理FICA信息的程序塊結(jié)束ElsesetFICA.deduction=0Endif4/20/202346.5.4PDL基本控制結(jié)構(gòu)(3)重復(fù)型結(jié)構(gòu):流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審后測(cè)試型循環(huán)RepeatUntil<條件描述><程序塊或偽碼語句組>;EndRepDoLoop<程序塊或偽碼語句組>;ExitWhen<條件描述>EndLoop先測(cè)試型循環(huán)下標(biāo)型循環(huán)DoWhile<條件描述><程序塊或偽碼語句組>;EndDoDoFor<下標(biāo)=下標(biāo)表,表達(dá)式或序列><程序塊或偽碼語句組>;EndFor4/20/202347.5.4PDL重復(fù)型結(jié)構(gòu)實(shí)例(起泡排序)流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審Ifsizeoftable>1Then--*表中有不止一個(gè)元素則排序RepeatUntilnoitemswereinterchange--*后測(cè)試循環(huán),直到表中不再有交換DoForeachpairofitemsintable--*下標(biāo)型循環(huán),比較表中各對(duì)元素Iffirstitemofpair>seconditemofpairThenPerforminterchange-the-two-items;Elseskip;//表示Else部分被跳過Endif//表示If結(jié)構(gòu)的結(jié)束EndFor//表示For循環(huán)結(jié)束EndRepEndif--*發(fā)生逆序--*則交換這兩項(xiàng)--*否則不作工作4/20/202348.5.4PDL作為對(duì)標(biāo)準(zhǔn)循環(huán)結(jié)構(gòu)的補(bǔ)充,PDL支持兩個(gè)關(guān)鍵字Next和Exit。在實(shí)際應(yīng)用中,有時(shí)需要從一個(gè)嵌套的循環(huán)中中斷循環(huán)退出,使用Next和Exit,就能夠有限制地違反一個(gè)純結(jié)構(gòu)化結(jié)構(gòu)的規(guī)則,實(shí)現(xiàn)這一要求。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202349.5.4PDL“違例”退出實(shí)例流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審Loop-y:DoWhileconditionyDoWhileconditionzIfconditiongThenexecuteprocessx;ElseExitEndifIfconditiontThenexecuteprocessb;ElseNextLoop-yEndifEndDoIfconditionrThenNextElseexecuteprocessc;EndifExecuteprocessd;EndDo4/20/202350.5.4PDL基本控制結(jié)構(gòu)(4)多路選擇結(jié)構(gòu):這類結(jié)構(gòu)實(shí)際上是一組嵌套的If語句的壓縮。其表示為:CaseOf<case變量名>When<case條件1>Select<程序塊或偽碼語句組>;When<case條件2>Select<程序塊或偽碼語句組>;……

When<最后的case條件>Select<程序塊或偽碼語句組>;Default:<缺省或錯(cuò)誤case:程序塊或偽碼語句組>;EndCase流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202351.5.4PDL通常這種結(jié)構(gòu)首先針對(duì)一組條件測(cè)試一個(gè)專門的參數(shù)(case變量)。如果滿足一種條件則執(zhí)行與此條件對(duì)應(yīng)的一個(gè)程序塊或一個(gè)單獨(dú)的偽碼語句。否則執(zhí)行缺省程序塊或偽碼語句組,或不作任何工作。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202352.5.4PDL多路選擇結(jié)構(gòu)實(shí)例CaseOfcommunication-status-bits(csb):Whencsb=clear-to-sendSelectBeginselectchannelpath;initiatemessagetransnission;End;Whencsb=clear-to-receiveSelectinitiatebuffermanagement;Whencsb=busySelectsetqueuingbit;Default:Processcsbcontenterror;EndCase流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202353.5.4PDL基本控制結(jié)構(gòu)(5)輸入/輸出結(jié)構(gòu):在PDL中I/O語句的規(guī)定是非常靈活的,典型的方式是:Read/Writeto<設(shè)備><I/O表>或Ask<詢問>Answer<響應(yīng)選項(xiàng)><設(shè)備>指物理的I/O設(shè)備,如CRT、磁盤、打印機(jī)、磁帶等<I/O表>包含傳送的變量名Ask-Answer用于人機(jī)對(duì)話的設(shè)計(jì),這是易于使用問答形式。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202354.5.4PDLI/O的規(guī)定常常要擴(kuò)展,以包括一些專門特征,如聲音輸出或圖形顯示等。PDL允許這種擴(kuò)充,通過增加關(guān)鍵字,可以表達(dá)多任務(wù)處理、并發(fā)處理、中斷處理、內(nèi)部進(jìn)程的同步以及許多其它的功能。在使用PDL的應(yīng)用中,應(yīng)當(dāng)對(duì)PDL的最終形式加以裁定。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202355.5.5詳細(xì)設(shè)計(jì)評(píng)審流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審詳細(xì)設(shè)計(jì)工具評(píng)審一種設(shè)計(jì)工具使用得當(dāng)會(huì)提高設(shè)計(jì)效率,使用不當(dāng)反而會(huì)降低效率,因此對(duì)詳細(xì)設(shè)計(jì)工具有一定的要求。4/20/202356.5.5詳細(xì)設(shè)計(jì)評(píng)審流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審對(duì)詳細(xì)設(shè)計(jì)工具的要求(1)使過程表示便于理解(2)過程表示的描述增強(qiáng)編程能力,程序成為設(shè)計(jì)過程的自然產(chǎn)物(3)能正確表達(dá)程序,并便于維護(hù)(4)設(shè)計(jì)工具應(yīng)具有某些屬性4/20/202357.5.5詳細(xì)設(shè)計(jì)評(píng)審流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審詳細(xì)設(shè)計(jì)工具應(yīng)具備的屬性模塊性簡(jiǎn)潔性便于編輯機(jī)器可讀性可維護(hù)性強(qiáng)行結(jié)構(gòu)化自動(dòng)處理數(shù)據(jù)表示邏輯驗(yàn)證編輯能力4/20/202358.5.5詳細(xì)設(shè)計(jì)評(píng)審流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審幾種詳細(xì)設(shè)計(jì)工具的比較FCN-SPADPDL易實(shí)用性好不好好很好邏輯表示較好好好好邏輯驗(yàn)證不好較好較好較好易編碼較好好好很好可讀性不好不好較好很好可維護(hù)性不好不好較好好結(jié)構(gòu)化不好很好好好使用頻率高低低中等數(shù)據(jù)表示不好不好不好較好4/20/202359.5.5詳細(xì)設(shè)計(jì)評(píng)審流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審詳細(xì)設(shè)計(jì)評(píng)審(1)設(shè)計(jì)者同設(shè)計(jì)組的另一個(gè)成員作靜態(tài)檢查;(2)由檢查組作結(jié)構(gòu)設(shè)計(jì)檢查;(3)由檢查組作設(shè)計(jì)檢查,并評(píng)述設(shè)計(jì)質(zhì)量復(fù)審。4/20/202360.5.6軟件藍(lán)圖概述傳統(tǒng)的工程方法論是:為生產(chǎn)某種產(chǎn)品,工程師先設(shè)計(jì)出工程藍(lán)圖,藍(lán)圖完整準(zhǔn)確易理解地描繪了對(duì)產(chǎn)品的設(shè)計(jì),然后工人嚴(yán)格地按照藍(lán)圖制造這種產(chǎn)品。工程藍(lán)圖是工程師運(yùn)用系統(tǒng)工程方法,用工程制圖語言來描述的。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202361.5.6軟件藍(lán)圖軟件藍(lán)圖思想與傳統(tǒng)的工程方法論一樣,軟件工程方法論也使用同樣的方法來開發(fā)軟件產(chǎn)品。軟件藍(lán)圖把軟件設(shè)計(jì)和軟件實(shí)現(xiàn)分成兩個(gè)獨(dú)立的步驟,軟件藍(lán)圖作為連接軟件設(shè)計(jì)和軟件實(shí)現(xiàn)的橋梁。軟件藍(lán)圖是運(yùn)用軟件工程方法用PDL語言或一種軟件工具,或自然語言與形式化軟件設(shè)計(jì)語言的混合語言來描述的。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202362.5.6軟件藍(lán)圖軟件藍(lán)圖分類為了與軟件工程設(shè)計(jì)階段相配合,將軟件藍(lán)圖設(shè)計(jì)分成三級(jí):A級(jí):做軟件概念性描述,說明軟件整體概貌,定義問題結(jié)構(gòu)B級(jí):做軟件工作原理的描述,用結(jié)構(gòu)化語言描述控制流和數(shù)據(jù)流,定義問題結(jié)構(gòu)C級(jí):做軟件如何實(shí)現(xiàn)的描述,定義軟件的算法。流程圖N-S圖PDL軟件藍(lán)圖本章小結(jié)PAD圖設(shè)計(jì)評(píng)審4/20/202363.5.6軟件藍(lán)圖A級(jí)藍(lán)圖的語法要求確定軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論