軟件工程課件第六章_第1頁
軟件工程課件第六章_第2頁
軟件工程課件第六章_第3頁
軟件工程課件第六章_第4頁
軟件工程課件第六章_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、12課程概述課程概述31、詳細設計介紹、詳細設計介紹詳細設計的根本目標是:詳細設計的根本目標是: 確定應該怎樣具體地實現(xiàn)所要求的系統(tǒng)。確定應該怎樣具體地實現(xiàn)所要求的系統(tǒng)。 經(jīng)過這個階段的設計工作,應該得出對目經(jīng)過這個階段的設計工作,應該得出對目標系統(tǒng)的精確描述,從而在編碼階段可以把標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述這個描述 直接翻譯成用某種程序設計語言直接翻譯成用某種程序設計語言書寫的程序。書寫的程序。4詳細設計基本任務詳細設計基本任務 主要確定每個模塊具體執(zhí)行過程主要確定每個模塊具體執(zhí)行過程, , 有:有:l為每個模塊進行詳細的算法設計。為每個模塊進行詳細的算法設計。 l為模塊內(nèi)

2、的數(shù)據(jù)結(jié)構(gòu)進行設計。為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行設計。 l對數(shù)據(jù)庫進行物理設計。對數(shù)據(jù)庫進行物理設計。 l其他設計,如:代碼設計、輸入其他設計,如:代碼設計、輸入/ /輸出格式輸出格式設計、人機對話設計。設計、人機對話設計。 l編寫詳細設計說明書。編寫詳細設計說明書。 l評審評審56.1 結(jié)構(gòu)程序設計(結(jié)構(gòu)程序設計(SP)一、什么是結(jié)構(gòu)化程序?一、什么是結(jié)構(gòu)化程序? 經(jīng)典定義經(jīng)典定義:如果一個程序的代碼塊僅僅通過:如果一個程序的代碼塊僅僅通過順序、順序、 選擇和循環(huán)這選擇和循環(huán)這3種基本控制結(jié)構(gòu)進種基本控制結(jié)構(gòu)進行連接,而且每行連接,而且每 個代碼塊只有一個入口和個代碼塊只有一個入口和一個出口,則稱

3、這個程序是結(jié)構(gòu)化的。一個出口,則稱這個程序是結(jié)構(gòu)化的。 比較全面的定義:比較全面的定義:結(jié)構(gòu)程序設計是盡可能少結(jié)構(gòu)程序設計是盡可能少用用GOTO 語句的程序設計方法,最好僅僅語句的程序設計方法,最好僅僅在檢測出錯誤時才使用在檢測出錯誤時才使用GOTO語句,而且語句,而且應該總是使用前向的應該總是使用前向的GOTO 語句。語句。6二、結(jié)構(gòu)化程序設計(二、結(jié)構(gòu)化程序設計(SP)主要原則)主要原則1)1)使用語言中的順序、選擇、重復等有限的基本控使用語言中的順序、選擇、重復等有限的基本控制結(jié)構(gòu)表示程序邏輯。制結(jié)構(gòu)表示程序邏輯。 (2)(2)選用的控制結(jié)構(gòu)只準許有一個入口和一個出口。選用的控制結(jié)構(gòu)只準

4、許有一個入口和一個出口。 (3)(3)復雜結(jié)構(gòu)應該用基本控制結(jié)構(gòu)進行組合嵌套來實復雜結(jié)構(gòu)應該用基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)。現(xiàn)。 (4)(4)嚴格控制嚴格控制GOTOGOTO語句,僅在下列情形才可使用:語句,僅在下列情形才可使用: 用一個非結(jié)構(gòu)化的程序設計語言去實現(xiàn)一個結(jié)構(gòu)化用一個非結(jié)構(gòu)化的程序設計語言去實現(xiàn)一個結(jié)構(gòu)化的構(gòu)造。的構(gòu)造。 在某種可以改善而不是損害程序可讀性的情況下。在某種可以改善而不是損害程序可讀性的情況下。7三、五種基本的結(jié)構(gòu)化控制結(jié)構(gòu)(程序流程圖表示)三、五種基本的結(jié)構(gòu)化控制結(jié)構(gòu)(程序流程圖表示)8 人機界面通常也稱為用戶界面人機界面通常也稱為用戶界面 用戶界用戶界面友好性

5、屬軟件性能特性,獨立于面友好性屬軟件性能特性,獨立于 所有具所有具體功能。體功能。 用戶界面是否友好很大程度由人的主觀用戶界面是否友好很大程度由人的主觀因素決定。因素決定。 問:請說說你心目中友好的界面是怎樣的?問:請說說你心目中友好的界面是怎樣的?6.2 人機界面設計人機界面設計9用戶界面應具備的特性用戶界面應具備的特性可使用性可使用性 如:使用簡單、界面中所用術(shù)語應該標準化,并保持一致如:使用簡單、界面中所用術(shù)語應該標準化,并保持一致性;擁有性;擁有HelpHelp功能;較快的系統(tǒng)響應速度和較低的系統(tǒng)開功能;較快的系統(tǒng)響應速度和較低的系統(tǒng)開銷;具有容錯能力。銷;具有容錯能力。靈活性靈活性

6、能滿足不同用戶的要求;可以制定和修改界面方式;能提能滿足不同用戶的要求;可以制定和修改界面方式;能提供各類的系統(tǒng)響應信息,如反饋、提示、幫助、報錯等;供各類的系統(tǒng)響應信息,如反饋、提示、幫助、報錯等;與其他軟件系統(tǒng)應有標準的界面。與其他軟件系統(tǒng)應有標準的界面。復雜性復雜性 在完成預定功能的前提下,用戶界面越簡單越好。在完成預定功能的前提下,用戶界面越簡單越好。可靠性可靠性 用戶界面能保證用戶正確、可靠地使用系統(tǒng),保證有關(guān)程用戶界面能保證用戶正確、可靠地使用系統(tǒng),保證有關(guān)程序和數(shù)據(jù)的安全性。序和數(shù)據(jù)的安全性。106.2.1 設計問題設計問題 在設計人機界面過程中,幾乎總會遇到在設計人機界面過程中

7、,幾乎總會遇到以下以下4 4個問題:個問題: 系統(tǒng)響應時間系統(tǒng)響應時間 用戶幫助信息用戶幫助信息 出錯信息處理出錯信息處理 命令交互命令交互11 系統(tǒng)響應時間指從用戶完成某個控制動系統(tǒng)響應時間指從用戶完成某個控制動作到軟件給出預期的響應之間的這段時間。作到軟件給出預期的響應之間的這段時間。 有兩個重要屬性:有兩個重要屬性: l長度:響應時間的長短;長度:響應時間的長短; l易變性:響應時間相對于平均響應時間的偏差。易變性:響應時間相對于平均響應時間的偏差。12具體設計幫助信息時,應該解決以下問題:具體設計幫助信息時,應該解決以下問題: 在用戶與系統(tǒng)交互期間,是否在任何時候都能獲得關(guān)在用戶與系統(tǒng)

8、交互期間,是否在任何時候都能獲得關(guān)于系統(tǒng)任何功能的幫助信息?(全部或部分)于系統(tǒng)任何功能的幫助信息?(全部或部分) 用戶怎樣請求幫助?(幫助菜單、功能鍵、用戶怎樣請求幫助?(幫助菜單、功能鍵、HelpHelp命命 令)令)怎樣顯示幫助信息?(獨立窗口、某個參考文檔、屏怎樣顯示幫助信息?(獨立窗口、某個參考文檔、屏幕固定位置顯示簡短提示)幕固定位置顯示簡短提示)用戶怎樣返回正常的交互方式?(返回按鈕、功能用戶怎樣返回正常的交互方式?(返回按鈕、功能 鍵)鍵) 怎樣組織幫助信息?(通過關(guān)鍵字訪問、層次結(jié)構(gòu)、怎樣組織幫助信息?(通過關(guān)鍵字訪問、層次結(jié)構(gòu)、 超文本結(jié)構(gòu))超文本結(jié)構(gòu))13出錯信息或警告信

9、息應具有的屬性:出錯信息或警告信息應具有的屬性: 是用戶可以理解的術(shù)語是用戶可以理解的術(shù)語 應該提高有助于從錯誤中恢復的建設性意見應該提高有助于從錯誤中恢復的建設性意見 信息應該指出錯誤可能導致哪些負面后果信息應該指出錯誤可能導致哪些負面后果(如破壞數(shù)據(jù)文件)等(如破壞數(shù)據(jù)文件)等 信息應該伴隨視覺聽覺上的提示,如警告聲信息應該伴隨視覺聽覺上的提示,如警告聲等等 信息不能帶有指責色彩信息不能帶有指責色彩14 多數(shù)情況,用戶應該既可以從菜單中選多數(shù)情況,用戶應該既可以從菜單中選擇命令,也可以通過鍵盤輸入命令。擇命令,也可以通過鍵盤輸入命令。 提供命令交互應考慮的問題:提供命令交互應考慮的問題:

10、是否每個菜單選項都有對應的命令?是否每個菜單選項都有對應的命令? 采用何種命令形式?(控制序列,如采用何種命令形式?(控制序列,如CtrlCtrl; 功能鍵;鍵入命令)功能鍵;鍵入命令) 學習和記憶命令的難度多大?忘了怎么辦?學習和記憶命令的難度多大?忘了怎么辦? 用戶是否可以定制或縮寫命令?用戶是否可以定制或縮寫命令?156.2.3 設計過程設計過程 用戶界面設計是一個迭代的過程,包括以用戶界面設計是一個迭代的過程,包括以下步驟:下步驟: 166.2.3 人機界面設計指南人機界面設計指南界面分類界面分類 一、一般交互界面一、一般交互界面 二、信息顯示界面二、信息顯示界面 三、數(shù)據(jù)輸入界面三、

11、數(shù)據(jù)輸入界面171 1、基本設計指南、基本設計指南 l 保持一致性;保持一致性; l 提供有意義的反饋和幫助信息;提供有意義的反饋和幫助信息; l 執(zhí)行較大破壞性動作之前要求用戶確認;執(zhí)行較大破壞性動作之前要求用戶確認; l 允許犯錯誤,允許中斷或撤銷絕大多數(shù)操作允許犯錯誤,允許中斷或撤銷絕大多數(shù)操作; ;l 減少兩次操作之間必須記憶的信息量;減少兩次操作之間必須記憶的信息量; l 按功能對動作分類,并據(jù)此設計屏幕布局;按功能對動作分類,并據(jù)此設計屏幕布局; l 用簡單動詞或短語作為命令名用簡單動詞或短語作為命令名182 2、交互界面的基本類型、交互界面的基本類型 菜單界面菜單界面 對話對話

12、其他其他19 菜單界面菜單界面 l按顯示形象分類按顯示形象分類: : 正文菜單、圖標菜單、正文圖標混合菜單正文菜單、圖標菜單、正文圖標混合菜單 l按屏幕位置和操作風格分類按屏幕位置和操作風格分類: : 固定、浮動、下拉式、嵌入式固定、浮動、下拉式、嵌入式20212223 對話框?qū)υ捒?l 對話形式對話形式 必須回答式、無需回答式、警告式必須回答式、無需回答式、警告式 l 對話實現(xiàn)方式對話實現(xiàn)方式 標準對話、定做式對話標準對話、定做式對話 其他其他 l 圖像圖像 l 窗口窗口241 1、界面顯示的基本元素、界面顯示的基本元素 數(shù)據(jù)數(shù)據(jù) 字符字符 圖形圖形 報告報告252 2、基本設計指南、基本設

13、計指南 可用多種不同方式顯示信息。如用圖形表示數(shù)據(jù)可用多種不同方式顯示信息。如用圖形表示數(shù)據(jù) 只顯示與當前工作內(nèi)容有關(guān)的信息只顯示與當前工作內(nèi)容有關(guān)的信息 使用一致的標記、縮寫和可預知的顏色。使用一致的標記、縮寫和可預知的顏色。 使用窗口分隔不同類型的信息使用窗口分隔不同類型的信息 使用模擬方式表示信息。使用模擬方式表示信息。26例:例:PowerPiont不同的界面顯示方式不同的界面顯示方式 瀏覽視圖顯示方式瀏覽視圖顯示方式27例:例:PowerPiont不同的界面顯示方式不同的界面顯示方式 普通視圖顯示方式普通視圖顯示方式28例:例:PowerPiont不同的界面顯示方式不同的界面顯示方式

14、 大綱視圖顯示方式大綱視圖顯示方式29三、數(shù)據(jù)輸入界面三、數(shù)據(jù)輸入界面 1 1、基本設計指南、基本設計指南 l 盡量減少用戶輸入的動作盡量減少用戶輸入的動作 l 保持信息顯示和數(shù)據(jù)輸入的一致性保持信息顯示和數(shù)據(jù)輸入的一致性 l 允許用戶自定義輸入,如鍵盤輸入或鼠標輸入允許用戶自定義輸入,如鍵盤輸入或鼠標輸入 l 當前動作語境中,不適用的命令不起作用。當前動作語境中,不適用的命令不起作用。 l 讓用戶控制交互流,如用戶能跳過不必要的動作讓用戶控制交互流,如用戶能跳過不必要的動作 l 消除冗余的輸入消除冗余的輸入303132336.3 過程設計的工具過程設計的工具(1) (1) 圖形工具圖形工具

15、l程序流程圖(程序流程圖(FCFC) l盒圖(盒圖(NSNS) l問題分析圖(問題分析圖(PADPAD) (2) (2) 表格工具表格工具 l判定表判定表 l判定樹判定樹 (3) (3) 語言工具語言工具 l 過程設計語言(過程設計語言(PDLPDL)返回返回34 又稱又稱程序框圖程序框圖。以圖形方式說明系統(tǒng)中的控制。以圖形方式說明系統(tǒng)中的控制流,是歷史最悠久、使用最廣泛的一種描述程序邏輯流,是歷史最悠久、使用最廣泛的一種描述程序邏輯 結(jié)構(gòu)的工具。結(jié)構(gòu)的工具。 優(yōu)點:優(yōu)點:直觀清晰、易于使用,是普遍采用的工具。直觀清晰、易于使用,是普遍采用的工具。 缺點:缺點: ?反映的是最后的結(jié)果,不易反映

16、逐步求精的過程反映的是最后的結(jié)果,不易反映逐步求精的過程?可以隨心所欲地畫控制流程線的流向,容易造成非可以隨心所欲地畫控制流程線的流向,容易造成非結(jié)構(gòu)化的程序結(jié)構(gòu)。結(jié)構(gòu)化的程序結(jié)構(gòu)。?不易表示數(shù)據(jù)結(jié)構(gòu)。不易表示數(shù)據(jù)結(jié)構(gòu)。35程序流程圖的標準符號程序流程圖的標準符號3637383940 41 日立公司日立公司發(fā)明。用發(fā)明。用二維樹形結(jié)構(gòu)二維樹形結(jié)構(gòu)的圖來表示的圖來表示程序的控制流,控制流程自上而下,從左往右地程序的控制流,控制流程自上而下,從左往右地執(zhí)行。執(zhí)行。 優(yōu)點:優(yōu)點: ? 程序結(jié)構(gòu)清晰,結(jié)構(gòu)化程度高。程序結(jié)構(gòu)清晰,結(jié)構(gòu)化程度高。 ? 支持自頂向下支持自頂向下, ,逐步求精的設計方法。逐步

17、求精的設計方法。 ? 既可以表示程序邏輯,也可以描繪數(shù)據(jù)結(jié)構(gòu)。既可以表示程序邏輯,也可以描繪數(shù)據(jù)結(jié)構(gòu)。 ? 用用PADPAD圖表現(xiàn)程序邏輯,易讀易寫,使用方便。圖表現(xiàn)程序邏輯,易讀易寫,使用方便。 ? 容易轉(zhuǎn)換成高級語言源程序,也可用軟件工具容易轉(zhuǎn)換成高級語言源程序,也可用軟件工具 實現(xiàn)實現(xiàn)自動轉(zhuǎn)換。自動轉(zhuǎn)換。424344 判定表能夠清晰地表示復雜的條件組合與判定表能夠清晰地表示復雜的條件組合與應做的動作之間的對應關(guān)系應做的動作之間的對應關(guān)系。 如果數(shù)據(jù)流處理時需要依賴多個邏輯條件如果數(shù)據(jù)流處理時需要依賴多個邏輯條件的取值,用判定表來描述比較合適的取值,用判定表來描述比較合適。 一、判定表組成

18、一、判定表組成 條件部分給出所有的兩分支條件部分給出所有的兩分支判斷的列表;判斷的列表; 動作部分給出相應的處理;動作部分給出相應的處理;4546二、判定表的應用二、判定表的應用 使用判斷表進行數(shù)據(jù)處理說明。使用判斷表進行數(shù)據(jù)處理說明。47 也稱也稱偽碼偽碼(pseudo codepseudo code), ,是一種是一種介于自然語言和形式化語言之間的語言介于自然語言和形式化語言之間的語言, ,用于描述功能模塊的算法設計和處理細用于描述功能模塊的算法設計和處理細節(jié)的語言。節(jié)的語言。 特點:特點:易編寫,易理解,容易轉(zhuǎn)換易編寫,易理解,容易轉(zhuǎn)換成源程序。成源程序。48 49 1 1)正文用嚴格的

19、程序語言的基本控制結(jié)構(gòu)分割,稱正文用嚴格的程序語言的基本控制結(jié)構(gòu)分割,稱 為為“外語法外語法”,如,如IfIfThenThenElseElse、 WhileWhileDoDo、RepeatRepeatUntilUntil、CaseCaseOfOf。 2 2)操作用自然語言表示操作用自然語言表示, ,描述處理特點,稱為描述處理特點,稱為“內(nèi)語內(nèi)語 法法”。3 3)具有數(shù)據(jù)說明機制,包括簡單的(如純量和數(shù)具有數(shù)據(jù)說明機制,包括簡單的(如純量和數(shù) 組)組)與復雜的(如鏈表或?qū)哟蔚臄?shù)據(jù)結(jié)構(gòu))數(shù)據(jù)說明。與復雜的(如鏈表或?qū)哟蔚臄?shù)據(jù)結(jié)構(gòu))數(shù)據(jù)說明。 4 4)具有模塊定義和調(diào)用機制,因此開發(fā)人員應根據(jù)系具有

20、模塊定義和調(diào)用機制,因此開發(fā)人員應根據(jù)系統(tǒng)編程所用的語種,說明統(tǒng)編程所用的語種,說明PDLPDL表示的有關(guān)程序結(jié)構(gòu)。表示的有關(guān)程序結(jié)構(gòu)。50 提供的機制比圖形全面,為保證詳細設計與提供的機制比圖形全面,為保證詳細設計與 編碼的質(zhì)量創(chuàng)造了有利條件。編碼的質(zhì)量創(chuàng)造了有利條件。 可作為注釋嵌入在源程序中一起作為程序的可作為注釋嵌入在源程序中一起作為程序的 文檔,并可同高級程序設計語言一樣進行編文檔,并可同高級程序設計語言一樣進行編 輯、修改,有利于軟件的維護。輯、修改,有利于軟件的維護。 可自動生成程序代碼,提高軟件生產(chǎn)率。可自動生成程序代碼,提高軟件生產(chǎn)率。返回返回51 判定樹是判定表的變種,能清

21、晰表示復雜的條判定樹是判定表的變種,能清晰表示復雜的條件組合與操作之間的關(guān)系,形式簡單,不需要做任件組合與操作之間的關(guān)系,形式簡單,不需要做任何說明,是常見的系統(tǒng)分析工具。何說明,是常見的系統(tǒng)分析工具。 例例1 1:檢查發(fā)貨單的判定樹:檢查發(fā)貨單的判定樹52“計算行李費計算行李費”的判定樹的判定樹 53 54面向面向的設計方法:根據(jù)數(shù)據(jù)流確定軟件結(jié)構(gòu)的設計方法:根據(jù)數(shù)據(jù)流確定軟件結(jié)構(gòu)的方法;的方法;面向面向的設計方法:根據(jù)數(shù)據(jù)結(jié)構(gòu)設計程序的設計方法:根據(jù)數(shù)據(jù)結(jié)構(gòu)設計程序處理過程的方法處理過程的方法數(shù)據(jù)結(jié)構(gòu)既影響程序的結(jié)構(gòu)又影響程序的處理過程。數(shù)據(jù)結(jié)構(gòu)既影響程序的結(jié)構(gòu)又影響程序的處理過程。得出對

22、程序處理過程的描述。得出對程序處理過程的描述。Jackson和和Warnier方法是最著名的兩個面向方法是最著名的兩個面向DS的設的設計方法計方法556.4.1 Jackson圖圖 最著名、典型的面向數(shù)據(jù)結(jié)構(gòu)的設最著名、典型的面向數(shù)據(jù)結(jié)構(gòu)的設計方法之一,計方法之一, 以數(shù)據(jù)結(jié)構(gòu)作為程序設計以數(shù)據(jù)結(jié)構(gòu)作為程序設計的基礎(chǔ)。的基礎(chǔ)。 早期的早期的JacksonJackson方法稱為方法稱為JacksonJackson結(jié)結(jié)構(gòu)程序設計方法(構(gòu)程序設計方法(JSPJSP方法);方法); 經(jīng)過發(fā)展改進之后,提出了經(jīng)過發(fā)展改進之后,提出了JacksonJackson系統(tǒng)開發(fā)方法(系統(tǒng)開發(fā)方法(JSDJSD方法

23、)。方法)。566.4.3 Jackson方法(方法(JSP方法)方法) 早期的早期的JacksonJackson方法,用于小系統(tǒng)的設計。方法,用于小系統(tǒng)的設計。 基本思想:基本思想:通過分析數(shù)據(jù)結(jié)構(gòu)與程序結(jié)構(gòu)通過分析數(shù)據(jù)結(jié)構(gòu)與程序結(jié)構(gòu) 之間的關(guān)系,將數(shù)據(jù)結(jié)構(gòu)映射成程序結(jié)構(gòu)。之間的關(guān)系,將數(shù)據(jù)結(jié)構(gòu)映射成程序結(jié)構(gòu)。 設計原則:設計原則:程序結(jié)構(gòu)同數(shù)據(jù)結(jié)構(gòu)相對應。程序結(jié)構(gòu)同數(shù)據(jù)結(jié)構(gòu)相對應。 描述工具:描述工具:JacksonJackson圖、程序描述語言圖、程序描述語言PDLPDL571 1、JacksonJackson方法的工具方法的工具-PDL-PDL 是將是將JacksonJackson圖中

24、表示的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)圖中表示的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為語言表示的工具換為語言表示的工具, ,與與JacksonJackson圖完全圖完全對應。對應。 三種基本結(jié)構(gòu)對應的偽碼:三種基本結(jié)構(gòu)對應的偽碼:582 2、JSPJSP方法步驟空格統(tǒng)計方法步驟空格統(tǒng)計 59JSPJSP方法步驟方法步驟步驟步驟1 1:分別畫出輸入數(shù)據(jù)和輸出數(shù)據(jù)的分別畫出輸入數(shù)據(jù)和輸出數(shù)據(jù)的JacksonJackson圖。圖。 60步驟步驟2 2:找出輸入數(shù)據(jù)和輸出數(shù)據(jù)結(jié)構(gòu)中有找出輸入數(shù)據(jù)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應關(guān)系的數(shù)據(jù)單元,并標以箭頭線。對應關(guān)系的數(shù)據(jù)單元,并標以箭頭線。 “對應關(guān)系對應關(guān)系”指輸出和輸入的數(shù)據(jù)指輸出和輸入的數(shù)據(jù)單元在單元

25、在數(shù)據(jù)內(nèi)容上數(shù)據(jù)內(nèi)容上、數(shù)量上數(shù)量上和和順序上順序上有有的因果關(guān)系,若是重復的數(shù)據(jù)單元,的因果關(guān)系,若是重復的數(shù)據(jù)單元,必須重復的必須重復的次序次序和和次數(shù)次數(shù)都相同才有對應都相同才有對應關(guān)系。關(guān)系。6162步驟步驟3 3: 由由JacksonJackson圖導出程序結(jié)構(gòu)。導出規(guī)則:圖導出程序結(jié)構(gòu)。導出規(guī)則: l 存在對應關(guān)系的輸入數(shù)據(jù)單元和輸出數(shù)據(jù)單元,存在對應關(guān)系的輸入數(shù)據(jù)單元和輸出數(shù)據(jù)單元,畫一個處理框。當兩個數(shù)據(jù)單元不在同一層時,畫一個處理框。當兩個數(shù)據(jù)單元不在同一層時,所畫處理框的層次就低不就高。所畫處理框的層次就低不就高。 l 對于其它的輸入和輸出數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)單元,對于其它的輸

26、入和輸出數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)單元,一個數(shù)據(jù)單元對應畫一個處理框。一個數(shù)據(jù)單元對應畫一個處理框。 注意:注意:在同一層中的處理框必須是同類型的,如在同一層中的處理框必須是同類型的,如 果既有順序執(zhí)行的處理框,又有含條件執(zhí)行的果既有順序執(zhí)行的處理框,又有含條件執(zhí)行的 處處理框,則將含條件的處理框下移,并在它之前加理框,則將含條件的處理框下移,并在它之前加一個順序執(zhí)行的處理框。一個順序執(zhí)行的處理框。636465步驟步驟4 4:列出所有條件和每個處理框執(zhí)行之列出所有條件和每個處理框執(zhí)行之前、執(zhí)行之后和執(zhí)行之時的所有操作。前、執(zhí)行之后和執(zhí)行之時的所有操作。 步驟步驟5 5:用偽代碼描述程序結(jié)構(gòu)。用偽代碼描述

27、程序結(jié)構(gòu)。666768JSPJSP方法小結(jié)方法小結(jié) 缺陷:缺陷:不明確地劃分軟件總體設計和詳細設計的不明確地劃分軟件總體設計和詳細設計的 兩個階段,對軟件結(jié)構(gòu)的概念和模塊獨立原理兩個階段,對軟件結(jié)構(gòu)的概念和模塊獨立原理不重視;不重視; 對于涉及很多輸入、輸出數(shù)據(jù),其結(jié)構(gòu)又對于涉及很多輸入、輸出數(shù)據(jù),其結(jié)構(gòu)又不互相對應的大系統(tǒng),用不互相對應的大系統(tǒng),用JSPJSP方法解決比較困方法解決比較困難。難。結(jié)論:結(jié)論:根據(jù)它能直接推出程序結(jié)構(gòu)的規(guī)則,可以根據(jù)它能直接推出程序結(jié)構(gòu)的規(guī)則,可以將它與將它與SDSD方法相結(jié)合。用方法相結(jié)合。用SDSD方法在總體設計階方法在總體設計階段完成軟件體系結(jié)構(gòu)設計,在詳

28、細設計階段用段完成軟件體系結(jié)構(gòu)設計,在詳細設計階段用JSPJSP方法設計它的局部模塊。方法設計它的局部模塊。696.5 程序復雜程度的定量度量程序復雜程度的定量度量1 1、軟件復雜性、軟件復雜性 是軟件度量的一個重要分支。主要參數(shù)有:是軟件度量的一個重要分支。主要參數(shù)有: l規(guī)模:規(guī)模:即總共的指令數(shù),或源程序行數(shù)。即總共的指令數(shù),或源程序行數(shù)。 l難度:難度:通常由程序中出現(xiàn)的操作數(shù)的數(shù)目所決定通常由程序中出現(xiàn)的操作數(shù)的數(shù)目所決定的量來表示。的量來表示。 l結(jié)構(gòu):結(jié)構(gòu):通常用與程序結(jié)構(gòu)有關(guān)的度量來表示。通常用與程序結(jié)構(gòu)有關(guān)的度量來表示。 l智能度:智能度:即算法的難易程度。即算法的難易程度。702 2、程序復雜性、程序復雜性 軟件復雜性主要表現(xiàn)在程序的復雜性,軟件復雜性主要表現(xiàn)在程序的復雜性,程序復雜程序復雜 性主要指模塊內(nèi)程序的復雜性。性主要指模塊內(nèi)程序的復雜性。 常見的定量

溫馨提示

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

評論

0/150

提交評論