一、问答题
1、试题一(共 25 分)
阅读以下关于软件架构评估的叙述,在答题纸上回答问题 1 和问题 2.
【说明】
某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。在系统的需求分析与架构设计阶段,用户提出的需求、质量属性描述和架构特性如下:
(a) 系统用户分为高级管理员、数据管理员和数据维护员等三类:
(b) 系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御:
(c) 正常负载情况下,系统必须在 0.5 秒内对用户的查询请求进行响应:
(d) 对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计:
(e) 系统的用户名不能为中文,要求必须以字母开头,长度不少于 5 个字符;
(f) 更改系统加密的级别将对安全性和性能产生影响;
(g) 网络失效后,系统需要在 10 秒内发现错误并启用备用系统,
(h) 查询过程中涉及到的桥梁与公路的实时状态视频传输必须保证画面具有 1024*768 的分辨率, 40 帧 /秒的速率:
(i) 在系统升级时,必须保证在 10 人月内可添加一个新的消息处理中间件:
(j) 系统主站点断电后,必须在 3 秒内将请求重定向到备用站点:
(k) 如果每秒钟用户查询请求的数量是 10 个,处理单个请求的时间为 30 毫秒,则系统应保证在 1 秒内完成用户的查询请求:
(l) 对桥梁信息数据库的所有操作都必须进行完整记录:
(m) 更改系统的 Web 界面接口必须在 4 人周内完成:
(n) 如果"养护报告生成"业务逻辑的描述尚未达成共识,可能导致部分业务功能模块规则的矛盾,影响系统的可修改性
(o) 系统必须提供远程调试接口,并支持系统的远程调试。
在对系统需求,质量属性描述和架构特性进行分析的基础上,系统的架构师给出了三个候选的架构设计方案,公司目前正在组织系统开发的相关人员对系统架构进行评估。
【问题 1】(12 分)
在架构评估过程中,质量属性效用树 (utility tree) 是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图 1-1 中 (1)、(2) 空白处:并选择题干描述的 (a)~ (0) ,填入(3)~(6) 空白处,完成该系统的效用树。
【问题 2】(13 分)
在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用 300 字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a) - (0) 中分别选出 1 个对系统架构风险、敏感点和权衡点最为恰当的描述。
参考答案:
参考答案:
在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。效用树主要关注性能、可修改性、可用性和安全4个方面
(1)~(6)内容如下:
(1)安全性 (2)可修改性 (3)h (4)l (5)j (6)m
参考答案:
统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点是为了实现某种特定质量属性,一个或多个系统组件所具有的特性。权衡点是影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。根据上述分析可知题干描述中,(n)描述的是系统架构风险;(d)描述的是敏感点;(f)描述的是权衡点。
解析:
对于问题1,质量属性效用树的构建主要是识别并确定系统的关键质量属性,如安全性、性能、可用性、可修改性等,并根据需求描述中的关键信息对这些质量属性进行优先级排序和细化。在填写效用树时,需要根据题干描述中的用户需求和质量属性描述,将相关的内容填入相应的位置。
对于问题2,系统架构评估中需要识别系统的架构风险、敏感点和权衡点。架构风险是指架构设计过程中可能存在的潜在问题;敏感点是指系统中对某个质量属性特别敏感的部分;权衡点是指影响多个质量属性的系统属性,需要在架构设计中进行权衡和决策。在题干描述中,根据各点描述的内容,可以挑选出对系统架构风险、敏感点和权衡点最为恰当的描述。
2、试题二(共 25 分)
阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3.
【说明】
某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台,实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设,实现全省优质教学资 源整合和共享。该资源共享平台的主要功能模块包括:
(1)统一身份认证模块,提供统一的认证入口,为平台其他核心业务模块提供用 户管理、身份认证、权限分级和单点登录等功能:
(2) 共享资源管理模块:提供教学资源申报流程服务,包括了资源申报、分类定制、资料上传、资源审核和资源发布等功能:
(3)共享资源展示模块:提供教育教学共享资源的展示服务,包括资源导航、视 频点播、资源检索、分类展示、资源评价和推荐等功能:
(4) 资源元模型管理模块:依据资源类型提供共享资源的描述属性、内容属性和展示属性,包括共享资源统一标准和规范、资源加工和在线编辑工具、数字水印和模板定制等功能:
(5) 系统综合管理模块:提供系统管理和维护服务,包括系统配置、数据备份恢复、资源导入导出和统计分析等功能。
项目组经过分析和讨论,决定采用基于 Java EE 的 MVC 模式设计资源共享平台的 软件架构,如图 2-1 所示。
图2-1
【问题 1】 (9 分)
MVC 架构中包含哪三种元素,它们的作用分别是什么?请根据图 2-1 所示架构将 JavaEE 中JSP、Servlet、Service、JavaBean、DAO 五种构件分别填入空 (1)--(5) 所示位置。
【问题 2】(6 分)
项百组架构师王工提出在图 2-1 所示架构设计中加入 EJ B 构件,采用企业级 JavaEE架构开发资源共享平台。请说明 EJB 构件中的 Bean (构件)分为哪三种类型,每种类型Bean 的职责是什么。
【问题 3】(10 分)
如果采用王工提出的企业级 JavaEE 架构,请说明下列(a)-(e) 所给出的业务功能构件中,有状态和无状态构件分别包括哪些。
(a)Identification Bean(身份认证构件〉
(b)ResPublish Bean(资源发布构件)
(c)ResRetrieval Bean(资源检索构件)
(d)OnlineEdit Bean(在线编辑构件)
(e)Statistics Bean(统计分析构件)
参考答案:
参考答案:
MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,并能接收用户的输入数据,但是它不进行任何实际业务处理,控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化。
(1)JSP (2)Servlet (3)Service (4)JavaBean (5)DAO
参考答案:
EJB中Bean分这三种类型:Session Bean ,Entity Bean,Message-Driven Bean.
Session Bean的职责:维护一个短暂会话,当客户端执行完成后,Session Bean和它的数据会消失。
Entity Bean的职责:维护一行持久稳固的数据,如果客户端终止或者服务结束,底层的服务会负责entity Bean数据的存储。
Message-Driven Bean的职责:结合了Session Bean 和JMS,允许异步接收消息。
参考答案:
有状态构件包含:(a)、 (b) 、(d)
无状态构件包含:(c)、(e)
解析:
问题1解析:MVC架构是软件设计中的一种常见模式,其中M代表模型,负责数据处理;V代表视图,负责数据展示;C代表控制器,负责协调模型和视图之间的交互。在JavaEE中,JSP、Servlet、Service、JavaBean和DAO分别扮演了不同的角色。JSP和Servlet分别作为视图和控制器,Service、JavaBean和DAO则主要作为模型的一部分,负责处理业务逻辑和数据库交互。
问题2解析:EJB中的Bean分为三种类型:会话Bean、实体Bean和消息驱动Bean。会话Bean主要用于处理短暂的会话,实体Bean用于表示持久化的业务数据,而消息驱动Bean则用于异步接收和处理消息。这三种类型的Bean在EJB架构中各自扮演着不同的角色,共同构成了企业级JavaEE架构的一部分。
问题3解析:在JavaEE的企业级架构中,有状态构件和无状态构件的区别在于是否维护状态信息。身份认证构件、资源发布构件和在线编辑构件在执行过程中需要维护用户状态、资源状态等,因此是有状态构件;而资源检索构件和统计分析构件则不依赖或维护特定的状态信息,因此是无状态构件。
3、试题三〈共 25 分)
阅读以下关于机器人操作系统架构的描述,回答问题 1 至问题 3
【说明】
随着人工智能技术的发展,工业机器人已成为当前工业界的热点研究对象。某宇航设备公司为了扩大业务范围,决策层研究决定准备开展工业机器人研制新业务。公司将论证工作交给了软件架构师王工,王工经过分析和调研,从机器人市场现状、领域需求、 组成及关键技术和风险分析等方面开展了综合论证。论证报告指出:首先,为了保障本公司机器人研制的持续性,应根据领域需求选择一种适应的设计架构:其次,为了规避风险,公司的研制工作不能从零开始,应该采用国际开源社区所提供机器人操作系统 (Robot Operating System ,ROS)作为机器人开发的基本平台。
在讨论会上,架构师李工提出不同意见,他认为公司针对宇航领域已开发了某款嵌入式实时操作系统,且被多种宇航装备使用,可靠性较高。因此应该采用现有架构体系作为机器人的开发平台。会上王工说明了机器人操作系统与该款操作系统的差别,要沿用需要进行改造,技入较大。经过激烈讨论,公司领导同意了王工采用 ROS 的意见。
【问题 1】 (5 分)
王工拟采用的 ROS 具有分布式进程框架,以点对点设计以及服务和节点管理器方式, 使得执行程序可以各自独立地设计,松散地、实时地组合起来。这些进程可以按照功能包和功能包集的方式分组,因而可以容易地分享和发布。请用 400 字以内文字说明 ROS 与嵌入式实时操作系统的共同点,以及在实时性和任务通信方式两个方面的差异。
【问题 2】 (10 分)
ROS 为应用程序问通信提供了主题(Topic) 、服务 (Service)和动作 (Action) 三种消息通信方式,每种通信方式都有其特点。请将以下给出的三类通信的主要特点填入表 3-1 中(1)-(5) 的空白处,将答案写在答题纸上。
(a) 适合用于传输传感器信息〈数据流)
(b)能够知道是否调用成功
(c) 一对多模式
(d) 有握手信号
(e) 服务执行完会有反馈
(f) 可以监控长时间执行的进程
(g) 较复杂
(h) 可能让系统过载(数据太多)
(i) 服务执行完之前,程序会等待
(j) 建立通信较慢
(k) 可能丢失数据
表3-1 ROS三类通信的主要特点
【问题 3】 (10 分)
ROS 的架构定义了 ROS 系统由多个各自独立的节点(组件〉组成,并且各个节点之间可以通过发布/订阅(Pu blish/Subscribe )消息模型进行通信。图 3-1 给出一个简单机器人结构实例,请根据以下文字描述,补充图 3-1 中(1)-(5) 处空白,将答案写在答题纸上。"机器人开始阶段,所有节点都要注册 (Registration) 到 Master 上,注册后,摄像 头节点声明它要发布(Pu blish)一个叫做 limage_data 的消息。另外两个节点〈图像处理处理节点和图像显示节点〉声明它们需要订阅( Subscribe) 这个 image _data 消息。因此, 一旦摄像头节点收到相机发送的数据(Data),就立即将数据image_data直接发送到另外两个节点。

参考答案:
参考答案:
共同点如下:
(1)系统专用型强
(2)系统资源有限
(3)系统都采用嵌入式微型处理器
(4)软硬件依赖性强
差异:
实时性:ROS弱于嵌入式实时操作系统
通信方式:ROS通信方式丰富,嵌入式实时操作系统通信方式单一。
参考答案:
(1)(2)(c)(k)
(2)(4)(f)(i)
(5)(j)
参考答案:
(1) Registration (2)Data (3) publish (4)Subscribe (5)Subscribe
解析:
问题1中,嵌入式实时操作系统和ROS都有系统专用性强、资源有限、采用嵌入式微型处理器、软硬件依赖性强等共同点。但在实时性和任务通信方式方面,ROS相对较弱,尤其在其通信方式的丰富性上,而嵌入式实时操作系统则更注重实时性和单一通信机制。
问题2中,根据ROS的通信特点,将各种通信方式的主要特点与表格中的描述相匹配。主题通信适合传输数据流,服务通信可以知道是否调用成功,并有握手信号和反馈。
问题3中,根据描述补充了机器人结构实例图中的空白处。机器人开始阶段,所有节点需要注册;摄像头节点接收数据并发布消息;其他节点通过订阅获取消息。图像处理节点处理数据后再次发布,也是通过订阅实现的。
4、试题四 (共 2S 分)
阅读以下关于数据库设计的叙述,在答题纸上回答问题 1 至问题 3。
【说明】
某制造企业为拓展网上销售业务,委托某软件企业开发一套电子商务网站。初期仅解决基本的网上销售、订单等功能需求。该软件企业很快决定基于.NET 平台和 SQL Server 数据库进行开发,但在数据库访问方式上出现了争议。王工认为应该采用程序在线访问的方式访问数据库:而李工认为本企业内部程序员缺乏数据库开发经验,而且应用筒单,应该采用 ORM<对象关系映射>方式。最终经过综合考虑,该软件企业采用了李工的建议。
随着业务的发展,该电子商务网站逐渐发展成一个通用的电子商务平台,销售多家制造企业的产品,电子商务平台的功能也日益复杂。目前急需对该电子商务网站进行改造,以支持对多种异构数据库平台的数据访问,同时满足复杂的数据管理需求。该软件企业针对上述需求,对电子商务网站的架构进行了重新设计,新增加了数据访问层,同时采用工厂设计模式解决异构数据库访问的问题。新设计的系统架构如图 4-1 所示。
【问题 1】 (9 分)
请用 300 字以内的文字分别说明数据库程序在线访问方式和 ORM 方式的优缺点,说明该软件企业采用 ORM 的原因。
【问题 2】 (9 分)
请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。
【问题 3】 (7 分) -
应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景: 请解释说明工厂模式在数据访问层中的应用。
请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。
参考答案:
参考答案:
数据库程序在线访问方式优点:
1. 性能比直接SQL好;
2. 可以处理复杂的查询语句。
数据库程序在线访问方式不足:
1. 程序员必须懂SQL语句;
2. 修改维护相对困难。
ORM方式优点:
1. 降低学习和开发成本;
2. 程序员不用再写SQL进行数据库操作;
3. 减少程序代码量;
4. 降低由于SQL代码质量差带来的影响。
ORM方式缺点:
1. 性能比直接用SQL差
2. 处理复杂查询比较困难。
采用ORM原因:(1)缺乏数据库开发经验,因此SQL语句编写质量有潜在风险;(2)学习成本高;(3)应用比较简单,没有太复杂功能。
参考答案:
(1)涉及多种异构数据库平台,数据访问复杂性增加,不宜与业务逻辑混合在一起;
(2)数据管理变复杂之后,需要使用代码量增加,分层次有利于逻辑更加清晰,程序维护更加方便;
(3)业务逻辑应以相同的方式应对异构数据库,为了做好隐蔽性需要单独设计数据访问层。
(1)~(3)分别填入:执行业务逻辑 、工厂层(factory)、数据访问接口层。
工厂模式分为:抽象工厂和工厂方法,本题为抽象工厂设计模式。
抽象工厂设计模式提供一个接口,可以创建一系列或相互依赖的 对象,而无需指定他们具体的类。
优点:方便创建一系列的对象,其使用场景也是创建系列对象的情况。该题目中,可以针对oracle,mysql,sqlserver分别抽象建立抽象工厂,若指定当前工厂为oracle工厂,则创建出来的数据库连接,数据集等一系列对象都是符合oracle操作要求的,这样便于数据库之间的切换。
解析:
本题主要考察数据库访问方式、分层架构和工厂设计模式的相关知识。
对于数据库访问方式,在线访问方式直接操作数据库,性能较好,但需要编写SQL语句;而ORM方式将对象与数据库表进行映射,降低了开发成本,但性能可能略有下降。软件企业采用ORM的原因主要是因为缺乏数据库开发经验,以及学习和应用成本较高。
新体系架构中增加数据访问层是为了应对多种异构数据库平台的复杂数据访问需求,分层设计有利于逻辑清晰和程序维护。其中的空白处分别对应执行业务逻辑、工厂层和数据访问接口层。
工厂设计模式是一种创建对象的模式,适用于创建系列对象的情况。在数据访问层中,可以利用工厂模式根据不同的数据库需求创建相应的数据库连接和数据集对象,便于数据库的切换和管理。
5、试题五 (共 25 分)
阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题 1 至问题 3.
【说明】
某电子商务企业因发展良好,客户量逐步增大,企业业务不断扩充,导致其原有的 B2C 商品交易平台己不能满足现有业务需求。因此,该企业委托某软件公司重新开发一套商品交易平台。该企业要求新平台应可适应客户从手机、平板设备、电脑等不同终端设备访问系统,同时满足电商定期开展"秒杀"、"限时促销"等活动的系统高并发访问量的需求。面对系统需求,软件公司召开项目组讨论会议,制定系统设计方案。讨论会议上,王工提出可以应用响应式Web设计满足客户从不同设备正确访问系统的需求。同时,采用增如镜像站点、CDN 内容分发等方式解决高并发访问量带来的问题。李工在王工的提议上补充,仅仅依靠上述外网加速技术不能完全解决高用户并发访问问题,如果访问量持续增加,系统仍存在崩溃可能.李工提出应同时结合负载均衡、缓存服务器、web 应用服务器、分布式文件系统、分布式数据库等方法设计系统架构。经过项目组讨论,最终决定综合王王和李工的思路,完成新系统的架构设计。
【问题 1】 (5 分)
请用 200 字以内的文字描述什么是"响应式 Web 设计",并列举 2 个响应式 Web 设计的实现方式。
【问题 2】 (16 分)
综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案.新系统架构图如图 5-1 所示。请从选项 (a) - (j) 中为架构图中(1) - (8) 处空白选择相应的内容,补充支持高并发的 Web 应用系统架构设计图
(a) Web 应用层
(b) 界面层
(c) 负载均衡层
(d) CDN内容分发
(e) 主数据库
(f) 缓存服务器集群
(g) 从数据库
(h) 写操作
(i) 读操作
(j) 文件服务器集群
【问题 3】 (4 分) 根据李工的提议,新的 B2C 商品交易平台引入了主从复制机制。请针对交易平台的特点,简要叙述引入该机制的好处。
参考答案:
参考答案:
响应式Web设计是在开发和设计网页过程中产生的一种方式,它的目的是让内容布局能随用户使用显示器的不同而变化。
响应方式:
(1)弹性网格和布局
(2)图片
(3)CSS media query
参考答案:
(1)d (2)c (3)f (4)a (5)(6)e h (7)(8)g i
参考答案:
(1) 可扩展性更优
采用单台数据库服务器,随着访问量增加,必然会产生访问瓶颈,而主从结构大大方便服务器扩容,不影响系统使用。
(2) 性能大大提升
商务平台用户量大,并发访问高,主从方式采用一主多从,满足不同用户可以从不同数据库读取数据,提高访问速度。
(3) 相当于做了负载均衡
一主多从相当于分担了主机任务,做了负载均衡。
(4) 保证数据安全
主从方式实现了数据冗余,不会因某台机器硬件故障引起数据丢失。
解析:
问题1主要考察了响应式Web设计的概念及其实现方式。响应式Web设计主要是为了让网页能够自适应不同设备和屏幕大小,提供更好的用户体验。实现方式包括弹性网格、图片响应式处理等。
问题2是关于新商品交易平台系统架构的设计。需要根据王工和李工的提议,将各个层次的组件正确地填入架构图中。这需要对Web应用系统的架构有一定的了解,包括Web应用层、界面层、负载均衡层、CDN内容分发、数据库等的作用和位置。
问题3主要考察了主从复制机制在B2C商品交易平台中的好处。引入主从复制可以提高系统的可扩展性、性能、实现负载均衡和数据安全性。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!