-
第一章软件工程概述
通过学习了解软件危机产生的原因和解决方法,掌握软件工程的基本概念,软件工程三要素、理解软件工程职业道德。
-
●1.1软件危机
主要学习软件危机的定义、典型特征、产生的原因,并给出了消除软件危机的途径。
-
●1.2软件工程
主要学习软件工程定义、软件具有的本质特性、软件工程的基本原理和软件工程方法学。
-
●1.3软件工程职业道德
主要学习作为一名软件工程师,应遵守的职业道德规范和具备的责任感。
-
第二章软件过程
通过学习掌握什么是软件生存周期,熟悉常用的软件过程模型,如瀑布模型、原型模型、增量模型、螺旋模型、Rational RUP过程。理解这些软件过程中所涉及的基本活动。
-
●2.1软件生存周期及瀑布模型
主要学习软件生存期的概念,瀑布模型软件开过程及其优缺点。
-
●2.2瀑布模型
主要学习快速原型模型、增量模型、螺旋模型这些增量式软件工程过程模型。
-
●2.3进化式软件开发模型
主要学习RUP如何有效地利用商业的可靠的方法开发和部署软件。
-
●2.4Rational统一过程
本讲介绍Rational统一过程
-
第三章敏捷软件开发
通过学习掌握敏捷软件开发方法,了解敏捷方法中典型的极限编程、scrum方法具体实践过程。
-
●3.1敏捷软件开发
主要学些敏捷方法思想、基本原则,敏捷方法在实践中的应用问题,与计划驱动的方法进行了比较。
-
●3.2极限编程XP
主要学习极限编程XP(Extreme Programming)实践原则,采用XP方法的项目具体实施过程。
-
●3.3SCRUM方法
主要学习敏捷项目管理方法scrum的实践过程。
-
第四章需求分析
通过学习了解软件工程过程中需求分析的任务及需求分析的获取方法及表达方法,重点掌握功能需求、非功能需求的分析及表示方法,熟悉软件需求文档的写作。
-
●4.1需求工程
主要学习需求工程过程中的主要业务,并从用户需求、系统需求、功能需求三个层面对系统的需求进行描述。
-
●4.2非功能需求
主要学习非功能需求的描述、检验、分类。
-
●4.3软件需求文档
主要学习如何撰写《软件需求文档》,并依据IEEE的规范要求,给出了软件需求文档的写作模板。
-
●4.4需求描述
主要学习软件需求文档描述时应遵守的原则、方法等,包括判定表、判定书、规格化描述、PDL等软件描述方式。
-
第五章系统分析与建模
通过学习了解软件系统分析与建模方法,重点掌握软件系统业务流程分析与建模,面向数据流分析的软件建模,基于UML技术的面向对象建模,包括鲁棒图、领域模型、活动图、时序图、状态图、系统架构和数据的建模方法等。
-
●5.1对需求进行建模
主要学习如何采用用例模型对需求进行建模。
-
●5.2对过程进行建模
主要学习过程建模的概念、表示及过程不同层次,并通过上下文图、数据流图DFD对软件过程进行建模。
-
●5.3UML面向对象建模
主要学习于UML技术的面向对象建模,包括鲁棒图、领域模型、活动图、时序图、状态图等。
-
●5.4对架构、数据进行建模
主要学习于系统架构和数据的建模方法。包括组件图、部署图、数据模型的建模。
-
第六章软件设计与实现
通过对气象站管理系统的实现过程学习,主要学习如果运用UML进行面向对象软件设计过程,并了解系统实现时的问题。具体包括上下文模型、体系结构设计 、对象类识别、系统设计模型、接口描述与实现等过程。
-
●6.1气象制图系统设计
通过分层模型和包图的形式给出了野外气象系统进行分析。
-
●6.2上下文模型、体系结构设计
通过上下文模型、用例模型对野外气象站系统进行了进一步分析,给出了系统的体系结构设计。
-
●6.3对象类识别
通过学习对象类识别的一般方法,介绍了如何对野外气象站系统的对象类的识别,并用类图的形式进行标识。
-
●6.4系统设计模型
通过时序图、状态图等形式对野外气象站系统中的交互行为进行建模,给出软件结构中的细节描述。
-
●6.5接口描述与实现
给出了野外气象站系统的结构描述和实现。
-
第七章软件测试
本章主要介绍了什么是软件测试,软件测试的目的是什么?软件测试的各个阶段,从开发过程中的测试到系统客户的验收测试;可以帮助测试人员选择测试用例的方法和技术;测试驱动开发;单元测试、构件测试或称为集成测试、系统测试、发布测试和用户测试的主要任务及相关技术。
-
●7.1软件测试概述
本节主要介绍什么是软件测试,软件测试的目的和原则,软件测试工具有哪些,静态测试和动态测试的概念和特点。
-
●7.2软件测试的分类、方法以及软件测试过程
本节主要介绍软件测试的分类、方法以及软件测试过程。软件系统要经过3个阶段的测试。第1个阶段是开发测试,包括单元测试、集成测试、系统测试;第2阶段是发布测试;第3个阶段是用户测试,包括α测试、β测试和验收测试。
-
●7.3开发测试中的单元测试方法
本节主要介绍开发测试中的单元测试方法,包括黑盒测试的等价类划分法、边界值测试法等,以及白盒测试的逻辑覆盖法、基本路径测试法等。
-
●7.4开发测试中的集成测试和系统测试
本节主要介绍开发测试中的集成测试和系统测试。集成测试主要的目的是检查各单元模块结合到一起能否协同配合、正常运行。系统测试是对集成测试后的新版本系统进行测试,确保各组件是兼容且能正确交互。
-
●7.5发布测试和用户测试
本节主要介绍发布测试和用户测试。发布测试是在开发团队以外,针对系统的一个特定发布版本进行测试,由用户在模拟实际环境下的测试,然后发布给用户。用户测试主要是由用户在实际的应用环境中验证系统是否达到了需求规格说明书中的要求。
-
第八章软件演化和维护
通过这一章内容的学习,应该能够理解软件系统要不断演化才能适应新的业务和技术,软件的变更和演化是软件工程过程的一部分;了解遗留系统的含义及其重要性,如何对遗留系统进行评估,从而决定应该是抛弃、维护、再工程,还是替换这些系统;理解不同类型的软件维护及其处理优先级。
-
●8.1软件演化
本节主要介绍软件变更识别和演化的过程、软件演化过程模型、软件紧急修补过程,以及遗留系统的概念与处理方式。
-
●8.2软件维护
本节主要介绍软件维护,包括软件维护的类型、控制维护成本的策略、软件维护的方法,以及软件重构的概念及作用。
-
第九章软件项目管理
本章主要介绍软件项目管理。软件项目管理是指把各种系统、方法和人员结合在一起,针对具体的项目目标,对组织机构的资源进行计划、调度和控制,在规定的时间、预算和质量目标范围内完成软件项目的各项工作。
-
●9.1初识软件项目管理
本节主要介绍软件项目管理的概念、作用、特点,软件项目的组成要素以及软件项目管理的难点。
-
●9.2再看软件项目管理
本节主要介绍软件项目管理的过程,包括项目初始、项目计划、项目执行控制、项目结束,以及各个阶段的主要任务。