-
第一章绪论
本章概述了软件工程领域的基本内容。首先介绍了软件的发展及特点,软件开发中存在的严重(软件危机),软件工程的特点、目标、面临的问题;然后简要介绍了软件生存期的各阶段及各种软件开发方法;最后介绍了软件工程师应遵循的职业道德。
-
●1.1软件
本节介绍了软件的基本概念。首先从软件无处不在,引入软件的定义;然后介绍软件的特点、分类及发展。
-
●1.2软件危机
本节介绍了软件危机的基本概念。首先从典型的软件失败案例,引入软件危机的定义;然后介绍软件危机的表现,分析产生的原因,提出解决途径。
-
●1.3软件工程
本节介绍了软件工程的基本概念。首先从建筑工程,引入软件工程的定义;然后介绍软件工程的特点、目标及面临的问题。
-
●1.4软件生存期
本节介绍了软件生命周期的基本概念。首先从人的生命周期,引入软件生命周期的定义;然后介绍了软件生命周期各阶段的任务。
-
●1.5软件职业道德规范
本节介绍了软件工程职业道德规范。首先介绍软件工程师应遵循的守则和IEEE/ACM 职业道德准则;然后介绍了软件工程人员的职业道德建设。
-
●1.6软件工程在项目开发中的体会
本节主要是企业人员分享《软件工程》在项目开发中的体会。介绍公司软件开发的基本流程。并介绍软件工程课程为开发出高质量的软件产品,提供思路和解决方法。
-
第二章软件生成期模型
本章介绍了典型的软件生存期模型。首先介绍了传统的瀑布模型、快速原型、增量模型、螺旋模型的表示与优缺点;然后介绍演化的喷泉模型、统一过程、基于构件的开发模型的表示及特点;最后介绍敏捷方法,极限编程模型与Scrum模型。
-
●2.1传统的生存期模型
本节介绍了传统的生存期模型的表示及优缺点。首先从生存期特点,引入瀑布模型;针对瀑布模型的缺点,引入快速原型、增量模型、螺旋模型。
-
●2.2演化的生存期模型
本节介绍了演化的生存期模型的表示及优缺点。针对面向对象技术的应用,引入了演化喷泉模型;然后介绍了统一过程模型与基于构件的开发模型。
-
●2.3敏捷过程
本节介绍了敏捷过程的基本概念。重点介绍了极限编程模型与Scrum模型的表示及优缺点。
-
第三章结构化分析
本章将从结构化方法的角度描述系统分析阶段的主要工作,主要包括可行性分析的基本内容,需求分析的重要性及相关内容,系统功能建模、数据建模、行为建模和描述加工规格说明的方法。
-
●3.1可行性分析
本节介绍可行性分析的基本内容。从目的、任务、步骤以及内容结构四个方面入手,重点讲述了可行性研究的任务。
-
●3.2需求分析
软件需求分析是软件开发期的第一阶段,是软件生存周期中最重要的一步,是关系到软件开发成败的关键步骤。本节主要从软件需求分析的任务、步骤和常用分析方法进行了介绍。
-
●3.3功能建模
本节介绍结构化分析方法的分析模型和分析策略,重点讲述系统功能的描述工具——数据流图(DFD),包括DFD的组成、绘制方法及优化等内容。
-
●3.4数据字典
本节介绍数据字典的概念和主要结构组成,描述加工规格说明的工具,重点介绍判定树和判定表的构建方法。
-
●3.5数据建模和行为建模
本节介绍数据建模工具——E-R图和行为建模工具——状态图,根据系统描述如何构建系统的概念模型和状态图。
-
第四章结构化设计
本章介绍结构化设计的基本内容。介绍把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计说明书”文档中,所以,软件设计是一个把软件需求转换为软件表示的过程。
-
●4.1软件设计概述
本节介绍软件设计的相关概念,软件设计的任务、结构化设计的主要内容以及与结构化分析的对应关系。
-
●4.2结构化设计的基本原则
本节介绍结构化设计的基本原则,重点讲述模块化原则以及如何从耦合与内聚的角度判定模块的独立性原则。
-
●4.3变换分析
本节介绍了数据流图的常见类型以及如何将变换型的数据流图转换为初始模块结构图的映射技术——变换分析技术。
-
●4.4事务分析及优化
本节介绍如何将事务型的数据流图转换为初始模块结构图的映射技术——事务分析技术以及如何对转换后的初始模块结构图进行优化。
-
●4.5接口分析
本节介绍接口设计的基本原则和主要内容,主要介绍了人机交互界面设计的方法。
-
●4.6数据库分析
本节介绍数据库的基本概念、数据库设计的主要任务以及数据库的规范化理论。主要介绍了概念模型到数据模型的转换策略。
-
●4.7过程分析
本节介绍过程设计的主要工具及优缺点。包括模块结构设计与过程设计。
-
第五章面向对象分析
本章介绍了面向分析的基本内容。首先介绍了面向对象方法的一些基本概念,包括类与对象、继承、多态等;然后介绍了UML建模技术,包括用例图、类图、交互图等;最后以具体案例重点讨论了面向对象分析中的用例模型、对象模型、动态模型的建立方法与步骤。
-
●5.1面向对象概念
本节介绍了面向对象的基本概念。首先从面向对象方法,引入对象、类、消息的概念;然后介绍面向对象的基本特征,包括封装、继承与多态。
-
●5.2UML概述
本节介绍了UML的基本概念。首先从各种面向对象技术,引入UML建模;然后介绍了UML的四个主体内容,包括视图、图、模型元素、通用机制。
-
●5.3用例建模
本节介绍了用例建模的基本内容。首先从具体案例,介绍如何识别参与者、识别需求用例;并撰写用例规约;然后介绍如何创建用例图。
-
●5.4对象建模
本节介绍了对象建模的基本内容。首先从具体案例,介绍如何划分主题、确定类与对象、确定结构与关联、属性与服务;然后介绍如何建立类图。
-
●5.5动态建模
本节介绍了动态建模的基本内容。从具体案例,介绍动态模型的建立步骤,包括顺序图、协作图、状态图与活动图的创建。
-
第六章面向对象设计
本章介绍了面向设计的基本内容。首先介绍了面向对象设计过程及准则,然后介绍了体现结构设计及设计模式等;最后介绍了面向对象设计的4部分5层次,并重点介绍了对象设计。
-
●6.1面向对象设计概述
本节介绍了面向对象设计的基本概念。首先介绍了面对对象设计过程,然后介绍了模块化、抽象、弱耦合、强内聚、可重用等面向对象设计准则。
-
●6.2体系结构设计
本节介绍了体现结构设计的基本概念。首先介绍了体系结构的概念和意义,然后介绍了体系结构模式、风格和框架的概念,最后重点介绍了几种典型的体系结构风格。
-
●6.3面向对象设计模型
本节介绍了面向对象设计模型的基本内容。首先介绍了面向对象系统设计概念,然后介绍了Coad & Yourdon模型的4个部分5个层次。
-
●6.4设计模式
本节介绍了设计模式的基本内容。首先介绍了设计模式的基本概念,然后重点介绍了抽象工厂和中介者模式。
-
●6.5对象设计
本节介绍了对象设计的基本内容。首先介绍使用模式设计对象,然后介绍接口规格说明、对象模型重构及对象模型优化。
-
第七章软件实现
本章介绍了软件实现的基本内容。首先介绍了软件实现的基本知识,程序员应具备的能力;然后介绍了编码的总体要求,编码风格和质量问题,特别强调了编码规范。
-
●7.1软件实现概述
本节介绍了软件实现的基本知识。首先介绍了什么是软件实现,软件实现的工作和要求;然后介绍了程序员应具备的能力,以及如何做好程序员。
-
●7.2编码风格与规范
本节介绍了编码风格与规范。首先介绍了编码的总体要求,编码风格与质量问题;然后特别强调了编码规范。
-
第八章软件测试
本章介绍了软件测试与维护的基本内容。首先介绍软件测试的基本概念;然后从具体案例,介绍白盒测试方法与黑盒测试方法,并介绍了软件测试策略;最后介绍了软件维护的基本概念。
-
●8.1软件测试概述
本节介绍了软件测试的基本概念。首先从软件缺陷的案例入手,介绍了软件测试的定义、原则及分类;然后介绍了软件测试过程与软件测试流程。
-
●8.2白盒测试
本节介绍了白盒测试的基本概念。从具体案例入手,介绍了逻辑覆盖,包括语句覆盖、判定覆盖、条件覆盖等;然后介绍了基本路径测试。
-
●8.3黑盒测试
本节介绍黑盒测试的基本概念。从具体案例入手,重点介绍了等价类划分与边界值分析的步骤与测试用例设计。
-
●8.4测试策略
本节介绍了软件测试策略的基本内容。首先介绍了单元测试、集成测试、确认测试、验收测试、系统测试、回归测试的基本概念;然后介绍了调试方法及策略。
-
●8.5软件维护
本节介绍了软件维护的基本概念。从软件生存期入手,介绍了软件维护的定义及分类;然后介绍了软件维护的过程及副作用;最后介绍了软件的可维护性。
-
第九章软件项目管理
本章介绍了软件项目管理的基本知识。首先介绍了项目管理的定义,软件项目管理的十大知识域和五个过程组;接着介绍了项目估算的内容和方法,项目进度管理的的主要问题及措施;然后介绍了风险管理的任务,风险评估和风险控制。
-
●9.1项目管理概述
本节介绍了项目管理的基本知识。首先介绍了项目的定义和特征,软件项目的特殊性;然后介绍了项目管理的定义,十大知识域和五个过程组。
-
●9.2项目估算
本节介绍了项目估算的基本知识。首先介绍了项目策划与项目估算的关系,项目估算的内容,项目估算的方法;然后通过案例分析,介绍了采用功能点方法进行规模估算。
-
●9.3进度管理
本节介绍了进度管理的基本知识。首先介绍了项目进度管理的定义,主要过程和目标,进度管理的主要问题及措施,并进行了案例分析;然后介绍了进度管理工具的使用。
-
●9.4风险管理
本节介绍了风险管理的基本知识。首先介绍了风险管理的定义、特点和分类,风险管理的任务;然后介绍了风险评估和风险控制。