軟件項目的詳細設計_第1頁
軟件項目的詳細設計_第2頁
軟件項目的詳細設計_第3頁
軟件項目的詳細設計_第4頁
軟件項目的詳細設計_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

軟件工程軟件項目的詳細設計軟件工程路線圖需求分析概要設計詳細設計編碼測試產品提交維護軟件項目的詳細設計一、詳細設計概述二、詳細設計方法三、詳細設計的過程及詳細設計規格文檔一、詳細設計概述詳細設計是將概要設計的框架內容具體化、明細化,將概要設計轉化為可以操作的軟件模型。一、詳細設計概述模塊描述描述模塊的功能以及需要解決的問題,這個模塊在什么時候可以被調用,為什么需要這個模塊。算法描述確定模塊存在的必要性之后,需要確定實現這個模塊的算法,描述模塊中的每個算法,包括公式、邊界和特殊條件,甚至包括參考資料,引用的出處等。數據描述詳細設計應該描述模塊內部的數據流。對于面向對象的模塊,主要描述對象之間的關系。

二、詳細設計方法1、傳統(結構化)的詳細設計方法2、面向對象的詳細設計方法二、詳細設計方法1、傳統(結構化)的詳細設計方法1)圖形工具(程序流程圖)2)表格工具(決策表)3)語言工具(PDL)二、詳細設計方法1)圖形符號的設計方法程序流程圖符號畫程序流程圖的注意事項常用畫圖工具:MicrosoftOfficeVisio程序流程圖僅描述系統算法結構(系統流程圖描述系統功能結構)單入口,單出口指明開始和結束的節點表示循環返回的控制流,必須回到循環過程的起點二、詳細設計方法練習1、畫出ATM(自動取款機)取款功能的系統流程圖。練習2、判斷三個輸入是否能構成三角形。如果三條邊長度相等提示“構成等邊三角形”,如果兩條邊相等,提示“構成等腰三角形”。如果不滿足構成三角形的條件,則提示“不能構成三角形”。練習1答案二、詳細設計方法練習2答案二、詳細設計方法2)表格的設計方法決策表在很多軟件應用中,一個模塊需要對一些條件和基于這些條件下的任務進行一個復雜的組合。決策表提供了將條件及其相關的任務組合為表格的一種表達方式。決策表的左上區域列出了所有的條件,左下區域列出了基于這些條件組合對應的任務,右邊區域是根據條件組合而對應的任務的一個矩陣表。矩陣的每個列可以對應應用系統中的一個處理規則。二、詳細設計方法編制一個決策表的步驟如下:①列出與一個特定的模塊相關的所有活動;②列出這個模塊執行過程的所有條件(或者決策);③將特定的條件組合與相應的活動組合在一起,刪除不必要的條件組合,或者編制可行的條件組合;④定義規則,即一組條件組合對象將完成什么活動。

二、詳細設計方法決策表的格式條件樁條件條目行動樁行動條目指定所有輸入可能滿足的條件指定可能發生的不同行為的集合決策表實例:三角形程序的決策表

條件C1:C2:C3:C4:A1:A2:A3:A4:A5:N///XYYYYXYYYNXYYNNXYYNYXYNNNX規則1規則2規則3規則4規則5規則6abc構成三角形a=b?a=c?b=c?非三角形不等邊三角形等腰三角形等邊三角形不可能二、詳細設計方法3)程序設計語言(PDL)偽代碼PDL的特點使用一些固定關鍵詞的語法結構表達了結構化構造、數據描述、模塊的特征;以自然語言的自由語法描述了處理過程;數據聲明應該既包括簡單的也包括復雜的數據結構;使用支持各種模式的接口描述的子程序定義或者調用技術。偽代碼示例—三角形的例子

inputA,B,Cif(A+B<=C|A+C<=B|B+C<=A){out"不能構成三角形";}else{

if(A=B=C){out"等邊三角形";}else{

if(A=B|B=C|A=C){out"等腰三角形";}}}二、詳細設計方法2、面向對象的詳細設計方法1)可見性、可訪問性和信息隱藏①程序實體的可見性程序實體是程序單元中的任何事物,如:常量、變量、子程序、程序包、類、屬性和操作。可見性類型publicprotectedprivate封裝File:package1/publicClass.javapackagepackage1;publicclasspublicClass{privatevoidmethod(){StringlocalVariable;…//pointA…}…//pointB}//endpackage1.publicClassFile:package1/packageClass.javapackagepackage1;classPackageClass{…//pointC…}//endpackage1.packageClassFile:package2/PackageClass.javapackagepackage2;importpackage1.*;classpackageClass{…//pointD…}//endpackage2.packageClass②可訪問性如果某個程序實體在程序正文的某個位置可以被使用,則該實體在此位置是可訪問的。③可訪問性與信息隱藏隱藏信息的關鍵技術是盡可能多的限制對程序實體的訪問二、詳細設計方法2)操作操作實現程序行為,因此設計必須指定詳細至一定程度的操作。操作職責和接口的說明可以集中在操作說明的結構化文本中。包括下列內容:類或模塊操作所屬的類或模塊簽名操作的名稱、參數名稱和類型,返回值類型及其他信息(比如拋出的異常,可見性等)描述簡略描述操作職責行為詳細說明操作所做的事情,包括實參的約束、被調用的條件、返回的值、對環境的其他影響以及在遇到意外情況時采取的行動編碼說明實現:詳細描述用來實現該操作的算法和數據結構操作說明示例簽名publicstaticint

findMax(int[]a)throwsllegalArgumentException類Utility描述返回int類型數組中最大的元素行為pre:(a!=null)&&(0<a.length)post:對a中每個元素x來說,x<=resultpost:如果違背前置條件,則拋出IlegalArgumentException異常二、詳細設計方法3)算法和數據結構的設計算法是設計對象中每個方法的實現規格。算法可能在操作說明中表述。算法說明通常要陳述計算過程的每一個步驟。變換描述對操作將輸入轉換為輸出的過程逐步描述。偽代碼編寫變換描述。二、詳細設計方法數據結構是在計算機內存中存儲數值的模式。數據結構通常使用兩種實現策略連續實現—數值被存儲在相鄰的存儲單元中鏈接實現—數值不必存儲于相鄰存儲單元中,程序使用指針或引用來訪問數值。數據結構的設計與算法是同時進行的,因為這個方法(操作)要對類的屬性進行處理。抽象的數據類型,表示數值(該類型的載體集合)及處理這些數值的操作集合。如數組、堆棧、隊列、列表以及樹等。抽象數據類型必須實現該類型的兩方面:必須在計算機內存中實現載體集合的數值實現處理這些數值的操作數據結構圖使用簡單的圖形表示法來描述數據結構。比如:

……數組:012kn-1二叉樹

溫馨提示

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

評論

0/150

提交評論