[软考高级-系统架构设计师-2019年下半年]下午考试主观题-案例分析真题

必答题-试题一(软件架构设计与评估)

某电子商务公司为了更好地管理用户,提升企业销售业绩,拟开发一套用户管理系统。该系统的基本功能是根据用户的消费级别、消费历史、信用情况等指标将用户划分为不同的等级,并针对不同等级的用户提供相应的折扣方案 。在需求分析与架构设计阶段,电子商务公司提出的需求、质量属性描述和架构特性如下 :
(a)用户目前分为普通用户、银卡用户、金卡用户和白金用户四个等级,后续需要能够根据消费情况进行动态调整;
(b)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;
(c)在正常负载情况下,系统应在0.5秒内对用户的商品查询请求进行响应;
(d)在各种节假日或公司活动中,针对所有级别用户,系统均能够根据用户实时的消费情况动态调整折扣力度;
(e)系统主站点断电后,应在5秒内将请求重定向到备用站点;
(f)系统支持中文昵称,但用户名要求必须以字母开头,长度不少于8个字符;
(g)当系统发生网络失效后,需要在15秒内发现错误并启用备用网络;
(h)系统在展示商品的实时视频时,需要保证视频画面具有1024×768像素的分辨率,40帧/秒的速率;
(i)系统要扩容时,应保证在10人•月内完成所有的部署与测试工作;
(j)系统应对用户信息数据库的所有操作都进行完整记录;
(k)更改系统的Web界面接口必须在4人•周内完成;
(l)系统必须提供远程调试接口,并支持远程调试 。
在对系统需求、质量属性描述和架构特性进行分析的基础上,该系统架构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对系统架构进行评估。

【问题1】(13 分)
针对用户级别与折扣规则管理功能的架构设计问题,李工建议采用面向对象的架构风格,而王工则建议采用基于规则的架构风格。请指出该系统更适合采用哪种架构风格,并从用户级别、折扣规则定义的灵活性、可扩展性和性能三个方面对这两种架构风格进行比较与分析,填写表1-1中的(1)~(3)空白处。

图片[1]-[软考高级-系统架构设计师-2019年下半年]下午考试主观题-案例分析真题-IT谷

【问题2】(12 分)
在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入图1-1中(1)、(2)空白处,并选择题干描述的(a)~(l)填入(3)~(6)空白处,完成该系统的效用树。

图片[2]-[软考高级-系统架构设计师-2019年下半年]下午考试主观题-案例分析真题-IT谷

针对用户级别与折扣规则管理功能的架构设计问题,该系统更适合采用基于规则的架构风格。
(1)将用户级别、折扣规则等描述为可动态改变的规则数据;
(2)加入新的用户级别和折扣规则时需要重新定义新的对象,并需要重启系统;
(3)用户级别和折扣规则已经在系统内编码,可直接运行,性能较好。
【解析】
在评估系统的架构选择时,我们需要权衡灵活性、可扩展性和性能等多方面的需求。该系统特别关注折扣定义的灵活性,这意味着我们需要一个能够轻松修改和扩展折扣规则的系统。基于规则的架构风格非常适合这种场景,因为它允许将用户级别、折扣规则等定义为可动态改变的数据,从而避免在每次需要调整规则时修改和重新部署代码。当需要添加新的用户级别或折扣规则时,只需定义新的规则并更新规则数据,而无需对整个系统进行修改或重启。然而,基于规则的架构可能会带来一些性能上的挑战,因为系统需要实时解释和执行这些规则。
另一方面,面向对象的架构风格(Object-Oriented Architecture)确实在性能上可能更具优势,因为它将用户级别、折扣规则等封装为对象,这些对象在系统启动时加载并可以直接运行。但是,当需要添加新的用户级别或折扣规则时,可能需要重新定义新的对象并重启系统,这降低了系统的可扩展性。

(1)安全性
(2)可修改性
(3)(h)
(4)(j)
(5)(e)
(6)(k)
【解析】
本题考查的是软件质量属性,要求考生掌握常见的软件质量属性的含义与具体的应用场景。
1、性能
性能(performance)是指系统的响应能力,即要经过多长时间才能对某个事件作出响应,或者在某段时间内系统所能处理的事件的个数。
2、可用性
可用性(availability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
3、安全性
安全性(security)是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
4、可修改性
可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。
根据对相关质量属性的定义和含义,其中“系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御”和 “系统应对用户信息数据库的所有操作都进行完整记录”对应安全性;“在正常负载情况下,系统应在0.5秒内对用户的商品查询请求进行响应”和“系统在展示商品的实时视频时,需要保证视频画面具有1024×768像素的分辨率,40帧/秒的速率”对应系统的性能;“系统主站点断电后,应在5秒内将请求重定向到备用站点”和“当系统发生网络失效后,需要在15秒内发现错误并启用备用网络”对应可用性;“系统要扩容时,应保证在10人•月内完成所有的部署与测试工作”和“更改系统的Web界面接口必须在4人•周内完成”对应可修改性。

选做题-试题二(数据流图)

某软件企业为快餐店开发一套在线订餐管理系统,主要功能包括:
(1)在线订餐:已注册客户通过网络在线选择快餐店所提供的餐品种类和数量后提交订单,系统显示订单费用供客户确认,客户确认后支付订单所列各项费用。
(2)厨房备餐:厨房接收到客户已付款订单后按照订单餐品列表选择各类食材进行餐品加工。
(3)食材采购:当快餐店某类食材低于特定数量时自动向供应商发起采购信息,包括食材类型和数量。供应商接收到采购信息后按照要求将食材送至快餐店并提交已采购的食材信息。系统自动更新食材库存 。
(4)生成报表:每个周末和月末,快餐店经理会自动收到系统生成的统计报表,报表中详细列出了本周或本月订单的统计信息以及库存食材的统计信息。
现采用数据流图对上述订餐管理系统进行分析与设计,系统未完成的0层数据流图。如图2-1 所示。

图片[3]-[软考高级-系统架构设计师-2019年下半年]下午考试主观题-案例分析真题-IT谷

【问题 1】(8分)
根据订餐管理系统功能说明,请在图2-1所示数据流图中给出外部实体E1~E4和加工P1~ P4的具体名称。

【问题 2】(8 分)
根据数据流图规范和订餐管理系统功能说明,请说明在图2-1中需要补充哪些数据流可以构造出完整的0层数据流图。

【问题3】(9 分)
根据数据流图的含义,请说明数据流图和系统流程图之间有哪些方面的区别。

E1:客户
E2:厨房
E3:经理
E4:供应商
P1:在线订餐
P2:厨房备餐
P3:生成报表
P4:食材采购

【解析】
图中给出了四个实体,根据题目说明中“系统显示订单费用供客户确认”可确定E1为客户,P1为在线订餐;“厨房接收到客户已付款订单后按照订单餐品列表选择各类食材进行餐品加工”可确定E2为厨房,P2为厨房备餐;“当快餐店某类食材低于特定数量时自动向供应商发起采购信息”可确定E4为供应商,P4为食材采购;最后可确定P3为生成报表,则E3为经理。

(1)增加E1到P1数据流“餐品订单”;
(2)增加P1到P2数据流“餐品订单”;
(3)增加D1到P3数据流“订单汇总”;
(4)增加P3到E3数据流“统计报表”。

【解析】
在绘制数据流图时,可能会遇到一些常见的错误,包括黑洞、灰洞、无输入以及部分语法错误。P1只有输出没有输入为无输入错误,需要增加E1到P1数据流“餐品订单”;P2同样为无输入错误,需要增加P1到P2数据流“餐品订单”;根据P3生成报表要求输入中有订单信息和食材信息,所以需要增加D1到P3数据流“订单汇总”;P3只有输入没有输出存在黑洞错误,需要增加P3到E3数据流“统计报表”。

(1)数据流图中的处理过程通常具备并行处理能力,可以同时执行多个处理过程;而系统流程图则强调在某一特定时间点,系统只能处于一个处理过程的状态中。
(2)数据流图主要聚焦于展现系统的数据流动情况,通过数据流向和转换过程来反映系统的数据处理逻辑;而系统流程图则侧重于展示系统的控制流,即各个处理过程之间的控制关系和逻辑顺序。
(3)数据流图在展现全局处理过程时,各个过程之间可能遵循不同的计时标准;而系统流程图在描述处理过程时,则强调遵循一致的计时标准。

【解析】
数据流图和流程图在结构化建模中扮演着至关重要的角色,它们为开发人员提供了强大的工具来分析和设计系统。首先,数据流图通过图形化的方式清晰地展示了业务处理过程、系统边界内的功能以及系统中的数据流,使得开发人员能够直观地理解系统的逻辑结构和数据流动情况。这种图形化的表示方式不仅增强了开发人员之间交流的准确性和有效性,还有助于他们更好地把握系统的整体架构和关键功能点。相比之下,流程图则专注于描述应用程序从数据输入到输出的逻辑过程,特别是处理过程的控制流。它展示了系统内部各个组件之间的交互和协作方式,以及数据在这些组件之间的传递和转换过程。流程图更多地涉及具体的技术和环境因素,适用于系统设计中的物理建模阶段。通过流程图,开发人员能够深入理解系统的实现细节和运行机制,从而确保系统的稳定性和可靠性。在实际应用中,区别主要包括是否可以描述处理过程的并发性、描述内容是数据流还是控制流、所描述过程的计时标准不同三个方面。

选做题-试题三(嵌入式系统开放式架构相关技术)

信息物理系统(Cyber Physical Systems,CPS)技术已成为未来宇航装备发展的重点关键技术之一。某公司长期从事嵌入式系统的研制工作 ,随着公司业务范围不断扩展,公司决定进入宇航装备的研制领域。为了做好前期准备,公司决定让王工程师负责编制公司进军宇航装备领域的战略规划。王工经调研和分析,认为未来宇航装备将向着网络化、智能化和综合化的目标发展,CPS 将会是宇航装备的核心技术,公司应构建基于CPS技术的新产品架构,实现超前的技术战略储备。

【问题 1】 (9 分)
通常CPS结构分为感知层、网络层和控制层,请用300字以内文字说明CPS的定义,并简要说明各层的含义。

【问题 2 】(10 分)
王工在提交的战略规划中指出:飞行器中的电子设备是一个大型分布式系统,其传感器、控制器和采集器分布在飞机各个部位,相互间采用高速总线互连,实现子系统间的数据交换,而飞行员或地面指挥系统根据飞行数据的汇总决策飞行任务的执行。图3-1给出了飞行器系统功能组成图。请参考图3-1给出的功能图,依据你所掌握的CPS知识,说明以下所列的功能分别属于CPS结构中的哪层,哪项功能不属于CPS任何一层。
1.飞行传感器管理
2.步进电机控制
3.显控
4.发电机控制
5.环控
6.配电管理
7.转速传感器
8.传感器总线
9.飞行员
10.火警信号探测

图片[4]-[软考高级-系统架构设计师-2019年下半年]下午考试主观题-案例分析真题-IT谷

【问题 3】 (6 分)
王工在提交的战略规划中指出:未来宇航领域装备将呈现网络化、智能化和综合化等特征,形成集群式的协同能力,安全性尤为重要。在宇航领域的CPS系统中,不同层面上都会存在一定的安全威胁。请用100字以内文字说明CPS系统会存在哪三类安全威胁,并对每类安全威胁至少举出两个例子说明。

信息物理系统(Cyber Physical Systems,CPS)作为计算进程和物理进程的统一体,是集计算、通信与控制于一体的下一代智能系统。信息物理系统通过人机交互接口实现和物理进程的交互,使用网络化空间,以远程的、可靠的、实时的、安全的、协作的方式操控一个物理实体。
感知层扮演着关键角色,主要由传感器、控制器和采集器等设备构成,作为系统的终端单元。
网络层则是连接信息域与物理域的纽带,专注于数据传输,为整个系统提供实时、可靠的网络服务,确保数据包的传输效率和稳定性。
控制层基于感知层收集的数据和认知结果,进行深度分析,并将分析结果反馈给客户端,以指导物理设备的运行和调控。

【解析】
信息物理系统(Cyber Physical Systems,CPS)作为计算进程和物理进程的统一体,是集计算、通信与控制于一体的下一代智能系统。信息物理系统通过人机交互接口实现和物理进程的交互,使用网络化空间,以远程的、可靠的、实时的、安全的、协作的方式操控一个物理实体。CPS的架构通常包括感知层、网络层和控制层。感知层通过传感器等设备收集环境数据,网络层作为信息世界的桥梁,确保数据传输的实时可靠,而控制层则根据感知数据进行分析,为用户提供可视化的决策支持。整个系统通过紧密的计算资源与物理资源的结合,为智能系统的发展提供了坚实的基础。

感知层:2、4、7、10
网络层:8
控制层:1、3、5、6
不属于 CPS 结构中的功能:9

【解析】
首先,感知层主要由分布在飞机各个部位的传感器和采集器构成,这些设备负责采集和控制飞机飞行中的各类数据,如飞机姿态数据、流量数据、发动机数据、大气数据等。它们实时地获取飞机的各种状态信息,并将这些信息发送给上层的控制层进行处理。步进电机控制、发电机控制、转速传感器和火警信号探测等传感器都属于感知层,它们为飞行器的稳定运行提供了重要的数据支持。
其次,网络层是连接感知层和控制层的桥梁,它采用高速总线互连的方式实现子系统间的数据交换。在图3-1给出的飞行器系统功能组成图中,传感器总线和飞行器总线就是网络层的具体体现。这些总线确保了数据的实时、可靠传输,使得控制层能够基于感知层的数据做出准确的决策。
最后,控制层负责对感知层采集的数据进行分类处理,并执行相应的控制策略。它包含了多种功能性管理工作,如飞行传感器管理、显控、环控、配电管理等。控制层根据感知层提供的数据,结合飞行任务的需求,通过计算和分析,制定出合适的控制指令,并通过网络层发送给执行机构,实现对飞行器的有效控制。

(1)感知层安全威胁:感知数据破坏、信息窃听、节点捕获。
(2)网络层安全威胁:拒绝服务攻击、选择性转发、方向误导攻击。
(3)控制层安全威胁:用户隐私泄露、恶意代码、非授权访问。

【解析】
信息物理系统(CPS)的安全性对于其可靠运行至关重要,特别是在宇航系统这样高度敏感和关键的应用领域。在研制安全可靠的CPS时,我们必须深入分析系统各层次可能面临的安全威胁。
(1)首先,我们来看感知层。感知层主要存在以下安全威胁:
感知数据破坏:攻击者可能通过篡改传感器数据来影响系统决策。
信息窃听:未经授权的实体可能监听传感器与控制器之间的通信,窃取敏感信息。
节点捕获:攻击者可能物理捕获传感器节点,获取存储在其中的敏感数据。
被旁路:攻击者可能绕过正常的数据处理流程,直接对系统造成影响。
(2)接下来是网络层。网络层主要存在以下安全威胁:
拒绝服务攻击(DoS):攻击者通过发送大量无效请求来耗尽系统资源,导致正常服务不可用。
选择性转发:攻击者可能只转发部分数据,影响系统决策。
方向误导:攻击者可能伪造或篡改路由信息,导致数据包被发送到错误的目的地。
(3)最后是控制层。控制层主要存在以下安全威胁:
用户隐私泄露:系统可能不当地存储或传输用户的敏感信息。
恶意代码:攻击者可能通过注入恶意代码来篡改系统决策或窃取数据。
非授权访问:未经授权的实体可能访问控制层并影响系统决策。

选做题-试题四(分布式数据库缓存设计)

某初创企业的主营业务是为用户提供高度个性化的商品订购业务,其业务系统支持PC端、手机App等多种访问方式。系统上线后受到用户普遍欢迎,在线用户数和订单数量迅速增长,原有的关系数据库服务器不能满足高速并发的业务要求。
为了减轻数据库服务器的压力,该企业采用了分布式缓存系统,将应用系统经常使用的数据放置在内存,降低对数据库服务器的查询请求,提高了系统性能。在使用缓存系统的过程中,企业碰到了一系列技术问题。

【问题 1】(11 分)
该系统使用过程中,由于同样的数据分别存在于数据库和缓存系统中,必然会造成数据同步或数据不一致性的问题。该企业团队为解决这个问题,提出了如下解决思路:
应用程序读数据时,首先读缓存,当该数据不在缓存时,再读取数据库;应用程序写数据时,先写缓存,成功后再写数据库;或者先写数据库,再写缓存。
王工认为该解决思路并未解决数据同步或数据不一致性的问题,请用100字以内的文字解释其原因 。
王工给出了一种可以解决该问题的数据读写步骤如下 :
读数据操作的基本步骤 :
1.根据key读缓存;
2.读取成功则直接返回;
3.若key不在缓存中时,根据key(a);
4.读取成功后,(b);
5.成功返回 。
写数据操作的基本步骤 :
1.根据key值写(c);
2.成功后(d);
3.成功返回。
请填写完善上述步骤中(a)~(d)处的空白内容。

【问题 2 】(8 分)
缓存系统一般以key/value形式存储数据,在系统运维中发现,部分针对缓存的查询,未在缓存系统中找到对应的key,从而引发了大量对数据库服务器的查询请求,最严重时甚至导致了数据库服务器的宕机。
经过运维人员的深入分析,发现存在两种情况:
(1)用户请求的key值在系统中不存在时,会查询数据库系统,加大了数据库服务器的压力;
(2)系统运行期间,发生了黑客攻击,以大量系统不存在的随机key发起了查询请求,从而导致了数据库服务器的宕机 。经过研究,研发团队决定,当在数据库中也未查找到该key时,在缓存系统中为key设置空值,防止对数据库服务器发起重复查询 。
请用100字以内文字说明该设置空值方案存在的问题,并给出解决思路。

【问题 3】(6 分)
缓存系统中的key一般会存在有效期,超过有效期则key失效;有时也会根据LRU算法将某些key移出内存。当应用软件查询key时,如key失效或不在内存,会重新读取数据库,并更新缓存中的key。
运维团队发现在某些情况下,若大量的key设置了相同的失效时间,导致缓存在同一时刻众多key同时失效,或者瞬间产生对缓存系统不存在key的大量访问,或者缓存系统重启等原因,都会造成数据库服务器请求瞬时爆量,引起大量缓存更新操作,导致整个系统性能急剧下降,进而造成整个系统崩溃。
请用100字以内文字,给出解决该问题的两种不同思路。

关于数据同步的潜在问题,当执行写入操作时,存在一种称为双写不一致的隐患。具体而言,有时我们可能遇到缓存写入成功但数据库写入失败,或者数据库写入成功而缓存更新失败的情况,这会导致数据在两个存储系统之间出现不一致。此外,当多个请求发生时,也可能产生读写冲突的并发问题。
(a)从数据库中读取数据或读数据库
(b)更新缓存中key值或更新缓存
(c)数据库
(d)删除缓存key或使缓存key失效或更新缓存(key值)

【解析】
关于数据同步的潜在问题,当执行写入操作时,存在一种称为双写不一致的隐患。具体而言,有时我们可能遇到缓存写入成功但数据库写入失败,或者数据库写入成功而缓存更新失败的情况,这会导致数据在两个存储系统之间出现不一致。此外,当多个请求同时发生时,还可能出现读写冲突的并发问题,这进一步增加了数据一致性的挑战。
王工的解决思路是:读操作的顺序是,先读缓存,如果数据在缓存中,则直接返回,无须数据库操作;如果数据不在缓存,则读数据库,如成功,则更新缓存,如失败,则返回无此数据。
读操作主要解决查询效率问题。写操作的顺序是先写数据库,如失败,则返回失败;如成功,则更新缓存。更新缓存可能的方式有:如缓存中无此key值,则在缓存中不作处理;如缓存中存在此key值,则删除key值或使该key值失效。写操作的顺序主要防止数据库写操作失败,缓存更新为内存操作,失败的概率很小。同时删除key或使key失效,则在下一次查询该key值时,会发起数据库读操作,并同步更新缓存中的key值,从而最大程度上避免双写不一致问题。

存在问题:不在系统中的key值是无限的,如果均设置key值为空,会造成内存资源的极大浪费,引起性能急剧下降。
解决思路:查询缓存之前,对key值进行过滤,只允许系统中存在的key进行后续操作(例如采用key的bitmap 进行过滤)。

【解析】
该方法主要的思路是为系统中不存在的key,在缓存中增加该key,并设置key对应的值为空值,从而防止下次发起对数据库的查询操作。
该方法存在的问题是,不在系统中的key值是无限的,如果均设置key值为空,会造成内存资源的极大浪费,引起性能急剧下降。
解决思路是对于系统中存在的key值,在查询前进行过滤,只允许系统中存在的key进行后续操作,因为一般情况下,系统中的key是有限的,或者是符合某种规则的。例如可以采用key的bitmap进行过滤,降低过滤的消耗。

缓存key值同时失效导致系统性能急剧下降甚至崩溃的问题,可能的解决方案包括:
(1)缓存失效后,通过加排它锁或者队列方式控制数据库写缓存的线程数量,使得缓存更新串行化;
(2)给不同key设置随机或不同的失效时间,使失效时间的分布尽量均匀;
(3)设置两级或多级缓存,避免访问数据库服务器。

【解析】
缓存系统中的key一般会存在有效期,超过有效期则key失效;有时也会根据LRU算法将某些key移出内存。当应用软件查询key时,如key失效或不在内存,会重新读取数据库,并更新缓存中的key。
运维团队发现在某些情况下,若大量的key设置了相同的失效时间,导致缓存在同一时刻众多key同时失效,或者瞬间产生对缓存系统不存在key的大量访问,或者缓存系统重启等原因,都会造成数据库服务器请求瞬时爆量,引起大量缓存更新操作,导致整个系统性能急剧下降,进而造成整个系统崩溃。

选做题-试题五(Web系统架构设计)

某公司拟开发一个物流车辆管理系统,该系统可支持各车辆实时位置监控、车辆历史轨迹管理、违规违章记录管理、车辆固定资产管理、随车备品及配件更换记录管理、车辆寿命管理等功能需求。其非功能性需求如下:
(1)系统应支持大于50个终端设备的并发请求;
(2)系统应能够实时识别车牌,识别时间应小于1s;
(3)系统应7×24小时工作;
(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)Struct2
(c)负载均衡层
(d)表现层
(e)HTTP协议
(f)Redis数据缓存
(g)Kafka分发消息
(h)分布式通信处理层
(i)逻辑处理层
(j)CDN内容分发

图片[5]-[软考高级-系统架构设计师-2019年下半年]下午考试主观题-案例分析真题-IT谷

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

性能:(1)、(2)、(6)
安全性:(5)
可用性:(3)、(7)
易用性:(4)、(8)

【解析】
本题考查的是软件质量属性,要求考生掌握常见的软件质量属性的含义。 软件质量属性有可用性、可修改性、性能、安全性、可测试性、易用性等。
1、性能
性能(performance)是指系统的响应能力,即要经过多长时间才能对某个事件作出响应,或者在某段时间内系统所能处理的事件的个数。
2、可用性
可用性(availability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
3、安全性
安全性(security)是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
4、可修改性
可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考查这些变更的代价衡量可修改性。
5、可测试性
可测试性关注的是系统发现错误的能力。
6、易用性
易用性关注的是对用户来说完成某个期望任务的容易程度和系统所提供的用户支持的种类。

(1)(d)
(2)(e)
(3)(i)
(4)(h)
(5)(g)
(6)(f)
(7)(a)

【解析】
基于题干中Web系统的需求描述,对该系统的架构设计方案进行分析可知,该物流车辆管理系统应基于层次型架构风格进行设计。
图5-1从下到上依次为数据存储层、分布式通信处理层、逻辑处理层和表现层。随后,选择相关的技术以支持各层所需完成的任务。

SQL注入攻击,就是通过把SQL命令插入到 Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
可以通过以下方式抵御SQL注入攻击:
▪使用正则表达式;
▪使用参数化的过滤性语句;
▪检查用户输入的合法性;
▪用户相关数据加密处理;
▪存储过程来执行所有的查询;
▪使用专业的漏洞扫描工具。

【解析】
SQL注入攻击是一种针对数据库的安全威胁,它利用应用程序对用户输入数据缺乏有效验证的漏洞,允许攻击者插入或“注入”恶意的SQL代码片段。随着B/S模式应用的普及,程序员水平的差异导致一些应用程序在处理用户输入时缺乏足够的防御机制,从而容易遭受此类攻击。
攻击者通过精心构造的输入数据,能够操控后端数据库执行未授权的查询,获取敏感信息、修改数据甚至控制服务器。这种攻击方式严重威胁到数据库的安全性和数据的完整性。
为了防范SQL注入攻击,可采取一系列安全措施,包括使用正则表达式和参数化查询来过滤和验证用户输入,确保输入数据的合法性;对数据进行加密处理,增强数据在存储和传输过程中的安全性;利用存储过程封装数据库操作,减少直接SQL语句的暴露;以及使用专业的漏洞扫描工具等。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容