《《總體設(shè)計》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《總體設(shè)計》PPT課件.ppt(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 1 第四章 總體設(shè)計 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 2 目標:系統(tǒng)應(yīng)如何實現(xiàn) 劃分出組成系統(tǒng)的物理元素:程序、文件、數(shù)據(jù)庫、文檔 等 設(shè)計軟件的結(jié)構(gòu) 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 3 4.1 設(shè)計過程 系統(tǒng)設(shè)計階段 確定系統(tǒng)的具體方案 結(jié)構(gòu)設(shè)計階段 確定軟件結(jié)構(gòu) 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與
2、工程學(xué)院 魏東 Slide 4 4.1 設(shè)計過程 設(shè)想供選擇的方案 設(shè)想數(shù)據(jù)流圖中處理分組的各種可能,并拋棄技術(shù)上不行的 選取合理的方案 推薦最佳方案 推薦并指定詳細計劃 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 5 4.1 設(shè)計過程 功能分解 從可實現(xiàn)的角度把復(fù)雜的功能進一步分解 是數(shù)據(jù)流圖的進一步細化 設(shè)計軟件結(jié)構(gòu) 注意典型的體系結(jié)構(gòu) 組織模塊成良好的層次關(guān)系 設(shè)計數(shù)據(jù)庫 確定測試計劃 編寫設(shè)計文檔 內(nèi)容說明、用戶手冊、測試計劃、詳細的實現(xiàn)計劃、數(shù)據(jù)庫設(shè) 計說明 審查和復(fù)查 軟件工程 (Software Engineering
3、) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 6 4.1 設(shè)計過程 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 7 4.2 設(shè)計原理 模塊化 模塊:由邊界元素限定的相鄰程序元素的序列,有一個總體標識符 獨立命名的、可尋址的構(gòu)件 抽象:抽出事物的本質(zhì)特性而暫時不考慮它們的細節(jié) 求精: 細化的過程 信息隱藏 某個模塊中包含的信息不被不需要這些信息的其他模塊訪問。 軟件體系結(jié)構(gòu) 軟件的整體結(jié)構(gòu)和這種結(jié)構(gòu)為系統(tǒng)提供概念上完整性的方式 是程序構(gòu)件的結(jié)構(gòu)或組織,這些構(gòu)件交互的形式以及這些構(gòu)件所有數(shù)據(jù)的結(jié) 構(gòu) 軟件工程 (Software
4、 Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 8 4.2 設(shè)計原理 模塊獨立 模塊化、抽象、信息隱藏和局部化的結(jié)構(gòu) 耦合 軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量 數(shù)據(jù)耦合:如果兩個模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù) 控制耦合:如果兩個模塊彼此間通過參數(shù)交換信息,且傳遞的信息中有控制信息 特征耦合:模塊只需要傳遞的參數(shù)中的部分數(shù)據(jù) 公共耦合:兩個或以上的模塊通過一個公共數(shù)據(jù)環(huán)境相互作用 內(nèi)容耦合: ( 1)一個模塊訪問另一個模塊的內(nèi)部數(shù)據(jù) ( 2)一個模塊不通過正常入口二轉(zhuǎn)道另一個模 塊的內(nèi)部 ( 3)兩個模塊有一部分程序代碼重疊 ( 4)一個模塊
5、有多個入口 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 9 4.2 設(shè)計原理 內(nèi)聚標志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度 ,它是信息隱蔽和局部化概念的自然擴展。簡單地 說,理想內(nèi)聚的模塊只做一件事情 低內(nèi)聚有:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚 中內(nèi)聚有:過程內(nèi)聚、通信內(nèi)聚 高內(nèi)聚有:順序內(nèi)聚、功能內(nèi)聚 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 10 4.2 設(shè)計原理 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide
6、11 4.3 啟發(fā)規(guī)則 改進軟件結(jié)構(gòu)提高模塊獨立性 模塊規(guī)模適中 深度、寬度、扇出、扇入應(yīng)適中 模塊的作用域應(yīng)在控制域之內(nèi) 降低模塊接口的復(fù)雜程度 設(shè)計單入口單出口模塊 模塊功能應(yīng)可以預(yù)測 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 12 4.4 描述軟件結(jié)構(gòu)的工具 層次圖和 HIPO圖( P96) 結(jié)構(gòu)圖( P97) 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 13 4.5 變換流與事物流 變換流 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息
7、科學(xué)與工程學(xué)院 魏東 Slide 14 4.5 變換流與事物流 事物流 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 15 4.5 變換流與事物流 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 16 4.5 變換流與事物流 變換分析 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 17 4.5 變換流與事物流 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 18
8、 4.5 變換流與事物流 事物分析 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 19 4.6 舉例 客 戶 1 選 擇 航 班 日 期 和 機 場 日 期 和 機 場 日 期 和 機 場 代 碼 2 顯 示 可 用 航 班 D 1 航 班 可 用 航 班 屏 幕 D 2 航 班 詳 情 可 用 航 班 詳 情 航 空 公 司 3 選 擇 航 班 可 用 航 班 詳 情 4 選 擇 可 用 的 座 位 所 選 的 航 班 和 座 位 信 息 客 戶 航 班 屏 幕 航 班 價 格 和 可 用 性 5 預(yù) 定 航 班 作 為 選 擇 所
9、 選 的 航 班 客 戶 信 息 信 用 拒 絕 6 用 客 戶 信 用 卡 支 付 信 用 卡 信 息信 用 確 認 信 用 卡 系 統(tǒng) 信 用 卡 信 息 信 用 確 認 7 更 新 航 空 公 司 航 班 信 息 航 班 信 息 航 空 公 司 機 票 購 買 D 3 客 戶 主 文 件 D 4 航 班 預(yù) 定 客 戶 信 息 航 班 信 息 8 產(chǎn) 生 電 子 機 票 航 班 信 息 電 子 機 票 電 子 郵 件 確 認 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 20 4.6 舉例 某時裝郵購供應(yīng)商??蛻敉ㄟ^電話、傳真和
10、郵寄一個包含 每種商品目錄的定貨單,或通過 WEB站點下定單 把新客戶添加到客戶文件。把客戶文件添加到主文件中時 ,為他們分配一個客戶編號,在下一次定貨時使用。 執(zhí)行查詢,讓客戶知道某個商品當前的銷售價格和可供銷 售的數(shù)量 處理客戶定單。驗證所有定單的信息都是正確的,并且定 貨的客戶都有一個記錄,如果客戶記錄不存在,則把他加 入主文件。輸入定單時,更新客戶和商品主記錄字段 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 21 4.6 舉例 如果客戶訂購的商品數(shù)量大于庫存,則把已訂購的商品信 息發(fā)給庫存控制部門,從供應(yīng)商處接收到訂購的商品
11、時, 發(fā)給客戶 定單發(fā)給倉庫,那里供應(yīng)訂購的商品 發(fā)貨單附加到已填寫的定單上,準備郵件標簽,并把定單 發(fā)給客戶 定單信息用來產(chǎn)生所有客戶的計帳表單,把購貨金額計到 他們在公司的帳戶上 定貨信息用來為財務(wù)部門產(chǎn)生一個應(yīng)收帳戶報表 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 22 4.6 舉例 客 戶 會 計 部 門 0 訂 單 處 理 系 統(tǒng) 庫 存 控 制 部 門 客 戶 倉 庫 客 戶 訂 單 應(yīng) 收 帳 戶 信 息 新 客 戶 信 息 備 訂 的 商 品 已 發(fā) 貨 的 訂 單 客 戶 計 帳 表 單 商 品 信 息 訂 單 挑
12、 選 列 表 訂 購 貨 物 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 23 4.6 舉例 客 戶 會 計 部 門 庫 存 控 制 部 門 客 戶 倉 庫 D 2 商 品 主 文 件 1 增 加 客 戶 訂 單 商 品 記 錄 備 訂 的 商 品 客 戶 訂 單 2 增 加 客 戶 記 錄 新 客 戶 信 息 D 1 客 戶 族 文 件客 戶 記 錄 3 產(chǎn) 生 選 擇 卡 片 未 完 成 的 訂 單 4 準 備 發(fā) 貨 通 知 單 未 完 成 的 訂 單 訂 單 選 擇 列 表 5 發(fā) 送 客 戶 訂 購 的 貨 物 訂 購 貨
13、 物 客 戶 發(fā) 貨 通 知 單 7 產(chǎn) 生 應(yīng) 收 帳 戶 6 創(chuàng) 建 客 戶 表 單 D 1 客 戶 族 文 件 客 戶 名 和 地 址 客 戶 記 錄 發(fā) 送 訂 購 的 貨 物 客 戶 計 帳 表 單 客 戶 記 錄 客 戶 記 錄 應(yīng) 收 帳 戶 報 表 未 完 成 的 記 錄 未 完 成 的 記 錄 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 24 4.6 舉例 客 戶 會 計 部 門 庫 存 控 制 部 門 客 戶 倉 庫 D 2 商 品 主 文 件 1 增 加 客 戶 訂 單 商 品 記 錄 備 訂 的 商 品 客
14、戶 訂 單 2 增 加 客 戶 記 錄 新 客 戶 信 息 D 1 客 戶 族 文 件客 戶 記 錄 3 產(chǎn) 生 選 擇 卡 片 未 完 成 的 訂 單 4 準 備 發(fā) 貨 通 知 單 未 完 成 的 訂 單 訂 單 選 擇 列 表 5 發(fā) 送 客 戶 訂 購 的 貨 物 訂 購 貨 物 客 戶 發(fā) 貨 通 知 單 7 產(chǎn) 生 應(yīng) 收 帳 戶 6 創(chuàng) 建 客 戶 表 單 D 1 客 戶 族 文 件 客 戶 名 和 地 址 客 戶 記 錄 發(fā) 送 訂 購 的 貨 物 客 戶 計 帳 表 單 客 戶 記 錄 客 戶 記 錄 應(yīng) 收 帳 戶 報 表 未 完 成 的 記 錄 未 完 成 的 記 錄 軟
15、件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 25 Example 開發(fā)一個學(xué)生成績管理系統(tǒng) 學(xué)生可以隨時查詢自己的成績單 教務(wù)人員可以通過該系統(tǒng)維護學(xué)生信息、課程信息和 成績信息 系統(tǒng)必須提供必要的安全措施以防非法存取 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 26 Structured Analysis Process (1) 數(shù)據(jù)建模 實體:學(xué)生、課程、成績 屬性: 學(xué)生: 學(xué)號、姓名、性別、出生日期、入學(xué)年月 課程:課程編號、課程名稱、課程學(xué)分、課程描述 成績:學(xué)號
16、、課程編號、分數(shù)、考核日期 ERD 學(xué)生 成績 課程選課 M N 1 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 27 Structured Analysis Process (2) 功能建模 第 0層 DFD 教務(wù)人員維護學(xué)生信息和課程信息 , 并登錄學(xué)生的選課成績; 學(xué)生查詢自己的成績單 。 教務(wù)人員 0 學(xué)生 成績管理 學(xué)生 查詢請求 查詢結(jié)果 學(xué)生信息 課程信息 成績 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 28 Structured Analysis Pro
17、cess (3) 第 1層 DFD 對第 0層 DFD圖中的一個加工 “ 學(xué)生成績管理 ” 進行展開。 教務(wù)人員 1 錄入 學(xué)生信息 學(xué)生 2 錄入 課程信息 課程 3 登記 學(xué)生成績 成績 4 查詢 學(xué)生成績 學(xué)生 查詢請 求 查詢結(jié)果 學(xué)生信息 課程信息 成績 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 29 Structured Analysis Process (4) 第 2層 DFD 對第 1層 DFD圖中的一個加工 “ 查詢學(xué)生成績 ” 進行展開。 學(xué)生 4.1 合法性 檢查 4.2 查詢成績 查詢 請求 查詢條件 學(xué)生
18、 課程 成績 查詢結(jié)果 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 30 Structured Analysis Process (6) 編寫數(shù)據(jù)字典 學(xué)生 數(shù)據(jù)項名: 學(xué)生 描述: 包括學(xué)生的主要信息 別名: 無 定義: 學(xué)號 + 姓名 + 性別 + 出生日期 + 入學(xué)年月 數(shù)據(jù)量: 10000 左右 峰值: 隨時,經(jīng)常在新生入學(xué)時期 其他說明: 在系統(tǒng)功能擴充時可能增加定義項 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 31 Structured Analysis P
19、rocess (7) 學(xué)號 數(shù)據(jù)項名: 學(xué)號 描述: 唯一標識學(xué)生的編號 別名: 無 類型: 字符串 長度: 6 位字符 其他說明: 學(xué)號不能重復(fù) 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 32 Structured Analysis Process (8) 學(xué)生成績查詢 數(shù)據(jù)流名: 學(xué)生成績查詢 描述: 系統(tǒng)處理的一個命令 別名: 無 頻率: 10000 次左右 峰值: 隨時,經(jīng)常在學(xué)期開學(xué) 其他說明: 在系統(tǒng)功能擴充時可能增加種類 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 S
20、lide 33 Structured Analysis Process (9) 行為建模 學(xué)生成績信息需要采取安全措施,可以采取登錄方法避免非法使用系統(tǒng)。這樣 ,該系統(tǒng)存在 “ 登錄 ” 、 “ 正常 ” 和 “ 出錯 ” 等狀態(tài)的轉(zhuǎn)換。 正常 成功 出錯處理 失敗 處理完畢 登錄 退出 取消 退出 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 34 劃分 建立體系結(jié)構(gòu) 軟件工程 (Software Engineering) 沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院 魏東 Slide 35 車輛跟蹤系統(tǒng)分析 車輛附加 GPS/GPRS終端 接收系統(tǒng)接收 GPRS通信信息 解讀 GPS位置信息,車輛運行信息 系統(tǒng)保存歷史數(shù)據(jù) 在電子地圖上顯示車輛運行位置 可以查詢車輛相關(guān)信息 可以查詢車輛運行歷史數(shù)據(jù)