【软工】软件管理
前言
正文
软件质量管理
概念
定义
所有描述计算机软件优秀程度的特性的组合
软件质量特性
反映了软件的本质。
讨论一个软件的质量,最终还是要归结到定义软件的质量特性。
定义一个软件的质量,等价于为这个软件定义一系列质量特性。
软件质量模型
通常把影响软件质量的特性用软件质量模型来描述。
特性定义为成分层模型。
1985年,ISO质量模型
软件质量度量模型分为三层:
软件质量需求评价准则(SQRC)
软件质量设计评价准则(SQDC)
软件质量度量评价准则(SQMC)
软件质量的评价和度量
特性度量有两类:
预测型和验收型
预测是利用定量或定性的方法,估算软件质量的评价值,以得到软件质量的比较精确到估算值。
验收度量是在软件开发各阶段的验查点,对软件的要求质量进行确认性检查的具体评价值,她是对开发过程中的预测进行评价。
预测度量有两种:
一种是尺度度量,是一种定量度量。
一种是二元度量,是一种定性度量。
质量保证
概念
视为保证产品和服务充分满足消费者要求的质量而进行的有计划、有组织的活动。
面向消费者的活动,是为了使产品实现用户要求的功能。
就是向用户及社会提供满意的高质量的产品。
主要任务:
提高软件质量和软件的生产率。
用户要求定义
力争不重复劳动
掌握开发新软件的方法
组织外部力量协作的方法
排除无效劳动
发挥每个开发者的能力
提高软件开发的工程能力
提高计划和管理质量的能力
质量检验的原则
用户要求的是产品所具有的功能。
软件质量保证体系
软件质量保证是涉及到各个部门的活动。
质量保证规程和技术准则:
评审阶段:目标、内容
报告和计划:测试目标
实施:
所有与生存期有关的人员都参加
对产品形成的全过程进行质量管理。
质量目标与度量
目标:
明确软件功能
度量:
适应性;易学性;可靠性;针对性;客观性;质量经济性。
保证活动实施的步骤(TPDCA)
确定目标(Target)
计划(Plan)
检查制作(Do)
质量评价(Check)
进化修改(Action)
软件可靠性
生存期与软件寿命的关系
软件产品寿命指整个生存期
一个指标平均失效间隔时间(MTBF)
试用期间可正常工作的持续时间叫使用寿命。
常见定义
故障:软件内部存在,一定环境下产生,设计时产生——静态存在
错误:故障在一定环境下暴露出来,成为错误。——系统动态出现
失效:不对错误修改,系统输出未满足需求为失效。——系统动态出现
故障产生原因:
软件设计不当
硬件环境的缺陷
加入了允许范围之外的输入
可靠性定义:
在给定时间和环境下,设计要求成功的运行程序的概率。
可靠性分析(测试中)
推断错误产生频度——MTTF(估算平均失效等待时间)
残留在程序中的错误数
评价测试的精确度和覆盖率——NHPP
软件配置管理(SCM)
概念
协调软件开发使混乱减到最少的技术叫配置管理。
目标:
标识变更
控制变更
确保变更正确的实现
向其他有关的人报告变更。
基线:
基线是软件生存期中各开发阶段末尾的特定点,又称为里程碑。
作用:把各阶段工作的划分更加明确化,以便于检验和肯定阶段成果。
软件开发各阶段的基线:
项目数据库
一个SCI成为基线,就把它存在项目数据库中。
基线SCI和项目数据库
软件配置项SCI
软件配置管理的对象就是软件配置项。
系统规格说明;软件项目实施计划;软件需求说明;可执行的原型;初步的用户手册;设计规格说明。
源代码清单;过程记录;操作和安装手册;正式用户手册。
配置对象
实现SCM时,把SCI组织成配置对象,在项目数据库中一个单一的名字来命名。
任务:
标识单个的SCI
标识和管理软件各种版本
控制版本
审查软件配置
报告所有加在配置上的变更
软件能力成熟模型(CMM)
特征
基于实际实践
最好的反映了实践的情况
反映了软件过程改进和软件过程评估执行人员的需求
形成文档
文档可以公开使用
定义
软件开发机构用于定义、实施、测量、控制和改进其软件过程的一种阶段性描述,该模型使得对现有过程能力的确定,以及对软件质量和过程改进的重要问题的识别变得方便,从而选择过程改进策略提供指南。
提高软件开发能力的手段
软件过程改进的指南
以具体实践为基础
描述软件过程中的关键元素
主要用途
用于软件过程的评价
用于软件过程的改进
用于软件能力的评价
基于CMM的评估方法
选择估价小组
被评估单位填卷,回答评估组问题
评价组进行相应分析,明确哪些问题时,在进一步调查
现场访问被评估单位
提出调查清单,明确机构软件过程中的强项和弱项
准备出软件关键过程域剖面图。
软件改进方法
- 起始阶段,发起并确定软件过程改进基础设施。
- 诊断阶段,实施评估,确定结构的软件过程成熟度基线,相结构提出改进建议。
- 建立阶段,建立起软件过程改进基础设施,包括成立过程协同小组,定义软件过程,改进策略和目标。
- 行动阶段,实施过程改进。
- 推进阶段,分析软件过程改进中的经验教训,进一步更新软件过程改进的过程。
基本概念
- 过程:针对确定的目的所实施的序列步骤
- 软件过程:有关开发和维护软件及其相关产品的活动、方法、实践和变换的集合
- 软件过程管理:有效的管理、人、方法、工具的集成
- 软件过程能力:遵循某些过程可能达到的预期结果的范围。
- 软件过程性能:对实际结果的度量。
- 软件过程成熟度:一个特定的软件过程被清晰的定义、管理、测量、控制以及有效使用的程度。
体系结构
级别化
CMM的内部结构
关键过程域
关键过程域是静态的,高层次的、抽象的描述了过程,但不说明如何执行过程。
软件工程管理
软件工程分为:软件开发技术和软件工程管理
软件项目计划
任务
研究该项目的主要性能、功能和系统界面
估算经费、进度和资源。
内容
- 范围
项目目标、主要功能、性能限制、系统界面、特殊要求、开发概述 - 资源
人力资源、硬件资源、软件资源、其他 - 进度安排
工程网络图、Gantt图、任务-资源表 - 成本估算
- 培训计划
成本估算
- 估算方法:
自顶向下;自底向上 - 成本估算模型:
SLIM模型——动态变量模型
COMOMO模型
代码行成本估算
进度计算
常用的三种方法:
- 甘特图
常用以描述把任务分解成子任务,以及每个子任务的进度安排如一个水平直方图。
水平线段标识子任务的工作阶段,线段的起点和终点分别对应子任务的开工时间和完成时间,线段长度标识所需时间。
横坐标为时间,纵坐标为不同的子任务的分段。
- 工程网络图
也叫作计划评审技术,是一种有向图,起点是箭尾,表示任务平台,终点是箭头,表示任务结束。
- 时标网络图
时序关系清晰,每阶段中资源利用状况也很清楚。
画法:
纵轴为任务和资源坐标
横轴为时间坐标
主关键路径为主画,非关键路径分别画在关键路径上下。
风险分析
风险标识
项目风险:危机项目计划
技术风险:设计实现接口、验证、维护
商业风险:市场风险、策略风险、推销风险
风险估算
风险发生的可能性
风险发生后的损失
四个风险因素:性能、成本、支持、进度
估计从三个方面考虑:
风险的性质、风险的范围、风险的时间
风险评价
【ri,pi,ei】
四步走:
定义各种风险的参考水准
找出每组【ri,pi,ei】和参考水准的关系
预测一组临界点以及定义项目的终止区
预测怎样的风险组合会影响参考水平值。
管理与监控
目标:
事件和主要风险因素的跟踪
风险评估,确保每个风险的管理措施正在实施
收集可用于将来风险分析的信息
人员的组织形式
- 层次模式
下级向上级负责
上级管理下级 - 矩阵模式
- 小组内部人员的组织形式
软件项目管理
项目管理过程
管理对象是软件工程项目
- 启动一个软件项目
- 估算
- 进度安排
- 追踪和控制
质量度量
度量方式
直接度量
间接度量
生产率度量
软件度量域的分类
面向规模的度量——针对软件和软件开发过程的直接度量
面向功能的度量——针对软件和软件开发过程中的间接度量
事后度量
软件质量的度量
包括正确性、可维护性、完整性、可使用性
开发中的资源
四个特性:
资源的描述
资源有效性说明
资源在何时开始需要
使用资源持续时间
感谢阅读~
文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/Laura__zhang/article/details/105146011
- 点赞
- 收藏
- 关注作者
评论(0)