軟件工程第6章_第1頁
軟件工程第6章_第2頁
軟件工程第6章_第3頁
軟件工程第6章_第4頁
軟件工程第6章_第5頁
已閱讀5頁,還剩107頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第6章詳細設計6.1結構程序設計6.2人機界面設計6.3過程設計的工具6.4面向數據結構的設計方法6.5程序復雜程度的定量度量6.6小結習題

詳細設計階段的根本目標是得出對目標系統的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。詳細設計階段的任務還不是具體地編寫程序,而是要設計出程序的“藍圖”,以后程序員將根據這個藍圖寫出實際的程序代碼。詳細設計的結果基本上決定了最終的程序代碼的質量。考慮程序代碼的質量時必須注意,程序的“讀者”有兩個,那就是計算機和人。在軟件的生命周期中,設計測試方案、診斷程序錯誤、修改和改進程序等等都必須首先讀懂程序。實際上對于長期使用的軟件系統而言,人讀程序的時間可能比寫程序的時間還要長得多。結構程序設計的概念最早由E.W.Dijkstra提出。1965年他指出:“可以從高級語言中取消GOTO語句”,“程序的質量與程序中所包含的GOTO語句的數量成反比”。

只用3種基本的控制結構就能實現任何單入口單出口的程序。這3種基本的控制結構是“順序”、“選擇”和“循環”。6.1結構程序設計6.13種基本的控制結構(“順序”、“選擇”和“循環”)

實際上用順序結構和循環結構(又稱DO-WHILE結構)完全可以實現選擇結構(又稱IF-THEN-ELSE結構),因此,理論上最基本的控制結構只有兩種。

結構程序設計的經典定義如下所述:“如果一個程序的代碼塊僅僅通過順序、選擇和循環這3種基本控制結構進行連接,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結構化的。”雖然從理論上說只用上述3種基本控制結構就可以實現任何單入口單出口的程序,但是為了實際使用方便起見,常常還允許使用DO-UNTIL和DO-CASE兩種控制結構,它們的流程圖分別是圖6.2(a)和圖6.2(b)。圖6.2其他常用的控制結構(DO-UNTIL和DO-CASE)人機界面設計是接口設計的一個重要的組成部分。近年來,人機界面在系統中所占的比例越來越大,在個別系統中人機界面的設計工作量甚至占總設計量的一半以上。人機界面的設計質量,直接影響用戶對軟件產品的評價,從而影響軟件產品的競爭力和壽命。6.2人機界面設計在設計人機界面的過程中,幾乎總會遇到下述4個問題:系統響應時間、用戶幫助設施、出錯信息處理、命令交互。最好在設計初期就把這些問題作為重要的設計問題來考慮,這時修改比較容易,代價也低。6.2.1設計問題1.系統響應時間系統響應時間是許多交互式系統用戶經常抱怨的問題。系統響應時間指從用戶完成某個控制動作(例如,按回車鍵或點擊鼠標),到軟件給出預期的響應(輸出信息或做動作)之間的這段時間。

系統響應時間有兩個重要屬性,分別是長度和易變性。長度:如果系統響應時間過長,用戶就會感到緊張和沮喪。易變性:指系統響應時間相對于平均響應時間的偏差。例如,穩定在1秒的響應時間比從0.1秒到2.5秒變化的響應時間要好。用戶往往比較敏感,他們總是擔心響應時間變化暗示系統工作出現了異常。2.用戶幫助設施

現代軟件都提供聯機幫助設施,這使得用戶無須離開用戶界面就能解決自己的問題。幫助設施可分為集成的和附加的兩類:集成的幫助設施從一開始就設計在軟件里面,這可以縮短用戶獲得幫助的時間,增加界面的友好性。附加的幫助設施是在系統建成后再添加到軟件中的,實際上是一種查詢能力有限的聯機用戶手冊。3.出錯信息處理出錯信息和警告信息,是出現問題時系統給出的“壞消息”。當確實出現了問題的時候,有效的出錯信息能提高交互式系統的質量。出錯信息設計得不好,將向用戶提供無用的甚至誤導的信息,反而會加重用戶的挫折感。出錯信息或警告信息,應該具有下述屬性:(1)應該用用戶可以理解的術語描述問題。(2)應該提供有助于從錯誤中恢復的建設性意見。(3)應該指出錯誤可能導致哪些負面后果(例如,破壞數據文件),以便用戶檢查是否出現了這些問題。(4)應該伴隨著聽覺上或視覺上的提示,例如,同時發出警告鈴聲,用閃爍方式顯示。(5)信息不能帶有指責用戶色彩。4.命令交互現在,面向窗口的、點擊的界面已經減少了用戶對命令行的依賴,但是,許多高級用戶仍然偏愛面向命令行的交互方式。在提供命令交互方式時,必須考慮下列問題:(1)是否每個菜單選項都有對應的命令?

(2)采用何種命令形式?有3種選擇:控制序列(例如,Ctrl+P),功能鍵,鍵入命令。(3)學習和記憶命令的難度有多大?忘記了命令怎么辦?(4)用戶是否可以定制或縮寫命令?用戶界面設計是一個迭代的過程,通常先創建設計模型,再用原型實現這個設計模型,并由用戶試用和評估,然后根據用戶意見進行修改。各種用于界面設計和原型開發的軟件工具應運而生。這些工具被稱為用戶界面工具箱或用戶界面開發系統.它們為簡化交互環境的元素的創建,提供了各種例程或對象。6.2.2設計過程一旦建立起用戶界面的原型,就必須對它進行評估,以確定其是否滿足用戶的需求。(1)評估可以是非正式的,例如,用戶即興發表一些反饋意見;(2)評估也可以十分正式,例如,運用統計學方法評價全體終端用戶填寫的調查表。用戶界面的評估周期如下所述:(1)完成初步設計之后就創建第一級原型;(2)用戶試用并評估該原型,直接向設計者表述對界面的評價;(3)設計者根據用戶意見修改設計并實現下一級原型。(4)上述評估過程持續進行下去,直到用戶感到滿意,不需要再修改界面設計時為止。

在創建了用戶界面的設計模型之后,可以運用下述評估標準對設計進行早期復審。(1)系統及其界面的規格說明書的長度和復雜程度,預示了用戶學習使用該系統所需要的工作量。(2)命令或動作的數量、命令的平均參數個數或動作中單個操作的個數,預示了系統的交互時間和總體效率。(3)設計模型中包含的動作、命令和系統狀態的數量,預示了用戶學習使用該系統時需要記憶的內容的多少。(4)界面風格、幫助設施和出錯處理協議,預示了界面的復雜程度及用戶接受該界面的程度。總結眾多設計者的經驗得出的設計指南,有助于設計者設計出友好、高效的人機界面。1.一般交互指南

(1)保持一致性。菜單選擇、命令輸入、數據顯示使用一致的格式。(2)提供有意義的反饋。

6.2.3人機界面設計指南(3)在執行有較大破壞性的動作之前要求用戶確認。如果用戶要刪除一個文件,應該給出“您是否確實要……”的信息,以請求用戶確認他的命令。(4)允許取消絕大多數操作。每個交互式系統都應該能方便地取消已完成的操作。(5)減少在兩次操作之間必須記憶的信息量。不應該期望用戶能記住在下一步操作中需使用的一大串數字或標識符。(6)提高對話、移動和思考的效率。應該盡量減少用戶擊鍵的次數,設計屏幕布局時應該考慮盡量減少鼠標移動的距離。(7)允許犯錯誤。系統應該能保護自己不受嚴重錯誤的破壞。(8)按功能對動作分類,并據此設計屏幕布局。下拉菜單的主要優點就是能按動作類型組織命令。(9)提供對用戶工作內容敏感的幫助設施

(屏幕幫助HELP)。(10)用簡單動詞或動詞短語作為命令名。過長的命令名難于識別和記憶,也會占用過多的菜單空間。2.信息顯示指南可以用多種不同方式“顯示”信息:如用文字、圖形和聲音;(1)只顯示與當前工作內容有關的信息。(2)不要用數據淹沒用戶。例如,可以用圖形或圖表來取代龐大的表格。

(3)使用一致的標記、標準縮寫和可預知的顏色。顯示的含義應該非常明確,用戶能理解。(4)允許用戶保持可視化的語境。(5)產生有意義的出錯信息(屏幕幫助HELP)。(6)使用大小寫、縮進和文本分組以幫助理解。(7)使用窗口分隔不同類型的信息。(8)使用“模擬”顯示,使信息更容易被用戶提取。例如,顯示煉油廠儲油罐的壓力時,如果用類似溫度計的形式來表示壓力,用垂直移動和顏色變化來指示危險的壓力狀況,就容易引起用戶的警覺,。(9)高效率地使用顯示屏。當使用多窗口時,應該有足夠的空間使得每個窗口至少都能顯示出一部分。3.數據輸入指南用戶的大部分時間用在選擇命令、鍵入數據和向系統提供輸入。盡量減少用戶的輸入動作。最重要的是減少擊鍵次數,例如,用鼠標從預定義的一組輸入中選一個;(2)保持信息顯示和數據輸入之間的一致性。(3)允許用戶自定義輸入。專家級的用戶可能希望定義自己專用的命令,人機界面應該為用戶提供這樣做的機制。(4)交互應該可調整成用戶最喜歡的輸入方式。例如,秘書可能非常喜歡鍵盤輸入,而經理可能更喜歡使用鼠標。(5)使在當前動作語境中不適用的命令不起作用。這可使得用戶不去做那些肯定會導致錯誤的動作。(6)讓用戶控制交互流。用戶應該能夠跳過不必要的動作。(7)對所有輸入動作都提供幫助(Help)。(8)消除冗余的輸入。絕對不要要求用戶提供程序可以自動獲得或計算出來的信息。程序流程圖又稱為程序框圖,它是歷史最悠久、使用最廣泛的描述過程設計的方法,然而它也是用得最混亂的一種方法。它的主要優點是對控制流程的描繪很直觀,便于初學者掌握。6.3過程設計的工具

6.3.1程序流程圖圖6.3程序流程圖中使用的符號(P125)程序流程圖的主要缺點如下:(1)程序流程圖本質上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結構。(2)程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結構程序設計的精神,隨意轉移控制。(3)程序流程圖不易表示數據結構。總的趨勢是越來越多的人不再使用程序流程圖了。出于要有一種不允許違背結構程序設計精神的圖形工具的考慮,提出了盒圖,又稱為N-S圖。它有下述特點:(1)功能域明確,可以從盒圖上一眼就看出來。(2)不可能任意轉移控制。(3)很容易確定局部和全程數據的作用域。(4)很容易表現嵌套關系,也可以表示模塊的層次結構。6.3.2盒圖(N-S圖)圖6.4盒圖的基本符號(P125)盒圖沒有箭頭,因此不允許隨意轉移控制。堅持使用盒圖作為詳細設計的工具,可以使程序員逐步養成用結構化的方式思考問題和解決問題的習慣。

PAD是問題分析圖(problemanalysisdiagram)的英文縮寫,1973年由日本日立公司發明。它用二維樹形結構的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。圖6.5給出PAD圖的基本符號。6.3.3PAD圖圖6.5PAD圖的基本符號順序循環選擇CASE循環語句標號定義PAD圖的主要優點如下:(1)設計出來的程序必然是結構化程序。(2)PAD圖所描繪的程序結構十分清晰。圖中最左面的豎線是程序的主線,PAD圖逐漸向右延伸,每增加一個層次,向右擴展一條豎線。PAD圖中豎線的總條數就是程序的層次數。(3)PAD圖是二維樹形結構的圖形,程序從圖中最左豎線上端的結點開始執行,自上而下,從左向右順序執行,遍歷所有結點。(4)容易將PAD圖轉換成高級語言源程序,可用軟件工具自動完成,可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產率。(5)可用于表示程序邏輯,也可用于描繪數據結構。(6)PAD圖的符號支持自頂向下、逐步求精方法的使用。開始時定義一個抽象的程序,隨著設計工作的深入而使用def符號逐步增加細節,直至完成詳細設計,如圖6.6所示。圖6.6使用PAD圖提供的定義功能來逐步求精的例子

當算法中包含多重嵌套的條件選擇時,用程序流程圖、盒圖、PAD圖都不易清楚地描述。然而判定表卻能夠清晰地表示復雜的條件組合與應做的動作之間的對應關系。6.3.4判定表

一張判定表由4部分組成,左上部列出所有條件,左下部是所有可能做的動作,右上部是表示各種條件組合的一個矩陣,右下部是和每種條件組合相對應的動作。判定表右半部的每一列實質上是一條規則,規定了與特定的條件組合相對應的動作。以行李托運費的算法為例說明判定表的組織方法。假設某航空公司規定,乘客可以免費托運重量不超過30kg的行李。當行李重量超過30kg時:對頭等艙的國內乘客超重部分每公斤收費4元,對其他艙的國內乘客超重部分每公斤收費6元,外國乘客超重部分每公斤收費比國內乘客多一倍,對殘疾乘客超重部分每公斤收費比正常乘客少一半。計算行李費的算法,如表6.1(見書118頁)所示。從上面這個例子可以看出,判定表能夠簡潔而又無歧義地描述處理規則。但是,判定表并不適于作為一種通用的設計工具,沒有一種簡單的方法使它能同時清晰地表示順序和重復等處理特性。當數據元素的值多于兩個時(例如,假設對機票需細分為頭等艙、二等艙和經濟艙等多種級別時),判定表的簡潔程度也將下降。

判定樹是判定表的變種,也能清晰地表示復雜的條件組合與應做的動作之間的對應關系。判定樹的優點在于,它的形式簡單到不需任何說明,一眼就可以看出其含義,因此易于掌握和使用。圖6.7是和表6.1等價的判定樹。6.3.5判定樹圖6.7用判定樹表示計算行李費的算法

過程設計語言(PDL)也稱為偽碼,這是一個籠統的名稱,現在有許多種不同的過程設計語言在使用。一般說來,PDL是一種“混雜”語言,它使用一種語言的詞匯,同時卻使用另一種語言(某種結構化的程序設計語言)的語法。6.3.6過程設計語言PDL應該具有下述特點:關鍵字的固定語法,它提供了結構化控制結構、數據說明和模塊化的特點。為了使結構清晰和可讀性好,通常在所有可能嵌套使用的控制結構的頭和尾都有關鍵字,例如,if…fi(或endif)等等。(2)自然語言的自由語法,它描述處理特點。(3)數據說明的手段。應該既包括簡單的數據結構(例如純量和數組),又包括復雜的數據結構(例如,鏈表或層次的數據結構)。(4)模塊定義和調用的技術,應該提供各種接口描述模式。PDL作為一種設計工具有如下一些優點:(1)可以作為注釋直接插在源程序中間。這樣做能促使維護人員在修改程序代碼的同時也相應地修改PDL注釋,因此有助于保持文檔和程序的一致性,提高了文檔的質量。(2)可以使用普通的正文編輯程序或文字處理系統,很方便地完成PDL的書寫和編輯工作。(3)已經有自動處理程序存在,而且可以自動由PDL生成程序代碼。PDL的缺點:不如圖形工具形象直觀,描述復雜的條件組合與動作間的對應關系時,不如判定表清晰簡單。

在許多應用領域中信息都有清楚的層次結構,輸入數據、內部存儲的信息(數據庫或文件)以及輸出數據都可能有獨特的結構。層次的數據組織通常和使用這些數據的程序的層次結構十分相似。6.4面向數據結構的設計方法

面向數據結構的設計方法的最終目標是得出對程序處理過程的描述。這種方法最適合于在詳細設計階段使用,也就是說,在完成了軟件結構設計之后,可以使用面向數據結構的方法來設計每個模塊的處理過程。Jackson方法和Warnier方法是最著名的兩個面向數據結構的設計方法,

雖然程序中實際使用的數據結構種類繁多,但是它們的數據元素彼此間的邏輯關系卻只有順序、選擇和重復3類,因此,邏輯數據結構也只有這3類。1.順序結構順序結構的數據由一個或多個數據元素組成,每個元素按確定次序出現一次。下圖是表示順序結構的Jackson圖的一個例子。6.4.1Jackson圖圖6.8A由B、C、D3個元素順序組成順序結構的Jackson圖的一個例子2.選擇結構選擇結構的數據包含兩個或多個數據元素,每次使用這個數據時按一定條件從這些數據元素中選擇一個。圖6.9是表示3個中選1個結構的Jackson圖。圖6.9根據條件A是B或C或D中的某一個3.重復結構重復結構的數據,根據使用時的條件由一個數據元素出現零次或多次構成。圖6.10是表示重復結構的Jackson圖。圖6.10A由B出現N次(N≥0)組成Jackson圖有下述優點:便于表示層次結構,而且是對結構進行自頂向下分解的有力工具;形象直觀可讀性好;既能表示數據結構也能表示程序結構。

Jackson圖的缺點是:選擇條件或循環結束條件不能直接在圖上表示出來,影響了圖的表達能力,也不易直接把圖翻譯成程序,此外,框間連線為斜線,不易在行式打印機上輸出。為了解決上述問題,建議使用圖6.11中給出的改進的Jackson圖。6.4.2改進的Jackson圖圖6.11改進的Jackson圖順序結構選擇結構重復結構可選結構

Jackson結構程序設計方法基本上由下述5個步驟組成:(1)分析并確定輸入數據和輸出數據的邏輯結構,并用Jackson圖描繪這些數據結構。(2)找出輸入數據結構和輸出數據結構中有對應關系的數據單元。

6.4.3Jackson方法(3)從描繪數據結構的Jackson圖導出描繪程序結構的Jackson圖。(4)列出所有操作和條件(包括分支條件和循環結束條件),并且把它們分配到程序結構圖的適當位置。(5)用偽碼表示程序。Jackson方法中使用的偽碼和Jackson圖是完全對應的,下面是和3種基本結構對應的偽碼。和圖(a)所示的順序結構對應的偽碼,其中‘seq’和‘end’是關鍵字: A seq B C D A end

和圖(b)所示的選擇結構對應的偽碼,其中‘select’、‘or’和‘end’是關鍵字,cond1、cond2和cond3分別是執行B、C或D的條件:

A selectcond1 B A or cond2 C A or cond3 D A end和圖(d)所示重復結構對應的偽碼,其中‘iter’、‘until’、‘while’和‘end’是關鍵字,cond是條件: A iteruntil(或while)cond B A end下面結合一個具體例子進一步說明Jackson結構程序設計方法。[例]一個正文文件由若干個記錄組成,每個記錄是一個字符串。要求統計每個記錄中空格字符的個數,以及文件中空格字符的總個數。要求的輸出數據格式是,每復制一行輸入字符串之后,另起一行印出這個字符串中的空格數,最后印出文件中空格的總個數。圖6.12表示輸入輸出數據結構的Jackson圖第一步確定輸入輸出數據結構輸入數據結構輸出數據結構重復結構選擇結構第二步是分析確定在輸入數據結構和輸出數據結構中有對應關系的數據單元。在這個例子中哪些數據單元有對應關系呢?經過程序的處理由正文文件得到輸出表格。因為每處理輸入數據中一個“字符串”之后,就可以得到輸出數據中一個“串信息”,“字符串”和“串信息”也是一對有對應關系的單元。通過類似的考察發現,在這個例子中輸入輸出數據結構中只有上述兩對有對應關系的單元。在圖6.12中用一對虛線箭頭把有對應關系的數據單元連接起來,以突出表明這種對應關系。圖6.13描繪統計空格程序結構的Jackson圖第三步是從數據結構圖導出程序結構圖。第四步是列出所有操作和條件,并且把它們分配到程序結構圖的適當位置。首先,列出統計空格個數需要的全部操作和條件。經過簡單分析不難把這些操作和條件分配到程序結構圖的適當位置,結果為圖6.14。圖6.14把操作和條件分配到程序結構圖的適當位置

最后一步是用偽碼表示程序處理過程。因為Jackson使用的偽碼和Jackson圖之間存在簡單的對應關系,所以從圖6.14很容易得出下面的偽碼:統計空格seq 打開文件 讀入字符串

totalsum∶=0 程序體iteruntil文件結束 處理字符串seq 印字符串seq 印出字符串 印字符串end sum∶=0 pointer∶=1 分析字符串iteruntil字符串結束 分析字符select字符是空格 處理空格seq sum∶=sum+1 pointer∶=pointer+1 處理空格end 分析字符or字符不是空格 處理非空格seq pointer∶=pointer+1 處理非空格end 分析字符end 分析字符串end 印空格數seq 印出空格數目 印空格數end

totalsum∶=totalsum+sum 讀入字符串 處理字符串end 程序體end 印總數seq 印出空格總數 印總數end 關閉文件 停止統計空格end

詳細設計階段設計出的模塊質量如何呢?人們希望能進一步定量度量軟件的性質。由于軟件工程還是一門很年輕的學科,目前許多定量度量方法還處在研究過程中,程序復雜程度定量度量方法是其中比較成熟的一種。6.5程序復雜程度的定量度量定量度量程序復雜程度的方法:把程序的復雜程度乘以適當常數即可估算出軟件中錯誤的數量以及軟件開發需要用的工作量,可以用來比較兩個不同的設計或兩個不同算法的優劣;復雜程度可以作為模塊規模的精確限度。

1.流圖McCabe方法根據程序控制流的復雜程度定量程序的復雜程度,這樣度量出的結果稱為程序的環形復雜度。為了表示程序的控制流,人們通常使用流圖。

6.5.1McCabe(麥凱布)方法所謂流圖實質上是“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現對數據的具體操作以及分支或循環的具體條件。圖6.15把程序流程圖映射成流圖在流圖中用圓表示結點,一個圓代表一條或多條語句。程序流程圖中的一個順序的處理框序列和一個菱形判定框,可以映射成流圖中的一個結點。流圖中的箭頭線稱為邊,它和程序流程圖中的箭頭線類似,代表控制流。4.在流圖中一條邊必須終止于一個結點。5.由邊和結點圍成的面積稱為區域,當計算區域數時應該包括圖外部未被圍起來的那個區域。圖6.16由PDL翻譯成的流圖圖6.17由包含復合條件的PDL映射成的流圖2.計算環形復雜度的方法環形復雜度定量度量程序的邏輯復雜度。用下述3種方法中的任何一種來計算環形復雜度。(1)流圖中的區域數等于環形復雜度。(2)流圖G的環形復雜度V(G)=E-N+2,其中,E是流圖中邊的條數,N是結點數。(3)流圖G的環形復雜度V(G)=P+1,其中,P是流圖中判定結點的數目。結論:可以計算出所示流圖的環型復雜度為4(1)流圖中的區域數等于環形復雜度。(2)流圖G的環形復雜度V(G)=E-N+2,其中,E是流圖中邊的條數,N是結點數。(3)流圖G的環形復雜度V(G)=P+1,其中,P是流圖中判定結點的數目。3.環形復雜度的用途程序的環形復雜度取決于程序控制流的復雜程度,也即是取決于程序結構的復雜程度。當程序內分支數或循環個數增加時,環形復雜度也隨之增加,因此它是對測試難度的一種定量度量,也能對軟件最終的可靠性給出某種預測。

實踐表明,模塊規模以環形復雜度V(G)≤10為宜,也就是說,V(G)=10是模塊規模的一個更科學更精確的上限。

它根據程序中運算符和操作數的總數來度量程序的復雜程度。令N1為程序中運算符出現的總次數,N2為操作數出現的總次數,程序長度N定義為:N=N1+N2

6.5.2Halstead(霍爾斯特德)

方法

詳細設計完成之后,可以知道程序中使用的不同運算符(包括關鍵字)的個數n1,以及不同操作數(變量和常數)的個數n2。Halstead給出預測程序長度的公式如下:

H=n1log2n1+n2log2n2多次驗證都表明,預測的長度H與實際長度N非常接近。

Halstead還給出了預測程序中包含錯誤的個數的公式如下:E=Nlog2(n1+n2)/3000有人曾對從300條到12000條語句范圍內的程序核實了上述公式,發現預測的錯誤數與實際錯誤數相比誤差在8%之內。習題詳細設計的主要任務是什么?結構程序設計使用哪3種基本的控制結構就能實現任何單入口單出口的程序?畫出它們的流程圖。試說明JACKSON程序設計方法的設計步驟。4.定量度量程序復雜程度的方法有什么使用價值?用McCabe方法計算下圖的環形復雜度。5。學生成績的評定辦法為:若期未考試成績大于等于90分,作業情況為好的,成績定為優,而作業情況為差的,成績定為良;若期未考試成績大于等于75分,作業情況為好的,成績定為良,而作業情況為差的,成績定為及格;若期未考試成績大于等于60分,作業情況為好的,成績定為及格,而作業情況為差的,成績定為不合格;若期未考試成績小于60分,成績定為不及格。請繪制成績評定判定樹。詳細設計階段的關鍵任務是確定怎樣具體地實現用戶需要的軟件系統,也就是要設計出程序的“藍圖”。除了應該保證軟件的可靠性之外,使將來編寫出的程序可讀性好、容易理解、容易測試、容易修改和維護,是詳細設計階段最重要的目標。結構程序設計技術是實現上述目標的基本保證,是進行詳細設計的邏輯基礎。6.6小結人機界面設計是接口設計的一個重要的組成部分。人機界面的質量直接影響用戶對軟件產品的接受程度,因此,對人機界面設計必須給予足夠重視。在設計人機界面的過程中,必須充分重視并認真處理好系統響應時間、用戶幫助設施、出錯信息處理和命令交互等4個設計問題。人機界面設計是一個迭代過程,通常,先創建設計模型,接下來用原型實現這個設計模型并由用戶試用和評估原型,然后根據用戶意見修改原型,直到用戶滿意為止。總結人們在設計人機界面過程中積累的經驗,得出了一些關于用戶界面設計的指南,認真遵守這些指南有助于設計出友好、高效的人機界面。過程設計應該在數據設計、體系結構設計和接口設計完成之后進行,它的任務是設計解題的詳細步驟(即算法),它是詳細設計階段應完成的主要工作。過程設計的工具可分為圖形、表格和語言3類,這3類工具各有所長,讀者應該能夠根據需要選用適當的工具。在許多應用領域中信息都有清楚的層次結構,在開發這類應用系統時可以采用面向數據結構的設計方法完成過程設計。本章以J

溫馨提示

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

評論

0/150

提交評論