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

正文內容

軟件制造工程程序設計(編輯修改稿)

2025-02-02 19:55 本頁面
 

【文章內容簡介】 一頁,要以不影響程序的清晰為前提。 模塊化設計的啟發(fā)式原則 ( 3)保持適當?shù)纳热牒蜕瘸? ? 一個模塊的扇入表示有多少個模塊直接調用它,一個模塊的扇出表該模塊控制的其它模塊的數(shù)量,深度表示軟件結構中控制的層數(shù)。 ? 經驗表明,一個設計得好的典型系統(tǒng)平均扇出通常是3或 4(扇出的上限通常是 5~9)。 模塊化設計的啟發(fā)式原則 ( 3)保持適當?shù)纳热牒蜕瘸? 扇出 扇入 深度 模塊化設計的啟發(fā)式原則 ( 4)模塊的作用范圍應在控制范圍之內 ? 一個模塊的 作用范圍(或稱影響范圍) 指受該模塊內一個判定影響的所有模塊的集合。 ? 一個模塊的 控制范圍 指模塊本身以及其所有下屬模塊(直接或間接從屬于它的模塊)的集合。 ? 一個模塊的 作用范圍應在其控制范圍之內 ,且 判定所在的模塊應在其影響的模塊在層次上盡量靠近 。 模塊化設計的啟發(fā)式原則 ( 5) 力爭降低模塊接口的復雜程度 ? 模塊接口復雜 是軟件發(fā)生錯誤的一個主要原因 , 應該 仔細設計 模塊接口 , 使得信息傳遞簡單并且和模塊的功能一致 。 ? 接口復雜或不一致 (即看起來傳遞的數(shù)據(jù)之間沒有聯(lián)系 )是低內聚的表現(xiàn) , 應該重新分析這個模塊的獨立性 。 模塊化設計的啟發(fā)式原則 ( 6)設計單入口單出口的模塊 ? 不要使模塊間出現(xiàn)內容耦合; ? 從頂部進入模塊并且從底部退出,軟件比較容易理解,因此也比較容易維護 。 模塊化設計的啟發(fā)式原則 模塊化設計的啟發(fā)式原則 ( 7)模塊功能應該可以預測 ? 如果將一個模塊看做黑盒子,就是說,只要 輸入的數(shù)據(jù)相同 就 產生同樣的輸出 ,這個模塊的功能就是 可以預測的 。 模塊化設計的啟發(fā)式原則 ( 7)模塊功能應該可以預測 ? 具有 內部狀態(tài)的模塊 ,其 輸出不僅與輸入有關 ,而且還取決于模塊的當前狀態(tài) ,其 功能是不可預測 的,這就增加了模塊的測試和維護難度,這條原則不是絕對的,如對于實時系統(tǒng)來說,針對不定時的輸入,系統(tǒng)狀態(tài)要不斷發(fā)生變化,這種變化又直接影響下一個輸入引起的輸出。對于這種不可避免的情況,要引起充分注意,要將相應模塊做特殊處理。無論測試還是維護都把模塊狀態(tài)作為一個重要影響因素來考慮 int count(int s) { int sum = 0。 for(int i=1。 i=s。 i++) { sum += i。 } return sum。 } 此模塊功能可以預測嗎? Y int count(int s) { static int sum = 0。 for(int i=1。 i=s。 i++) { sum += i。 } return sum。 } 此模塊功能可以預測嗎? N ? 結構化設計的 基本思想 是把需求和求解的方法分離,把相關信息(數(shù)據(jù)結構和算法)集中在一個模塊中,和其它模塊隔離,外界不能隨便訪問這個模塊的內部信息,在這種模式中,程序設計的首要任務是劃分模塊,數(shù)據(jù)則隱蔽在模塊中。 程序設計方法 _結構化方法 程序設計方法 _結構化方法 ? 結構化程序設計的內容 ? 使用三種控制結構,有效地 限制使用 goto語句 ? 自頂向下, 逐步求精的設計方法 程序設計方法 _結構化方法 f g c f g c f (c) (a) (b) I=? f1 f2 f3 fn 1 2 3 n (d) f c T (e) ? 逐步細化的例子 例 1 在一組數(shù)中找出其中的最大數(shù) 解: 第一步 : 1 輸入一組數(shù) 2 找出一個最大數(shù) 3 輸出最大數(shù) 第二步 : 任取一個數(shù),假設它是最大數(shù) 將該數(shù)與其余各數(shù)逐一比較; 若發(fā)現(xiàn)有任何大于該一假設的最大數(shù),即取而代之 第三步 : 輸入一個數(shù)組; 令“最大數(shù)” =數(shù)組的第一個元素; 從第二個元素至最末的一個元素依次做: 如果新元素 ”最大數(shù)” 則 “最大數(shù)” =新元素; 輸出“最大數(shù)” 自頂向下 , 逐步求精方法的優(yōu)點 ? 符合人們解決復雜問題的普遍規(guī)律??商岣哕浖_發(fā)的成功率和生產率 ? 用先全局后局部,先整體后細節(jié),先抽象后具體的逐步求精的過程開發(fā)出來的程序具有清晰的層次結構,程序容易閱讀和理解 ? 每一步工作僅在上層節(jié)點的基礎上做不多的設計擴展,便于檢查,驗證程序正確性。 結構化程序設計工具 ? 流程圖 ? 盒圖 (NS圖 ) ? 問題分析圖 ( PAD圖) ? HIPO圖 ? 判定表 ? 判定樹 ? 過程設計語言 (PDL) 程序設計方法 _ 結構化工具 ? 流程圖 ?處理用四方形圖表示 ?條件判斷用菱形圖表示 ?用連接線把這些圖形連接起來表示處理的流程 程序流程圖使用 五種基本控制結構 ? 例 2 例 1(在一組數(shù)中找出其中的最大數(shù) )的流程圖 MAX=A(1) J = 2 J = N? MAX A(J) MAX = A(J) J = J +1 F F T 入口 出口 程序設計方法 _結構化工具 ? 盒圖 (NS圖 ) 盒圖是 Nassi和 Shneiderman提出來的,又稱 NS圖,沒有箭頭,不允許隨意轉移。 ? 在 NS圖中,每個“ 處理步驟 ”是 用一個盒子 表示的,所謂“處理步驟”可以是 語句或語句序列 。 ? 需要時,盒子中還可以 嵌套 另一個盒子,嵌套深度一般沒有限制,只要整張圖在一頁紙上能容納得下, 由于只能從上邊進入盒子然后從下邊走出,除此之外沒有其他的入口和出口,所以, NS圖限制了隨意的控制轉移, 保證了程序的良好結構。 ? 盒圖( NS圖) 五種基本控制結構由五種圖形構件表示。 ? 例 3 例 1的 NS圖 MAX=A(1) FOR J=2 TO N MAX A(J) T F MAX = A(J) 程序設計方法 _結構化工具 ? PAD圖 PAD圖是日本日立公司于 1973年發(fā)明的,指 問題分析圖 (Problem Analysis Diagram),它是一種 自左往右展開的二維樹型結構 。 控制流程為自上而下、從左到右的執(zhí)行。 由 機器自動通過走樹的 辦法生成相應的源代碼,大大提高了軟件的生產率。 ? PAD也設置了五種基本控制結構的圖式,并允許遞歸使用。 程序設計方法 _ 結構化工具 程序設計方法 _結構化工具 ? 例 :1 求 A、 B、 C三個數(shù)中的最大值。 程序設計方法 _結構化工具 ? 例 : 2 猴子吃桃問題:有一堆桃子不知數(shù)目,猴子第一天吃掉一半,覺得不過癮,又多吃了一只,第二天照此辦理,吃掉剩下桃子的一半另加一個,天天如此,到第十天早上,猴子發(fā)現(xiàn)只剩一只桃子了,問這堆桃子原來有多少個? 程序設計方法 _結構化工具 ? 例 : 2 程序設計方法 _ 結構化工具 ? HIPO圖(層次圖加輸入 /處理 /輸出圖 ) HIPO圖由下面三部分組成: ? H(分層)圖。即以方框形式表示程序的主要功能、次要功能及其與模塊間的關系。 ? 總覽 IPO (InputProcessOutput)圖。為 H圖提供輸入變量表、處理功能表和輸出變量表。 ? 詳細 IPO圖。為底層模塊提供輸入變量表、處理功能表和輸出變量表。 程序設計方法 _ 結構化工具 ? HIPO圖(層次圖加輸入 /處理 /輸出圖 ) HIPO圖是一種圖解式設計工具。在概要設計、詳細設計、程序設計、測試和維護的不同階段,都可以使用HIPO圖對設計進行描述 例 學生成績管理系統(tǒng)的 H圖 學生成績管理系統(tǒng) 1 學生基本 成績登錄 2 學生平均 成績計算 3 班級平均 成績計算 4 學生成績表生成 處理 輸入處理 刪除 程序設計方法 _結構化工具 班級號、學號 學生姓名 語、數(shù)、外 成績 輸入 顯示處理 DB存在檢查 處理 輸出 D
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1