《實用軟體工程(第3版)》是由陸惠恩主編,清華大學出版社2015年出版的21世紀高等學校計算機專業核心課程規劃教材。該教材可作為套用型本科計算機相關專業的教材,也可供從事計算機軟體開發及套用的科技人員參考。
該教材共10章,由概述 、軟體計畫、結構化設計、軟體編碼和軟體測試、軟體維護、面向對象方法學與UML、面向對象軟體設計與實現、軟體工程技術的發展、軟體工程管理、實例——招聘考試成績管理系統組成。
基本介紹
- 書名:實用軟體工程(第3版)
- 作者:陸惠恩
- 類別:21世紀高等學校計算機專業核心課程規劃教材
- 出版社:清華大學出版社
- 出版時間:2015年5月1日
- 頁數:271 頁
- 開本:16 開
- 裝幀:平裝
- ISBN:9787302375678
- 字數:440千字
- CIP核字號:2014174672
成書過程
修訂情況
出版工作
責任編輯 | 封面設計 | 責任校對 | 責任印製 |
---|---|---|---|
魏江江、趙曉寧 | 楊兮 | 焦麗麗 | 何芊 |
內容簡介
教材目錄
第1章 概述 | 3.7.3代碼種類76 | 7.5.1系統設計169 |
1.1軟體工程的產生1 | 3.7.4代碼設計方法78 | 7.5.2對象設計172 |
1.1.1軟體工程發展史1 | 3.8面向數據結構的設計方法78 | 7.5.3面向對象設計的準則173 |
1.1.2軟體危機2 | 3.9軟體設計文檔82 | 7.5.4面向對象設計的啟發規則174 |
1.2軟體工程學4 | 3.9.1概要設計說明書82 | 7.6面向對象系統的實現174 |
1.2.1什麼是軟體4 | 3.9.2資料庫設計說明書83 | 7.6.1選擇程式設計語言174 |
1.2.2什麼是軟體工程4 | 3.9.3詳細設計說明書84 | 7.6.2面向對象程式設計風格175 |
1.2.3軟體工程學的內容4 | 3.9.4操作手冊編寫提示85 | 7.6.3面向對象實現的人員分工177 |
1.2.4軟體過程7 | 小結86 | 7.7面向對象的測試177 |
1.2.5軟體工程基本原理7 | 習題386 | 7.7.1面向對象測試策略177 |
1.3軟體生命周期7 | 第4章 軟體編碼和軟體測試 | 7.7.2面向對象的測試步驟179 |
1.3.1軟體生命周期定義7 | 4.1結構化程式設計89 | 7.8面向對象方法實例183 |
1.3.2軟體生命周期劃分階段的原則8 | 4.1.1程式設計語言的選擇89 | 7.8.1面向對象分析實例183 |
1.3.3軟體生命周期各階段的任務8 | 4.1.2程式設計風格91 | 7.8.2面向對象的設計實例188 |
1.4軟體開發模型9 | 4.2軟體測試目標93 | 小結193 |
1.4.1瀑布模型9 | 4.3軟體測試方法94 | 習題7194 |
1.4.2快速原型模型11 | 4.3.1靜態分析與動態測試94 | 第8章 軟體工程技術的發展 |
1.4.3增量模型12 | 4.3.2黑盒法與白盒法94 | 8.1CASE技術196 |
1.4.4噴泉模型13 | 4.4軟體測試步驟95 | 8.2軟體工具198 |
1.4.5螺旋模型14 | 4.4.1模組測試95 | 8.2.1軟體工具的功能198 |
1.4.6統一過程15 | 4.4.2集成測試95 | 8.2.2軟體工具的性能199 |
小結16 | 4.4.3程式審查會和人工運行96 | 8.2.3軟體工具的分類199 |
習題117 | 4.4.4確認測試97 | 8.3軟體開發環境200 |
第2章 軟體計畫 | 4.4.5平行運行97 | 8.4軟體重用202 |
2.1軟體問題定義及可行性研究19 | 4.5設計軟體測試方案98 | 8.4.1可重用的軟體成分202 |
2.1.1軟體問題定義19 | 4.5.1等價類劃分法98 | 8.4.2軟體重用過程模型203 |
2.1.2可行性研究20 | 4.5.2邊界值分析法99 | 8.4.3開發可重用的軟體構件204 |
2.1.3制訂項目開發計畫21 | 4.5.3錯誤推測法99 | 8.4.4分類和檢索軟體構件205 |
2.2需求分析的任務22 | 4.5.4邏輯覆蓋法99 | 8.5RUP206 |
2.2.1確定目標系統的具體要求22 | 4.5.5程式環形複雜度的度量102 | 8.6RationalRose簡介208 |
2.2.2建立目標系統的邏輯模型24 | 4.5.6因果圖法105 | 8.6.1RationalRose界面210 |
2.2.3軟體需求規格說明24 | 4.5.7用基本路徑覆蓋法設計測試用例107 | 8.6.2RationalRose模型的4個視圖211 |
2.2.4修正系統開發計畫25 | 4.6軟體測試原則和策略110 | 8.6.3RationalRose的使用212 |
2.2.5制訂初步的系統測試計畫25 | 4.6.1軟體測試原則110 | 8.7幾種軟體構件模型比較213 |
2.2.6編寫初步的用戶手冊25 | 4.6.2實用測試策略111 | 8.7.1CORBA213 |
2.2.7編寫數據要求說明書26 | 4.7軟體調試、驗證與確認111 | 8.7.2COM+/DCOM214 |
2.3需求分析步驟27 | 4.7.1軟體調試111 | 8.7.3JavaBean214 |
2.3.1進行調查研究27 | 4.7.2軟體驗證112 | 8.7.4三種構件模型的分析比較216 |
2.3.2分析和描述系統的邏輯模型27 | 4.7.3軟體確認112 | 8.7.5軟體構架技術217 |
2.3.3複審28 | 4.8軟體測試文檔113 | 小結218 |
2.4實體-關係圖28 | 小結114 | 習題8218 |
2.4.1實體29 | 習題4114 | 第9章 軟體工程管理 |
2.4.2屬性29 | 第5章 軟體維護 | 9.1軟體工程管理概述219 |
2.4.3關係29 | 5.1軟體維護的種類、過程和副作用118 | 9.2軟體規模估算220 |
2.5數據流圖30 | 5.1.1軟體維護的種類118 | 9.2.1軟體開發成本估算方法220 |
2.5.1數據流圖的基本符號30 | 5.1.2軟體維護的特點119 | 9.2.2代碼行技術221 |
2.5.2數據流圖的附加符號31 | 5.1.3軟體維護的過程120 | 9.2.3功能點技術222 |
2.5.3畫數據流圖的步驟32 | 5.1.4軟體維護的副作用123 | 9.2.4COCOMO2模型223 |
2.5.4幾點注意事項32 | 5.2軟體的可維護性124 | 9.3進度計畫225 |
2.6狀態轉換圖35 | 5.2.1決定可維護性的因素124 | 9.3.1Gantt圖225 |
2.7數據字典36 | 5.2.2可維護性的度量124 | 9.3.2工程網路技術226 |
2.7.1數據字典的內容36 | 5.2.3如何提高軟體的可維護性125 | 9.4人員組織228 |
2.7.2數據字典使用的符號37 | 小結126 | 9.5軟體配置管理231 |
2.7.3數據字典與圖形工具38 | 習題5126 | 9.6軟體質量保證233 |
2.8需求分析的其他圖形工具38 | 第6章 面向對象方法學與UML | 9.6.1軟體質量的特性233 |
2.8.1層次圖39 | 6.1面向對象方法概述128 | 9.6.2軟體質量保證措施234 |
2.8.2Warnier圖39 | 6.1.1面向對象方法學的要素和優點129 | 9.7軟體開發風險管理235 |
2.8.3IPO圖40 | 6.1.2面向對象方法的概念130 | 9.7.1軟體開發風險的分類236 |
2.9軟體計畫階段文檔40 | 6.2UML概述133 | 9.7.2軟體開發風險的識別237 |
2.9.1軟體計畫階段文檔的編寫步驟40 | 6.2.1UML的發展133 | 9.7.3軟體開發的風險預測237 |
2.9.2軟體計畫實例41 | 6.2.2UML的內容133 | 9.7.4處理軟體開發風險的策略239 |
小結46 | 6.3UML圖135 | 9.8軟體工程標準與軟體文檔240 |
習題246 | 6.3.1用例圖135 | 9.8.1軟體工程標準240 |
第3章 結構化設計 | 6.3.2類圖和包137 | 9.8.2軟體文檔的編寫242 |
3.1軟體設計步驟48 | 6.3.3對象圖141 | 小結243 |
3.1.1概要設計步驟49 | 6.3.4狀態圖142 | 習題9243 |
3.1.2詳細設計的基本任務50 | 6.3.5順序圖143 | 第10章 實例——招聘考試成績管理系統 |
3.2軟體結構設計51 | 6.3.6活動圖144 | 10.1問題定義245 |
3.2.1軟體結構設計的基本原理51 | 6.3.7協作圖144 | 10.2可行性研究245 |
3.2.2模組化53 | 6.3.8構件圖145 | 10.2.1技術可行性245 |
3.2.3模組獨立性54 | 6.3.9部署圖145 | 10.2.2經濟可行性246 |
3.2.4模組設計啟發規則58 | 6.4UML的套用147 | 10.3需求分析246 |
3.3軟體結構設計的圖形工具59 | 6.4.1UML模型147 | 10.4概要設計248 |
3.3.1層次圖(或HIPO圖)59 | 6.4.2UML視圖148 | 10.4.1資料庫結構設計248 |
3.3.2結構圖60 | 6.4.3UML使用準則150 | 10.4.2系統結構設計248 |
3.4面向數據流的設計方法61 | 6.4.4UML的擴展機制151 | 10.4.3設計測試方案249 |
3.5過程設計工具63 | 6.4.5UML的套用領域152 | 10.5詳細設計250 |
3.5.1流程圖63 | 小結153 | 10.5.1系統界面設計250 |
3.5.2盒圖67 | 習題6153 | 10.5.2考前處理251 |
3.5.3PAD圖69 | 第7章 面向對象軟體設計與實現 | 10.5.3輸入設計251 |
3.5.4判定表70 | 7.1面向對象分析155 | 10.5.4成績處理252 |
3.5.5判定樹71 | 7.1.1面向對象分析過程155 | 10.5.5錄用過程設計252 |
3.5.6過程設計語言71 | 7.1.2面向對象分析原則156 | 10.5.6輸出設計253 |
3.6系統人機界面設計72 | 7.2建立對象模型157 | 10.5.7測試用例設計253 |
3.6.1人機界面設計問題72 | 7.2.1建立對象模型的基本方法157 | 10.6程式設計提示255 |
3.6.2人機界面設計過程73 | 7.2.2確定對象和類158 | 10.7軟體測試256 |
3.6.3評估界面設計的標準73 | 7.2.3確定類的相互關係159 | 習題10256 |
3.6.4界面設計指南73 | 7.2.4劃分主題163 | 附錄A部分習題解答258 |
3.7數據代碼設計75 | 7.3建立動態模型164 | 參考文獻271 |
3.7.1代碼設計目的75 | 7.4建立功能模型167 | |
3.7.2代碼設計原則75 | 7.5面向對象設計169 |
教學資源
- 課程資源