第8章結構化詳細設計_第1頁
第8章結構化詳細設計_第2頁
第8章結構化詳細設計_第3頁
第8章結構化詳細設計_第4頁
第8章結構化詳細設計_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第8章結構化詳細設計結構化詳細設計的結構和特點結構化詳細設計工具人機交互界面設計數據庫設計編碼實現8.1詳細設計詳細設計就是在概要設計的基礎上決定如何具體實現各模塊的內部細節,直到對系統中的每個模塊給出足夠詳細的過程描述。在編碼實現階段就可以完全按照詳細設計的細節過程來映射到代碼,最終實現整個系統。一般使用結構化程序設計工具來描述詳細設計的基本任務為每個模塊進行詳細的算法設計為模塊內的數據結構進行設計為數據結構進行物理設計,即確定數據庫的物理結構其他設計:根據軟件系統的類型,還可能要進行以下設計:代碼設計輸入/輸出格式設計人機對話設計編寫詳細設計文檔評審8.2結構化詳細設計結構化詳細設計也稱為結構化程序設計。結構化程序設計的理念是在20世紀60年代,由Dijkstra等人提出并加以完善的。結構化的程序一般只需要用三種基本的邏輯結構就能實現。這三種基本邏輯結構是順序結構、選擇結構和循環結構。結構化程序設計是一種設計程序的技術,它采用自頂向下逐步求精的設計方法和單入口單出口的控制結構。結構化詳細設計的結構三種基本結構順序結構選擇結構循環結構結構化程序設計優點自頂向下逐步求精的方法符合人類解決復雜問題的普遍規律,因此可以顯著提高軟件開發工程的成功率和生產率。用先全局后局部、先整體后細節、先抽象后具體的逐步求精過程開發出的程序有清晰的層次結構,因此容易閱讀和理解。僅使用單入口單出口的控制結構,使得程序的靜態結構和它的動態執行情況比較一致。因此,程序容易閱讀和理解,開發時也比較容易保證程序的正確性,即使出現錯誤也比較容易診斷和改正。控制結構有確定的邏輯模式,編寫程序代碼只限于使用很少幾種直截了當的方式,因此源程序清晰流暢,易讀易懂而且容易測試。程序清晰和模塊化使得在修改和重新設計一個軟件時可以重用的代碼量最大。程序的邏輯結構清晰,有利于程序正確性證明。8.3結構化詳細設計工具圖形工具:把過程的細節表示成一個圖的組成部分,在這個圖上,邏輯構造用具體的圖形來表示。列表工具:用一個表來表示過程的細節,這個表列出了各種操作及其相應的條件。也即,描述了輸入、處理和輸出信息。語言工具:用類語言來表示過程的細節,這種類語言很接近于編程語言。程序流程圖程序流程圖又稱為程序框圖,Goldstine于1946年首先采用。它的主要優點是對控制流程的描繪很直觀,便于初學者掌握。程序流程圖的主要缺點:程序流程圖本質上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結構;程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結構程序設計的精神,隨意轉移控制;程序流程圖不易表示數據結構。程序流程圖符號(a)預處理(b)選擇(c)多分支(d)循環上界(e)循環下界(f)開始/結束(g)準備(h)注釋(i)虛線(j)省略(k)并行方式(l)控制流盒圖盒圖是由Nassi和Shneiderman提出的,所以又稱為N-S圖。每個處理步驟都用一個盒子來表示,這些處理步驟可以是語句或語句序列,在需要時,盒子中還可以嵌套另一個盒子,嵌套深度一般沒有限制。盒圖具有下述特點:功能域(即,一個特定控制結構的作用域)明確,可以從盒圖上一眼就看出來。由于只能從上邊進入盒子然后從下面走出盒子,除此之外沒有其它的入口和出口,所以盒圖限制了任意的控制轉移,保證程序有良好的結構。很容易確定局部和全程數據的作用域。很容易表現嵌套關系,也可以表示模塊的層次結構。盒圖很容易表示程序結構化的層次結構,確定局部和全局數據的作用域。由于沒有箭頭,因此不允許隨意轉移控制。盒圖符號PAD圖PAD是問題分析圖(ProblemAnalysisDiagram)的英文縮寫,自1973年由日本日立公司發明。它是由程序流程圖演化而來,用二維樹形結構的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。PAD圖的基本原理:采用自頂向下、逐步細化和結構化設計的原則,力求將模糊的問題解的概念逐步轉換為確定的和詳盡的過程,使之最終可采用計算機直接進行處理。PAD圖符號PAD圖的主要優點使用表示結構化控制結構的PAD符號設計出來的程序必然是結構化程序。PAD圖所描繪的程序結構十分清晰。圖中最左邊的豎線是程序的主線,即第一層結構。隨著程序層次的增加,PAD圖逐漸向右延伸,每增加一個層次,圖形向右擴展一條豎線。PAD圖中豎線的總條數就是程序的層次數。用PAD圖表現程序邏輯,易讀、易懂、易記。PAD圖是二維樹形結構的圖形,程序從圖中最左豎線上端的結點開始執行,自上而下,從左向右順序執行,遍歷所有結點。容易將PAD圖轉換成高級語言源程序,這種轉換可用軟件工具自動完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產率。既可用于表示程序邏輯,又可用于描繪數據結構。PAD圖舉例HIPO圖HIPO(HiberarchyPlusInput-Process-Output,層次加輸入-處理-輸出)圖是根據IBM公司研制的軟件設計與文件編制技術發展而來的。HIPO圖采用功能框圖和PDL來描述程序邏輯,它由兩部分組成:可視目錄表給出程序的層次關系體系框圖:又稱層次圖(H圖),是可視目錄表的主體,用它表明各個功能的隸屬關系圖例:圖形符號說明描述說明:每一框的補充說明IPO圖則為程序各部分提供具體的工作細節盤存/銷售系統工作流程圖層次圖說明IPO圖詳細的IPO圖判定表例如:某數據流圖中有一個“確定保險類別”的加工,指的是申請汽車駕駛保險時,要根據申請者的情況確定不同的保險類別。加工邏輯為:如果申請者的年齡在21歲以下,要額外收費;如果申請者是21歲以上并是26歲以上的女性,適用于A類保險;如果申請者是26歲以下的已婚男性,或者26歲以上的男性,適用于B類保險;如果申請者是21歲以下的女性或26歲以下的單身男性適用于C類保險;除此之外的其他申請者都適用于A類保險。判定表提取問題中的條件:年齡、性別、婚姻。標出條件的取值條件名取值符號取值數m年齡年齡≤2121<年齡<26年齡≥26CYLm1=3性別男女MFm2=2婚姻未婚已婚SEm3=2判定表計算所有條件的組合數N。N==3×2×2提取可能爭取的動作或措施。適用于A類保險、B類保險、C類保險,額外收費共四種。制作判定表完善判定表缺少判定采取的動作有冗余的列制作判定表123456789101112年齡CCCCYYYYLLLL性別FFMMFFMMFFMM婚姻SESESESESESEA類保險√√√√B類保險√√√√C類保險√√√√額外收費√√√√合并后的判定表134578911年齡CCCYYYLL性別FMMFMMFM婚姻--SE--SE----A類保險√√B類保險√√√C類保險√√√額外保險√√√判定樹判定樹是判定表的變形,一般情況下它比判定表更直觀,且易于理解和使用年齡>21未婚—C類保險且額外收費已婚—B類保險且額外收費未婚—C類保險已婚—D類保險年齡≤21C類保險收額外收費A類保險B類保險21<年齡≤26年齡>26年齡≤21確保保險類別男性女性過程描述語言PDL過程描述語言(PDL-ProceduralDescriptionLanguage)介于自然語言和形式語言之間的一種半形式化語言,是在自然語言基礎上加了一些限定,使用有限的詞匯和有限的語句來描述加工邏輯。外層用來描述控制結構,采用順序、選擇、重復三種基本結構。內層一般采用祈使語句的自然語言短語,使用數據字典中的名詞和有限的自定義詞,其動詞含義要具體,盡量不用形容詞和副詞來修飾。PDL三種結構順序結構AseqBlock1Block2Block3Aend選擇結構Aselectcond1Block1Aorcond2Block2Aorcond3Block3Aend重復結構AiteruntilcondBlock1Aend

AiterwhilecondBlock1Aend統計單詞數目統計空格seq打開文件讀入字符串Totalsum=0程序體iteruntil文件結束……程序體end印總數seq印出空格總數印總數end關閉文件停止統計空格end8.4人機界面設計人機界面設計的任務,就是根據對用戶在使用交互式系統時的所作所為,或者是用戶想象中的所作所為,或者是他人想象中用戶的所作所為的抽象,創建或導出一致的表示界面。設計人機界面要充分考慮到人的因素,如用戶的特點、用戶怎樣學會與系統交互工作、用戶怎樣理解系統產生的輸出信息以及用戶對系統有什么期望等。考慮界面的風格,可用的軟、硬件技術及應用本身產生的影響。交互界面設計原則美學規則置用戶于控制之下減少用戶的記憶負擔保持界面一致人機界面模型軟件工程師創建的用戶模型軟件工程師創建的設計模型最終用戶對未來系統的假想系統的實現者創建的實現模型人機交互界面分析人機界面的設計工作應與軟件系統的需求分析工作同步進行。它主要包括:通過界面和系統交互的最終用戶分析最終用戶為完成工作要做的任務分析確定界面的類型任務處理的環境人機交互界面分析過程交互界面設計步驟建立任務的目標和意圖;為每個目標和意圖制定特定的動作序列;按照在界面上執行的方式對動作序列進行規約;指明系統狀態,即執行動作時的界面表現;定義控制機制,即用戶可用的改變系統狀態的設備和動作;指明控制機制如何影響系統狀態;指明用戶如何通過界面上的信息解釋系統狀態;交互界面設計指南交互界面的設計指南信息顯示的設計指南數據輸入的設計指南CAD系統界面設計圓弧繪制的基本參數包括圓心(Center)、半徑(Radiu)、圓心角(Angle)、弦長(chordoflength)、切線方向(direction)、起點(start)和終點(end)。根據參數的不同和次序,繪制圓弧可以有10種方法3點繪制圓弧起點-圓心-終點起點-圓心-圓心角起點-圓心-弦長起點-終點-圓心角起點-終點-切線方向起點-終點-半徑圓心-起點-終點圓心-起點-圓心角圓心-起點-弦長繪制圓弧的操作命令序列Command:ARC

或通過菜單或工具選擇繪制圓弧命令提示:指定圓弧起點,或[圓心]:(給定起點)提示:指定圓弧第二點,或[圓心/圓弧終點]:(給定第二點)提示:指定圓弧的終點:(給定第三點)Command:ARC

或通過菜單或工具選擇繪制圓弧命令提示:指定圓弧起點,或[圓心]:(指定起點)提示:指定圓弧第二點,或[圓心/圓弧終點]:(指定圓心)提示:指定圓弧的圓心點:(指定圓心點)提示:指定終點,或[圓心角/弦長]:(指定弦長)提示:指定圓弧的弦長:(給定弦長)8.5數據庫設計需求分析概念設計邏輯設計物理設計實施運行與維護8.6編碼實現編碼語言編碼風格編碼語言編碼的目的是實現人和計算機的通信,指揮計算機按人的操作意圖正確工作。程序設計語言是人和計算機之間進行通信的最基本的工具,其特性會影響人的思維和解決問題的方式。分為兩大類:低級語言:這兩種語言都依賴于相應的計算機硬件。機器語言屬于第一代語言匯編語言屬于第二代語言高級語言:第三代程序設計語言利用類英語的語句和命令,盡量不再指導計算機如何去完成一項操作,如BASIC、COBOL和FORTRAN等。第四代程序設計語言比第三代程序設計語言更像英語但過程更弱,與自然語言非常接近,它兼有過程性和非過程性的兩重特性,如數據庫查詢語言、程序生成器等。編碼語言特性心理特性語言的心理特性是指影響程序員心理的語言性能,包括歧義性、簡潔性、局限性和順序性、傳統性。工程特性從軟件工程的觀點,編碼語言的特性著重考慮軟件開發項目的需要。因此對編碼有如下要求:可移植性、開發工具的可利用性、軟件的可復用性、可維護性。技術特性語言的技術特性對軟件工程各階段都有影響,特別是當確定了軟件需求之后,編碼語言的技術特性就顯得非常重要了,要根據項目的特性選擇相應特性的語言。編碼語言的選擇為使程序容易測試和維護以減少軟件的總成本,所選用的高級語言應該有理想的模塊化機制,以及可讀性好的控制結構和數據結構。為便于調試和提高軟件

溫馨提示

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

最新文檔

評論

0/150

提交評論