軟件項目的詳細設計教學內(nèi)容_第1頁
軟件項目的詳細設計教學內(nèi)容_第2頁
軟件項目的詳細設計教學內(nèi)容_第3頁
軟件項目的詳細設計教學內(nèi)容_第4頁
軟件項目的詳細設計教學內(nèi)容_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

軟件項目的詳細設計從工程管理的角度來看,軟件設計分兩步完成:總體設計(概要設計),將軟件需求轉(zhuǎn)化為數(shù)據(jù)結構和軟件的系統(tǒng)結構。詳細設計,即過程設計,又稱為程序設計。通過對結構表示進行細化,得到軟件詳細的數(shù)據(jù)結構和算法。詳細設計的目標是構造一個高內(nèi)聚、低耦合的軟件模型。軟件設計的任務ProgramDesign≠Coding為SC圖的每個模塊確定算法和數(shù)據(jù)結構進行詳細設計的原則在保證正確可靠前提下,盡量提高算法可讀性采用結構化設計方法,改善控制結構,降低程序復雜度,提高可測試性和可維護性自頂向下逐步求精;具有單入、單出的控制結構(取消GOTO語句)用工具無二義的描述模塊算法詳細設計的任務詳細設計過程1.確定每個模塊的算法選擇適當工具表達算法執(zhí)行過程2.確定每一個模塊的數(shù)據(jù)組織3.為每一個模塊設計一組測試用例輸入數(shù)據(jù)、預期輸出結果4.編寫《詳細設計說明書》5.設計評審詳細設計的任務詳細設計內(nèi)容用圖表列出系統(tǒng)的每個程序,包括每個模塊和子程序名稱、標識符、層出結構關系對程序的功能、性能、輸入、輸出、算法、流程、接口等進行描述內(nèi)容包括程序描述:程序簡要描述,意義和特點功能:程序應具備的功能性能:精度、靈活性和時間特性等輸入項輸出項詳細設計的任務詳細設計內(nèi)容內(nèi)容包括算法:具體的計算步驟和過程接口:模塊的隸屬關系、調(diào)用方式和參數(shù)、與模塊直接關聯(lián)的數(shù)據(jù)結構(如數(shù)據(jù)庫表、文件等)存儲分配(根據(jù)需要)注釋設計:程序注釋說明限制條件:程序運行中所受的限制條件詳細設計的任務詳細設計優(yōu)化在不考慮時間因素的前提下開發(fā)并精化軟件結構選出最耗時的模塊,仔細設計處理算法孤立出大量占有處理機資源的模塊必要時重新設計或用依賴于機器的語言重寫大量占有資源的模塊詳細設計的任務1結構程序設計的提出結構程序設計概念最早1965年由E.W.Dijkstra提出“可以從高級語言中取消GOTO語句”“程序的質(zhì)量與程序中所包含的GOTO語句的數(shù)量成反比”1966年bohm和Jacopini證明了:只用三種基本的控制結構能實現(xiàn)任何單入口單出口的程序1968年人們認識要創(chuàng)立一種新的程序設計思想以顯著地提高軟件生產(chǎn)率和降低軟件維護代價結構程序設計1結構程序設計的提出1971年IBM公司成功地使用了結構程序設計技術紐約時報信息庫管理系統(tǒng)美國宇航局空間實驗室飛行模擬系統(tǒng)1972年IBM公司的Mills進一步補充了結構程序設計的規(guī)則結構程序設計是盡可能少用GOTO語句的程序設計方法。最好僅在檢測出錯誤時才使用GOTO語句,而且應該總是使用前向GOTO語句結構程序設計2結構程序設計分類只允許使用順序、IF-THEN-ELSE分支和DO-WHILE型循環(huán)這三種基本控制結構,稱為經(jīng)典的結構程序設計還允許使用DO-CASE多分支結構和DO-UNTIL循環(huán)結構,稱為擴展的結構程序設計如果再加上允許使用LEAVE(或BREAK)結構,稱為修正的結構程序設計結構程序設計人機界面的設計四個方面系統(tǒng)響應時間用戶幫助設施出錯信息處理命令交互1.系統(tǒng)響應時間系統(tǒng)響應時間指從用戶完成某個控制動作(例如,按回車鍵或點擊鼠標),到軟件給出預期響應(輸出信息或做動作)之間的時間。人機界面設計1.系統(tǒng)響應時間系統(tǒng)響應時間有兩個重要屬性響應長度系統(tǒng)響應時間過長,用戶就會感到緊張和沮喪系統(tǒng)響應時間過短,會迫使用戶加快操作節(jié)奏,從而可能會犯錯誤易變性(系統(tǒng)響應時間的更重要的屬性)指系統(tǒng)響應時間相對于平均響應時間的偏差響應時間易變性低也有助于用戶建立起穩(wěn)定的工作節(jié)奏例如,穩(wěn)定在1秒的響應時間比從0.1秒到2.5秒變化的響應時間要好人機界面設計2.用戶幫助設施常見的幫助設施可分為集成的和附加的兩類集成的幫助設施從一開始就設計在軟件里面它對用戶工作內(nèi)容是敏感的可縮短用戶獲得幫助的時間,增加界面的友好性附加的幫助設施是在系統(tǒng)建成后再添加到軟件中的實際是一種查詢能力有限的聯(lián)機用戶手冊人們普遍認為,集成的幫助設施優(yōu)于附加的幫助設施人機界面設計設計幫助設施時必須解決下述問題(1)交互期間是否在任何時候都能獲得關于任何功能的幫助?有兩種選擇:提供功能的幫助信息和提供全部功能的幫助信息(2)用戶怎樣請求幫助?

有3種選擇:幫助菜單,特殊功能鍵和HELP命令(3)怎樣顯示幫助信息?有3種選擇:在獨立的窗口中,指出參考某個文檔和在屏幕固定位置顯示簡短提示(4)用戶怎樣返回到正常的交互方式中?有兩種選擇:屏幕上的返回按鈕和功能鍵(5)怎樣組織幫助信息?有3種選擇:平面結構(所有信息都通過關鍵字訪問),信息的層次結構(用戶可在該結構中查到更詳細的信息)和超文本結構人機界面設計3.出錯信息處理出錯信息和警告信息是出現(xiàn)問題時交互式系統(tǒng)給出的“壞消息”一般說來,交互式系統(tǒng)給出的出錯信息或警告信息,應該具有下述屬性:(1)應該用用戶可以理解的術語描述問題(2)應該提供有助于從錯誤中恢復的建設性意見(3)信息應該指出錯誤可能導致哪些負面后果(4)信息應該伴隨著聽覺上或視覺上的提示例如,在顯示信息時同時發(fā)出警告鈴聲或者信息用閃爍方式顯示或者用明顯表示出錯的顏色顯示(5)信息不能帶有指責色彩也就是說,不能責怪用戶人機界面設計4.命令交互在提供命令交互方式時,必須考慮下列設計問題(1)是否每個菜單選項都有對應的命令?(2)采用何種命令形式?有3種選擇:控制序列(例如,Ctrl+P),功能鍵和鍵入命令。(3)學習和記憶命令的難度有多大?忘記了怎么辦?(4)用戶是否可以定制或縮寫命令?人機界面設計人機界面設計過程用戶界面設計是一個迭代的過程創(chuàng)建設計模型->再用原型實現(xiàn)這個設計模型->由用戶試用和評估->根據(jù)用戶意見進行修改用于界面設計和原型開發(fā)的軟件工具用戶界面工具箱用戶界面開發(fā)系統(tǒng)用戶界面的評估周期如下所述完成初步設計之后就創(chuàng)建第一級原型;用戶試用并評估該原型,向設計者表述對界面的評價設計者根據(jù)用戶意見修改設計并實現(xiàn)下一級原型人機界面設計人機界面設計過程運用下述評估標準對設計進行早期復審:(1)系統(tǒng)及其界面的規(guī)格說明書的長度和復雜程度預示了用戶學習使用該系統(tǒng)所需要的工作量(2)命令或動作的數(shù)量、命令的平均參數(shù)個數(shù)或動作中單個操作的個數(shù)預示了系統(tǒng)的交互時間和總體效率(3)動作、命令和系統(tǒng)狀態(tài)的數(shù)量預示了用戶學習使用該系統(tǒng)時需要記憶的內(nèi)容的多少(4)界面風格、幫助設施和出錯處理協(xié)議預示了界面的復雜程度及用戶接受該界面的程度人機界面設計人機界面設計指南一般交互指南涉及信息顯示、數(shù)據(jù)輸入和系統(tǒng)整體控制(1)保持一致性應該為人機界面中的菜單選擇、命令輸入、數(shù)據(jù)顯示以及眾多的其他功能,使用一致的格式(2)提供有意義的反饋應向用戶提供視覺的和聽覺的反饋,以保證在用戶和系統(tǒng)之間建立雙向通信。(3)在執(zhí)行有破壞性的動作之前要求用戶確認人機界面設計人機界面設計指南1一般交互指南(4)允許取消絕大多數(shù)操作UNDO或REVERSE功能曾經(jīng)使眾多終端用戶避免了大量時間浪費。(5)減少在兩次操作之間必須記憶的信息量不應該期望用戶能記住在下一步操作中需使用的一大串數(shù)字或標識符(6)提高對話、移動和思考的效率應該盡量減少用戶擊鍵的次數(shù)設計屏幕布局時應該考慮盡量減少鼠標移動的距離應該盡量避免出現(xiàn)用戶問“這是什么意思?”的情況人機界面設計人機界面設計指南1一般交互指南(續(xù)上頁)(7)允許犯錯誤系統(tǒng)應該能保護自己不受嚴重錯誤的破壞。(8)按功能對動作分類,并據(jù)此設計屏幕布局設計者應該盡力提高命令和動作組織的“內(nèi)聚性”(9)提供對用戶工作內(nèi)容敏感的幫助設施(10)用簡單動詞或動詞短語作為命令名人機界面設計人機界面設計指南2信息顯示指南(1)只顯示與當前工作內(nèi)容有關的信息用戶在獲得有關功能的信息時,不必看到與之無關的數(shù)據(jù)、菜單和圖形。(2)不要用數(shù)據(jù)淹沒用戶應該用便于用戶迅速吸取信息的方式來表示數(shù)據(jù)例如,可以用圖形或圖表來取代龐大的表格。(3)使用一致標記、標準的縮寫和可預知的顏色顯示的含義應該非常明確,用戶無須參照其他信息源就能理解。人機界面設計人機界面設計指南2信息顯示指南(續(xù)上頁)(4)允許用戶保持可視化的語境(5)產(chǎn)生有意義的出錯信息(6)使用大小寫、縮進和文本分組以幫助理解(7)使用窗口分隔不同類型的信息(8)使用“模擬”顯示表示信息,以使信息更容易被用戶提取(9)高效率地使用顯示屏人機界面設計人機界面設計指南3數(shù)據(jù)輸入指南(1)盡量減少用戶的輸入動作最重要的是減少擊鍵次數(shù)(2)保持信息顯示和數(shù)據(jù)輸入之間的一致性顯示的視覺特征(例如文字大小、顏色和位置)應與輸入域一致(3)允許用戶自定義輸入(4)交互應該是靈活的,并且可調(diào)整成用戶最喜歡的輸入方式人機界面設計人機界面設計指南3數(shù)據(jù)輸入指南(續(xù)上頁)(5)使在當前動作語境中不適用的命令不起作用(6)讓用戶控制交互流用戶應該能夠跳過不必要的動作改變所需做的動作的順序(在應用環(huán)境允許的前提下)以及在不退出程序的情況下從錯誤狀態(tài)中恢復正常(7)對所有輸入動作都提供幫助(8)消除冗余的輸入不要要求用戶指定輸入數(shù)據(jù)的單位盡可能提供默認值絕對不要要求用戶提供程序可以自動獲得或計算出來的信息。人機界面設計

在詳細設計階段,要決定各個模塊的實現(xiàn)算法,并精確地表達這些算法。表達過程規(guī)格說明的工具叫做詳細設計工具,它可以分為以下三類:

圖形工具(程序流程圖)表格工具(判定表)語言工具(PDL)過程設計工具1.程序流程圖在40年代末到70年代中期,程序流程圖一直是軟件設計的工具它以對控制流程的描繪直觀、易于掌握而被設計人員青睞

依據(jù)國家標準(GB1526-89),列出有關程序流程圖的基本符號過程設計工具過程設計工具[數(shù)據(jù)處理待處理準備判斷循環(huán)上、下界連接端點符注解符流線虛線省略符并行方式多出口判斷換頁連接控制流程序流程圖也稱為程序框圖,程序流程圖使用五種基本控制結構是:過程設計工具

示例循環(huán)的標準符號注解的使用多出口判斷程序流程圖過程設計工具

缺點:本質(zhì)上不具備逐步求精的特點,對于提高大型系統(tǒng)的可理解性作用甚微;不易表示數(shù)據(jù)結構;轉(zhuǎn)移控制太方便。

趨勢:已停止使用

優(yōu)點:容易掌握,且歷史“悠久”,使用廣泛。2.盒圖(N-S圖)N-S圖是Nassi和Shneiderman提出來的,它體現(xiàn)了結構程序設計精神,是目前過程設計中廣泛使用的一種圖形工具。基本符號過程設計工具2.盒圖(N-S圖)過程設計工具第1個任務第2個任務第n個任務TF條件ELSE部分THEN部分CASE條件值1CASE1部分值2CASE2部分值nCASEn部分循環(huán)條件DO-WHILE部分循環(huán)條件DO-UNTIL部分A示例abx1FTCasexiFTx2x3x4x5cdeghix7x8jfx6abx1x2x5fcx3x4deghix6x7x8jN-S圖的嵌套定義形式N-S圖的特點優(yōu)點功能域(一個特定控制結構的作用域)明確,可以從盒圖上一眼就看出來。沒有箭頭不允許隨意轉(zhuǎn)移控制,不可能任意轉(zhuǎn)移控制。很容易確定局部和全程數(shù)據(jù)的作用域。很容易表現(xiàn)嵌套關系,也可以表示模塊的層次結構。缺點隨著程序內(nèi)嵌套的層數(shù)增多時,內(nèi)層方框越來越小,這樣不僅會增加畫圖的難度,還會影響圖形的清晰度。過程設計工具3.PAD圖PAD(ProblemAnalysisDiagram)問題分析圖日立公司中央研究所在1973年研究開發(fā)使用二維樹形結構圖描述程序的邏輯PAD圖的優(yōu)點:程序一定是結構化的,PAD圖中豎線的總條數(shù)就是程序中的層次數(shù),既表示程序邏輯,也描繪數(shù)據(jù)結構過程設計工具過程設計工具ABSequentialWhilePSUntilPSLoopsPABTHENELSESelectiveP=A1A2CaseAn12n…StatementIndexdefDefinitionajUNTILX8bx1fx6UNTILX7ghideWHILEX5cxi=x2x3x4abx1x2x5fcx3x4deghix6x7x8jx4TFDo-Untilx5ighfkx1TFbDo-Untilx6ajx21cDo-Whilex323dek:例:N-S圖與PAD的轉(zhuǎn)換過程設計工具開始結束aj

Until

x5i

Until

x6bx1kfx4ghdefkx2de123

While

x3c4判定表判定表能夠清晰地表示復雜的條件組合與所產(chǎn)生的動作之前的關系。一張判定表由四部分組成:左上部列出所有的條件Ⅰ左下部是所有可能的操作Ⅲ右上部是各種條件的組合矩陣Ⅱ右下部是每種條件組合對應的動作Ⅳ過程設計工具4判定表一張判定表由四部分組成:左上部列出所有的條件Ⅰ左下部是所有可能的操作Ⅲ右上部是各種條件的組合矩陣Ⅱ右下部是每種條件組合對應的動作Ⅳ過程設計工具Ⅰ條件Ⅲ操作Ⅱ條件組合矩陣Ⅳ動作5判定樹表示復雜的條件組合與應做的動作之間的對應關系判定樹形式簡單,長期以來一直受到重視判定樹的簡潔性不如判定表經(jīng)常出現(xiàn)同一個值重復寫多遍且葉端重復次數(shù)急劇增加由于判定樹的分枝次序?qū)τ谧罱K畫出的判定樹的簡潔程度有較大影響所以選擇哪一個條件作為第一個分枝是至關重要的過程設計工具6偽碼和過程設計語言(PDL)是一種“混雜式語言”,也稱為結構化英語采用了某種語言(如英語或自然語言)的詞匯另一種語言(某種結構化程序設計語言)的全部語法具有數(shù)據(jù)說明、子程序、分程序、順序控制、輸入和輸出結構過程設計工具6偽碼和過程設計語言(PDL)分程序結構begin〈分程序名〉〈PDL語句〉end〈分程序名〉順序控制結構(1)選擇型if〈條件〉then〈PDL語句〉else〈PDL語句〉endif過程設計工具6偽碼和過程設計語言(PDL)順序控制結構(2)WHILE型循環(huán)

loopwhile〈條件〉〈PDL語句〉endloop(3)UNTIL型循環(huán)

loopuntil〈條件〉〈PDL語句組〉endloop過程設計工具6偽碼和過程設計語言(PDL)順序控制結構(4)CASE型case〈選擇因子〉of〈標號〉{,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論