本节学习目标
软件构造过程中应考虑的重要质量指标
如果达不到期望的质量目标,会有什么后果
有哪些面质量指标的软件构造技术
软件系统的质量属性
外部质量因素,软件运行的速度或者易用性(使用者)
内部质量因素:软件的模块化、可读性(开发者)
外部质量取决于内部质量
外部质量因素
correctness
robustness
针对异常情况的处理
没有被specification覆盖的情况就是“异常”
extendibility
对软件的规约进行修改,是否容易满足
reusability
一次开发,多次使用
compatibility
不同的软件系统之间相互可容易的集成
efficiency
对性能的关注要与其他质量睡醒进行折中
portability
软件可方便的在不同的技术环境之间移植
硬件、os
ease of use
functionality
过分地追求功能性,会导致丧失很多一致性
others
timeliless:及时性,在用户需要之前将软降发布
verifiability:可验证性,比较容易构造测试数据
integrity:完整性,保护其组件免受未授权访问和修改
repairability:可修复性,便于缺陷的修复
economy:经济性,在制定预算或者时低于预算的条件下完成任务的能力
内部质量因素
可读性、可理解性、清晰度、size
质量属性之间的权衡
完整性和易用性
经济性和功能性
高效性和可移植性
及时性和可扩展性
正确的软件开发过程中开发者应该将不同质量因素之间如何做出折中的设计决策和标准明确的写下来
虽然需要这种,但“正确性”不能与其他质量因素折中
最重要的几个质量因素
正确性和健壮性
可扩展性和可复用性
软件构造五个关键的质量指标
understandability
代码的可理解性:变量、子程序、语句的命名于构造标准、代码布局与风格、注释、复杂度、函数规约
构建、项目的可理解性:包的组织、文件的组织、命名空间
reusability
ADT/OOP
接口与实现分离,集成/重载/重写/组合/代理/多态/子类型/泛型/OO设计模式
maintainability and adaptability
模块化设计,聚合度/耦合度,SOLID,设计模式
robustness
performance
代码调优、空间复杂性(内存管理性能)事件复杂性(IO性能)分布式系统,并行,多线程

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!