Skip to content

课程内容与考核要求

13005,《软件工程》,全国高等教育自学考试指导委员会组编,张琼声编著,机械工业出版社,2024年出版。

第一章 软件工程概述

一、学习目的与要求

本章要求考生掌握软件、软件工程的含义和软件工程学科的范畴;掌握软件开发的一般性过程;掌握软件过程模型,理解每种模型适合的软件系统、每种模型的主要工作步骤;掌握敏捷开发的基本思想、开发过程及工具。

二、课程内容

1.软件

2.软件工程

3.软件过程

4.软件过程模型

5.敏捷开发

三、考核知识点与考核要求

1.软件 识记:软件的定义;软件的特点。 2.软件工程 识记:软件工程的定义、软件工程的研究领域。领会:软件危机面临的问题。 3.软件过程 识记:软件过程的定义;软件过程模型的定义;软件过程包含的4种基本活动;需求分析阶段的目标;软件设计阶段的目标;软件设计的步骤;软件设计的任务;软件实现阶段的任务。 4.软件过程模型 领会:瀑布模型将软件过程划分哪几个阶段,每个阶段的任务,瀑布模型存在的问题;原型模型的软件开发过程,原型模型存在的问题;螺旋模型的特点,按照螺旋模型进行软件开发的过程;统一过程模型,统一过程模型包括的5个工作阶段及每个阶段的工作内容。 5.敏捷开发 领会:敏捷开发的基本思想、过程和工具;Scnum模型和XP模型的软件开发过程;Scrum模型的团队、冲刺会议;XP模型的关键任务。

四、本章重点、难点

本章的重点是软件工程的定义、软件工程要解决的问题及各种软件过程模型。难点是敏提开发的应用。

第二章 结构化软件开发方法

一、学习目的与要求

本章要求考生掌握软件需求分析的任务、遵循的原则和需求分析的步骤;掌握需求规格说明书的内容及各种图表的用途,能够掌握需求分析的方法;掌握软件设计的任务、步骤、基本方法、软件设计的基本策略、软件设计文档的内容与形式;掌握概要设计的方法和详细设计的任务、过程和表达方法。

二、课程内容

1.软件需求分析

2.软件设计

3.结构化系统设计

4.详细设计

三、考核知识点与考核要求

1.软件需求分析 识记:需求分析的任务;需求分析应遵循的原则;需求分析的5个步骤;数据流图的符号;数据字典使用的符号;结构化分析的定义。 领会:需求规格说明书的主要内容;数据流图、数据字典、分层数据流图。 简单应用:数据流图的作用及画法;数据字典的作用、对不同类型数据的描述方法;结构化语言、判定表、判定树。 综合应用:进行结构化分析;画数据流图;对分层数据流图中的数据和加工进行说明。 2.软件设计 识记:软件设计的基本步骤;软件设计的任务;概要设计阶段的工作内容;设计规范的制定。 领会:软件体系结构的总体设计需要完成的工作内容;处理方式的设计涉及的内容;详细设计过程中需要完成的3个主要任务;软件设计的基本策略;数据结构设计包括的内容;可靠性的含义;模块的概念、模块的基本属性、模块化带来的好处、模块的独立性;分解、信息隐藏、模块独立性;模块间的耦合、非直接耦合、数据精合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合;巧合内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、信息内聚;概要设计阶段文档的构成。 3.结构化系统设计 识记:软件结构的典型形式;变换型系统的组成;事务型系统的特征与组成;SC图的表示符号。 领会:变换型结构的基本模型;事务型结构的基本模型。 综合应用:用变换分析法画SC图、用事务分析法画SC图、对软件模块结构的改进。 4.详细设计 识记:详细设计的目的与任务;程序流程图的常用标准符号。领会:详细设计的原则;结构复杂性度量;环域复杂度;交叉点复杂度。综合应用:程序流程图;N-S图;伪代码。

四、本章重点、难点

本章的重点是需求分析的任务、工作步骤、表达需求的工具、需求分析文档的内容;结构化设计的步骤、任务、原则和设计文档的内容;结构化设计中模块的独立性。 难点是利用数据流图、数据字典、数据结构图、判定树、判定表等工具描述需求分析的结果;利用SC描绘软件结构;利用程序流程图、N-S图、伪代码等工具描绘软件的详细设计。

第三章 面向对象的软件开发方法

一、学习目的与要求

本章要求考生掌握面向对象的基本概念、UML常用图的画法和用途;掌握面向对象分析的过程和建模方法,能使用活动图、用例图、时序图、类图、状态图描述系统需求;掌握面向对象的设计过程、设计准则、软件的体系结构;能够用体系结构图、包图、构件图、部暑图、时序图、设计类图描述软件系统的设计模型;掌握构件设计的基本思想和用户界面的设计原则。

二、课程内容

1.面向对象的基本概念

2.统一建模语言

3.面向对象的需求分析

4.面向对象的设计

三、考核知识点与考核要求

1.面向对象的基本概念 识记:对象、类、封装、继承、多态、重载。 2.统一建模语言 识记:UML的定义和用途。 领会:用例图、时序图、协作图、类图、状态图、组件图、部署图的作用及画法。 3.面向对象的需求分析: 识记:面向对象分析的任务;面向对象分析常用的5种图;活动图的作用与图标;用例图的作用与规范;对象模型中的实体类、边界类、控制类;类的组成;类图的作用与规范;类中的属性和操作;类关系的图标;时序图的作用;状态图的作用与规范。 领会:基于用例实现的面向对象的建模步骤;对用例图的描述;类之间的关系:关联关系、泛化关系、整体一部分关系、依赖关系、多重性;类的筛选;时序图中的对象、消息、生命线、活动棒;状态图建模。 综合应用:确定系统的范围,建立系统的上下文模型;进行业务分析得到描述业务的活动图;根据活动图及与业务人员的沟通得到描述系统功能的用例图;通过识别类、对象、属性、操作与关联建立系统的分析类图;通过画时序图描述系统的交互过程和操作的顺序关系;建立动态模型的状态图,描述事件在不同用例之间的迁移,进一步描述系统的业务逻辑。 4.面向对象的设计 识记:面向对象设计的任务;面向对象软件设计需要完成的工作;面向对象软件设计的基本步骤;包图的作用与规范;构件的定义与构件图规范;部署图的作用与规范;构件级设计主要关注的问题;构件级设计的基础;用户界面设计的黄金规则。 领会:面向对象软件设计的准则;模块化、抽象、信息隐藏、低耦合、高内聚、可重用;分层体系结构;三层架构;MVC模式;MVC模式的优点:MVC模式的Web应用体系结构;构件级设计的重要性。 综合应用:用包图描述子系统;设计构件;画出基于实体类的构件图;设计系统的物理体系结构并用部署图对其进行描述;通过构件级设计,根据分析类图、时序图,经过设计过程确定每个设计类的属性和操作,通过反复选代得到系统的设计类图。

四、本章重点、难点

本章的重点是面向对象的基本概念,UML的常用图,面向对象需求分析的任务、工作步骤,表达需求的工具,需求分析模型的建立(用例图、分析类图、时序图、状态图);面向对象设计的任务、方法和系统的设计模型。 难点是根据业务逻辑建立面向对象的需求模型,根据需求模型建立软件的设计模型(包图、构件图、部署图、设计类图)。

第四章 移动应用的设计与测试

一、学习目的与要求

本章要求考生了解移动应用的特点;掌握移动应用开发的5个选代阶段;理解将敏捷开发与5个选代阶段相结合的方法,并能够将这种方法应用到实际系统的开发中;理解移动应用界面设计需要特别注意的问题和用于界面设计的3种模型、移动计算环境的层次结构、环境感知的含义;掌握WebApp设计的内容、设计的基本思想及一些基本的方法;掌握移动应用测试要完成的工作内容及测试方法。

二、课程内容

1.移动应用的特点

2.移动应用开发的软件过程

3.移动计算环境与环境感知APP

4.WebApp设计

5.移动软件的测试

三、考核知识点与考核要求

1.移动应用的特点 识记:移动应用具有的3个特点。 领会:移动应用强调用户体验;需求及环境复杂;技术难度高;移动应用开发需要解决的技术难题。 2.移动应用开发的软件过程 识记:移动应用采用敏捷开发模型;移动应用开发的5个送代阶段。 领会:移动应用界面设计需要考虑的问题;用于移动应用的界面设计的3种模型;3种设计移动应用程序的方法;在移动应用的设计中应该尽量避免的问题。 3.移动计算环境和环境感知ApP识记:云计算的3层体系结构。 4.WebApp设计 识记:保证WebApp质量的必要步骤;WebApp设计的内容;WebApp界面的目标;导航语义单元;导航元素;WebApp构件。 领会:美学设计的参考原则;内容设计的任务;内容体系结构;WebApp体系结构;MVC体系结构的视图、控制器、模型部分的功能;导航设计的内容和方法;WebApp构件设计;影响移动App质量的6个重要因素。 5.移动软件的测试 识记:移动软件测试的目标;与用户体验相关的测试内容;WebApP内容测试的3个目标:导航测试的内容;压力测试的内容;负载测试的内容。 领会:移动App测试应遵循的准则及策略;手势测试;虚拟键盘输人;语音输人和识别;警报和异常条件;Web测试的内容和策略;内容测试方法;界面测试的策略和界面测试工作的内容;导航测试的方法;安全性测试的目的;解决安全性问题的技术;性能测试的目的;影响性能的因素;压力测试方法;负载测试方法;实时测试的必要性和进行实时测试的方法;人工智能测试中的静态测试、动态测试、基于模型的测试;基于模型的测试步骤;虚拟环境测试的内容及方法;α测试与β测试;文档测试的两个阶段;文档测试可使用的测试技术。

四、本章重点、难点

本章的重点是移动应用(包括WebApp)的特点、移动应用设计的内容及方法、移动应用的测试内容及技术。难点是基于构件的移动应用的建模。

第五 章软件测试

一、学习目的与要求

本章要求考生掌握软件测试的目的和测试的基本步骤;掌握软件单元测试、组装测试、确认测试、系统测试的目的、方法;动态测试的黑盒法和白盒法以及黑盒法和白盒法测试用例的设计方法;掌握穷举测试法、边界值分析方法;理解静态测试的内容、方法;掌握程序调试的方法和原则;了解软件测试工具。

二、课程内容

1.软件测试概述 2.软件测试的方法与技术 3.单元测试 4.组装测试 6.静态测试 5.确认测试 7.调试技术 8.软件测试工具

三、考核知识点与考核要求

1.软件测试概述 识记:软件测试的定义;软件测试的步骤;软件测试的对象。领会:软件测试的目标;软件测试工作应遵循的原则。 2.软件测试的方法与技术 识记:黑盒测试原理;等价类;白盒测试原理;穷举测试的定义;选择测试的定义;边界值测试的目的。 领会:设计黑盒法测试用例的步骤;边界值分析方法选择测试用例的原则。 简单应用:黑盒测试中的等价类划分、测试用例的设计;白盒测试的语句覆盖、判定覆盖、条件覆盖、条件组合覆盖、判定-条件覆盖、路径覆盖技术的测试用例的设计;边界值分析方法测试用例的设计。 3.单元测试 识记:单元测试的定义;单元测试的步骤;单元测试5个方面的内容;驱动模块;桩模块。 领会:模块接口测试;局部数据结构测试;路径测试;错误处理测试;边界测试。 4.组装测试 识记:组装测试的4种组装方式。 领会:自顶向下组装测试的步骤;自顶向下组装测试的评价;自底向上组装测试的步骤;自底向上组装测试的评价;组装测试计划时应考虑的问题;组装测试完成的标志。

5.确认测试 识记:确认测试的任务;软件配置复审的目的。 领会:确认测试阶段需要完成的工作及步骤;有效性测试的任务;系统测试的任务;软件测试的种类及其适用阶段。 6.静态测试 识记:程序静态分析的几种方法;静态错误分析的工作内容。 领会:在程序的静态分析中使用各种引用表;错误分析的变量类型分析、引用分析、表达式分析、接口分析;人工测试的桌前检查、代码评审和走查。 7.调试技术 识记:程序调试的任务;调试活动的组成;调试可采用的方法。 领会:程序调试的步骤;强行排错的方法;回溯法排错的基本方法;归纳法排错的步骤;演绎法排错的主要步骤;确定错误性质与位置的原则;修改错误的原则。 8.软件测试工具 识记:静态分析工具的组成;测试数据自动生成工具的分类;动态测试工具按功能的分类。 领会:静态分析工具的功能;测试覆盖监视程序的工作过程;动态断言处理程序的工作过程;符号执行结果的两个用途;测试结果分析程序的功能;模块测试台的功能;集成测试环境的构成和作用。

四、本章重点、难点

本章的重点是软件测试的目标、对象、步骤;软件测试的黑盒法、白盒法、穷举测试法、选择测试法、边界值分析法;软件组装测试的方法;软件的调试方法;静态测试和动态测试方法。 难点是根据具体问题选择合适的测试方法,设计黑盒法、白盒法、边界值分析、选择测试的测试用例。

第六章 软件维护

一、学习目的与要求

本章要求考生掌握软件维护的定义、分类、引起软件维护的原因、影响软件工作量的因素及软件维护成本的评估。掌握软件维护工作的基本步骤和工作流程,理解软件的可维护性及评价软件可维护性的指标,掌握提高软件可维护性的技术,理解软件维护中修改程序应注意的问题及软件维护过程中文档的重要性和维护文档的必要性。

二、课程内容

1.软件维护概述

2.软件维护的过程

3.软件的可维护性

4.提高软件可维护性的方法

三、考核知识点与考核要求

1.软件维护概述 识记:软件维护的定义;软件维护的原因;软件维护的分类。 领会:影响维护工作量的因素;改正性维护、适应性维护和完善性维护采取的不同策略;维护工作量的模型。 2.软件维护的过程 识记:软件维护期间对程序进行修改的3个步骤。 领会:维护机构的组织及组织内的分工;维护申请报告的内容;软件维护工作的一般步骤;维护档案记录;维护性能方面的度量值;分析理解程序必须完成的工作和所采取的方法;程序修改计划的内容及程序修改的方法;修改程序时应遵循的要求;重新验证程序的方法;修改代码的副作用;数据的副作用;文档的副作用。 3.软件的可维护性 识记:软件可维护性的定义;衡量软件可维护性的7个指标;可理解性的定义;可靠性的定义及度量可靠性的方法;可测试性的定义;可修改性的定义;可移植性的定义及可移植性好的程序具有的特点;效率的定义;可使用性的定义。 领会:可理解的程序应具备的主要特性;程序修改难度的估算公式;间接定量度量可维护性的方法中涉及的指标。 4.提高软件可维护性的方法 识记:模块化的优点;好的文档的作用及意义;3种历史文档。 领会:提高软件质量的技术和工具;保证软件可维护性的3种软件审查;验收检查必须遵循的最小验收标准;选择易维护的程序设计语言;改进程序文档。

四、本章重点、难点

本章的重点是软件维护工作的机构、软件维护的步骤、软件可维护性的度量、提高软件可维护性的方法。难点是理解在软件开发各阶段如何考虑和采取提高软件可维护性的方法。

第七章 软件项目管理

一、学习目的与要求

本章要求考生掌握项目管理工作涉及的对象、软件项目的开发步骤、软件项目的特点以及软件项目管理涉及的工作。理解软件度量的基本概念,掌握面向规模、面向功能以及软件质量的度量内容和度量方法。理解风险评估的意义,掌握风险评估的内容和风险识别、风险估计、风险驾驭与监控的基本方法。掌握软件开发成本评估的基本方法、软件项目进度计划、表示和控制的基本方法。

二、课程内容

1.软件项目管理概述

2.软件项目中的度量

3.软件项目的评估

4.进度计划及管理

三、考核知识点与考核要求

1.软件项目管理概述 识记:软件项目管理的对象;参与软件项目的5类相关人员;在确定软件范围的活动中,问题分解的两个主要方面;软件项目管理的工作内容;软件项目管理中存在的困难;软件管理的主要职能。 领会:规划软件工程团队结构时应该考虑的7个项目因素;软件范围;问题分解;影响软件过程模型选择的因素;项目管理中可能会遇到的问题;成功的软件项目和精心设计的过程模型中存在的特征。 2.软件项目中的度量 识记:软件产品的直接度量;软件产品的间接度量;软件生产率的度量公式;软件质量的度量公式;软件成本的度量公式。 领会:软件度量的目的;面向规模的度量指标;面向规模的数据表格;面向功能的软件度量指标;功能点的计算;功能点度量的适用范围;软件正确性的度量;软件可维护性的度量;软件完整性的度量;软件可使用性的度量。 3.软件项目的评估 识记:风险估计的4种活动:风险范围的含义;风险事件的含义;评价风险的三元组中每个指标的含义;风险管理的任务;风险监控的3个主要目标;软件开发成本的估算依据。 领会:项目风险包括的问题;技术风险包括的问题;商业风险包括的问题;风险识别的任务与方法;风险参照水准;风险评价的步骤;风险管理步骤;软件开发成本估算方法:自顶向下的估算方法、自底向上的估算方法、差别估算方法;软件开发成本估算模型:IBM模型、Putnam模型、COCOMO模型。 4.进度计划及管理 领会:进度管理的重要性;项目团队与软件生产率的关系;根据软件进度计划确定可并行的任务;PERT和CPM为项目提供的定量工具;软件进度与质量之间的关系。 简单应用:用甘特图表示软件项目的进度;任务网络图;进度追踪的方式。

四、本章重点、难点

本章的重点是软件项目管理工作的主要内容、软件的度量、软件项目的风险评估和成本评估、软件项目的进度管理。难点是软件质量的评估、风险控制和进度管理。

题型举例

一、单项选择题:本大题共10小题,每小题2分,共20分。在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。

在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。下列关于用例图的叙述中,正确的是【】。 B.用例图用于表示系统中类的构成 D.用例图用于表示系统的状态变化 A.用例图用于描述系统的业务 C.用例图用于描述系统的功能

二、填空题:本大题共10 小题,每小题1分,共10 分。

类的定义包括一组数据属性和对这组数据的一组合法

三、名词解释题:本大题共5小题,每小题4分,共20分。

对象

四、简答题:本大题共6小题,每小题5分,共30分。

状态图的作用是什么?如何识别对象的状态空间?五、应用题 1.请为下列C语言程序设计语句覆盖测试的测试用例。finclude <sdio.h> int main()1intA,B,X; X=1; seanf("%d%d%d”,&A,& B);f(A> 1 &&B==0) X=X+100; (A ==211B==2)1 X=X+1; pinf("X =%d\n², X);returm 0; 2.某企业简化后的会计核算系统的业务流程说明如下。 1)会计人员根据原始单据和已存在的会计科目数据,填写记账凭证,系统生成记账凭证数据。 2)系统对记账凭证数据进行分类汇总,生成总账数据。3)系统根据总账数据打印会计报表。 请完成下列任务。 1)该会计核算系统的数据流程图中有哪几个数据处理功能?有哪几个数据存储?2)请画出该会计核算系统的数据流程图。