质量评估
质量值得追求,但多大的雄心壮志都无法征服一场漫无目的的旅途——一场没有目标、没有终点的旅途。当我背包穿越中美和南美时,我根本不知道自己会搭乘哪辆大巴或出租车,也不知道自己将在何处露宿,但我知道自己的终点在哪 :几个月后从布宜诺斯艾利斯起飞。由于航班是确定的,因此这是一个非常清楚的目标,我要么赶上飞机,要么错过,要么改签延长旅行。在旅途中,我不断地调整线路、旅行方式及游览地点,以确保我能准时到达布宜诺斯艾利斯。
对软件质量的追求是一个复杂而曲折的过程,但它应该有一个确定的目标和方向。SAS 从业人员通过性能需求能够知道软件中必须包含哪些质量特征。即便在进行迭代、快速开发的敏捷开发环境中,预期的功能和性能在每个带有时间限制的迭代中都是确定的。性能需求不仅能指导和推动设计与开发过程,而且在软件完成及操作过程中,能够用于质量评估的实现程度。
在介绍动态性能需求的章节中,“评估”部分介绍了定性和定量评估性能的方法。相比于静态性能需求,动态性能需求更容易进行定量评估。我们可以规定软件必须在 15分钟内创建完成 ;每小时能够处理 300 万观测结果 ;每月的故障次数不超过两次 ;或者适合在 Windows而非UNIX 环境中运行。动态性能需求不仅是可评估的,还是可观测的,因此,在需求文档中,通常它们所占的比重要超过静态性能属性。
静态性能需求通常比较适合进行定量、间接性的评估。例如,通过计算每个宏中的行数或确定所有的子进程,生成返回代码向父进程提示成功或故障信号,我们便可以大体估算模块化。然而,模块化更有可能被表述为软件的一大优点,因此,会进行定量评估。一些开发环境同样会追踪特定代码模块重复利用的次数以及模块代码的容量,或者追踪能够提供重复利用指标、借以推断复用性的软件。但对添加(或排除) 静态性能需求的最佳评判来自资深的 SAS从业人员,他们能检测代码,识别质量特征。