当前位置:   article > 正文

软考--案例分析_软考软件设计案例分析题

软考软件设计案例分析题

软件架构设计

案例1(软件质量属性)

某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:

  1. 在线交易平台必须在1s内完成客户的交易请求
  2. 该平台必须保证客户个人信息和交易信息的安全
  3. 当发生故障时,该平台的平均故障恢复时间必须小于l0s
  4. 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成

针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
问题1:软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。
问题2:请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。

问题1答案
软件质量属性有:性能、可用性、可修改性、安全性、健壮性、易用性、可变性、可测试性、功能性、互操作性。

  • 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数
  • 可用性是系统能够正常运行的时间比例
  • 可靠性是软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力
  • 健壮性是指在处理或环境中,系统能够承受压力或变更的能力
  • 安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力
  • 可修改性是指能够快速以较高的性能价格对系统进行变更的能力
  • 可变性是指体系结构经扩充或变更为新体系结构的能力
  • 易用性是衡量用户使用一个软件产品完成指定任务的难易程度
  • 可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定时间和成本前提下,进行测试设计、测试执行的能力
  • 功能性是系统所能完成所期望工作的能力
  • 互操作性是指系统与外界或系统与系统之间相互作用的能力

问题2答案
要求1对应性能。可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度)、资源管理(并发、数据复制)和资源调度(先进先出、优先级队列)
要求2对应安全性。可以采用的架构设计策略有抵御攻击(授权、认证和限制访问)、攻击检测(入侵检测)、从攻击中恢复(部分可用性策略)和信息审计
要求3对可用性。可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余
要求4对应可修改性。可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定

案例2(系统架构的选择)

希赛公司欲针对Linux操作系统开发一个KWIC(Key Word InContext)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。
在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道一过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。
问题1:在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。
问题2: 请完成下表中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。
在这里插入图片描述
问题3:下图是李工给出的架构设计示意图,请将恰当功能描述填入图中。
在这里插入图片描述
问题1答案
软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反应众多系统共有的结构和语义。
主程序-子程序架构风格中,所有计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。
问题2答案
根据题干描述”用户后续还有可能采用其他方式展示帮助内容“,因此KWIC系统对功能变更要求高
根据题干描述”后续还将采用其他方法实现这一功能“,因此KWIC系统对算法变更要求高
KWIC是一个支持用户交互的窗口界面程序,因此对性能要求并不高
KWIC显示的帮助文档为文本,数据的表示基本不变,因此对数据表示变更的要求不高
问题3答案
(1):文档检索
(2):查询结果按照字母排序
(3):剪切行首单词
(4):单词插入行尾

案例3(软件架构评估)

某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:
(a)正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应。
(b)信用卡支付必须保证99.999%的安全性。
©对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计。
(d)网络失效后,系统需要在1.5分钟内发现错误并启用备用系统。
(e)需要在20人月内为系统添加一个新的CORBA中间件。
(f)交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率,20帧/秒的速率。
(g)更改加密的级别将对安全性和性能产生影响。
(h)主站点断电后,需要在3秒内将访问请求重定向到备用站点。
(i)假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的。
(j)用户信息数据库授权必须保证99.999%可用。
(k)目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性。
(1)更改Web界面接口必须在4人周内完成。
(m)系统需要提供远程调试接口,并支持系统的远程调试。
在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。
问题1:在架构评估过程中,质量属性效用树(Utility Tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图12-24中(1)、(2)空白处;并选择题干描述的(a)-(m),填入(3)-(6)空白处,完成该系统的效用树。
在这里插入图片描述
问题2:在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a)~(m)中各选出一个对系统架构风险、敏感点和权衡点最为恰当的描述。

问题1答案
性能、可修改性、可用性(可靠性)、安全。

问题2答案
系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
敏感点是指为了实现某种特定的质量属性,一个或多个构件所具有的特性。
权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
题干描述中,第十一项描述的是系统架构风险,第三项描述的是敏感点,第七项描述的是权衡点。

案例4(系统安全架构)

博学公司通过投标,承担了某省级城市的电子政务系统,由于经费、政务应用成熟度、使用人员观念等多方面的原因,该系统计划采用分阶段实施的策略来建设,最先建设急需和重要的部分。在安全建设方面,先投入一部分资金保障关键部门和关键信息的安全,之后在总结经验教训的基础上分两年逐步完善系统。因此,初步考虑使用防火墙、入侵检测、病毒扫描、安全扫描、日志审计、网页防篡改、私自拨号检测、PKI技术和服务等保障电子政务的安全。
由于该电子政务系统涉及政府安全问题,为了从整个架构上设计好该系统的安全体系,博学公司首席架构师张博士召集了项目组人员多次讨论。在一次关于安全的方案讨论会上,谢工认为由于政务网对安全性要求比较高,因此要建设防火墙、入侵检测、病毒扫描、安全扫描、日志审计、网页防篡改、私自拨号检测系统,这样就可以全面保护电子政务系统的安全。王工则认为谢工的方案不够全面,还应该在谢工提出的方案的基础上,使用PKI技术,进行认证、机密性、完整性和抗抵赖性保护。
问题1:请用400字以内文字,从安全方面,特别针对谢工所列举的建设防火墙、入侵检测、病毒扫描、安全扫描、日志审计系统进行分析,评论这些措施能够解决和不能解决的问题。
问题2:请用300字以内文字,主要从认证、机密性、完整性和抗抵赖性方面,论述王工的建议在安全上有哪些优点。
问题3:对于复杂系统的设计与建设,在不同阶段都有很多非常重要的问题需要注意,既有技术因素阻力,又有非技术因素阻力。请结合工程的实际情况,用200字以内文字,简要说明使用PKI还存在哪些重要的非技术因素方面的阻力。

问题1答案

  • 防火墙:可以实现内部网(可信任网)与外部不可信任网络之间的隔离与访问控制,保证网络系统与网络服务的可用性。但无法对外部刻意攻击,内部攻击、病毒采取有效措施
  • 入侵检测:有效防止所有已知的、来自内外部的攻击入侵。但对数据安全性等方面没有帮助
  • 病毒防护:适用于检测、标识、清除系统中的病毒程序,对其他方面没有太多的保护措施
  • 安全扫描:主要适用于发现安全隐患,而不能采取防护措施
  • 日志审计系统:可以在事中、事后发现安全问题,但无法在事前发生安全性攻击

嵌入式系统设计

案例1(开方式架构)

在嵌入式系统中,软件采用开放式架构已成为新的发展趋势。软件架构设计的优劣将直接影响软件的重用和移植能力。
某软件公司主要从事宇航领域的嵌入式软件研发工作。经二十多年的发展,其软件产品已被广泛应用于各种航天飞行器中。该公司积累了众多成熟软件,但由于当初没有充分考虑软件的架构,原有软件无法被再利用,为适应嵌入式软件技术发展需要,该公司决策层决定成立宇航嵌入式软件开放式架构研究小组,为公司完成开放式架构的定义与设计,确保公司软件资源能得到充分利用。
研究小组查阅了大量的国外资料和标准,最终将研究重点集中在了 SAEAS4893《通用开放式架构(GOA)框架》标准,下图给出了 GOA定义的架构图。

在这里插入图片描述

问题1:请用300字以内的文字简要说明开放式架构的四个基本特点。
问题2:如图3-1所示,GOA框架规定了软件、硬件和接口的结构,以在不同应用领域中实现系统功能。GOA框架规定了一组接口,其重要特点是建立了关键组件及组件间接口关系,这些接口的确定可用于支持软件的可移植性和可升级性,以满足功能的增加和技术的更新要求。除操作系统服务与扩展操作系统之间的接口(3X)外,GOA将其他接口分为两类:即直接接口 (iD (i=l, 2, 3, •••))和逻辑接口(iL (i=l, 2, 3,•••)), 直接接口定义了信息传输方式;逻辑接口定义了对等数据交换的要求,逻辑接口没有定义真正的信息传输方式,其传输发生在一个或多个直接接口。根据图3-1所标注的接口在框架中的具体位置,请填写表3-1的(1)〜(8)处空白。
在这里插入图片描述
问题1答案
开放架构的4个基本特点:

  1. 可移植性:各计算机应用系统可在具有开放架构特性的各种计算机系统间进行移植,不论这些计算机是否同种型号、同种机型
  2. 可互操作性:如计算机网络中的各结点机都具有开放架构的特性,则该网上各结点机间可相互操作和资源共享
  3. 可剪裁性:如某个计算机系统是具有开放架构特性的,则在该系统的低档机上运行的应用系统应能在高档机上运行,原在高档机上运行的应用系统经剪裁后也可在低档机上运行
  4. 易获得性:在具有开放架构特性的机器上运行的软件环境易于从多方获得。不受某个来源所控制

企业应用集成

案例1(ESB企业服务总线)

ESB的定义描述和五个主要功能:
ESB是传统中间件技术与XML、web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。

  1. 服务位置透明性
  2. 传输协议转换
  3. 消息格式转换
  4. 消息路由
  5. 消息增强
  6. 安全性
  7. 监控与管理

项目计划

项目计划包括:

  • 项目总计划:范围计划、工作范围定义、活动定义、资源需求、资源计划、活动排序、费用估计、进度计划及费用计划
  • 项目辅助计划:质量计划、沟通计划、人力资源计划、风险计划、采购计划
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/779510
推荐阅读
相关标签
  

闽ICP备14008679号