




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章詳細(xì)設(shè)計(jì)
6.1結(jié)構(gòu)程序設(shè)計(jì)6.2人機(jī)界面設(shè)計(jì)6.3過程設(shè)計(jì)的工具6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法6.5程序復(fù)雜程度的定量度量6.6小結(jié)1、詳細(xì)設(shè)計(jì)介紹詳細(xì)設(shè)計(jì)的根本目標(biāo)是:確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng)。經(jīng)過這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語言書寫的程序。詳細(xì)設(shè)計(jì)基本任務(wù)主要確定每個(gè)模塊具體執(zhí)行過程,有:為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì)。為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì)。對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì)。其他設(shè)計(jì),如:代碼設(shè)計(jì)、輸入/輸出格式設(shè)計(jì)、人機(jī)對(duì)話設(shè)計(jì)。編寫詳細(xì)設(shè)計(jì)說明書。評(píng)審6.1結(jié)構(gòu)程序設(shè)計(jì)(SP)一、什么是結(jié)構(gòu)化程序?最早由E.W.Dijkstra
在60年代中期提出。經(jīng)典定義:如果一個(gè)程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,而且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的。比較全面的定義:結(jié)構(gòu)程序設(shè)計(jì)是盡可能少用GOTO語句的程序設(shè)計(jì)方法,最好僅僅在檢測(cè)出錯(cuò)誤時(shí)才使用GOTO語句,而且應(yīng)該總是使用前向的GOTO語句。二、結(jié)構(gòu)化程序設(shè)計(jì)(SP)主要原則
(1)使用語言中的順序、選擇、重復(fù)等有限的基本控制結(jié)構(gòu)表示程序邏輯。
(2)選用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口。(3)復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)。(4)嚴(yán)格控制GOTO語句,僅在下列情形才可使用:用一個(gè)非結(jié)構(gòu)化的程序設(shè)計(jì)語言去實(shí)現(xiàn)一個(gè)結(jié)構(gòu)化的構(gòu)造。在某種可以改善而不是損害程序可讀性的情況下。三、五種基本的結(jié)構(gòu)化控制結(jié)構(gòu)(程序流程圖表示)6.2入機(jī)界面設(shè)計(jì)人機(jī)界面通常也稱為用戶界面用戶界面友好性屬軟件性特性,獨(dú)立于所有具體功能用戶界面是否友好很大程度由人的主觀因素決定。問:請(qǐng)說說你心目中友好的界面是怎樣的?用戶界面應(yīng)具備的特性可使用性如:使用簡(jiǎn)單、界面中所用術(shù)語應(yīng)該標(biāo)準(zhǔn)化,并保持一致性;擁有Help
功能;較快的系統(tǒng)響應(yīng)速度和較低的系統(tǒng)開銷;具有容錯(cuò)能力。靈活性能滿足不同用戶的要求;可以制定和修改界面方式;能提供各類的系統(tǒng)響應(yīng)信息,如反饋、提示、幫助、報(bào)錯(cuò)等;與其他軟件系統(tǒng)應(yīng)有標(biāo)準(zhǔn)的界面。復(fù)雜性在完成預(yù)定功能的前提下,用戶界面越簡(jiǎn)單越好??煽啃杂脩艚缑婺鼙WC用戶正確、可靠地使用系統(tǒng),保證有關(guān)程序和數(shù)據(jù)的安全性。6.2.1設(shè)計(jì)問題在設(shè)計(jì)人機(jī)界面過程中,幾乎總會(huì)遇到以下4個(gè)問題:①系統(tǒng)響應(yīng)時(shí)間②用戶幫助信息③出錯(cuò)信息處理④命令交互①系統(tǒng)響應(yīng)時(shí)間系統(tǒng)響應(yīng)時(shí)間指從用戶完成某個(gè)控制動(dòng)作到軟件給出預(yù)期的響應(yīng)之間的這段時(shí)間。有兩個(gè)重要屬性:長(zhǎng)度:響應(yīng)時(shí)間的長(zhǎng)短;易變性:響應(yīng)時(shí)間相對(duì)于平均響應(yīng)時(shí)間的偏差。②用戶幫助信息具體設(shè)計(jì)幫助信息時(shí),應(yīng)該解決以下問題:在用戶與系統(tǒng)交互期間,是否在任何時(shí)候都能獲得關(guān)于系統(tǒng)任何功能的幫助信息?(全部或部分)用戶怎樣請(qǐng)求幫助?(幫助菜單、功能鍵、Help命令)怎樣顯示幫助信息?(獨(dú)立窗口、某個(gè)參考文檔、屏幕固定位置顯示簡(jiǎn)短提示)用戶怎樣返回正常的交互方式?(返回按鈕、功能鍵)怎樣組織幫助信息?(通過關(guān)鍵字訪問、層次結(jié)構(gòu)、超文本結(jié)構(gòu))③出錯(cuò)信息處理出錯(cuò)信息或警告信息應(yīng)具有的屬性:是用戶可以理解的術(shù)語應(yīng)該提高有助于從錯(cuò)誤中恢復(fù)的建設(shè)性意見信息應(yīng)該指出錯(cuò)誤可能導(dǎo)致哪些負(fù)面后果(如破壞數(shù)據(jù)文件)等信息應(yīng)該伴隨視覺聽覺上的提示,如警告聲等信息不能帶有指責(zé)色彩④命令交互多數(shù)情況,用戶應(yīng)該既可以從菜單中選擇命令,也可以通過鍵盤輸入命令。提供命令交互應(yīng)考慮的問題:是否每個(gè)菜單選項(xiàng)都有對(duì)應(yīng)的命令?采用何種命令形式?(控制序列,如ctrl+…;功能鍵;鍵入命令)學(xué)習(xí)和記憶命令的難度多大?忘了怎么辦?用戶是否可以定制或縮寫命令?6.2.3設(shè)計(jì)過程用戶界面設(shè)計(jì)是一個(gè)迭代的過程,包括以下步驟:6.2.3人機(jī)界面設(shè)計(jì)指南界面分類一、一般交互界面二、信息顯示界面三、數(shù)據(jù)輸入界面一、一般交互界面1、基本設(shè)計(jì)指南保持一致性;提供有意義的反饋和幫助信息;執(zhí)行較大破壞性動(dòng)作之前要求用戶確認(rèn);允許犯錯(cuò)誤,允許中斷或撤銷絕大多數(shù)操作;
減少兩次操作之間必須記憶的信息量;按功能對(duì)動(dòng)作分類,并據(jù)此設(shè)計(jì)屏幕布局用簡(jiǎn)單動(dòng)詞或短語作為命令名2、交互界面的基本類型①菜單界面②對(duì)話③其他①菜單界面按顯示形象分類:正文菜單、圖標(biāo)菜單、正文圖標(biāo)混合菜單。按屏幕位置和操作風(fēng)格分類固定、浮動(dòng)、下拉式、嵌入式②對(duì)話框?qū)υ捫问奖仨毣卮鹗?、無需回答式、警告式對(duì)話實(shí)現(xiàn)方式標(biāo)準(zhǔn)對(duì)話、定做式對(duì)話③其他圖像窗口二、信息顯示界面1、界面顯示的基本元素①數(shù)據(jù)②字符③圖形④報(bào)告2、基本設(shè)計(jì)指南可用多種不同方式顯示信息。如用圖形表示數(shù)據(jù)只顯示與當(dāng)前工作內(nèi)容有關(guān)的信息使用一致的標(biāo)記、縮寫和可預(yù)知的顏色。使用窗口分隔不同類型的信息使用模擬方式表示信息。界面舉例網(wǎng)上紅心大戰(zhàn)三、數(shù)據(jù)輸入界面1、基本設(shè)計(jì)指南盡量減少用戶輸入的動(dòng)作保持信息顯示和數(shù)據(jù)輸入的一致性允許用戶自定義輸人,如鍵盤輸入或鼠標(biāo)輸入當(dāng)前動(dòng)作語境中,不適用的命令不起作用。讓用戶控制交互流,如用戶能跳過不必要的動(dòng)作消除冗余的輸入界面舉例MSN界面舉例顏色使用指南:
一個(gè)窗口中不應(yīng)該出現(xiàn)5種以上不同色系的顏色。一般的,盡量少用不同的顏色總是好的。如果一個(gè)圖表中僅包含幾種顏色,背景應(yīng)該選用其中一種顏色的補(bǔ)色:如果一幅圖中包含許多顏色,背景應(yīng)該選用一種中性的顏色,如灰色。如果兩個(gè)相鄰的顏色不是特別和諧,可以用細(xì)的黑色邊框?qū)⑺鼈兎珠_。背景和字體顏色應(yīng)選用對(duì)比度強(qiáng)的顏色。顏色的應(yīng)用要適度,裝飾性的使用服從功能性的使用。區(qū)域的顏色實(shí)際上能夠影響他的觀察尺寸。使用高飽和度(亮)顏色的大區(qū)域是不明智的。紅色和藍(lán)色具有最強(qiáng)的深度不一致的效果,紅色看起來近,藍(lán)色看起來遠(yuǎn)。6.3過程設(shè)計(jì)的工具(1)圖形工具程序流程圖(FC)盒圖(NS)問題分析圖(PAD)(2)表格工具判定表判定樹(3)語言工具過程設(shè)計(jì)語言(PDL)6.3.1程序流程圖(FC)又稱程序框圖。以圖形方式說明系統(tǒng)中的控制流,是歷史最悠久、使用最廣泛的一種描述程序邏輯結(jié)構(gòu)的工具。優(yōu)點(diǎn):直觀清晰、易于使用,是普遍采用的工具。缺點(diǎn):反映的是最后的結(jié)果,不易反映逐步求精的過程可以隨心所欲地畫控制流程線的流向,容易造成非結(jié)構(gòu)化的程序結(jié)構(gòu)。不易表示數(shù)據(jù)結(jié)構(gòu)。程序流程圖的標(biāo)準(zhǔn)符號(hào)6.3.2盒圖(N-S圖)出于要有一種不允許違背結(jié)構(gòu)程序設(shè)計(jì)精神的圖形工具的考慮,Nassi
和Shneiderman
提出用盒圖代替?zhèn)鹘y(tǒng)的流程圖,簡(jiǎn)稱為N一S圖。優(yōu)點(diǎn):只能描述結(jié)構(gòu)化程序所允許的標(biāo)準(zhǔn)結(jié)構(gòu)。程序結(jié)構(gòu)用方框表示,清晰可見。缺點(diǎn):當(dāng)程序內(nèi)嵌套層數(shù)增多時(shí),內(nèi)層方塊越畫越小,增加了畫圖的困難,并使圖形的清晰性受到影響。五種基本控制結(jié)構(gòu)在盒圖中的表示N-S圖的嵌套定義形式盒圖例1日立公司發(fā)明。用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,控制流程自上而下,從左往右地執(zhí)行。優(yōu)點(diǎn):程序結(jié)構(gòu)清晰,結(jié)構(gòu)化程度高。支持自頂向下,逐步求精的設(shè)計(jì)方法。既可以表示程序邏輯,也可以描繪數(shù)據(jù)結(jié)構(gòu)。用PAD圖表現(xiàn)程序邏輯,易讀易寫,使用方便。容易轉(zhuǎn)換成高級(jí)語言源程序,也可用軟件工具實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換。6.3.3問題分析圖(PAD)五種基本控制結(jié)構(gòu)在PAD圖中的表示PAD描述的示例6.3.4判定表判定表能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。如果數(shù)據(jù)流處理時(shí)需要依賴多個(gè)邏輯條件的取值,用判定表來描述比較合適。一、判定表組成條件部分給出所有的
兩分支判斷的列表;動(dòng)作部分給出相應(yīng)的處理;例1:檢查發(fā)貨單判定表二、判定表的應(yīng)用使用判斷表進(jìn)行數(shù)據(jù)處理說明6.3.5判定樹判定樹是判定表的變種,能清晰表示復(fù)雜的條件組合與操作之間的關(guān)系,形式簡(jiǎn)單,不需要做任何說明,是常見的系統(tǒng)分析工具。例1:檢查發(fā)貨單的判定樹“計(jì)算行李費(fèi)”的判定樹6.3.6過程設(shè)計(jì)語言(processDesignLanguage,PDL)也稱偽碼(pseudocode),是一種介于自然語言和形式化語言之間的語言,用于描述功能模塊的算法設(shè)計(jì)和處理細(xì)節(jié)的語言。特點(diǎn):易編寫,易理解,容易轉(zhuǎn)換成源程序。例:商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”
IF發(fā)貨單金額超過$500THEN
lF
欠款超過了60天THEN
在償還欠款前不予批準(zhǔn)
ELSE(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單
ENDIFELSE(發(fā)貨單金額未超過$500)IF欠款超過60天THEN
發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報(bào)告
ELSE(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單
ENDIFENDIFPDL的特性1)正文用嚴(yán)格的程序語言的基本控制結(jié)構(gòu)分割,稱為“外語法”,如If……Then……Else
、While……DO、Repeat……Until、Case……of。2)
操作用自然語言表示,描述處理特點(diǎn),稱為“內(nèi)語法”。
3)具有數(shù)據(jù)說明機(jī)制,包括簡(jiǎn)單的(如純量和數(shù)組)與復(fù)雜的(如鏈表或?qū)哟蔚臄?shù)據(jù)結(jié)構(gòu))數(shù)據(jù)說明。
4)具有模塊定義和調(diào)用機(jī)制,因此開發(fā)人員應(yīng)根據(jù)系統(tǒng)編程所用的語種,說明PDL表示的有關(guān)程序結(jié)構(gòu)。例:數(shù)據(jù)字典中,使用PDL進(jìn)行數(shù)據(jù)處理的說明處理名:核實(shí)訂票處理編號(hào):3.2激活條件:收到取訂票信息處理邏輯:1、讀訂票旅客信息文件
2、搜索此文件中是否有與輸入信息中姓名及身份證號(hào)相符的項(xiàng)目
IF有
THEN判斷余項(xiàng)是否與文件中信息相符
IF是THEN輸出已訂票信息
ELSE輸出未訂票信息
ENDIFELSE輸出未訂票信息
ENDIF執(zhí)行頻率:實(shí)時(shí)PDL優(yōu)點(diǎn)提供的機(jī)制比圖形全面,為保證詳細(xì)設(shè)計(jì)與編碼的質(zhì)量創(chuàng)造了有利條件。可作為注釋嵌入在源程序中一起作為程序的文檔,并可同高級(jí)程序設(shè)計(jì)語言一樣進(jìn)行編輯、修改,有利于軟件的維護(hù)。可自動(dòng)生成程序代碼,提高軟件生產(chǎn)率。面向數(shù)據(jù)流的結(jié)構(gòu)化分析與設(shè)計(jì)方法總結(jié)6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法數(shù)據(jù)結(jié)構(gòu)既影響程序的結(jié)構(gòu)又影響程序的處理過程重復(fù)出現(xiàn)的數(shù)據(jù)通常由具有循環(huán)控制結(jié)構(gòu)的程序來處理選擇數(shù)據(jù)要用帶有分支控制結(jié)構(gòu)的程序來處理層次的數(shù)據(jù)組織通常和使用這些數(shù)據(jù)的程序的層次結(jié)構(gòu)十分相似。面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法的最終目標(biāo)是得出對(duì)程序處理過程的描述。6.4.1Jackson圖
數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)元素彼此間的邏輯關(guān)系:順序結(jié)構(gòu),順序結(jié)構(gòu)的數(shù)據(jù)由一個(gè)或多個(gè)數(shù)據(jù)元素組成,每個(gè)元素按確定次序出現(xiàn)一次。選擇結(jié)構(gòu),選擇結(jié)構(gòu)的數(shù)據(jù)包含兩個(gè)或多個(gè)數(shù)據(jù)元素,每次使用這個(gè)數(shù)據(jù)時(shí)按一定條件從這些數(shù)據(jù)元素中選擇一個(gè)。重復(fù)結(jié)構(gòu),重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時(shí)的條件由一個(gè)數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。A由B、C、D3個(gè)元素順序組成根據(jù)條件A是B或C或D中的某一個(gè)A由B出現(xiàn)N次(N≥0)組成Jackson圖的優(yōu)點(diǎn):便于表示層次結(jié)構(gòu),而且是對(duì)結(jié)構(gòu)進(jìn)行自頂向下分解的有力工具;形象直觀可讀性好;既能表示數(shù)據(jù)結(jié)構(gòu)也能表示程序結(jié)構(gòu)。Jackson圖的缺點(diǎn):表示選擇或重復(fù)結(jié)構(gòu)時(shí),選擇條件或循環(huán)結(jié)束條件不能直接在圖上表示出來,影響了圖的表達(dá)能力,也不易直接把圖翻譯成程序;框間連線為斜線,不易在行式打印機(jī)上輸出。6.4.2改進(jìn)的Jackson圖Jackson圖和層次圖的區(qū)別:Jackson圖層次圖作用①描繪數(shù)據(jù)結(jié)構(gòu)②描繪程序結(jié)構(gòu)描繪軟件結(jié)構(gòu)矩形框①數(shù)據(jù)元素②幾個(gè)語句模塊連線組成關(guān)系調(diào)用關(guān)系6.4.3Jackson方法Jackson結(jié)構(gòu)程序設(shè)計(jì)方法由5個(gè)步驟組成:(1)分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),用Jackson圖描繪數(shù)據(jù)結(jié)構(gòu)。(2)找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元。所謂有對(duì)應(yīng)關(guān)系是指有直接的因果關(guān)系,在程序中可以同時(shí)處理的數(shù)據(jù)單元(對(duì)于重復(fù)出現(xiàn)的數(shù)據(jù)單元必須重復(fù)的次序和次數(shù)都相同才可能有對(duì)應(yīng)關(guān)系)。(3)用下述規(guī)則從描繪數(shù)據(jù)結(jié)構(gòu)的Jackson圖導(dǎo)出描繪程序結(jié)構(gòu)的Jackson圖:第一,為每對(duì)有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元,按照它們?cè)跀?shù)據(jù)結(jié)構(gòu)圖中的層次在程序結(jié)構(gòu)圖的相應(yīng)層次畫一個(gè)處理框(層次不同時(shí)與圖中層次低的那個(gè)對(duì)應(yīng));第二,根據(jù)輸入數(shù)據(jù)結(jié)構(gòu)中剩余的每個(gè)數(shù)據(jù)單元所處的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次分別為它們畫上對(duì)應(yīng)的處理框;第三,根據(jù)輸出數(shù)據(jù)結(jié)構(gòu)中剩余的每個(gè)數(shù)據(jù)單元所處的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次分別為它們畫上對(duì)應(yīng)的處理框。改進(jìn)的Jackson圖規(guī)定在構(gòu)成順序結(jié)構(gòu)的元素中不能有重復(fù)出現(xiàn)或選擇出現(xiàn)的元素,因此可能需要增加中間層次的處理框。(4)列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件),并且把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。(5)用偽碼表示程序。順序結(jié)構(gòu):AseqBCDAend選擇結(jié)構(gòu):Aselectcond1BAorcond2CAorcond3DAend循環(huán)結(jié)構(gòu):Aiteruntil(或while)condBAend例1:一個(gè)正文文件由若干個(gè)記錄組成,每個(gè)記錄是一個(gè)字符串。要求統(tǒng)計(jì)每個(gè)記錄中空格字符的個(gè)數(shù),以及文件中空格字符的總個(gè)數(shù)。要求的輸出數(shù)據(jù)格式是,每復(fù)制一行輸入字符串之后,另起一行印出這個(gè)字符串中的空格數(shù),最后印出文件中空格的總個(gè)數(shù)。設(shè)計(jì)步驟如下:(1)用Jackson圖描繪的輸入輸出數(shù)據(jù)結(jié)構(gòu)。(2)分析確定在輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元。(3)從數(shù)據(jù)結(jié)構(gòu)圖導(dǎo)出程序結(jié)構(gòu)圖。(4)列出所有操作和條件,并且把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。(5)用偽碼表示程序處理過程。
例2:高考后將考生的基本情況文件(簡(jiǎn)稱考生情況文件)和考生高考成績(jī)文件(簡(jiǎn)稱考分文件)合并成一個(gè)新文件(簡(jiǎn)稱考生新文件)??忌厩闆r文件中的考生記錄的內(nèi)容包括:準(zhǔn)考證號(hào)、姓名、通信地址。考分文件中的考生記錄的內(nèi)容包括:準(zhǔn)考證號(hào)和各門考分。合并后的考生新文件自然也是由考生記錄組成,內(nèi)容包括:準(zhǔn)考證號(hào)、姓名、通信地址和各門考分。設(shè)計(jì)步驟如下:(1)用Jackson圖描繪的輸入輸出數(shù)據(jù)結(jié)構(gòu)。輸入數(shù)據(jù)結(jié)構(gòu):輸出數(shù)據(jù)結(jié)構(gòu):(2)分析確定在輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元。(3)從數(shù)據(jù)結(jié)構(gòu)圖導(dǎo)出程序結(jié)構(gòu)圖。(4)列出所有操作和條件,并且把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。操作:①停止;②打開兩個(gè)輸入文件;③建立輸出文件;④從輸入文件中各讀一條記錄;⑤生成一條新記錄;⑥將新記錄寫入輸出文件;⑦關(guān)閉全部文件。條件:I(1)文件結(jié)束。(5)用偽碼表示程序處理過程。產(chǎn)生新文件
seq
打開兩個(gè)輸入文件 建立輸出文件 從輸入文件中各讀一條記錄 分析考生記錄iteruntil文件結(jié)束
處理考生記錄seq
產(chǎn)生準(zhǔn)考證號(hào) 產(chǎn)生姓名 產(chǎn)生通信地址 產(chǎn)生考分 生成一條新記錄 將新記錄寫入輸出文件 從輸入文件中各讀一條記錄 處理考生記錄end
分析考生記錄end
關(guān)閉全部文件 停止產(chǎn)生新文件end6.5程序復(fù)雜程度的定量度量1、軟件復(fù)雜性是軟件度量的一個(gè)重要分支。主要參數(shù)有:規(guī)模:即總共的指令數(shù),或源程序行數(shù)。難度:通常由程序中出現(xiàn)的操作數(shù)的數(shù)目所決定的量來表示。結(jié)構(gòu):通常用與程序結(jié)構(gòu)有關(guān)的度量來表示智能度:即算法的難易程度。2、程序復(fù)雜性軟件復(fù)雜性主要表現(xiàn)在程序的復(fù)雜性,程序復(fù)雜性主要指模塊內(nèi)程序的復(fù)雜性。常見的定量度量軟件復(fù)雜性的方法有:代碼行度量法McCabe度量法:又稱環(huán)路度量法。Halstead的軟件科學(xué)6.5.1McCabe方法T.McCabe的研究:McCabe方法根據(jù)程序控制流的復(fù)雜程度定量度量程序復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。一個(gè)程序的環(huán)形復(fù)雜度(cyclomaticcomplexity)取決于它的程序圖(流圖)
包含的判定結(jié)點(diǎn)的數(shù)量。1、什么是程序圖一種簡(jiǎn)化了的流程圖。程序圖(流圖)僅描繪程序的控制流程,完全不表現(xiàn)對(duì)數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。流程圖中的各種處理框(如加工框,判斷框等),都被簡(jiǎn)化成用圓圈表示的結(jié)點(diǎn)可由流程圖導(dǎo)出或其他工具(PAD圖、代碼等)變換獲得。程序圖的基本元素符號(hào)“O”為程序圖的結(jié)點(diǎn),表示一個(gè)或多個(gè)無分支的語句;箭頭為邊,表示控制流的方向。邊和結(jié)點(diǎn)圈定的封閉范圍叫做區(qū)域。程序圖的基本元素從圖論的觀點(diǎn)看,它是一個(gè)可以用G=<
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙教版高中信息技術(shù)必修 4-1 信息資源管理及其沿革 教學(xué)設(shè)計(jì)
- 海南省華僑中學(xué)高一信息技術(shù)必修一教學(xué)設(shè)計(jì):3.3 信息的智能化加工
- 第五單元 第4章 第2節(jié) 細(xì)菌(新教學(xué)設(shè)計(jì))2023-2024學(xué)年八年級(jí)上冊(cè)生物(人教版)
- 2025年供需合同補(bǔ)充協(xié)議范例
- 2025年企業(yè)正式員工合同簽訂范本
- 2025年網(wǎng)絡(luò)商業(yè)推廣合同
- 實(shí)習(xí)學(xué)生臨時(shí)工勞動(dòng)合同示例(2025年)
- 云計(jì)算資源管理合同2025
- 2025年醫(yī)療機(jī)構(gòu)主治醫(yī)師績(jī)效合同范本
- 合同法律風(fēng)險(xiǎn)評(píng)估與控制
- 安徽省歷年中考語文現(xiàn)代文閱讀之非連續(xù)性文本閱讀6篇(截至2024年)
- GB/T 23694-2024風(fēng)險(xiǎn)管理術(shù)語
- 2025年北京青年政治學(xué)院高職單招高職單招英語2016-2024年參考題庫(kù)含答案解析
- 《典型的光器件AWG》課件
- 出血熱知識(shí)培訓(xùn)課件
- 廣東省汕頭市潮南區(qū)2024-2025學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量監(jiān)測(cè)英語試卷(無答案)
- 2024年度工業(yè)自動(dòng)化設(shè)備維護(hù)保養(yǎng)及上門維修合同3篇
- 2025年公司總經(jīng)理年終總結(jié)工作報(bào)告
- 安徽省“江淮十?!?024屆高考化學(xué)一模試卷含解析
- 圖書外借服務(wù)計(jì)劃
- 軟考系統(tǒng)集成項(xiàng)目管理工程師教程完整版
評(píng)論
0/150
提交評(píng)論