乐于分享
好东西不私藏

软考第五章 软件工程下(中项)

软考第五章 软件工程下(中项)

一、软件实现

1.软件配置管理(Software Configuration Management, SCM)核心内容:版本控制、变更控制

2.版本控制最主要的功能就是追踪文件的变更变更控制的目的并不是控制变更的发生,而是对变更进行管理,确保变更有序进行

3.软件配置管理活动(必背):

  1. 软件配置管理计划
  2. 软件配置标识
  3. 软件配置控制
  4. 软件配置状态记录
  5. 软件配置审计
  6. 软件发布管理与交付

4.编码效率:程序效率、算法效率、存储效率、I/O 效率

5.软件测试方法可分为静态测试和动态测试。

静态测试

  1. 对文档的静态测试-检查单
  2. 对代码的静态测试-桌前检查(Desk Checking)、代码走查、代码审查

动态测试:

(1)白盒测试(结构测试):

主要用于软件单元测试中。将程序看作一个透明的白盒,测试人员清楚结构和、算法

(2)黑盒测试(功能测试):不了解程序的内部结构和处理算法

6.软件测试可分为:单元测试、集成测试、确认测试、系统测试、配置项测

试和回归测试

7.OO 系统的 3 个明显特征:封装性、继承性、多态性

二、部署交付

1.软件部署过程的主要特征有:过程覆盖度、过程可变更性、过程间协调和模型抽象

2.软件部署过程中需要关注的问题有:安装和系统运行的变更管理,构件之间的相依、协调,内容发放,管理异构平台,部署过程的可变更性,与互联网的集成和安全性

3.软件部署模式分为:

  1. 面向单机软件的部署模式-适用于运行在操作系统之上的单机类型的软件
  2. 集中式服务器应用部署-适用于用户访问量小(500人以下)、硬件环境要求不高的情况
  3. 基于微服务的分布式部署-适用于用户访问量大、并发性要求高的云原生应用

4.容器技术是目前部署中最流行的技术,常用的持续部署方案有Kubemetes+Docker和Matrix系统两种;容器技术上手简单,轻量级架构,体积很小,集合性更好

5.完整的镜像部署包括3个环节:Build搭建(包)-Ship发送(安装)-Run运行(启动)

6.部署方式:蓝绿部署和金丝雀部署。

蓝绿部署:准备新旧两个部署版本
金丝雀部署:先让少量的用户使用新版本

三、软件质量管理

1.影响软件质量的因素划分为 3 组:产品运行、产品修改、产品转移

2.质量保证的主要目标是:

  1. 事前预防工作;
  2. 尽量在刚刚引入缺陷时即将其捕获,而不是让缺陷扩散到下一个阶段;
  3. 作用于过程而不是最终产品
  4. 贯穿于所有的活动之中,而不是只集中于一点。

3.软件质量保证的主要任务:SQA 审计与评审、SQA 报告、处理不合格问题

四、软件过程能力成熟CSMM

1.CSMM模型由4个能力域、20个能力子域、161个能力要求组成。

(1)4个能力域治理、开发与交付、管理与支持、组织管理

(2)能力子域情况

能力域
能力子域
治理

战略与治理、目标管理

开发与交付

需求、设计、开发、测试、部署、服务、开源应用

管理与支持

项目策划、项目监控、项目结项、质量保证、风险管理、配置管理、供应商管理

组织管理

过程管理、人员能力管理、组织资源管理、过程能力管理

2.能力成熟度等级

级别
结果特征

1级:初始

软件过程和结果具有不确定

2级:项目规范

项目基本可按计划实现预期的结果

3级:组织改进

在组织范围内能够稳定地实现预期的项目目标

4级:量化提升级

在组织范围内能够量化地管理和实现预期的组织和项目目标

5级:创新引领级

通过技术和管理的创新,实现组织业务目标的持续提升引领行业发展