【说明】某公司拟开发一个物流车辆管理系统,该系统可支持各车辆实时位置监控、车辆历史轨迹管理、违规违章记录管理、车辆固定资产管理、随车备品及配件更换记录管理、命管理等功能需求。其非功能性需求如下:(1)系统应支持大于 50 个终端设备的并发请求;
(2)系统应能够实时识别车牌,识别时间应小于1s;
(3)系统应 7×24 小时工作;
(4)具有友好的用户界面;
(5)可抵御常见SQL注入攻击 ;
(6)独立事务操作响应时间应小于 3s;
(7)系统在故障情况下,应在1小时内恢复;
(8) 新用户学习使用系统的时间少于1小时 。
面对系统需求 ,公司召开项目组讨论会议,制订系统设计方案 ,最终决定基于分布式架构设计实现该物流车辆管理系统,应用Kafka、Redis数据缓存等技术实现对物流车数据、业务数据进行快速、高效的处理。
【问题 1】请将上述非功能性需求(1)~(8)归类到性能、安全性、可用性、易用性这四类非功能性需求。
【问题 2 】 经项目组讨论,完成了该系统的分布式架构设,如图5-1所示。
请从下面给出的(a)~(j)中进行选择,补充完善图5-1中(1)~(7)处空白的内容。
(a)数据存储层
(b)Struct2
(c)负载均衡层
(d)表现层
(e)HTTP协议
(f)Redis数据缓存
(g)Kafka分发消息
(h)分布式通信处理层
(i)逻辑处理层
(j)CDN内容分发
性能:(1)、(2)、(6)
安全性:(5)
可用性:(3)、(7)
易用性:(4)、(8)
【 问题 2】 (1)(d) (2)(e) (3)(i) (4)(h) (5)(g) (6)(f) (7)(a)
【 问题 3】 SQL注入攻击,就是通过把SQL命令插入到 Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
可以通过以下方式抵御SQL注入攻击: ▪使用正则表达式; ▪使用参数化的过滤性语句; ▪检查用户输入的合法性; ▪用户相关数据加密处理;▪存储过程来执行所有的查询; ▪使用专业的漏洞扫描工具。