資源描述:
《軟件工程導(dǎo)論第6章詳細(xì)設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、軟件工程導(dǎo)論(第4版)普通高校本科計(jì)算機(jī)專業(yè)特色教材精選張海藩編著第6章詳細(xì)設(shè)計(jì)主要內(nèi)容6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法6.5程序復(fù)雜程度的定量度量教學(xué)重點(diǎn)Jackson圖、McCabe方法。詳細(xì)設(shè)計(jì)任務(wù):確定怎樣具體地實(shí)現(xiàn)用戶需要的軟件系統(tǒng),即把解法具體化,設(shè)計(jì)出程序的“藍(lán)圖”。目標(biāo):邏輯上正確地實(shí)現(xiàn)每個(gè)模塊的功能,并使設(shè)計(jì)出的處理過(guò)程簡(jiǎn)明易懂。除了保證軟件的可靠性,還要使將來(lái)編寫出來(lái)的程序可讀性好、容易理解、容易測(cè)試、容易修改和維護(hù)。方法:采用結(jié)構(gòu)程序設(shè)計(jì)技術(shù),即采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制結(jié)構(gòu)。工具:過(guò)程設(shè)計(jì)工具,描述程序處理過(guò)程的
2、工具。程序流程圖NNNNYYYY開(kāi)始2000→ty不能被4整除y不能被100整除打印y“是閏年”結(jié)束y>2500y+1→y打印y“不是閏年”打印y“是閏年”y不能被400整除打印y“不是閏年”判定閏年的算法盒圖:判定閏年的算法2000=〉yy+1=〉y直到y(tǒng)>2500y/4的余數(shù)為0打印y“是閏年”打印y“非閏年”打印y“是閏年”打印y“非閏年”y/400的余數(shù)為0y/100的余數(shù)不為0是是是否否否判定表示例:行李托運(yùn)費(fèi)規(guī)則判定樹(shù)示例:行李托運(yùn)費(fèi)6.3續(xù)偽碼示例:判定閏年的算法內(nèi)層選擇結(jié)構(gòu)中層選擇結(jié)構(gòu)外層選擇結(jié)構(gòu)6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法面向數(shù)據(jù)的分析方法
3、分類:⑴面向數(shù)據(jù)流⑵面向數(shù)據(jù)結(jié)構(gòu)特點(diǎn):⑴以信息對(duì)象及其操作為核心進(jìn)行分析,與面向?qū)ο蠓治鲇邢嗨浦?。⑵認(rèn)為復(fù)合信息對(duì)象具有層次結(jié)構(gòu),并且可按順序、選擇、重復(fù)三種結(jié)構(gòu)分解為成員信息對(duì)象。⑶提供將層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機(jī)制,從而為軟件設(shè)計(jì)奠定較好的基礎(chǔ)。6.4續(xù)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法目標(biāo):得出對(duì)程序處理過(guò)程的描述。數(shù)據(jù)結(jié)構(gòu)軟件所處理的信息的組織結(jié)構(gòu),相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,也就是用面向數(shù)據(jù)結(jié)構(gòu)作為程序設(shè)計(jì)的基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)與程序結(jié)構(gòu):重復(fù)出現(xiàn)的數(shù)據(jù)通常由具有循環(huán)控制結(jié)構(gòu)的程序來(lái)處理;選擇數(shù)據(jù)要用帶有分支控制結(jié)構(gòu)
4、的程序來(lái)處理;層次的數(shù)據(jù)組織通常和使用這些數(shù)據(jù)的程序的層次結(jié)構(gòu)十分相似。方法:Jackson方法、Warnier方法6.4續(xù)Warnier圖示例標(biāo)題新聞國(guó)內(nèi)新聞本地新聞股市行情(0,1)商業(yè)新聞廣告(1,5)文化、體育新聞散文?新書評(píng)論文化體育版首版商業(yè)金融版報(bào)紙6.4續(xù)Jackson圖數(shù)據(jù)結(jié)構(gòu)中,各數(shù)據(jù)元素彼此間的邏輯關(guān)系歸結(jié)起來(lái)只有順序、選擇和重復(fù)三類基本結(jié)構(gòu)。⑴順序結(jié)構(gòu)順序結(jié)構(gòu)的數(shù)據(jù)由一個(gè)或多個(gè)數(shù)據(jù)元素組成,每個(gè)元素按確定次序出現(xiàn)一次。A由B、C、D3個(gè)元素順序組成(每個(gè)元素只出現(xiàn)一次,出現(xiàn)的次序依次是B、C、D)6.4續(xù)Jackson圖⑵選擇結(jié)構(gòu)選擇
5、結(jié)構(gòu)的數(shù)據(jù)包含兩個(gè)或多個(gè)數(shù)據(jù)元素,每次使用這個(gè)數(shù)據(jù)時(shí)按一定條件從這些數(shù)據(jù)元素中選擇一個(gè)。根據(jù)條件A選B或C或D中的某一個(gè)6.4續(xù)Jackson圖⑶重復(fù)結(jié)構(gòu)重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時(shí)的條件由一個(gè)數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。A由B出現(xiàn)N次(N≥0)組成6.4續(xù)Jackson圖優(yōu)點(diǎn):⑴Jackson圖不僅便于表示層次結(jié)構(gòu),而且也有利于對(duì)結(jié)構(gòu)自頂向下分解;⑵Jackson圖形象直觀,可讀性好;⑶Jackson圖不僅能表示數(shù)據(jù)結(jié)構(gòu),也能表示程序結(jié)構(gòu)。缺點(diǎn):⑴在選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)中,選擇條件或循環(huán)結(jié)束條件不能直接在Jackson圖中表示出來(lái),影響了圖形的表達(dá)能力,也不利
6、于直接把圖翻譯成程序。⑵框間連線為斜線,不易在行式打印機(jī)上輸出。6.4續(xù)改進(jìn)的Jackson圖ABCD順序結(jié)構(gòu)(B、C、D中任一個(gè)都不能使選擇出現(xiàn)或重復(fù)出現(xiàn)的數(shù)據(jù)元素)A由B、C、D3個(gè)元素順序組成6.4續(xù)改進(jìn)的Jackson圖AB°C°D°選擇結(jié)構(gòu)(S右面括號(hào)中的數(shù)字i是分支條件的編號(hào))S(i)根據(jù)條件A選B或C或D中的某一個(gè)6.4續(xù)改進(jìn)的Jackson圖AB°-°S(i)可選結(jié)構(gòu)(A或者是元素B或者不出現(xiàn))6.4續(xù)改進(jìn)的Jackson圖重復(fù)結(jié)構(gòu)(循環(huán)結(jié)束符號(hào)的編號(hào)為i)AB*I(i)A由B出現(xiàn)N次(N≥0)組成6.4續(xù)層次圖示例:6.4續(xù)層次方框圖示例6
7、.4續(xù)Jackson圖Jackson圖與層次圖⑴層次圖中的一個(gè)方框通常代表一個(gè)模塊;在Jackson圖中,一個(gè)方框通常只代表幾個(gè)語(yǔ)句。⑵層次圖表現(xiàn)的是調(diào)用關(guān)系;而Jackson圖表現(xiàn)的是組成關(guān)系。Jackson圖與層次方框圖Jackson圖是對(duì)層次方框圖的一種細(xì)化。6.4續(xù)Jackson方法1975年,英國(guó)人M.A.Jackson提出了軟件工程領(lǐng)域中著名的Jackson方法,當(dāng)時(shí)它只用于軟件設(shè)計(jì)。1983年,Jackson又對(duì)它進(jìn)行了多方面的擴(kuò)充和完善,又應(yīng)用于需求分析過(guò)程中。核心思想:根據(jù)作用于數(shù)據(jù)的操作序列的結(jié)構(gòu)(順序、選擇、重復(fù)),建立目標(biāo)軟件系統(tǒng)的模
8、型,然后將其轉(zhuǎn)換為相應(yīng)的程序結(jié)構(gòu)。6.4續(xù)Jacks