- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件需求质量保证.ppt
50 软件需求的质量保证 软件的质量属性 软件需求质量保证 软件的质量属性 软件的质量属性 质量属性是很难定义的 真正的现实系统中,在决定系统的成功或失败的因素中,满足非功能需求往往比满足功能需求更为重要。 如果开发者知道哪些特性对项目的成功至关重要,那么他们就能选择软件工程方法来达到特定的质量目标 质量属性分类 根据不同的设计可以把质量属性分类 一种属性分类的方法是把在运行时可识别的特性与那些不可识别的特性区分开 另一种方法是把对用户很重要的可见特性与对开发者和维护者很重要的不可见特性区分开 每个项目都要考虑软件质量属性 对用户最重要的属性 有效性(availability) 高效性(efficiency) 灵活性(flexibility) 完整性(integrity) 互操作性(interoperability) 可靠性(reliability) 健壮性(robustness) 可用性(usability) 对开发者最重要的属性 可维护性(maintainability) 可移植性(portability) 可重用性(reusability) 可测试性(testability) 定义质量属性 必须根据用户对系统的期望来确定质量属性。 定量地确定重要属性提供了对用户期望的清晰理解,有助于设计者提出最合理的解决方案 定义质量属性的方法 想出对于不同的用户类可能很重要的属性,并根据每一个属性设计出许多问题。利用这些问题询问每一个用户类的代表,这些问题的回答有助于分析员决定哪些质量特性用作设计标准是最重要的。 可以把每个属性分成一级(不必多加考虑的属性)到五级(极其重要的属性)。 定义质量属性的方法 分析员与用户一起为每一属性确定特定的、可测量的和可验证的需求。 如果质量目标不可验证,那么就说不清你是否达到这些目标。 在合适的地方为每一个属性或目标指定级别或测量单位,以及最大和最小值。如果不能定量地确定某些对你的项目很重要的属性,那么至少应该确定其优先级。 定义质量属性的方法 另一个定义属性的方法是确定任何与质量期望相冲突的系统行为。 通过定义一种反向需求,可以设计出强制系统表现出那些行为的测试用例。 如果不能强制系统,那么你可能达到了你的属性目标。 这种方法最适用于要求安全性能很高的应用程序,在这些应用程序中,系统的差错可能会导致致命危险。 1.有效性 有效性指的是在预定的启动时间中,系统真正可用并且完全运行时间所占的百分比。 更正式地说,有效性等于系统的平均故障时间(MTTF)除以平均故障时间与故障修复时间之和。 一个有效性需求可能这样说明:工作日期间,在当地时间早上6点到24点,系统的有效性至少达到99.5%,在14点到18点,系统的有效性至少可达到99.95%。 2.效率 效率是用来衡量系统如何优化处理器、磁盘空间或通信带宽的。如果系统用完了所有可用的资源,那么用户遇到的将是性能的下降,这是效率降低的一个表现,拙劣的系统性能可能激怒等待数据库查询结果的用户,或者可能对系统安全性造成威胁。 就像一个实时处理系统超负荷一样。为了在不可预料的条件下允许安全缓冲,你可以这样定义:在预计的高峰负载条件下,10%处理器能力和15%系统可用内存必须留出备用。在定义性能、能力和效率目标时,考虑硬件的最小配置是很重要的。 3.灵活性 灵活性就像我们所知道的可扩充性、增加性、可延伸性和可扩展性一样,灵活性表明了在产品中增加新功能时所需工作量的大小。 灵活性对于通过一系列连续的发行版本,并采用渐增型和重复型方式开发的产品是很重要的。 实例:“一个至少具有6个月产品支持经验的软件维护程序员可以在4个小时之内为系统添加一个新格式的打印报表。 4.完整性(或安全性) 完整性(或安全性)主要涉及:防止非法访问系统功能、防止数据丢失、防止病毒入侵并防止私人数据进入系统。 完整性的需求不能犯任何错误,即数据和访问必须通过特定的方法完全保护起来。用明确的术语陈述完整性的需求,如身份验证、用户特权级别、访问约束或者需要保护的精确数据。 一个完整性的需求样本可以这样描述:只有拥有查账员访问特权的用户才可以查看客户交易历史。 5.互操作性 互操作性表明了产品与其它系统交换数据和服务的难易程度。 为了评估互操作性是否达到要求的程度,必须知道用户使用其它哪一种应用程序与你的产品相连接,还要知道他们要交换什么数据。 6.可靠性 可靠性是软件无故障执行一段时间的概率(健壮性和有效性有时可看成是可靠性的一部分)。 衡量软件可靠性的方法包括正确执行操作所占的比例,在发现新缺陷之前系统运行的时间长度和缺陷出现的密度。 根据如果发生故障对系统有多大影响和对于最大的可靠性的费用是否合理,来定量地确定可靠性需求。如果软件满足了它的可靠性需求,那么即使该
文档评论(0)