图书信息
图书目录
数字化资源

软件工程实践教程——基于开源和群智的方法




本书是计算机领域本科教育教学改革试点工作(“101计划”)核心课程配套实践教材。本书针对“软件工程”课程实践教学的特点、难点和重点,以能力和素质培养为目标,围绕实践任务的设计、实施和考评三个方面,阐述了如何基于群智和开源的方法,依托相关的软件工具和平台,开展“软件工程”课程教学实践。

全书共8章,主要包括:概论,软件工程基础,实践任务的设计与要求,实践支撑软件工具,阅读、分析和维护开源软件(实践任务一),开发软件系统一、开发软件系统二(实践任务二),实践考评方法。

本书可作为计算机大类专业本科软件工程实践教学教材,也可作为软件工程师的参考用书。为便于教学,作者建设了软件工程教学生态,提供完整的教学资源,包括:实践教学PPT,实践任务设计,软件文档模板,实践考评样例,软件项目案例(含UML模型、软件文档、源代码、可运行程序等),线上实践,学习社区,支撑工具等。



作者:
毛新军 王涛 余跃

定价:
45.00 元

出版时间:
2024-09-23

ISBN:
978-7-04-062753-4

物料号:
62753-00

读者对象:
高等教育

一级分类:
计算机/教育技术类

二级分类:
软件工程专业课程

重点项目:
暂无

版面字数:
420千字

开本:
16开

装帧形式:
平装

页数:
暂无

最新
印次时间:
2025年01月
  • 目录
    • 前辅文
      • 第1章 绪论
        • 1.1 背景
          • 1.1.1 计算机软件的变化
            • 1.1.2 软件工程的发展
              • 1.1.3 对软件人才培养提出的要求
              • 1.2 “软件工程”课程的特点
                • 1.3 “软件工程”课程实践教学的目标和要求
                  • 1.4 现行实践教学存在的问题
                    • 1.5 互联网和开源软件带来的启发
                      • 1.6 “软件工程”课程实践教学的指导思想
                        • 1.7 本书案例说明
                          • 本章小结
                            • 实践作业
                            • 第2章 软件工程基础
                              • 2.1 软件工程概述
                                • 2.1.1 软件工程的思想
                                  • 2.1.2 软件工程的目标
                                  • 2.2 经典软件过程模型
                                    • 2.2.1 瀑布模型
                                      • 2.2.2 原型模型
                                        • 2.2.3 迭代模型
                                        • 2.3 敏捷方法
                                          • 2.3.1 敏捷方法的理念和价值观
                                            • 2.3.2 敏捷方法的实施原则
                                            • 2.4 面向对象软件开发方法
                                              • 2.4.1 核心概念
                                                • 2.4.2 基本思想和方法
                                                  • 2.4.3 统一建模语言
                                                  • 2.5 开源软件及群体化开发方法
                                                    • 2.5.1 开源软件
                                                      • 2.5.2 群体化软件开发方法
                                                        • 2.5.3 基于Issue的任务管理
                                                          • 2.5.4 基于Git的代码版本管理
                                                            • 2.5.5 基于Pull Request的分布式协同开发
                                                            • 2.6 基于群智的软件开发知识分享
                                                              • 2.7 开源软件的获取和利用
                                                                • 2.7.1 开源软件社区
                                                                  • 2.7.2 开源软件项目资源
                                                                    • 2.7.3 开源软件的使用
                                                                    • 2.8 软件项目的组织方式
                                                                      • 2.8.1 结对模式
                                                                        • 2.8.2 团队模式
                                                                          • 2.8.3 社区模式
                                                                          • 本章小结
                                                                            • 实践作业
                                                                            • 第3章 实践任务的设计与要求
                                                                              • 3.1 实践设计理念和指导思想
                                                                                • 3.1.1 以三类能力培养为目标
                                                                                  • 3.1.2 循序渐进、逐层递进地开展实践
                                                                                    • 3.1.3 基于开源软件的实践教学方法
                                                                                      • 3.1.4 基于群智知识的实践教学方法
                                                                                        • 3.1.5 运用群体化软件开发技术
                                                                                        • 3.2 实践任务的整体设计
                                                                                          • 3.3 “阅读、分析和维护开源软件”实践任务的设计
                                                                                            • 3.3.1 实践内容
                                                                                              • 3.3.2 实践要求
                                                                                              • 3.4 “开发软件系统”实践任务的设计
                                                                                                • 3.4.1 实践内容
                                                                                                  • 3.4.2 实践要求
                                                                                                  • 本章小结
                                                                                                    • 实践作业
                                                                                                    • 第4章 实践支撑软件工具
                                                                                                      • 4.1 实践实施的支撑工具概述
                                                                                                        • 4.2 软件开发的支撑工具
                                                                                                          • 4.2.1 软件建模工具
                                                                                                            • 4.2.2 编码实现工具
                                                                                                              • 4.2.3 软件测试工具
                                                                                                                • 4.2.4 代码质量分析工具
                                                                                                                  • 4.2.5 软件文档撰写工具
                                                                                                                  • 4.3 实践实施工具
                                                                                                                    • 4.3.1 软件开发实践支撑工具EduCoder
                                                                                                                      • 4.3.2 软件工程学习社区LearnerHub
                                                                                                                      • 本章小结
                                                                                                                        • 实践作业
                                                                                                                        • 第5章 阅读、分析和维护开源软件
                                                                                                                          • 5.1 实践实施的过程和原则
                                                                                                                            • 5.1.1 实施过程和活动
                                                                                                                              • 5.1.2 实施原则和要求
                                                                                                                                • 5.1.3 实践输出及成果
                                                                                                                                • 5.2 开源软件案例介绍:“小米便签”软件MiNotes
                                                                                                                                  • 5.3 实践准备工作
                                                                                                                                    • 5.3.1 选择和准备开源软件
                                                                                                                                      • 5.3.2 组织实践人员
                                                                                                                                        • 5.3.3 布置实践任务和创建实践项目
                                                                                                                                          • 5.3.4 访问和加入开源社区
                                                                                                                                          • 5.4 阅读和标注开源软件
                                                                                                                                            • 5.4.1 泛读开源软件代码
                                                                                                                                              • 5.4.2 理解代码语义
                                                                                                                                                • 5.4.3 标注代码注释
                                                                                                                                                  • 5.4.4 输出实践成果
                                                                                                                                                  • 5.5 分析开源软件
                                                                                                                                                    • 5.5.1 分析软件架构
                                                                                                                                                      • 5.5.2 分析实现类图
                                                                                                                                                        • 5.5.3 分析软件质量
                                                                                                                                                          • 5.5.4 输出实践成果
                                                                                                                                                          • 5.6 维护开源软件
                                                                                                                                                            • 5.6.1 纠正开源代码缺陷
                                                                                                                                                              • 5.6.2 完善开源软件功能
                                                                                                                                                                • 5.6.3 演示经维护后的开源软件
                                                                                                                                                                  • 5.6.4 输出实践成果
                                                                                                                                                                  • 5.7 借助群智知识开展实践
                                                                                                                                                                    • 5.8 实践总结
                                                                                                                                                                      • 5.9 实践任务的拓展和剪裁
                                                                                                                                                                        • 本章小结
                                                                                                                                                                          • 实践作业
                                                                                                                                                                          • 第6章 开发软件系统(一)
                                                                                                                                                                            • 6.1 实践实施的过程和原则
                                                                                                                                                                              • 6.1.1 实施过程和活动
                                                                                                                                                                                • 6.1.2 实施原则和要求
                                                                                                                                                                                  • 6.1.3 实践输出及成果
                                                                                                                                                                                  • 6.2 实践准备工作
                                                                                                                                                                                    • 6.2.1 实践宣传和动员
                                                                                                                                                                                      • 6.2.2 组织实践人员
                                                                                                                                                                                        • 6.2.3 布置实践任务和创建实践项目
                                                                                                                                                                                          • 6.2.4 访问和加入开源社区
                                                                                                                                                                                          • 6.3 实践案例介绍:“空巢老人看护”软件ElderCarer
                                                                                                                                                                                            • 6.4 需求获取与分析
                                                                                                                                                                                              • 6.4.1 任务、过程与输出
                                                                                                                                                                                                • 6.4.2 实践要求与原则
                                                                                                                                                                                                  • 6.4.3 软件需求获取与构思
                                                                                                                                                                                                    • 6.4.4 软件需求建模与分析
                                                                                                                                                                                                      • 6.4.5 软件需求文档化与评审
                                                                                                                                                                                                        • 6.4.6 迭代开发过程中的软件需求变更管理
                                                                                                                                                                                                          • 需求获取与分析小结
                                                                                                                                                                                                          • 实践作业
                                                                                                                                                                                                          • 第7章 开发软件系统(二)
                                                                                                                                                                                                            • 7.1 软件设计与建模
                                                                                                                                                                                                              • 7.1.1 任务、过程与输出
                                                                                                                                                                                                                • 7.1.2 软件设计的策略和原则
                                                                                                                                                                                                                  • 7.1.3 基于开源和群智的软件设计方法
                                                                                                                                                                                                                    • 7.1.4 软件体系结构设计
                                                                                                                                                                                                                      • 7.1.5 用户界面设计
                                                                                                                                                                                                                        • 7.1.6 用例设计
                                                                                                                                                                                                                          • 7.1.7 子系统/构件设计
                                                                                                                                                                                                                            • 7.1.8 类设计
                                                                                                                                                                                                                              • 7.1.9 数据设计
                                                                                                                                                                                                                                • 7.1.10 软件设计的整合、文档化及评审
                                                                                                                                                                                                                                  • 软件设计与建模小结
                                                                                                                                                                                                                                  • 7.2 代码编写与测试
                                                                                                                                                                                                                                    • 7.2.1 任务、过程与输出
                                                                                                                                                                                                                                      • 7.2.2 编写代码
                                                                                                                                                                                                                                        • 7.2.3 软件测试
                                                                                                                                                                                                                                          • 7.2.4 程序调试和修复
                                                                                                                                                                                                                                            • 7.2.5 部署和运行
                                                                                                                                                                                                                                              • 代码编写与测试小结
                                                                                                                                                                                                                                              • 7.3 借助群智知识开展实践
                                                                                                                                                                                                                                                • 7.3.1 在软件开发知识分享社区中寻找问题的解答
                                                                                                                                                                                                                                                  • 7.3.2 在开源社区中与软件开发者群体进行交互
                                                                                                                                                                                                                                                    • 7.3.3 搜寻和重用开源软件
                                                                                                                                                                                                                                                    • 7.4 实践总结
                                                                                                                                                                                                                                                      • 7.5 实践设计的剪裁
                                                                                                                                                                                                                                                        • 本章小结
                                                                                                                                                                                                                                                          • 实践作业
                                                                                                                                                                                                                                                          • 第8章 实践考评方法
                                                                                                                                                                                                                                                            • 8.1 实践考评的基本原则
                                                                                                                                                                                                                                                              • 8.2 实践考评的方法和手段
                                                                                                                                                                                                                                                                • 8.3 “阅读、分析和维护开源软件”实践任务的考评方法
                                                                                                                                                                                                                                                                  • 8.3.1 考评内容
                                                                                                                                                                                                                                                                    • 8.3.2 考评方法
                                                                                                                                                                                                                                                                      • 8.3.3 持续点评
                                                                                                                                                                                                                                                                      • 8.4 “开发软件系统”实践任务的考评方法
                                                                                                                                                                                                                                                                        • 8.4.1 考评内容
                                                                                                                                                                                                                                                                          • 8.4.2 考评方法
                                                                                                                                                                                                                                                                            • 8.4.3 持续点评
                                                                                                                                                                                                                                                                            • 8.5 实践实施及成效
                                                                                                                                                                                                                                                                              • 本章小结
                                                                                                                                                                                                                                                                                • 实践作业
                                                                                                                                                                                                                                                                                • 后记
                                                                                                                                                                                                                                                                                  • 参考文献
                                                                                                                                                                                                                                                                                  如无法打开或下载资源,请在电脑端(xuanshu.hep.com.cn)进行下载操作。