软件工程与计算(卷三):团队与软件开发实践
作者 : 骆斌 主编 刘嘉 张瑾玉 黄蕾 编著
出版日期 : 2013-05-02
ISBN : 978-7-111-40749-2
适用人群 : 高等院校软件工程、计算机及相关专业本科生。
定价 : 39.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 275
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书是国家精品课程《计算与软件工程》系列课程的第三门课程配套教材。关注综合性软件工程实践,课程运用《软件工程与计算(卷一):程序设计基础》《软件工程与计算(卷二): 软件开发技术》所学软件工程、程序设计和软件职业知识,采用螺旋开发模型,突出团队交流合作和软件项目管理,强化软件工程制品,组织学生进行构建中规模软件系统(产品)的实践。

图书特色

作为国家级精品课程“软件工程与计算”系列课程的第三门课程配套教材,本书依据CC-SE2004中软件工程优先的理念,关注综合性工程实践,运用之前课程所学软件工程、程序设计和软件职业知识,通过一个中规模的具体计算系统的螺旋式开发过程,强化项目管理实践、团队实践、软件工程制品与评审实践,培养学生对程序设计和软件工程方法的实际运用能力,同时强化学生的职业技能和项目管理能力。
本书以培养采用工程化方法构建小组级中等规模软件系统实践为目标,教材具体内容包括:(1)软件工程与程序设计知识在软件系统开发中的应用实践;(2)计划管理、风险管理、配置管理、工具等项目管理知识与应用实践;(3)角色与分工、交流与沟通、团队激励、陈述与评审等团队交流知识与应用实践;(4)有关软件工程制品与评审的应用实践。
本书特色
以一个软件实践为线索组织内容,逐次展开软件工程方法、软件工程实践活动、程序设计与开发、团队交流协作以及软件工程制品的学习和实践。
强调对软件工程专业基础课程的总结,以及和实际应用相结合的原则。
强调软件工程活动的最佳实践活动细节,力求所有软件工程的活动均可以按照指导有序的易于实践的顺序依次展开。

图书前言

《软件工程与计算(卷三):团队与软件开发实践》旨在培养学生在软件工程原则指导下进行团队软件工程活动实践,促进学生在更高要求、更深层次、更复杂规模上对前期课程中所学到的程序设计、软件工程、软件工程职业等知识进行实践,并且拓展学生项目管理实践、团队管理与交流实践、具有产品特性的软件工程制品方面的相关知识。本书在写作过程中遵循了以下思路。
  1)以培养读者采用工程化方法构建小组级中等规模软件系统实践为目标,内容融合了软件工程与程序设计知识在软件系统开发中的应用实践,计划管理、风险管理、配置管理、工具等项目管理知识与应用实践,角色与分工、交流与沟通、团队激励、陈述与评审等团队交流知识与应用实践,有关软件工程制品与评审的应用实践。
  2)以一个计算示例实践为线索组织内容。该计算示例是一个师生交流系统,整个团队实践开发主要根据螺旋模型展开,分为6个阶段:项目启动、第一循环、第二循环、第三循环、第四循环和项目部署。在示例开发过程中逐次展开软件工程方法、软件工程实践活动、程序设计与开发、团队交流协作以及软件工程制品的学习和实践。
  3)强调对软件工程专业基础课程的总结,以及和实际学生应用相结合的原则。强调软件工程活动的最佳实践细节,力求所有软件工程的活动均可以按照易于实践的顺序依次展开。
  根据上述写作思路,本书内容共分为7章。
  第1章“软件工程实践概述”首先介绍了软件项目管理的初步知识,以及建议实践采用的软件过程模型:(螺旋模型)的基本知识,描述了实践案例选择的基本原则和本书案例的大致介绍,详细说明了课程案例的组织,以及项目启动、第一循环、第二循环、第三循环、第四循环和项目部署6个阶段的基本内容,还包括建议的课程时间安排以及各阶段评价的标准和比例。
  第2章“项目启动”介绍了项目启动阶段主要的预备知识:团队建设和配置管理初步,描述了项目启动阶段的实践目标、内容和相关角色的脚本、学生团队的活动计划,并详细描述了本阶段核心的活动,如团队建立、软件开发环境构建、项目启动会议等具体的实践内容。最后给出了项目启动阶段的活动检查表、实验手册和评价标准参考。
  第3章“第一循环”介绍了第一循环中的主要预备知识:沟通交流和项目计划,描述了第一循环的实践目标、内容和相关角色的脚本、学生团队的活动计划,并详细描述了第一循环中核心的活动,如需求获取实践、风险分析与风险解决、项目范围界定、评审会议实践和建立项目计划等具体的实践内容。最后给出了第一循环的活动检查表、实验手册和评价标准参考。
  第4章“第二循环”介绍了第二循环中的主要预备知识:软件质量管理,描述了第二循环的实践目标、内容和相关角色的脚本、学生团队的活动计划,并详细描述了第二循环中核心的活动,如涉众分析、用户需求风险分析、开发用户界面原型、需求规格说明、系统级别的测试和修订项目计划等具体的实践内容。最后给出了第二循环的活动检查表、实验手册和评价标准参考。
  第5章“第三循环”介绍了第三循环中的主要预备知识:软件体系架构,描述了第三循环的实践目标、内容和相关角色的脚本、学生团队的活动计划,并详细描述了第三循环中核心的活动,如筛选关键需求、架构备选方案和风险分析、开发演化式架构原型、软件架构设计文档、集成测试计划和用例以及工作量估算等具体的实践内容。最后给出了第三循环的活动检查表、实验手册和评价标准参考。
  第6章“第四循环”介绍了第四循环中的主要预备知识:软件测试技术,描述了第四循环的实践目标、内容和相关角色的脚本、学生团队的活动计划,并详细描述了第四循环中核心的活动,如详细设计、编码活动、单元测试、执行各阶段测试以及内部项目评审等具体的实践内容。最后给出了第四循环的活动检查表、实验手册和评价标准参考。
  第7章“项目部署”描述了项目部署阶段的实践目标、内容和相关角色的脚本、学生团队的活动计划,并详细描述了项目部署阶段中核心的活动,如项目发布、维护准备、用户验收以及项目组总结等具体的实践内容。最后给出了项目部署阶段的活动检查表、实验手册和评价标准参考。
  骆斌主持策划了本书,参加了书稿写作的全部讨论,并对整体书稿写作进行了指导、审阅。刘嘉编写了第1、4、7章。张瑾玉编写了第5、6章。黄蕾编写了第2、3章。感谢李宣东、陈道蓄、郑滔、邵栋、丁二玉、刘钦、任桐炜对本书提出的宝贵意见以及提供的帮助。本书直接或间接引用了许多专家学者的文献和著作,在此向他们表示衷心的感谢。
  由于作者水平有限,书中难免有疏漏和不妥之处,敬请读者批评指正。如对本书有任何意见和建议,可通过电子邮件luobin@nju.edu.cn、liujia@Software.nju.edu.cn、zhjinyu@software.nju.edu.cn、hl@software.nju.edu.cn与我们联系。

编者
2012年10月于南京大学软件学院

上架指导

计算机\软件工程

封底文字

本书以培养读者采用工程化方法构建小组级中等规模软件系统实践为目标,内容融合了软件工程与程序设计知识在软件系统开发中的应用实践;计划管理,风险管理,配置管理,工具等项目管理知识与应用实践;角色与分工,交流与沟通,团队激励,陈述与评审等团队交流知识与应用实践;有关软件工程制品与评审的应用实践。
  本书特色:
 全书以一个软件实践为线索组织内容。
 逐次展开软件工程方法、软件工程实践活动、程序设计与开发、团队交流协作以及软件工程制品的学习和实践。
 强调对软件工程专业基础课程的总结,以及与实际应用相结合的原则。
 强调软件工程活动的最佳实践活动细节,力求所有软件工程的活动均可以按照指导有序且易于实践的顺序依次展开。

作者简介

骆斌 主编 刘嘉 张瑾玉 黄蕾 编著:刘嘉,博士,南京大学软件学院讲师,主讲《计算与软件工程实践》课程。主要研究方向包括:软件工程、软件建模、软件过程管理等。

图书目录

软件工程教材序
《软件工程与计算》使用说明
前言
第1章 软件工程实践概述  1
1.1 预备知识1:软件项目管理  1
1.2 预备知识2:螺旋模型  5
1.3 课程案例描述  6
1.4 课程案例的软件过程选择  7
1.5 课程案例的组织  7
1.5.1 实践过程总体描述  7
1.5.2 实践过程分阶段描述  9
1.5.3 实践过程的时间安排  10
1.5.4 实践过程的阶段评价  10
第2章 项目启动  11
2.1 预备知识1:团队建设  11
2.1.1 团队组成和评估  11
2.1.2 团队文化  14
2.2 预备知识2:配置管理初步  16
2.3 项目启动阶段实践描述  18
2.3.1 项目启动阶段实践目标  18
2.3.2 项目启动阶段实践内容和脚本  19
2.3.3 项目启动阶段团队活动计划  20
2.4 团队建立实践  21
2.4.1 团队建立  21
2.4.2 团队交流与激励机制  23
2.5 软件开发环境构建实践  26
2.5.1 版本控制和管理机制  27
2.5.2 版本控制工具的使用原则  28
2.6 项目启动会议实践  29
2.6.1 项目启动会议准备  29
2.6.2 项目启动会议召开  32
2.6.3 项目启动会议产物  33
2.7 项目启动阶段实验手册及评价标准  35
2.7.1 关于实验手册与评价标准的使用说明  35
2.7.2 项目启动阶段团队活动检查表  36
2.7.3 项目启动阶段实验手册  36
2.7.4 项目启动阶段评分标准  37
第3章 第一循环  39
3.1 预备知识1:沟通交流  39
3.1.1 沟通交流的特点和分类  39
3.1.2 沟通的方式选择  42
3.2 预备知识2:项目计划  45
3.2.1 项目计划的特点和原则  46
3.2.2 项目计划的内容  47
3.3 第一循环阶段实践描述  49
3.3.1 第一循环阶段实践目标  49
3.3.2 第一循环阶段实践内容和脚本  50
3.3.3 第一循环阶段团队活动计划  52
3.4 需求获取实践:面谈  54
3.4.1 面谈的技巧  54
3.4.2 面谈记录整理  57
3.5 风险分析与风险解决  58
3.5.1 风险识别:“头脑风暴”  58
3.5.2 风险分类  59
3.5.3 风险解决  61
3.5.4 风险解决中的其他因素  62
3.6 项目范围界定和范围原型实践  63
3.6.1 范围原型开发活动  63
3.6.2 范围原型开发过程  64
3.6.3 项目范围界定  70
3.7 评审会议实践  74
3.7.1 评审会议的召开  75
3.7.2 评审会议的记录  76
3.7.3 项目范围评审的要点  77
3.8 建立项目计划  78
3.8.1 项目计划活动  79
3.8.2 确定项目进度计划  79
3.8.3 项目网络图  81
3.8.4 项目计划文档  83
3.9 第一循环阶段实验手册及评价标准  86
3.9.1 第一循环阶段团队活动检查表  86
3.9.2 第一循环阶段实验手册  87
3.9.3 第一循环阶段评分标准  89
第4章 第二循环  90
4.1 预备知识:软件质量管理  90
4.1.1 软件质量  90
4.1.2 软件质量管理  91
4.1.3 软件评审和软件测试  92
4.2 第二循环阶段实践描述  93
4.2.1 第二循环阶段实践目标  93
4.2.2 第二循环阶段实践内容和脚本  94
4.2.3 第二循环阶段团队活动计划  96
4.3 需求获取实践:涉众分析  98
4.3.1 涉众分析  98
4.3.2 涉众分析过程  98
4.4 用户需求风险分析  102
4.4.1 用户需求风险  102
4.4.2 需求变更管理  103
4.4.3 需求评审  103
4.5 开发用户界面原型  105
4.5.1 设计用户界面原型  106
4.5.2 实施用户界面原型并获取用户反馈  111
4.5.3 后续的改进用户界面原型  112
4.6 需求规格说明  114
4.6.1 项目功能性和非功能性需求  114
4.6.2 通过用例完成需求规格说明  114
4.6.3 需求规格说明文档  121
4.7 系统级别的测试  124
4.7.1 系统级别的测试和后续测试  124
4.7.2 系统测试计划  125
4.7.3 系统测试用例  127
4.8 修订项目计划实践  130
4.8.1 确定变更内容  131
4.8.2 变更影响评估和处理  132
4.8.3 实现计划变更  133
4.9 第二循环阶段实验手册及评价标准  134
4.9.1 第二循环阶段团队活动检查表  134
4.9.2 第二循环阶段实验手册  135
4.9.3 第二循环阶段评分标准  138
第5章 第三循环  140
5.1 预备知识:软件架构  140
5.1.1 软件架构的含义  140
5.1.2 软件架构的目标  141
5.1.3 软件架构的设计原则  142
5.2 第三循环阶段实践描述  143
5.2.1 第三循环阶段的实践目标  143
5.2.2 第三循环阶段实践内容和脚本  144
5.2.3 第三循环阶段团队活动计划  146
5.3 筛选关键需求  149
5.3.1 确定关键的功能需求  149
5.3.2 确定关键的非功能需求  150
5.4 架构备选方案和风险分析  152
5.4.1 提出架构备选方案  152
5.4.2 白板化备选方案  154
5.4.3 团队评估会议  157
5.5 开发演化式架构原型  159
5.5.1 划分系统层次  160
5.5.2 设计组件和组件接口  162
5.6 软件架构设计文档  164
5.7 架构评审会议实践  168
5.7.1 软件架构评审  168
5.7.2 软件架构评审会议的要点  169
5.8 集成测试计划和用例  172
5.8.1 集成测试和持续集成  172
5.8.2 集成测试计划  173
5.8.3 集成测试用例  176
5.9 工作量估算及估算实践  179
5.9.1 估算参与人员及必要条件  179
5.9.2 纸牌估算法  180
5.9.3 估算会议的要点  182
5.10 第三循环阶段实验手册及评价标准  183
5.10.1 第三循环阶段团队活动检查表  183
5.10.2 第三循环阶段实验手册  184
5.10.3 第三循环阶段评价标准  187
第6章 第四循环  188
6.1 预备知识:软件测试技术  188
6.1.1 软件生命周期中的测试  188
6.1.2 白盒测试和黑盒测试  189
6.1.3 Bug的记录和跟踪  191
6.2 第四循环阶段实践描述  193
6.2.1 第四循环阶段的实践目标  193
6.2.2 第四循环阶段工作描述  194
6.2.3 第四循环阶段团队活动计划  195
6.3 详细设计实践  197
6.3.1 识别出类  197
6.3.2 细化类的方法和接口  198
6.3.3 详细设计文档  201
6.4 编码活动实践  204
6.4.1 持续集成实践  204
6.4.2 建议实践:测试驱动开发  207
6.4.3 详细编码  209
6.4.4 代码检查法  212
6.5 单元测试  217
6.5.1 单元测试计划  217
6.5.2 单元测试用例和工具  218
6.6 执行各阶段测试  221
6.6.1 记录测试执行  221
6.6.2 Bug报告  228
6.7 内部项目评审  230
6.8 第四循环阶段实验手册和评价标准  232
6.8.1 第四循环阶段团队活动检查表  232
6.8.2 第四循环阶段实验手册  233
6.8.3 第四循环阶段评价标准  235
第7章 项目部署  237
7.1 项目部署阶段实践描述  237
7.1.1 项目部署阶段实践目标  237
7.1.2 项目部署阶段实践内容及脚本  238
7.1.3 项目部署阶段团队活动计划  238
7.2 项目发布实践  240
7.2.1 用户使用手册  240
7.2.2 项目部署及说明  242
7.3 项目维护准备实践  244
7.3.1 软件维护活动及维护准备  245
7.3.2 软件的可维护性审查  247
7.4 用户验收实践  248
7.4.1 用户验收概述  249
7.4.2 软件演示原则  249
7.4.3 软件验收会议准备  250
7.5 项目组总结实践  251
7.5.1 软件项目总结  251
7.5.2 项目总结会议  252
7.6 项目部署阶段实验手册及评价标准  255
7.6.1 项目部署阶段团队活动检查表  255
7.6.2 项目部署阶段实验手册  255
7.6.3 项目部署阶段评价  258
参考文献  259

教学资源推荐
作者: Roger S.Pressman
作者: Georges G. Merx;Ronald J. Norman
作者: (美)Richard O.Duda Peter E.Hart David G.Stork
参考读物推荐
作者: James R.Persse