问答题阅读以下关于应用系统数据架构的说明,在答题纸上回答问题1至问题3。 【说明】 某软件公司拟开发一套贸易综合管理系统,包括客户关系管理子系统和商品信息管理子系统两部分。客户关系管理子系统主要管理客户信息,并根据贸易业务需要频繁向客户发送相关的电子邮件、短信等提醒信息。商品信息管理子系统主要为客户提供商品信息在线查询功能,包括商品基本信息、实时库存与价格等。 在对系统进行数据架构设计时,公司项目组的架构师王工主张采用文件系统进行数据管理,原因是目前公司客户和商品数量不大,且系统功能较为简单,采用文件系统进行数据管理简单直观,开发周期短。架构师李工则建议采用关系数据库进行数据管理,原因在于公司目前正处在高速扩张期,虽然目前的客户和商品数量不大,但随着公司快速发展,需要管理的数据必然飞速膨胀,采用关系数据库作为数据存储层,系统的扩展性更强,并能够对未来可能增加的复杂业务提供有效支持。经过讨论,项目组初步采纳了李工的意见,决定采用关系数据库存储客户数据,并针对业务特征对系统性能进行优化。
问答题某银行开通了网上银行业务,其网上贷款业务流程如下:
①客户在网上填写姓名、电子邮件地址、贷款类型、贷款金额、身份证号、通讯地址等信息,提交贷款申请。
②在指定的时间内,客户会收到银行的电子邮件,通知贷款是否被批准。
③银行根据客户提交的信息,创建贷款申请任务,创建工作由运行在主机上的CICS(客户信息控制系统)完成,同时需要从第三方获得客户的信用审查信息。
④由信贷员对该项贷款申请业务进行审批,然后由风险检查系统评估该项贷款的风险程度,风险大的贷款申请被拒绝。
⑤无论批准或者拒绝,结果都会通过邮件系统递交给客户。对于拒绝的贷款申请,还要通知贷款申请任务进行有关操作。
⑥除了信贷员审批环节需要人机交互外,业务是自动进行的。
问答题随着信息系统的深入应用,它在政府或企业中发挥着越来越重要的作用。由此也产生了一些问题:一旦由于故障、甚至灾难导致信息系统局部或全部瘫痪,就会对相关的政府或企业造成重大的损失,因此需要业务持续和灾难恢复规划。业务持续和灾难恢复规划涉及一些特定的或相关的规划,当正常的信息处理业务突然中断时,用来减轻甚至避免其所带来的影响。它们用来保证维持组织运作的关键系统的可用性。某大型网上书店通过Internet为用户提供网上图书查询及订购等多种服务。由于每天的业务量非常多,因此对业务有持续性要求,并且需要具备灾难恢复功能。在对原有系统的改进方案中提供:①对于一些关键应用系统,采用双机冗余热备的方式进行保护。②由于资金问题,公司并不打算建设自己专有的用于备份数据的备份中心(假设这里的备份中心仅用于备份数据),而是决定租用其他公司提供的商业备份中心,每隔一段时间,把公司的业务数据备份到备份中心。
问答题阅读以下关于软件系统数据架构建模的说明,回答问题。
RMO是一家运动服装制造销售公司,计划在五年时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制定战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统CRSS。RMO公司决定由其技术部成立专门的项目组负责CRSS的开发和维护工作。
项目组在仔细调研和分析系统需求的基础上,确定了基于互联网的CRSS系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过“局部数据库+缓存”的读/写分离结构实现,具有较好的运行性能和可扩展性。
项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。
问答题论基于DSSA的软件架构设计与应用
问答题希赛公司计划建设一个企业数据中心,该数据中心支持A、B、C、D和E这5项业务,各业务完全独立运行,各项业务运行的操作系统均不相同。在单台某型服务器上,除了为系统开销预留30%的CPU占用率之外,各业务在繁忙时段(白天)及非繁忙时段(夜间)的CPU占用率如下表所示。
{{B}}各业务的CPU占用率{{/B}}
业务类型
A
B
C
D
E
繁忙时段
30%
35%
45%
45%
45%
非繁忙时段
15%
20%
40%
33%
40%
现希赛公司拟全部采用该类型服务器,张工和李工据此提出了不同的设计方案。张工认为需要采购5台服务器,每项业务分配一台服务器。但李工提出了一种基于虚拟化技术的解决方案,采用的服务器数量少于5台。
问答题阅读以下关于Scrum敏捷开发过程的叙述,在答题纸上回答问题1至问题3。[说明]Scrum是一个增量的、迭代的敏捷软件开发过程。某软件公司计划开发一个基于Web的Scrum项目管理系统,用于支持项目团队采用Scrum敏捷开发方法进行软件开发,辅助主管智能决策。此项目管理系统提供的主要服务包括项目团队的管理、敏捷开发过程管理和工件的管理。Scrum敏捷开发中,项目团队由Scrum主管、产品负责人和开发团队人员三种不同的角色组成,其开发过程由若干个Sprint(短的迭代周期,通常为2~4周)活动组成。Product Backlog是在Scrum过程初期产生的一个按照商业价值排序的需求列表,该列表条目的体现形式通常为用户故事。在每一个Sprint活动中,项目团队从ProductBacklog中挑选最高优先级的用户故事进行开发。被挑选的用户故事在Sprint计划会议上经过细化分解为任务,同时初步估算每一个任务的预计完成时间,编写Sprint Backlog。在Sprint活动期间,项目团队每天早晨需举行每日站立会议,重新估算剩余任务的预计完成时间,更新Sprint Backlog、Sprint燃尽图和Release燃尽图。在每个Sprint活动结束时,项目团队召开评审会议和回顾会议,交付产品增量,总结Sprint期间的工作情况和问题。此时,如果Product Backlog中还有未完成的用户故事,则项目团队将开始筹备下一个Sprint活动迭代。为完成Scrum项目管理系统,考虑到系统的智能决策需求,公司决定使用MVC架构模式开发该项目管理系统。具体来说,系统采用轻量级J2EE架构和SSH框架进行开发,使用MySQL数据库作为底层存储。
问答题阅读以下关于软件架构风格的说明,回答问题。
某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下三项核心需求。
(1)集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持,并要实现各种功能的灵活组合、配置与替换。
(2)集成开发环境需要提供一组可视化的编程界面,用户通过对界面元素拖拽和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。
(3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。
针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道-过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。
问答题论企业信息系统的安全
企业信息化能够实现高效率、低成本的运行,越来越受到人们的重视。目前,它已经渗透到企业活动的各个阶段。在传统的企业活动中,所涉及的不同企业或企业内部不同人员在相互交往中往往需要直接见面。但在企业信息化中,更多的是通过计算机网络这一媒介,而不需要直接见面。这就要求在设计和实现企业信息系统时除了针对具体业务需求进行详细的分析,保证满足具体的业务需求之外,还要加强信息系统安全方面的考虑。
请围绕“企业信息系统的安全”论题,依次从以下3个方面进行论述:
①概要叙述你参与分析设计的企业信息系统及你所担任的主要工作。
②深入讨论在企业信息系统中,通常需要着重解决的安全问题。
③结合你所参与分析设计的企业信息系统及其特点,详细论述你所采用的企业信息系统安全解决方案,并客观地分析、评价你的解决方案。
问答题甲公司承担了一项为宇航系统酉己套生产高性能嵌入式计算机系统的任务,用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,并可以有效地防止系统故障的蔓延。根据用户对本项目的要求,甲公司成立了软/硬件两个项目组,总体设计由硬件组承担,负责高性能嵌入式计算机系统体系结构设计,软件组负责确定软件的技术需求和应用软件开发平台的软件设计工作。在处理器选型方面,硬件组王工与软件组张工在讨论采用哪种CPU体系结构方面发生争议。目前,流行的处理器结构包括单核结构、多处理器结构、超线程结构、多核结构、共享Cache的多核结构和超线程技术的多核结构共6种,如图12—20所示。
问答题论模型驱动架构在系统开发中的应用
问答题阅读以下Web应用系统架构设计的说明,回答问题。
某公司拟开发一个市场策略跟踪与分析系统,根据互联网上用户对公司产品信息的访问情况和产品实际销售情况来追踪各种市场策略的效果。其中互联网上用户对公司产品信息的访问情况需要借助两种不同的第三方Web分析软件进行数据采集与统计,并生成不同格式的数据报表;公司产品的实际销售情况则需要通过各个分公司的产品销售电子表格或数据库进行采集与汇总。得到相关数据后,还要对数据进行分析与统计,并通过浏览器以在线的方式向市场策略制定者展示最终的市场策略效果。
在对市场策略跟踪与分析系统的架构进行设计时,公司的架构师王工提出采用面向服务的系统架构,首先将各种待集成的第三方软件和异构数据源统一进行包装,然后将数据访问功能以标准Web服务接口的形式对外暴露,从而支持系统进行数据的分析与处理,前端则采CSS等技术实现浏览器数据的渲染与展示。架构师李工则认为该系统的核心在于数据的定位、汇聚与转换,更适合采用面向资源的架构,即首先为每种数据元素确定地址,然后将各种数据格式统一转换为JSON格式,通过对JSON数据的组合支持数据的分析与处理任务,处理结果经过渲染后在浏览器的环境中进行展示。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了李工的方案。
问答题论数据挖掘技术的应用
问答题TeleDev是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求:
①目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能。
②目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换。
③集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系。
④集成框架应能集成一些常用的第三方实用工具,如即时通信,邮件系统等。
集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB)作为集成框架的基础架构。
问答题某软件公司接受A公司委托开发一个软件任务,该任务由张工负责。张工预计在4周内完成对系统的需求分析,并形成需求规格说明书。张工委派了项目组的小刘来负责需求信息的获取。两周后,小刘向张工汇报了他进行需求分析的过程及结果。小刘采用问卷调查的方式向A公司的50名工作人员搜集信息。他首先准备了问卷的初稿,并请A公司的相关管理人员进行了测试和修正;然后将问卷分发给A公司的每位工作人员,并要求他们在一周内返还问卷。但到目前为止,小刘只收回了7份问卷。小刘认为自己是完全按照问卷调查的步骤和要求实施的,而问卷的返还率仍然很低。张工听完后,给小刘分析了失败的原因,并提出了一些能够提高问卷返还率的建议。但是为了不耽误项目的进度,张工决定采用JRP(JointRequirementsPlanning)的方法再次进行需求调查,张工作为JRP的主持人。最终在第4周完成了需求规格说明书,并决定了系统后续阶段的开发计划,如图所示。该项目组除了张工之外,还有2名全职的开发人员,可以承担项目中的任何任务,并且承担同一任务的开发人员总是在一起工作。预计的开发时间中已经包含了编写文档的时间。张工决定采用迭代模型,在160天内完成这3个模块的设计、实现与测试。
问答题希赛公司欲针对Linux操作系统开发一个KWIC(Key Word In Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道一过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。
问答题阅读以下信息系统可靠性问题的说明,回答问题。某软件公司开发一项基于数据流的软件,其系统的主要功能是对输入数据进行多次分析、处理和加工,生成需要的输出数据。需求方对该系统的软件可靠性要求很高,要求系统能够长时间无故障运行。该公司将该系统设计交给王工负责。王工给出该系统的模块示意图如图所示。王工解释:只要各个模块的可靠度足够高,失效率足够低,则整个软件系统的可靠性是有保证的。李工对王工的方案提出了异议。李工认为王工的说法有两个问题:第一,即使每个模块的可靠度足够高,但是整个软件系统模块之间全部采用串联,则整个软件系统的可靠度明显下降。假设各个模块的可靠度均为0.99则整个软件系统的可靠度为0.994≈0.96:第二,软件系统模块全部采用串联结构时,一旦某个模块失效,则意味着整个软件系统失效。李工认为,应该在软件系统中采用冗余技术中的动态冗余或者软件容错的N版本程序设计技术,对容易失效或者非常重要的模块进行冗余设计,将模块之间的串联结构部分变为并联结构,来提高整个软件系统的可靠性。同时,李工给出了采用动态冗余技术后的软件系统模块示意图,如图所示。刘工建议,李工方案中M1和M4模块没有采用容错设计,但M1和M4发生故障有可能导致严重后果。因此,可以在M1和M4模块设计上采用检错技术,在软件出现故障后能及时发现并报警,提醒维护人员进行处理。注:假设各个模块的可靠度均为0.99。
问答题某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。
①刘工建议采用J2EE 5.0和EJB
3.0进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE 5.0的主要目标是简化开发,相比EJB
2.1,EJB 3.0具有很多改进和提高。
②杜工建议采用Struts、Spring和Hibernate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJO(Plan
Old Java Objects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。
项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。
问答题试题三(共25分)请详细阅读有关嵌入式软件架构设计方面的描述,回答问题l和问题2。[说明]在嵌入式系统中,软件采用开放式架构己成为新的发展趋势。软件架构设计的优劣将直接影响软件的重用和移植能力。某软件公司主要从事宇航领域的嵌入式软件研发工作。经二十多年的发展,其软件产品己被广泛应用于各种航天飞行器中。该公司积累了众多成熟软件,但由于当初没有充分考虑软件的架构,原有软件无法被再利用,为适应嵌入式软件技术发展需要,该公司决策层决定成立宇航嵌入式软件开放式架构研究小组,为公司完成开放式架构的定义与设计,确保公司软件资源能得到充分利用。研究小组查阅了大量的国外资料和标准,最终将研究重点集中在了SAEAS4893《通用开放式架构(GOA)框架》标准,图3-1给出了GOA定义的架构图。
问答题阅读以下关于汽车电子基础软件架构的说明,回答问题。某软件公司承担了某项国家重点项目的研制工作,任务重点是参考国外汽车电子发展趋势,开发某汽车公司的企业汽车电子基础软件的架构,逐步实现汽车企业未来的技术发展规划。该软件公司接收此项任务后,调动全体技术人员深入收集国外相关技术资料,经过多方调研和分析,公司提出遵照国际组织最新推出的AUTOSAR规范,按统筹规划、分步骤实施的原则,实现汽车公司的基础软件架构设计。图中给出了AUTOSAR规范所定义的工作包,图中灰色部分代表本项日工作所包含的内容,即软件架构和基础软件。