针对运行期的质量考虑,主要是基于用户使用过程中的各类场景来展开进行分析,提取出上述几类质量属性方面的要点:
\
<=100人
<=500人
<=1000人
<=10000人
性能
100人,数据量较小,暂时可不考虑
500人使用时性能也不需要特别的考虑,业务量及数据量都不会太大
一般
高
安全性
内网部署,非外网隔离,安全性级别(高)
较高
较高
较高
易用性
需考虑,要求较低
一般
一般
高
持续可用性
要求不高,上班期间使用
一般
较高
较高
可伸缩性
暂时可不考虑
暂时可不考虑
一般
高
互操作性
需考虑(但要求不高)
需考虑,涉及到多个子公司,需要考虑差异性的互操作性
一般
高
可靠性
高
高
较高
较高
鲁棒性
需考虑(要求不高)
需考虑(一般)
较高
较高
相对于开发期的质量属性来说,运行期的质量属性更多、更复杂、更重要,所以我们需要特别重视。
3.1.3 系统约束
基于前面列出的应用需求,我们综合4类企业的约束,形成统一的约束清单:
约束类型
具体说明
业务环境约束
上线时间:3个月
预算限制:性价比高
集成环境:公司内部OA、邮件等系统与外部社保系统等连接
政策及法规:受制于人力资源管理相应的办法
使用环境约束
何阶层用户:员工、HR、高管等
年龄段和偏好:覆盖22岁~65岁
多个国家:(多语言支持)
是否存在网络较弱或延迟情况:会存在,所以需要考虑信息的临时存储及恢复
设备移动的情况下:需要提供移动端设备访问
开发环境约束
技术水平:团队技术水平高,掌握java语言
城市分布:多个城市
磨合程度:一般
开发管理程度:较高
源代码保密:高
网络环境:良好
技术环境约束
技术平台:Java、Linux
中间件:Spring cloud、Redis等
编程语言的流行度:主流
认同度:高
优缺点:应用语言,性能问题需要考虑
上面我们系统化的梳理了系统的业务功能、质量属性及约束内容,下面我们采取需求层次-需求类型二维矩阵来找出关键功能、关键质量属性及关键约束。
3.2、确定关键功能、关键质量属性及关键约束