根据层次式架构和 Web 系统架构设计的叙述开发一个物流车辆管理系统

目录

案例

【题目】

[【问题 1】(4分)](#【问题 1】(4分))

[【问题 2】(14分)](#【问题 2】(14分))

[【问题 3】(7分)](#【问题 3】(7分))

【答案】

[【问题 1】答案](#【问题 1】答案)

[【问题 2】答案](#【问题 2】答案)

[【问题 3】答案](#【问题 3】答案)

相关推荐


案例

阅读以下关于 Web 系统架构设计的叙述,回答问题 1 至问题 3。

【题目】

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

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

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

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

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

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

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

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

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

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

【问题 1】(4分)

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

【问题 2】(14分)

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

(a)数据存储层 (b)Spuct2 (c)负载均衡层 (d)表现层

(e)HTTP 协议 (f)Redis 数据缓存 (h)分布式通信处理层

(g)Kafka 分发消息 (i)逻辑处理层 (j)CDN 内容分发

【问题 3】(7分)

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

【答案】

【问题 1】答案

本题考查高性能、高并发、高可用的分布式系统架构设计实践相关知识。

在当前的技术环境下,高性能、高并发、高可用的三高架构设计是众多技术企业需要在日常工作中经常面对的常见架构需求。这些需求的常见架构策略有:分层、冗余、分隔、异步通信、分布式、安全、自动化、集群、缓存、微服务等、

答案:

性能:(1)、(2)、(6)

安全性:(5)

可用性:(3)、(7)

易用性:(4)、(8​​​​​​)​

【问题 2】答案

(1)(d)

(2)(e)

(3)(i)

(4)(h)

(5 )(g)

(6 )(f)

(7 )(a)

博主(5 )=>(j),错了一个。

【问题 3】答案

SQL 注入攻击,就是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的査询字符串,最终达到欺骗服务器执行恶意的 SQL 命令

可以通过以下方式抵御 SQL注入攻击:

(1)使用正则表达式;

(2)使用参数化的过滤性语句;

(3)检查用户输入的合法性;

(4)用户相关数据加密处理;

(5)存储过程来执行所有的查询;

(6)使用专业的漏洞扫描工具。

相关推荐

2017年系统架构师案例分析试题五-CSDN博客文章浏览阅读1.3k次,点赞38次,收藏30次。响应式 Web 设计是指我们设计与开发的页面可以根据用户的行为和不同的设备环境做出相应的响应来调整页面的布局,以提供用户可感知的、流畅的阅读和操作体验。响应式 Web 设计具体的实现方式包括媒体查询(media query)、流式布局(弹性布局、动态布局)、液态图片(弹性图片)等。https://shuaici.blog.csdn.net/article/details/1416011922015年系统架构师案例分析试题五-CSDN博客文章浏览阅读608次,点赞26次,收藏31次。数据持久层是根据分层思想,通过建立逻辑数据操作接口,采取一定的对象/关系映射策略,隐藏数据库访问代码细节,向业务开发人员提供透明的对象持久化操作机制。能够为项目开发带来的好处:(1)分离业务逻辑层和数据层,降低两者之间的耦合;(2)通过对象/关系映射向业务逻辑提供面向对象的数据访问;(3)简化数据层访问,隐藏数据库链接、数据读写命令和事务管理细节。https://shuaici.blog.csdn.net/article/details/141259339【系统架构设计师】十三、软件可靠性(软件可靠性管理|软件可靠性设计|软件可靠性测试与评价)-CSDN博客文章浏览阅读827次,点赞25次,收藏11次。提高系统可靠性的技术可以分为避错(排错)技术和容错技术。避错是通过技术评审、系统测试和正确性证明等技术,在系统正式运行之前避免、发现和改正错误。容错是指系统在运行过程中发生一定的硬件故障或软件错误时,仍能保持正常工作而不影响正确结果的一种性能或措施。容错技术主要是采用冗余方法来消除故障的影响。软件容错技术主要包括恢复块方法、N版本程序设计、防卫式程序设计和冗余设计等多种方法。https://shuaici.blog.csdn.net/article/details/140516798系统架构设计师备考攻略-CSDN博客文章浏览阅读1.2k次,点赞30次,收藏26次。计算机软件资格考试是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试。软考没有学历、专业、年龄、相关工作经验要求,你可以根据自身选择合适的去报名(也就是说你直接直接报高级),但是一次考试只能报一种。计算机软件资格考试纳入全国专业技术人员职业资格证书制度的统一规划,实行统一大纲、统一试题、统一标准、统一证书的考试办法,每年举行两次。通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位聘任相应专业技术职务(助理工程师、工程师、高级工程师)。_系统架构设计师备考https://shuaici.blog.csdn.net/article/details/140975939

相关推荐
Acrelhuang19 分钟前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
十叶知秋1 小时前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
yx9o1 小时前
Kafka 源码 KRaft 模式本地运行
分布式·kafka
monkey_meng1 小时前
【Rust中多线程同步机制】
开发语言·redis·后端·rust
Gemini19952 小时前
分布式和微服务的区别
分布式·微服务·架构
G丶AEOM2 小时前
分布式——BASE理论
java·分布式·八股
hlsd#2 小时前
go 集成go-redis 缓存操作
redis·缓存·golang
瓜牛_gn3 小时前
mysql特性
数据库·mysql
奶糖趣多多4 小时前
Redis知识点
数据库·redis·缓存
CoderIsArt5 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存