软件质量指软件产品满足规定隐含需求力关特征全体描述计算机软件优秀程度特性组合
应软件质量赖问题需求描述解决方案建模设计执行程序编码产生发现错误运行软件测试优秀监理工程师应该够定量方法评估软件开发程中产生分析设计模型源代码测试例(use case)质量
软件开发质量定量监理
实现种实时质量评估监理工程师必须采技术度量客观评估质量仅仅采观方法进行评估
评估中首先明确点软件需求度量软件质量基础符合需求软件具备质量
定量监理实践中通常需种称尺度度量方法种定量度量适够直接度量特性出错率定义错误数/KLOC/单位时间等
质量控制应该建立定量数:
(1)明确性(二义性)完全性正确性理解性验证性部外部致性完成性简洁性追踪性修改性精确性复性数数评价分析模型相应需求规约质量特征
公开缺陷数报告总缺陷数评价测试精确度测试覆盖度时预测项目发布时间
(2)产品发布前清缺陷数总缺陷数中占百分助评估产品质量
(3)严重缺陷子系统缺陷划分分类统计出均修复时间样助规划纠正缺陷工作
(4)利测试统计数估算维护性性性原障总数等数数助评估应软件稳定程度产生失败
述定量数基础开始进行估算
1基定量估算
基定量估算示例:
设
F功点描述软件规模
D1开发程(提交前)中发现缺陷数
D2提交发现缺陷数
D发现总缺陷数
DD1+D2
应软件项目计算方程式(角度估算软件质量):
质量D2F
缺陷注入率DF
整体缺陷清率D1D
样期中CAD软件例根期计算结果功点F366开发程中发现15错误提交发现4错误:
D115D24
DD1 +D215+419
质量(功点缺陷数)D2F436600109
缺陷注入率DF19366005191
整体缺陷清率D1D151907895
资料报告美国均整体缺陷清率目前达约85AT&TIBM摩托罗拉惠普样公司顶级项目通实施佳实践缺陷清率超99
众周知清软件缺陷难易程度需求错误规格说明设计问题错误修改难清表1出美国均缺陷情况:
表2反映CMM五等级影响软件质量数源美国空军1994年委托SPR(美国家著名调查公司)进行项研究
表中出CMM级越高缺陷清率越高
监理程中标准指标结合起辨明存质量问题
2软件需求估算
假设规约中nr需求
nrnf+nnf
中nf功需求数目nnf非功需求数目(例性)
确定需求确定性(二义性)种基复审者需求解释致性度量方法:
Q1=nuinr
中Q1表示需求确定性nui复审者相解释需求数目需求模糊性越低时Q1值越接1
CAD软件例子中假设计算机图形显示功模块功性需求10非功性需求(响应速度分辨率)2复审者相解释需求数目11:
Q111120916667
功需求完整性Q2通计算率获:
Q2=nu(ni×ns)
中nu唯功需求数目ni规约定义包含输入(刺激)数ns表示状态数
Q2测度系统表示必需功百分没考虑非功需求非功需求结合整体度量中求完整必须考虑已需求已确认程度Q3表示:
Q3=nc(nc+nnv)
中nc已确认正确需求数nnv尚未确认需求数
CAD软件例子中假设数库理功模块唯功需求10规约定义包含输入数10表示状态数1已确认需求8未确认需求2:
Q2=10(10×1)10
Q3=8 (8+2)08
3估算验收测试阶段预期发现缺陷数
(1)果类似项目数估计前项目验收测试时发现缺陷数等类似项目验收测试阶段发现缺陷数项目估计工作量类似总工作量率积公式表示
验收测试缺陷估计验收测试缺陷数×工作量估计实际工作量
CAD软件例子中前相似图形处理软件验收测试时候发现12
缺陷项目估算工作量66月实际工作量82月CAD软件项目验收测试时出现缺陷:
验收测试缺陷估计12×668210
(2)程力基线中数种方法计算值
a估算功单元缺陷数功点规模前面讨方式进行估计预期缺陷数质量数估计规模积
b估算程缺陷清率种情形验收测试阶段预期存缺陷数缺陷注入率程中清率目标估计规模起决定
4针维护活动设计度量
IEEE Std98211988[IEE94]建议软件成熟度指标(SMI)提供软件产品稳定性指示(基产品发布做变动)信息确定:
MT前发布中模块数
Fc前发布中已变动模块数
Fa前发布中已增加模块数
Fd前发布中已删前发布中模块数
软件成熟度指标面公式计算:
SMI[MT(Fa+Fc+Fd)]MT
SMI接10时候产品开始稳定SMI作计划软件维护活动度量产生软件产品发布均时间SMI关联起开发维护工作量验模型
CAD软件例子中目前软件20版前发布模块数32前发布中已变动模块数8前发布中已增加模块数2前发布中已删前发布中模块数1:
SMI(32-8-2-1)320656
结果出目前情况离产品稳定相距离
5软件性计算
软件性指某定时间点程序够需求执行概率定义:
性MTTF(MTTF+MTTR)×100%
中MTTF均失败时间MTTR均修复时间
CAD软件例子中软件6月失败次次恢复均需20分钟(恢复时间排障系统重新启动时间)性:
6月(6月+20分钟)X1009992
通常提高系统性基两种方法:增加MTTF减少MTTR增加MTTF求增加系统性
6利植入障法估算程序中原障总数ET
通常采捕获-捕获抽样法估算程序中原障总数
设Ns测试前程序中植入障数(称播种障)ns 段时间测试发现播种障数目n测试中发现程序原障数
假设测试例发现植入障原障力相程序中原障总数 N(ET) 估算值:
例CAD软件测试程中播入障数5段时间测试发现播种障数4测试中发现原障数2程序中原障数:
N(54)× 215
软件开发风险定量监理
应软件项目陷入混乱状态项目组员常感疲奔命风险
理重视监理程中常常情况问题发生时意识问题存资源项目周期压力项目相关方没充分准备情况仓促应战种情况产生结果理想
软件风险监理风险成影响软件项目成功威胁前识着手处理消风险源头
风险关注未发生事情什样风险会导致软件项目彻底失败呢?改变关心—户需求开发技术目标计算机项目相关素改变会时交付总体成功产生什影响呢?必须抓住选择机会—应该采什方法工具?需少员参工作?质量求达什程度足够?……诸类问题问题风险监理关键部分
风险进行定量监理第步识风险带项目计划中素风险进行分类
1项目风险威胁项目计划说果项目风险变成现实会拖延项目进度增加项目成
项目风险指潜预算进度力(工作员组织)资源客户需求等方面问题软件项目影响项目复杂性规模结构确定性定义项目风险素
2技术风险威胁开发软件质量交付时间果技术风险变成现实开发工作变困难根
技术风险指潜设计实现接口验证维护等方面问题外规约二义性技术确定性陈旧技术先进技术风险素
3组织风险常见组织风险组织部目标未达成致高层项目重视资金足项目资源突等潜组织风险
4外部风险法律法规变化项目相关接口方情况发生变化事件控制注意般控制抗力作风险作灾难进行防御
风险预测称风险估算试图两方面评估风险—风险发生性概率果风险发生产生果
项目计划者理员技术员需起执行四风险预测活动:(1)建立尺度反映风险发生性(2)描述风险果(3)估算风险项目产品影响(4)标注风险预测整体精确度免产生误解
风险表项目理者监督者提供种简单风险预测技术风险表样表3示
里PS指产品项目规模风险BU指商业风险CU指客户特性风险TE指建造技术风险DE指开发环境风险ST指员验验风险……样风险许里举例
项目组开始表中第列列出风险(细微)风险第二列加分类风险发生概率输入第三列中风险概率值项目组成员估算然单值求均代表性概率值
步评估风险产生影响表3述特性评估风险素确定影响类四风险素性支持成进度影响类求均整体影响值(果中风险素项目特重加权求均值)
表三中影响类取值:
1灾难2严重3轻微4忽略
完成风险表前四列容根概率影响进行排序高发生概率高影响风险放表方低概率风险移表方样完成第次风险排序
项目监理者研究已排序表定义条中止线该中止线(表中某点条水线)表示:线风险会进步关注线风险需评估完成第二次排序排序找出需关注风险点进行处理次类推完成第三次排序更排序
监理角度考虑风险影响概率起着作具高影响发生概率低风险素应该花费太监理时间精力高影响发生概率中高风险低影响高概率风险应该首先列入重点监理考虑中
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档