版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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ù)庫設(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ì)的過程描述。在編碼實(shí)現(xiàn)階段就可以完全按照詳細(xì)設(shè)計(jì)的細(xì)節(jié)過程來映射到代碼,最終實(shí)現(xiàn)整個(gè)系統(tǒng)。一般使用結(jié)構(gòu)化程序設(shè)計(jì)工具來描述詳細(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ù)庫的物理結(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ù)雜問題的普遍規(guī)律,因此可以顯著提高軟件開發(fā)工程的成功率和生產(chǎn)率。用先全局后局部、先整體后細(xì)節(jié)、先抽象后具體的逐步求精過程開發(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ì)工具圖形工具:把過程的細(xì)節(jié)表示成一個(gè)圖的組成部分,在這個(gè)圖上,邏輯構(gòu)造用具體的圖形來表示。列表工具:用一個(gè)表來表示過程的細(xì)節(jié),這個(gè)表列出了各種操作及其相應(yīng)的條件。也即,描述了輸入、處理和輸出信息。語言工具:用類語言來表示過程的細(xì)節(jié),這種類語言很接近于編程語言。程序流程圖程序流程圖又稱為程序框圖,Goldstine于1946年首先采用。它的主要優(yōu)點(diǎn)是對(duì)控制流程的描繪很直觀,便于初學(xué)者掌握。程序流程圖的主要缺點(diǎn):程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(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è)盒子來表示,這些處理步驟可以是語句或語句序列,在需要時(shí),盒子中還可以嵌套另一個(gè)盒子,嵌套深度一般沒有限制。盒圖具有下述特點(diǎn):功能域(即,一個(gè)特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來。由于只能從上邊進(jìn)入盒子然后從下面走出盒子,除此之外沒有其它的入口和出口,所以盒圖限制了任意的控制轉(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)移控制。盒圖符號(hào)PAD圖PAD是問題分析圖(ProblemAnalysisDiagram)的英文縮寫,自1973年由日本日立公司發(fā)明。它是由程序流程圖演化而來,用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。PAD圖的基本原理:采用自頂向下、逐步細(xì)化和結(jié)構(gòu)化設(shè)計(jì)的原則,力求將模糊的問題解的概念逐步轉(zhuǎn)換為確定的和詳盡的過程,使之最終可采用計(jì)算機(jī)直接進(jìn)行處理。PAD圖符號(hào)PAD圖的主要優(yōu)點(diǎn)使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的PAD符號(hào)設(shè)計(jì)出來的程序必然是結(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í)語言源程序,這種轉(zhuǎn)換可用軟件工具自動(dòng)完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率。既可用于表示程序邏輯,又可用于描繪數(shù)據(jù)結(jié)構(gòu)。PAD圖舉例HIPO圖HIPO(HiberarchyPlusInput-Process-Output,層次加輸入-處理-輸出)圖是根據(jù)IBM公司研制的軟件設(shè)計(jì)與文件編制技術(shù)發(fā)展而來的。HIPO圖采用功能框圖和PDL來描述程序邏輯,它由兩部分組成:可視目錄表給出程序的層次關(guān)系體系框圖:又稱層次圖(H圖),是可視目錄表的主體,用它表明各個(gè)功能的隸屬關(guān)系圖例:圖形符號(hào)說明描述說明:每一框的補(bǔ)充說明IPO圖則為程序各部分提供具體的工作細(xì)節(jié)盤存/銷售系統(tǒng)工作流程圖層次圖說明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)。判定表提取問題中的條件:年齡、性別、婚姻。標(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)類別男性女性過程描述語言PDL過程描述語言(PDL-ProceduralDescriptionLanguage)介于自然語言和形式語言之間的一種半形式化語言,是在自然語言基礎(chǔ)上加了一些限定,使用有限的詞匯和有限的語句來描述加工邏輯。外層用來描述控制結(jié)構(gòu),采用順序、選擇、重復(fù)三種基本結(jié)構(gòu)。內(nèi)層一般采用祈使語句的自然語言短語,使用數(shù)據(jù)字典中的名詞和有限的自定義詞,其動(dòng)詞含義要具體,盡量不用形容詞和副詞來修飾。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ì)未來系統(tǒng)的假想系統(tǒng)的實(shí)現(xiàn)者創(chuàng)建的實(shí)現(xiàn)模型人機(jī)交互界面分析人機(jī)界面的設(shè)計(jì)工作應(yīng)與軟件系統(tǒng)的需求分析工作同步進(jìn)行。它主要包括:通過界面和系統(tǒng)交互的最終用戶分析最終用戶為完成工作要做的任務(wù)分析確定界面的類型任務(wù)處理的環(huán)境人機(jī)交互界面分析過程交互界面設(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);指明用戶如何通過界面上的信息解釋系統(tǒng)狀態(tài);交互界面設(shè)計(jì)指南交互界面的設(shè)計(jì)指南信息顯示的設(shè)計(jì)指南數(shù)據(jù)輸入的設(shè)計(jì)指南CAD系統(tǒng)界面設(shè)計(jì)圓弧繪制的基本參數(shù)包括圓心(Center)、半徑(Radiu)、圓心角(Angle)、弦長(chordoflength)、切線方向(direction)、起點(diǎn)(start)和終點(diǎn)(end)。根據(jù)參數(shù)的不同和次序,繪制圓弧可以有10種方法3點(diǎn)繪制圓弧起點(diǎn)-圓心-終點(diǎn)起點(diǎn)-圓心-圓心角起點(diǎn)-圓心-弦長起點(diǎn)-終點(diǎn)-圓心角起點(diǎn)-終點(diǎn)-切線方向起點(diǎn)-終點(diǎn)-半徑圓心-起點(diǎn)-終點(diǎn)圓心-起點(diǎn)-圓心角圓心-起點(diǎn)-弦長繪制圓弧的操作命令序列Command:ARC
或通過菜單或工具選擇繪制圓弧命令提示:指定圓弧起點(diǎn),或[圓心]:(給定起點(diǎn))提示:指定圓弧第二點(diǎn),或[圓心/圓弧終點(diǎn)]:(給定第二點(diǎn))提示:指定圓弧的終點(diǎn):(給定第三點(diǎn))Command:ARC
或通過菜單或工具選擇繪制圓弧命令提示:指定圓弧起點(diǎn),或[圓心]:(指定起點(diǎn))提示:指定圓弧第二點(diǎn),或[圓心/圓弧終點(diǎn)]:(指定圓心)提示:指定圓弧的圓心點(diǎn):(指定圓心點(diǎn))提示:指定終點(diǎn),或[圓心角/弦長]:(指定弦長)提示:指定圓弧的弦長:(給定弦長)8.5數(shù)據(jù)庫設(shè)計(jì)需求分析概念設(shè)計(jì)邏輯設(shè)計(jì)物理設(shè)計(jì)實(shí)施運(yùn)行與維護(hù)8.6編碼實(shí)現(xiàn)編碼語言編碼風(fēng)格編碼語言編碼的目的是實(shí)現(xiàn)人和計(jì)算機(jī)的通信,指揮計(jì)算機(jī)按人的操作意圖正確工作。程序設(shè)計(jì)語言是人和計(jì)算機(jī)之間進(jìn)行通信的最基本的工具,其特性會(huì)影響人的思維和解決問題的方式。分為兩大類:低級(jí)語言:這兩種語言都依賴于相應(yīng)的計(jì)算機(jī)硬件。機(jī)器語言屬于第一代語言匯編語言屬于第二代語言高級(jí)語言:第三代程序設(shè)計(jì)語言利用類英語的語句和命令,盡量不再指導(dǎo)計(jì)算機(jī)如何去完成一項(xiàng)操作,如BASIC、COBOL和FORTRAN等。第四代程序設(shè)計(jì)語言比第三代程序設(shè)計(jì)語言更像英語但過程更弱,與自然語言非常接近,它兼有過程性和非過程性的兩重特性,如數(shù)據(jù)庫查詢語言、程序生成器等。編碼語言特性心理特性語言的心理特性是指影響程序員心理的語言性能,包括歧義性、簡(jiǎn)潔性、局限性和順序性、傳統(tǒng)性。工程特性從軟件工程的觀點(diǎn),編碼語言的特性著重考慮軟件開發(fā)項(xiàng)目的需要。因此對(duì)編碼有如下要求:可移植性、開發(fā)工具的可利用性、軟件的可復(fù)用性、可維護(hù)性。技術(shù)特性語言的技術(shù)特性對(duì)軟件工程各階段都有影響,特別是當(dāng)確定了軟件需求之后,編碼語言的技術(shù)特性就顯得非常重要了,要根據(jù)項(xiàng)目的特性選擇相應(yīng)特性的語言。編碼語言的選擇為使程序容易測(cè)試和維護(hù)以減少軟件的總成本,所選用的高級(jí)語言應(yīng)該有理想的模塊化機(jī)制,以及可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。為便于調(diào)試和提高軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 青島黃海學(xué)院《運(yùn)作管理(雙語)》2023-2024學(xué)年第一學(xué)期期末試卷
- 青島黃海學(xué)院《寶石改善與人工合成》2023-2024學(xué)年第一學(xué)期期末試卷
- 青島工學(xué)院《JAVAWEB開發(fā)技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年全縣學(xué)生和學(xué)校安全工作實(shí)施方案
- 《我國國有商業(yè)銀行競(jìng)爭(zhēng)力研究》
- 《基于建行A分行小微企業(yè)云稅貸的不良甄別模型構(gòu)建與應(yīng)用研究》
- 《早期胃癌內(nèi)鏡下完全性切除的影響因素研究》
- 家庭性教育課程設(shè)計(jì)
- 產(chǎn)品設(shè)計(jì)與創(chuàng)新實(shí)踐
- 思想品德教師課程設(shè)計(jì)
- 鈴木教學(xué)法在我國鋼琴教學(xué)中的應(yīng)用研究 開題
- 【MOOC】操作系統(tǒng)及Linux內(nèi)核-西安郵電大學(xué) 中國大學(xué)慕課MOOC答案
- 廚余垃圾處理行業(yè)市場(chǎng)前瞻與未來投資戰(zhàn)略分析報(bào)告
- 全新危險(xiǎn)廢物運(yùn)輸安全協(xié)議(2024版)3篇
- 混凝土輸送泵車安全操作規(guī)程(4篇)
- 2023-2024學(xué)年浙江省麗水市蓮都區(qū)教科版六年級(jí)上冊(cè)期末考試科學(xué)試卷
- 科研倫理與學(xué)術(shù)規(guī)范(研究生)期末試題
- 北京市矢量地圖-可改顏色
- 2020年度圖書館中級(jí)職稱專業(yè)技術(shù)資格考試題庫
- 船舶上牌合同范本
- 四川省成都市2023-2024學(xué)年六年級(jí)上學(xué)期語文期末試卷(含答案)
評(píng)論
0/150
提交評(píng)論