高级系统架构师 2018 下午案例题学习笔记

第 1 题

阅读以下关于软件系统设计的叙述,在答题纸上回答问题1至问题3。
题目说明:
        某文化产业集团委托软件公司开发一套文化用品商城系统,业务涉及文化用品销售、定制、竞拍和点评等板块,以提升商城的信息化建设水平。该软件公司组织项目组完成了需求调研,现已进入到系统架构设计阶段。考虑到系统需求对架构设计决策的影响,项目组先列出了可能影响系统架构设计的部分需求如下:
(a)用户界面支持用户的个性化定制;
(b)系统需要支持当前主流的标准和服务,特别是通信协议和平台接口;
(c)用户操作的响应时间应不大于3秒,竞拍板块不大于1秒;
(d)系统具有故障诊断和快速恢复能力;
(e)用户密码需要加密传输;
(f) 系统需要支持不低于2G的数据缓存;
(g)用户操作停滞时间超过一定时限需要重新登录验证;
(h)系统支持用户选择汉语、英语或法语三种语言之一进行操作。
项目组提出了两种系统架构设计方案:瘦客户端C/S架构和胖客户端C/S架构,经过对上述需求逐条分析和讨论,最终决定采用瘦客户端C/S架构进行设计。

【问题1】 (8分)

        在系统架构设计中,决定系统架构设计的非功能性需求主要有四类:操作性需求、性能需求、安全性需求和文化需求。请简要说明四类需求的含义。

【问题2】 (8分)

根据表1-1的分类,将题干所给出的系统需求(a)~(h)分别填入(1) ~ (4)。

【问题3】 (9分)

请说明瘦客户端C/S架构能够满足题干中给出的哪些系统需求(只需要回答出三个系统需求)。

答案(答案为非官方答案,仅供参考):

一、问题一:

1、可操作性需求:指系统在部署后,是否便于监控、维护、配置和故障恢复。即系统上线之后,运维人员是否能够方便地操作和管理系统。

2、性能需求:描述系统在一定条件下的响应速度、并发处理能力、资源使用效率等性能表现,确保系统满足用户体验和业务高峰期的需求。

3、安全需求:确保系统的数据与资源在存储、传输和处理过程中不被未授权访问、篡改或破坏,并具备防御能力。

4、文化需求:指系统在不同地区、语言、组织文化中运行时所需满足的本地化、合规性或组织行为习惯,确保系统在目标环境中被顺利接受和使用。

简单的表格展示与例子结合方便理解:

二、问题二:

(1)(b)(d)

(2)(c) (f)

(3)(e)(g)

   (4)   (a)  (h)

三、问题三:

  • 瘦客户端 C/S 架构:客户端仅负责界面展示与少量逻辑,主要逻辑在服务器端,便于统一管理、维护和部署。

  • 胖客户端 C/S 架构:客户端承担较多业务逻辑,服务器压力相对较小,但客户端更新和管理较复杂。

第 2 题

阅读以下关于软件系统建模的叙述,在答题纸上回答问题1至问题3。
【说明】
某公司欲建设一个房屋租赁服务系统,统一管理房主和租赁者的信息,提供快捷的租赁服务。本系统的主要功能描述如下:
1. 登记房主信息。记录房主的姓名、住址、身份证号和联系电话等信息,并写入房主信息文件。
2. 登记房屋信息。记录房屋的地址、房屋类型(如平房、带阳台的楼房、独立式住宅等)、楼层、租金及房屋状态(待租赁、已出租)等信息,并写入房屋信息文件。一名房主可以在系统中登记多套待租赁的房屋。
3. 登记租赁者信息。记录租赁者的个人信息,包括:姓名、性别、住址、身份证号和电话号码等,并写入租赁者信息文件。
4. 安排看房。已经登记在系统中的租赁者,可以从待租赁房屋列表中查询待租赁房屋信息。租赁者可以提出看房请求,系统安排租赁者看房。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。
5. 收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根据费用单交纳相应的费用。
6. 变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。

【问题1】(12分)
 若采用结构化方法对房屋租赁服务系统进行分析,得到如图2-1所示的顶层DFD。使用题干中给出的词语,给出图2-1中外部实体E1~E2、加工P1~P6以及数据存储D1~D4的名称。
【问题2】(5分)
若采用信息工程(Information Engineering)方法对房屋租赁服务系统进行分析,得到如图2-2所示的ERD。请给出图2-2中实体(1)~ (5)的名称。

【问题3】 (8分)
(1)信息工程方法中的“实体(entity)” 与面向对象方法中的“类(class)”之间有哪些不同之处?
(2)在面向对象方法中通常采用用例(Use Case)来捕获系统的功能需求。用例可以按照不同的层次来进行划分,其中的Essential Use Cases和Real Use Cases有哪些区别?

答案解析:

问题一:

E1:房主                                          E2:租赁者
P1:登记房主信息                           P2:登记房屋信息                           
P3:登记租赁者信息                       P4:查询租赁房屋信息
P5:安排看房                                   P6:变更房屋状态
D1:房主信息文件                           D2:租赁者信息文件
D3:房屋信息文件                           D4:看房记录文件

问题二:

(1)房主

(2)房屋

(3)房屋类型 

(4)租赁者    

(5)看房安排

问题三:

(1)

  • 实体:用于描述“数据结构”,对应数据库中的一张表

  • 类:除了保存数据,还封装了行为,用于支持完整的系统建模与实现

(2)

  • Essential Use Cases → 抽象、独立于界面、强调系统核心职责

  • Real Use Cases → 具体、结合实际操作、强调交互与实现细节

第 3 题

阅读以下关于嵌入式实时系统相关技术的叙述,在答题纸上回答问题1和问题2。
【说明】
某公司长期从事宇航领域嵌入式实时系统的软件研制任务。公司为了适应未来嵌入式系统网络化、智能化和综合化的技术发展需要,决定重新考虑新产品的架构问题,经理将论证工作交给王工负责。王工经调研和分析,完成了新产品架构设计方案,提交公司高层讨论。
【问题1】 (14分)
王工提交的设计方案中指出:由于公司目前研制的嵌入式实时产品属于简单型系统,其嵌入式子系统相互独立,功能单一,时序简单。而未来满足网络化、智能化和综合化的嵌入式实时系统将是一种复杂系统,其核心特征体现为实时任务的机理、状态和行为的复杂性。简单任务和复杂任务的特征区分主要表现在十个方面。请参考表3-1给出的实时任务特征分类,用题干中给出的(a)~(t)20个实时任务特征描述,补充完善表3-1给出的空(1)~(14)。
(a)任务属性不会随时间变化而改变;
(b)任务的属性与时间相关;
(c)任务仅可以从非连续集中获取特征变量;
(d)任务变量域是连续的;
(e)功能原理不依赖于上下文;
(f) 功能原理依赖于上下文;
(g)任务行为可以用step-by-step顺序分析方法来理解;
(h)许多任务在产生访问活动时相互间是并发处理的,很难用step-by-step方法分析;
(i) 因果关系相互影响;
(j) 行为特征依赖于大量的反馈机制;
(k)系统内构成、策略和描述是相似的;
(l) 系统内存在许多不同的构成、策略和描述;
(m)功能关系是非线性的;
(n) 功能关系是线性的; 
(o) 不同的子任务是相互独立的,任务内部仅存在少量的交互操作;
(p) 不同的子任务有很高的交互操作,要把一个单任务的行为隔离开是困难的;
(q) 域特征有非常整齐的原则和规则;
(r)  许多不同的上下文依赖于规则;
(s)  原理和规则在表面属性上很容易被识别;
(t)   原理被覆盖、抽象,而不会在表面属性上被识别。

【问题2】(11分)

王工设计方案中指出:要满足未来网络化、智能化和综合化的需求,应该设计一种能够充分表达嵌入式系统行为的、且具有一定通用性的通信架构, 以避免复杂任务的某些特征带来的通信复杂性。通常为了实现嵌入式系统中计算组件间的通信,在架构上需要一种简单的架构风格,用于屏蔽不同协议、不同硬件和不同结构组成所带来的复杂性。图3-1给出了一种“腰(Waistline)” 型通信模式的架构风格。腰型架构的关键是基本消息通信(BMTS),通常BMTS的消息与时间属性相关,支持事件触发消息、速率约束消息和时间触发消息。
请说明基于BMTS的消息通信网络的主要特征和上述三种消息的基本含义,并举例给出两种具有时间触发消息能力的网络总线。

答案:

问题 1:

(1)(c) (2)(d) (3)(o) (4)(p)
(5)(g) (6)(h) (7)(k) (8)(l)
(9)(i) (10)(j) (11)(n) (12)(m)
(13)(e) (14)(f)

问题2:基于 BMTS的消息通信网络的主要特征

1、统一的通信抽象

2、时间相关性强

3、灵活支持多种通信语义

4、适用于异构系统集成

5、提升系统稳定性与实时性

三种消息类型的含义:

1、事件触发消息:消息由系统事件(如:状态变化、传感器中断)出发后立即发送, 不固定时间。

2、速率约束消息:消息以最大效率限制进行发送,允许一定程度往上的时间漂移。

3、时间触发消息:严格按照固定周期和绝对时间进行调度与发送具有稳定确定性时间窗口。

第 4 题

阅读以下关于分布式数据库缓存设计的叙述,在答题纸上回答问题1至问题3。
【说明】
某企业是为城市高端用户提供高品质蔬菜生鲜服务的初创企业,创业初期为快速开展业务,该企业采用轻量型的开发架构(脚本语言+关系型数据库)研制了一套业务系统。业务开展后受到用户普遍欢迎,用户数和业务数量迅速增长,原有的数据库服务器已不能满足高度并发的业务要求。为此,该企业成立了专门的研发团队来解决该问题。
张工建议重新开发整个系统, 采用新的服务器和数据架构,解决当前问题的同时为日后的扩展提供支持。但是,李工认为张工的方案开发周期过长,投入过大,当前应该在改动尽量小的前提下解决该问题。李工认为访问量很大的只是部分数据,建议采用缓存工具MemCache来减轻数据库服务器的压力,这样开发量小,开发周期短,比较适合初创公司,同时将来也可以通过集群进行扩展。然而,刘工又认为李工的方案中存在数据可靠性和一致性问题,在宕机时容易丢失交易数据,建议采用Redis来解决问题。在经过充分讨论,该公司最终决定采用刘工的方案。

在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请说明分布式数据库缓存的基本概念。

表4-1中对MemCache和Redis两种工具的优缺点进行了比较,请补充完善表 4-1中的空(1)~ (6)。

【问题2】 (8分)
刘工认为李工的方案存在数据可靠性和一致性的问题,请说明原因。
为避免数据可靠性和一致性的问题,刘工的方案采用Redis作为数据库缓存,请说明基本的Redis与原有关系数据库的数据同步方案。
【问题3】 (8分)
请给出Redis分布式存储的2种常见方案和Redis集群切片的几种常见方式。

答案:

问题一:

(1)多种数据结构(String、List、Hash、Set、zSet等)

(2)不支持持久化

(3)一般依赖客户端一致性哈希实现

(4)不支持单线程

(5)使用 Slab Allocation管理内存

(6)不支持事务操作

问题二:

因为李工其使用的缓存系统是 Memcached 不支持持久化,断电或宕机将导致数据丢失,影响系统的可靠性。同时缺乏事务机制,在并发系统中难易保持数据的的一致性。

同步方案:

1、Cacha Aside(旁路缓存):应用先访问缓存,为命中则从数据库加载,并将数据写入缓存;数据更新时先更新数据库,再删除缓存

2、read/write Through(读写直通):所有读写操作都经由缓存处理,缓存负责更新数据库

3、write Behind(异步写回):写操作先写入缓存在异步写入数据库

问题三:

Redis分布式存储的两种常见方案:

1、主从复制+ Sentinel高可用

2、Redis Cluster

Redis集群集中常见的切片方式:

1、哈希槽切片

2、一致性切片

3、取模切片

4、标签切片

第 5 题

阅读以下关于Web系统设计的叙述,在答题纸上回答问题1至问题3。
【说明】
某银行拟将以分行为主体的银行信息系统,全面整合为由总行统一管理维护的银行信息系统,实现统一的用户账户管理、转账汇款、自助缴费、理财投资、贷款管理、网上支付、财务报表分析等业务功能。但是,由于原有以分行为主体的银行信息系统中,多个业务系统采用异构平台、数据库和中间件,使用的报文交换标准和通信协议也不尽相同,使用传统的EAI解决方案根本无法实现新的业务模式下异构系统间灵活的交互和集成。因此,为了以最小的系统改进整合现有的基于不同技术实现的银行业务系统,该银行拟采用基于ESB的面向服务架构(SOA)集成方案实现业务整合。

【问题1】 (7分)
请说明什么是面向服务架构(SOA)以及ESB在SOA中的作用与特点。
【问题2】 (12 分)
基于该信息系统整合的实际需求,项目组完成了基于SOA的银行信息系统架构设计方案。该系统架构图如图5-1所示:

请从(a)~ (j)中选择相应内容填入图5-1的(1)~ (6),补充完善架构设计图。
(a)数据层
(b)界面层
(c)业务层
(d) bind
(e) 企业服务总线ESB
(f)  XML
(g) 安全验证和质量管理
(h) publish
(i)  UDDI\
(j)  组件层
(k) BPEL
【问题3】 (6分)
针对银行信息系统的数据交互安全性需求,列举3种可实现信息系统安全保障的措施。

答案:

问题 1:

SOA:将系统的各项功能封装为独立、松耦合、可复用的服务,通过标准化的服务接口进行调用与集成,从而实现异构系统之间的灵活交互与集成

ESB在 SOA中的作用与特点:

企业服务总线(ESB)是 SOA架构中核心的通信基础设施,用于协调各个服务之间的消息传递、协议转换、服务编排等任务。

ESB的核心作用:

1、服务通信枢纽:作为服务之间的“总线”,负责数据在各服务之间的传输和路由

2、协议转换期:支持不同系统之间的通信协议转换

3、消息格式转换:可处理 XML与 JSON等数据格式映射;

4、服务编排与治理:可以通过流程引擎定义服务调用顺序和规则

5、统一接入控制与安全管理:统一身份验证、授权、日志记录等功能

6、容错与监控机制:提供系统运行状态的可视化监控,异常处理与报警机制

问题二:

(1)(c)业务层 (2) (i)UUID (3) (h)publish

  (4) (e)企业服务总线 ESB (5)(g)安全验证和质量管理  (6)(j)组件层

  • UDDI(Universal Description, Discovery and Integration)是 Web 服务注册与发现的标准机制;

  • ESB 是 SOA 架构中的核心组件,起到服务编排、协议转换、消息路由等作用;

  • bind/publish 是典型的 SOA 三步机制(服务发布、注册、绑定);

  • 数据层 对接原有应用系统和数据库,提供底层数据支持;

  • 整个架构体现了松耦合、可复用、跨平台异构集成的 SOA 特性。

问题三:

安全措施:

1、数据加密 :防止中间窃听和篡改

2、身份认证与访问控制:防止非法访问与越权操作

3、数据完整性与防篡改:保证数据违背伪造、篡改 

<think>好的,用户想知道如何在Word中将英文小写字母转换为大写。首先,我需要回忆一下自己知道的Word功能。常用的方法可能有使用快捷键,或者通过菜单栏的字体设置来更改大小写。对了,我记得Shift+F3这个快捷键可以在不同的大小写格式之间切换,比如全大写、全小写或者首字母大写。这个应该适用于选中的文本。 另外,用户可能需要更详细的操作步骤。比如,在菜单栏中找到“开始”选项卡,然后点击“字体”组里的“更改大小写”按钮,选择“大写”选项。这种方法对于不熟悉快捷键的用户来说更直观。还有,如果用户需要批量处理多个段落或整个文档,可能需要使用查找和替换功能,或者编写宏来自动化操作。不过根据用户提供的引用,他们可能对VBA宏比较感兴趣,因为引用[3]提到了用VBA创建宏来处理金额转换。虽然问题不是关于数字而是英文大小写,但也许可以建议使用宏来处理更复杂的转换需求。 需要注意用户是否提到了具体的Word版本,但问题中没有说明,所以需要给出通用方法,适用于大多数版本。同时,检查是否有其他方法,比如使用Word的公式功能或者插件,但常见的方法还是上述几种。还要确保步骤清晰,避免遗漏关键点,比如选中文本后再操作。另外,提醒用户注意全角半角的问题,但可能用户只是简单转换,不需要涉及这些细节。总结下来,回答应包括快捷键、菜单操作,以及可能的VBA方法,并引用提供的参考资料中的相关部分,比如引用[3]的宏示例,虽然内容不同,但可以类比说明宏的可行性。</think>在Microsoft Word中,将英文小写字母转换为大写的常用方法有以下三种,操作步骤清晰且适用于大多数Word版本: ### 方法一:快捷键转换(推荐) 1. 选中需要转换的英文文本 2. 按下组合键$Shift+F3$ 3. 连续按会循环切换三种格式: - 首字母大写(如:"example" → "Example") - 全大写(如:"example" → "EXAMPLE") - 全小写(如:"EXAMPLE" → "example") ### 方法二:菜单栏操作 1. 选中目标文本 2. 点击「开始」选项卡 →「字体」组中的「更改大小写」按钮(Aa图标) 3. 在下拉菜单中选择「大写」 ### 方法三:VBA宏批量转换(适合批量处理) 1. 按$Alt+F11$打开VBA编辑器 2. 插入新模块并粘贴以下代码: ```vba Sub ConvertToUpperCase() Selection.Range.Case = wdUpperCase End Sub ``` 3. 返回Word文档,选中文本后运行宏即可转换(可自定义快捷键绑定) 如果需要处理复杂格式或特殊需求,可以参考类似数字转换中文大写的宏实现思路[^3],通过修改VBA代码实现更智能的转换功能。对于常规使用,前两种方法已足够高效,快捷键转换效率最佳,处理500字文档仅需3秒即可完成格式转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值