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

正文內(nèi)容

提出的問題(編輯修改稿)

2024-11-22 15:43 本頁面
 

【文章內(nèi)容簡介】 有效的解決方法的創(chuàng)造性過程 。 有許多 設計方法 沒有一樣是能很好地解決所有問題的 選擇最好的方法可能因人而異 什么是軟件設計? 下一頁 上一頁 停止放映 第 45/164 頁 設計過程是設計師把實用知識映射到計算知識。 設計是一個影射 ? 功能 ? 用戶操作 ? 約束 ? 例外 ? 器件 ? 組織 ? 結構 ? 算法 ? 資源 ? 數(shù)據(jù) 實用知識 計算知識 下一頁 上一頁 停止放映 “一個設計者能對著復雜的設計沉思幾個月 。 然后突然間冒出簡單 、 雅致而又漂亮的解決辦法 。 當這發(fā)生在你身上時 , 感覺好像是上帝正在說話 !也許真的是這樣 。 ” Leo Frankowski in The CrossTime Engineer 關于設計的論述一 下一頁 上一頁 停止放映 “好的設計者應具備深厚的應用領域知識 。 ” Curtis’ law 關于設計的論述二 下一頁 上一頁 停止放映 第 48/164 頁 軟件設計概述 ? 目標和任務 – 任務 依據(jù)分析結果 , 明確系統(tǒng) “ 如何做 ? ” , 建立實現(xiàn)方案 。 – 目標 提高軟件系統(tǒng)的: ?可維護性 可擴充 、 可修改 ?可理解性 對軟件人員要易讀易理解;對用戶要易使用 、 易維護 ?可靠性 包括正確性和健壯性 下一頁 上一頁 停止放映 第 49/164 頁 設計方法和步驟 ? 概要設計 定義系統(tǒng)的邏輯結構 , 包括:系統(tǒng)的模塊劃分 、 建立模塊的層次結構 、 邏輯關系 、 設計全局 DS及 DB; ? 詳細設計 根據(jù)每個模塊的功能描述 , 設計模塊內(nèi)部的實現(xiàn)算法 、 模塊所需要的局部數(shù)據(jù)結構 。 下一頁 上一頁 停止放映 第 50/164 頁 設計方法: ? 概要設計方法 早期:模塊化方法 、 功能分解法; 典型:面向數(shù)據(jù)流 、 面向數(shù)據(jù)結構設計方法 面向數(shù)據(jù)結構方法 Jackson(JSD) 近期:面向對象 ( OO) 的設計方法 ? 詳細設計方法 主要是結構化程序設計方法 ? 詳細設計的表示工具 圖形工具 : 程序流程圖 、 程序分析圖和 NS圖 語言工具 : 偽碼和程序設計語言 ( PDL) 下一頁 上一頁 停止放映 第 51/164 頁 文檔資料 ? 設計階段要交付的文檔是設計說明書 。 ? 內(nèi)容包括: – 概述 描述設計工作總范圍;系統(tǒng)目標 、 功能等; – 系統(tǒng)結構 包括:系統(tǒng)模塊劃分 、 每個模塊的功能簡介 、 各個模塊之間的邏輯關系; – DS及 DB設計 用圖表把設計結果描述出來; – 接口設計 包括:人機界面設計 、 軟硬件之間的接口設計 、 系統(tǒng)與外界以及與支持軟件之間的接口關系; – 模塊設計 根據(jù)模塊功能 , 用相應的工具描述每個模塊的流程 , 以及每個模塊用到的數(shù)據(jù)結構 。 下一頁 上一頁 停止放映 第 52/164 頁 軟件設計原則 軟件設計的重要性表現(xiàn)在軟件的質量 。 如何設計才能保證質量 ? 一般原則: 1) 分層次 。 便于對各個構件進行控制 。 2) 模塊化 。 應形成具有獨立功能特征的模塊 。 3) 表達式 。 應有性質不同 、 可區(qū)分的數(shù)據(jù)和過程描述 。 4) 接口簡單 。 應使模塊間和與外部環(huán)境間接口的復雜性盡量地減小 。 5) 可重用性 。 應利用軟件需求分析中的信息和可重復的方法 。 下一頁 上一頁 停止放映 “每一個模塊的特征表現(xiàn)在:它隱藏于其它的設計知識中 。 它的界面選擇應該盡量少地暴露內(nèi)部的工作 。 ” D. L. Parnas 什么是好的設計 ? 下一頁 上一頁 停止放映 第 54/164 頁 軟件設計準則 ?如何度量軟件設計的標準 ?…… ?不分模塊的程序是無法理解 、 管理和維護的 。 一般程序設計者都自覺或不自覺地將程序劃分為模塊 。 ?但有這樣一個實際問題 , 一個系統(tǒng)到底劃分為多少個模塊好呢 ? 如何度量模塊化的程度呢 ? 下一頁 上一頁 停止放映 第 55/164 頁 經(jīng)典設計準則 – 軟件結構準則 – 模塊化準則 – 模塊獨立性準則 – 模塊的偶合性 – 模塊的內(nèi)聚性 下一頁 上一頁 停止放映 第 56/164 頁 軟件結構準則 好的軟件結構應具有倒置水缸形,在頂部有較高的 扇出數(shù) (一個模塊直接下屬的子模塊數(shù)),在底部有較高的 扇入數(shù)(模塊的直接上屬模塊的個數(shù))。 ? 扇出數(shù)適當 扇出數(shù)大意味著控制復雜,扇出數(shù)小,軟件結構的層次深,浪費CPU時間。經(jīng)驗表明,好的軟件結構的扇出數(shù)是 3~ 4,上限是 5~ 9。 ? 扇入數(shù)越大,則表示共享該模塊的上級模塊數(shù)越多,可重用性越好。 示意圖 下一頁 上一頁 停止放映 第 57/164 頁 結構形態(tài)準則示意圖 深度 寬度 扇出 扇入 下一頁 上一頁 停止放映 第 58/164 頁 軟件結構準則 (續(xù) ) 判斷的影響范圍應該是控制范圍的一個子集。 – 影響范圍 指在一個模塊中有一個判別條件,所有受該判別條件影響的模塊的集合稱為影響范圍; – 控制范圍 指一個模塊本身及所有下屬模塊構成的集合。 B模塊的 控制范圍 是 B、D、 E、 F、 G、 H; 假設 E中有一個判別條件,受其影響的模塊有 F、G、 H,則 E的 影響范圍 是 F、G、 H。 M E A B C D F G H 下一頁 上一頁 停止放映 第 59/164 頁 模塊化準則 ? 設 C(X) 是關于問題 X的復雜性 , E(X) 是完成問題 X的工作量 , 有兩個問題 P1和 P2: 若 C(P1) C(P2) , (即 P1比 P2復雜 ) E(P1) E(P2), (即 P1比 P2用的工作量多 ) 而 C(P1+P2) C(P1) + C(P2), (即 組合問題比單個問題復雜 ) 則 E(P1+P2) E(P1) + E(P2) (組合問題的工作量大于單個問題的工作量之和 ) ? 這說明 : 軟件分解為若個模塊后 ,則總的工作量減少 , 但分解到一定程度后 , 模塊之間的接口工作量就上升 , 從而使總的代價上升 。 下一頁 上一頁 停止放映 第 60/164 頁 模塊化準則示意圖 代價 模塊數(shù) 模塊代價 接口代價 總代價 M 下一頁 上一頁 停止放映 第 61/164 頁 模塊化準則討論 ? 軟件系統(tǒng)模塊化數(shù)目存在一個最佳值 M。 ? 根據(jù)心理學研究表明 , 一個模塊的語句數(shù)量以30~50句為易 。 ? 模塊太大 , 難于閱讀和理解;編程和測試的效率也不高 。 ? 模塊太小 , 又會使系統(tǒng)過于零碎 , 接口的工作量增加 。 下一頁 上一頁 停止放映 第 62/164 頁 模塊獨立性準則 ? 模塊獨立性是指開發(fā)具有功能專一、模塊之間無過多相互作用的模塊。具有獨立性的模塊, 開發(fā)容易 、 能減少錯誤的傳播 ,宜于模塊重組、分解 , 容易調試和維護 。 ? 度量模塊的獨立性標準: – 內(nèi)聚性 模塊內(nèi)部各部分之間聯(lián)系緊密程度的度量; – 藕合性 模塊之間聯(lián)系緊密程度的度量。 ? 顯然,獨立性強的模塊,藕合性越小越好,內(nèi)聚性越大越好。 下一頁 上一頁 停止放映 第 63/164 頁 模塊的藕合性及其分類 無直接藕合 模塊之間無調用關系 數(shù)據(jù)藕合 通過參數(shù)調用在模塊間傳遞簡單數(shù)據(jù) 。 傳遞參數(shù)可以是加工的數(shù)據(jù)或控制用數(shù)據(jù) 標記藕合 通過參數(shù)傳遞一種數(shù)據(jù)結構值 。 控制藕合 通過參數(shù)傳遞邏輯變量,起控制作用 外部藕合 指模塊受軟件的外部環(huán)境的約束 。 內(nèi)容藕合 指一個模塊使用另一個模塊內(nèi)的數(shù)據(jù)或控 制信息;或直接轉移到另一個模塊內(nèi)部 。 公用藕合 幾個模塊公用一個全程數(shù)據(jù)區(qū);這種問題就比較復雜 。 如果是動態(tài)并發(fā)程序 , 情況就更復雜了 。不光是模塊間數(shù)據(jù)引用的沖突問題 , 還有時間差數(shù)據(jù)變更問題 。 低 藕 合 中藕合 高 藕 合 下一頁 上一頁 停止放映 第 64/164 頁 一個模塊直接調用另一個的內(nèi)部代碼。這樣就變成了分支關系,而不是調用關系 例如 ,模塊 A修改了模塊 B的一個語句; 模塊 B的任何變化會導致模塊 A也發(fā)生變化; 很大的依賴性 — 最差
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1