试题一 软件架构(非功能性需求、C/S 架构)
【问题1】(8分)
在系统架构设计中,决定系统架构设计的非功能性需求主要有四类:操作性需求、性能需求、安全性需求和文化需求。请简要说明四类需求的含义。
(1) 操作性需求:指系统完成任务所需的操作环境要求及如何满足系统将来可能的需求变更的要求。
(2) 性能需求:针对系统性能要求的指标,如吞吐率、响应时间和容量等。
(3) 安全性需求:指为防止系统崩溃和保证数据安全所需要采取的保护措施的要求,
为系统提供合理的预防措施。
(4) 文化需求:指使用本系统的不同用户群体对系统提出的特有要求。
【问题3】(9分)
请用100字以内文字说明痩客户端C/S架构能够满足题干中给出的哪些系统需求。
答:瘦客户端C/S架构能够更好地满足系统需求中的(a)、(b)、(d)和(h)。
试题二 系统开发(数据流图、ER 图、实体和类、用例)
【问题3】(8分)
(1)信息工程方法中的“实体(entity)” 与面向对象方法中的“类(class)”之间有哪些不同之处?
(2)在面向对象方法中通常采用用例(Use Case)来捕获系统的功能需求。用例可以按照不同的层次来进行划分,其中的Essential Use Cases和Real Use Cases有哪些区别?
(1)实体用于数据建模,而类用于面向对象建模。实体只有属性,而类有属性和操作,
(2)Essential Use Cases可翻译为抽象用例,Real Use Cases可翻译为基础用例。
它们的区别在于:
Essential Use Cases 用于分析阶段,Real Use Cases用于设计阶段。
Essential Use Cases描述用例的本质属性,它与如何实现这个用例无关,
独立于实现该用例的软硬件技术。
Real Use Cases描述的是用例的实现方式,表达了设计和实现该用例所采用的方法和技术。
试题三 嵌入式( 简单任务和复杂任务、基本消息通信 BMTS)
【问题1】(14分)
王工提交的设计方案中指出:由于公司目前研制的嵌入式实时产品属于简单型系统,其嵌入式子系统相互独立,功能单一,时序简单。而未来满足网络化、智能化和综合化的嵌入式实时系统将是一种复杂系统,其核心特征体现为实时任务的机理、状态和行为的复杂性。简单任务和复杂任务的特征区分主要表现在十个方面。请参考表3-1给出的实时任务特征分类,用题干中给出的(a)~(t)20个实时任务特征描述,补充完善表3-1给出的空(1)-(14)。
(3) (o) (4) (p)
BMTS的消息通信网络的主要特征为:一个计算机组件传输消息到另一个或多个组件接收,
传输可靠性高,延迟低,抖动微小。
事件触发消息:以事件作为触发方式,事件发生变触发相应消息。
速率约束消息:消息偶发性产生,而不考虑发送者承诺消息不超出最大消息速率。
时间触发消息:发送者和接收者遵循一个精确的时间片周期完成消息的发送与接收。
具有时间触发消息能力的网络总线:
航空电子全双工交换式以太网(AFDX)
时间触发以太网(TTE)
FC总线
试题四 数据库(MemCache 和 Redis、数据可靠性和一致性)
【问题1】(9分)
在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请用100字以内的文字解释说明分布式数据库缓存的基本概念。
表4-1中对MemCache和Redis两种工具的优缺点进行了比较,请补充完善表4-1中的空(1)~(6)。
表4-1 MemCache与Redis能力比较
分布式数据库缓存指的是在高并发环境下,为了减轻数据库压力和提高系统响应时间,
在数据库系统和应用系统之间增加的独立缓存系统。
【问题2】(8分)
刘工认为李工的方案存在数据可靠性和一致性的问题,请说明原因。
为避免数据可靠性和一致性的问题,刘工的方案采用Redis作为数据库缓存,请用200字以内的文字说明基本的Redis与原有关系数据库的数据同步方案。
(1)MemCache没有持久化功能,所以掉电数据会全部丢失,而且无法直接恢复,这存在可靠性问题。
(2)MeCache不支持事务,所以操作过程中可能产生数据的不一致性。
同步方案:
读:先读取Redis中的数据,如果Redis没有,则从原数据库中读取,并同步到Redis
写:先写入原数据库,成功后再更新或失效掉Redis中的值。
【问题3】(8分)
请用300字以内的文字,说明Redis分布式存储的两种常见方案,并解释说明Redis集群切片的几种常见方式。
Redis分布式存储的常见方案有:
1. 主从(Master/Slave)模式;
2. 哨兵(Sentinel)模式;
3. 集群(Cluster)模式。
Redis集群切片的常见方式有:
1. 客户端实现分片。分区逻辑在客户端实现,采用一致性哈希来决定Redis节点。
2. 中间件实现分片。在应用软件和Redis中间,例如Twemproxy、Codis等,
由中间件实现服务到后台Redis节点的路由分派。
3. 客户端服务端协作分片。Redis Cluster模式,客户端可采用一致性哈希,
服务端提供错误节点的重定向服务。
试题五 Web应用(SOA、ESB、信息安全、根据描述填图)
【问题1】(7分)
请分别用200字以内的文字说明什么是面向服务架构(SOA)以及ESB在SOA中的作用与特点。
答:SOA是一个组件模型,它将应用程序不同的功能单元(称为服务)
通过这些服务之间定义良好的接口和契约联系起来。接口采用中立方式定义,
应独立于实现服务的硬件平台、操作系统和编程语言。
使服务可以一种统一和通用方式进行交互。
ESB的作用和特点:
1、SOA的一种实现方式,ESB在面向服务架构中起到总线作用,
将各种服务进行连接和整合;
2、描述服务的元数据和服务注册管理;
3、在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,
并支持由实践中总结出来的一些模式,如同步模式、异步模式等;
4、发现、路由、匹配和选择的能力,以支持服务之间的动态交互,
解耦服务请求者和服务提供者。高级一些能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等。
【问题3】(6分)
针对银行信息系统的数据交互安全性需求,列举3种可实现信息系统安全保障的措施。
1.引入https协议或采用加密技术对数据先加密再传输
2.采用信息摘要技术对重要信息进行完整性验证
3.防火墙系统
4.安全检测
5.网络扫描