【中项】系统集成项目管理工程师-第5章 软件工程-5.6软件质量管理与5.7软件过程能力成熟度
前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。
软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”,目前涵盖了计算机软件、计算机网络、计算机应用技术、信息系统、信息服务5大领域,总共27个科目,也是分为初、中、高三个级别。
通信专业主要需要关注“计算机网络”这个专业类别,可以考的科目有初级资格的“网络管理员”、中级的“网络工程师”。
还有5个高级资格专业,分别是“信息系统项目管理师“”系统分析师“”系统架构设计师“”网络规划设计师“”系统规划与管理师“。
软考高级证书在通信行业比较吃香,主要原因有两个: 通信行业与计算机软件是相近专业,评职称满足相近专业的要求; 通信高级不能以考代评,但软考高级可以,很多考生通过考软考高级来评高级职称。
————————————————
5.6软件质量管理
软件质量就是软件与明确地和隐含地定义的需求相一致的程度,更具体地说,软件质量是软件 符合明确地叙述的功能和性能需求、文档中明确描述的开发标准以及所有专业开发的软件都应具有 的隐含特征的程度( 中23下)。从管理角度出发,可以将影响软件质量的因素划分为3组,分别反 映用户在使用软件产品时的3种不同倾向和观点。这3组分别是产品运行、产品修改和产品转移,三 者的关系如图5-2所示。
软件质量保证(Software Quality Assurance ,SQA)是建立一套有计划、有系统的方法,来向 管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的 是使软件过程对于管理人员来说是可见的,它通过对软件产品和活动进行评审和审计来验证软件是 合乎标准的( 高22上)。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些使 软件项目满足机构方针的要求。
软件质量保证的关注点集中在一开始就避免缺陷的产生。质量保证的主要目标是:
●事前预防工作,例如,着重于缺陷预防而不是缺陷检查;
●尽量在刚刚引入缺陷时即将其捕获,而不是让缺陷扩散到下一个阶段;
●作用于过程而不是最终产品,因此它有可能会带来广泛的影响与巨大的收益;
●贯穿于所有的活动之中,而不是只集中于一点。
软件质量保证的目标是以独立审查的方式,从第三方的角度监控软件开发任务的执行,就软件 项目是否正确遵循已制订的计划、标准和规程给开发人员和管理层提供反映产品和过程质量的信息 和数据,提高项目透明度,同时辅助软件工程取得高质量的软件产品。
软件质量保证的主要作用是给管理者提供预定义的软件过程的保证,因此SQA组织要保证如下 内容的实现:选定的开发方法被采用、选定的标准和规程得到采用和遵循、进行独立的审查、偏离 标准和规程的问题得到及时的反映和处理、项目定义的每个软件任务得到实际的执行。软件质量保 证的主要任务包括:SQA审计与评审、SQA报告、处理不合格问题。
(1)SQA审计与评审。SQA审计包括对软件工作产品、软件工具和设备的审计,评价这几项内 容是否符合组织规定的标准。SQA评审的主要任务是保证软件工作组的活动与预定的软件过程一
致,确保软件过程在软件产品的生产中得到遵循。
(2)SQA报告。SQA人员应记录工作的结果,并写入报告之中,发布给相关的人员。SQA报告的发布应遵循3条原则:SQA和高级管理者之间应有直接沟通的渠道;SQA报告必须发布给软件工 程组,但不必发布给项目管理人员;在可能的情况下向关心软件质量的人发布SQA报告。
(3)处理不合格问题。这是SQA的一个重要的任务,SQA人员要对工作过程中发现的问题进行 处理,及时向有关人员及高级管理者反映。
5.7软件过程能力成熟度
软件过程能力是组织基于软件过程、技术、资源和人员能力达成业务目标的综合能力,包括治 理能力、开发与交付能力、管理与支持能力、组织管理能力等方面。软件过程能力成熟度是指组织 在提升软件产品开发能力或软件服务能力过程中,各个发展阶段的软件能力成熟度。针对组织的软 件过程能力成熟度, 中国电子工业标准化技术协会发布了T/CESA1159《软件过程能力成熟度模 型》(CSMM)团体标准。
5.7.1成熟度模型
CSMM定义的软件过程能力成熟度模型旨在通过提升组织的软件开发能力帮助顾客提升软件的 业务价值。该模型借鉴吸收了软件工程、项目管理、产品管理、组织治理、质量管理、卓越绩效管 理、精益软件开发等领域的优秀实践,为组织提供改进和评估软件过程能力的一个成熟度模型。其 层次结构如图5-3所示。
CSMM模型由4个能力域、20个能力子域、161个能力要求组成。
(1)治理:包括战略与治理、 目标管理能力子域,确定组织的战略、产品的方向、组织的业务 目标,并确保目标的实现。
(2)开发与交付:包括需求、设计、开发、测试、部署、服务、开源应用能力子域,这些能力 子域确保通过软件工程过程交付满足需求的软件,为顾客与利益相关方增加价值。
(3)管理与支持:包括项目策划、项目监控、项目结项、质量保证、风险管理、配置管理、供 应商管理能力子域,这些能力子域覆盖了软件开发项目的全过程, 以确保软件项目能够按照既定的 成本、进度和质量交付,能够满足顾客与利益相关方的要求。
(4)组织管理:包括过程管理、人员能力管理、组织资源管理、过程能力管理能力子域,对软 件组织能力进行综合管理。
5.7.2成熟度等级
按照软件过程能力的成熟度水平由低到高演进发展的形势,CSMM定义了5个等级,高等级是 在低等级充分实施的基础之上进行的。成熟度等级的总体特征如表5-7所示。
表5-7
:成熟度等级的总体特征
等级 | 结果特征 | 行为特征 | |
1级:初始级 | 软件过程和结果具有 不确定性 | ●能实现初步的软件交付和项目管理活动 ●项目没有完整的管理规范,依赖于个人的主动性和能力 | |
2级:项目规范级 | 项目基本可按计划实 现预期的结果 | ●项目依据选择和定义管理规范,执行软件开发和管理的 基础过程 ●组织按照一定的规范,为项目活动提供支持保障工作 | |
3级:组织改进级 | 在组织范围内能够稳 定地实现预期的项目 目标 | ●在2级充分实施的基础之上进行持续改进 ●依据组织的业务目标、管理要求以及外部监管需求,建 立并持续改进组织标准过程和过程资产 ●项目根据自身特征,依据组织标准过程和过程资产,实 现项目目标,并贡献过程资产 | |
4级: | 量化提升级 | 在组织范围内能够量 化地管理和实现预期 的组织和项目目标 | ●在3级充分实施的基础上使用统计分析技术进行管理 ●组织层面认识到能力改进的重要性,了解软件能力在业 务目标实现、绩效提升等方面的重要作用,在制定业务 战略时可获得项目数据的支持 ●组织和项目使用统计分析技术建立了量化的质量与过程 绩效目标,支持组织业务目标的实现 ●建立了过程绩效基线与过程绩效模型 ●采用有效的数据分析技术,分析关键软件过程的能力, 预测结果,识别和解决目标实现的问题以达成目标 |
●应用先进实践,提升软件过程效率或质量 | ||
5级:创新引领级 | 通过技术和管理的创 新,实现组织业务目 标的持续提升,引领 行业发展 | ●在4级充分实施的基础上进行优化革新 ●通过软件过程的创新提升组织竞争力 ●能够使用创新的手段实现软件过程能力的持续提升支持 组织业务目标的达成 ●能将组织自身软件能力建设的经验作为行业最佳案例进 行推广 |
能力域的成熟度等级要求如图5-4所示。
能力 子域 | 战略与治理 | 目标管理 | 需求 | 设计 | 开发 | 测试 | 部署 | 服务 | 开源应用 | 项目策划 | 项目监控 | 项目结项 | 风险管理 | 质量保证 | 配置管理 | 供应商管理 | 过程管理 | 人员能力管理 | 组织资源管理 | 过程能力管理 | |
成熟度等级 | 5 | 5 | 5 | 5 | |||||||||||||||||
4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | |||||||||||
3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |
2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||
能力域 | 治理 | 开发与交付 | 管理与支持 | 组织管理 |
图5-4能力域的成熟度等级要求
5.8本章练习
1.选择题
(1)不是软件需求的常用层次。
A.业务需求 B.数据需求 C.用户需求 D.系统需求
参考答案:B
(2)不属于软件需求规格说明书的内容。
A.业务功能 B.应用系统性能 C.交互界面 D.算法的详细过程
参考答案:D
(3) 以下软件需求变更策略中,不正确的是:
A.所有需求变更必须遵循变更控制过程
B.对于未获得批准的变更,不应该做设计和实现工作
C.应该由项目经理决定实现哪些变更
D.项目风险承担者应该能够了解变更的内容 参考答案:C
(4)软件过程能力成熟度分为级。
A.2 B.3 C.4 D.5
参考答案:D
(5)关于蓝绿部署的描述,正确的是:
A.蓝绿部署是指在部署的时候准备新旧两个部署版本,通过域名解析切换的方式将用户使用环 境切换到新版本中
B.蓝绿部署是先让少量的用户使用新版本,并且观察新版本是否存在问题
C.蓝绿部署当出现问题的时候,可以使用新版本,但业务逻辑和数据不受影响D.蓝绿部署如果 出现问题,就及时处理并重新发布
参考答案:A 2.思考题
(1)开展软件测试的时候,可用的方法都有哪些?各自的优缺点是什么?参考答案:略
(2)软件过程能力成熟度(CSMM) 中,3级的结果特征和行为特征都包括哪些?参考答案: 略
1 #include "stdio.h"
2 void main()
3 {
4 int time;
5 for (time=1;time<=10;time++)
6 printf("%d、喜欢的帮忙点赞收藏加关注哦!\n",time);
7 }
更多推荐
所有评论(0)