健壮性/鲁棒性? 系统的用户群相当固定,且小,不易发生非法操作。 易用性? 仓储管理人员属于产业工人,需要系统操作简单、交互明了。
% k+ Z6 i5 [6 w 可测试性? 此类系统在正式上线前必须进行试运行。
$ C) {: t. T+ ^ 可重用性? 仓储管理是一个社会普遍的业务类型,如果开发方需要继续在该领域发展,不妨考虑可重用性。
; P" o' s( v9 n 可维护性? 此类系统一旦建立,只要企业存在,系统的维护性一定要考虑。1 L* L) [) ]2 t7 V+ E
可扩展性?不同的仓库业务类型和流程大同小异,但可能规模不同,另外,一个仓储企业的发展必然包括业务规模的发展,因此可伸缩性是必须要考虑的。! x7 n8 `0 N0 E6 ~
可移植性? “甲方要求系统将来可以更换硬件。” 这是一个来自甲方的直接的软件质量属性要求。
1 C+ M' f; u9 Y 基于以上分析,我们认为:安全性、持续可用性、易用性、可维护性、可扩展性、可移植性、可重用性、可测试性都可以作为该系统的非功能性需求。' J# X, C! i4 j. x6 \' x
第二步:接下来,我们分析这些软件质量属性,他们直接是否存在冲突,也就是满足一个会导致另一个不满足或消弱的情况。
y. o$ [+ J0 T- S3 n2 V& e, @ 性能是否影响可移植性?本系统中,性能要求主要体现在整体存储吞吐量上,是一个统计概念,这并不和具体的平台、技术之间关联,所以没有冲突。; P) O( b( j$ R( _/ g" s" M. N4 H
可移植性是否影响易用性?甲方的可移植性要求导致将来硬件系统的更替,可给甲方的系统维护人员带来新的挑战,但业务承担员工并不会有太大影响,因为,业务流程控制操作并不会改变。9 E* _, f, e1 q! D% d& {& f
基于以上分析,本系统没有明显的质量属性冲突。
/ `8 Q: w! o* q. E, l2 K; j 第三步:确定这些质量属性的优先级。
8 g9 @0 p8 G1 M' i4 B; R! U 这个优先级是根据各个质量属性对系统的影响程度来定性判断的。一般来讲,影响安全生产的要素要高优先级考虑,其次是影响企业经营的要素,最后考虑哪些支持性的要素。因此,该案例的软件质量优先级排序如下:1.安全性2.持续可用性3.易用性4.可维护性5.可扩展性、可移植性、可重用性、可测试性。
$ N) E0 P6 g% b: o) ]- L* Y 第四步:筛选关键的软件质量属性。
3 f- \8 J( E7 k 一个系统关键的软件质量属性和质量目标不可能太多,一般视系统的规模从2-5个不等。因此,该案例的关键软件质量属性可以选择前三个:1.安全性2.持续可用性3.易用性。 |