第8章結(jié)構(gòu)化詳細(xì)設(shè)計(jì)_第1頁(yè)
第8章結(jié)構(gòu)化詳細(xì)設(shè)計(jì)_第2頁(yè)
第8章結(jié)構(gòu)化詳細(xì)設(shè)計(jì)_第3頁(yè)
第8章結(jié)構(gòu)化詳細(xì)設(shè)計(jì)_第4頁(yè)
第8章結(jié)構(gòu)化詳細(xì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(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)介

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

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

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

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

溫馨提示

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