軟件項(xiàng)目的詳細(xì)設(shè)計(jì)_第1頁(yè)
軟件項(xiàng)目的詳細(xì)設(shè)計(jì)_第2頁(yè)
軟件項(xiàng)目的詳細(xì)設(shè)計(jì)_第3頁(yè)
軟件項(xiàng)目的詳細(xì)設(shè)計(jì)_第4頁(yè)
軟件項(xiàng)目的詳細(xì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(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)介

軟件工程軟件項(xiàng)目的詳細(xì)設(shè)計(jì)軟件工程路線圖需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼測(cè)試產(chǎn)品提交維護(hù)軟件項(xiàng)目的詳細(xì)設(shè)計(jì)一、詳細(xì)設(shè)計(jì)概述二、詳細(xì)設(shè)計(jì)方法三、詳細(xì)設(shè)計(jì)的過(guò)程及詳細(xì)設(shè)計(jì)規(guī)格文檔一、詳細(xì)設(shè)計(jì)概述詳細(xì)設(shè)計(jì)是將概要設(shè)計(jì)的框架內(nèi)容具體化、明細(xì)化,將概要設(shè)計(jì)轉(zhuǎn)化為可以操作的軟件模型。一、詳細(xì)設(shè)計(jì)概述模塊描述描述模塊的功能以及需要解決的問(wèn)題,這個(gè)模塊在什么時(shí)候可以被調(diào)用,為什么需要這個(gè)模塊。算法描述確定模塊存在的必要性之后,需要確定實(shí)現(xiàn)這個(gè)模塊的算法,描述模塊中的每個(gè)算法,包括公式、邊界和特殊條件,甚至包括參考資料,引用的出處等。數(shù)據(jù)描述詳細(xì)設(shè)計(jì)應(yīng)該描述模塊內(nèi)部的數(shù)據(jù)流。對(duì)于面向?qū)ο蟮哪K,主要描述對(duì)象之間的關(guān)系。

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

二、詳細(xì)設(shè)計(jì)方法決策表的格式條件樁條件條目行動(dòng)樁行動(dòng)條目指定所有輸入可能滿足的條件指定可能發(fā)生的不同行為的集合決策表實(shí)例:三角形程序的決策表

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

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

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

if(A=B|B=C|A=C){out"等腰三角形";}}}二、詳細(xì)設(shè)計(jì)方法2、面向?qū)ο蟮脑敿?xì)設(shè)計(jì)方法1)可見(jiàn)性、可訪問(wèn)性和信息隱藏①程序?qū)嶓w的可見(jiàn)性程序?qū)嶓w是程序單元中的任何事物,如:常量、變量、子程序、程序包、類、屬性和操作??梢?jiàn)性類型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②可訪問(wèn)性如果某個(gè)程序?qū)嶓w在程序正文的某個(gè)位置可以被使用,則該實(shí)體在此位置是可訪問(wèn)的。③可訪問(wèn)性與信息隱藏隱藏信息的關(guān)鍵技術(shù)是盡可能多的限制對(duì)程序?qū)嶓w的訪問(wèn)二、詳細(xì)設(shè)計(jì)方法2)操作操作實(shí)現(xiàn)程序行為,因此設(shè)計(jì)必須指定詳細(xì)至一定程度的操作。操作職責(zé)和接口的說(shuō)明可以集中在操作說(shuō)明的結(jié)構(gòu)化文本中。包括下列內(nèi)容:類或模塊操作所屬的類或模塊簽名操作的名稱、參數(shù)名稱和類型,返回值類型及其他信息(比如拋出的異常,可見(jiàn)性等)描述簡(jiǎn)略描述操作職責(zé)行為詳細(xì)說(shuō)明操作所做的事情,包括實(shí)參的約束、被調(diào)用的條件、返回的值、對(duì)環(huán)境的其他影響以及在遇到意外情況時(shí)采取的行動(dòng)編碼說(shuō)明實(shí)現(xiàn):詳細(xì)描述用來(lái)實(shí)現(xiàn)該操作的算法和數(shù)據(jù)結(jié)構(gòu)操作說(shuō)明示例簽名publicstaticint

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

……數(shù)組:012kn-1二叉樹(shù)

溫馨提示

  • 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)論