试题一 软件架构(质量属性效用树、架构风险、敏感点、权衡点)
系统架构风险、敏感点和权衡点的定义
【问题2】(13分)
在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a) ~(o) 中分别选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。
1.系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
2.敏感点是指为了实现某种特定的质量属性,一个或多个系统构件所具有的特性。
3.权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。
实例:
(n) 如果"养护报告生成"业务逻辑的描述尚未达成共识,
可能导致部分业务功能模块规则的矛盾,影响系统的可修改性(风险点)
(d) 对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;(敏感点)
(f) 更改系统加密的级别将对安全性和性能产生影响;(权衡点)
试题二 系统设计与建模(MVC、EJB、J2EE)
【问题1】(9分)
MVC架构中包含哪三种元素,它们的作用分别是什么?请根据图2-1所示架构将JavaEE中JSP、Servlet、Service、JavaBean、DAO五种构件分别填入空(1)~(5)所示位置。
MVC架构包含三种元素是:模型、视图、控制器。
模型负责操作数据对象
视图负责提供用户操作界面
控制器负责按照输入指令和业务逻辑操作数据对象,并产生输出
【问题2】(6分)
项目组架构师王工提出在图2-1所示架构设计中加入EJB构件,采用企业级JavaEE架构开发资源共享平台。请说明EJB构件中的Bean (构件)分为哪三种类型,每种类型Bean的职责是什么。
(1)Session Bean(会话构件) 负责处理客户与服务端交互逻辑
(2)Entity Bean(实体构件) 表示数据库中存在的业务实体
(3)Message Driven Bean(消息驱动构件) 用于接收异步JMS消息
【问题3】(10分)
如果采用王工提出的企业JavaEE架构,请说明下列(a)~(e) 所给出的业务功能构件中,有状态和无状态构件分别包括哪些。
(a)Identification Bean (身份认证构件)
(b)ResPublish Bean(资源发布构件)
(c)ResRetrieval Bean(资源检索构件)
(d)OnlineEdit Bean(在线编辑构件)
(e)Statistics Bean(统计分析构件)
有状态构件 a 、d
无状态构件 b 、c、e
试题三 嵌入式( 机器人操作系统 ROS和RTOS、根据描述填流程图)
【问题1】(5分)
王工拟采用的ROS具有分布式进程框架,以点对点设计以及服务和节点管理器方式,使得执行程序可以各自独立地设计,松散地、实时地组合起来。这些进程可以按照功能包和功能包集的方式分组,因而可以容易地分享和发布。请用400字以内文字说明ROS与嵌入式实时操作系统的共同点,以及在实时性和任务通信方式两个方面的差异。
ROS与嵌入式实时操作系统的共同点:
(1)系统微型化
(2)系统专业性强
(3)软硬件依赖性强
(4)系统资源受限
ROS与实时操作系统的差异
实时性:ROS弱于嵌入式实时操作系统
通信方式:ROS的通信方式较为丰富,嵌入式实时操作系统通信方式单一
试题四 数据库(ORM和数据库程序在线访问、数据访问层、工厂设计模式)
【问题1】(9分)
请用300字以内的文字分别说明数据库程序在线访问方式和ORM方式的优缺点,说明该软件企业采用ORM的原因。
数据库程序在线访问方式优点
1、性能比ORM好
2、可以处理复杂查询语句
数据库程序在线访问方式缺点
1、要求程序员懂SQL语句
2、修改与维护相对困难
ORM优点
1、使用ORM可以大大降低学习和开发成本
2、程序员不再写SQL来进行数据库操作
3、减少程序代码量
4、降低由于SQL代码质量差而带来的影响
ORM缺点
1、不太容易处理复杂查询语句
2、性能较直接用SQL差
本题场景中之所以选择ORM,主要程序员缺乏开发经验,这样SQL语句质量风险大,学习成本高。
此外应用简单,不用担心ORM对性能的影响。
【问题2】(9分)
请用100字以内的文字说明新体系架构中增加数据访问层的原因。请根据图4-1所示,填写图中空白处(1)-(3)。
(1)由于涉及多种异构数据库平台,数据访问复杂性增加,不宜与业务逻辑混合在一起
(2)数据管理变复杂之后,需要使用代码量增加,分单独层次有利于逻辑清晰
(3)业务逻辑应以相同方式应对异构数据库,此时需要单独的数据访问层屏蔽差异性
【问题3】(7分)
应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景;请解释说明工厂模式在数据访问层中的应用。
工厂设计模式定义了创建对象的接口,运行子类决定实例化哪个类,
而且允许请求者无须知道要被实例化的特定类,这样可以在不修改代码的情况下引入新类。
优点是(1)没有了将应用程序类绑定到代码中的要求,可以使用任何实现了接口的类;
(2)允许子类提供对象的扩展版本
工厂设计模式的应用场景有:(1)类不能预料它必须创建对象的类;
(2)类希望子类指定它创建的对象。
在数据访问层定义采用工厂模式,定义统一的操纵数据库的接口,
然后根据数据库的不同,由类工厂决定实例化哪个类。
在具体类中实现特定的数据库访问类。
这样,就可以实现由客户端指定或根据配置文件来选择访问不同的数据库,
从而实现应用程序与数据库无关。
试题五 Web应用(响应式web 设计、高并发 web 架构、主从复制机制)
【问题1】(5分)
请用200字以内的文字描述什么是"响应式Web设计",并列举2个响应式Web设计的实现方式。
响应式 web 设计是指我们设计与开发的页面可以根据用户的行为和不同的设备环境
做出相应的响应来调整页面的布局,以提供用户可感知的、流畅的阅读和操作体验。
实现方式:媒体查询、流式布局、液态图片等
【问题2】(16分)
综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案。新系统架构图如图5-1所示。请从选项(a) - (j) 中为架构图中(1) - (8) 处空白选择相应的内容,补充支持高并发的Web应用系统架构设计图
【问题3】(4分)
根据李工的提议,新的B2C商品交易平台引入了主从复制机制。请针对B2C商品交易平台的特点,简要叙述引入该机制的好处。
1、提升性能
交易平台要求高并发,主从复制方式一主多从,不同的用户请求可以从不同的从数据库读取数据,
提高并发度。
2、可扩展性更优
如果采用单台数据库服务器,则访问量持续增加时,数据库瓶颈暴露,
且无法迅速解决问题。而主从结构可以快速增加从服务器数量,以满足需求。
3、提升可用性
一主多从,一台从服务器出现故障不影响整个系统正常工作。
4、负载均衡
一主多从分担任务,相当于负载均衡。
5.提升数据安全性
系统中的数据冗余存放多份,不会因为某台机器硬件故障而导致数据丢失。