注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2018年9月

出版社:机械工业出版社

以下为《软件工程导论(原书第4版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111607236
  • 4版
  • 227192
  • 47229784-5
  • 平装
  • 16开
  • 2018年9月
  • 347
  • 248
  • 工学
  • 计算机科学与技术
  • TP311.5
  • 计算机通信类
  • 本科
作者简介
弗兰克·徐(Frank Tsui)在软件和IT产业有30多年的从业经验,曾担任多家跨国软件企业的研发主管或VP。他目前是南方州立理工大学计算机和软件工程学院的全职教授,还是佐治亚理工学院和堪萨斯州立大学的兼职教授。
奥兰多·卡拉姆(Orlando Karam)目前是堪萨斯州立大学教员。他在敏捷开发和开源软件社区非常活跃,还积极参与软件复杂性的研究。
芭芭拉·博纳尔(Barbara Bernal)目前是堪萨斯州立大学软件工程教授,她的专长是用户界面和以用户为中心的设计领域。她还积极参与美国工程教育协会和软件工程师教育学会的工作。
查看全部
内容简介
高校本科软件工程导论教材,适合一学期讲授,提供系统的工程方法来讲述软件工程的原籍和方法学。全书内容全面而且具体简洁。
目录
出版者的话译者序前言第1章 创建一个程序11.1 一个简单的问题11.1.1 决策11.1.2 功能需求21.1.3 非功能需求31.1.4 设计约束31.1.5 设计决策41.2 测试41.3 估算工作量51.4 实现61.4.1 关于实现的几个要点61.4.2 基本设计71.4.3 使用JUnit进行单元测试81.4.4 StringSorter的实现81.4.5 用户界面121.5 总结141.6 复习题141.7 练习题151.8 参考文献和建议阅读15第2章 构建一个系统162.1 构建一个系统的特征162.1.1 规模和复杂度162.1.2 开发和支持的技术考虑172.1.3 开发和支持的非技术考虑192.2 系统构建示例202.2.1 薪资管理系统需求212.2.2 设计薪资管理系统222.2.3 薪资管理系统编码和单元测试232.2.4 薪资管理系统的集成和功能测试242.2.5 发布薪资管理系统242.2.6 支持和维护252.3 协调工作252.3.1 过程252.3.2 产品262.3.3 人员262.4 总结262.5 复习题272.6 练习题272.7 参考文献和建议阅读27第3章 工程化软件283.1 软件失败的示例和特点283.1.1 项目失败283.1.2 软件产品失效293.1.3 协调和其他关注点303.2 软件工程303.2.1 什么是软件工程303.2.2 软件工程的定义313.2.3 软件工程与软件的相关性313.3 软件工程职业与道德规范323.3.1 软件工程道德准则323.3.2 职业行为333.4 软件工程的原则343.4.1 早期由Davis提出的软件工程原则343.4.2 更现代的Royce原则353.4.3 Wasserman提出的软件工程基础概念363.5 总结373.6 复习题373.7 练习题373.8 参考文献和建议阅读38第4章 软件过程模型394.1 软件过程394.1.1 软件过程模型的目标394.1.2 “最简单”的过程模型404.2 传统过程模型404.2.1 瀑布模型404.2.2 主程序员制团队方法414.2.3 增量模型414.2.4 螺旋模型434.3 一个更加现代的过程444.3.1 Rational统一过程框架的一般基础444.3.2 RUP的阶段444.4 进入和退出标准464.4.1 进入标准474.4.2 退出标准474.5 过程评估模型484.5.1 SEI的能力成熟度模型484.5.2 SEI的能力成熟度集成模型504.6 过程定义和通信554.7 总结554.8 复习题564.9 练习题564.10 参考文献和建议阅读56第5章 新兴过程方法585.1 什么是敏捷过程585.2 为什么使用敏捷过程595.3 一些过程方法595.3.1 极限编程605.3.2 水晶系列方法635.3.3 敏捷统一过程655.3.4 Scrum665.3.5 看板方法:一个新增的敏捷方法675.3.6 开源软件开发685.3.7 过程总结695.4 过程的选择705.4.1 每一种过程更适用的项目和环境705.4.2 敏捷过程的主要风险和缺点715.4.3 敏捷过程的主要优点715.5 总结715.6 复习题715.7 练习题725.8 参考文献和建议阅读72第6章 需求工程736.1 需求处理736.1.1 需求处理的准备736.1.2 需求工程过程746.2 需求获取与收集756.2.1 获取高层次的需求766.2.2 获取详细的需求776.3 需求分析796.3.1 通过业务流进行需求分析和聚类796.3.2 通过面向对象用例进行需求分析和聚类806.3.3 通过面向视点的需求定义进行需求分析和聚类826.3.4 需求分析与排序826.3.5 需求可追踪性846.4 需求定义、原型化和审查846.5 需求规约与需求协商876.6 总结886.7 复习题886.8 练习题896.9 参考文献和建议阅读89第7章 设计:架构与方法论917.1 设计简介917.2 架构设计927.2.1 什么是软件架构927.2.2 视图与视角927.2.3 元架构知识:风格、模式、策略和参考架构937.2.4 基于网络的Web参考架构—REST977.3 详细设计987.3.1 功能分解987.3.2 关系型数据库设计1007.3.3 大数据设计1037.3.4 面向对象设计和UML1047.3.5 用户界面设计1087.3.6 进一步的设计问题1127.4 HTML-Script-SQL设计示例1127.5 总结1147.6 复习题1157.7 练习题1157.8 参考文献和建议阅读115第8章 设计的特征与度量1178.1 设计描述1178.2 设计属性的传统特征1178.2.1 Halstead复杂度度量1188.2.2 McCabe圈复杂度1188.2.3 Henry-Kafura信息流1198.2.4 高层次复杂度度量1208.3 “好”的设计属性1208.3.1 内聚1218.3.2 耦合1238.4 面向对象设计度量1258.4.1 面向方面的编程1278.4.2 Demeter法则1278.5 用户界面设计1278.5.1 好的UI的特征1278.5.2 易用性的评估与测试1288.6 总结1298.7 复习题1298.8 练习题1308.9 参考文献和建议阅读130第9章 实现1339.1 实现简介1339.2 好的实现的特征1339.2.1 编程风格和代码规范1349.2.2 注释1369.3 实现的实践1379.3.1 调试1379.3.2 断言和防御性编程1389.3.3 性能优化1389.3.4 重构1399.3.5 代码重用1409.4 云开发1409.4.1 基础设施即服务1419.4.2 平台即服务1429.4.3 云应用服务1429.4.4 面向开