自考14125软件工程基础考试大纲(2026年版)
北京市高等教育自学考试课程考试大纲课程名称:软件工程基础课程代码:14125(笔试) 2026 年 6 月版
第一部分课程性质与设置目的
一、课程性质与特点
《软件工程基础》是北京市高等教育自学考试软件技术(专科)专业的一门专业核心课程,是在完成公共基础课程学习后开设的必考课。它是一门新兴的研究软件开发与维护的普通原理和技术的工程学科。本课程系统地介绍软件工程的基本概念、原理、方法和技术,涵盖软件生命周期的各个阶段,包括可行性研究、需求分析、设计、编码、测试、维护等,强调软件开发过程的规范化和工程化管理,注重培养学生运用软件工程方法解决实际问题的能力,使学生能够开发出高质量的软件产品。通过本课程的学习,使考生具备从事软件开发的基本能力,并为软件开发的过程管理奠定一定的基础。
二、课程目标与基本
要求本课程的目标是全面贯彻落实立德树人根本任务,掌握软件工程的基本概念、软件生命周期模型、可行性研究、需求分析、设计方法、编码规范、测试策略、软件维护等基础知识。理解软件工程的基本原理,如模块化、信息隐蔽、抽象等,能够运用这些原理进行软件系统的设计和开发。能够熟练运用结构化分析与设计方法、面向对象分析与设计方法进行软件系统的分析、设计和建模,具备一定的软件项目开发实践能力。熟悉软件项目管理的基本过程和方法,包括项目计划制定、成本估算、进度控制、风险管理等,能够有效地组织和管理软件项目。了解软件质量保证的重要性,掌握软件测试的基本方法和技术, 能够对软件产品进行有效的测试和质量评估。关注软件工程领域的新技术、新方法和新工具的发展,具备自主学习和不断更新知识的能力。
本课程的考核章节为第 1 到第 11 章,重点考核章节是:
第 1 章到第
8 章,第 11 章, 一般考核章节是第 9 章、第 10 章,不考章节第 12 章。
三、与本专业其他课程的关系
《软件工程基础》课程在软件技术(专科)专业的教学计划中被列为专业核心课,它以计算机程序设计基础、数据结构、操作系统概论、数据库及其应用等课程为基础,是这些课程知识的综合应用和实践延伸。程序设计语言为软件编码提供实现工具;数据结构和算法用于优化软件系统的数据组织和处理逻辑;操作系统知识有助于理解软件运行环境和资源管理;数据库原理则为软件系统中的数据存储和管理提供支持。同时,软件工程的学习也为后续的软件开发实践、软件项目管理等课程奠定理论和实践基础,帮助学生将所学知识融会贯通,形成完整的知识体系,更好地应对复杂的软件开发任务。
第二部分考核内容与考核目标第
1 章软件工程概述
(1)了解软件工程产生的背景,明晰软件危机的具体表现形式,深入理解软件工程的定义、目标以及基本原理。
(2)掌握软件生命周期涵盖的各个阶段,熟知每个阶段的核心任务,熟悉常见软件过程模型的特点与适用场景。
(3)能够运用软件工程的基础概念与原理,对软件项目开发进程中的问题展开分析,并合理挑选适配的软件过程模型。
(一)软件工程的产生识记:软件工程的产生;
软件危机的主要表现形式;
软件危机产生的原因。
理解:解决软件危机的途径。
(二)软件工程
识记:软件工程的定义。
理解:软件工程学的主要内容;
软件工程基本原理。
(三)软件生命周期
识记:软件生命周期的概念;软件生命周期包含的阶段。
理解:软件生命周期各阶段的主要任务。
(四)软件过程模型
识记:瀑布模型;快速原型模型;增量模型;喷泉模型;统一过程模型。
理解:瀑布模型的特点;快速原型模型的特点;增量模型的特点;喷泉模型的特点统一过程模型的特点。
第 2 章可行性研究与软件工程开发计划
(1)掌握软件定义的内容和方法,理解可行性研究的重要性和主要内容。
(2)学会制定软件工程开发计划,能够运用 Gantt 图和工程网络图进行项目进度安排。
(一)软件定义与可行性研究识记:系统定义的目的;
软件定义的任务;
明确系统的目标规模和基本要求;对现有系统的分析;
可行性研究的内容。
理解:设计新系统可能的解决方案。
应用:可行性研究的结论。
(二)软件工程开发计划的制订识记:软件工程开发计划书的主要内容;
软件工程项目概述;
软件工程实施计划。
理解:Gantt 图。
应用:工程网络图;
软件工程开发计划的复审。
第 3 章需求分析
(1) 理解需求分析的核心任务,掌握结构化分析方法的步骤,能运用图形工具和数据字典描述系统需求。
(2) 熟练使用实体 – 联系图、数据流图、状态转换图等工具建立系统逻辑模型。
(3) 掌握数据字典的编写方法及其与图形工具的配合应用。
(4) 熟悉需求分析文档的编写规范,能撰写软件需求规格说明书和用户手册要点。
(一)需求分析的任务识记:需求分析的过程;需求分析的任务。
应用:针对系统描述进行需求分析。
(二)结构化分析步骤识记:结构化分析的步骤。
理解:调查研究的目的;
调查研究的方法;
对需求规格说明书进行评审的内容。
(三)需求分析的图形工具识记:实体-联系图(E-R 图);数据流图(DFD 图);状态转换图;IPO 图。
理解:数据流图分层设计步骤。
应用:根据业务场景绘制 E-R 图;根据业务场景分层绘制数据流图;根据业务场景绘制状态转换图。
(四)数据字典
识记:数据字典的内容;数据字典使用的符号。
应用:为指定系统写出对应的数据字典。
(五)软件需求分析举例应用:针对给定场景绘制数据流图;针对给定场景绘制 E-R 图;针对给定场景绘制编写数据字典。
(六)需求分析文档
理解:软件需求规格说明书的基本框架;
用户手册主要内容;
编写需求分析文档的步骤。
第 4 章概要设计
(1)理解概要设计的任务和步骤,掌握软件结构设计的方法和原则。
(2)熟悉模块的概念、属性和设计原则,能够运用模块化思想进行系统设计。
(3)学会使用层次图、结构图等图形工具描述软件结构,了解面向数据流和面向数据结构的设计方法。
(4)能够编写概要设计说明书,培养从宏观角度设计软件系统架构的能力。
(一)概要设计步骤
识记:概要设计的基本任务;
概要设计的基本步骤。
(二)软件结构设计的基本原理识记:模块的概念;模块化的概念;
模块的耦合;模块的内聚。
理解:软件结构设计的优化规则。
应用:识别模块间耦合以及内聚类型;优化模块设计。
(三)软件结构设计的图形工具识记:层次图(H 图)的表示方法;结构图(SC 图)的表示方法。
理解:层次图的适用场景;结构图的适用场景。
应用:根据模块划分结果绘制层次图;根据模块划分结果绘制结构图。
(四)概要设计方法
识记:结构化方法的设计步骤;
面向数据结构设计方法(Jackson 方法)的基本步骤;
面向数据结构设计方法(Jackson 方法)的三种类型。
理解:变换型数据流的概念;事务型数据流的概念。
应用:变换型数据流的识别;事务型数据流的识别;将数据流图转换为软件结构;
使用 Jackson 方法设计简单数据处理程序的结构。
(五)概要设计文档与复审识记:概要设计说明书的内容;
数据库设计说明书的内容;
概要设计复审。
第 5 章详细设计
(1)掌握过程设计的方法和工具,能够运用流程图、盒图、 PAD、判定表、判定树、PDL 等工具进行算法设计和程序逻辑描述。
(2)理解用户界面设计的重要性和原则,掌握用户界面设计的过程和方法。
(3)熟悉数据代码设计、数据输入 / 输出设计、数据安全设计的原则和方法。
(4)能够编写详细设计说明书和操作手册,培养注重软件细节设计和用户体验的能力。
(一)过程设计
识记:流程图;盒图;PAD 图;判定表;判定树;过程设计语言。
应用:用流程图描述算法;用盒图描述算法;使用判定表设计条件逻辑;使用判定树设计条件逻辑。
(二)用户界面设计
识记:用户界面设计的问题;
用户界面设计过程的一般步骤;
用户界面设计的基本原则。
(三)数据代码设计
识记:代码的定义;代码的作用;代码的特性;数据代码设计原则;代码种类。
理解:数据代码设计方法。
(四)数据输入/输出设计识记:数据输入设计;
数据输出设计。
(五)数据安全设计
识记:安全事故的类型;
安全控制方法。
理解:数据安全受破坏时的应对措施。
(六)详细设计文档与复审识记:详细设计说明书;
操作手册。
理解:详细设计的复审。
第 6 章软件实现
(1)理解结构化程序设计的思想和方法,掌握选择程序设计语言的原则。
(2)了解程序设计风格的重要性,培养良好的程序设计习惯。
(3)掌握软件测试的目标、原则和方法,能够设计测试用例并进行软件测试。
(4)理解软件调试、验证与确认的概念和过程,能够运用调试技术查找和纠正程序错误。
(5)学会编写软件测试计划和测试报告,培养保证软件质量的意识和能力。
(一)结构化程序设计识记:结构化程序设计的概念;
结构化程序设计的三种控制结构;
结构化程序设计的特点。
(二)选择程序设计语言识记:常用程序设计语言;
理解:程序设计语言的发展;
应用:根据系统开发需要选择合适的语言。
(三)程序设计风格
识记:源程序文档编写规则;
程序效率。
(四)程序设计质量评价识记:程序设计质量评价因素。
(五)程序设计文档
识记:程序设计文档包含的内容。
(六)软件测试目标和原则识记:软件测试的目标。
理解:软件测试原则。
(七)软件测试方法
识记:静态分析与动态测试;
黑盒法与白盒法。
(八)软件测试步骤
识记:软件测试的步骤。
理解:模块测试;集成测试;程序审查会和人工运行;确认测试。
(九)设计测试方案
识记:等价类划分方法;
边界值分析法;
错误推测法;
逻辑覆盖法。
理解:等价类划分规则;
路径覆盖设计测试用例的基本步骤。
应用:对给定软件模块制定测试策略;设计等价类测试用例;设计边界值测试用例;
设计逻辑覆盖测试用例。
(十)软件调试、验证与确认识记:软件调试;
软件验证;
软件确认。
理解:软件测试与验证的区别。
(十一)软件测试计划和分析报告识记:软件测试计划;
软件测试报告的内容。
第 7 章软件维护
(1)理解软件维护的重要性和种类,掌握软件维护的过程和实施方法。
(2)了解软件可维护性的概念和度量方法,能够分析影响软件可维护性的因素。
(3)学会采取措施提高软件的可维护性,培养对软件系统进行长期维护和改进的能力。
(一)软件维护过程
识记:软件维护的概念;
软件维护的种类;
软件维护的实施;
软件维护的副作用。
理解:软件维护的困难。
应用:分析根据具体案例的辨别软件维护的类型。
(二)软件的可维护性识记:软件可维护性的概念;
影响可维护性的因素;
可维护性的度量;
提高软件的可维护性的手段。
第 8 章面向对象方法、
UML 及应用
(1)深入理解面向对象方法的核心概念,包括对象、类、实例、属性、消息继承、封装 、消息传递等,掌握其要点和主要优点。
(2)熟悉 UML 的基本概念、模型元素和各种图形表示法,能够运用 UML 进行系统建模。
(3)掌握面向对象分析的过程和原则,学会建立对象模型、动态模型和功能模型。
(4)理解面向对象设计的任务和步骤,能够运用面向对象方法进行软件系统的设计和开发。
(5)理解面向对象测试的目的,策略,步骤。
(6)掌握 UML 使用准则。
(一)面向对象方法概述识记:面向对象方法的概念;
面向对象方法的主要概念;
理解:面向对象方法的主要优点。
(二)UML 概述
识记:UML 的定义;
UML 的语义。
理解:UML 的设计目标;
UML 的扩展机制;
UML 包含的 5 类图。
(三)UML 图
识记:九种 UML 图的分类;九种 UML 图的用途;各类 UML 图的核心符号;各类UML 图的表示方法。
理解:类的关联关系;类的关联符号表示;
构件的类型。
应用:根据场景描述绘制类图;根据场景描述标注类图关联关系;根据场景描述标注类图关联中的数量关系;绘制简单系统的用例图;分析给定功能模块中对象的状态图;
分析给定功能模块中对象的顺序图;分析给定功能模块中对象的活动图 。
(四)面向对象分析
识记:面向对象分析的过程;
理解:面向对象分析的原则。
(五)建立对象模型
识记:确定对象和类;
确定类的相互关系。
理解:划分主题。
应用:为给定系统设计类图;为给定系统标注类图之间的关系;识别主动对象。
(六)建立动态模型
识记:动态模型描述的内容;
建立动态模型的步骤。
理解:编写脚本;
设计用户界面;
画顺序图;画活动图。
应用:绘制给定系统的状态图。
(七)建立功能模型
识记:功能模型的概念;
建立功能模型的步骤。
理解:类的服务的种类。
(八)面向对象设计
识记:面向对象设计的准则。
理解:系统设计的步骤;对象设计的步骤;
面向对象设计的启发式规则。
(九)面向对象系统的实现识记:面向对象程序设计。
理解:选择面向程序设计语言。
(十)面向对象的测试识记:面向对象测试策略;
面向对象的测试步骤。
理解:单元测试与传统测试的区别。
应用:根据系统与 UML 图设计测试用例。
(十一)UML 的应用识记:UML 模型;
UML 视图。
理解:UML 使用的准则。
第 9 章 WebApp 软件工程
(1)了解 Web 的特性和网络系统的层次结构,掌握客户端和服务器端使用的技术。
(2)理解 WebApp 的设计模式,掌握 WebApp 设计的方法和过程,包括需求分析、设计、测试等。
(3)能够运用所学知识进行 WebApp 的开发和设计,提高 Web 应用系统的质量和性能。
(一)Web 特性
识记:Web 的特性。
(二)网络系统的层次结构识记:二层 C/S 结构;三层 C/S 结构;四层 C/S 结构; B/S 结构。
(三)客户端使用的技术识记:HTML。
理解:脚本语言;
Applet;
AJAX。
(四)网络服务器端使用的技术理解:Servlet; JSP。
(五)WebApp 的设计模式识记:观察者模式;组合模式;模型-视图-控制器模式。
理解:工厂方法模式;策略模式;装饰者模式。
(六)WebApp 的设计识记:WebApp 的特点;
WebApp 需求分析的阶段;WebAPP 需求划分;
WebApp 的设计过程。
理解:WebApp 需求分析过程;
WebApp 体系结构设计。
(七)WebAPP 的测试识记:WebApp 测试过程。
理解:内容测试;界面测试;导航测试;配置测试;安全性测试;性能测试。
第 10 章软件重用和再工程
(1)理解软件重用的概念和重要性,掌握软件重用的过程和方法。
(2)了解软件逆向工程和再工程的概念和应用场景,能够分析软件再工程的可行性和实施策略。
(一)可重用的软件成分识记:可重用的软件成分。
(二)软件重用过程
识记:软件重用过程的模型。
理解:开发可重用的软件构件。
(三)软件逆向工程
识记:逆向工程的概念。
理解:逆向工程实现的方法。
(四)软件再工程
识记:软件再工程概念。
理解:软件再工程的阶段。
第 11 章软件工程管理
(1)掌握软件工程管理的主要内容,包括人员组织、成本估算、配置管理、质量保证、风险管理等。
(2)理解软件工程标准和文档的重要性,能够编写和管理软件工程文档。
(3)学会运用项目管理工具和方法,对软件项目进行有效的计划、组织、协调和控制,确保项目目标的实现。
(一)软件工程管理概述识记:软件产品的特点;
软件工程管理的内容。
理解:软件工程管理的重要性。
(二)软件开发成本估算识记:软件开发成本估算方法。
理解:程序环行复杂度的度量。
(三)软件工程人员组织识记:软件开发人员。
理解:组织机构。
(四)软件配置管理
识记:软件配置管理的概念;
软件配置管理的任务。
理解:可形成基线的软件配置项。
(五)软件质量保证
识记:软件质量的概念;
软件质量的特性。
理解:软件质量保证措施。
(六)软件开发风险管理识记:软件开发风险分类;
软件开发风险识别;
软件开发风险预测。
理解:处理软件开发风险的策略。
应用:根据系统描述可以识别软件项目中的风险,采取有效的风险应对措施,降低风险对项目的影响。
(七)软件工程标准与软件工程文档识记:软件工程标准化的定义;
软件工程标准的分类。
理解:软件工程标准的层次;
软件工程文档的编写。
应用:按照软件工程标准编写软件项目文档;进行软件项目文档管理和维护。
第三部分有关说明与实施要求
一、考核的能力层次表述
本大纲在考核目标中,按照“识记”、“理解”、“应用”三个能力层次规定其应达到的能力层次要求。各个能力层次为递进等级关系,后者必须建立在前者的基础上,其含义是:识记:能知道有关的名词、概念、知识的含义,并能正确认识和表述,是低层次的要求。
理解:在识记的基础上,能全面把握基本概念、基本原理、基本方法,能掌握有关概念、原理、方法的区别与联系,是较高层次的要求。
应用:在理解的基础上,能运用基本概念、基本原理、基本方法联系学过的多个知识点分析和解决有关的理论问题和实际问题,是最高层次的要求。
二、指定教材
《软件工程(第 4 版)》,陆惠恩主编,人民邮电出版社,2023 年版。
三、
自学方法指导
1.在开始阅读指定教材某一章之前,先翻阅大纲中有关这一章的考核知识点及对知识点的能力层次要求和考核目标,以便在阅读教材时做到心中有数,有的放矢。
2.阅读教材时,要逐段细读,逐句推敲,集中精力,吃透每一个知识点,对基本概念必须深刻理解,对基本理论必须彻底弄清,对基本方法必须牢固掌握。
3.在自学过程中,既要思考问题,也要做好阅读笔记,把教材中的基本概念、原理、方法等加以整理,这可从中加深对问题的认知、理解和记忆,以利于突出重点,并涵盖整个内容,可以不断提高自学能力。
4.完成书后作业和适当的辅导练习是理解、消化和巩固所学知识,培养分析问题、解决问题及提高能力的重要环节。在做练习之前,应认真阅读教材,按考核目标所要求的不同层次,掌握教材内容,在练习过程中对所学知识进行合理的回顾与发挥,注重理论联系实际和具体问题具体分析,解题时应注意培养逻辑性,针对问题围绕相关知识点进行层次 (步骤)分明的论述或推导,明确各层次(步骤)间的逻辑关系。
四、对社会助学的要求
1.应熟知考试大纲对课程提出的总要求和各章的知识点。
2.应掌握各知识点要求达到的能力层次,并深刻理解对各知识点的考核目标。
3.辅导时,应以考试大纲为依据,指定的教材为基础,不要随意增删内容,以免与大纲脱节。
4.辅导时,应对学习方法进行指导,宜提倡”认真阅读教材,刻苦钻研教材,主动争取帮助,依靠自己学通”的方法。
5.辅导时,要注意突出重点,对考生提出的问题,不要有问即答,要积极启发引导。
6.注意对应考者能力的培养,特别是自学能力的培养,要引导考生逐步学会独立学习,在自学过程中善于提出问题,分析问题,做出判断,解决问题。
7.要使考生了解试题的难易与能力层次高低两者不完全是一回事,在各个能力层次中会存在着不同难度的试题。
8.助学学时:本课程共 4 学分,建议总课时 72 学时,其中助学课时分配如下:
章次 内容 学时
第 1 章软件工程概述第
2 章可行性研究与软件工程开发计划第 3 章需求分析第 4 章概要设计第 5 章详细设计第 6 章软件实现第 7 章软件维护第 8 章面向对象方法、UML 及应用第 9 章 WebApp 软件工程第 10 章软件重用和再工程第 11 章软件工程管理合计
五、关于命题考试的若干规定
1.本大纲各章所提到的内容和考核目标都是考试内容。试题覆盖到章,适当突出重点。
2.笔试的比例一般为识记占 40%,理解占 30%,应用占 30%。
3. 试题难易程度应合理:易、中等难度、难。难题部分比例不超过 20%。
4.笔试试题类型一般分为:单项选择题,多项选择题,填空题,简答题,设计题。
5.笔试采用闭卷考核方式,考试时间 150 分钟,按百分制计分,60 分为及格。
六、题型示例
(一)单项选择题
在软件维护中,为了使软件产品在新的环境下仍能使用而进行的维护称为 A.改正性维护 B.适应性维护 C.完善性维护 D.预防性维护(二)多项选择题以下属于面向对象方法中类的关系的有 A.关联关系 B.依赖关系 C.泛化关系 D.聚合关系(三)填空题软件生命周期中,详细设计阶段的主要任务是确定每个模块的 。
(四)简答题
简述软件测试的目标和原则。
(五)设计题
设计一个简单的学生成绩管理系统,要求能够实现学生成绩的录入、查询、统计(如计算平均分、总分、各分数段人数等)功能。请使用面向对象方法进行系统设计,包括确定类、类的属性和方法,画出类图,并简要描述系统的工作流程。
