欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

老大哥的信息技术管理学习笔记(15):软件质量与软件维护

最编程 2024-05-02 10:46:41
...

大师兄的信息化管理学习笔记(十四):组件技术与应用服务器
大师兄的信息化管理学习笔记(十六):大数据

一、软件质量

  • 软件质量就是软件特性的综合,软件满足规定和潜在用户的能力
  • 软件质量包含三个方面:
  • 内部质量:基于内部视角的软件产品特性的总体。
  • 外部质量:基于外部视角的软件产品特性的总体。
  • 使用质量:基于用户观点的软件产品用于指定的环境和使用周境时的质量。
1. 内部质量和外部质量的特性:
  • 功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。
  • 适应性:软件产品为指定的任务和用户目标提供一组合适的功能的能力。
  • 准确性:软件产品提供具有所需精度的正确或相符的结果或效果的能力。
  • 互操作性:软件产品与一个或更多的规定系统进行交互的能力。
  • 安全保密性:软件产品保护信息和数据的能力。
  • 可靠性:在指定条件使用时,软件产品维护规定的性能级别的能力。
  • 成熟性:软件产品为避免由软件中故障而导致失效的能力。
  • 容错性:在软件出现故障或者违反其指定接口的情况下,软件产品维持规定的性能级别的能力。
  • 易恢复性:在失效发生的情况下,软件产品重建规定的性能级别并恢复寿直接影响的数据的能力。
  • 易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
  • 易理解性:使用户能理解软件是否合适及如何能将软件用于特定的任务的能力。
  • 易学性:使用户能学习其应用的能力。
  • 易操作性:使用户能操作和控制它的能力。
  • 吸引性:软件产品吸引用户的能力。
  • 效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。
  • 时间特性:软件执行其功能时,提供适当的响应和处理时间以及吞吐率的能力。
  • 资源利用性:软件执行其功能时,使用合适数量和类别的资源的能力。
  • 维护性:软件产品可被修改的能力。包括纠正、改进或对环境、需求和功能规格说明变化的适应。
  • 易分析性:诊断软件中的缺陷或是失效原因或识别待修改部分的能力。
  • 易改变性:使指定的修改可以被实现的能力。
  • 稳定性:避免由于软件修改而造成意外结果的能力。
  • 易测试性:使已修改软件能被确认的能力。
  • 可移植性:软件产品从一种环境迁移到另一种环境的能力
  • 适应性:无需采用额外的活动或手段就可适应不同指定环境的能力。
  • 易安装性:软件产品在指定环境中被安装的能力。
  • 共存性:在公共环境中同与其分享公共资源的其它独立软件共存的能力。
  • 易替换性:在同样的环境下,替代另一个相同用户的指定软件产品的能力。
2. 使用质量的特性:
  • 有效性:软件产品在指定的使用环境下,使用户能达到与准确性和完备性相关的规定目标的能力。
  • 生产率:在指定的使用周境下,使用户为达到有效性而消耗适当数量的资源的能力。
  • 安全性:在指定使用周境下,达到对人类、业务、软件、财产或环境造成损害的可接受的风险级别的能力。
  • 满意度:使用户满意的能力。
3. 软件质量管理过程
  • 软件质量管理包括三个过程:
过程 描述
质量保证过程 - 软件质量保证计划,定义了用于保证为特定产品开发的软件满足用户需求,并在项目的约束内具有最好的质量的手段。
验证与确认过程 - 验证过程试图确保活动的输出产品已经被正确制造,即活动的输出产品满足前面活动施加的规范说明(SRS)。
- 确认过程则试图确保建造了正确的产品,即产品满足其特定的目的。
评审与审计过程 - 包括管理评审、技术评审、检查和走检、审计等。
- 技术评审的目的是评价软件产品,以确定其对使用意图的适合性,目的是识别规范说明和标准,并向管理提供证据,以表明产品是否满足规范说明并准从标准,并且可以控制变更。

二、软件维护

  • 软件维护分为以下四种情况:
情况 描述
更正性维护 软件产品交付后进行的修改,以更正发现的问题。
适应性维护 软件产品交付后进行的修改,以保持软件产品能在变化后或变化中的环境中可以继续使用。
完善性维护 软件产品交付后进行的修改,以改进性能和可维护性。
预防性维护 软件产品交付后进行的修改,以在软件产品中的潜在错误成为实际错误前,检测和更正他们。

三、软件复用

  • 软件复用是指利用已有软件的各种知识来构造新的软件,以缩减软件开发、维护的费用。
  • 软件复用是提高软件生产力和质量的一种重要技术。
  • 软件复用程度包含以下方面:
  • 代码的复用
  • 设计的复用
  • 分析的复用
  • 测试信息的复用
  • 组件技术是软件复用实现的关键。

四、重构

  • 重构是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

五、软件开发环境

  • 软件构造工具
  • 软件设计工具
  • 软件需求工具
  • 软件质量工具
  • 软件工程过程工具
  • 软件工程管理工具
  • 软件配置管理工具
  • 软件维护工具
  • 软件测试工具

六、系统的可用性与可靠性

  • 可用性availability是系统能够正常运行的时间或时间比例,经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
  • 可靠性reliability是系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。
  • 平均无故障时间MTTF指系统无故障运行的平均时间。
  • 平均修复时间MTTR指系统从发生故障到维修结束之间的时间段的平均值。
  • 可用性 = MTTF/(MTTF+MTTR) x 100%

推荐阅读