顶部
收藏

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


作者:
毛新军,王涛,余跃
定价:
42.00 元
版面字数:
530千字
开本:
16开
装帧形式:
平装
版次:
1
最新版次
印刷时间:
2024年
ISBN:
978-7-04-052423-9
物料号:
52423-00
出版时间:
2019-08-13
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
软件工程

本书是软件工程课程实践教学方面的教材,针对实践教学的特点及要求,以培养学生解决复杂工程问题能力和软件工程素质为目标,围绕实践教学任务的设计、实施和考评三个方面,阐述如何转变思想和观念,基于群智方法、借助开源软件,克服现行实践教学方法的局限性,提高软件工程课程实践教学成效及人才培养水平。

全书设计了两项相对独立、逐级递进的实践任务。一是分析和维护开源软件,二是开发软件系统,并结合具体案例详细介绍了这两项实践任务的实施细节及方法,阐明了如何借助开源软件及群智知识来开展软件开发实践,以及如何采用定性和定量相结合、人工和自动相结合的方式对实践行为和结果进行系统考评。

本书可作为计算机大类专业的软件工程课程教材,也可作为软件工程师的参考用书。为便于教学,提供了丰富的教学资源,包括支撑实践教学的软件开发文档模板,完整的软件项目案例及其软件制品,电子教案PPT 和教学视频,互联网上的学习社区,支撑软件工具等。

  • 目录
    • 前辅文
      • 第1章 绪论
        • 1.1 背景
          • 1.1.1 计算机软件的变化
            • 1.1.2 软件工程的发展
              • 1.1.3 对软件工程专业教育和人才培养提出的要求
              • 1.2 软件工程课程的特点
                • 1.3 软件工程课程实践教学的目标和要求
                  • 1.4 现行实践教学存在的问题
                    • 1.5 互联网技术和开源社区带来的启发
                      • 1.6 软件工程课程实践教学的指导思想
                        • 1.7 本书应用案例说明
                          • 1.8 本书的内容组织
                            • 本章小结
                              • 实践作业
                              • 第2章 软件工程基础
                                • 2.1 软件工程概述
                                  • 2.1.1 软件工程的思想
                                    • 2.1.2 软件工程的目标
                                    • 2.2 软件开发过程模型与方法
                                      • 2.2.1 瀑布模型
                                        • 2.2.2 原型模型
                                          • 2.2.3 增量模型
                                            • 2.2.4 迭代模型
                                              • 2.2.5 螺旋模型
                                                • 2.2.6 敏捷方法
                                                  • 2.2.7 群体化开发方法
                                                  • 2.3 面向对象软件工程
                                                    • 2.3.1 核心概念
                                                      • 2.3.2 基本思想
                                                        • 2.3.3 技术特点
                                                        • 2.4 统一建模语言UML
                                                          • 2.4.1 UML 概述
                                                            • 2.4.2 UML 的图
                                                            • 2.5 软件项目的组织方式
                                                              • 2.5.1 结对模式
                                                                • 2.5.2 团队模式
                                                                  • 2.5.3 社区模式
                                                                  • 本章小结
                                                                    • 实践作业
                                                                    • 第3章 群智软件工程及其在实践教学中的应用
                                                                      • 3.1 群智软件工程概述
                                                                        • 3.1.1 产生背景
                                                                          • 3.1.2 核心概念和思想
                                                                          • 3.2 群体化软件开发技术及其在实践教学中的应用
                                                                            • 3.2.1 基于Issue 的任务管理
                                                                              • 3.2.2 基于Git 的代码管理
                                                                                • 3.2.3 基于Pull Request 的分布式协同开发
                                                                                  • 3.2.4 在实践教学中应用群体化软件开发技术
                                                                                  • 3.3 软件开发知识分享及其在实践教学中的应用
                                                                                    • 3.3.1 编程知识问答社区及Stack Overflow
                                                                                      • 3.3.2 技术资讯社区及CSDN
                                                                                        • 3.3.3 在实践教学中应用软件开发知识
                                                                                        • 3.4 开源软件及其在实践教学中的应用
                                                                                          • 3.4.1 开源软件托管社区
                                                                                            • 3.4.2 开源软件项目资源
                                                                                              • 3.4.3 基于开源软件的软件开发
                                                                                                • 3.4.4 在实践教学中应用开源软件
                                                                                                • 本章小结
                                                                                                  • 实践作业
                                                                                                  • 第4章 实践任务的设计与要求
                                                                                                    • 4.1 实践教学的设计理念与指导思想
                                                                                                      • 4.1.1 以能力和素质培养为主要目标
                                                                                                        • 4.1.2 基于群智的实践教学方法
                                                                                                          • 4.1.3 循序渐进逐层递进地开展实践
                                                                                                          • 4.2 实践任务的整体设计
                                                                                                            • 4.3 分析和维护开源软件实践任务的设计
                                                                                                              • 4.3.1 实践内容
                                                                                                                • 4.3.2 实践要求
                                                                                                                • 4.4 开发软件系统实践任务的设计
                                                                                                                  • 4.4.1 实践内容
                                                                                                                    • 4.4.2 实践要求
                                                                                                                    • 本章小结
                                                                                                                      • 实践作业
                                                                                                                      • 第5章 实践支撑软件工具
                                                                                                                        • 5.1 实践支撑工具概述
                                                                                                                          • 5.2 软件开发工具
                                                                                                                            • 5.2.1 软件建模工具
                                                                                                                              • 5.2.2 编码实现工具
                                                                                                                                • 5.2.3 软件测试工具
                                                                                                                                  • 5.2.4 代码质量分析工具
                                                                                                                                    • 5.2.5 软件文档撰写工具
                                                                                                                                    • 5.3 实践实施工具
                                                                                                                                      • 5.3.1 实践任务管理和协同开发工具Trustie-Forge
                                                                                                                                        • 5.3.2 代码阅读和标注工具Trustie-Codepedia
                                                                                                                                          • 5.3.3 群智资源检索工具Trustie-Ossean
                                                                                                                                            • 5.3.4 群体化学习工具LearnerHub
                                                                                                                                              • 5.3.5 软件开发实训工具Trustie-EduCoder
                                                                                                                                              • 本章小结
                                                                                                                                                • 实践作业
                                                                                                                                                • 第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.2.5 访问和加入开源社区
                                                                                                                                                                  • 6.3 实践案例介绍:小米便签开源软件
                                                                                                                                                                    • 6.4 阅读开源代码
                                                                                                                                                                      • 6.4.1 泛读开源代码
                                                                                                                                                                        • 6.4.2 实践成果
                                                                                                                                                                        • 6.5 分析代码质量
                                                                                                                                                                          • 6.5.1 人工分析
                                                                                                                                                                            • 6.5.2 自动分析
                                                                                                                                                                              • 6.5.3 实践成果
                                                                                                                                                                              • 6.6 标注开源代码
                                                                                                                                                                                • 6.6.1 理解代码语义
                                                                                                                                                                                  • 6.6.2 标注代码
                                                                                                                                                                                    • 6.6.3 实践成果
                                                                                                                                                                                    • 6.7 维护开源软件
                                                                                                                                                                                      • 6.7.1 纠正代码缺陷
                                                                                                                                                                                        • 6.7.2 完善开源软件的功能
                                                                                                                                                                                          • 6.7.3 演示维护后的开源软件
                                                                                                                                                                                            • 6.7.4 实践成果
                                                                                                                                                                                            • 6.8 借助开源社区中的群智资源开展实践
                                                                                                                                                                                              • 6.9 实践总结
                                                                                                                                                                                                • 6.10 实践设计的剪裁
                                                                                                                                                                                                  • 本章小结
                                                                                                                                                                                                    • 实践作业
                                                                                                                                                                                                    • 第7章 实践任务二:开发软件系统
                                                                                                                                                                                                      • 7.1 实践实施过程及原则
                                                                                                                                                                                                        • 7.1.1 实施过程和活动
                                                                                                                                                                                                          • 7.1.2 实施原则和要求
                                                                                                                                                                                                            • 7.1.3 实践输出及成果
                                                                                                                                                                                                            • 7.2 实践实施的准备工作
                                                                                                                                                                                                              • 7.2.1 宣传和动员
                                                                                                                                                                                                                • 7.2.2 布置实践任务
                                                                                                                                                                                                                  • 7.2.3 组织实践人员
                                                                                                                                                                                                                    • 7.2.4 访问和加入开源社区
                                                                                                                                                                                                                    • 7.3 实践案例介绍:“空巢老人智能看护系统”
                                                                                                                                                                                                                      • 7.4 需求获取与分析
                                                                                                                                                                                                                        • 7.4.1 任务、过程与输出
                                                                                                                                                                                                                          • 7.4.2 实践要求与原则
                                                                                                                                                                                                                            • 7.4.3 软件需求获取与构思
                                                                                                                                                                                                                              • 7.4.4 软件需求建模与分析
                                                                                                                                                                                                                                • 7.4.5 软件需求文档化与评审
                                                                                                                                                                                                                                  • 7.4.6 迭代开发过程中的软件需求变更管理
                                                                                                                                                                                                                                  • 小结
                                                                                                                                                                                                                                    • 7.5 软件设计与建模
                                                                                                                                                                                                                                      • 7.5.1 任务、过程与输出
                                                                                                                                                                                                                                        • 7.5.2 软件设计的策略和原则
                                                                                                                                                                                                                                          • 7.5.3 软件体系结构设计
                                                                                                                                                                                                                                            • 7.5.4 用户界面设计
                                                                                                                                                                                                                                              • 7.5.5 用例设计
                                                                                                                                                                                                                                                • 7.5.6 子系统/ 构件设计
                                                                                                                                                                                                                                                  • 7.5.7 类设计
                                                                                                                                                                                                                                                    • 7.5.8 数据设计
                                                                                                                                                                                                                                                      • 7.5.9 软件设计的整合、文档化及评审
                                                                                                                                                                                                                                                      • 小结
                                                                                                                                                                                                                                                        • 7.6 代码编写与测试
                                                                                                                                                                                                                                                          • 7.6.1 任务、过程与输出
                                                                                                                                                                                                                                                            • 7.6.2 编写代码
                                                                                                                                                                                                                                                              • 7.6.3 软件测试
                                                                                                                                                                                                                                                                • 7.6.4 程序调试和修复
                                                                                                                                                                                                                                                                  • 7.6.5 部署和运行
                                                                                                                                                                                                                                                                  • 小结
                                                                                                                                                                                                                                                                    • 7.7 借助开源社区中的群智资源开展实践
                                                                                                                                                                                                                                                                      • 7.7.1 在软件开发知识分享社区中寻找问题的解答
                                                                                                                                                                                                                                                                        • 7.7.2 在开源社区中与软件开发者群体进行交互
                                                                                                                                                                                                                                                                          • 7.7.3 搜寻和重用开源软件
                                                                                                                                                                                                                                                                          • 7.8 实践总结
                                                                                                                                                                                                                                                                            • 7.9 实践设计的剪裁
                                                                                                                                                                                                                                                                              • 本章小结
                                                                                                                                                                                                                                                                                • 实践作业
                                                                                                                                                                                                                                                                                • 第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 实践实施及成效
                                                                                                                                                                                                                                                                                                    • 本章小结
                                                                                                                                                                                                                                                                                                      • 实践作业
                                                                                                                                                                                                                                                                                                      • 后记
                                                                                                                                                                                                                                                                                                        • 参考文献
                                                                                                                                                                                                                                                                                                        课程网址: null

                                                                                                                                                                                                                                                                                                        相关图书