软考中项第5章:软件工程,核心知识点与备考重点

文章目录

    • 一、需求工程
      • [1. 需求分类(QFD 视角)](#1. 需求分类(QFD 视角))
      • [2. 需求获取与分析](#2. 需求获取与分析)
      • [3. 需求规格说明(SRS)与验证](#3. 需求规格说明(SRS)与验证)
      • [4. 需求变更管理](#4. 需求变更管理)
    • 二、软件设计
      • [1. 结构化设计(SD)](#1. 结构化设计(SD))
      • [2. 面向对象设计(OOD)](#2. 面向对象设计(OOD))
      • [3. UML 图分类](#3. UML 图分类)
      • [4. 设计模式](#4. 设计模式)
    • 三、软件实现与配置管理
    • 四、软件测试
      • [1. 测试类型](#1. 测试类型)
      • [2. 黑盒与白盒](#2. 黑盒与白盒)
      • [3. 调试策略](#3. 调试策略)
    • 五、部署与交付
      • [1. 部署模式](#1. 部署模式)
      • [2. 镜像部署三环节](#2. 镜像部署三环节)
      • [3. 蓝绿部署 vs 金丝雀部署](#3. 蓝绿部署 vs 金丝雀部署)
      • [4. 持续交付](#4. 持续交付)
    • 六、软件质量管理
      • [1. 质量观点与 SQA](#1. 质量观点与 SQA)
      • [2. 软件过程能力成熟度(CMMI)](#2. 软件过程能力成熟度(CMMI))
    • 七、易混淆辨析
    • 八、例题精选
    • 九、考点总结
    • 相关推荐

一、需求工程

1. 需求分类(QFD 视角)

类型 含义 考试要点
常规需求 用户认为系统应该做到的功能 明确表达、可写入 SRS
期望需求 用户想当然认为应具备的功能 未明说但用户期待;缺失会影响满意度
意外需求(兴奋需求) 超出预期的功能 有则更高兴,无也不影响基本购买决策

2. 需求获取与分析

获取需求常用访谈、问卷、焦点小组、联合需求计划(JRP)、头脑风暴等方法。

需求分析 要把已拿到的需求提炼、审查一遍,揪出错误、遗漏和不足,重点看完整性、一致性、可测试性、确定性、可跟踪性、正确性。

方法 核心要点
结构化分析(SA) 以数据流为中心;层次:数据流图、数据字典、加工说明
面向对象分析(OOA) OOA 模型五层:主题层、类&对象层、结构层、属性层、服务层

OOA 基本原则:

原则 要点
抽象 过程抽象 + 数据抽象;OOA 核心是数据抽象
封装 属性与服务结合为不可分割单位
继承 特殊类自动拥有一般类属性和服务
分类 相同属性和服务的对象划为一类
聚合(组装) 复杂事物由若干简单事物组成

3. 需求规格说明(SRS)与验证

国家标准规定 SRS 应包括:范围、引用文件、需求、可跟踪性、尚未解决问题、注解和附录等。

**需求验证(确认)**须确认:

  1. SRS 正确描述满足项目干系人需求的软件
  2. 软件需求从系统需求、业务规则等正确导出
  3. 需求完整且高质量
  4. 需求表示各处一致
  5. 需求支持后续设计、实现与测试

4. 需求变更管理

变更流程:识别问题 → 问题分析与变更描述 → 变更分析与成本计算 → 变更实现。

策略 要点
变更控制 所有变更须走变更控制过程
未批准不变更 未获批准不得进入设计与实现

二、软件设计

1. 结构化设计(SD)

SD 面向数据流,把软件拆成模块组成的层次结构;管理上分概要设计 和详细设计两级。

模块设计原则:

概念 考试口径
信息隐藏 模块外部仅用接口,不知内部实现
模块化 模块是实现功能的基本单位
高内聚、低耦合 内聚越高越好;耦合越低越好

七种耦合(由低到高):

耦合类型 特征
非直接耦合 无直接联系
数据耦合 通过参数传递数据
标记耦合 传递数据结构
控制耦合 传递控制信息
外部耦合 共用外部环境
公共耦合 共用公共数据区
内容耦合 直接访问对方内部(最强,应避免)

七种内聚(由高到低):

内聚类型 特征
功能内聚 完成单一功能(最好)
顺序内聚 输出作为下一步输入
通信内聚 同一数据结构上的操作
过程内聚 按特定次序执行
时间内聚 同时执行
逻辑内聚 逻辑相关的一组任务
偶然内聚 无关系任务凑在一起(最差)

概要设计工具:系统结构图(SC,模块结构图)。

详细设计工具:

工具 说明
业务流程图 描述管理信息流向
程序流程图 最广泛;结构清晰,但难描述复杂结构

2. 面向对象设计(OOD)

OOD 七大原则(必背):

原则 含义
单职原则 一个类只有一个引起变化的原因
开闭原则 对扩展开放,对修改封闭
里氏替换原则 子类可替换父类
依赖倒置原则 依赖抽象而非具体
接口隔离原则 多个专门接口优于单一总接口
组合重用原则 优先组合而非继承
迪米特原则 最少知识,降低类间耦合

类类型:

类型 作用
实体类 映射需求实体,通常有属性,持久存在
控制类 控制用例流程,协调实体与边界
边界类 负责与外部环境(界面、设备等)交互

3. UML 图分类

类别 图
静态结构图 类图、对象图、构件图、组合结构图、部署图、制品图、包图
动态行为图 用例图、状态图、活动图、顺序图、通信图、定时图、交互概览图

易混淆:类图描述静态结构;顺序图强调对象间消息时序;活动图描述流程/并发。

4. 设计模式

类型 典型模式 用途
创建型 工厂、抽象工厂、原型、单例、建造者 创建对象
结构型 适配器、桥接、组合、装饰、外观、享元、代理 处理类或对象组合
行为型 责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者 类或对象协作与职责分配

辨析:类模式处理类与子类关系;对象模式处理对象间关系。


三、软件实现与配置管理

软件配置管理(SCM)核心:

活动 要点
版本控制 对源码、文档等变更管理;SCM 核心
变更控制 目的是有序变更,非阻止变更

配置管理活动包括:制订配置管理计划、标识配置项、版本控制、变更控制、配置状态报告、配置审计等。


四、软件测试

1. 测试类型

类型 依据 技术 目的
单元测试 详细设计/编码 白盒为主 验证模块内部逻辑
集成测试 概要设计 白盒+黑盒 验证模块/子系统接口
确认测试 需求规格 SRS 黑盒为主 验证是否满足用户需求

2. 黑盒与白盒

方法 要点
黑盒(功能测试) 不关心内部结构;等价类、边界值、因果图、判定表、正交试验等
白盒(结构测试) 关注程序内部逻辑与路径

3. 调试策略

蛮力法、回溯法、原因排除法等。


五、部署与交付

1. 部署模式

模式 适用场景
面向单机 单机软件安装配置
集中式服务器 用户通过浏览器/客户端访问中心服务器
基于微服务分布式 常借助容器编排,弹性伸缩

2. 镜像部署三环节

Build → Ship → Run

  • Build:编译构建
  • Ship:打包依赖与第三方组件
  • Run:在目标环境启动

3. 蓝绿部署 vs 金丝雀部署

方式 机制 特点
蓝绿部署 新旧版本并行,切换流量 回滚快;资源占用高
金丝雀部署 先小流量验证新版本 风险可控;逐步放量

4. 持续交付

靠自动化流水线把需求、开发、测试、部署串起来,少手工发布,交付周期就能压短。


六、软件质量管理

1. 质量观点与 SQA

影响软件质量的因素包括:产品运行、产品修改、产品转移三种倾向。

SQA 主要目标:

  1. 事前预防(着重缺陷预防)
  2. 尽早捕获缺陷
  3. 作用于过程而非仅最终产品
  4. 贯穿所有活动

SQA 主要任务:审计与评审、过程保证、产品质量保证等。

2. 软件过程能力成熟度(CMMI)

等级 名称 特征
1级 初始级 过程与结果不确定
2级 已管理级 项目基本按计划实现预期结果
3级 已定义级 组织范围内稳定实现预期目标
4级 量化管理级 量化管理与控制
5级 优化级 持续改进与优化

七、易混淆辨析

对比项 易错点 正确口径
耦合 vs 内聚 越高越好? 耦合越低越好;内聚越高越好
单元 vs 集成 vs 确认 测试依据搞混 单元看详细设计;集成看概要设计;确认看 SRS
期望 vs 意外需求 都认为必须实现 意外需求不实现不影响基本决策
蓝绿 vs 金丝雀 都认为是一步切换 蓝绿全量切换;金丝雀渐进放量
类模式 vs 对象模式 创建型都属于类模式 创建型有类模式也有对象模式(如单例)

八、例题精选

【例1】 下列关于软件模块耦合的叙述中,耦合度最高的是( )。

A. 数据耦合 B. 控制耦合 C. 内容耦合 D. 标记耦合

答案:C

内容耦合直接访问对方内部,耦合度最高,应尽量避免。


【例2】 确认测试的主要依据是( )。

A. 详细设计说明书 B. 概要设计说明书 C. 需求规格说明书 D. 源程序

答案:C

确认测试验证软件是否满足 SRS 规定的用户需求,属黑盒测试。


【例3】 用户未明确提出,但认为系统应具备的功能属于( )。

A. 常规需求 B. 期望需求 C. 意外需求 D. 约束需求

答案:B

期望需求是用户默认应有、但未明确表达的需求。


【例4】 CMMI 中,组织级过程已定义且可在组织范围内稳定实现项目目标的等级是( )。

A. 2级 B. 3级 C. 4级 D. 5级

答案:B

3级为已定义级,强调组织级标准过程。


九、考点总结

考点 重要程度 题型
需求分类(常规/期望/意外) P0 选择
OOA 原则与 OOD 七大原则 P0 选择/案例
耦合与内聚(7+7) P0 选择
单元/集成/确认测试依据 P0 选择
UML 图静/动态分类 P1 选择
设计模式三类 P1 选择
蓝绿/金丝雀部署 P1 选择
SCM 版本控制与变更控制 P1 选择
CMMI 五级 P1 选择
SRS 验证五项 P2 案例

相关推荐

软考中项第1章:信息化发展,核心知识点与备考重点

软考中项第2章:信息技术发展,核心知识点与备考重点

相关推荐
盖伦发发6 天前
软件工程SOLID 五大设计原则
后端·软件工程
Old Uncle Tom6 天前
评测即生死:Agent 时代的可靠性重构
人工智能·软件工程·agent
建筑工程企业管理系统6 天前
工程建设管理信息系统如何选型?多项目协同管控避坑指南
大数据·软件工程·软件需求
RuoyiOffice6 天前
2026最推荐基于SpringBoot+Vue3的项目管理经营一体化:从商机、合同、任务与工时走到回款和利润
spring boot·项目管理·vue3·crm·合同管理·ruoyi office·项目经营
黄昏回响7 天前
软件工程基础知识(五):软件测试详解(下篇)——现代测试实践与论文指导
网络·其他·软件工程·改行学it
xy34538 天前
2026软考软件评测师题目记忆版
软考·软件评测师
xexpertS8 天前
管理者如何做好授权管理
项目管理
梁辰兴9 天前
软件工程:McCall软件质量因素
软件工程·梁辰兴·mccall软件质量因素·mccall模型·产品运行·产品修正·产品转移
Sadie_d9 天前
研发制造项目管理:BOM物料频繁变更,采购计划如何与研发进度实现同步?
项目管理·制造
Gyr010 天前
浅刷了一遍51CTO软考题库客观题及其解析(4)
学习·软考·知识点·信息安全工程师