《《軟件工程案例》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《軟件工程案例》PPT課件(59頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、案例分析 案例 1:倉庫信息管理系統(tǒng) 一、 需求分析 二、系統(tǒng)用例模型 三、系統(tǒng)動態(tài)模型 四、創(chuàng)建 系統(tǒng)包圖 五、系統(tǒng)類模型 六、系統(tǒng)部署 系統(tǒng)總體功能需求 一個(gè)功能完全的倉庫信息管理系統(tǒng),必須包括以下的幾個(gè)管 理系統(tǒng): ( 1)用戶登錄 ( 2)倉庫管理 ( 3)業(yè)務(wù)查詢 ( 4)系統(tǒng)設(shè)置 一、 需求分析 系統(tǒng)總體結(jié)構(gòu)圖 倉庫信息系統(tǒng) 用 戶 登 錄 倉 庫 管 理 系 統(tǒng) 設(shè) 置 業(yè) 務(wù) 查 詢 用戶登錄功能模塊 用戶登錄 用 戶 登 錄 用 戶 注 銷 用 戶 退 出 倉庫管理功能模塊 倉庫管理 倉 庫 退 貨 倉 庫 領(lǐng) 料 商 品 調(diào) 撥 倉 庫 退 料 倉 庫 進(jìn) 貨 倉 庫 盤
2、點(diǎn) 系統(tǒng)設(shè)置功能模塊 二、 系統(tǒng)用例模型 創(chuàng)建用例圖分為以下幾個(gè)步驟: 確定角色 創(chuàng)建用例 創(chuàng)建角色 用例關(guān)系圖 1、確定角色 2、 創(chuàng)建用例 倉庫信息系統(tǒng)根據(jù)業(yè)務(wù)流程可以分為以下的幾個(gè)用例 ( Use Cases) : 倉庫進(jìn)貨 倉庫退貨 倉庫領(lǐng)料 倉庫退料 商品調(diào)撥 倉庫盤點(diǎn) 庫存查詢 業(yè)務(wù)分析 倉庫歷史記錄查詢 供應(yīng)商信息維護(hù) 倉庫信息維護(hù) 用戶登錄 用戶注銷 退出系統(tǒng) 建立用例 圖 3、創(chuàng)建 角色 用例 關(guān)系圖 歷史記錄查詢 ( f r o m U s e C a s e s ) 庫存查詢 ( f r o m U s e C a s e s ) 倉庫信息維護(hù) ( f r o m U s
3、 e C a s e s ) 業(yè)務(wù)分析 ( f r o m U s e C a s e s ) 用戶登錄 ( f r o m U s e C a s e s ) 倉庫盤點(diǎn) ( f r o m U s e C a s e s ) 退出系統(tǒng) ( f r o m U s e C a s e s ) 供應(yīng)商信息維護(hù) ( f r o m U s e C a s e s ) 商品退料人 ( f r o m A c t o r s ) 商品領(lǐng)料人 ( f r o m A c t o r s ) 倉庫退料 ( f r o m U s e C a s e s ) 倉庫領(lǐng)料 ( f r o m U s e C a
4、 s e s ) 商品調(diào)撥 ( f r o m U s e C a s e s ) 用戶注銷 ( f r o m U s e C a s e s ) 倉庫退貨 ( f r o m U s e C a s e s ) 管理員 ( f r o m A c t o r s ) 操作員 ( f r o m A c t o r s ) 倉庫進(jìn)貨 ( f r o m U s e C a s e s ) 商品供應(yīng)商 ( f r o m A c t o r s ) 三、 系統(tǒng)動態(tài)模型 動態(tài)模型包括許多圖:活動圖 ( Activity) 、 時(shí) 序 圖 ( Sequence) 、 協(xié) 作 圖 ( Collabo
5、ration) 等 。 業(yè)務(wù)用例能夠采用語言描述的形式,但是 對于復(fù)雜的業(yè)務(wù)處理流程 ,最好采用活動 圖的形式。 進(jìn)貨的 活動圖 倉庫盤點(diǎn)過程時(shí)序圖 倉庫盤點(diǎn)過程協(xié)作圖 四、 創(chuàng)建系統(tǒng)包圖 包是模型的一部分 , 模型的每一部分必須屬于 某個(gè)包 。 建模者可以將模型的內(nèi)容分配到包中 。 UML對如何組包并不強(qiáng)制使用什么規(guī)則 , 但 是良好的分組會很大的增強(qiáng)模型的可維護(hù)性 。 系統(tǒng)包圖 人員信息包內(nèi)的類 事務(wù)包內(nèi)的類 五、 系統(tǒng)類模型 類圖是面向?qū)ο笙到y(tǒng)的建模中最常見的圖 。 類圖顯示了一組類 、 接口 、 協(xié)作以及他們之間 的關(guān)系 。 類圖不僅對結(jié)構(gòu)模型的可視化 、 詳述和文檔 化很重要 , 而
6、且對通過正向與逆向工程構(gòu)造可 執(zhí)行的系統(tǒng)也很重要 。 Logical視圖 類圖 六、 系統(tǒng)部署 倉庫管理系統(tǒng)部署是整個(gè)項(xiàng)目實(shí)施過程中最后 的階段 , 就是把該系統(tǒng)中涉及到的硬件軟件 、 整合到一起 , 并且可以讓系統(tǒng)運(yùn)行起來 。 組件圖 配置 圖 案例 2: ATM系統(tǒng) 建立一個(gè)具有基本功能的 ATM機(jī)軟件 客戶可以存錢,取錢 客戶可以查詢節(jié)余 客戶可以修改密碼 客戶可以使用信用卡付帳 需求建模 用例圖 需求分析的第一步是確定系統(tǒng)能夠做什 么?誰來使用這個(gè)系統(tǒng)? 用例圖顯示用例(表示系統(tǒng)功能)與角 色(表示提供或者接收系統(tǒng)信息的人或 系統(tǒng))之間的交互。 用戶,項(xiàng)目管理員,分析人員,開發(fā)人 員,
7、質(zhì)保人員都可以通過用例圖了解系 統(tǒng)功能。 需求建模 用例圖 建立用例圖分為以下幾個(gè)步驟: 確定角色 ( Actors) 創(chuàng)建用例 ( Use Case) 創(chuàng)建角色 ( Use Cases) 用例 ( Use Case) 關(guān)系圖 角色 系統(tǒng)用戶 與本系統(tǒng)交互的其他系統(tǒng) 時(shí)間 確定角色 (Actor) 用例 描述一個(gè)系統(tǒng)(或一個(gè)子系統(tǒng))做什么, 而不是說明怎么做 . 創(chuàng)建用例( Use Case) 用例是角色啟動的 , 基于這樣的考慮 , ATM系 統(tǒng)根據(jù)業(yè)務(wù)流程大致可以分為以下的幾個(gè)用例: 客戶取錢 客戶存錢 客戶查詢余額 客戶轉(zhuǎn)帳 客戶更改密碼 客戶通過信用系統(tǒng)付款 建立用例 圖 創(chuàng)建角色 用
8、例關(guān)系圖 客戶的 角色 用例 關(guān)系圖 一共有 6個(gè)用例: 轉(zhuǎn)賬 查詢余額 存錢 付款 取錢 修改密碼 客戶的 用例 關(guān)系圖 建立事件流 事件流的目的是建檔使用案例中的邏輯 流程,詳細(xì)描述系統(tǒng)的工作。 用例 “ 取錢 ” 的事件流 ( 1) 簡要說明: 客戶可以從 ATM機(jī)上取出自 己帳目上的部分或者全部存款 。 前提條件:無 主事件流: 1. 客戶將卡插入 ATM機(jī) , 開始用例 。 2. ATM顯示歡迎消息并提示客戶輸入密碼 。 3. 客戶輸入密碼 。 4. ATM確認(rèn)密碼有效 。 如果無效則執(zhí)行其他事件流 A1。 如果 與主機(jī)聯(lián)接有問題 , 則執(zhí)行異常事件流 E1。 5. ATM提供以下選
9、項(xiàng):存錢 , 取錢 , 查詢 。 6. 用戶選擇取錢選項(xiàng) 。 7. ATM提示輸入所取金額 。 8. 用戶輸入所取金額 。 9. ATM確定該帳戶是否有足夠的金額 。 如果余額不夠 , 則執(zhí) 行 A2, 如果與主機(jī)聯(lián)接有問題 , 則執(zhí)行異常事件流 E1。 10.ATM從客戶帳戶中減去所取金額 。 11.ATM向客戶提供要取的錢 。 12.ATM打印清單 。 13.ATM退出客戶的卡 , 用例結(jié)束 。 其他事件流 A1: 輸入無效密碼 1. ATM告訴客戶該密碼錯誤。 2. ATM退出客戶的卡,用例結(jié)束。 其他事件流 A2: 余額不足 1. ATM告訴客戶該帳戶余額不足。 2. ATM退出客戶的
10、卡,用例結(jié)束。 異常事件流 E1: 聯(lián)接主機(jī)出現(xiàn)錯誤 1. ATM告訴客戶聯(lián)接主機(jī)出現(xiàn)錯誤。 2. ATM在錯誤日志記下錯誤。 3. ATM退出客戶的卡,用例結(jié)束。 事后條件:無 對象交互 交互圖 交互圖顯示一組對象以及它們之間傳送 的消息 尋找對象 研究事件流及情景文檔中的名詞 分辨對象和對象屬性 不在事件流中的控制對象 時(shí)序圖 按時(shí)間順序?qū)刂屏鹘?用戶從中看到業(yè)務(wù)過程的細(xì)節(jié) 分析人員從中看到處理流程 開發(fā)人員看到需要開發(fā)的對象和它們的 操作 質(zhì)保人員看到過程細(xì)節(jié),并根據(jù)這個(gè)過 程開發(fā)測試案例 客戶李明取 20元錢的順序圖 協(xié)作圖 按對象的組織對控制流建模 質(zhì)保人員和系統(tǒng)分析員用協(xié)作圖顯
11、示對 象間處理過程的責(zé)任分布和數(shù)據(jù)流。 客戶李明取 20元錢的協(xié)作圖 對象結(jié)構(gòu) 類圖 顯示系統(tǒng)中類與類之間的交互 分析員用類圖顯示系統(tǒng)細(xì)節(jié)。類圖可以 顯示每個(gè)用例中類的相互作用,也可以 顯示整個(gè)系統(tǒng)或子系統(tǒng) ATM系統(tǒng)“取錢”用例的類圖 讀卡機(jī)類 ATM屏幕類 帳戶類 取錢機(jī)類 創(chuàng)建系統(tǒng)包圖 包將具有一些共性的類組合在一起 . 一個(gè)包形成一個(gè)命名空間。通過包組織 大系統(tǒng)模型,減少復(fù)雜性 結(jié)構(gòu)良好的包是松耦合,高內(nèi)聚的,對 其類容的訪問具有嚴(yán)密的控制 ATM系統(tǒng)的包圖 對象行為 狀態(tài)圖 顯示一個(gè)對象從生成到刪除的生命周期 中相應(yīng)事件所經(jīng)歷的狀態(tài)序列以及它們 對哪些事件的相應(yīng)。 分析人員和開發(fā)人員通過狀態(tài)圖更好的 了解類的動態(tài)行為,使編碼前能討論和 建立復(fù)雜邏輯。 Account對象的狀態(tài)圖 構(gòu)造程序 組件圖 表示一組組件之間的組織和依賴關(guān)系 編譯和部署系統(tǒng)的人員需要使用組件圖。 顯示了類與實(shí)現(xiàn)組件之間的映射,組件 按什么順序編譯,編譯時(shí)生成哪些運(yùn)行 組件 構(gòu)件圖對于通過正向工程和逆向工程構(gòu) 造可執(zhí)行系統(tǒng)是重要的 組件圖 ATM客戶機(jī)的 C+組件圖 ATM服務(wù)器的 C+組件圖 ATM客戶機(jī)的 Java組件圖 項(xiàng)目部署 實(shí)施圖 建模系統(tǒng)的實(shí)際部署 項(xiàng)目管理員,用戶,分析員和部署人員 通過實(shí)施圖了解,顯示網(wǎng)絡(luò)的實(shí)際布局 和網(wǎng)絡(luò)節(jié)點(diǎn)上組件的配置 ATM系統(tǒng)的實(shí)施圖