freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程導(dǎo)論第五版(文件)

 

【正文】 因此建議: 盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公用耦合,完全不用內(nèi)容偶合 。 1) 功能內(nèi)聚 ( Functional Cohesion) 如果一個(gè)模塊內(nèi)所有處理元素完成一個(gè),而且僅完成一個(gè)功能,則稱為功能內(nèi)聚。 如圖,一個(gè)求一元二次方程根的模塊由三個(gè)處理元素組成,該模塊中存在順序內(nèi)聚。 通信內(nèi)聚有時(shí)也稱為數(shù)據(jù)內(nèi)聚。 也稱為瞬時(shí)內(nèi)聚 。 如圖 , A、 B、 C模塊合并成 ABC模塊之后 ,ABC模塊就是邏輯內(nèi)聚模塊 。 偶然內(nèi)聚是最差的一種內(nèi)聚 。 A B C W模塊 X=Y+Z GET CARD IF I=5 THEN E=0 … 偶然內(nèi)聚示例 軟件設(shè)計(jì)中應(yīng)該: 力求做到高內(nèi)聚 ,盡量少用中內(nèi)聚,不用低內(nèi)聚 。 如: QUADROOT( TBL,X) 求一元二次方程的根的模塊 , 其中 TBL, X都為數(shù)組 , 分別代表方程的系數(shù)和方程的根 。 數(shù)據(jù)流可以分為兩種類型: 1) 變換型數(shù)據(jù)流 2) 事務(wù)型數(shù)據(jù)流 變換流與事務(wù)流 一 、 變換流 具有較明確的輸入、變換(或稱主加工)和輸出界面的數(shù)據(jù)流圖稱為變換型數(shù)據(jù)流圖。 如圖所示,中間的子塊屬事務(wù)型數(shù)據(jù)流,如果把中間子塊視為一個(gè)處理整體的話,整個(gè)程序?qū)僮儞Q型程序。 主控模塊 輸出控制模塊 Co 變換中心控制模塊 Ct 輸入控制模塊 Ci 2)分別設(shè)計(jì)輸入、輸出和處理的下層模塊結(jié)構(gòu) 方法是: 從變換中心邊界向兩側(cè)移動(dòng) ,分別把輸入通路和輸出通路的每個(gè)處理映射成輸入控制模塊 Ci和輸出控制模塊 Co的下屬模塊。 方法是:將輸出的每條通路作為調(diào)度模塊的一個(gè)判斷分支,而輸入類型分析模塊的下層模塊與變換設(shè)計(jì)類似。 詳細(xì)設(shè)計(jì)的結(jié)果決定最終程序代碼的質(zhì)量 。 學(xué)界認(rèn)識(shí)到,不是簡(jiǎn)單去掉 Goto語句的問題,而是要?jiǎng)?chuàng)立一種新的程序設(shè)計(jì)方法。 經(jīng)典的結(jié)構(gòu)程序設(shè)計(jì) :只允許使用順序、IF_THEN_ELSE選擇和 DO_WHILE循環(huán); 擴(kuò)展的結(jié)構(gòu)程序設(shè)計(jì) :除了三種基本控制結(jié)構(gòu),還使用 DO_CASE和 DO_UNTIL循環(huán); 修正的結(jié)構(gòu)程序設(shè)計(jì) :除了三種基本控制結(jié)構(gòu)和兩種擴(kuò)充結(jié)構(gòu),還使用 BREAK等結(jié)構(gòu)。 P是一個(gè)謂詞,根據(jù) P的邏輯值( T或 F),結(jié)點(diǎn)有不同的出口。 I=3:C3。 F 函數(shù)結(jié)點(diǎn) 定義 2:如果一個(gè)正規(guī)程序的某個(gè)部分仍然是正規(guī)程序,那么稱它為該正規(guī)程序的正規(guī)子程序。 d1 d2 d3 。 如: {順序 , ifthenelse, while do} {順序, ifthenelse, repeatuntil} 都是基集合。 定義 7:由基本程序的一個(gè)固定的基集合構(gòu)造出的復(fù)合程序 , 稱為 結(jié)構(gòu)化程序 。 步驟二:對(duì)原程序中每一個(gè)編號(hào)為 i, 出口線編號(hào)為 j的函數(shù)結(jié)點(diǎn) H, 構(gòu)造一個(gè)新的序列程序Gi, 如圖: H Gi = H L:= j i i j 類似地,對(duì)于每個(gè)編號(hào)為 i, 出口線分別為 j和 k的謂詞結(jié)點(diǎn),構(gòu)造一個(gè)新的選擇程序 Gi,如圖: P j k i Gi = P i L := j L := k 步驟三: 利用已經(jīng)得到的一些 Gi程序( i=1,2,3,…,n ),按下圖的形式構(gòu)造一個(gè) Whiledo循環(huán)。 例 1:把圖示的非結(jié)構(gòu)化程序轉(zhuǎn)換成結(jié)構(gòu)化程序( 用結(jié)構(gòu)化定理證明過程提供的方法轉(zhuǎn)換 ) 非結(jié)構(gòu)化程序到結(jié)構(gòu)化程序的轉(zhuǎn)換 P1 P2 A B 非結(jié)構(gòu)化程序例圖 1)進(jìn)行結(jié)點(diǎn)及其出口線的編號(hào); 1 3 4 0 2 0 2 3 4 1 P1 P2 A B 非結(jié)構(gòu)化程序例圖 P1 3 2 1 G1= P1 1 L := 3 L := 2 2)將圖中的四個(gè)結(jié)點(diǎn)構(gòu)造新的程序 G G GG4; B G2 = B L:= 0 2 2 0 P2 4 0 3 G3 = P2 3 L := 4 L := 0 A G4 = A L:= 1 4 4 1 3)利用得到的 G G G G4按介紹的方法構(gòu)造一個(gè)Whiledo循環(huán),最終結(jié)果如圖: L:=1 L0 L=1 L=4 L=2 L:=0 P1 L := 3 L := 2 B L:= 0 L=3 P2 L := 4 L := 0 A L:= 1 轉(zhuǎn)化后的結(jié)構(gòu)化程序圖 F F F F F T T T T T 人機(jī)界面設(shè)計(jì) 設(shè)計(jì)問題 1. 系統(tǒng)響應(yīng)時(shí)間; 2. 用戶幫助; 3. 出錯(cuò)信息處理; 4. 命令交互 設(shè)計(jì)過程 人機(jī)界面設(shè)計(jì)指南 1. 一般交互指南; 2. 信息顯示指南; 3. 數(shù)據(jù)輸入指南。 3)程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。 日立公司發(fā)明和推廣 ( 1973) 。PAD圖中豎線的總條數(shù)就是程序的層次數(shù); 3) 用 PAD圖表現(xiàn)程序 , 通俗易懂 , 程序從圖中最左豎線上端的結(jié)點(diǎn)開始執(zhí)行 , 自上而下 ,從左向右順序執(zhí)行 , 遍歷所有結(jié)點(diǎn); 4) 容易將 PAD圖轉(zhuǎn)換成高級(jí)語言源程序 , 這種轉(zhuǎn)換可以用軟件工具自動(dòng)完成; 5) 可用于表示程序邏輯 , 也可用于描繪數(shù)據(jù)結(jié)構(gòu); 6) PAD圖的符號(hào)支持自頂向下 、 逐步求精的方法 。 圖中最左面的豎線是程序的主線 , 即第一層結(jié)構(gòu) 。 盒圖( NS圖) A B C 條件 F T Else B Then A Case條件 Case1 A Case2 B … Casen N 循環(huán)條件 循環(huán)條件 DoWhile部分 DoUntil部分 A A 圖 盒圖的基本符號(hào) 盒圖的特點(diǎn)有: 1) 功能域明確 , 可以從盒圖上一眼就看出來; 2) 不可能任意轉(zhuǎn)移控制; 3) 很容易確定局部和全程數(shù)據(jù)的作用域; 4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。 歷史悠久 、 使用廣泛 、 直觀描繪控制流程 、 便于初學(xué)者掌握 。 L:=1 L0 L=1 L=n L=2 Gn L:=0 G2 G1 … … T T T T F F F F 這種方法并不是唯一的把程序轉(zhuǎn)變?yōu)榻Y(jié)構(gòu)化程序的方法,所得的程序也不一定是最好的。 實(shí)際上,只要能證明可以將任一正規(guī)程序轉(zhuǎn)換成等價(jià)的結(jié)構(gòu)化程序就可以證明這個(gè)結(jié)構(gòu)化定理。 A 復(fù)合程序 exp B exp A: 循環(huán)結(jié)構(gòu)的 A函數(shù)結(jié)點(diǎn)用另一循環(huán)結(jié)構(gòu)代替,即嵌套循環(huán),就產(chǎn)生了復(fù)合程序。 基本程序 定義 4:一個(gè)正規(guī)程序 , 如果滿足以下兩個(gè)條件 ,則稱之為 基本程序 : 基本程序形式有多種,前面提到的三種基本控制結(jié)構(gòu)( 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) )和兩個(gè)擴(kuò)充控制結(jié)構(gòu)( 多分支結(jié)構(gòu)、UNTIL循環(huán)結(jié)構(gòu) )都是基本程序。 基本程序 如圖:封閉結(jié)構(gòu)為 { a [ b1 b2 b3 。 I=n:Cn” 3. 擴(kuò)充兩種控制結(jié)構(gòu) Cn C3 C1 C2 (d)多分支結(jié)構(gòu) I=? … 2) UNTIL循環(huán)結(jié)構(gòu) 相當(dāng)于“ Repeat A Until exp” A (e)UNTIL循環(huán) exp 正規(guī)程序 定義 1:一個(gè)流程圖程序如果滿足下面兩個(gè)條件 , 稱為正規(guī)程序: 1) 具有一個(gè)入口線和一個(gè)出口線; 2)對(duì)每一個(gè)結(jié)點(diǎn),都有一條從入口線到出口線的通路通過該結(jié)點(diǎn)。 匯點(diǎn) 匯點(diǎn)的簡(jiǎn)略表示 1) 順序結(jié)構(gòu) :相當(dāng)于“ A、 B” 2. 三種基本控制結(jié)構(gòu) A B (a)順序結(jié)構(gòu) 2) 選擇結(jié)構(gòu) 相當(dāng)于“ If exp then A else B endif ” A B exp (b)選擇結(jié)構(gòu) 3) 循環(huán)結(jié)構(gòu) :相當(dāng)于“ While exp do A” A (c)循環(huán)結(jié)構(gòu) exp 1) 多分支結(jié)構(gòu) 相當(dāng)于“ Case I of I=1:C1。 由于函數(shù)結(jié)點(diǎn)一般對(duì)應(yīng)于賦值語句,所以 F 也表示了這一個(gè)結(jié)點(diǎn)對(duì)應(yīng)的函數(shù)關(guān)系。 結(jié)構(gòu)程序設(shè)計(jì) : 一種設(shè)計(jì)程序的技術(shù) , 它采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制結(jié)構(gòu) 。 1966 , Bohm, Jacopini ,證明了只用“順序”、“選擇”、“循環(huán)”控制結(jié)構(gòu)就能實(shí)現(xiàn)任何單入口單出口程序。 第 6章:詳細(xì)設(shè)計(jì) 目標(biāo) :確定如何具體實(shí)現(xiàn)所要求的系統(tǒng) 。 A B C D F E G H I J K 變換中心 輸入 輸出 主控模塊 輸出控制模塊 Co 變換中心控制模塊 Ct 輸入控制模塊 Ci D C B A E F G I H J K 事務(wù)設(shè)計(jì) 就是從事務(wù)型數(shù)據(jù)流圖映射出軟件模塊結(jié)構(gòu)的過程 , 也稱為以事務(wù)為中心的設(shè)計(jì) 。 復(fù)查、精化數(shù)據(jù)流圖 類型 找出事務(wù)中心 找出變換中心 映射成事務(wù)結(jié)構(gòu) 映射成變換結(jié)構(gòu) 優(yōu)化軟件模塊結(jié)構(gòu) 導(dǎo)出模塊結(jié)構(gòu) 復(fù)查 不滿意 變換 事務(wù) 變換設(shè)計(jì) 事務(wù)設(shè)計(jì) 面向數(shù)據(jù)流的設(shè)計(jì)步驟 變換設(shè)計(jì) 就是從變換型數(shù)據(jù)流圖映射出軟件模塊結(jié)構(gòu)的過程 , 也稱以變換為中心的設(shè)計(jì) 。 讀入原始數(shù)據(jù) 校驗(yàn)原始數(shù)據(jù) 計(jì)算最優(yōu)結(jié)果 編輯打印最優(yōu)結(jié)果 輸入 變換中心 輸出 事務(wù)型數(shù)據(jù)流圖中存在一個(gè)事務(wù)中心 ( 也就是數(shù)據(jù)處理 、 加工中心 ) , 它將輸入分離成若干個(gè)發(fā)散的數(shù)據(jù)流 ,形成許多活動(dòng)路徑 , 并根據(jù)輸入值選擇其中一條路徑 。 5. 力爭(zhēng)降低模塊接口的復(fù)雜度 、單出口的模塊 圖形工具 層次圖和 HIPO圖 正文加工系統(tǒng) 輸入 輸出 編輯 加標(biāo)題 存儲(chǔ) 檢索 編目錄 格式化 添加 刪除 插入 修改 合并 列表 圖 正文加工系統(tǒng)的層次圖 正文加工系統(tǒng) 輸入 輸出 編輯 加標(biāo)題 存儲(chǔ) 檢索 編目錄 格式化 添加 刪除 插入 修改 合并 列表 圖 帶編號(hào)的層次圖( H圖) HIPO圖是: “ 層次圖+輸入 /處理 /輸出圖 ” 結(jié)構(gòu)圖 產(chǎn)生最佳解 得到好輸入 計(jì)算最佳解 輸出結(jié)果 讀輸入 編輯輸入 結(jié)果格式化 顯示結(jié)果 圖 結(jié)構(gòu)圖的例子 —產(chǎn)生最佳解的一般結(jié)構(gòu) M A B 圖 判定為真時(shí)調(diào)用A, 為假時(shí)調(diào)用 B M A B C 圖 模塊 M循環(huán)調(diào)用模塊 A、 B、 C 面向數(shù)據(jù)流的設(shè)計(jì)方法 面向數(shù)據(jù)流設(shè)計(jì)( Data FlowOriented Design, DFOD) 是與數(shù)據(jù)流分析( DFA) 對(duì)應(yīng)的結(jié)構(gòu)化軟件設(shè)計(jì)技術(shù)。 正文加工 系統(tǒng) 輸入 輸出 編輯 加標(biāo)題 存儲(chǔ) 檢索 編目錄 格式化 添加 刪除 插入 修改 合并 列表 對(duì)扇出、扇入過大的改進(jìn): ( a) 對(duì)扇入過大的改進(jìn) ( b) 對(duì)扇出過大的改進(jìn) 4. 模塊的作用域應(yīng)該在控制域之內(nèi) M A G B C E D F 圖 模塊的作用域和控制域 作用域:受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合 。 如圖,模塊 A、 B、 C出現(xiàn)公共代碼段 W, 于是將 W獨(dú)立成一個(gè)模塊,而 W中這些語句并沒有任何聯(lián)系。 這種內(nèi)聚較差,增加了模塊之間的聯(lián)系,不易修改。 如圖 , 在 “ 緊急故障處理模塊 ” 中 , “ 關(guān)閉文件 ” 、“ 報(bào)警 ” 、 “ 保留現(xiàn)場(chǎng) ” 等任務(wù)都必須無中斷地同時(shí)處理 。 過程內(nèi)聚與順序內(nèi)聚的區(qū)別是: 順序內(nèi)聚中是數(shù)據(jù)流從一個(gè)處理單元流到另一個(gè)處理單元,而過程內(nèi)聚是控制流從一個(gè)動(dòng)作流向另一個(gè)動(dòng)作。 求一元二次方程根模塊 1. 輸入方程系數(shù) 2. 求解 3. 打印方程的解 順序內(nèi)聚示例 3) 通信內(nèi)聚 ( Communicatio
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1