软件可靠性是关于软件能够够满足需求功能的性质,软件不能满足需求是因为软件中的差错引起了软件故障。软件中有哪些可能的差错呢?
软件差错是软件开发各阶段潜入的人为错误:
1.需求分析定义错误。如用户提出的需求不完整,用户需求的变更未及时消化,软件开发者和用户对需求的理解不同等等。
2.设计错误。如处理的结构和算法错误,缺乏对特殊情况和错误处理的考虑等。
3.编码错误。如语法错误,变量初始化错误等。
4.测试错误。如数据准备错误,测试用例错误等。
5.文档错误。如文档不齐全,文档相关内容不一致,文档版本不一致,缺乏完整性等。
从上游到下游,错误的影响是发散的,所以要尽量把错误消除在开发前期阶段。
错误引入软件的方式可归纳为两种特性:程序代码特性,开发过程特性。
程序代码一个最直观的特性是长度,另外还有算法和语句结构等,程序代码越长,结构越复杂,其可靠性越难保证。
开发过程特性包括采用的工程技术和使用的工具,也包括开发者个人的业务经历水平等。
除了软件可靠性外,影响可靠性的另一个重要因素是健壮性,对非法输入的容错能力。
所以提高可靠性从原理上看就是要减少错误和提高健壮性。
(参考资料:CSDN博客)
影响软件质量的因素有哪些?
包括软件产生的原因(市场需求),软件的创造过程,使用效果几方面.用户对软件的具体要求到具体的代码编写以及最后的软件测试等等,程序员的技术水平以及工作态度/职业精神,系统分析员,软件架构师的水平,软件测试的效果,使用环境的差异...
什么是软件的质量,软件质量反映了哪些问题?
概括地说,软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。
软件质量反映了以下三方面的问题
需求——软件需求是度量软件质量的基础,不满足需求的软件就不具备质量。
规范——不遵循各种标准中定义的开发规则,软件质量就得不到保证。
扩展——只满足明确定义的需求,而没有满足应有的隐含需求,软件质量也得不到保证。
什么叫软件质量?
1 软件质量就是 “ 软件与明确的和隐含的定义的需求相一致的
程度
2 指定的标准定义了一组指导软件开发的准则,如果没有
遵守这些准则,几乎肯定会导致质量不高。
3 通常,有一组没有显式描述的隐含需求(如期望软件是
容易维护的)。如果软件满足明确描述的需求,但却不
满足隐含的需求,那么软件的质量仍然是值得怀疑的
软件质量考虑要素
功能性
1功能性
当软件在指定条件下使用时,软件产品提供满足明确和隐含
要求的功能的能力。
l 适合性
软件产品符合需求,能解决用户业务问题
l 准确性
软件产品数据和处理处理能力要准确
l 互操作性
软件产品与其他系统的交互和对接能力。
l 安全保密性
软件产品权限安全,不同角色进入拥有不同的操作权限.
性能
时间特性
软件产品执行其功能时,提供满足需求的响应时间和处理时
间以及吞吐率等指标的能力。
l 资源利用性
软件产品执行其功能时,提供满足需求的CPU、内存等占用
率的能力
安全性
软件在受到恶意攻击的情形下依然能够继续正确运行的能力
l 软件被在授权范围内合法使用的能力,如:序列号决定使用
数。
兼容性
软件适应不同的规定环境下的能力
l 软件遵循与可移植性有关的标准或约定的能力
l 软件与其他替代软件兼容的能力
l 常见的兼容性(浏览器、操作系统)
可靠性
可靠性
在指定条件下使用时,软件产品维持规定的性能级别的能力。
l 成熟性
软件产品为避免由软件内部的故障而导致失效的能力。
l 容错性
软件出现故障或者违反其指定接口的情况下,依然维持规定
的性能级别的能力。
l 易恢复性
失效发生后,重建规定的性能级别并恢复受直接影响的数据
的能力。
易用性
易用性
在指定条件下使用时,软件产品被理解、学习、使用和吸引
用户的能力。
l 易理解性
软件产品让用户无须过多学习就能理解的能力。
l 易学性
软件产品让用户即使参加了学习,学习成本高低的能力。
l 易操作性
软件产品让用户操作方便,符合使用习惯的能力。
l 吸引性
软件产品让用户觉得舒服、操作吸引眼球的能力。
l 用户体验性
是以上几个特性的统称,部分企业把易用性也称之为用户体
验性,是一个比较时髦的词。
安装、卸载
执行安装/卸载时,能按照一定的规格和流程将软件安装上
的能力。
l 简化的软件安装/卸载过程
l 提供亲切友善的操作逻辑或接口
l 软件完整,避免被盗版、破解或植入病毒
可维护性
易分析性
软件出问题后,快速判断问题点并能快速修复的能力。
l 易改变性
软件修改后可快速发布,快速投入生产的能力。
l 稳定性
软件避免由于软件修改而造成意外结果的能力。
l 易测试性
软件版本升级修改后被快速确认的能力。
可移植性
适应性
软件不需采用其他手段就可适应不同的指定环境的能力。
l 易安装性
软件在指定环境中被快速安装的能力。
l 共存性
软件在同一环境下同与其他软件共存的能力。
l 易替换性
软件在同一环境下,替代另一个相同用途的软件的能力
影响软件质量保证活动的强度的因素有哪些?
影响水泥胶砂强度的主要因素有:水泥熟料强度、熟料配比、混合材种类和活性、选用的石膏种类、水泥成品细度和比表面积、水泥的颗粒级配、凝结时间等等。提高水泥胶砂强度的方法有:调整磨机级配合理控制水泥细度和比表面积,必要时可做筛余曲线。使水泥成品颗粒级配控制在合理的范围内。根据孰料、混合材的化学成分合理选择活性混合材和惰性混合材的搭配。选用先进的粉磨工艺,有条件的可选用“分别粉磨”工艺。使用水泥助磨剂是最好的捷径。
软件质量的含义?
概括地说,软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。上述定义强调了以下三点:
(1)软件需求是度量软件质量的基础,与需求就一致就是质量不高。
(2)指定的标准定义了一组指导软件开发的准则,如果没有遵守这些准则,几乎肯定会导致质量不高。
(3)通常,有一组没有显式描述的隐含需求(如期望软件是容易维护的)。如果软件满足明确描述的需求,但却不满足隐含的需求,那么软件的质量仍然是值得怀疑的。
影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。可划分为三组,分别反应用户在使用软件产品时的三种观点。正确性、健壮性、效率、完整性、可用性、风险(产品运行);可理解性、可维修性、灵活性、可测试性(产品修改);可移植性、可再用性、互运行性(产品转移)。
参考资料:http://baike.baidu.com/view/1451265.htm?fr=ala0_1
软件测试与软件质量的关系
测试只是质量保证工作中的一个环节。软件测试和软件质量保证是软件质量工程的两个不同层面的工作。
质量保证(QA):质量保证的重要工作通过预防、检查与改进来保证软件质量。所关注的是软件质量的检查与测量。QA的工作是软件生命周期的管理以及验证软件是否满足规定的质量和用户的需求,因此主要着眼于软件开发活动中的过程、步骤和产物,而不是对软件进行剖析找出问题或评估。
软件测试:测试关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试人员要“执行”软件,对过程中的产物——开发文档和源代码进行走查,运行软件,以找出问题,报告质量。对测试中发现的问题的分析、追踪与回归测试也是软件测试中的重要工作,因此软件测试是保证软件质量的一个重要环节。
转载请注明出处51数据库 » 软件质量影响 软件质量可靠性是什么因素影响的