




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第8章結(jié)構(gòu)化詳細(xì)設(shè)計結(jié)構(gòu)化詳細(xì)設(shè)計的結(jié)構(gòu)和特點結(jié)構(gòu)化詳細(xì)設(shè)計工具人機交互界面設(shè)計數(shù)據(jù)庫設(shè)計編碼實現(xiàn)8.1詳細(xì)設(shè)計詳細(xì)設(shè)計就是在概要設(shè)計的基礎(chǔ)上決定如何具體實現(xiàn)各模塊的內(nèi)部細(xì)節(jié),直到對系統(tǒng)中的每個模塊給出足夠詳細(xì)的過程描述。在編碼實現(xiàn)階段就可以完全按照詳細(xì)設(shè)計的細(xì)節(jié)過程來映射到代碼,最終實現(xiàn)整個系統(tǒng)。一般使用結(jié)構(gòu)化程序設(shè)計工具來描述詳細(xì)設(shè)計的基本任務(wù)為每個模塊進行詳細(xì)的算法設(shè)計為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行設(shè)計為數(shù)據(jù)結(jié)構(gòu)進行物理設(shè)計,即確定數(shù)據(jù)庫的物理結(jié)構(gòu)其他設(shè)計:根據(jù)軟件系統(tǒng)的類型,還可能要進行以下設(shè)計:代碼設(shè)計輸入/輸出格式設(shè)計人機對話設(shè)計編寫詳細(xì)設(shè)計文檔評審8.2結(jié)構(gòu)化詳細(xì)設(shè)計結(jié)構(gòu)化詳細(xì)設(shè)計也稱為結(jié)構(gòu)化程序設(shè)計。結(jié)構(gòu)化程序設(shè)計的理念是在20世紀(jì)60年代,由Dijkstra等人提出并加以完善的。結(jié)構(gòu)化的程序一般只需要用三種基本的邏輯結(jié)構(gòu)就能實現(xiàn)。這三種基本邏輯結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計是一種設(shè)計程序的技術(shù),它采用自頂向下逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu)。結(jié)構(gòu)化詳細(xì)設(shè)計的結(jié)構(gòu)三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計優(yōu)點自頂向下逐步求精的方法符合人類解決復(fù)雜問題的普遍規(guī)律,因此可以顯著提高軟件開發(fā)工程的成功率和生產(chǎn)率。用先全局后局部、先整體后細(xì)節(jié)、先抽象后具體的逐步求精過程開發(fā)出的程序有清晰的層次結(jié)構(gòu),因此容易閱讀和理解。僅使用單入口單出口的控制結(jié)構(gòu),使得程序的靜態(tài)結(jié)構(gòu)和它的動態(tài)執(zhí)行情況比較一致。因此,程序容易閱讀和理解,開發(fā)時也比較容易保證程序的正確性,即使出現(xiàn)錯誤也比較容易診斷和改正。控制結(jié)構(gòu)有確定的邏輯模式,編寫程序代碼只限于使用很少幾種直截了當(dāng)?shù)姆绞?,因此源程序清晰流暢,易讀易懂而且容易測試。程序清晰和模塊化使得在修改和重新設(shè)計一個軟件時可以重用的代碼量最大。程序的邏輯結(jié)構(gòu)清晰,有利于程序正確性證明。8.3結(jié)構(gòu)化詳細(xì)設(shè)計工具圖形工具:把過程的細(xì)節(jié)表示成一個圖的組成部分,在這個圖上,邏輯構(gòu)造用具體的圖形來表示。列表工具:用一個表來表示過程的細(xì)節(jié),這個表列出了各種操作及其相應(yīng)的條件。也即,描述了輸入、處理和輸出信息。語言工具:用類語言來表示過程的細(xì)節(jié),這種類語言很接近于編程語言。程序流程圖程序流程圖又稱為程序框圖,Goldstine于1946年首先采用。它的主要優(yōu)點是對控制流程的描繪很直觀,便于初學(xué)者掌握。程序流程圖的主要缺點:程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu);程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計的精神,隨意轉(zhuǎn)移控制;程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。程序流程圖符號(a)預(yù)處理(b)選擇(c)多分支(d)循環(huán)上界(e)循環(huán)下界(f)開始/結(jié)束(g)準(zhǔn)備(h)注釋(i)虛線(j)省略(k)并行方式(l)控制流盒圖盒圖是由Nassi和Shneiderman提出的,所以又稱為N-S圖。每個處理步驟都用一個盒子來表示,這些處理步驟可以是語句或語句序列,在需要時,盒子中還可以嵌套另一個盒子,嵌套深度一般沒有限制。盒圖具有下述特點:功能域(即,一個特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來。由于只能從上邊進入盒子然后從下面走出盒子,除此之外沒有其它的入口和出口,所以盒圖限制了任意的控制轉(zhuǎn)移,保證程序有良好的結(jié)構(gòu)。很容易確定局部和全程數(shù)據(jù)的作用域。很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。盒圖很容易表示程序結(jié)構(gòu)化的層次結(jié)構(gòu),確定局部和全局?jǐn)?shù)據(jù)的作用域。由于沒有箭頭,因此不允許隨意轉(zhuǎn)移控制。盒圖符號PAD圖PAD是問題分析圖(ProblemAnalysisDiagram)的英文縮寫,自1973年由日本日立公司發(fā)明。它是由程序流程圖演化而來,用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。PAD圖的基本原理:采用自頂向下、逐步細(xì)化和結(jié)構(gòu)化設(shè)計的原則,力求將模糊的問題解的概念逐步轉(zhuǎn)換為確定的和詳盡的過程,使之最終可采用計算機直接進行處理。PAD圖符號PAD圖的主要優(yōu)點使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的PAD符號設(shè)計出來的程序必然是結(jié)構(gòu)化程序。PAD圖所描繪的程序結(jié)構(gòu)十分清晰。圖中最左邊的豎線是程序的主線,即第一層結(jié)構(gòu)。隨著程序?qū)哟蔚脑黾?,PAD圖逐漸向右延伸,每增加一個層次,圖形向右擴展一條豎線。PAD圖中豎線的總條數(shù)就是程序的層次數(shù)。用PAD圖表現(xiàn)程序邏輯,易讀、易懂、易記。PAD圖是二維樹形結(jié)構(gòu)的圖形,程序從圖中最左豎線上端的結(jié)點開始執(zhí)行,自上而下,從左向右順序執(zhí)行,遍歷所有結(jié)點。容易將PAD圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用軟件工具自動完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率。既可用于表示程序邏輯,又可用于描繪數(shù)據(jù)結(jié)構(gòu)。PAD圖舉例HIPO圖HIPO(HiberarchyPlusInput-Process-Output,層次加輸入-處理-輸出)圖是根據(jù)IBM公司研制的軟件設(shè)計與文件編制技術(shù)發(fā)展而來的。HIPO圖采用功能框圖和PDL來描述程序邏輯,它由兩部分組成:可視目錄表給出程序的層次關(guān)系體系框圖:又稱層次圖(H圖),是可視目錄表的主體,用它表明各個功能的隸屬關(guān)系圖例:圖形符號說明描述說明:每一框的補充說明IPO圖則為程序各部分提供具體的工作細(xì)節(jié)盤存/銷售系統(tǒng)工作流程圖層次圖說明IPO圖詳細(xì)的IPO圖判定表例如:某數(shù)據(jù)流圖中有一個“確定保險類別”的加工,指的是申請汽車駕駛保險時,要根據(jù)申請者的情況確定不同的保險類別。加工邏輯為:如果申請者的年齡在21歲以下,要額外收費;如果申請者是21歲以上并是26歲以上的女性,適用于A類保險;如果申請者是26歲以下的已婚男性,或者26歲以上的男性,適用于B類保險;如果申請者是21歲以下的女性或26歲以下的單身男性適用于C類保險;除此之外的其他申請者都適用于A類保險。判定表提取問題中的條件:年齡、性別、婚姻。標(biāo)出條件的取值條件名取值符號取值數(shù)m年齡年齡≤2121<年齡<26年齡≥26CYLm1=3性別男女MFm2=2婚姻未婚已婚SEm3=2判定表計算所有條件的組合數(shù)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)介于自然語言和形式語言之間的一種半形式化語言,是在自然語言基礎(chǔ)上加了一些限定,使用有限的詞匯和有限的語句來描述加工邏輯。外層用來描述控制結(jié)構(gòu),采用順序、選擇、重復(fù)三種基本結(jié)構(gòu)。內(nèi)層一般采用祈使語句的自然語言短語,使用數(shù)據(jù)字典中的名詞和有限的自定義詞,其動詞含義要具體,盡量不用形容詞和副詞來修飾。PDL三種結(jié)構(gòu)順序結(jié)構(gòu)AseqBlock1Block2Block3Aend選擇結(jié)構(gòu)Aselectcond1Block1Aorcond2Block2Aorcond3Block3Aend重復(fù)結(jié)構(gòu)AiteruntilcondBlock1Aend
AiterwhilecondBlock1Aend統(tǒng)計單詞數(shù)目統(tǒng)計空格seq打開文件讀入字符串Totalsum=0程序體iteruntil文件結(jié)束……程序體end印總數(shù)seq印出空格總數(shù)印總數(shù)end關(guān)閉文件停止統(tǒng)計空格end8.4人機界面設(shè)計人機界面設(shè)計的任務(wù),就是根據(jù)對用戶在使用交互式系統(tǒng)時的所作所為,或者是用戶想象中的所作所為,或者是他人想象中用戶的所作所為的抽象,創(chuàng)建或?qū)С鲆恢碌谋硎窘缑?。設(shè)計人機界面要充分考慮到人的因素,如用戶的特點、用戶怎樣學(xué)會與系統(tǒng)交互工作、用戶怎樣理解系統(tǒng)產(chǎn)生的輸出信息以及用戶對系統(tǒng)有什么期望等??紤]界面的風(fēng)格,可用的軟、硬件技術(shù)及應(yīng)用本身產(chǎn)生的影響。交互界面設(shè)計原則美學(xué)規(guī)則置用戶于控制之下減少用戶的記憶負(fù)擔(dān)保持界面一致人機界面模型軟件工程師創(chuàng)建的用戶模型軟件工程師創(chuàng)建的設(shè)計模型最終用戶對未來系統(tǒng)的假想系統(tǒng)的實現(xiàn)者創(chuàng)建的實現(xiàn)模型人機交互界面分析人機界面的設(shè)計工作應(yīng)與軟件系統(tǒng)的需求分析工作同步進行。它主要包括:通過界面和系統(tǒng)交互的最終用戶分析最終用戶為完成工作要做的任務(wù)分析確定界面的類型任務(wù)處理的環(huán)境人機交互界面分析過程交互界面設(shè)計步驟建立任務(wù)的目標(biāo)和意圖;為每個目標(biāo)和意圖制定特定的動作序列;按照在界面上執(zhí)行的方式對動作序列進行規(guī)約;指明系統(tǒng)狀態(tài),即執(zhí)行動作時的界面表現(xiàn);定義控制機制,即用戶可用的改變系統(tǒng)狀態(tài)的設(shè)備和動作;指明控制機制如何影響系統(tǒng)狀態(tài);指明用戶如何通過界面上的信息解釋系統(tǒng)狀態(tài);交互界面設(shè)計指南交互界面的設(shè)計指南信息顯示的設(shè)計指南數(shù)據(jù)輸入的設(shè)計指南CAD系統(tǒng)界面設(shè)計圓弧繪制的基本參數(shù)包括圓心(Center)、半徑(Radiu)、圓心角(Angle)、弦長(chordoflength)、切線方向(direction)、起點(start)和終點(end)。根據(jù)參數(shù)的不同和次序,繪制圓弧可以有10種方法3點繪制圓弧起點-圓心-終點起點-圓心-圓心角起點-圓心-弦長起點-終點-圓心角起點-終點-切線方向起點-終點-半徑圓心-起點-終點圓心-起點-圓心角圓心-起點-弦長繪制圓弧的操作命令序列Command:ARC
或通過菜單或工具選擇繪制圓弧命令提示:指定圓弧起點,或[圓心]:(給定起點)提示:指定圓弧第二點,或[圓心/圓弧終點]:(給定第二點)提示:指定圓弧的終點:(給定第三點)Command:ARC
或通過菜單或工具選擇繪制圓弧命令提示:指定圓弧起點,或[圓心]:(指定起點)提示:指定圓弧第二點,或[圓心/圓弧終點]:(指定圓心)提示:指定圓弧的圓心點:(指定圓心點)提示:指定終點,或[圓心角/弦長]:(指定弦長)提示:指定圓弧的弦長:(給定弦長)8.5數(shù)據(jù)庫設(shè)計需求分析概念設(shè)計邏輯設(shè)計物理設(shè)計實施運行與維護8.6編碼實現(xiàn)編碼語言編碼風(fēng)格編碼語言編碼的目的是實現(xiàn)人和計算機的通信,指揮計算機按人的操作意圖正確工作。程序設(shè)計語言是人和計算機之間進行通信的最基本的工具,其特性會影響人的思維和解決問題的方式。分為兩大類:低級語言:這兩種語言都依賴于相應(yīng)的計算機硬件。機器語言屬于第一代語言匯編語言屬于第二代語言高級語言:第三代程序設(shè)計語言利用類英語的語句和命令,盡量不再指導(dǎo)計算機如何去完成一項操作,如BASIC、COBOL和FORTRAN等。第四代程序設(shè)計語言比第三代程序設(shè)計語言更像英語但過程更弱,與自然語言非常接近,它兼有過程性和非過程性的兩重特性,如數(shù)據(jù)庫查詢語言、程序生成器等。編碼語言特性心理特性語言的心理特性是指影響程序員心理的語言性能,包括歧義性、簡潔性、局限性和順序性、傳統(tǒng)性。工程特性從軟件工程的觀點,編碼語言的特性著重考慮軟件開發(fā)項目的需要。因此對編碼有如下要求:可移植性、開發(fā)工具的可利用性、軟件的可復(fù)用性、可維護性。技術(shù)特性語言的技術(shù)特性對軟件工程各階段都有影響,特別是當(dāng)確定了軟件需求之后,編碼語言的技術(shù)特性就顯得非常重要了,要根據(jù)項目的特性選擇相應(yīng)特性的語言。編碼語言的選擇為使程序容易測試和維護以減少軟件的總成本,所選用的高級語言應(yīng)該有理想的模塊化機制,以及可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。為便于調(diào)試和提高軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人養(yǎng)老金制度2025年對能源產(chǎn)業(yè)投資的影響與機遇研究報告
- 2025年陶瓷機械行業(yè)當(dāng)前競爭格局與未來發(fā)展趨勢分析報告
- 2025年文教用品行業(yè)當(dāng)前市場規(guī)模及未來五到十年發(fā)展趨勢報告
- 腦卒中吞咽障礙評估護理
- 航空工業(yè)專業(yè)面試題庫:高薪崗位與職業(yè)發(fā)展策略
- 《綱要》考試題及答案
- 瀘定輔警考試題及答案
- 3.2營造清朗空間 課件 2025-2026學(xué)年度道德與法治 八年級上冊
- 婦產(chǎn)科護理子宮脫垂課件
- 奶酪課件教學(xué)課件
- 航天禁(限)用工藝目錄(2021版)-發(fā)文稿(公開)
- 車位轉(zhuǎn)讓車位協(xié)議書模板
- 2025屆貴州省畢節(jié)市實驗高級中學(xué)數(shù)學(xué)高一上期末聯(lián)考模擬試題含解析
- 保護長江同飲一江水共護母親河主題班會
- AQ 1115-2018 煤層氣地面開發(fā)建設(shè)項目安全設(shè)施設(shè)計審查和竣工驗收規(guī)范(正式版)
- JGJ107-2016鋼筋機械連接技術(shù)規(guī)程
- 教育行動研究案例分析
- 護理人員職業(yè)暴露應(yīng)急預(yù)案
- 知識題庫-人社練兵比武競賽測試題及答案(三)
- 綠色礦山第三方評估工作要求、名錄動態(tài)管理要求、國家級綠色礦山建設(shè)評價指標(biāo)2024
- 茅臺白酒科普知識講座
評論
0/150
提交評論