版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、結(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)詳細(xì)設(shè)計(jì)就是在概要設(shè)計(jì)的基礎(chǔ)上決定如何具體實(shí)現(xiàn)各模塊的內(nèi)部細(xì)節(jié),直到對系統(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ī)對話設(shè)計(jì)編寫詳細(xì)設(shè)計(jì)文檔評審結(jié)構(gòu)化詳細(xì)設(shè)計(jì)也稱為結(jié)構(gòu)化程序設(shè)計(jì)。結(jié)構(gòu)化程序設(shè)計(jì)的理念是在20世紀(jì)60
2、年代,由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)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu) A B a.順序 exp B A b.if-then-else 選擇 exp A c.do-while 循環(huán) 或 exp A T F F T 自頂向下逐步求精的方法符合人類解決復(fù)雜問題的普遍規(guī)律,因此可以顯著提高軟件開發(fā)工程的成功率和生產(chǎn)率。用先全局后局部、先整體后細(xì)節(jié)、先抽象后具體的逐步求精過程開發(fā)出的程序有清晰的層
3、次結(jié)構(gòu),因此容易閱讀和理解。僅使用單入口單出口的控制結(jié)構(gòu),使得程序的靜態(tài)結(jié)構(gòu)和它的動態(tài)執(zhí)行情況比較一致。因此,程序容易閱讀和理解,開發(fā)時(shí)也比較容易保證程序的正確性,即使出現(xiàn)錯(cuò)誤也比較容易診斷和改正??刂平Y(jié)構(gòu)有確定的邏輯模式,編寫程序代碼只限于使用很少幾種直截了當(dāng)?shù)姆绞剑虼嗽闯绦蚯逦鲿?,易讀易懂而且容易測試。程序清晰和模塊化使得在修改和重新設(shè)計(jì)一個(gè)軟件時(shí)可以重用的代碼量最大。程序的邏輯結(jié)構(gòu)清晰,有利于程序正確性證明。圖形工具:把過程的細(xì)節(jié)表示成一個(gè)圖的組成部分,在這個(gè)圖上,邏輯構(gòu)造用具體的圖形來表示。列表工具:用一個(gè)表來表示過程的細(xì)節(jié),這個(gè)表列出了各種操作及其相應(yīng)的條件。也即,描述了輸入、處
4、理和輸出信息。語言工具:用類語言來表示過程的細(xì)節(jié),這種類語言很接近于編程語言。程序流程圖又稱為程序框圖,Goldstine于1946年首先采用。它的主要優(yōu)點(diǎn)是對控制流程的描繪很直觀,便于初學(xué)者掌握。程序流程圖的主要缺點(diǎn):程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu);程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計(jì)的精神,隨意轉(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)并行方式
5、 (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)移控
6、制。 A B a.順序 F P T B A b.IF-THEN-ELSE 選擇 F P T A Do while p S c.do-while 循環(huán) S Do until p d.do-until 循環(huán) P =1 =2 =n A1 A2 An e.多分支選擇 PAD是問題分析圖(Problem Analysis Diagram)的英文縮寫,自1973年由日本日立公司發(fā)明。它是由程序流程圖演化而來,用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。PAD圖的基本原理:采用自頂向下、逐步細(xì)化和結(jié)構(gòu)化設(shè)計(jì)的原則,力求將模糊的問題解的概念逐步轉(zhuǎn)換為確定的和詳盡的過程,使之最終可采用
7、計(jì)算機(jī)直接進(jìn)行處理。 P1 P2 a.順序 C P1 P2 b.if-then-else 選擇 X= P1 P2 L1 L2 Pn Ln c.case 多分支選擇 While c P d.do-while 型循環(huán) until c P e.repeat-until 型循環(huán) 使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的PAD符號設(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)
8、的圖形,程序從圖中最左豎線上端的結(jié)點(diǎn)開始執(zhí)行,自上而下,從左向右順序執(zhí)行,遍歷所有結(jié)點(diǎn)。容易將PAD圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用軟件工具自動完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率。既可用于表示程序邏輯,又可用于描繪數(shù)據(jù)結(jié)構(gòu)。 P1 P2 C P3 P4 P2 a.初始的 PAD 圖 b.使用 def 符號細(xì)化處理框 P2 后的 PAD 圖 P5 def P6 C1 P8 until C2 P7 until C3 P9 P10 HIPO(Hiberarchy Plus Input-Process-Output,層次加輸入-處理-輸出)圖是根據(jù)IBM公司研制的軟件
9、設(shè)計(jì)與文件編制技術(shù)發(fā)展而來的。HIPO圖采用功能框圖和PDL來描述程序邏輯,它由兩部分組成:可視目錄表給出程序的層次關(guān)系體系框圖:又稱層次圖(H圖),是可視目錄表的主體,用它表明各個(gè)功能的隸屬關(guān)系圖例:圖形符號說明描述說明:每一框的補(bǔ)充說明IPO圖則為程序各部分提供具體的工作細(xì)節(jié)例如:某數(shù)據(jù)流圖中有一個(gè)“確定保險(xiǎn)類別”的加工,指的是申請汽車駕駛保險(xiǎn)時(shí),要根據(jù)申請者的情況確定不同的保險(xiǎn)類別。加工邏輯為:如果申請者的年齡在21歲以下,要額外收費(fèi);如果申請者是21歲以上并是26歲以上的女性,適用于A類保險(xiǎn);如果申請者是26歲以下的已婚男性,或者26歲以上的男性,適用于B類保險(xiǎn);如果申請者是21歲以下
10、的女性或26歲以下的單身男性適用于C類保險(xiǎn);除此之外的其他申請者都適用于A類保險(xiǎn)。提取問題中的條件:年齡、性別、婚姻。標(biāo)出條件的取值條件名條件名取值取值符號符號取值數(shù)取值數(shù)m年齡年齡2121年齡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)2126年齡21確保保險(xiǎn)類別男性女性過程描述語言(PDL-Procedural Description Language)介于自然語言和形式語言之間的一種半形式化語言,是在自然語言基礎(chǔ)上加了一些限定,使用有限的詞匯和有限的語句來描述加工邏輯。外層用來描述控制結(jié)構(gòu),采用順序、選擇、重復(fù)三種基本
11、結(jié)構(gòu)。內(nèi)層一般采用祈使語句的自然語言短語,使用數(shù)據(jù)字典中的名詞和有限的自定義詞,其動詞含義要具體,盡量不用形容詞和副詞來修飾。順序結(jié)構(gòu)A seq Block1 Block2 Block3A end選擇結(jié)構(gòu)A select cond1 Block1A or cond2 Block2A or cond3 Block3A end重復(fù)結(jié)構(gòu)A iter until cond Block1A endA iter while cond Block1A end統(tǒng)計(jì)空格 seq打開文件讀入字符串Totalsum = 0程序體 iter until文件結(jié)束程序體end印總數(shù)seq 印出空格總數(shù)印總數(shù)end關(guān)閉文件
12、停止統(tǒng)計(jì)空格end人機(jī)界面設(shè)計(jì)的任務(wù),就是根據(jù)對用戶在使用交互式系統(tǒng)時(shí)的所作所為,或者是用戶想象中的所作所為,或者是他人想象中用戶的所作所為的抽象,創(chuàng)建或?qū)С鲆恢碌谋硎窘缑妗TO(shè)計(jì)人機(jī)界面要充分考慮到人的因素,如用戶的特點(diǎn)、用戶怎樣學(xué)會與系統(tǒng)交互工作、用戶怎樣理解系統(tǒng)產(chǎn)生的輸出信息以及用戶對系統(tǒng)有什么期望等??紤]界面的風(fēng)格,可用的軟、硬件技術(shù)及應(yīng)用本身產(chǎn)生的影響。美學(xué)規(guī)則置用戶于控制之下減少用戶的記憶負(fù)擔(dān)保持界面一致人機(jī)界面模型軟件工程師創(chuàng)建的用戶模型軟件工程師創(chuàng)建的設(shè)計(jì)模型最終用戶對未來系統(tǒng)的假想系統(tǒng)的實(shí)現(xiàn)者創(chuàng)建的實(shí)現(xiàn)模型人機(jī)界面的設(shè)計(jì)工作應(yīng)與軟件系統(tǒng)的需求分析工作同步進(jìn)行。它主要包括:通過界
13、面和系統(tǒng)交互的最終用戶分析最終用戶為完成工作要做的任務(wù)分析確定界面的類型任務(wù)處理的環(huán)境建立任務(wù)的目標(biāo)和意圖;為每個(gè)目標(biāo)和意圖制定特定的動作序列;按照在界面上執(zhí)行的方式對動作序列進(jìn)行規(guī)約;指明系統(tǒng)狀態(tài),即執(zhí)行動作時(shí)的界面表現(xiàn);定義控制機(jī)制,即用戶可用的改變系統(tǒng)狀態(tài)的設(shè)備和動作;指明控制機(jī)制如何影響系統(tǒng)狀態(tài);指明用戶如何通過界面上的信息解釋系統(tǒng)狀態(tài);交互界面的設(shè)計(jì)指南信息顯示的設(shè)計(jì)指南數(shù)據(jù)輸入的設(shè)計(jì)指南CAD系統(tǒng)界面設(shè)計(jì)圓弧繪制的基本參數(shù)包括圓心(Center)、半徑(Radiu)、圓心角(Angle)、弦長(chord of length)、切線方向(direction)、起點(diǎn)(start)和終
14、點(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))提
15、示:指定終點(diǎn),或圓心角/弦長:(指定弦長)提示:指定圓弧的弦長:(給定弦長)需求分析概念設(shè)計(jì)邏輯設(shè)計(jì)物理設(shè)計(jì)實(shí)施運(yùn)行與維護(hù)編碼語言編碼風(fēng)格編碼的目的是實(shí)現(xiàn)人和計(jì)算機(jī)的通信,指揮計(jì)算機(jī)按人的操作意圖正確工作。程序設(shè)計(jì)語言是人和計(jì)算機(jī)之間進(jìn)行通信的最基本的工具,其特性會影響人的思維和解決問題的方式。分為兩大類:低級語言:這兩種語言都依賴于相應(yīng)的計(jì)算機(jī)硬件。機(jī)器語言屬于第一代語言匯編語言屬于第二代語言 高級語言:第三代程序設(shè)計(jì)語言利用類英語的語句和命令,盡量不再指導(dǎo)計(jì)算機(jī)如何去完成一項(xiàng)操作,如BASIC、COBOL和FORTRAN等。第四代程序設(shè)計(jì)語言比第三代程序設(shè)計(jì)語言更像英語但過程更弱,與自然語
16、言非常接近,它兼有過程性和非過程性的兩重特性,如數(shù)據(jù)庫查詢語言、程序生成器等。心理特性語言的心理特性是指影響程序員心理的語言性能,包括歧義性、簡潔性、局限性和順序性、傳統(tǒng)性。工程特性從軟件工程的觀點(diǎn),編碼語言的特性著重考慮軟件開發(fā)項(xiàng)目的需要。因此對編碼有如下要求:可移植性、開發(fā)工具的可利用性、軟件的可復(fù)用性、可維護(hù)性。技術(shù)特性語言的技術(shù)特性對軟件工程各階段都有影響,特別是當(dāng)確定了軟件需求之后,編碼語言的技術(shù)特性就顯得非常重要了,要根據(jù)項(xiàng)目的特性選擇相應(yīng)特性的語言。為使程序容易測試和維護(hù)以減少軟件的總成本,所選用的高級語言應(yīng)該有理想的模塊化機(jī)制,以及可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。為便于調(diào)試和提高
17、軟件可靠性,應(yīng)該使編譯程序能夠盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤。為降低軟件開發(fā)和維護(hù)的成本,選用的高級語言應(yīng)該有良好的獨(dú)立編譯機(jī)制。實(shí)用標(biāo)準(zhǔn)語言自身的特性 軟件的應(yīng)用領(lǐng)域 軟件開發(fā)的環(huán)境 軟件開發(fā)的方法 算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性 軟件可移植性要求 軟件開發(fā)人員的知識良好的程序設(shè)計(jì)風(fēng)格對保證程序質(zhì)量的重要性。良好的程序設(shè)計(jì)風(fēng)格對面向?qū)ο髮?shí)現(xiàn)來說尤其重要,不僅能明顯減少維護(hù)或擴(kuò)充的開銷,而且有助于在新項(xiàng)目中重用已有的程序代碼。良好的面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格,既包括傳統(tǒng)的程序設(shè)計(jì)風(fēng)格準(zhǔn)則,也包括為適應(yīng)面向?qū)ο蠓椒ㄋ赜械母拍疃仨氉裱囊恍┬聹?zhǔn)則。編碼風(fēng)格指一個(gè)人編制程序時(shí)所表現(xiàn)出來的特點(diǎn)、習(xí)慣、邏輯思路等。良好的編碼風(fēng)格可以
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)資產(chǎn)轉(zhuǎn)讓協(xié)議案例
- 協(xié)議離婚中的財(cái)產(chǎn)分配協(xié)議
- 醫(yī)療機(jī)構(gòu)互惠合作協(xié)議
- 2024年工程建設(shè)項(xiàng)目咨詢服務(wù)合同
- 事業(yè)單位員工停薪留職合同范本2024年
- 2024年場地租賃協(xié)議
- 2024年養(yǎng)殖設(shè)備租賃合同
- 代理證券投資合作協(xié)議示范
- 企業(yè)投資合作意向協(xié)議范本
- 土墻工程承包合同專業(yè)版
- 龍頭股戰(zhàn)法完整
- 商鋪?zhàn)赓U合同完整版下載
- 制作簡易紙折扇 (教案)-三年級上冊勞動浙教版
- 肝膽外科診療指南
- 高中美術(shù)-抽象藝術(shù)教學(xué)課件設(shè)計(jì)
- 啄木鳥糾錯(cuò)活動方案(八篇)
- 出口退稅知識培訓(xùn)
- 某水利工程引水隧洞重大設(shè)計(jì)變更索賠報(bào)告
- 山東省青島市青島第二中學(xué)2024年高三物理第一學(xué)期期中聯(lián)考模擬試題含解析
- 大學(xué)辦公室管理制度公司管理制度
- 牛津譯林版八年級英語上冊Unit 7 Seasons Grammar 示范公開課教學(xué)課件
評論
0/150
提交評論