《软考中级软件设计师·软件工程模块(下篇):从进度管理到容错技术的全面解析》

简介

本文针对软考中级软件设计师考试核心模块,深度剖析软件工程下篇核心内容:
1️⃣ 进度管理:详解Gantt图与PERT图的应用场景,结合最早时刻、松弛时刻计算及关键路径判定例题,助你掌握项目动态规划技巧
2️⃣ 风险管理:贯穿风险识别→预测→评估→控制全流程,配合典型例题揭示风险量化分析方法
3️⃣ 质量双模型:对比ISO/IEC 9126六大特性和McCall模型维度,解析软件评审中的设计质量与程序质量评估要点
4️⃣ 容错技术:揭秘冗余设计原理,通过方法解析+实战例题掌握故障恢复机制
5️⃣ 工具链解析:梳理软件开发/维护工具分类,搭配配置管理要点强化工程规范性
附高频例题详解、易错点标注及知识图谱总结,助力快速构建软件工程系统化知识框架,冲刺软考核心得分模块!

一、进度管理

  1. 进度管理常用的图形描述方法
    1. Gantt图(甘特图)
    2. 项目计划评审技术图(PERT图)
    3. 项目活动图

Gantt图

  1. 例题1

  1. 例题2

PERT图

  1. 是一个有向图
  2. 开始结点从0开始
  3. 记:
    1. 开始结点的最早时刻=0
    2. 结束结点的最迟时刻=结束结点的最早时刻
  4. 顺序:
    1. 开始时刻是:从前向后推
    2. 最迟时刻是:从后向前推
  5. 技巧:
    1. 开始->2个结点->选大
    2. 最迟->2个结点->选小

最早时刻计算:

  1. 前一个阶段的开始时刻+可持续时间
  2. 一个阶段被多个结点指向,取最大值

松弛时刻计算:

  1. 最迟-最早

关键路径:

一整条松弛时间为0的路径

例题

  1. 例题1
    1. 答案 :BB

  1. 例题2

  1. 例题3

  1. 例题4

  1. 例题5

项目活动图

考点形式有:

求关键路径

求关键路径的长度

问某个顶点或者活动是否在关键路径上

松弛时间

某个活动最多晚?天开始

  1. 例题1

  1. 例题2

  1. 例题3

  1. 例题4

  1. 例题5

  1. 例题6

  1. 例题7

  1. 例题8

  1. 例题9

  1. 例题19

  1. 例题11

  1. 例题12

  1. 例题13

  1. 例题14

  1. 例题15

  1. 例题16

二、软件配置管理

  1. 配置数据库可以分为:
    1. 开发库
    2. 受控库
    3. 产品库

  1. 例题1

  1. 例题2

  1. 例题3

  1. 例题4

三、风险管理

  1. 软件风险的2个特征:
    1. 不确定性
    2. 损失

风险识别

  1. 含义:试图系统化地指出对项目计划(估算、进度、资源分配等)的威胁

风险预测

  1. 如果风险发生3个因素会影响风险所产生的后果:
    1. 风险的**本质、范围、时间**
  2. 从2个方面评估一个风险
    1. 风险发生的可能性或概率
    2. 风险查产生的后果
  3. 风险显露度(记):

风险评估

  1. 风险评估是很有用
  2. 技术:定义风险参照水准

风险控制

例题

  1. 例题1

  1. 例题2

  1. 例题3

  1. 例题4

  1. 例题5

  1. 例题6

  1. 例题7

  1. 例题8

  1. 例题9

  1. 例题10

  1. 例题11

  1. 例题12

  1. 例题13

  1. 例题14

  1. 例题15

  1. 例题16

四、ISOIEC 9126软件质量模型

功能性

技巧:安依准互适合(俺一准护士)

可靠性

技巧 :容易成

易使用性

技巧:3易

效率

技巧:时间、资源

可维护性

技巧:3易稳

可移植性

技巧:一选2易

例题

  1. 例题1

  1. 例题2

  1. 例题3

  1. 例题4

  1. 例题5

  1. 例题6

  1. 例题7

  1. 例题8

  1. 例题9

  1. 例题10

  1. 例题11

五、Mc Call 软件质量模型

  1. 例题1

六、软件评审

记:

  1. 目的:揭露质量问题,发现程序中的错误

设计质量

程序质量

  1. 了解部分

  1. 记红线部分

例题

  1. 例题1

  1. 例题2

  1. 例题3

  1. 例题4

七、软件容错技术

定义

容错的一般方法—冗余

  1. 分类:
    1. 结构冗余
      1. 分为:
        1. 静态冗余
        2. 动态冗余
        3. 混合冗余
    2. 信息冗余
    3. 时间冗余
    4. 冗余附加技术(重点)
      1. 分为了:
        1. 屏蔽硬件错误的容错技术
        2. 屏蔽软件错误的容错技术

例题

  1. 例题1

  1. 例题2

八、软件工具

软件开发工具

有:

需求分析工具

设计工具

编码与排错工具

测试工具

软件维护工具

有:

版本控制工具

开发信息库工具

逆向工程工具

再工程工具

例题

  1. 例题1

  1. 例题2

九、杂题

  1. 题1

  1. 题2

  1. 题3

Jackson是面向数据结构开发

  1. 题4

  1. 题5

  1. 题6

  1. 题7
    1. 分析问题

  1. 题8

  1. 题9

  1. 题10

  1. 题11

  1. 题12

  1. 题13

  1. 题14

  1. 题15

  1. 题16

  1. 题17

  1. 题18

  1. 题19

  1. 题20

  1. 题21

  1. 题22

  1. 题23

  1. 题24

  1. 题25

  1. 题26

  1. 题27

十、总结