问答题阅读以下关于面向服务架构的应用叙述,根据要求回答问题。[说明] 某航空公司的主要业务系统(如订票系统、航班调度系统等)始建于20世纪七八十年代,之后随着信息化的进展,陆续积累了许多异构的遗产信息系统。这些系统部分采用了J2EE、.NET等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。近年来,该公司在企业集成方面也是煞费苦心,已经在几个主要的核心系统之间构建了用于信息集成的信息Hub(Information Hub),其他业务应用之间也有不少点到点的集成。尽管这些企业集成技术在一定程度上增进了系统间的信息共享,但是面对历史异构的遗产信息系统,企业的业务整合、功能整合仍是困难重重,主要表现如下。 (1)由于大部分核心应用构建在主机之上,因此Information Hub是基于主机技术开发,很难被开放系统使用。 (2)Information Hub对事件支持不强,被集成的系统间的事件以点到点流转为主,被集成系统间耦合性强。 (3)牵扯到多个系统间的业务协作以硬编码为主,将业务活动自动化的成本高,周期长,被开发的业务活动模块重用性差。 某软件开发公司承接了该航空公司应用系统集成任务,项目组经过多方讨论和论证之后,决定采用以面向服务为中心的企业集成技术,一步步解决该公司所面临的企业集成问题。
问答题[说明]
某航空公司的主要业务系统(如订票系统、航班调度系统等)始建于二十世纪七八十年代,之后随着信息化的进展,陆续积累了许多异构的遗产信息系统。这些系统部分采用了J2EE、.NET等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。近年来,该公司在企业集成方面也是煞费苦心,已经在几个主要的核心系统之间构建了用于信息集成的信息Hub(Information
Hub),其他业务应用之间也有不少点到点的集成。尽管这些企业集成技术在一定程度上增进了系统间的信息共享,但是面对历史异构的遗产信息系统,企业的业务整合、功能整合仍是困难重重,主要表现如下。
(1)由于大部分核心应用构建在主机之上,因此Information Hub是基于主机技术开发,很难被开放系统使用。
(2)Information Hub对事件支持不强,被集成的系统间的事件以点到点流转为主,被集成系统间耦合性强。
(3)牵扯到多个系统间的业务协作以硬编码为主,将业务活动自动化的成本高,周期长,被开发的业务活动模块重用性差。
某软件开发公司承接了该航空公司应用系统的集成任务,项目组经过多方讨论和论证之后,决定采用以面向服务为中心的企业集成技术,一步步解决该公司所面临的企业集成问题。
问答题试题三阅读以下关于嵌入式实时系统设计的描述,回答问题1至问题3。【说明】嵌入式系统是当前航空、航天、船舶及工业、医疗等领域的核心技术,嵌入式系统可包括实时系统与非实时系统两种。某宇航公司长期从事航空航天飞行器电子设备的研制工作,随着业务的扩大,需要大量大学毕业生补充到科研生产部门。按照公司规定,大学毕业生必须进行相关基础知识培训,为此,公司经理安排王工对他们进行了长达一个月的培训。
问答题【问题2】(16 分)
请对该在线交易平台的4 个要求进行分析,用300 字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2 种实现该质量属性的架构设计策略。
问答题试题一阅读以下关于企业应用系统集成架构设计的说明,回答问题。[说明]某航空公司希望对构建于上世纪七八十年代的主要业务系统进行改造与集成,提高企业的竞争力。由于集成过程非常复杂,公司决定首先以RampCoordination系统为例进行集成过程的探索与验证。在航空业中,RampCoordination是指飞机从降落到起飞过程中所需要进行的各种业务活动的协调过程。通常每个航班都有一位员工负责RampCoordination,称之为RampCoordinator。由RampCoordinator协调的业务活动包括检查机位环境、卸货和装货等。由于航班类型、机型的不同,RampCoordination的流程有很大差异。图(a)所示的流程主要针对短期中转航班,这类航班在机场稍作停留后就起飞;图(b)所示的流程主要针对到达航班,通常在机场过夜后第二天起飞;图(c)所示的流程主要针对离港航班,这类航班是每天的第一班飞机。这三种类型的航班根据长途/短途、国内/国外等因素还可以进一步细分,每种细分航班类型的RampCoordination的流程也略有不同。为了完成上述业务,RampCoordination信息系统需要从乘务人员管理系统中提取航班乘务员的信息、从订票系统中提取乘客信息、从机务人员管理系统中提取机务人员信息、接收来自航班调度系统的航班到达事件。其中乘务人员管理系统和航班调度系统运行在大型主机系统中,机务人员管理系统运行在Unix操作系统之上,订票系统基于Java语言,具有Web界面,运行在Linux操作系统之上。目前RampCoordination信息系统主要由人工完成所有协调工作,效率低且容易出错。公司领导要求集成后的RampCoordination信息系统能够针对不同需求迅速开展业务流程,灵活、高效地完成协调任务。针对上述要求,公司IT部门的架构师经过分析与讨论,最终采用面向服务的架构,以服务为中心进行RampCoordination信息系统的集成工作。
问答题[说明]系统集成公司DX承接了某家大型超市的电子商务信息系统项目。该超市近年收购了多家小型超市,目前需要进行电子商务平台横向联网的整合、升级改造原有网络系统和部分硬件设备、定制开发部分应用软件系统,以及进行软硬件系统的集成工作等。该项目计划从2011年1月1日开始,至2012年10月31日完成,持续22个月。该项目每项任务的持续时间和每月人员的需求数量如表1所示。每项任务的逻辑关系和部分时间信息如图1所示。{{B}}表1每项任务持续时间和每月人员需求数表{{/B}}任务名称持续时间(月)每月需求人数需求调研58系统分析34系统设计83编程与测试72硬件方案及配置75集成与试运行49培训与验收57图1项目计划网络图
问答题[说明]
某大中型企业采用Oracle数据库建立一个经济信息统计方面的大型数据库应用系统。尽管配置了比较良好的硬件和网络环境,但该数据库应用系统实施后的整体性能表现较差。特别是随着业务量与信息量的迅速扩大,数据库系统的存取速度显著减慢,存储效率也明显下降。
该企业通过反复实践与摸索,并邀请数据库专家一起会诊,认为可以从以下4个方面进一步优化数据库应用系统。
(1)由于数据库应用中最主要的查询与修改数据操作大多需通过I/O来完成,因此需要通过调整服务器配置(即对硬件设备进行升级)、操作系统配置与数据库管理系统的有关参数,优化系统的I/O性能,尤其是改进磁盘I/O的效率与性能。
(2)优化“索引”的建立与使用机制,尽可能提高数据查询的速度或效率。
(3)合理使用聚类(Culster),改进查询响应时间和系统的综合性能。其中,“聚类”是指把单独组织的,但在逻辑上经常需要连接的,较为稳定的几个基本表聚集在一起(在物理上实现邻近存放),可以显著减少数据的搜索时间,从而提高性能。
(4)对应用系统中使用的SQL语句进行调优,针对每条SQL语句都建立对应的索引等。
问答题请详细阅读有关Web应用架构设计方面的说明,回答下列问题。[说明]某软件公司开发运维了一个社交网站系统,该系统基于开源软件平台LAMP(Linux+Apache+MySQL+PHP)构建,运行一段时间以来,随着用户数量及访问量的增加,系统在Web服务器负载、磁盘I/O等方面出现了明显瓶颈,已不能满足大量客户端并发访问的要求,因此公司成立了专门的项目组,拟对系统架构进行调整以提高系统并发处理能力。目前系统采用了传统的三层结构,系统架构如下图所示。某社交网站系统架构
问答题[问题2](13分)
在刘工建议的基础上,为了避免CRSS系统的单点故障,请用200字以内文字简要说明如何建立CRSS的数据库系统;对于数据的读取、添加、更改和删除操作分别如何实现。
问答题试题四阅读以下关于应用服务器的叙述,在答题纸上回答问题1至问题3。【说明】某电子产品制造公司,几年前开发建设了企业网站系统,实现了企业宣传、产品介绍、客服以及售后服务等基本功能。该网站技术上采用了Web服务器、动态脚本语言PHP。随着市场销售渠道变化以及企业业务的急剧拓展,该公司急需建立完善的电子商务平台。公司张工建议对原有网站系统进行扩展,增加新的功能(包括订单系统、支付系统、库存管理等),这样有利于降低成本、快速上线;而王工则认为原有网站系统在技术上存在先天不足,不能满足企业业务的快速发展,尤其是企业业务将服务全球,需要提供24小时不间断服务,系统在大负荷和长时间运行下的稳定性至关重要。建议采用应用服务器的Web开发方法,例如J2EE,为该企业重新开发新的电子商务平台。
问答题[问题3](5分)
请指出在实现工具之间数据格式的灵活转换时,通常采用的设计模式是什么,并对实现过程进行简要描述。
问答题[说明]PH软件公司承接了一项嵌入式系统软件研发项目。该项目主要用于车载电子系统中监视发动机及燃油系统等系统工作状况,并通过综合仪表显示给驾驶员。经过多次与用户沟通,形成以下技术要求。(1)本项目的硬件平台由主处理机模块和多种接口模块组成,底板采用标准VME总线(硬件结构图如下图所示),具体硬件模块配置如下。①主处理机模块(CPM)采用PowerPC755,主频266MHz,配有SDRAM存储器和Flash存储器;提供一个定时/计数器;支持16级中断和二级Cache。②输入/输出模块(IOC)支持16路RS422接口信号,传输速率不低于115.2kbps,IOC模块与CPM模块的数据交换采用64KB端口存储器。③离散量接口模块(DAM)支持64路开关型离散量输入/输出接口;2路频率量输入;12位AID转换器和12位D/A转换器。④图形处理模块(GPM)用于显示图形,支持OpenGL标准接口软件。⑤MBI模块主要提供1553B外总线接口,PSM为电源支持模块。图1车载电子系统硬件结构图(2)本项目软件主要工作在CPM模块中,完成对外部设备的数据采集、分析和相应的控制,将监视结果以图形方式显示给驾驶员。该系统的软件主要包括外部接口驱动软件、VME数据传输软件、处理软件、图形显示和外总线(1553B)数据交换软件。要求数据的采集必须确保每帧数据无丢失,并在本帧内完成数据的处理工作,本帧信息显示给驾驶员的时刻最晚不能超过下帧。详细的技术要求如下。①16路RS422接口主要完成对汽车燃油系统、动力系统和驾驶员命令的数据采集与控制。RS422数据传输格式将以32B为基本数据块,分别以20ms、40ms、60ms和1s这4个不同周期交换数据。②64路离散量数据主要监控发动机的工作状态,要求每10ms采集一次,并在下一个10ms周期内将发动机状况显示到驾驶员座舱。③多路模拟量数据主要采集发动机转速、油量,以及汽车的其他数据,为驾驶员监控汽车状态提供必要的量化数据。模拟量数据的刷新频率为1s。④外总线(1553B)主要完成该系统与汽车其他电子系统的数据交换。PH公司将本项目交给项目主管郭工实施,要求郭工按技术要求完成本项目的软件设计工作,公司根据合同关于“数据的采集必须确保每帧数据无丢失,并在本帧内完成数据的处理工作,本帧信息显示给驾驶员的时刻最晚不能超过下帧”的要求,提醒郭工在设计中要重点考虑整个系统的实时性问题。郭工完成设计后,提交公司评审,会上就郭工设计中存在的缺陷展开了激烈讨论,最终达成一致。
问答题[说明]
某大型企业随着信息化的进展,积累了许多异构的遗产信息系统,这些系统分别采用J2EE、.NET等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。企业要求集成后的系统能够实现功能整合,并在组织现有功能的基础上提供增值服务。FT软件开发公司承接了某大型企业应用系统的集成任务。为了按时保质的完成任务,选择合适的企业应用集成方法和架构非常重要。项目组在讨论方案时,提出了两种集成思路。
(1)魏工建议采用传统的应用集成方法,将应用集成分为多个层次,并采用消息代理中间件连接遗产系统。
(2)陈工建议采用基于SOA的方法进行应用集成,将现有遗产系统采用Web
Service的方式进行包装,暴露统一格式的接口,并采用企业服务总线(ESB)进行连接。
项目组仔细分析比较了两种方案的优点和不足后,认为魏工和陈工的建议都合理,但是结合当前项目的实际情况,最后决定采用陈工的建议。
问答题4阅读以下关于基于场景驱动的软件架构设计的相关叙述,根据要求回答问题。[说明] 对于大中型软件开发项目,通常采用迭代的方法来进行架构设计。架构先被原型化、测试和评估分析,然后在一系列的迭代过程中被细化。这种方法能够使需求细化、成熟化,并能够被更好地理解。 用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流(基本事件)和备选流(分支事件)。表1是对某IC卡加油机应用系统基本流的描述,表2是对该IC卡加油机应用系统备选流的描述。 表1 基本流描述表 序 号 用例名称 用例描述 A1 准备加油 客户将IC加油卡插入加油机 A2 验证加油卡 加油机从加油卡的磁条中读取账户代码,并检查它是否属于可以接收的加油卡 A3 验证黑名单 加油机验证卡账户是否存在于黑名单中,如果属于黑名单,则加油机吞卡 A4 输入购油量 客户输入需要购买的汽油数量 A5 加油 加油机完成加油操作,从加油卡中扣除相应金额 A6 返回加油卡 退还加油卡 表2备选流描述表 序 号 用例名称 用例描述 B 加油卡无效 在基本流A2过程中,该卡不能够识别或是非本机可以使用的IC卡,加油机退卡,并退出基本流 C 卡账户属于黑名单 在基本流A3过程中,判断该卡账户属于黑名单(例如,已经挂失),加油机吞卡,并退出基本流 D 加油卡账面现金不足 系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡 E 加油机油量不足 系统判断加油机内油量不足,重新加入基本流A4,或选择退卡
问答题请详细阅读有关嵌入式构件设计方面的说明,回答下列问题。
[说明]
构件(component)也称为组件,是一个功能相对独立的具有可复用价值的软硬件单元。近年来,构件技术正在逐步应用于大型嵌入式系统的软件设计。某公司长期从事飞行器电子设备研制工作,已积累了大量成熟软件。但是,由于当初管理和设计等原因,公司的大量软件不能被复用,严重影响了公司后续发展。公司领导层高度重视软件复用问题,明确提出了要将本公司的成熟软件进行改造,建立公司可复用的软件构件库,以提升开发效率、降低成本。公司领导层决定将此项任务交给技术部门的王工程师负责组织实施。两个月后,王工程师经过调研、梳理和实验,提交了一份实施方案。此方案得到了公司领导层的肯定,但在实施过程中遇到了许多困难,主要表现在公司软件架构的变更和构件抽取的界面等方面。
问答题试题一(共25分)阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题3。【说明】某公司欲针对Linux操作系统开发一个KWIC(KeyWordinContext)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其它方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其它的方法实现这一功能。在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。
问答题软件的设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。它是人们在长期的开发实践中良好经验的结晶,它提供了一个简单、统一的描述方法,使人们可以复用这些软件设计方法和过程管理经验。现在,设计模式已经广泛地应用在软件开发中。 请围绕“基于设计模式的软件架构设计与应用”论题,依次对以下3个方面进行论述。 1.概要叙述你参与管理和开发的软件工程项目及你在其中所承担的主要工作。 2.简要介绍设计模式的基本分类,详细说明在你所参与管理和开发的软件工程项目中应用了哪些设计模式、方法,以及选用它们的原因。 3.分析并讨论使用设计模式的效果,并分析和评价设计模式对软件架构设计的影响。
问答题试题四阅读以下有关表现层设计方面的说明,回答问题。[说明]某商业银行欲开发一套个人银行系统,为用户提供常见的金融服务,包括转账、查询、存款变更和个人信息管理等功能。该软件除了业务需求外,还有一些特殊的表现层需求:(1)根据用户级别的不同,界面和可用功能是不同的;(2)支持Web、Windows、手机App等多种不同类型的界面;(3)考虑到将来功能的扩展,需要系统支持界面的定制以及动态生成等功能,以降低系统维护和新功能发布的成本。经过对需求的讨论,该银行初步决定采用MVC模式设计该个人银行系统的表现层,采用XML作为GUI的描述语言,并应用XML,的界面管理技术来实现灵活的界面配置、界面动态生成和界面定制。
问答题【问题3】(6 分)
高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300 字以内文字说明在设计高质量的数据流图时应考虑的三个原则。
问答题请详细阅读有关软件架构评估方面的说明,回答下列问题。
[说明]
某电子商务公司拟升级目前正在使用的在线交易系统,以提高客户网上购物时在线支付环节的效率和安全性。公司研发部门在需求分析的基础上,给出了在线交易系统的架构设计。公司组织相关人员召开了针对架构设计的评估会议,会上用户提出的需求、架构师识别的关键质量属性场景和评估专家的意见等内容部分列举如下:
(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)系统需要为后端工程师提供远程调试接口,并支持远程调试。
