满足功能需求只是对一个软件基本的要求,作为一个好的软件必须关注一系列的非功能的要求,比如容易部署,界面友好,可以扩展,性能优良,等等。
一些软件框架以不同的维度提出了自己的非功能需求列表,供评估和提出需求时参考,自己也在开发过程中针对服务端软件,按照软件生命周期过程中参与服务端软件不同操作的不同人员,以及这些人员对系统的关注点不同,拟出了一个服务端软件的非功能需求指标框架,可以用于提出指标,也可以用于进行软件评估。
第一层的划分是来自于询问自己的一个问题:软件生命周期中,都有谁会关注这个软件,他和软件有什么操作,他关注软件的哪些部分?从这个问题出发,可以得到软件生命周期中有以下相关方:
软件本身的正常和异常运行
开发人员:软件本身的设计和实现中的要求
运维人员:操作/监测/部署升级 这三类运维人员在履行自己职责时对软件的要求
安全人员:从安全角度出发对系统各个方面的要求
用户人员:软件的不同用户对软件界面和接口的要求
机房/审计人员:对软件的效能进行审计和控制
这样基本保证了指标的完整性,也许还有其他的点,后续继续补充了。