數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)4_1_第1頁(yè)
數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)4_1_第2頁(yè)
數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)4_1_第3頁(yè)
數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)4_1_第4頁(yè)
數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)4_1_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1詳細(xì)設(shè)計(jì)的概念和方法 2處理過(guò)程設(shè)計(jì)的工具 3 Jackson設(shè)計(jì)方法 4代碼設(shè)計(jì) 5屏幕界面設(shè)計(jì) 6詳細(xì)設(shè)計(jì)階段文檔 返回1.1詳細(xì)設(shè)計(jì)的概念 1.2結(jié)構(gòu)化設(shè)計(jì)方法 返回 詳細(xì)設(shè)計(jì)階段的工作包括處理過(guò)程設(shè)計(jì)、代碼設(shè)計(jì)和屏幕界面設(shè)計(jì),其中處理過(guò)程設(shè)計(jì)是主要工作。在總體設(shè)計(jì)階段中,將軟件系統(tǒng)分解成了許多模塊,并確定了每個(gè)模塊的外部特征功能和界面,即模塊做什么和模塊的輸入和輸出。在總體設(shè)計(jì)的基礎(chǔ)上,處理過(guò)程設(shè)計(jì)就是要確定每個(gè)模塊的內(nèi)部特征模塊內(nèi)部的執(zhí)行過(guò)程,即每個(gè)模塊的功能怎樣去實(shí)現(xiàn)。一個(gè)軟件系統(tǒng)經(jīng)過(guò)總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)的過(guò)程,就可以為編程制訂出一個(gè)周密的計(jì)劃,然后能比較順利地過(guò)渡到編程階段。 返

2、回 詳細(xì)設(shè)計(jì)(Detailed Design),對(duì)每個(gè)模塊要單獨(dú)進(jìn)行考慮。在設(shè)計(jì)中要確定模塊內(nèi)部的詳細(xì)執(zhí)行過(guò)程,如局部數(shù)據(jù)組織、控制流、每一步的具體加工的要求及各種實(shí)現(xiàn)的細(xì)節(jié)等。 詳細(xì)設(shè)計(jì)的根本目標(biāo)是確定應(yīng)該怎樣來(lái)具體地實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書寫的程序。 返回 由于是分別考慮每個(gè)模塊,所以問(wèn)題的規(guī)模已經(jīng)大大縮小了。一般情況下,詳細(xì)設(shè)計(jì)的難度不是很大,但關(guān)鍵是要選擇一種合適的表示方式來(lái)描述每個(gè)模塊的執(zhí)行過(guò)程。所選擇的表示方式應(yīng)該是簡(jiǎn)明而精確的,并由此能很容易地導(dǎo)出用編程語(yǔ)言表示的程

3、序。 目前處理過(guò)程詳細(xì)設(shè)計(jì)所采用的典型方法是結(jié)構(gòu)化程序設(shè)計(jì),常用的描述方式主要有圖形描述、語(yǔ)言描述和表格描述。圖形描述包括傳統(tǒng)的流程圖、盒圖、問(wèn)題分析圖等;語(yǔ)言描述主要是一些類似的程序設(shè)計(jì)語(yǔ)言;表格描述包括前面介紹的判定表等。 返回 因此詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體地編寫程序,而是要設(shè)計(jì)出程序的“藍(lán)圖”,這個(gè)藍(lán)圖將是程序設(shè)計(jì)人員寫出實(shí)際程序代碼的依據(jù)。因此,詳細(xì)設(shè)計(jì)的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。 實(shí)際上,程序代碼的“讀者”有兩個(gè),一個(gè)是計(jì)算機(jī),另一個(gè)是人,由這兩者來(lái)鑒定程序代碼的質(zhì)量。詳細(xì)設(shè)計(jì)不僅僅是要在邏輯上正確地實(shí)現(xiàn)每個(gè)模塊的功能,更重要的是使 設(shè)計(jì)出的處理過(guò)程應(yīng)該盡可能簡(jiǎn)明易懂

4、。 返回 結(jié)構(gòu)化程序設(shè)計(jì)(Structured Programming)簡(jiǎn)稱為SP方法。 1965年,EWDijkstra在一次會(huì)議上就指出:可以從高級(jí)語(yǔ)言中取消 GOTO語(yǔ)句。同時(shí)他還指出:程序的質(zhì)量與程序中所包含的 GOTO語(yǔ)句的數(shù)量成反比。到了 1966年,Jacopini等人證明了只用“順序”、“選擇”和“循環(huán)”三種基本的控制結(jié)構(gòu)就能實(shí)現(xiàn)任何單入口單出口的程序。他們的證明給結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)奠定了理論基礎(chǔ)。三種控制結(jié)構(gòu)分別如圖中的(a)、(b)和(c)所示。 返回返回AB(a)順序順序TA條條件件(c)循環(huán)循環(huán)F(b)選擇選擇FTFTABA條條件件條條件件或或 1968年,Dijkst

5、ra又一次提出了只使用三種基本控制結(jié)構(gòu)編寫程序,建議將所有的高級(jí)語(yǔ)言中的 GOTO語(yǔ)句去掉。雖然他的建議引起了業(yè)界的激烈爭(zhēng)論,但漸漸地人們認(rèn)識(shí)到,這可不是簡(jiǎn)單地去掉一個(gè)GOTO語(yǔ)句的問(wèn)題,而是一種新的程序設(shè)計(jì)思想、方法、風(fēng)格的創(chuàng)立,其結(jié)果會(huì)顯著地提高軟件生產(chǎn)率,并可有效地降低軟件的維護(hù)代價(jià)。 返回 1972年,IBM公司的Mills進(jìn)一步提出,程序應(yīng)該只有一個(gè)入口和一個(gè)出口,從而補(bǔ)充了結(jié)構(gòu)程序設(shè)計(jì)的規(guī)則。在那段時(shí)期中,IBM在紐約時(shí)報(bào)信息庫(kù)管理系統(tǒng)的設(shè)計(jì)中成功地應(yīng)用了結(jié)構(gòu)化程序設(shè)計(jì)技術(shù),而隨后在美國(guó)宇航局實(shí)驗(yàn)室飛行模擬系統(tǒng)的設(shè)計(jì)中,結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)又一次獲得了巨大的成功。這兩個(gè)系統(tǒng)都十分龐大

6、,高級(jí)語(yǔ)言源程序分別為8.3萬(wàn)和40萬(wàn)行,且在設(shè)計(jì)過(guò)程中用戶需求又曾有過(guò)多次改變,然而兩個(gè)軟件系統(tǒng)的開發(fā)都按時(shí)地、保質(zhì)保量地完成了。在這兩個(gè)系統(tǒng)的開發(fā)過(guò)程中,結(jié)構(gòu)程序設(shè)計(jì)技術(shù)經(jīng)受了實(shí)踐的檢驗(yàn),被證明是完全有效的方法。 返回 但是,到目前為止,結(jié)構(gòu)程序設(shè)計(jì)還沒(méi)有一個(gè)為所有人普遍認(rèn)可的定義。結(jié)構(gòu)化程序設(shè)計(jì)的方法,其要點(diǎn)主要是指: (1)自頂向下逐步求精。 (2)三種基本的控制結(jié)構(gòu)。 (3)開發(fā)支持庫(kù)DSL(Development Support Library)。 (4)主程序員組 CPT(Chief Programmer Team)。 返回 目前一個(gè)比較流行的定義是;結(jié)構(gòu)程序設(shè)計(jì)是一種設(shè)計(jì)程序的

7、技術(shù),它采用了自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制結(jié)構(gòu)。 返回 關(guān)于逐步求精方法,Wirth曾經(jīng)說(shuō)過(guò):對(duì)付復(fù)雜問(wèn)題的最重要的辦法是抽象。根據(jù)Wirth的觀點(diǎn),對(duì)一個(gè)復(fù)雜的問(wèn)題不應(yīng)該立刻用計(jì)算機(jī)指令、數(shù)字和邏輯符號(hào)來(lái)表示,而應(yīng)該用較自然的抽象語(yǔ)句來(lái)表示,從而得出抽象程序。抽象程序?qū)Τ橄蟮臄?shù)據(jù)進(jìn)行某些特定的運(yùn)算并用某些合適的記號(hào)(可能是自然語(yǔ)言)來(lái)表示。對(duì)抽象程序作進(jìn)一步分解,并進(jìn)入下一個(gè)抽象層次,這樣的程序可能是用某種高級(jí)語(yǔ)言或機(jī)器指令書寫的。 返回 主程序員組是程序員的組織方式,它由主程序員(Chief Programmer)、后備程序員(Backup Programmer)和資料員

8、(Librarian)三者構(gòu)成核心,再加上若干個(gè)程序員和一些專家組成。在整個(gè)開發(fā)過(guò)程中,每個(gè)工作崗位都有明確的任務(wù):主程序員在技術(shù)方面全面負(fù)責(zé),后備程序員隨時(shí)接替主程序員的工作,程序員按主程序員和后備程序員確定的規(guī)格需求編程,而程序最后要由主程序員和后備程序員審定。 返回 在總體設(shè)計(jì)階段,把一個(gè)復(fù)雜問(wèn)題的解法分解開來(lái),并細(xì)化成一個(gè)由許多模塊組成的層次結(jié)構(gòu)的軟件系統(tǒng)的過(guò)程就是采用了自頂向下逐步求精的方法。那么,在詳細(xì)設(shè)計(jì)及后續(xù)的編碼階段中,自頂向下逐步求精方法的運(yùn)用,則可以把一個(gè)模塊的功能逐步分解細(xì)化為一系列具體的處理步驟或某種高級(jí)語(yǔ)言的語(yǔ)句。 返回(a)(b)條條件件(d)條條件件(c)返回

9、剛開始進(jìn)行詳細(xì)設(shè)計(jì)時(shí),模塊的執(zhí)行過(guò)程尚未確定下來(lái),是模糊不清的,如上圖(a)所示。但利用三種基本的控制方法進(jìn)行分解,可以使之逐步清晰起來(lái)。 (1)用順序方式對(duì)模糊的處理過(guò)程分解,確定其中各個(gè)部分的時(shí)間順序,如上圖(b)所示。 (2)用選擇方式對(duì)過(guò)程進(jìn)行分解,確定選擇模糊過(guò)程中某個(gè)部分的條件,如上圖(c)所示。 (3)用循環(huán)方式對(duì)模糊過(guò)程作分解,確定原過(guò)程的主體部分進(jìn)行重復(fù)開始和結(jié)束的條件,如上圖(d)所示。 如果模塊中仍然是模糊不清之處,可以反復(fù)使用這三種控制的基本結(jié)構(gòu)進(jìn)行分解,最終可以將所有的細(xì)節(jié)全部確定下來(lái)。 返回 使用結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)的好處主要有: (1)自頂向下逐步求精的方法符合人類

10、解決復(fù)雜問(wèn)題的普遍規(guī)律,因此可以顯著提高軟件開發(fā)的成功率和生產(chǎn)率。 (2)用先全局后局部、先整體后細(xì)節(jié)、先抽象后具體的逐步求精過(guò)程開發(fā)出來(lái)的程序有層次結(jié)構(gòu),容易閱讀和理解。 (3)不使用無(wú)條件跳轉(zhuǎn)語(yǔ)句GOTO,而僅使用單入口單出口的控制結(jié)構(gòu),使得程序的靜態(tài)結(jié)構(gòu)和它的動(dòng)態(tài)執(zhí)行情況比較一致。因此,除了程序易讀和易理解外,開發(fā)過(guò)程也比較容易保證程序的正確性,即使出現(xiàn)錯(cuò)誤也比較容易診斷和糾正。 (4)控制結(jié)構(gòu)有確定的邏輯模式,編寫程序代碼只限于使用很少幾種直截了當(dāng)?shù)姆绞剑虼嗽闯绦蚯逦鲿?,易讀易懂易測(cè)試。 (5)程序清晰和模塊化使得在修改和重新設(shè)計(jì)一個(gè)軟件時(shí)可以使重用的代碼量達(dá)到最大。 (6)程序的

11、邏輯結(jié)構(gòu)清晰,有利于程序正確性的證明。 返回 結(jié)構(gòu)化程序設(shè)計(jì)在運(yùn)行時(shí)是以存儲(chǔ)容量和運(yùn)行時(shí)間都有所增加為代價(jià),這是它的缺點(diǎn)。可是,隨著硬件技術(shù)的飛速發(fā)展,即使程序運(yùn)行時(shí)所需要的存儲(chǔ)容量和運(yùn)行時(shí)間都有所增加,在今天對(duì)絕大多數(shù)應(yīng)用領(lǐng)域而言已經(jīng)不是什么嚴(yán)重的問(wèn)題了。 返回 雖然在理論上已經(jīng)證明了只用三種基本的控制結(jié)構(gòu)就可以實(shí)現(xiàn)任何單入口單出口的程序,但在實(shí)際使用方面,還常常會(huì)用到另外兩種控制結(jié)構(gòu),如下圖(a)和(b)所示。(a)是一種循環(huán)結(jié)構(gòu),它與前圖(c)所示結(jié)構(gòu)不同。下圖(b)是一種選擇結(jié)構(gòu),這可以看做是一個(gè)多重條件的選擇結(jié)構(gòu)。 返回條件CASE1CASE2CASEn(b)(a)TA條件F返回 有時(shí)需要立即從循環(huán)或是嵌套的循環(huán)中轉(zhuǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論