2023-学习记录15-架构分析实战

 

某公司拟开发一个物流车辆管理系统,该系统可支持各车辆实时位置监控、车辆历史轨迹管理、违规违章记录管理、车辆固定资产管理、随车备品及配件更换记录管理、车辆寿命管理等功能需求。其非功能性需求如下:

(1)系统应支持大于50个终端设备的并发请求;性能

(2)系统应能够实时识别车牌,识别时间应小于1s; 性能

(3)系统应7X24小时工作;可用性

(4)具有友好的用户界面;易用性

(5)可抵御常见SQL注入攻击;安全

(6)独立事务操作响应时间应小于3s;性能

(7)系统在故障情况下,应在1小时内恢复;可修改性

(8)新用户学习使用系统的时间少于1小时。易用性

面对系统需求,公司召开项目组讨论会议,制订系统设计方案,最终决定基于分布式架构设计实现该物流车辆管理系统,应用KafkaRedis数据缓存等技术实现对物流车辆自身数据、业务数据进行快速、高效的处理。

【问题1.1】(8分)

请将上述非功能性需求(1)~8)归类到性能、安全性、可用性、易用性这四类非功能性需求。

 

 

(1)系统应支持大于50个终端设备的并发请求;性能

 

(2)系统应能够实时识别车牌,识别时间应小于1s; 性能

 

(3)系统应7X24小时工作;                    可用性

 

(4)具有友好的用户界面;                     易用性

 

(5)可抵御常见SQL注入攻击;                安全

 

(6)独立事务操作响应时间应小于3s;            性能

 

(7)系统在故障情况下,应在1小时内恢复;     可修改性

 

(8)新用户学习使用系统的时间少于1小时        易用性

 

【问题1.2】(7分)

经项目组讨论,完成了该系统的分布式架构设计,如图1所示。请从下面给出的(a)~j)中进行选择,补充完善图1中(1~7)处空白的内容。

 

(a)数据存储层

(b)Spuct2

(c)负载均衡层

(d)表现层

(e)HTTP协议

(f)Rcdis数据缓存

(g)Kafka分发消息

(h)分布式通信处理层

(i)逻辑处理层

(j)CDN内容分发

 

1 d

2 e

3 i

4 h

5 j

6 g

7 a

 

【问题1.3】(5分)

该物流车辆管理系统需抵御常见的SQL注入攻击,请用200字以内的文字说明什么是SQL注入攻击,并列举出两种抵御SQL注入攻击的方式。

 

 

1.在使用关系型数据库时,使用preparedstatement对象传输数据的时候,将原来的格式改成“?”来传输提高安全性。

 

2.对输入的数据进行过滤

 

posted @ 2023-04-17 23:02  kuaiquxie  阅读(14)  评论(0编辑  收藏  举报