软考中项第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章:信息技术发展,核心知识点与备考重点

相关推荐
帅次4 小时前
软考中项第11章:规划过程组,核心知识点与备考重点
项目管理·软件工程·软考·系统集成项目管理工程师·软考中项
红薯大哥6 小时前
10款知识库软件横向对比:功能、场景与适用团队分析
项目管理·企业管理·知识库软件
码匠许师傅6 小时前
【设计模式精讲】21.迭代器模式(Iterator)
c++·设计模式·rpc·迭代器模式·软件工程·uml
梁辰兴6 小时前
软件工程:软件测试的基本步骤
软件测试·软件工程·环境搭建·测试设计·测试计划·梁辰兴·测试执行
梁辰兴7 小时前
软件工程:软件测试的目的和重要性
软件测试·软件工程·梁辰兴·软件测试原则·软件测试的重要性·软件测试的目的·软件测试类型
帅次1 天前
软考中项第7章:软硬件系统集成,核心知识点与备考重点
项目管理·软考·系统集成项目管理工程师·软考中项
梁辰兴1 天前
软件工程:软件测试的特点和原则
软件测试·软件工程·实践应用·梁辰兴·软件测试特点·软件测试原则·测试缺陷
幻风_huanfeng1 天前
高级软件架构师学习笔记----质量属性和质量效用数
软考·质量属性·高级系统架构师
梁辰兴1 天前
软件工程:静态分析与动态测试
静态分析·软件工程·动态测试·梁辰兴·结合使用·选择策略·软件质量保证