| 《软件工程:方法与实践(第2版)》 第1章 软件工程概述 1 1.1 软件工程的产生和发展 1 1.1.1 软件工程的发展过程 1 1.1.2 软件危机 2 1.1.3 软件工程的定义及基本原则 3 1.1.4 软件工程研究的内容 3 1.2 软件与软件过程 4 1.2.1 软件的概念和特点 5 1.2.2 软件工程过程 6 1.3 软件过程模型 6 1.4 软件开发方法 10 1.4.1 结构化开发方法 10 1.4.2 原型化开发方法 10 1.4.3 面向对象的开发方法 11 1.5 软件工具与软件开发环境 13 小结 14 习题一 15 第2章 软件需求工程 17 2.1 软件需求的基本概念 17 .2.1.1 软件需求的任务 17 2.1.2 功能需求与非功能需求 18 2.2 需求工程过程 20 2.3 软件需求获取技术 23 2.4 需求分析与建模 25 2.4.1 结构化分析(sa)方法 26 2.4.2 面向对象的分析方法 31 2.5 软件需求案例分析 35 2.5.1 案例1——医院病房监护系统 35 2.5.2 案例2——网上拍卖系统 37 小结 39 习题二 39 第3章 软件设计 42 3.1 软件设计概述 42 3.2 软件体系结构设计 44 3.2.1 仓库模型 44 3.2.2 分布式结构 45 3.2.3 其他体系结构 52 3.3 模块分解 52 3.3.1 模块分解的目的 53 3.3.2 模块间的关系 53 3.3.3 模块的独立性 54 3.3.4 信息隐蔽 56 3.4 详细设计描述工具 57 3.5 面向对象的设计 58 3.6 用户界面设计 60 3.6.1 用户界面设计的特性与设计任务 60 3.6.2 用户界面设计的基本原则 61 3.6.3 用户界面的基本类型 62 3.6.4 信息输入/输出界面 63 3.6.5 mvc模式 67 小结 69 习题三 69 第4章 面向对象方法与uml建模语言 71 4.1 面向对象方法概述 71 4.1.1 面向对象方法的特点 71 4.1.2 几种典型的面向对象方法 72 4.2 uml概述 78 4.2.1 uml的基本概念 79 4.2.2 uml的图形表示 81 4.3 建立用例模型 83 4.3.1 需求分析与用例建模 84 4.3.2 确定执行者 85 4.3.3 确定用例 86 4.3.4 建立用例之间的关系 88 4.3.5 用例建模实例 89 4.4 建立静态模型 92 4.4.1 类图 92 4.4.2 包图 101 4.5 建立动态模型 102 4.5.1 消息 102 4.5.2 状态图 103 4.5.3 顺序图 106 4.5.4 合作图 108 4.5.5 活动图 110 4.6 建立实现模型 112 4.6.1 组件图 112 4.6.2 部署图 113 4.7 rup统一过程及其应用 115 4.7.1 uml与rup统一过程 115 4.7.2 rup的二维开发模型 117 4.7.3 rup的迭代开发模式 119 小结 120 习题四 120 第5章 软件实现 124 5.1 程序设计语言的选择 124 5.2 结构化程序设计 127 5.3 面向对象程序设计 128 5.4 程序设计风格 132 5.5 算法与程序效率 135 5.6 软件代码审查 137 小结 138 习题五 138 第6章 软件复用和组件技术 140 6.1 软件复用概述 140 6.2 软件复用的实施与过程 143 6.3 可复用组件与组件工程 144 6.4 领域工程分析和基于组件的开发 146 6.5 基于组件的软件开发特点 148 6.6 软件组件技术的技术规范 150 6.6.1 corba 150 6.6.2 com 151 6.6.3 ejb 153 6.6.4 web服务 155 小结 157 习题六 157 第7章 软件测试 158 7.1 软件测试概述 158 7.1.1 软件测试的基本概念 158 7.1.2 软件测试的特点和基本原则 159 7.1.3 软件测试过程 162 7.1.4 静态分析与动态测试 164 7.2 白盒法测试 166 7.3 黑盒法测试 170 7.4 软件测试的策略 174 7.4.1 单元测试 174 7.4.2 集成测试 176 7.4.3 确认测试 179 7.4.4 系统测试 179 7.4.5 测试和测试 180 7.4.6 综合测试策略 181 7.5 软件调试 181 7.5.1 软件调试过程 182 7.5.2 软件调试策略 182 7.6 面向对象的测试 184 7.6.1 面向对象测试的特点 185 7.6.2 面向对象测试类型 185 7.6.3 分析模型测试 187 7.6.4 面向对象的测试用例 191 7.7 自动测试 192 7.7.1 自动化测试概述 192 7.7.2 实施自动化测试的前提条件 193 7.7.3 自动化测试过程 195 7.7.4 自动化测试的原则 197 小结 197 习题七 198 第8章 软件维护 200 8.1 软件维护的基本概念 200 8.2 软件维护的过程 203 8.3 软件维护技术 205 8.4 软件可维护性 206 8.4.1 软件可维护性的定义 206 8.4.2 提高可维护性的方法 207 8.5 逆向工程和再工程 211 小结 213 习题八 213 第9章 软件工具与集成化环境 215 9.1 软件工具 215 9.1.1 软件开发工具 215 9.1.2 软件维护工具 218 9.1.3 软件管理与支持工具 219 9.2 集成化case环境 220 9.2.1 概述 220 9.2.2 集成化的case开发环境的体系结构 222 9.3 软件开发工具——rational rose 227 9.3.1 rose工具简介 227 9.3.2 业务用例图 228 9.3.3 用例图 229 9.3.4 类图 231 9.3.5 协作图与时序图 232 9.3.6 活动图 234 9.3.7 状态图 234 9.3.8 组件图和部署图 235 小结 237 习题九 237 第10章 软件项目管理 238 10.1 软件项目管理概述 238 10.2 软件项目可行性研究 240 10.3 软件项目成本估算技术 242 10.3.1 影响成本估算的因素 242 10.3.2 成本估算模型 244 10.3.3 成本/效益分析 247 10.4 软件项目组织与人员管理 248 10.4.1 软件开发进度计划 248 10.4.2 人员配备与组织 250 10.4.3 软件开发小组与软件生产率 250 10.5 项目风险管理 251 10.5.1 软件项目风险管理概述 251 10.5.2 软件项目风险管理过程 252 10.5.3 风险管理的理论和模型 254 10.6 软件质量保证 256 10.7 企业资源规划 257 10.7.1 资源管理发展过程 257 10.7.2 erp系统的管理思想 258 10.7.3 应用erp与企业的关系 259 10.7.4 erp应用成功的标志 261 10.7.5 sap erp简介 261 小结 263 习题十 263 第11章 软件能力成熟度模型 265 11.1 cmm概述 265 11.2 cmm的内部结构 268 11.3 cmm的应用 270 11.4 cmm的实施与评估 272 11.4.1 软件过程评估的必要性 272 11.4.2 软件过程评估参考模型 274 11.4.3 cmm评估的执行步骤 275 11.4.4 软件企业如何实施cmm 278 11.4.5 cmm与iso 9000标准 280 11.5 软件能力成熟度模型集成 281 小结 284 习题十一 284 第12章 软件工程课程设计 286 12.1 课程设计的目的和要求 286 12.2 课程设计步骤及安排 286 12.3 案例分析 288 12.3.1 案例一:atm系统 288 12.3.2 案例二:网上拍卖系统 294 12.3.3 案例三:会议管理系统 300 12.3.4 案例四:仓库信息管理系统 310 参考文献 319 |
商品评论(0条)