联英人才网重庆招聘网,百度seo排名优化助手,苏州园区手机网站制作,建设网站排名个人总结#xff0c;仅供参考#xff0c;欢迎加好友一起讨论 文章目录 架构 - 案例分析 - 架构设计#xff1c;架构风格和质量属性#xff1e;例题1例题2例题3例题4例题5例题6 架构 - 案例分析 - 架构设计#xff1c;架构风格和质量属性#xff1e;
例题1
某软件公司为… 个人总结仅供参考欢迎加好友一起讨论 文章目录 架构 - 案例分析 - 架构设计架构风格和质量属性例题1例题2例题3例题4例题5例题6 架构 - 案例分析 - 架构设计架构风格和质量属性
例题1
某软件公司为其新推出的字处理软件设计了一种脚本语言专门用于开发该字处理软件的附加功能插件。 为了提高该语言的编程效率公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点对集成开发环境进行了需求分析总结出以下3项核心需求
1集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持并要实现各种功能的灵活组合、配置与替换。
2集成开发环境需要提供一组可视化的编程界面用户通过对界面元素拖拽和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。
3在代码调试功能方面集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说在调试过程中编辑界面需要响应调试断点命中事件并自动跳转到当前断点处所对应的代码。
针对上述需求软件工具开发部门对集成开发环境的架构进行分析与设计王工认为该集成开发环境应该采用管道-过滤器的架构风格实现李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审最终采用了李工的方案。
【问题1】
请用200字以内的文字解释什么是软件架构风格并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面说明为什么最终采用了李工的设计方案。 参考答案 软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式惯用模式则反映众多系统共有的结构和语义。 从集成开发环境与用户的交互方式看用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。 在这种情况下采用以数据存储为中心的架构风格能够很好地支持交互式数据处理而管道-过滤器架构风格则对用户的交互式数据处理支持有限。 从集成开发环境的扩展性来看系统核心需求要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。在这种情况下采用以数据存储为中心的架构风格以数据格式解耦各种功能之间的依赖 关系并可以灵活定义功能之间的逻辑顺序。管道-过滤器架构风格同样以数据格式解耦数据处理过程之间的依赖关系但其在数据处理逻辑关系的灵活定义方面较差。 从集成开发环境的数据管理来看集成开发环境需要支持脚本语言、语法树用于检查语法错误、可视化模型、调试信息等多种数据类型并需要支持数据格式的转换。以数据存储为中心的架构将数据存储在统一 的中心存储器中中心存储器能够表示多种数据格式并能够为数据格式转换提供各种支持。管道-过滤器架构风格通常只能支持有限度的数据格式并且在数据格式转换方面的灵活性较差。 【问题2】
在对软件系统架构进行设计时要对架构需求进行分析针对特定需求选择最为合适的架构风格因此实际的软件系统通常会混合多种软件架构风格。请对核心需求进行分析说明为了满足需求2和3分别应采用何种架构风格并概要说明采用相应架构风格后的架构设计过程。 参考答案 为了满足需求2应该采用解释器架构风格。具体来说需要①为可视化编 程元素及其拖拽关系定义某种语言并描述其语法与语义②编写解释器对该语言进行解释③生成对应的脚本语言程序。 为了满足需求3应该采用隐式调用架构风格。具体来说首先需要定义“断点在调试过程中命中”这一事件并实现当断点命中后的屏幕定位函数。集成开发环 境维护一个事件注册表结构将该事件与屏幕定位函数关联起来形成注册表中的一个 记录项。在调试过程中集成开发环境负责监听各种事件当“断点在调试过程中命 中”这一事件发生时集成开发环境查找事件注册表找到并调用屏幕定位函数从而实现脚本语言编辑界面与调试代码的自动定位。 例题2
某网上购物电子商务公司拟升级正在使用的在线交易系统以提高用户网上购物在线支付环节的效率和安全性。在系统 的需求分析与架构设计阶段公司提出的需求和关键质量属性场景如下
a正常负载情况下系统必须在0.5秒内对用户的交易请求进行响应
b信用卡支付必须保证99.999%的安全性
c对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计
d网络失效后系统需要在1.5分钟内发现错误并启用备用系统
e需要在20人月内为系统添加一个新的CORBA 中间件
f交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率20帧/秒的速率
g更改加密的级别将对安全性和性能产生影响
h主站点断电后需要在3秒内将访问请求重定向到备用站点
i假设每秒用户交易请求的数量是10个处理请求的时间为30毫秒则“在1秒内完成用户的交易请求”这一要求是可以实现的
j用户信息数据库授权必须保证99.999%可用
k目前对系统信用卡支付业务逻辑的描述尚未达成共识这可能导致部分业务功能模块的重复影响系统的可修改性
l更改Web界面接口必须在4人周内完成
m系统需要提供远程调试接口并支持系统的远程调试。
在对系统需求和质量属性场景进行分析的基础上系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系 统开发的相关人员对系统架构进行评估。
【问题1】
在架构评估过程中质量属性效用树 (utilitytree) 是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性填入下图中1、2空白处并选择题干描述的am填入36空白处完成该系统的效用树。 参考答案 1可修改性2可用性 3af 4el 5dh 6bj 【问题2】
在架构评估过程中需要正确识别系统的架构风险、敏感点和权衡点并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义并从题干am中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。 参考答案 系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。 敏感点是指为了实现某种特定的质量属性 一个或多个构件所具有的特性。 权衡点是影响多个质量属性的特性是多个质量属性的敏感点。 风险点k 敏感点c 权衡点g 另外非风险点i可测试性m 例题3
某电子商务公司拟升级其会员与促销管理系统向用户提供个性化服务提高用户的粘性。在项目立项之初公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性由于当前用户 规模不大业务也相对简单系统性能方面不做过多考虑新系统除了保持现有的四级固定会员制度 外还需要根据用户的消费金额、偏好、重复性等相关特征动态调整商品的折扣力度并支持在特定的活动周期内主动筛选与活动主题高度相关的用户集合提供个性化的打折促销活动。在需求分析与架构设计阶段公司提出的需求和质量属性描述如下
a管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑设置后即可生效
b系统应该具备完整的安全防护措施支持对恶意攻击行为进行检测与报警
c在正常负载情况下系统应在0.3秒内对用户的界面操作请求进行响应
d用户名是系统唯一标识要求以字母开头由数字和字母组合而成长度不少于6个字符。
e在正常负载情况下用户支付商品费用后在3秒内确认订单支付信息
f系统主站点电力中断后应在5秒内将请求重定向到备用站点
g系统支持横向存储扩展要求在2人天内完成所有的扩展与测试工作
h系统宕机后需要在10秒内感知错误并自动启动热备份系统
i系统需要内置接口函数支持开发团队进行功能调试与系统诊断
j系统需要为所有的用户操作行为进行详细记录便于后期查阅与审计
k支持对系统的外观进行调整和配置调整工作需要在4人天内完成。
在对系统需求、质量属性描述和架构特性进行分析的基础上系统架构师给出了两种候选的架构设计方案公司目前正在组织相关专家对系统架构进行评估。
【问题1】
在架构评估过程中质量属性效用树 (utility tree)是对系统 质量属性进行识别和优先级排序的重要工具。请将合适的质量属性填入下图中1、2空白处并选择题干描述的ak填入36空白处完成该系统的效用树。 参考答案 1安全性2可修改性 3e 4j 5h 6k 另外 a客户提的需求 d需求 i可测试性 【问题2】
针对该系统的功能李工建议采用面向对象的架构风格将折扣力度计算和用户筛选分别封装为独立对象通过对象调用实现对 应的功能王工则建议采用解释器(interpreters) 架构风格 将折扣力度计算和用户筛选条件封装为独立的规则通过解释规 则实现对应的功能。请针对系统的主要功能从折扣规则的可能 改性、个性化折扣定义灵活性和系统性能三个方面对这两种架构 风格进行比较与分析并指出该系统更适合采用哪种架构风格。 参考答案 面向对象风格通过编写新的规则实现代码并通过应用重启或热加载添加规则可修改性稍差解释器风格通过编写新的规则文件并通过导入资源文件或外部配置添加规则可修改性较好。 面向对象风格通过策略模式定义规则对象规则以程序逻辑实现灵活性较差解释器风格可灵活定义规则计算表达式灵活性更好。 面向对象风格以编译后代码运算规则性能好而虚拟机风格需要加载规则解析规则规则运算再得出结果性能较差。 面向对象风格效率高质量高易维护可修改性高灵活性稍差性能好解释器风格可修改性高个性化和灵活性强性能较差 由于本项目的目标是提升灵活性并且规模不大因此建议采用解释器风格。 例题4
某软件公司拟为某市级公安机关开发一套特种车辆管理与监控系统以提高特种车辆管理的效率和准确性。在系统需求分析与架构设计阶段用户提出的部分需求和关键质量属性场景如下
a系统用户分为管理员、分管领导和普通民警等三类
b正常负载情况下系统必须在0.5秒内对用户的车辆查询请求进行响应
c系统能够抵御99.999%的黑客攻击
d系统的用户名必须以字母开头长度不少于5个字符
e对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计
f网络失效后系统需要在2分钟内发现并启用备用网络系统
g在系统升级时需要保证在1个月内添加一个新的消息处理中间件
h查询过程中涉及到的车辆实时视频传输必须保证20帧/秒的速率且画面具有600×480的分辨率
i更改系统加密的级别将对安全性和性能产生影响
j系统主站点断电后需要在3秒内将请求重定向到备用站点
k假设每秒中用户查询请求的数量是10个处理请求的时间为30毫秒则“在1秒内完成用户的查询请求”这一要求是可以实现的
l对用户信息数据的授权访问必须保证99.999%的安全性
m目前对“车辆信息实时监控”业务逻辑的描述尚未达成共识这可能导致部分业务功能模块的重复影响系统的可修改性
n更改系统的Web界面接口必须在1周内完成
o系统需要提供远程调试接口并支持系统的远程调试
【问题1】
在架构评估过程中需要正确识别系统的架构风险、敏感点和权衡点并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义并从题干描述中的ao各选出1个属于系统架构风险、敏感点和权衡点的描述。 参考答案 系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。 敏感点是指为了实现某种特定的质量属性一个或多个系统组件所具有的特性。 权衡点是指影响多个质量属性并对多个质量属性来说都是敏感点的系统属性。 风险点m 敏感点e 权衡点i 解释 系统的架构风险、敏感点和权衡点是对质量属性效用树进行分析的主要依据根据相关概念题干中“对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计”描述的是敏感点 “目前对‘车辆信息实时监控’业务逻辑的描述尚未达成共识这可能导致部分业务功能模块的重复影响系统的可修改性”描述的是系统的架构风险 “更改系统加密的级别将对安全性和性能产生影响”描述的是权衡点。 另外 a需求b性能c安全性d需求e敏感点f可用性g可修改性 h性能i权衡点j可用性k非风险l安全性m风险点n可修改性o可测试性 例题5
某电子商务公司拟升级目前正在使用的在线交易系统以提高客户网上购物时在线支付环节的效率和安全性。公司研发部门在需求分析的基础上给出了在线交易系统的架构设计。公司组织相关人员召开了针对架构设计的评估会议会上用户提出的需求、架构师识别的关键质量属性场景和评估专家的意见等内容部分列举如下
a在正常负载情况下系统必须在0.5秒内响应用户的交易请求
b用户的信用卡支付必须保证99.999%的安全性
c系统升级后用户名要求至少包含8个字符
d网络失效后系统需要在2分钟内发现错误并启用备用系统
e在高峰负载情况下用户发起支付请求后系统必须在10秒内完成支付功能
f系统拟采用新的加密算法这会提高系统安全性但同时会降低系统的性能
g对交易请求处理时间的要求将影响系统数据传输协议和交易处理过程的设计
h需要在30人月内为系统添加公司新购买的事务处理中间件
i现有架构设计中的支付部分与第三方支付平台紧耦合当系统需要支持新的支付平台时这种设计会导致支付部分代码的修改影响系统的可修改性
j主站点断电后需要在3秒内将访问请求重定向到备用站点
k用户信息数据库授权必须保证99.999%可用
l系统需要对Web界面风格进行修改修改工作必须在4人月内完成
m系统需要为后端工程师提供远程调试接口并支持远程调试。
【问题1】
在架构评估过程中需要正确识别系统的架构风险、敏感点和权衡点并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义并从题干am中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。 参考答案 系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。 敏感点是指为了实现某种特定的质量属性一个或多个系统组件所具有的特性。 权衡点是指影响多个质量属性并对多个质量属性来说都是敏感点的系统属性。 风险点i 敏感点g 权衡点f 另外 a性能b安全性c需求d可用性e性能f权衡点g敏感点 h可修改性i风险点j可用性k安全性l可修改性m可测试性 例题6
某公司欲为某教育机构开发一个在线教育平台支持用户完成网上下单购买课程在线点播视频在线测试等功能。在系统开发之初企业对该平台提出了如下要求和质量场景
a10000用户并发点播视频时视频不卡顿
b用户口令在保存进数据库之前必须进行MD5码处理
c视频点播支持多平台当一个平台出现故障后30秒内将用户请求切换至另一平台
d平台支持的高清视频码率至少达到3Mb/s
e学员不必查看帮助文档也能正常使用系统
f学员信息数据库授权必须保证99.9%可用
g更改视频加密的方式将对安全性和性能产生影响
h目前对学员学习情况分析功能尚未达成共识这可能导致部分业务功能模块开发后期需要调整
i用户名要求必须以字母开头可以包含下划线和数字长度不少于6个字符
j系统要扩容时应保证在2人·月内完成所有的部署与测试工作
k对用户隐私的保护要求将影响系统的数据传输协议和处理过程的设计
l系统对学员的操作行为有完整的日志记录
m系统必须提供远程调试接口并支持系统的远程调试
n更新系统的 Web界面接口必须在1人月内完成
o若每秒学员交卷请求的数量是30个处理单个请求的时间为20毫秒则系统保证在1秒内完成用户的请求是可以做到的
p当在线教育平台发生网络失效后需要在60秒内发现错误并启用备用网络。
在对系统需求质量属性描述和架构特性进行分析的基础上系统的架构师给出了三个候选的架构设计方案公司目前正在组织系统开发的相关人员对系统架构进行评估。
【问题1】
在架构评估过程中质量属性效用树 (utility tree)是对系统 质量属性进行识别和优先级排序的重要工具。请将合适的质量属性填入下图中14空白处并选择题干描述的ap填入58空白处完成该系统的效用树。 参考答案 1性能2安全性3可用性4可修改性 5d 6bi 7p 8j 另外 a性能b安全性c可用性d性能e易用性f安全性g权衡点h风险点 i需求j可修改性k敏感点l安全性m可测试性n可修改性o非风险点p可用性 【问题2】
在架构设计过程中除了需要考虑经典的4大质量属性还要考虑其它属性如:易用性可测试性。题目中9是易用性的示例10是可测试性的示例。 参考答案 9e 10m 【问题3】
在架构评估过程中;需要正确识别系统的架构风险点、非风险点、敏感点和权衡点并进行合理的架构决策。请用300字以内的文字给出系统架构风险点、非风险点、敏感点和权衡点的定义并从题干描述中的ap各选出1个属于系统架构风险点、非风险点、敏感点和权衡点的描述。 参考答案 敏感点是一个或多个构件和/或构件之间的关系的特性它能影响系统的某个质量属性。 权衡点是影响多个质量属性的特性是多个质量属性的敏感点。 风险点是指架构设计中潜在的、存在问题的架构决策所带来的隐患。 非风险点是指不会带来隐患的分析与描述。 敏感点k 权衡点g 风险点h 非风险点p 个人总结
1个质量属性的改变影响到1-N个功能设计等等这是敏感点。质量属性影响功能1个功能的设计或者实现影响到1-N个质量属性等等这属于权衡点。功能影响到质量属性风险点是某一个出现的问题影响到质量属性。非风险点某个问题可以接受的。