【题目一】
某文化产业集团委托软件公司开发一套文化用品商城系统,业务涉及文化用品销售、定制、竞拍和点评等板块;以提升商城的信息化建设水平。该软件公司组织项目组完成(需求调研,现己进入到系统架构设计阶段。考虑到系统需求对架构设计决策的影响,项私组先刻出了可能影响系统架构设计的部分需求如下:
(a)用户界面支持用户的个性化定制;
(b)系统需要支持当前主流的标准和服务,特别是通信协议和平台接y;
©用户操作的响应时间应不大于3秒,竞拍板块不大于1秒;
(d)系统具有故障诊断和快速恢复能力;
(e)用户密码需要加密传输;
(f)系统需要支持不低于2G的数据缓存;
(g)用户操作停滞时间超过一定时限需要重新登录验证;
(h)系统支持用户选择汉语、英语或法语三种语言之一进行操作。
项目组提出了两种系统架构设计方案:瘦客户端CS架构和胖客户端CS架构,经过对上述需求逐条分析和讨论,最终决定采用瘦客户端CS架构进行设计。
【问题1】(8分)
在系统架构设计中,决定系统架构设计的非功能性需求主要有四类:操作性需求、性能需求、安全性需求和文化需求。请简要说明四类需
求的含义。
统性能需求(Performance Requirements):指响应时间、吞吐量、准确性、有效性、资源
利用率等与系统完成任务效率相关的指标。可靠性、可用性等指标可归为此类。
安全性需求(Security Requirements):系统向合法用户提供服务并阻止非授权用户使用服
务方面的系统需求。
操作性需求(Operational Requirements):与用户操作使用系统相关的一些需求。
文化需求(Cultural Requirements):带有文化背景因素的系统需求。
【问题2】(8分)
根据表1-1的分类,将题干所飨出的系统需求(a)(h)分别填入(1)(4)。
(1)a,b
(2)c,f,d
(3)e,g
(4)h
【问题3】(8分)
请说明瘦客户端C/S架构能够满足题干中给出的哪些系统需求(只需要回答出三个系统需求)。
dgh
【题目二】
某公司欲建设一个房屋租赁服务系统,统一管理房主和租赁者的信息,提供快捷的租赁服务。本系统的主要功能描述如下:
1.登记房主信息。记录房主的姓名、住址、身份证号和联系电话等信息,并写入房主信息文件。
2.登记房屋信息。记录房屋的地址、房屋类型(如平房、带阳台的楼房、独立式住宅等)、楼层、租金及房屋状态(待租赁、已出租)等信息,并写入房屋信息文件。一名房主可以在系统中登记多套待租赁的房屋。
3.登记租赁者信息。记录租赁者的个人信息,包括:姓名、性别、住址、身份证号和电话号码等,并写入租赁者信息文件。
4.安排看房。已经登记在系统中的租赁者,可以从待租赁房屋列表中查询待租赁房屋信息。租赁者可以提出看房请求,系统安排租赁者看房。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。
5.收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根据费用单交纳相应的费用。
6.变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。
【问题1】(12分)
若采用结构化方法对房屋租赁服务系统进行分析,得到如图2-1所示的顶层DFD。使用题午中给出的词语,给出图2-1中外部实体E1E2、加工P1P6以及数据存储D1~D4的名称。
E1(房主)E2(租赁者)P1(登记房主信息)P2(登记房屋信息)P3(登记租赁者信息)P4(查询待租赁房屋信息)P5(安排看房)P6(变更房屋状态)
D1(房主信息文件)D2(租赁者信息文件)D3(房屋信息文件)D4(看房记录文件)
【问题2】(5 分)
若采用信息工程(Information Engineering)方法对房屋租赁服务系统进行分析,得到如图2-2所示的ERD。请给出图2-2中实体(1)~(5)的名称。
(1)房主(2)房屋(3)房屋信息文件(4)租赁者(5)看房记录文件
【问题3】(8分)
(1)信息工程方法中的“实体(entity)”与面向对象方法中的“类(class)”之间有哪些不同之处?
(⑵)在面向对象方法中通常采用用例(Use Case)来捕获系统的功能需求。用例可以按照不同的层次来进行划分,其中的Essential Use Cases和 Real Use Cases有哪些区别?
(1) 实体用于数据建模,而类用于面向对象建模。实体只有属性,而类有属性和操作。
(2)Essential Use Cases(抽象用例),Real Use Cases(基础用例),这两者的区别为:基
础用例是实实在在在与用户需求有对应关系的用例,是从用户需求获取的渠道得到的,而抽
象用例是从基础用例中抽取的用例的公共部分,是为了避免重复工作,优化结构而提出的用
例。
【题目四】
某企业是为城市高端用户提供高品质蔬菜生鲜服务的初创企业,创业初期为快速开展业务,该企业采用轻量型的开发架构(脚本语言+关系型数据库)研制了一套业务系统。业务开展后受到用户普遍欢迎,用户数和业务数量迅速增长,原有的数据库服务器已不能满足高度并发的业务要求。为此,该企业成立了专门的研发团队来解决该问题。张工建议重新开发整个系统, 采用新的服务器和数据架构,解决当前问题的同时为日后的扩展提供支持。但是,李工认为张工的方案开发周期过长,投入过大,当前应该在改动尽量小的前提下解决该问题。李工认为访问量很大的只是部分数据,建议采用缓存工具MemCache 来减轻数据库服务器的压力,这样开发量小,开发周期短,比较适合初创公司,同时将来也可以通过集群进行扩展。然而,刘工又认为李工的方案中存在数据可靠性和一致性问题,在宕机时容易丢失交易数据,建议采用 Redis 来解决问题。在经过充分讨论,该公司最终决定采用刘工的方案。
【问题 1】(9 分)
在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请说明分布式数据库缓
存的基本概念。表 4-1 中对 MemCache 和 Redis 两种工具的优缺点进行了比较,请补充完善
表 4-1 中的空(1)~(6)。
(1)sthing、set、list、map、zset(2)不支持(3)不支持(4)不支持(5)有(6)不支持
【问题 2】(8 分)
刘工认为李工的方案存在数据可靠性和一致性的问题,请说明原因。为避免数据可靠性和一
致性的问题,刘工的方案采用 Redis 作为数据库缓存,请说明基本的 Redis 与原有关系数据
库的数据同步方案。
由于缓存工具MemCache不支持事务而且也不支持持久性,所以会有数据可靠性和一致性问题。
数据写入时,先写入关系型数据库,写入成功后更新Redis缓存。数据读取时,先读取Redis缓存,读取成功直接返回,读取失败则从关系型数据库中读取,读取成功后更新缓存。
【问题 3】(8 分)
请给出 Redis 分布式存储的 2 种常见方案和 Redis 集群切片的几种常见方式。
Redis 分布式存储的 2 种常见方案:主从方案、Cluster 方案。
Redis 集群切片的几种常见方式:
1 客户端分片:在客户端通过 key 的 hash 值对应到不同服务器。
2 对数据根据 key 散列到不同的 slot 上,不同 slot 对应不同的服务器。
【题目五】
某银行拟将以分行为主体的银行信息系统,全面整合为由总行统一管理维护的银行信息系
统,实现统一的用户账户管理、转账汇款、自助缴费、理财投资、贷款管理、网上支付、财
务报表分析等业务功能。但是,由于原有以分行为主体的银行信息系统中,多个业务系统采
用异构平台、数据库和中间件,使用的报文交换标准和通信协议也不尽相同,使用传统的
EAI 解决方案根本无法实现新的业务模式下异构系统间灵活的交互和集成。因此,为了以最
小的系统改进整合现有的基于不同技术实现的银行业务系统,该银行拟采用基于 ESB 的面
向服务架构(SOA)集成方案实现业务整合。
【问题 1】(7 分)
请说明什么是面向服务架构(SOA)以及 ESB 在 SOA 中的作用与特点。
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)
通过 这些服务之间定义良好的接口和契约联系起来。接口是釆用中立的方式进行定义的,
它应该 独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统
中的服务可以以一种统一和通用的方式进行交互。
1 支撑 SOA 的关键是其消息传递架构-企业服务总线(ESB)。ESB 用于实现企业应
用不同消息和信息的准确、高效和安全传递。
2 面向服务的元数据管理:他必须了解被他中介的两端,即服务的请求以及请求者对
服务的要求,以及服务的提供者和他所握供的服务的描述;
3 通信:服务的发布/订阋、响应/请求、同步/异步消息、路由和寻址等;
4 服务交互:服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等;
5 服务安全:认证和授权、不可否认和机密性、安全标准的支持等。
【问题 2】(12 分)
基于该信息系统整合的实际需求,项目组完成了基于 SOA 的银行信息系统架构设计方案。
该系统架构图如图 5-1 所示:
(1)c (2)i(3)h(4)e(6)j
请从(a)~ (j)中选择相应内容填入图 5-1 的(1)~ (6),补充完善架构设计图。
(a)数据层
(b)界面层
©业务层
(d) bind
(e)企业服务总线 ESB
(f) XML
(g)安全验证和质量管理
(h) publish
(i) UDDI
(j)组件层
(k) BPEL
【问题 3】(6 分)
针对银行信息系统的数据交互安全性需求,列举 3 种可实现信息系统安全保障的措施。
关键信息在Web端进行加密传输;进行一些防SQL渗透的措施,比如对前端输入内容用正则表达式判断;对信息进行追踪审计。
交流
对软考有兴趣的朋友可以进博主的交流群,目前有软件设计师、高项、系统架构师、系统分析师四个群。
- 群内有历年真题、电子书等资料可以自取;
- 无营销、纯交流群;
- 每周会有两次送书活动一次三本,包邮到家。