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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、技術,它采用了自頂向下逐步求精的設計方法和單入口單出口的控制結構。 返回 關于逐步求精方法,Wirth曾經說過:對付復雜問題的最重要的辦法是抽象。根據Wirth的觀點,對一個復雜的問題不應該立刻用計算機指令、數字和邏輯符號來表示,而應該用較自然的抽象語句來表示,從而得出抽象程序。抽象程序對抽象的數據進行某些特定的運算并用某些合適的記號(可能是自然語言)來表示。對抽象程序作進一步分解,并進入下一個抽象層次,這樣的程序可能是用某種高級語言或機器指令書寫的。 返回 主程序員組是程序員的組織方式,它由主程序員(Chief Programmer)、后備程序員(Backup Programmer)和資料員

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論