随项目增大而工作量增大的活动:
计划
管理
交流
需求开发
系统功能设计
接口设计和描述
总体结构
综合
错误消除
系统测试
文档生成
配置管理
一般:
你的软件配置管理计划是否用于帮助程序员,并能将额外开销减至最少
你使用SCM手段能否避免对项目失控
你所在组是否有修改请求,请示控制可以是非正式方式或正式方式
你是否能比较正确地估计每次修改的影响
你是否将重要修改视为需求分析不充分的警告
工具:
是否使用版本控制软件以便配置管理
是否使用版本控制软件以减少开发时的协调问题
是否使用制作或其他控制依赖软件是编程更为有效和可靠
软件质量特点:
正确性:整个系统受说明、设计和实现的错误影响程度
可用性:用户学会和使用系统的难易程度
效率:对系统资源的最小利用,包括存储和执行时间
可靠性:系统在一定条件下执行特定功能的能力(在每次失效之间有一个较长的平均时间)
完整性:防止非法或不适当地访问。完整性思想包括:限制非法用户访问,同时确保数据恰当访问;并行数据表进行并行修改;数据段仅含有有效数据等
适应性:系统在应用或其他环境下不作修改就能使用的能力,而不必经过特定的设计
精确性:系统不受错误影响的程度,尤其是数据输出方面。精确性和正确性是不同的。精确性是对系统完成其工作性能良好的衡量,而不是它设计的是否正确
坚固性:系统对无效输入或压力环境中能继续执行其功能的能力
有效方法:
对系统关键部分的正式设计检查
使用快速原型化技术进行模块化或原型化
代码阅读或检查
运行测试