2023-学习记录15-架构分析实战
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/17327905.html
某公司拟开发一个物流车辆管理系统,该系统可支持各车辆实时位置监控、车辆历史轨迹管理、违规违章记录管理、车辆固定资产管理、随车备品及配件更换记录管理、车辆寿命管理等功能需求。其非功能性需求如下:
(1)系统应支持大于50个终端设备的并发请求;性能
(2)系统应能够实时识别车牌,识别时间应小于1s; 性能
(3)系统应7X24小时工作;可用性
(4)具有友好的用户界面;易用性
(5)可抵御常见SQL注入攻击;安全
(6)独立事务操作响应时间应小于3s;性能
(7)系统在故障情况下,应在1小时内恢复;可修改性
(8)新用户学习使用系统的时间少于1小时。易用性
面对系统需求,公司召开项目组讨论会议,制订系统设计方案,最终决定基于分布式架构设计实现该物流车辆管理系统,应用Kafka、Redis数据缓存等技术实现对物流车辆自身数据、业务数据进行快速、高效的处理。
【问题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.对输入的数据进行过滤
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
2022-04-17 app第一阶段冲刺第一天