Newer
Older
csv2brain / app / src / main / assets / exam / a_2.json
ubt on 24 Jan 2024 507 KB 增加习题列表
{"msg":"第二节 案例","code":200,"data":{"currentIndex":null,"examId":null,"examTime":null,"questionList":[{"id":"796240122507972609","title":"试题四(25分)<br>\n阅读以下关于数据库备份与恢复方面的叙述,回答问题1至问题4。<br>\n【说明】<br>\n银行金融系统对数据库中的数据安全要求很高,必须在技术层面上采用必要的措施,以保证数据的有效和不丢失。数据库的备份与恢复是保证数据安全的一种基本方法,一般将数据库备份划分为冷备份、热备份和数据导出,而数据导出根据导出数据的范围,又可以分为完全导出、增量导出和累计导出。<br>\n该金融系统上线初期,整个业务系统采用了内网方式运行,不与外网发生联系。为了保证数据库内部数据的安全,该银行信息中心的刘工提出的备份方案如表4-1所示。<br>\n<img alt=\"\" width=\"629\" height=\"94\" src=\"https://image.chaiding.com/ruankao/7dbbd8a41e35ee8bc7503bf0b4427046.jpg?x-oss-process=style/ruankaodaren\"><br>\n信息中心的李工对刘工的方案提出了异议,认为数据库一旦发生故障,刘工的方案无法做到数据库的实时恢复,会导致业务数据的丢失,银行应该采用数据库冷备份和热备份相结合的方式来完成数据库的备份。\n<br><br>\n【问题1】(3分)<br>\n针对金融数据库安全,从技术层面上分析应重点考虑哪些因素?\n<br><br>\n【问题2】(4分)<br>\n请用200字以内的文字评价刘工的备份策略的优缺点。\n<br><br>\n【问题3】(10分)<br>\n请分别说明冷备份和热备份的概念,并补充下表中的空(1)~(6)。<br>\n<img width=\"631\" height=\"184\" alt=\"\" src=\"https://image.chaiding.com/ruankao/4fecee6f19e461baa6d1b50d468ba688.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题4】(8分)<br>\n银行金融系统需要支持数据库的实时/秒级恢复(即恢复到故障之前的时间点上),请设计合理的备份策略,并说明其基本恢复过程。","analyze":"【问题1】<br>\n对数据库内部故障的考虑,包括事务故障、系统故障和介质故障。<br>\n对数据库外部各种攻击的考虑,包括计算机病毒、利用软件漏洞的黑客攻击和SQL 注入攻击等。<br>\n<br>\n本题考查数据库备份与恢复的基本知识,属于比较传统的题目。<br>\n本问题考查从技术角度上需要考虑的基本内容。一般而言,是从数据库内外两个角度来讲。从数据库内部来讲,主要是数据库故障引起的,故障一般分为事务故障、系统故障和介质故障;从数据库外部来讲,主要是指外部对数据库的攻击,主要是计算机病毒,以及近几年比较流行的利用软件漏洞的黑客攻击和SQL注入攻击等。\n<br><br>\n【问题2】<br>\n刘工的备份策略仅采用了数据导出的备份方式,其优点是简单易行,实现了数据的完整导出,甚至可以在运行期间做到按需备份。<br>\n其缺点是一旦发生故障,会丢失过多的数据,例如在星期三的中午,数据库出现故障,则只能恢复到星期二备份时的数据,星期二导出后到星期三中午的数据会全部丢失;如果数据量非常大,则数据导出所花费的时间和空间会很大。<br>\n<br>\n本题考查数据库备份与恢复的基本知识,属于比较传统的题目。<br>\n本问题考查数据库备份与恢复的基本知识。题目中刘工提出的备份策略完全是基于数据导出的备份策略。这种备份策略的优点是简单易行,而且在数据的选择上非常灵活,可以实现基于表、用户、数据库的不同级别的数据导出,设置上可以做到按需备份。但是其缺点也非常突出,即无法在数据库系统出现故障时,恢复到故障之前的时间点上。 而这种要求,在OLTP系统中是一种基本的要求。在金融业务系统中,要求数据库提供365×24小时的不间断运行,一旦发生故障,要求数据库必须恢复到出现故障之前的时间点上,否则会造成业务数据的丢失。而且如果数据量比较大,则数据导出所花费的时间和空间会很大。\n<br><br>\n【问题3】<br>\n冷备份是在数据库关闭的情况下,对数据库中的关键文件(数据文件、日志文件等)进行复制。<br>\n热备份是在数据库运行的情况下,对数据库中的关键数据进行备份,要求数据库管理系统提供支持。<br>\n<img width=\"623\" height=\"250\" alt=\"\" src=\"https://image.chaiding.com/ruankao/b3ff3f5f9db5ffd5bd12324d3747d8db.jpg?x-oss-process=style/ruankaodaren\"><br>\n(1)、(3)次序无关;(4)、(6)次序无关。<br>\n<br>\n本题考查数据库备份与恢复的基本知识,属于比较传统的题目。<br>\n冷备份是在数据库关闭的情况下,对数据库中的关键文件(数据文件、日志文件等)进行复制。热备份是在数据库运行的情况下,对数据库中的关键数据进行备份,要求数据库管理系统提供支持。因此,冷备份可以对数据库最近的数据提供一种完整的备份,而热备份可以在冷备份的基础上,将数据库中的数据恢复到故障之前的某个特定的时间点上。如果仅采用冷备份,则从上次冷备份到系统出现故障之间的数据会丢失:如果只采用热备份,则系统需要从数据库安装时一直恢复到出现故障时,此时需要保留所有产生的控制文件、日志等数据,而这往往是不可能,也是不需要的。两种方式各有优缺点,对应题目中的表格,正确内容如下:<br>\n<img alt=\"\" width=\"628\" height=\"254\" src=\"https://image.chaiding.com/ruankao/94efae9dd76f8ed99b12fa452e1b0f34.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题4】<br>\n银行系统如果需要支持数据库的实时恢复或秒级回复,需要采用冷备份和热备扮相结合的方式来进行备份。基本的备份策略如下表所示:<br>\n<img width=\"616\" height=\"181\" alt=\"\" src=\"https://image.chaiding.com/ruankao/eb42206c1bb7631dc352085f8c818148.jpg?x-oss-process=style/ruankaodaren\"><br>\n冷备份与热备份的交替间隔时间可以根据自身特点来进行调整。当数据库出现故障,需要恢复时,基本的步骤是:<br>\n(1)恢复最近一次的冷备份数据;<br>\n(2)按照时间顺序,恢复热备份中备份的数据和日志文件。<br>\n找到机器上未损坏的最后一个日志文件,将数据库恢复到该日志文件对应的时间点。<br>\n<br>\n本题考查数据库备份与恢复的基本知识,属于比较传统的题目。<br>\n本题是在【问题2】的基础上,针对银行金融系统的要求,即365×24小时的不间断运行,提出一种合理的备份策略,主要是采用冷备份和热备份相结合的方式,此时备份的周期可以根据企业的要求自行定义,一般以周为单位。一个可能的例子如下:<br>\n<img width=\"624\" height=\"177\" alt=\"\" src=\"https://image.chaiding.com/ruankao/2f27d3b2ed2a1a315ad1d5f667e241ce.jpg?x-oss-process=style/ruankaodaren\"><br>\n一旦数据库出现故障时,采用冷备份与热备份相结合方式时,基本的恢复步骤为:<br>\n(1)恢复最近一次的冷备份数据;<br>\n(2)按照时间顺序,恢复热备份中备份的数据和日志文件。<br>\n直到找到机器上未损坏的最后一个日志文件,将数据库恢复到该日志文件对应的时间点,然后重新启动数据库即可。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240088517332993","title":"试题五(25分)<br>\n阅读以下关于Web应用开发的叙述,回答问题1至问题3。<br>\n【说明】<br>\nE-Mall是一家电子商务公司,其主要业务是在线购物,包括书籍、服装、家电和日用品等。随着公司业务规模不断增大,公司决策层决定重新设计并实现其网上交易系统,公司负责系统开发的王工和李工分别给出了两种不同的设计方案,如下图1和图2所示。<br>\n<img width=\"550\" height=\"545\" alt=\"\" src=\"https://image.chaiding.com/ruankao/ce5c685536bd9d163fef347a2a557cdb.jpg?x-oss-process=style/ruankaodaren\"><br>\n公司的架构师和开发者针对这两种设计方案,从服务器负载情况、业务逻辑的分离性、系统可靠性、实现简单性等方面进行讨论与评估,综合考虑最终采用了李工给出的方案。\n<br><br>\n【问题1】(8分)<br>\n请分析比较王工、李工两种方案的优点和不足,完成下表中的空白部分。<br>\n<img width=\"624\" height=\"268\" alt=\"\" src=\"https://image.chaiding.com/ruankao/b7fa75324c90fbc71e7ffe499dc6addf.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(8分)<br>\n对数据库的访问是该系统开发中需要特别注意的一个问题,O/R映射是一种常用的数据库访问编程技术。请用200字以内的文字说明O/R映射的含义,并指出采用0/R映射的三个主要好处。\n<br><br>\n【问题3】(9分)<br>\n性能是Web应用系统的一个重要质量属性。请用200字以内的文字说明三个主要影响Web应用系统性能的因素,针对每个因素提出解决方案以提高系统性能。","analyze":"【问题1】<br>\n<img width=\"623\" height=\"258\" alt=\"\" src=\"https://image.chaiding.com/ruankao/aad7612089d3d2f84c0c32c40ac65f40.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n本题考查Web应用开发的相关内容,主要包括体系结构设计,数据库访问和性能优化等知识。<br>\n本问题考查体系结构设计需要注意的问题,根据图1和图2的描述可知,图1给出的体系结构代表一种典型的基于数据库服务器的动态内容发布结构,这种结构在服务器端设置了一台Web服务器和一台数据库服务器。Web服务器通过应用程序的支持(通常采用ASP、JSP等脚本语言,比较简单),就可以给用户提供动态的信息服务,通过定制页面模板,添加到后台数据库中的信息可以及时发布给客户。但是,在这种架构下,Web服务器需要同时负责业务逻辑的处理和数据库访问,负载很大;业务逻辑代码和其他程序代码全部在Web服务器中,不能做到业务逻辑代码与其他代码分离,且其中任何一个环节出错,都会导致Web服务器宕机,系统可靠性较差。<br>\n图2给出的是一种分布式的Web应用架构,与图1相比,在Web服务器和后台数据库服务器之间增加了一层应用服务器。这是一种比较先进的架构模式,由于增加了中间层应用服务器,可以将业务逻辑和数据库连接等放置到中间层上,减轻了服务器的负担,做到业务逻辑代码与其他程序分离,并减轻了Web服务器的负担。多个应用服务器的存在也可以提高访问性能,并增加系统的可靠性。\n<br><br>\n【问题2】<br>\nO/R映射指的是对象/关系映射,是一种编程技术,将关系数据库中的关系型数据与面向对象编程语言中类型系统定义的数据进行格式转换。<br>\n采用对象/关系映射主要有三点好处:<br>\n(1)可以将业务逻辑与数据逻辑分离。<br>\n(2)可以使得开发人员采用面向对象的方式访问底层关系型数据库。<br>\n(3)能够做到上层应用与底层的具体数据库无关,两者解耦合。<br>\n<br>\n本题考查Web应用开发的相关内容,主要包括体系结构设计,数据库访问和性能优化等知识。<br>\n本问题主要考查数据库访问中O/R映射的知识和这种技术的主要作用。O/R映射指的是对象/关系映射,是一种编程技术,将关系数据库中的关系型数据与面向对象编程语言中类型系统定义的数据进行格式转换。采用对象/关系映射主要有三点好处:<br>\n(1)可以将业务逻辑与数据处理逻辑分离。<br>\n(2)可以使得开发人员采用面向对象的方式访问底层关系型数据库。<br>\n(3)能够做到上层应用与底层的具体数据库无关,两者解耦合。\n<br><br>\n【问题3】<br>\n影响Web应用系统性能的三个主要因素分别是:<br>\n(1)数据库的连接与销毁。可以采用数据池的方式缓存数据库连接,实现数据库连接复用,提高系统的数据访问效率。<br>\n(2)构件或中间件的加载与卸载。可以采用分布式对象池的方式缓存创建开销大的对象,实现对象复用,用以提高效率。<br>\n(3)线程的创建与销毁。可以采用线程池的方式缓存己经创建的线程,提高系统的反应速度。<br>\n<br>\n本题考查Web应用开发的相关内容,主要包括体系结构设计,数据库访问和性能优化等知识。<br>\n本问题主要考查Web应用系统的性能优化问题。主要有如下三个重要的因素影响着系统的执行效率。<br>\n(1)数据库的连接与销毁。可以采用数据池的方式缓存数据库链接,实现数据库链接复用,提高系统的数据访问效率。<br>\n(2)构件或中间件的加载与卸载。可以采用分布式对象池的方式缓存创建开销大的对象,实现对象复用,提高效率。<br>\n(3)线程的创建与销毁。可以采用线程池的方式缓存已经创建的线程,提高系统的反应速度。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240084272697345","title":"试题五(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某电子商务公司进行机构重组后,业务规模和用户规模不断扩大,现有的在线销售系统已经无法满足公司的发展要求。公司决策层对现有系统的不足进行了认真分析,决定提高现有系统客户端访问速度,增强客户端的动态交互能力,并提高整个系统代码的模块化和重用性,最终完成网上交易系统的改造与升级。在对该系统的升级方案进行设计和讨论时,公司的系统分析师王工提出采用开发浏览器插件的方式提高客户端访问速度并增强访问体验,通过重写服务端代码提高系统的模块化和重用性。另外一位系统分析师李工则提出采用Ajax技术提高客户端性能,采用JavaScript技术进一步增强客户端的动态交互能力,并在服务端采用JavaScript技术提高系统代码的模块化和重用性。公司的分析师和架构师对这两种思路进行讨论与评估,最终采纳了李工的方法。\n<br><br>\n【问题1】(8分)<br>\n请从系统的客户端开发和服务端开发两个方面说明为何没有采用王工提出的方法。\n<br><br>\n【问题2】(9分)<br>\n请说明什么是Ajax技术,并从信息表示、动态显示及交互、数据交换和异步数据交换四个功能特点说明Ajax包含的基本技术,对应填入表5-1中的(1)、(2)、(3)、(4)空白中。<br>\n<img width=\"542\" height=\"120\" alt=\"\" src=\"https://image.chaiding.com/ruankao/a532d1b718a6f4be0285bb1dc12dcac2.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(8分)<br>\n在论证服务端实现策略时,李工以“用户身份验证”和“客户请求信息传递与返回”两个应用场景为例说明在服务端采用JavaScript技术的优势。请给出李工可能的论证过程。","analyze":"【问题1】<br>\n从客户端开发方面来看,由于现有浏览器都定义了符合自身要求、互不兼容的插件开发标准与运行形态,王工提出的“浏览器插件的增强方式”需要针对不同浏览器开发对应的插件,这样存在重复开发的问题且工作量巨大;另一方面,客户端功能增强插件必须下载并安装到浏览器上,对客户端要求较高且不方便。李工提出的“基于Ajax的客户端增强方式”只要求浏览器支持JavaScript,这一要求目前所有的浏览器都能够直接满足;另一方面,而Ajax技术则基于所有浏览器都支持的标准技术体系,不存在重复开发和互不兼容的问题。<br>\n从服务端开发方面来看,王工提出的“重写服务端代码”的方式虽然可能解决服务端模块化和重用性的要求,但是开发的风险和代价太大,在进行企业应用系统升级时一般不考虑完全重写,特别是服务端代码完全重写的方案。另一方面,李工提出的“在服务端采用JavaScript技术”能够与采用Ajax技术的客户端进行无缝集成,并且能够利用JavaScript与现有系统功能模块的互操作技术,采用JavaScript实现系统现有业务功能模块的动态组合和调用,增强系统功能模块的重用性。<br>\n综合上述两个方面,可以看出应该采用李工的解决方案。<br>\n<br>\n解析:本问题考查Web应用系统升级时的方案选择问题。根据题干描述,系统升级的目的是提高现有系统客户端访问速度,增强客户端访问体验,并提高整个系统代码的模块化 和重用性。因此需要根据问题描述,从客户端开发和服务端开发两个方面,结合三个升级目标进行全面论述。<br>\n从客户端开发方面来看,在线交易系统是一个典型的B/S系统,采用浏览器插件的客户端增强方法与基于Ajax技术的客户端增强方法相比,存在两个明显的缺陷:第一,客户端功能增强插件必须下载并安装到浏览器上,对客户端要求较高且不方便;而采用Ajax技术对客户端进行增强时只要求浏览器支持JavaScript,这一要求目前所有的浏览器都能够直接满足。第二,现有浏览器都定义了符合自身要求、互不兼容的插件开发标准与运行形态,采用浏览器插件的增强方式需要针对不同浏览器开发对应的插件;\" 这样存在重复开发的问题且工作量巨大。而Ajax技术则基于所有浏览器都支持的标准技术体系,不存在重复开发和互不兼容的问题。<br>\n从服务端开发方面来看,王工提出的“重写服务端代码”的方式虽然可能解决服务端模块化和重用性的要求,但是开发的风险和代价太大,在进行企业应用系统升级时一般不考虑完全重写,特别是服务端代码完全重写的方案。另一方面,李工提出的“服务端JavaScript技术”能够与釆用Ajax技术的客户端进行无缝集成,并且能够利用JavaScript与现有系统功能模块的互操作技术,采用JavaScript实现系统现有业务功能模块的动态组合和调用,增强系统功能模块的重用性。<br>\n综合上述两个方面,可以看出应该采用李工的解决方案。\n<br><br>\n【问题2】<br>\nAjax 全称为 Asynchronous JavaScript and XML (异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。<br>\n<br>\n解析:主要考查对Ajax技术涵盖的基本技术的理解与掌握。<br>\nAjax 全称为 Asynchronous JavaScript and XML (异步JavaScript 和XML),是一种创建交互式网页应用的网页开发技术。<br>\nAjax所包含的基本技术有:<br>\n使用XHTML+CSS来表示信息;<br>\n使用JavaScript操作DOM (Document Object Model)进行动态显示及交互;<br>\n使用XML和XSLT进行数据交换及相关操作;<br>\n使用XMLHttpRequest对象与Web服务器进行异步数据交换;<br>\n使用JavaScript将所有的东西绑定在一起。<br>\nAjax技术的优点包括:<br>\n(1)能在不更新整个页面的前提下维护数据。使得Web应用程序更为迅捷地响应用户动作,并避免在网络上发送没有改变过的信息;<br>\n(2)通过将部分计算转移到客户端,减轻了服务器的处理量,增强了用户体验;<br>\n(3)Ajax不需要浏览器插件支持,辅助开发工具与开发库较多;<br>\nAjax技术的缺点包括: <br>\n(1)可能破坏浏览器后退按钮的正常行为;<br>\n(2)使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中;<br>\n(3)—些手持设备(如手机、PDA等)目前还不能很好地支持Ajax;<br>\n(4)对流媒体的支持没有Flash和Java Applet等技术好。\n<br><br>\n【问题3】<br>\n在“用户身份验证”这一应用场景中,需要在客户端与服务端同时对用户的输入进行验证:在客户端,需要判断用户的输入是否满足基本的格式要求,目前通常采用JavaScript代码实现验证功能;在服务端,需要验证用户输入的密码是否与后端数据库中存储的密码匹配。如果在服务端采用JavaScript功能,则可以实现相似或相同代码的重 用,提高系统的可维护性。<br>\n<img width=\"551\" height=\"132\" alt=\"\" src=\"https://image.chaiding.com/ruankao/5a077e5c1b0c6ca3dc5207a642b06c87.jpg?x-oss-process=style/ruankaodaren\"><br>\n在“客户请求信息传递与返回”这一应用场景中,如果客户端与服务端采用不同的技术实现,则当客户端发出的请求数据传递到服务端后,服务端需要进行数据解析与格式转换,之后才能调用业务功能,得到运算结果后还需要将其转换为寧户端需要的数据格式。整个过程需要涉及两次应用层的数据格式解析与转换,效率较如果在服务端采用JavaScript技术,则可以使用JSON等客户端与服务端同时支持的数据格式进行传递,能够降低服务端的复杂度,提高运行效率。<br>\n<br>\n解析:主要考查服务端JavaScript的实际应用和分析。<br>\n在“用户身份验证”这一应用场景中,需要同时在客户端与服务端对用户的输入进行验证:在客户端,’需要判断用户的输入是否满足基本的格式要求,目前通常采用JavaScript代码实现验证功能;在服务端,需要验证用户输入的密码是否与后端数据库中存储的密码匹配。如果采用服务端JavaScript功能,则可以实现相似或相同代码的重用,提高系统的可维护性。<br>\n在“客户请求信息传递与返回”这一应用场景中,如果客户端与服务端采用不同的技术实现,则当客户端发出的请求数据传递到服务端后,服务端需要进行数据解析与格式转换,之后才能调用业务功能,得到运算结果后还需要将其转换为客户端需要的数据格式。整个过程需要涉及两次应用层的数据格式解析与转换,效率较低。如果采用服务端JavaScript技术,可以采用JSON等客户端与服务端同时支持的数据格式进行传递,能够降低服务端的复杂度,提高运行效率。<br>\n服务端JavaScript的主要缺点有:<br>\n(1)缺乏成熟的类库。在数据操作、数据存储等方面能力较弱。<br>\n(2)对标准的支持不够。目前的服务端引擎对CommonJS的支持有待加强。<br>\n(3)开发和执行效率较低。在服务端缺少良好的开发环境和类库支持,执行效率也较为低下。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240058620334081","title":"试题二(25分)<br>\n阅读以下关于信息资源网建设的叙述,回答问题1至问题3。<br>\n【说明】<br>\n某市政府部门有近30个委、办、局,分别承担着法定的政府职能,这些部门都有信息中心,负责本单位信息系统的建设和信息资源的采集、维护等工作,同时向业务部门提供信息化技术支持。该市的电子政务建设发展很快,统一规划实施了政务内网,实现了各个政府部门百兆以上带宽的互联互通,并在此基础上规划信息资源网。该政务内网的运行维护成本较高,所以在政务内网开通之后,市财政逐渐削减了各个委办局自身信息系统的维护费用,市政府也要求尽快实现信息资源的共享,以发挥电子政务网的效益。\n<br><br>\n【问题1】(13分)<br>\n该市决定将各个委办局的信息系统采取物理集中的方式进行统一管理,一些部门对此提出了异议,主要理由是集中管理后,由于管理部门对业务应用不了解,难以保证对本单位业务进行有力支持。<br>\n请用300字以内文字,从技术角度论述该市实现信息系统统一管理是否可行。\n<br><br>\n【问题2】(6分)<br>\n该市在信息系统集中管理建设过程中,需要在信息系统中重点规划建设哪些内容?\n<br><br>\n【问题3】(6分)<br>\n发挥信息系统效益的关键是信息资源的有机共享,请给出该市政务信息资源共享的建议(200字以内)。","analyze":"【问题1】<br>\n该市实行各个委办局信息系统统一管理可行。<br>\n该市电子政务网性能优良,信息系统物理部署点位置不会影响应用,也不存在信息传输瓶颈。<br>\n集中管理后,不仅能共享网络、主机的硬件设备,还能集中进行高可靠性配置、安全管理,以较低的成本向各个应用系统提供较高的可用性和安全性。<br>\n集中管理后,各个部门的运行维护和管理的费用将大大降低,可节省该市用于政府部门信息系统维护的整体费用。<br>\n应用系统位于信息系统层次结构的上层,底层的集中共享能够对业务提供更好的支撑。而各个部门的应用对信息系统的要求可由本部门提出,纳入到集中管理部门对信息系统的统一规划中。<br>\n<br>\n根据本题的说明,该市统一规划了政务内网,各个政府部门之间的网络连接速率是百兆,对于绝大多数应用而言不存在信息传输瓶颈,各个部门信息系统涉及到的服务器系统、存储系统和数据库系统等的实际物理部署位置,并不会影响信息系统的功能和应用,而且各个部门的信息系统基础设施还可以统筹规划,实现资源共享,不仅节省投资,还能够统一维护,统一规划安全和灾备方寒,降低后期的运行维护成本。<br>\n设施的物理集中,在规划实施时应重点考虑整个系统的性能、可靠性、可用性(健壮性)、可管理性、安全性,系统的物理安全(保安)、系统备份和容灾也是规划的重要内容。<br>\n在电子政务系统建设中,通过信息资源管理可以实现信息资源共享。信息资源管理最核心和最基础的工作是首先做好信息资源规划,调查分析信息需求和数据流,制定信息资源管理基础标准,建立政府总体和各职能域的信息系统框架,建立信息共享的各种制度,如数据维护制度,数据使用办法等等,而信息共享的技术解决方案与管理方案相比,实施难度较低。\n<br><br>\n【问题2】<br>\n(1)灾备系统(容灾系统)。<br>\n(2)CA认证系统(身份识别系统)。<br>\n(3)入侵检测系统。<br>\n(4)安全审计系统。<br>\n(5)防火、防盗等物理安全措施。<br>\n(6)高可用性设施(如多机集群、网络冗余和电源冗余等)。<br>\n(7)较好性能的网络管理系统,监控网络流量。<br>\n<br>\n根据本题的说明,该市统一规划了政务内网,各个政府部门之间的网络连接速率是百兆,对于绝大多数应用而言不存在信息传输瓶颈,各个部门信息系统涉及到的服务器系统、存储系统和数据库系统等的实际物理部署位置,并不会影响信息系统的功能和应用,而且各个部门的信息系统基础设施还可以统筹规划,实现资源共享,不仅节省投资,还能够统一维护,统一规划安全和灾备方寒,降低后期的运行维护成本。<br>\n设施的物理集中,在规划实施时应重点考虑整个系统的性能、可靠性、可用性(健壮性)、可管理性、安全性,系统的物理安全(保安)、系统备份和容灾也是规划的重要内容。<br>\n在电子政务系统建设中,通过信息资源管理可以实现信息资源共享。信息资源管理最核心和最基础的工作是首先做好信息资源规划,调查分析信息需求和数据流,制定信息资源管理基础标准,建立政府总体和各职能域的信息系统框架,建立信息共享的各种制度,如数据维护制度,数据使用办法等等,而信息共享的技术解决方案与管理方案相比,实施难度较低。\n<br><br>\n【问题3】<br>\n(1)全市政务信息的分类、分级标准。<br>\n(2)合各部门的职责,制定信息的采集原则,如关键业务产生关键信息,权威部门产生权威信息,从源头上保证信息的质量。<br>\n(3)制定信息的维护、更新原则,如谁生产谁维护。<br>\n(4)建设信息的交换平台,规划信息交换目录,制定信息的交换办法。<br>\n(5)建设政务信息仓库,开发信息资源的综合应用。<br>\n(6)优化政务流程。<br>\n<br>\n根据本题的说明,该市统一规划了政务内网,各个政府部门之间的网络连接速率是百兆,对于绝大多数应用而言不存在信息传输瓶颈,各个部门信息系统涉及到的服务器系统、存储系统和数据库系统等的实际物理部署位置,并不会影响信息系统的功能和应用,而且各个部门的信息系统基础设施还可以统筹规划,实现资源共享,不仅节省投资,还能够统一维护,统一规划安全和灾备方寒,降低后期的运行维护成本。<br>\n设施的物理集中,在规划实施时应重点考虑整个系统的性能、可靠性、可用性(健壮性)、可管理性、安全性,系统的物理安全(保安)、系统备份和容灾也是规划的重要内容。<br>\n在电子政务系统建设中,通过信息资源管理可以实现信息资源共享。信息资源管理最核心和最基础的工作是首先做好信息资源规划,调查分析信息需求和数据流,制定信息资源管理基础标准,建立政府总体和各职能域的信息系统框架,建立信息共享的各种制度,如数据维护制度,数据使用办法等等,而信息共享的技术解决方案与管理方案相比,实施难度较低。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239977603158017","title":"试题一(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某企业委托软件公司开发一套运动器材综合销售平台,以改进已有的销售管理系统,拓展现有的实体店销售模式,综合管理线上线下的器材销售业务。该软件公司组建项目组开发该系统,现正处于需求获取阶段。经过项目组讨论,由于目标系统业务功能比较复杂,所以在需求获取中针对不同类型的业务需求,采用不同的需求获取方法。项目组列出可选的需求获取方法包括:用户访谈、联合需求计划(JRP)、问卷调查、文档分析和实地观察等。<br>\n需求获取的要求如下:<br>\n(1)获取已有销售管理系统中所实现的实体店销售模式和过程;<br>\n(2)获取系统的改进需求和期望增加的业务功能;<br>\n(3)获取当前业务过程中的详细数据并深入了解这些数据产生的原因;<br>\n(4)从企业管理人员、销售人员、各种文档资源等尽可能多的来源获取需求;<br>\n(5)消除需求中出现的冲突,尽可能获取全面、一致的需求;<br>\n(6)尽可能多地让用户参与需求获取过程。\n<br><br>\n【问题1】(10分)<br>\n联合需求计划(JRP)是一种流行的需求获取方法。请说明什么是JRP,JRP与其它需求获取方法相比有什么优势?\n<br><br>\n【问题2】(12分)<br>\n针对题目中所描述的需求获取要求(1)~(6),选择最适合的需求获取方法填入表1-1中的(a)~(f)处。<br>\n<img alt=\"\" width=\"499\" height=\"171\" src=\"https://image.chaiding.com/ruankao/ef72fcaba9251762313f5e3c4834cab4.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(3分)<br>\n由于该企业销售规模较大,所积累的企业业务文档数量庞大,所以只能通过抽样实现不同类型的文档分析。如果对于每种类型的文档要求90%的可信度(可信度因子为1.645),那么不同类型的文档分别需要抽样多少份就能达到该要求?","analyze":"【问题1】<br>\n联合需求计划是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是由企业主管部门经理、会议主持人、用户、协调人员、IT人员、秘书等共同组成的专题讨论组来分析、讨论问题并定义系统需求。<br>\nJRP和其他需求获取方法相比的优势:(1)发挥用户和管理人员参与系统开发过程的积极性,提高系统开发效率:(2)降低了系统需求获取的时间成本,加速系统开发周期;(3)采用原型确认系统需求并获取设计审批,具有原型化开发方法的优点。<br>\n<br>\n本题考查考生对于软件需求获取方法的掌握情况。<br>\n需求获取是一个确定和理解不同类用户的需求和约束的过程。需求获取通过系统分析师与用户的有效合作才能成功,系统分析师建立一个对问题进行彻底讨论的环境,这些问题与将要开发的系统有关。需求获取是否科学、准备充分,对获取出来的需求质量影响很大,大部分用户无法完整地描述需求,而且也不可能看到系统的全部过程。所以,准确、完整和一致的系统需求需要采用合适的方法才能获得。<br>\n掌握各种不同的需求获取技术,并且熟练地在实践中运用它,是系统分析师的必备技能。目前流行的需求获取技术主要包括用户访谈、联合需求计划(Joint Requirement Planning, JRP),问卷凋查、文档分析和实地观察等。<br>\n为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大景独立的访谈。眹合需求计划(JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是由企业主管部门经理、会议主持人、用户、协调人员、IT人员、秘书等共同组成的专题讨论组来分析、讨论问题并定义系统需求。联合需求计划是联合应用开发(Joint Application Development,JAD)的一部分。<br>\n联合需求计划是一种相对来说成本较高的需求获取方法,但也是一种有效的方法。联合需求计划将会起到群策群力的效果,对于一些问题最有歧义的时候或对需求域不清晰的领域都是十分有用的一种方法。这种方式由于鼓励用户参与,能够发挥用户和管理人员参与系统开发过程的积极性,提高系统开发效率。联合需求计划会议的参与人数为6~18人,时间为1~5小时,能够明显降低系统需求获取的时间成本,加速系统开发周期。在联合需求计划中可以通过系统原型对系统需求进行确认,便于系统获取设计审批。\n<br><br>\n【问题2】<br>\n(a)文档分析或实地观察<br>\n(b)用户访谈或联合需求计划<br>\n(c)用户访谈或联合需求计划<br>\n(d)问卷调査或文档分析<br>\n(e)联合需求计划<br>\n(f)联合需求计划 <br>\n<br>\n各种需求获取方法都有其优点和弊端,实际使用过程中,应根据不同类型的需求选择合适的需求获取方法。<br>\n(1)对于当前已有系统的理解采用文档分析和实地观察方法是最有帮助的;<br>\n(2)和(3)用户访谈和联合需求计划能够提供一些丰富而详细的信息,并且能让分析员了解信息背后的原因,便于获取更深入的需求;<br>\n(4)问卷凋查和文档分析能方便地从一大堆信息资源中获取人最的有用信息,便于获取更大范围的需求:<br>\n(5)和(6)联合需求计划能够鼓励用户参与到系统开发中,解决不同用户所提供信息之间的矛盾,便于获取全面、一致的需求。\n<br><br>\n【问题3】<br>\n每种类型的文档需要分别抽取68份。<br>\n<br>\n文档分析中通常采用抽样技术来实现大量不同类型文档的分析,确定样本数量大小是实施抽样的重要工作。样本数量大小计算公式:<br>\n样本数量=0.25x(可信度因子/错误率)<sup>2</sup><br>\n所以,对于每种类型的文档,所需要抽取的样本数量=0.25X(1.645/0.1)<sup>2</sup>≈68份。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240137322254337","title":"试题四(25分)<br>\n阅读以下关于软件系统运行与维护的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n随着信息化的发展,某银行的中心账务系统,从城市中心、省中心模式已经升级到全国中心模式。但是处理各种代收代付业务的银行中间业务系统,目前仍然采用省中心模式,由各省自行负责,使得全国中间业务管理非常困难。因此总行计划将银行中间业务系统全部升级到全国中心模式,对各省中间业务进行统一管理。\n各省行采用的银行中间业务系统,均为各省自建,或者自行开发,或者自行采购,系统的硬件平台、软件系统、数据模式等均有非常大的差异。同时,对一些全国性的代收代付业务的处理方式,各省行也存在很大的差异。为统一管理,总行决定重新开发一套全国中心模式的银行中间业务系统,用来替代各省自建的中间业务系统,但要求能够支持目前各省的所有中间业务。\n<br><br>\n【问题1】(9分)<br>\n各省已建的银行中间业务系统属于遗留系统,在如何对待遗留系统上,设计组存在两种不同的策略:淘汰策略和继承策略。请简要解释这两种策略,并说明新开发的银行中间业务系统适合采用哪种策略及其原因。\n<br><br>\n【问题2】(10分)<br>\n遗留系统和新系统之间的转换策略常见的有直接转换、并行转换和分段转换。请简要说明达三种转换策略的含义;并请结合银行中间业务的特点,说明该银行新开发的中间业务系统上线时适合采用哪种策略?为什么?\n<br><br>\n【问题3】(6分)<br>\n银行中间业务系统中,最为核心的是业务数据。因此在新旧系统切换时存在一项重要的工作:数据迁移。考虑到各省中间业务系统的巨大差异,因此需要做好数据迁移前的准备工作。请简要说明数据迁移准备工作的内容。","analyze":"【问题1】<br>\n(1) 淘汰策略:遗留系统的技术含量低,具有较低的业务价值,因此需要全面重新开发新系统以替代遗留系统;一般是企业的业务发生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员流失,维护文档资料丢失。评价后发现,开发新系统比维护与改造旧系统从成本上更经济合算。<br>\n(2) 继承策略:遗留系统技术含量低,已经满足企业运作的功能或性能要求,但有较高的业务价值,目前企业的业务尚需依赖该遗留系统。因此开发系统替代遗留系统时,需要完全兼容遗留系统的功能模型和数据模型。<br>\n适合采用的是继承策略。因为全国中心需要管理银行的全国中间业务,而目前的省中心系统从技术上不满足全国中心的需求,需要重新开发新的银行中间业务系统;同时,新系统必须支持当前各省的所有中间业务,因此必须完全兼容各省的功能模型和数据模型。<br>\n<br>\n本题考查软件系统运行与维护中的系统转换与交接的相关知识及应用。<br>\n此类题目要求考生认真阅读题目对现实问题的描述,根据实际需求,采用恰当的遗留系统的处理策略、新旧系统转换策略和数据转换与迁移办法,解决实际问题。<br>\n遗留系统是指任何基本上不能进行修改和演化以满足新业务需求变化的信息系统。在企业信息系统的升级改造过程中,如何处理和利用遗留系统,成为新系统建设的重要组成部分,处理恰当与否,直接关系到新系统的成败和开发效率。采用哪种策略来处理遗留系统,需要根据对遗留系统的所有系统特性的评价来确定。主要的评价方法包括度量系统技术水准、商业价值和与之关联的企业特征。根据技术水平和业务价值的高低,可以将遗留系统分为四类,针对不同类别的遗留系统采用不同的策略。<br>\n(1) 淘汰策略:遗留系统的技术含量低、业务价值低,应采用淘汰策略,即全面重新开发新的系统以代替遗留系统。一般是企业的业务发生根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料丢失。评价后发现,开发新系统比维护与改造旧系统从成本上更经济合算。<br>\n(2) 继承策略:遗留系统技术含量低,已经不能满足企业运作的功能或性能要求,但有较高的业务价值,目前企业的业务尚需依赖该遗留系统。因此开发系统替代遗留系统时,需要完全兼容遗留系统的功能模型和数据模型。<br>\n(3) 改造策略:遗留系统的技术含量高,业务价值高,基本上能满足企业业务运行和决策支持的需要。改造包括系统功能的增强和数据模型的改造两个方面。<br>\n(4) 集成策略:遗留系统的技术含量高,业务价值低,可能只完成某个部门的业务管理。对于整个企业而言,可能存在多个这样系统,形成了信息孤岛,因此采用集成策略。<br>\n针对本体的陈述,全国中心需要管理银行的全国中间业务,而目前的省中心系统从技术上不满足全国中心的需求,需要重新开发新的银行中间业务系统;同时,新系统必须支持当前各省的所有中间业务,因此必须完全兼容各省的功能模型和数据模型。因此建议采用集成策略。\n<br><br>\n【问题2】<br>\n直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换下现有系统。分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合,采取分期分批逐步转换。<br>\n该银行适合采用分段转换策略。一般比较大的系统采用这种方式较为适宜,它能保证平稳运行,费用也不太高;或者现有系统比较稳定,能够适应自身业务发展需要,或新旧系统转换风险很大,也可以采用分段转换策略。<br>\n<br>\n当新系统开发完毕投入运行时,要取代现有系统,就要进行系统转换。系统转换是指运用某种方式,由现有系统的工作方式向新系统工作方式的转换过程,也是系统设备、数据、人员等的转换过程。<br>\n在实施新旧系统转换时,转换的策略通常有三种。直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换现有系统。分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合,采取分期分批逐步转换。<br>\n根据题干的陈述,该银行适合采用分段转换策略。一般比较大的系统采用这种方式较为适宜,它能保证平稳运行,费用也不太高;或者现有系统比较稳定,能够适应自身业务发展需要,或新旧系统转换风险很大,也可以采用分段转换策略。\n<br><br>\n【问题3】<br>\n要做好以下7个方面的工作:<br>\n(1) 待迁移数据源的详细说明,包括数据的存放方式、数据量和数据的时间跨度。<br>\n(2) 建立新旧系统数据库的数据字典,对现有系统的历史数据进行质量分析,以及新旧系统数据结构的差异分析。<br>\n(3) 新旧系统代码数据的差异分析。<br>\n(4) 建立新旧系统数据库表的映射关系,对无法映射字段的处理方法。<br>\n(5) 开发或购买、部署ETL工具。<br>\n(6) 编写数据转换的测试计划和校验程序。<br>\n(7) 制定数据转换的应急措施。<br>\n<br>\n数据转换和迁移是新旧系统转换交接的主要工作。为使数据能平滑迁移到新系统中,在新系统设计阶段要尽量保留现有系统中合理的数据结构,尽可能降低数据迁移的工作量和转换难度。数据转换和迁移工作的原则是数据不丢失。数据迁移的主要方法有系统切换前通过工具迁移、系统切换前采用手工录入和系统切换后通过新系统生成。<br>\n数据迁移的实施可以分为三个阶段,分别是数据迁移前的准备、数据转换与迁移、数据迁移后的校验。由于数据迁移的特点,大量的工作都需要在准备阶段完成。<br>\n数据迁移的准备工作包含以下7个方面。<br>\n(1) 待迁移数据源的详细说明,包括数据的存放方式、数据量和数据的时间跨度。<br>\n(2) 建立新旧系统数据库的数据字典,对现有系统的历史数据进行质量分析,以及新旧系统数据结构的差异分析。<br>\n(3) 新旧系统代码数据的差异分析。<br>\n(4) 建立新旧系统数据库表的映射关系,对无法映射字段的处理方法。<br>\n(5) 开发或购买、部署ETL工具。<br>\n(6) 编写数据转换的测试计划和校验程序。<br>\n(7) 制定数据转换的应急措施。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240133295722497","title":"试题四(25分)<br>\n阅读以下关于数据集成的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某互联网销售企业需要建立自己的电子商务平台,将所有产品信息集中在一起,为用户提供全方位的产品信息检索服务。但产品供应商大多数已经建有自己的电子商务平台,且数据独立存储,而且数据格式和数据平台有较大差异,有的供应商甚至没有采用数据库来存储商品信息。为此该企业专门成立专家组来论证其数据集成方案。<br>\n李工提出采用集中式集成方式把产品供应商的数据集中在一起,釆用数据仓库技术来实现与各家供应商的数据集成。而王工提出采用松耦合的联邦数据库集成方案。专家组经过激烈讨论,认为王工方案更为合理,建议采用王工提出的集成方案。\n<br><br>\n【问题1】(10分)<br>\n请结合数据仓库和联邦数据库集成方案各自的特点,简要说明专家组釆用王工提出的集成方案的原因。\n<br><br>\n【问题2】(7分)<br>\n部分供应商的产品信息没有相应的数据库,而是直接嵌入在Web页面中供用户浏览。数据集成时需要直接从供应商电子商务平台的网页上获取其产品信息。请简要给出此类数据集成的方法和基本步骤。\n<br><br>\n【问题3】(8分)<br>\n在方案评审会上,项目组针对李工和王工的方案展开了激烈的讨论。刘工指出两种方案在实施的过程中,都存在数据源之间的语义映射和转换问题,都会带来数据集成的不确定。请简要说明产生不确定的原因。","analyze":"【问题1】<br>\n数据仓库集成是把多种来源的数据集中在一起,建立数据仓库,所有数据都驻留在单个数据库服务器上,配置大型处理器和存储容量。数据仓库主要用于决策支持,在数据处理过程中强调分析。其特点是:<br>\n(1)集成的数据。<br>\n(2)面向主题。<br>\n(3)数据相对稳定。<br>\n(4)包含历史信息。<br>\n联邦数据库集成是把多个数据库系统联合在一起,构成“联邦数据库系统”,数据库之间通过接口查询,互相通信,数据分布在不同地方的计算机或数据库服务器上,通过网络连接。其特点是:<br>\n(1)联邦数据库提供集成的数据格式,对用户提供统一的访问,屏蔽了各个数据库的复杂性和分布情况,简化了开发数据库查询和对数据统一理解的工作。这种分布式的数据集成,更加符合应用系统的实际情况。<br>\n(2)异构数据源不仅仅是数据库系统,通过中间件,可以扩展到传感器、文件和应用程序等。<br>\n<br>\n本题主要考查数据集成中的数据仓库方案和联邦数据库方案的内容。<br>\n本问题考查数据仓库和联邦数据库集成方案的基本概念。数据仓库集成是把多种来源的数据集中在一起,建立数据仓库,所有数据都驻留在单个数据库服务器上,配置大型处理器和存储容量。数据仓库主要用于决策支持,在数据处理过程中强调分析。其特点是:①集成的数据;②面向主题;③数据相对稳定;④包含历史信息。但是此种集成方法中需要将数据源的数据转换为数据仓库中的语义,而且需要定期的数据复制和数据更新。数据源往往指的是数据库系统。<br>\n联邦数据库集成是把多个数据库系统联合在一起,构成“联邦数据库系统”,数据库之间通过接口查询,互相通信,数据分布在不同地方的计算机或数据库服务器上,通过网络连接。其特点是:①联邦数据库提供集成的数据格式,对用户提供统一的访问,屏蔽了各个数据库的复杂性和分布情况,简化了开发数据库查询和对数据致一理解的工作。这种分布式的数据集成,更加符合应用系统的实际情况。②异构数据源不仅仅是数据库系统,通过中间件,可以扩展到传感器、文件和应用程序等。<br>\n两种方式都需要将数据源中的数据语义转换为统一数据语义,这种转换往往存在不确定性。\n<br><br>\n【问题2】<br>\n此类数据往往是非结构化或者半结构化的,但同一个数据源往往有统一的页面模式,因此应该采用Web内容提取(挖掘/文本挖掘)的集成方法来获取对应供应商的产品信息。<br>\n其基本步骤为:<br>\n(1)分析页面,确定其页面中的数据模式。<br>\n(2)抓取页面,通过爬虫技术获取对应的网页。<br>\n(3)特征提取与处理,获取相应数据。<br>\n(4)数据清洗,根据规则进行判断,抛弃异常数据。<br>\n(5)数据转换,根据预先定义好的语义映射关系,将数据转换为统一格式。<br>\n<br>\n本题主要考查数据集成中的数据仓库方案和联邦数据库方案的内容。<br>\n本问题考查Web内容提取或Web数据挖掘的相关知识。Web信息系统中的数据往往是非结构化或者半结构化的,但同一个数据源往往有统一的页面模式,但是其数据呈现是嵌入在页面中。因此需要釆用Web内容提取(挖掘/文本挖掘)的集成方法来获取对应供应商的产品信息。<br>\n其基本的步骤是:<br>\n(1)分析页面,确定其页面中的数据模式。制定数据挖掘的特征和提取规则,编写特定的页面分析和数据提取程序。<br>\n(2)抓取页面,通过爬虫技术获取对应的网页。将远端的页面下载到本地进行存储,为后续数据提取做准备。<br>\n(3)特征提取与处理,获取相应数据,依据的原则是分析页面阶段所形成的特征和提取规则。<br>\n(4)数据清洗,根据规则进行判断,抛弃异常数据。<br>\n(5)数据转换,根据预先定义好的语义映射关系,将数据转换为统一格式。<br>\nWeb内容提取的算法程序本身是近似的,因此在获取数据的内容上存在不确定性。<br>\n本题主要考查数据集成中的数据仓库方案和联邦数据库方案的内容。<br>\n本问题考查在数据集成过程存在的不确定性问题。问题1和问题2中实际已经明确了集成过程中存在不确定性。主要的原因在于数据集成系统依靠模式映射来指明数据源中的数据和中介所用数据之间的语义关系,但映射过程中可能发生不确定性。具体原因有:<br>\n(1)数据源与中介模式之间的语义映射可能是近似的。实际系统中往往很难有非常精确、完整的语义映射。<br>\n(2)用户不熟悉模式或系统的域太宽,不能提供基于表单式的查询接口,需要使用关键字查询,但将关键字查询转换成一组候选的结构化查询时,会带来不确定性。<br>\n(3)数据常常是使用信息获取技术从非结构化数据源获取的,而这些获取技术一般只是“大致可用”,所取得的数据可能是不确定的。<br>\n因此,在本试题中,无论采用数据仓库或者联邦数据库集成方案,都存在数据源之间的语义映射和转换问题,都会带来数据集成的不确定。\n<br><br>\n【问题3】<br>\n数据集成系统依靠模式映射来指明数据源中的数据和中介所用数据之间的语义关系,但映射过程中可能发生不确定性,其原因有:<br>\n(1)数据源与中介模式之间的语义映射可能是近似的。<br>\n(2)用户不熟悉模式或系统的域太宽,不能提供基于表单式的查询接口,需要使用关键字查询,但将关键字查询转换成一组候选的结构化査询时,会带来不确定性。<br>\n(3)数据常常是使用信息获取技术从非结构化数据源获取的,而这些获取技术一般只是“大致可用”,所取得的数据可能是不确定的。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240099120533505","title":"试题五(25分)<br>\n阅读以下关于Web应用系统负载均衡的问题,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n阅读以下关于Web应用系统负载均衡的问题,在答题纸上回答问题1至问题某电子商务公司的主要业务是书籍、服装、家电和日用品的在线销售。随着公司业务发展和用户规模的不断扩大,现有的网上交易系统无法正常处理日益增大的请求流量,公司决策层决定升级其网上交易系统。在对该系统的升级方案进行设计和讨论时,公司的系统分析师王工提出采用基于高性能主机系统的方法进行系统升级,另外一位系统分析师李工则提出采用基于负载均衡集群的方法进行系统升级。公司的分析师和架构师对这两种思路进行讨论与评估,最终采纳了李工的方法。\n<br><br>\n【问题1】(9分)<br>\n请从系统的可用性、可伸缩性和应用特点三个方面说明公司为何没有采用王工提出的方法。\n<br><br>\n【问题2】(8分)<br>\n负载均衡通常分为传输层负载均衡和应用层负载均衡两类。请基于这种分类方式,说明基于DNS的负载均衡方法和基于HTTP重定向服务器的负载均衡方法分别属于哪类负载均衡方法,并用200字以内的文字说明这两种方法实现负载均衡的方式。\n<br><br>\n【问题3】(8分)<br>\n在确定使用基于负载均衡集群的系统升级方法后,李工给出了一个基于LVS(Linux Virtual Server)的负载均衡集群实现方案。公司的系统分析师在对现有系统进行深入分析的基础上,认为以下两个实际情况对升级方案影响较大,需要对该方案进行改进。<br>\n1.系统需要为在线购物提供购物车功能,用来临时存放选中的产品。<br>\n2.系统需要保证向所有的VIP用户提供高质量的服务。<br>\n针对上述描述,首先说明每种情况分别会引入哪些与负载均衡相关的问题,并用200字以内的文字说明针对不同的问题,应该如何改进李工的解决方案。","analyze":"【问题1】<br>\n王工提出的方案是采用高性能的主机系统实现系统升级。从可用性角度看,采用高性能的主机系统很难实现系统的冗余机制,当发生故障后会导致整个系统会失去响应能力,从而无法保证系统的高可用性;从可伸缩性角度看,釆用高性能的主机系统,升级服务器的成本与获得的相应能力不成比例,整个系统的可扩展性较差;从应用特点来看,Internet中的Web应用绝大多数是简单任务、高强度的并发处理,而主机系统只是对于复杂单一任务和有限的并发处理具有高性能,不能同时处理大量的并发请求。因此,公司没有采用王工的方案。<br>\n<br>\n本题考查的是Web应用系统设计、维护和升级的相关内容,主要考查系统负载均衡技术。<br>\n本问题考查Web应用系统升级时的方案选择问题。在Web应用中,服务器的处理能力和IO已经成为提供应用服务的瓶颈。由于涉及的信息量非常大,用户访问频率也高,许多基于Web的大型应用系统每秒钟需要处理上百万个甚至更多的请求。显然单台服务器有限的性能难以解决这个问题。<br>\n为了解决上述问题,采用高性能的主机系统(小型机或大型机)是可行的。但是,除了其价格昂贵、可扩展性差以外,这种主机系统在很多情况下也不能同时处理上百万个并发的请求。因为高速主机系统只是对于复杂单一任务和有限的并发处理显得高性能,而Internet中的Web应用绝大多数处理是简单任务、高强度并发处理。因此,即便有大量资金投入,采用高性能、高价格的主机系统,也不能满足Web应用的需要。\n<br><br>\n【问题2】<br>\n基于DNS的负载均衡属于传输层负载均衡技术,其主要原理是在DNS服务器中为同一个主机名配置多个地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。<br>\n基于HTTP重定向服务器的负载均衡属于应用层负载均衡技术,其主要原理是服务器使用HTTP重定向指令,将一个客户端重新路由到另一个位置。服务器返回一个重定向响应,而不是返回请求的对象。客户端确认新地址然后重发请求,从而达到负载均衡的目的。<br>\n<br>\n本题考查的是Web应用系统设计、维护和升级的相关内容,主要考查系统负载均衡技术。<br>\n本问题主要考查负载均衡技术的分类和两种具体方法的掌握。负载均衡技术是集群系统中一项重要技术,可以提高集群系统的整体处理能力,也提高了系统的可靠性,最终目标是加快集群系统的响应速度,提高客户端访问的成功概率。<br>\n负载均衡通常分为传输层负载均衡和应用层负载均衡两类。基于DNS的负载均衡属于传输层负载均衡技术,其主要原理是在DNS服务器中为同一个主机名配置多个地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按质序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。基于HTTP重定向服务器的负载均衡属于应用层负载均衡技术,其主要原理是服务器使用HTTP重定向指令,将一个客户端重新路由到另一个位置。服务器返回一个重定向响应,而不是返回请求的对象。客户端确认新地址然后重发请求,从而达到负载均衡的目的。\n<br><br>\n【问题3】<br>\n第一种情况的描述说明系统需要提供应用会话数据支持。通常采用会话服务器机制在服务器端存放应用会话数据。但需要注意的是,应用会话数据大多数情况下是不可恢复的,因此釆用支持应用会话数据容错的解决方案非常重要。<br>\n第二种情况的描述要求保证特定用户的服务质量。当数据量不断增长时,由于在会话服务器或缓存服务器,业务服务器和会话(或缓存)服务器之间可能会反复移动较大量的数据,从而无法保证服务质量。因此,通常的做法是基于应用层负载均衡器实现客户端联系,将某个客户端的所有请求转发到相同的服务器,使得一个用户会话的所有请求被同一脲务器实例处理,从而保证服务质量。<br>\n<br>\n本题考查的是Web应用系统设计、维护和升级的相关内容,主要考查系统负载均衡技术。<br>\n主要考查负载均衡技术的实际应用。在实际应用中,通常会将传输层负载均衡方法与应用层负载均衡方法结合起来使用,以提高系统整体的性能、可用性和可靠性。<br>\n题干描述中,第一种情况的描述说明系统需要提供应用会话数据支持。通常采用会话服务器(session server)机制在服务器端存放应用会话数据。但需要注意的是,应用会话数据大多数情况下是不可恢复的,因此采用支持应用会话数据容错的解决方案非常重要。<br>\n第二种情况的描述要求保证特定用户的服务质量。当数据量不断增长时,由于在会话服务器或缓存服务器,业务服务器和会话(或缓存)服务器之间可能会反复移动较大量的数据,从而无法保证服务质量。因此,通常的做法是基于应用层负载均衡器实现客户端联系(client affinity),将某个客户端的所有请求转发到相同的服务器上,使得一个用户会话的所有请求被同一服务器实例处理,从而保证服务质量。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240060600045569","title":"试题二(25分)<br>\n阅读以下关于分布式存储系统设计的叙述,回答问题1至问题3。<br>\n【说明】<br>\n某软件公司开发基于云计算的分布式文档协作平台(DDCP),系统部分需求如下所示:<br>\n实现文档的分布式存储,客户端可随时随地上传和下载文档;<br>\n支持多客户端并发编辑同一文档,某个客户端所做修改会实时显示在其他客户端:<br>\n要求系统具有自我修复机制,当系统中某个节点失效时,无需人工干预能够自动实现节点替换并恢复到一致状态。<br>\n项目组经过讨论,决定采用现有的分布式文件系统作为基础架构,但在具体选用哪种设计方案时产生了分歧。王工建议采用Hadoop分布式文件系统HDFS作为系统参考架构,但张工认为Google分布式文件系统GFS更适合该系统需求。最后经过更为详细的分析和讨论,同意了张工的建议,釆用GFS作为分布式文档协作平台的文件系统架构。\n<br><br>\n【问题1】(12分)<br>\n请用300字以内的文字说明GFS和HDFS有何异同,并针对系统需求,用200字以内的文字说明选择GFS的原因。\n<br><br>\n【问题2】(8分)<br>\n针对图2-1所示DDCP基础架构,请分别说明一次数据读操作和一次并发写操作的过程。<br>\n<img width=\"366\" height=\"296\" alt=\"\" src=\"https://image.chaiding.com/ruankao/ff7857057c4cb2edc28244fdd486ee5c.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(5分)<br>\n请分别叙述采用GFS和HDFS架构,单点失效问题是如何解决的。","analyze":"【问题1】<br>\nGFS与HDFS相比的相同点是:单一控制机和多台工作机;通过数据分块和复制实现可靠性和高性能;树状文件系统结构。<br>\nGFS与HDFS相比的不同点是:多次写入和多客户端并发增加数据;Master单点失效问题;数据快照的支持;实时性支持。<br>\n针对系统需求,文档协作要求多客户端并发写入文件支持;解决主服务器单点失效问题;系统补偿操作需要数据快照。<br>\n<br>\n解析:本问题要求考生针对GFS和HDFS两种分布式文件系统架构的特点展开分析并进行总结。<br>\nGFS是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统,虽然运行在多台普通硬件设备上,但是它提供了灾难冗余的能力,为大量客户机提供高性能的服务。一个GFS集群中包含了一个单独的Master节点、多台Chunk服务器,并且同时被多个客户端访问。GFS存储的文件被分割为固定大小的Chunk并分配标识,缺省提供3个存储复制节点,Master节点管理所有的文件系统元数据,GFS客户端代码以库的形式被链接到客户程序里,无论是客户端还是Chunk服务器都不需要缓存文件数据。<br>\nHDFS是一个高度容错性的系统,能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS采用Master/Slave架构,一个HDFS集群由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的命名空间以及客户端对文件的访问,集群中的Datanode —般是一个节点一个,负责管理它所在节点上的存储。一个文件被分成一个或多个数据块,这些块存储在一组Datanode上,Namenode执行文件系统的命名空间操作并确定数据块到具体Datanode节点的映射,Datanode在Namenode的统一调度下负责处理文件系统客户端的读写请求。\n<br><br>\n【问题2】<br>\n读数据过程:<br>\n①应用程序将读数据请求发送给DDCP客户端;<br>\n②DDCP客户端访问DDCP主服务器请求所需数据位置信息;<br>\n③DDCP主服务器查询数据分块和地址信息发送给DDCP客户端;<br>\n④DDCP客户端根据地址信息向DDCP块服务器发送读数据请求;<br>\n⑤DDCP块服务器将所请求数据发送给DDCP客户端;<br>\n⑥DDCP客户端将数据转发给应用程序。<br>\n并发写数据过程:<br>\n①并发写的应用程序分别将数据和写数据请求发送给DDCP客户端;<br>\n②DDCP客户端依次访问DDCP主服务器请求所写数据位置信息;<br>\n③DDCP主服务器依次查询数据分块和地址信息发送给DDCP客户端;<br>\n④DDCP客户端将所要写入的数据重新组织,将属于同一个DDCP块服务器的数据按照分组报文和分组序列信息发送给DDCP块服务器数据缓存(Primary);<br>\n⑤DDCP客户端将所写数据按照分组报文发送给DDCP块服务器数据缓存(Secondary);<br>\n⑥DDCP块服务器数据缓存(Primary)按照分组序列将数据写入到DDCP块服务器数据块(Primary);<br>\n⑦DDCP块服务器(Primary)将分组序列发送给DDCP块服务器(Secondary);<br>\n⑧DDCP块服务器数据缓存(Secondary)按照分组序列将数据写入DDCP块服务器数据块(Secondary);<br>\n⑨DDCP块服务器(Secondary)将写入完成信息发送给DDCP块服务器(Primary);<br>\n⑩DDCP块服务器数据(Primary)将写数据完成信息发送给DDCP客户端。<br>\n<br>\n【解析】<br>\n本问题要求考生认真分析图中给出的DDCP系统架构,依据图中节点之间的数据传输关系描述数据传输过程。<br>\n读数据的过程:应用程序将读数据请求发送给客户端后,客户端访问主服务器请求所需数据位置信息,主服务器查询数据分块和地址信息返回给客户端,客户端根据地址信息向块服务器发送读数据请求,块服务器将所请求数据发送给客户端,客户端将数据转发给应用程序。<br>\n写数据的过程:应用程序分别将数据和写数据请求发送给客户端,客户端依次访问主服务器请求所写数据位置信息,主服务器依次查询数据分块和地址信息发送给客户端,客户端将所要写入的数据重新组织,将属于同一个块服务器的数据按照分组报文和分组序列信息发送给块服务器数据缓存(Primary),客户端将所写数据按照分组报文 发送给块服务器数据缓存(Secondary),块服务器数据缓存(Primary)按照分组序列将 数据写入到块服务器数据块(Primary),块服务器(Primary)将分组序列发送给块服务器(Secondary),块服务器数据缓存(Secondary)按照分组序列将数据写入块服务器数据块(Secondary),块服务器(Secondary)将写入完成信息发送给块服务器(Primary), 块服务器数据(Primary)将写数据完成信息发送给客户端。\n<br><br>\n【问题3】<br>\nGFS中釆用主从模式备份Master的系统元数据,当主Master失效时,可以通过分布式选举备机接替主Master继续对外提供服务,而由于复制及主备切换本身有一定的复杂性,HDFS Master的持久化数据只写入到本机(可能写入多份存放到Master机器的多个磁盘中防止某个磁盘损害),出现故障时需要人工介入。<br>\n<br>\n解析:本问题要求应试者掌握单点失效问题产生的原因,并能够结合GFS和HDFS架构的特点进行分析,说明所采用的解决方法。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240094976561153","title":"试题五(25分)<br>\n阅读以下关于Web应用系统开发的问题,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\nA公司承担了某企业应用系统的开发任务,用户要求系统最终应发布到Web上供企业员工及企业客户使用。项目组在进行方案论证时,首先肯定了该系统需使用B/S结构,但在系统应采用的底层平台上产生了分歧,一方认为应采用微软.NET平台,一方认为应采用Java企业版平台。经过认真讨论,结合两种平台的特点及项目的实际需求,项目组 最终决定采用Java企业版平台作为系统开发运行的基础平台。\n<br><br>\n【问题1】(9分)<br>\n请在以下平台特点(1)~(9)中,选择出.NET平台与Java企业版平台各自具备 的优势填入表5-1的(a)~(f)项中,选择出两个平台共有的特点填入表5-1的(g)~(i)项中。\n(1)良好跨平台可移植性支持<br>\n(2)易于部署与配置<br>\n(3)多程序设计语言支持<br>\n(4)良好的Web多层应用开发支持<br>\n(5)丰富的多厂商外部支持<br>\n(6)良好的0/R (对象/关系)映射支持<br>\n(7)针对特定平台的优化支持<br>\n(8)良好的源代码以外的可定制性支持<br>\n(9)良好的Web服务支持<br>\n<img alt=\"\" width=\"549\" height=\"162\" src=\"https://image.chaiding.com/ruankao/829f01bd0da1c110ad2ef551963a73ce.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(8分)<br>\nMVC (Model View Controller)模式是Web应用系统开发中常用的一种软件架构模式。请分别针对基于EJB的重量级框架和基于Struts等的轻量级框架,说明MVC模式中的各组件应采用何种构件实现。<br>\n项目组在进行需求调研时,发现用户界面部分的变动可能会比较频繁,因此需要降低系统界面与业务逻辑之间的稱合度。MVP(Model View Presenter)模式是由MVC模式派生出的一种设计模式,其主要目的是降低MVC模式中模型(Model)与视图(View)的耦合度,请用300字以内文字,从组件耦合度、组件分工及对开发工程化支持等三方面说明MVP模式与MVC模式的主要区别。\n<br><br>\n【问题3】(8分)<br>\n因为系统中大量业务逻辑涉及企业的核心商业数据,为保证系统数据一致性,完善的事务(Transaction)控制是系统实现时必需考虑的重要因素之一。请用200字以内文字说明事务的基本特征,并简单描述EJB规范中提供的两种事务控制的基本方法。","analyze":"【问题1】<br>\n(a)~(c): (2)、(3)、(7),以上三个答案顺序可调换。<br>\n(d)~(f): (1)、(5)、(8),以上三个答案顺序可调换。<br>\n(g)~(i): (4)、(6)、(9),以上三个答案顺序可调换。<br>\n<br>\n解析:本题主要考查.NET和J2EE平台的区别,考生需要从跨平台可移植性、部署与配置、多程序设计语言支持、Web多层应用开发支持、多厂商外部支持、O/R (对象/关系)映射支持、针对特定平台的优化支持、源代码以外的可定制性支持以及Web服务支持等方面作答。\n<br><br>\n【问题2】<br>\n在基于EJB的重量级框架中,实现的构件分别为:<br>\n•模型(Model):由EJB构件实现。<br>\n•视图(View):由JSP构件实现。<br>\n•控制器(Controller):由Servlet构件实现。<br>\n在基于Struts等的轻量级框架中,实现的构件分别为:<br>\n•模型(Model):由Java Bean构件实现。<br>\n•视图(View):由JSP构件实现。<br>\n•控制器(Controller):由Servlet构件实现。<br>\nMVP模式与MVC模式的主要区别为:<br>\n(1)在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离;而在MVC模式中,视图直接与模型交互。<br>\n(2)在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件;而在MVC模式中,这通常是由控制器完成的工作。在MVP模式中,系统核心业务逻辑组织集中在Presenter中;而在MVC模式中,相应的控制器通常只完成事件的分发。<br>\n(3)在开发工程化支持方面:MVP模式可更好地支持单元测试;而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试。在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。<br>\n<br>\n解析:本题主要考查MVC和MVP模式的区别。MVC模式是Web应用系统开发中常用的一种软件架构模式,包括基于EJB的重量级框架和基于Struts等的轻量级框架等。MVP模式与MVC模式的主要区别为:<br>\n在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离;而在MVC模式中,视图直接与模型交互。<br>\n在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件;而在MVC模式中这通常是由控制器完成的工作。在MVP模式中,系统核心业务逻辑组织集中在Presenter中;而在MVC模式中,.相应的控制器通常只完成事件的分发。<br>\n在开发工程化支持方面:MVP模式可更好地支持单元测试;而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试。在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。\n<br><br>\n【问题3】<br>\n事务的基本特征包括:<br>\n•原子性。一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。<br>\n•一致性。在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。<br>\n•隔离性。两个事务的执行是互不干扰的,两个事务时间不会互相影响。<br>\n•持久性。在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。<br>\nEJB规范支持的两种事务控制方法为:<br>\n•容器维护的事务(Container Managed Transaction, CMT)。由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生 系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。<br>\n•Bean维护的事务(Bean Managed Transaction,BMT)。由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。<br>\n<br>\n本题主要考查事务的基本特征和EJB规范中提供的事务控制的基本方法。事务的基本特征包括:<br>\n•原子性。一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。 <br>\n•一致性。在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。<br>\n•隔离性。两个事务的执行是互不干扰的,两个事务时间不会互相影响。<br>\n•持久性。在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。<br>\nEJB规范支持的两种事务控制方法为:<br>\n•容器维护的事务(Container Managed Transaction, CMT)。由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生 系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。<br>\n•Bean维护的事务(Bean Managed Transaction,BMT)。由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240001665880065","title":"试题一(25分)<br>\n阅读以下关于软件项目可行性分析方面的叙述,回答问题1至问题4。<br>\n【说明】<br>\n某信息技术公司拟开发一套新的信息系统,以提高公司业务运作的效率。按照公司总裁的要求,公司软件开发部系统分析人员张工和李工对新系统方案的各项可行性指标进行分析,重点分析了新系统方案的经济可行性。张工根据财务部门提供的各项数据给出了项目的投资回收表如下表1所示。<br>\n<img width=\"629\" height=\"185\" alt=\"\" src=\"https://image.chaiding.com/ruankao/8666037212f80e5cc6b2e34153da9961.jpg?x-oss-process=style/ruankaodaren\"><br>\n&nbsp;&nbsp;&nbsp; 通过对上面数据进行分析,计算出项目的投资回收期是2.75年。李工对此提出了自己的观点,认为应该基于货币时间价值来计算各项数据,并给出了在贴现率是12%时的投资回收表如下表2所示,其中“***”表示此处的数据未给出。<br>\n<img width=\"619\" height=\"202\" alt=\"\" src=\"https://image.chaiding.com/ruankao/4d4f7a42c579ce87194e106df633d7da.jpg?x-oss-process=style/ruankaodaren\"><br>\n大家经过讨论,认为李工给出的投资回收表中的数据更为合理,并将其作为系统方案建议书的部分内容上报公司管理层。\n<br><br>\n【问题1】(8分)<br>\n请简要说明系统分析中可行性分析包括哪几个方面,并简要说明其具体含义。\n<br><br>\n【问题2】(6分)<br>\n在系统生命周期内,运行系统的成本可按照固定成本和可变成本分类。请判断下列费用的成本类型及理由。<br>\n(1)系统设计工具软件的许可证费用:<br>\n(2)计算机使用时的开销;<br>\n(3)信息系统操作人员的工资;<br>\n(4)购买的光盘和闪存等存储设备花费。\n<br><br>\n【问题3】(5分)<br>\n请利用现值计算公式计算相应的数值并填入表1-2中的(1)~(8)内,并根据李工的数据计算项目的投资回报期。\n<br><br>\n【问题4】(4分)<br>\n请结合张工和李工给出的投资回收表,用200以内文字简要解释货币时间价值及其意义。","analyze":"【问题1】<br>\n可行性分析包括:<br>\n(1)运行/操作可行性:对方案满足新系统需求程度的度量;<br>\n(2)技术可行性:是对一种特定技术方案的现实性及技术资源和专家的可用性的度量;<br>\n(3)进度可行性:对项目时间表的合理性的度;<br>\n(4)经济可行性:对项目或者方案的成本效益的度量。<br>\n<br>\n优秀的系统分析师在建议任何改变之前会全面地评价系统解决方案,可行性评价准则是客观评价解决方案的基础。可行性分析(运行可行性、技术可行性、进度可行性和经济可行性)是对组织将要开发的信息系统的价值或实用性的度量过程。利用可行性分析可以对不同的解决方案进行比较选择,并且能够保证组织对于系统投入的价值收益以避免项目失败的风险。可行性分析的能力是系统分析员必备的素质。<br>\n本题主要考査应试者对于可行性分析方法的掌握情况,特别是作为可行性准则中的经济可行性度量主要方法的成本效益分析技术。本题结合一个典型的实际项目案例,首先要求应试者简要说明可行性分析的准则及度量目标;进一步考查经济可行性分析中对于成本的计算;最后利用投资收益分析技术能够对实际项目中的成本和收益进行分析,计算项目的投资回报期。<br>\n本题要求应试者能够理解可行性分析的准则及内容,包括运行可行性、技术可行性、进度可行性和经济可行性等准则。\n<br><br>\n【问题2】<br>\n固定成本是指有规律的、但相对固定的费用;可变成本是与某些使用因素成比例的费用。<br>\n(1) 固定成本:有效期内一次性付出的成本;<br>\n(2) 可变成本:根据计算机工作时的负载而变化;<br>\n(3) 固定成本:工资的变化是逐渐的而且通常不会发生很大的变化;<br>\n(4) 可变成本:供应材料会按照工作量比例而变化<br>\n<br>\n优秀的系统分析师在建议任何改变之前会全面地评价系统解决方案,可行性评价准则是客观评价解决方案的基础。可行性分析(运行可行性、技术可行性、进度可行性和经济可行性)是对组织将要开发的信息系统的价值或实用性的度量过程。利用可行性分析可以对不同的解决方案进行比较选择,并且能够保证组织对于系统投入的价值收益以避免项目失败的风险。可行性分析的能力是系统分析员必备的素质。<br>\n本题主要考査应试者对于可行性分析方法的掌握情况,特别是作为可行性准则中的经济可行性度量主要方法的成本效益分析技术。本题结合一个典型的实际项目案例,首先要求应试者简要说明可行性分析的准则及度量目标;进一步考查经济可行性分析中对于成本的计算;最后利用投资收益分析技术能够对实际项目中的成本和收益进行分析,计算项目的投资回报期。<br>\n成本计算是进行经济可行性分析的重要内容,如何计算成本以及确定所需要计算的成本的范围是保证经济可行性分析正确的基础。本题要求应试者能够正确理解成本的概念,包括固定成本和可变成本。由于在成本计算中固定成本和可变成本的计算方式不同,要求应试者能够根据成本确定其所属的类别。\n<br><br>\n【问题3】<br>\n(1)0.893(2)0.797(3)457 131(4)468 579<br>\n(5)479 352(6)404 720(7)538 280(8)668 690<br>\n从表2可以看出,项目的投资回收期在第3年和第4年之间,经过计算,投资回收期约为3.43。<br>\n<img alt=\"\" width=\"296\" height=\"53\" src=\"https://image.chaiding.com/ruankao/e7f21033d291036558cc83ebead0257b.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n优秀的系统分析师在建议任何改变之前会全面地评价系统解决方案,可行性评价准则是客观评价解决方案的基础。可行性分析(运行可行性、技术可行性、进度可行性和经济可行性)是对组织将要开发的信息系统的价值或实用性的度量过程。利用可行性分析可以对不同的解决方案进行比较选择,并且能够保证组织对于系统投入的价值收益以避免项目失败的风险。可行性分析的能力是系统分析员必备的素质。<br>\n本题主要考査应试者对于可行性分析方法的掌握情况,特别是作为可行性准则中的经济可行性度量主要方法的成本效益分析技术。本题结合一个典型的实际项目案例,首先要求应试者简要说明可行性分析的准则及度量目标;进一步考查经济可行性分析中对于成本的计算;最后利用投资收益分析技术能够对实际项目中的成本和收益进行分析,计算项目的投资回报期。<br>\n本题要求应试者能够准确掌握成本效益分析技术,投资回收分析技术是成本效益分析的一种有效方法。投资回收期是决定项目是否值得投资的重要因素,要求应试者能够利用成本和效益数据计算投资回收期的近似值。要使得计算结果更加准确,就需要考虑货币时间价值因素,利用现值计算公式将将来的货币价值转变为现值进行计算。\n<br><br>\n【问题4】<br>\n货币的时间价值是指当前所持有的一定量货币比未来获得的等量货币具有更高的价值。<br>\n从经济学角度而言,现在的一单位货币与未来的一单位货币的购买力之所以不同,是因为要节省现在的一单位货币不消费而改在未来消费,则在未来消费时必须有大于一单位的货币可用于消费,作为弥补延迟消费的贴水。<br>\n<br>\n优秀的系统分析师在建议任何改变之前会全面地评价系统解决方案,可行性评价准则是客观评价解决方案的基础。可行性分析(运行可行性、技术可行性、进度可行性和经济可行性)是对组织将要开发的信息系统的价值或实用性的度量过程。利用可行性分析可以对不同的解决方案进行比较选择,并且能够保证组织对于系统投入的价值收益以避免项目失败的风险。可行性分析的能力是系统分析员必备的素质。<br>\n本题主要考査应试者对于可行性分析方法的掌握情况,特别是作为可行性准则中的经济可行性度量主要方法的成本效益分析技术。本题结合一个典型的实际项目案例,首先要求应试者简要说明可行性分析的准则及度量目标;进一步考查经济可行性分析中对于成本的计算;最后利用投资收益分析技术能够对实际项目中的成本和收益进行分析,计算项目的投资回报期。<br>\n本题要求应试者能够理解货币时间价值的概念及其在项目投资回报分析中的作用。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240032401739777","title":"试题三(25分)<br>\n阅读以下关于嵌入式系统软件设计的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件公司长期从事移动智能终端设备等嵌入式软件研制工作,积累了丰富的嵌入式软件开发经验。某日,该公司经理派在嵌入式软件开发方面已具有很强经验的王工程师到某宇航设备研制单位洽谈一项软件合作项目,但是,在与对方洽谈需求时王工程师感觉沟通并不顺畅,许多概念较难达成一致。主要原因是王工程师长期从事移动智能终端的软件开发,开发平台主要是Android操作系统,开发语言是Java,而这次洽谈是王工程师第一次接触宇航系统软件,对于其特殊需求和要求缺少相关知识积累,不了解强实时、高安全和高可靠嵌入式软件设计等方面应用。\n<br><br>\n【问题1】(7分)<br>\n王工程师与某宇航设备研制单位洽谈的业务,涉及到了嵌入式系统的知识。根据你的理解请用100宇以内文字说明嵌入式系统的主要特点。\n<br><br>\n【问题2】(8分)<br>\n王工程师到某宇航设备研制单位洽谈软件项目时,宇航设备研制单位技术人员提出了以下需求:此宇航设备主要面向无人飞行器,用于飞行姿态控制,实现飞行器的自主起飞和着陆,要求应用软件按最高安全等级(即A级软件要求)开发。为了提高飞行器系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足宇航设备要求的嵌入式操作系统,并在操作系统之上开发飞行器控制软件。请根据你对嵌入式操作系统选择方法的理解,判断表3-1给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。<br>\n<img alt=\"\" width=\"432\" height=\"601\" src=\"https://image.chaiding.com/ruankao/bf3a38672b66a30e1b8f213ff97f3d44.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(10分)<br>\n请用300字以内文字,说明宇航设备的嵌入式软件与移动智能终端嵌入式软件在安全性(safety)、实时性、交互性设计和编码方面的要求有何差异,请填写表3-2中的空格(1)~(8),将解答写在答题纸的对应栏内。<br>\n<img alt=\"\" width=\"548\" height=\"136\" src=\"https://image.chaiding.com/ruankao/7c6d4fd86bb1f2fddd1980754306b122.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n(1) 系统专用性强。<br>\n(2) 系统实时性强。<br>\n(3) 系统可靠性高。<br>\n(4) 系统安全性强。<br>\n(5) 软硬件依赖性强。<br>\n(6) 处理器专用。<br>\n(7) 多种技术紧密结合。<br>\n(8) 系统透明性。<br>\n(9) 系统资源受限。<br>\n(10) 系统追求低功耗。<br>\n(11) 系统环境适应能力强。<br>\n<br>\n本题主要考查考生对装备控制类嵌入式软件开发知识的理解和应用。<br>\n本题通过一个实例,说明移动智能终端设备的软件与装备控制类软件在需求方面存在比较大的差异,实时性、安全性和可靠性是装备控制类软件开发必须重点关注的特性。<br>\n本题首先考查考生对传统意义上的嵌入式系统知识的理解程度;其次通过判定题考查考生能否针对装备控制类系统需求,选择合适的嵌入式操作系统;最后通过填空回答宇航设备(装备控制类)的嵌入式软件与移动智能终端嵌入式软件在安全性(Safety)、实时性、交互性设计和编码方面的要求有何差异。此类题目要求考生认真阅读题目对问题的描述,根据对嵌入式系统知识的理解,采用总结、概括等的方式,可从问题描述中发现问题的相关性,从而正确回答问题。<br>\n嵌入式系统是一种可深埋在某一专用设备中的系统。一般而言,由于设备的体积、重量和功耗的限制,嵌入式系统将受到多种条件和环境的制约,这也对嵌入式系统提出了有别于其他计算机系统的特殊要求。通常,嵌入式系统具备以下7个特点:<br>\n(1) 系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。<br>\n(2) 系统实时性强。许多嵌入式系统对外部事件要求在限定的时间内及时作出响应,具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实施嵌入式系统。<br>\n(3) 软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。<br>\n(4) 处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。通常具备功耗低、体积小和集成度高等特点,能够将许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。<br>\n(5) 多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术,但它们相互结合的紧密程度不及嵌入式系统。<br>\n(6) 系统透明性。嵌入式系统在形态上与通用计算机系统差距甚大。它的输入设备往往不是常见的鼠标和键盘之类的设备,甚至不用输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。<br>\n(7) 系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、I/O设备的数量和处理能力都比较有限。\n<br><br>\n【问题2】<br>\n(1)✓ (2)× (3)✓ (4)✓ (5)✓ (6)✓ (7)× (8)✓<br>\n<br>\n本问题主要要求考生在理解宇航系统的特殊性基础上,判断表3-1中给出的8种选型观点是否正确。<br>\n(1) 在工程实践中,不是市场上销售的任何一款操作系统都能适用工程需要,要选.择一款适应的产品必须从项目需求入手。因此,“选择操作系统根据项目(系统)需要的嵌入式操作系统功能来选择操作系统产品,要考虑系统需求是否覆盖了操作系统的全部功能或部分功能,是否支持文件系统和人机界面,是实时系统还是分时系统”的说法是正确的。<br>\n(2) 嵌入式操作系统通常根据对时间的敏感性分为硬实时操作系统和弱实时操作系统两类,即使在微电子快速发展的今天,随着处理器计算速度的提升,人们赋予计算机处理事务的能力也在增强,因此,传统的嵌入式操作系统分类方法仍然满足现在需求。所以,“在微电子技术高速发展的今天,硬件资源受限已不再是嵌入式系统设计的难点,通常的嵌入式操作系统都能满足各类嵌入式系统的需要”的说法是不正确的。<br>\n(3) 选择操作系统的目的是提高嵌入式软件开发效率,将应用软件的开发从与硬件相关分离出来。因此选择操作系统时除了考虑操作系统能力与项目需求相匹配外,还要充分考虑配套开发环境的优劣。因此,“有些RTOS只支持该系统供应商的开发工具。也就是说,还必须向操作系统供应商获取编译器和调试器等;有些嵌入式操作系统使用广泛,且有第三方工具可用,因此,选择的余地比较大”的说法是正确的。<br>\n(4) 嵌入式操作系统主要功能就是管理计算机硬件资源的,它与硬件资源耦合度很高,操作系统的可移植性也是选择操作系统的条件之一。因此,“嵌入式操作系统到硬件的移植是一个重要的问题,是整个系统能否按期完工的关键因素,因此,要选择那些可移植性程度高的产品,从而避免嵌入式操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度”的说法是正确的。<br>\n(5) 可剪裁性和可配置性是嵌入式操作系统主要特性之一,在选择操作系统时一定要考虑资源的剪裁性优劣,用户应根据项目应用需求分配资源,而不是为操作系统分配资源。因此,“均衡考虑是否需要额外RAM或EEPROM来满足操作系统对内存的较大要求。有些嵌入式操作系统对内存的要求是与目的相关的,如VxWorks等,开发人员能够按照应用需求分配所需资源,而不是为嵌入式操作系统分配资源”的说法是正确的。<br>\n(6) 选择操作系统还要考虑对扩展功能的支持能力,可剪裁的组件越丰富,操作系统的适用面就越大,因此,“嵌入式操作系统是否包含所需的软件部件,例如网络协议栈、文件系统和各种常用外设的驱动等,也是选择嵌入式操作系统重点关注的”的说法是正确的。<br>\n(7) 宇航系统是一种高安全系统,其核心目标是保障宇航设备安全、可靠运行,操作系统的质量好坏,直接影响宇航设备的安全,成熟度是宇航系统选择操作系统的重要因素之一。因此,“在宇航系统中,一般选择嵌入式操作系统时,首先要考虑的是产品的先进性,希望采用更多新技术、新方法,其次才是开放性、成熟度”的说法是不正确的。<br>\n(8) 硬实时系统和弱实时系统有着本质差别,因此,“有些嵌入式操作系统只能提供弱实时性能,对于需要达到硬实时性性能要求的系统就不适用”的说法是正确的。<br>\n(1) 宇航软件通常根据软件所在设备的失效而对系统安全性(Safety)影响的严重程度分为多种安全级别(如:A~E五级),而不同安全级别的软件开发过程有其不同的要求。<br>\n(2) 移动智能终端中的软件主要用于辅助人们工作与生活,一般不会对生命产生直接影响,它没用安全级别之分。<br>\n(3) 为了提高实时性,宇航软件设计上要充分考虑与硬件的紧密协同,尽可能地有效发挥硬件特点,在设计上要仔细考虑将实时性能需求分解到每个软件部件中。<br>\n(4) 移动智能终端软件属于弱实时系统,对时间特性不敏感,达到人们可容忍即可(1分)。设计上尽量避免软件与硬件紧耦合。<br>\n(5) 宇航软件大多数属于非人机交互系统,关注重点是安全性和可靠性设计。<br>\n(6) 移动智能终端软件设计上重点关注的是人机界面友好性、简洁性,注重用户体现。<br>\n(7) 宇航软件编码要遵守语言标准,尤其是应按照高级语言的安全子集标准开展编码,对代码函数的语句条数、扇入扇出、圈复杂度等影响代码质量因素都有严格规定。<br>\n(8) 移动智能终端软件编码虽然也要遵循一定的编码标准,但在安全编码、扇入扇出、圈复杂度等方面没有严格要求。<br>\n<br>\n如果考生能够正确回答前两个问题后,就可对宇航系统软件的特殊性有所了解,如果考生从事过高安全系统的软件开发工作,一定会从安全性、实时性、交互性和编码等方面识别出宇航软件与智能终端软件的开发过程中的差别,正确回答出问题。\n<br><br>\n【问题3】<br>\n(1) 安全性:宇航软件通常根据软件所在设备失效而对系统安全性(Safety)影响的严重程度分为多种安全级别(如:A~E五级),而不同安全级别的软件开发过程有其不同的要求;而移动智能终端中的软件主要用于辅助人们工作与生活,一般不会对生命产生直接影响,它不适用安全级别之分。<br>\n(2) 实时性:为了提高实时性,宇航软件设计上要充分考虑与硬件的紧密协同,尽可能地有效发挥硬件特点,在设计上要仔细考虑将实时性能需求分解到每个软件部件中;而移动智能终端软件属于弱实时系统,对时间特性不敏感,达到人们可容忍即可,设计<br>\n上尽量避免软件与硬件紧耦合。<br>\n(3) 交互性:宇航软件大多数属于非人机交互系统,关注重点是安全性和可靠性设计;而移动智能终端软件设计上重点关注的是人机界面友好性、简洁性,注重用户体现。<br>\n(4) 编码:宇航软件编码要遵守语言标准,尤其是应按照高级语言的安全子集标准开展编码,对代码函数的语句条数、扇入扇出、圈复杂度等影响代码质量因素都有严格规定;而移动智能终端软件编码虽然也要遵循一定的编码标准,但在安全编码、扇入扇出、圈复杂度等方面没有严格要求。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240067063468033","title":"试题二(25分)<br>\n阅读以下关于系统业务架构分析的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某集团下属煤矿企业委托软件公司开发一套煤炭运销管理系统,该系统属于整个集团企业信息化架构中的业务层,系统针对煤矿企业开发,包括合同管理、磅房管理、质检化验、运费结算等功能。部分业务详细描述如下:<br>\n(1)合同管理:合同签订、合同查询、合同跟踪等。<br>\n(2)磅房管理:系统可以从所有类型的电子磅自动读数;可以自动从电子磅上读取车辆皮重、毛重,计算出净重;可根据合同内容自动减少相应提货单剩余数量,如果实际发货量超过合同额则拒绝发货。<br>\n(3)质检化验:根据过磅单、车号,生成化验分析委托单,生成化验分析报告。<br>\n(4)运费结算:依据过磅单上的净重、化验单、合同规定,自动计算出原料结算单、运费结算单。<br>\n煤矿企业根据集团的工作计划制订本企业的业务计划,煤矿企业根据集团划拨指标和提供的原料生产煤炭,所生产的煤炭交由集团统一管理和销售给客户。软件公司采用Zachman框架对企业业务架构和业务过程进行分析,结果如表2-1所示。<br>\n<img alt=\"\" width=\"470\" height=\"295\" src=\"https://image.chaiding.com/ruankao/d786a34f09629bacf6800e9d24b0c7e9.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题1】(13分)<br>\nZachman框架是什么?请在表2-1中(a)-(e)位置补充企业业务架构中的信息类别。\n<br><br>\n【问题2】(8分)<br>\n项目组在该煤炭企业业务架构分析中完成了四项主要工作:数据流图、实体联系图、网络拓扑结构和计划时间表,这四项工作在表2-1中处于什么位置,请用表2-1中的位置编号表示。\n<br><br>\n【问题3】(4分)<br>\n据题目所述业务描述,请分别给出表2-1中A11和A23位置应该填入的内容。(物流关系用“→”表示)","analyze":"【问题1】<br>\nZachman框架综合考虑企业业务架构中不同角色的不同观点,提出了一个多视角、多维度的企业架构,是许多大公司用来理解、表述企业信息基础设施的一种可以理解的信息表述,为企业现在以及未来的信息基础设施建设提供蓝图和架构。<br>\n(a) What/数据<br>\n(b) How/功能/行为<br>\n(c) Where/位置/网络<br>\n(d) Who/人员/组织<br>\n(e) Why/动机<br>\n<br>\n本题考查考生对于系统业务架构分析方法的掌握情况。<br>\n系统业务架构对企业业务和IT系统进行建模,企业业务的重点是流程和数据,IT系统的重点是应用和技术。Zachman框架全称为企业架构和企业信息系统架构,是一种逻辑结构,它为信息技术企业提供一种可以理解的信息表述,可以对企业信息按照要求分类和从不同角度进行表不。在一个Zachman表格中,有36个方格,每个方格就是一个角色和每个描述焦点的交汇。在表格中水平移动时,能够从同一个角色的角度,看到系统的不同描述。当在表格中竖直移动时,会看到从不同角色的角度,观察同一个焦点。<br>\n掌握系统业务架构分析方法是系统分析师的重要技能,Zachman框架作为一种重要的业务架构分析技术,能够从不同角度和侧面分析系统的业务和IT系统信息。<br>\nZachman框架综合考虑企业业务架构中不同角色的不同观点,提出了一个多视角、多维度的企业架构,是许多大公司用来理解、表述企业信息基础设施的一种可以理解的信息表述,为企业现在以及未来的信息基础设施建设提供蓝图和架构。纵向的功能视图包括目标范围、企业模型、系统模型、技术模型、详细展现和功能系统,横向的关注点包括数据、功能、位置、人员、时间和动机。\n<br><br>\n【问题2】<br>\n(1) 数据流图:A32<br>\n(2) 实体联系图:A31<br>\n(3) 网络拓扑结构:A53<br>\n(4) 计划时间表:A25<br>\n<br>\n根据题目表格中给出的Zachman框架、实体联系图和数据流图,分别对系统中的数据和功能进行建模,描述了系统的数据模型和功能模型,在表格中的位置为A31和A32。计划时间表是从时间的角度描述企业的业务活动,在表格中的位置为A25。网络拓扑结构是从网络角度描述企业业务系统的详细展现方式,在表格中的位置为A53。\n<br><br>\n【问题3】<br>\n(1) A11项目关键元素:合同/合同管理、过磅/磅房管理、质检/质检化验、结算/运费结算。<br>\n(2) A23业务物流网络:煤矿企业←→集团→客户。<br>\n<br>\n根据题目表格中给出的Zachman框架,All为项目关键元素,是从数据角度描述企业业务目标和范围,通过分析需求陈述,企业业务中关键元素包括合同、过磅、质检和结算。A23为业务物流网络,是从网络角度描述企业的业务模型,通过分析需求陈述,煤矿企业和集团之间存在双向物流,煤炭最终从基团流向客户。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240037032251393","title":"试题三(25分)<br>\n阅读以下嵌入式多核程序设计技术方面的叙述,回答问题1至问题3。<br>\n【说明】<br>\n甲公司承担了一项为宇航系统配套生产高性能嵌入式计算机系统的任务,用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,并可以有效地防止系统故障的蔓延。根据用户对本项目的要求,甲公司成立了软/硬件两个项目组,总体设计由硬件组承担,负责高性能嵌入式计算机系统体系结构设计,软件组负责确定软件的技术需求和应用软件开发平台的软件设计工作。<br>\n在处理器选型方面,硬件组王工与软件组张工在讨论采用哪种CPU体系结构方面发生争议。目前,流行的处理器结构包括了单核结构、多处理器结构、超线程结构、多核结构、共享Cache的多核结构和超线程技术的多核结构六种,如下图所示。\n<br><br>\n【问题1】(11分)<br>\n王工提出,根据用户要求,本嵌入式系统应具有高速并行处理能力,采用多处理器结构比较适合,主要理由是多处理器结构设计简单、可支持多个进程在不同处理器上并发处理;而张工提出,必须分清“多处理器结构”与“多核结构”的优点和缺点,多处理器结构虽然支持多进程的并发处理,但没有直接实现多线程并发执行;多核结构可以直接实现多线程并发执行。要提高应用的并行性就必须利用多个硬件资源的并行工作,建议采用超线程技术的多核结构的处理器。请填写下图(f)中的(1)~(8),并用300字以内的文字对上述六种处理器结构的工作原理进行简要描述。<br>\n<img width=\"541\" height=\"516\" alt=\"\" src=\"https://image.chaiding.com/ruankao/fda39b0142911aa0026b802fa0803ee0.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(9分)<br>\n在本项目中,如果计算机采用了多线程技术实现应用程序的并发操作,程序设计人员将面临多种挑战,其主要原因在于:程序会同时发生多个动作,对这些同时发生的动作以及它们之间的交互进行管理将面临四方面的挑战,即同步、通信、负载均衡和可伸缩性,用200字以内的文字对上述四种挑战进行简要描述,并给出下表1所述的常用并发程序设计模式的分解方式。<br>\n<img width=\"617\" height=\"163\" alt=\"\" src=\"https://image.chaiding.com/ruankao/22fadbb086e3b18a1a9a279cfef951b1.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(5分)<br>\n为了防止系统故障的蔓延,解决应用进程向的相互影响,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,请用200字以内的文字说明选择的操作系统应具备哪些主要功能。","analyze":"【问题1】<br>\n第一问<br>\n<img width=\"369\" height=\"143\" alt=\"\" src=\"https://image.chaiding.com/ruankao/80cc1b465ef489188912e2d3d55e7f15.jpg?x-oss-process=style/ruankaodaren\"><br>\n第二问<br>\n(1)单核结构:计算机中仅有一个物理处理器,不支持应用软件的并行执行,因为在任何时间点上,CPU都只能执行一个指令流。<br>\n(2)多处理器结构:支持真正意义上的并行执行,因为多个线程或进程能够在多个处理器上同时执行。<br>\n(3)超线程结构(SMT):实际上计算机中只有一个实际的物理处理器,但从软件角度来看,存在多个逻辑处理器,支持操作系统和应用程序将多个线程调度到多个逻辑处理器上,就像多处理器系统一样。从微体系结构的角度看,逻辑处理器的指令是固定的,并且在共享的执行资源上同时执行。<br>\n(4) 多核结构:采用单芯片多处理器(CMP)的设计,此种结构不是重用单个处理器中某些处理器资源,而是在单个处理器芯片内实现两个或更多的“执行核”这些执行核都是相互独立的处理器,并具有自己的执行集合以及体系结构资源。<br>\n(5)共享Cache的多核结构:与多核结构工作方式相一致,主要差别在于设计时将这些执行核设计成可共享片上的Cache。<br>\n(6)采用超线程技术的多核结构:主要是将多核结构与超线程结构相结合,从而将逻辑处理器的数量增加到执行核的两倍。<br>\n<br>\n<br>\n从题意可以看出,本题涉及嵌入式软硬件设计问题,主要考查应试者能否正确地根据用户需求,理解技术要求,针对宇航系统配套生产高性能嵌入式计算机系统的任务,确定软件的技术需求和应用软件开发平台选择。本题主要考核考生以下实时系统基本技术知识。<br>\n(1)因为嵌入式实时系统与实际应用要求结合性很高,为了满足系统总的要求,在嵌入式计算机系统体系结构设计时,应充分考虑实际应用对硬件平台的配置和系统的实际技术要求。由于本题用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,因此考查如何选择处理器的结构以及对处理机不同结构特性了解的程度。<br>\n(2)软件并发是一种能够有效解决资源同时共享问题的方法。软件并发具有非常重要的作用和意义,主要体现在:并发能够让系统资源得到最有效的利用。但是由于采用了多线程技术实现应用程序的并发操作,将存在同步、通信、负载均衡和可伸缩性方面的问题。本题要求考生了解并行程序设计的基础知识。<br>\n(3)本题给出为了防止系统故障的蔓延,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,才能满足用户对系统的要求,考生从题中应可以看出,操作系统应该是实时性强、可靠性高、支持多核结构和高速缓存管理。只有这样才能增强系统的性能。<br>\n本问题主要考查考生对处理器的结构及多线程的理解能力,分清“多处理器结构”与“多核结构”的优点和缺点。<br>\n超线程技术实际上只有一个实际的物理处理器,但是从软件的角度来看,存在多个逻辑处理器。超线程技术支持操作系统和应用程序将多个线程调度到多个逻辑处理器上,就像多处理器系统一样。从微体系结构的角度看,逻辑处理器的指令都是固定的,并且在共享的执行资源上同时执行。也就是说,多个线程能够在多个逻辑处理器间进行调度,但是由于执行资源是这些逻辑处理器共享的,因此微体系结构必须决定两个线程如何以及何时切换执行。当一个线程被挂起的时候,另一个线程就会继续执行。能够导致线程挂起的因素包括处理Cache失效以及分支预测失败。<br>\n在同时多线程技术之后就出现了多核处理器。多核处理器采用单芯片多处理器(Chip Multiprocessor,CMP)的设计。随着生产工艺与制造技术上的进步,处理器厂商在设计多核处理器时,不是重用单个处理器中的某些处理器资源,而是在单个处理器芯片内实现两个或者更多的“执行核”。这些执行核都是相互独立的处理器,只是位于同一块芯片上而已。这些执行核都具有自己的执行集合以及体系结构资源。如下图所示。<br>\n<img width=\"480\" height=\"132\" alt=\"\" src=\"https://image.chaiding.com/ruankao/66e9cb6da9d35a2e8037672145bfd245.jpg?x-oss-process=style/ruankaodaren\"><br>\n如果考生能充分理解此题,问题1的第二问将会迎刃而解。\n<br><br>\n【问题2】<br>\n(1)同步:是指两个或者多个线程协调其行为的过程。如一个线程停下来等待另一个线程完成某项任务。<br>\n(2)通信:是指与线程之间交换数据相关的带宽和时延问题。<br>\n(3)负载均衡:是指多个线程之间工作量分布的情况。负载均衡能够使各线程的工作量均衡分配。<br>\n(4)可伸缩性:是衡量在性能更加强劲的系统上运行软件时能否有效利用更多线程的指标。例如,如果一个应用程序是面向四核系统编写的,那么当程序在八核系统上运行时,其性能是否能够线性增长(即增加一倍)。<br>\n<img width=\"623\" height=\"155\" alt=\"\" src=\"https://image.chaiding.com/ruankao/13a727f1c70371d15f43810fa087804a.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n从题意可以看出,本题涉及嵌入式软硬件设计问题,主要考查应试者能否正确地根据用户需求,理解技术要求,针对宇航系统配套生产高性能嵌入式计算机系统的任务,确定软件的技术需求和应用软件开发平台选择。本题主要考核考生以下实时系统基本技术知识。<br>\n(1)因为嵌入式实时系统与实际应用要求结合性很高,为了满足系统总的要求,在嵌入式计算机系统体系结构设计时,应充分考虑实际应用对硬件平台的配置和系统的实际技术要求。由于本题用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,因此考查如何选择处理器的结构以及对处理机不同结构特性了解的程度。<br>\n(2)软件并发是一种能够有效解决资源同时共享问题的方法。软件并发具有非常重要的作用和意义,主要体现在:并发能够让系统资源得到最有效的利用。但是由于采用了多线程技术实现应用程序的并发操作,将存在同步、通信、负载均衡和可伸缩性方面的问题。本题要求考生了解并行程序设计的基础知识。<br>\n(3)本题给出为了防止系统故障的蔓延,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,才能满足用户对系统的要求,考生从题中应可以看出,操作系统应该是实时性强、可靠性高、支持多核结构和高速缓存管理。只有这样才能增强系统的性能。<br>\n本问题主要考查考生对实时操作系统中同步与互斥、通信以及负载均衡和可伸缩性的理解程度,也考核考生对实时操作系统的基础知识。<br>\n同步是对线程执行的顺序进行强行限制的一种机制,用来控制线程执行的相对顺序,可以有效解决任何线程间的冲突,而这些冲突有可能会导致线程的执行出现异常行为。简而言之,同步主要用于协调线程执行和管理共享数据。<br>\n多核平台为开发人员提供了一种优化应用程序的渠道,那就是通过仔细分配加载到各线程(或者各处理器核)上的工作负载(也就是实现各线程的负载均衡)就能够得到性能上的提并。并且,开发人员也可以对应用程序的代码加以优化,使其能够更加充分地使用多个处理器资源,进而达到提升应用程序性能的目的。<br>\n由于多线程机制的引入可以保证相对较快的操作(例如正文的显示)不需要等待较慢的操作(例如显示很大的图像),无论何时某个线程被阻塞(由于等待消息或I/O), 实现就会自动切换到另一个线程。在强占式的线程包里,实现还可以在其他时刻进行线程之间的切换,以保证没有线程可以霸占处理器。\n<br><br>\n【问题3】<br>\n(1)嵌入式操作系统必须是强实时系统,实时性应达到毫秒级。<br>\n(2)操作系统应支持存储器保护能力,支持进程间的资源独立性(或支持时间、空间的隔离)。<br>\n(3)操作系统内核应支持多核结构的处理器,并支持多个逻辑处理的方式。<br>\n(4)支持高速Cache的管理。<br>\n<br>\n从题意可以看出,本题涉及嵌入式软硬件设计问题,主要考查应试者能否正确地根据用户需求,理解技术要求,针对宇航系统配套生产高性能嵌入式计算机系统的任务,确定软件的技术需求和应用软件开发平台选择。本题主要考核考生以下实时系统基本技术知识。<br>\n(1)因为嵌入式实时系统与实际应用要求结合性很高,为了满足系统总的要求,在嵌入式计算机系统体系结构设计时,应充分考虑实际应用对硬件平台的配置和系统的实际技术要求。由于本题用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,因此考查如何选择处理器的结构以及对处理机不同结构特性了解的程度。<br>\n(2)软件并发是一种能够有效解决资源同时共享问题的方法。软件并发具有非常重要的作用和意义,主要体现在:并发能够让系统资源得到最有效的利用。但是由于采用了多线程技术实现应用程序的并发操作,将存在同步、通信、负载均衡和可伸缩性方面的问题。本题要求考生了解并行程序设计的基础知识。<br>\n(3)本题给出为了防止系统故障的蔓延,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,才能满足用户对系统的要求,考生从题中应可以看出,操作系统应该是实时性强、可靠性高、支持多核结构和高速缓存管理。只有这样才能增强系统的性能。<br>\n本问题主要考查考生的实际经验,如果考生从事过此类项目的开发工作,应该理解对于一个给定的用户需求,究竟选择什么系统开发环境才能实现达到系统的设计目标。如果考生掌握了超线程技术的多核结构方面的基础知识,应该能够分析出本问题的解决思路。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239990676803585","title":"试题一(25分)<br>\n阅读以下关于数字视频监控告警系统的叙述,回答问题1至问题3。<br>\n【说明】<br>\n随着宽带应用快速发展,用户要求系统服务提供商提供基于互联网的多种服务。数字视频监控作为一种区域级的安全监控方式,越来越为更多的用户所使用。数字视频监控告警系统采用与数字视频监控相结合的多媒体技术和基于互联网的信息传递方案,为企业用户以及个人用户提供多种媒体的、不同时间、地点的信息通知服务。数字视频监控告警系统可以将用户需要查看的监控视频或告警信息,通过互联网门户系统以多种媒体方式传送给用户,方便用户随时随地了解与自身相关的视频信息。\n<br><br>\n【问题1】(10分)<br>\n在设计数字视频监控告替系统时,张工将该系统划分为5个层次:服务代理层、门户服务层、流程服务总线层、业务流程应用管理层和企业服务层,其中流程服务总线层是整个数字视频监控告警系统的核心,实现了服务消息、服务指令与数据的集中传递。系统五个层次在实现时可以采用图1-1左侧所示的技术或工具,请将系统的5个层次填入空(1)~(5),使其与左侧技术或工具相对应。<br>\n<img alt=\"\" width=\"368\" height=\"180\" src=\"https://image.chaiding.com/ruankao/33848d6ac5ea6698c3a73dbaf4d93e5a.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(8分)<br>\n请用300字以内文字说明服务代理层、门户服务层、业务流程应用管理层和企业服务层的主要功能。\n<br><br>\n【问题3】(7分)<br>\n张工认为,系统设计实现时需要重点关注系统的私密性、实时性、稳定性和扩展性,为什么?请用300字以内文字说明。","analyze":"【问题1】<br>\n(1)门户服务层 <br>\n(2)业务流程应用管理层 <br>\n(3)流程服务总线层<br>\n(4)服务代理层 <br>\n(5)企业服务层<br>\n<br>\n解析:空(1)应填“门户服务层”,因为,Web Portal即门户网站。采用Web Portal架构技术形成多种媒体互通的数字视频监控多媒体集成系统,为用户提供多视角、多媒体的综合视频监控方案。<br>\n空(2)应填“业务流程应用管理层”、空(3)应填“流程服务总线层”、空(4)应填“服务代理层”,因为,当新的服务加入到现有系统时,管理人员通过业务流程应用管理层定义业务流程一流程服务总线层一配置服务代理,当配置服务代理(Service Agent)连接成功后,管理人员可以方便快速地将其加入到现有的业务运行环境中。<br>\n显然,空(5)应填“企业服务层”。\n<br><br>\n【问题2】<br>\n服务代理层:提供了在流程服务总线上接收或发送各类具体业务服务的消息与指令的功能。<br>\n门户服务层:提供信息展现的功能,向各类用户提供个性化的服务。用户可以根据各自的习惯和兴趣,定制门户的页面结构和服务内容。<br>\n业务流程应用管理层:提供了系统管理人员定义业务流程、重组优化现有业务流程、模拟测试业务流程等功能,同时提供了各类服务的运行环境。<br>\n企业服务层:企业服务层包含了数字视频监控多媒体集成系统中的各类具体的企业应用,如数字视频监控系统服务、网站门户服务、电子邮件警告服务等。<br>\n<br>\n解析:门户服务层:提供信息展现的功能,向各类用户提供个性化的服务。用户可以根据各自的习惯和兴趣,定制门户的页面结构和服务内容。各个展现模块通过下层组件和具 体的服务相关联。<br>\n业务流程应用管理层:提供了系统管理人员定义业务流程、重组优化现有业务流程、模拟测试业务流程等功能,同时提供了各类服务的运行环境。在新的服务加入到现有系统中时,管理人员在配置服务代理(Service Agent)连接成功后,可以方便快速地将其加入到现有的业务运行环境中。<br>\n服务代理层:提供了在流程服务总线上接收或发送各类具体业务服务的消息与指令的功能。各个服务代理将其对应的业务服务发出的指令发布到流程服务总线上,同时接收由流程服务总线上的与自身相关的指令消息,并传递给各类服务执行。<br>\n企业服务层:企业服务层包含了数字视频监控多媒体集成系统中的各类具体的企业应用,如数字视频监控系统服务、网站门户服务、电子邮件警告服务等。各类企业服务为整个系统提供了多种的服务支持,并且对于符合该层次结构的服务也可以方便快速地加入到现有的系统体系中。\n<br><br>\n【问题3】<br>\n私密性:由于系统涉及的是各个公司或个人的专有的视频监控信息,所以要求系统保证视频信息的私密性,严格限制访问权限。<br>\n实时性:对于突发的监控告警信息,为了避免进一步的损失,所以要求系统提供很高的实时性,可以向用户快速提供入侵告警信息或其他告警信息。<br>\n稳定性:系统应该具备长时间不间断运行的能力,并在用户峰值时,也可以提供很好的服务。<br>\n扩展性:作为统一的门户接入平台,系统应该可以连接多种视频系统,并随着技术与用户需求发展,提供更多种的服务方式,所以要求系统具有较高的可扩展性。<br>\n<br>\n解析:作为数字视频监控告警系统在设计时必须注意以下几方面。<br>\n(1)私密性:具备权限和访问级别控制的功能,以保障公司或个人的专有的视频监控信息私密性;<br>\n(2)实时性:当突发事件发生时,必须反应迅速,接警时间极短,报警控制器检测到报警信号后,必须及时告警和处理;<br>\n(3)扩展性:由于现代技术的快速发展,系统应该具备可扩展性,以适应新技术、新设备;<br>\n(4)稳定性:是数字视频告警系统的基本要求,因为告警系统必须具备长时间不间断运行的能力,特别是在用户峰值时,也能保证信息的通畅、快速以实现对公司或个人情况的有效监控。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240003830140929","title":"试题一(25分)<br>\n阅读以下关于软件项目管理的叙述,在答题纸上回答问题1至问题4。<br>\n【说明】<br>\n某软件企业为电信公司开发一套网上营业厅系统,以提升服务的质量和效率。项目组经过分析,列出了项目开发过程中的主要任务、持续时间和所依赖的前置任务,如表1-1所示。在此基础上,可分别绘制出管理该系统开发过程的PERT图和Gantt图。<br>\n<img alt=\"\" width=\"544\" height=\"236\" src=\"https://image.chaiding.com/ruankao/f91d97caaca42d61964cfd1029162b6b.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题1】(6分)<br>\n请用300字以内的文字分别解释说明PERT图和Gantt图的具体含义,并说明两种方法所描述开发过程的差异。\n<br><br>\n【问题2】(9分)<br>\n根据上表所示活动及其各项活动之间的依赖关系,分别计算对应PERT图中活动C~H的松她时间(SlackTime)填入(a)~(f)中。\n<br><br>\n【问题3】(7分)<br>\n根据上表所示活动及其各项活动之间的依赖关系,计算对应PERT图中的关键路径及所需工期。\n<br><br>\n【问题4】(3分)<br>\n如果将关键路径对应的工期作为期望工期;通过资源调配和任务调度,可以使得最优工期比期望工期少2周时间;根据项目组开发经验,解决项目开发过程中所有可能会遇到的问题最多需要8周时间,即最差工期比期望工期多8周时间。请计算项目最可能的开发工期。","analyze":"【问题1】<br>\nPERT (项目评估与评审技术)图是一种图形化的网络模型,描述一个项目中任务和任务之间的关系,每个节点表示一个任务,通常包括任务编号、名称、开始和结束时间、持续时间和松弛时间。<br>\nGantt图是一种简单的水平条形图,它以一个日历为基准描述项目任务,横坐标表示时间,纵坐标表示任务,图中的水平线段表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。<br>\nPERT图主要描述不同任务之间的依赖关系;Gantt图主要描述不同任务之间的重叠关系。<br>\n<br>\n解析:PERT (项目评估与评审技术)发展于20世纪50年代后期,用于为美国海军计划和控制大型的武器开发项目。PERT图是一种图形化的网络模型,描述一个项目中任务和任 务之间的关系,每个节点表示一个任务,通常包括任务编号、名称、开始和结束时间、持续时间和松弛时间。PERT图用于在任务被调度之前弄清楚任务之间的依赖关系。<br>\nGantt图最早由Henry L.Gantt在1917年提出,是最常用的项目调度和进展评估工具。Gantt图是一种简单的水平条形图,它以一个日历为基准描述项目任务,横坐标表示时间,纵坐标表示任务,图中的水平线段表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。Gantt图的优点是可以清楚地显示出重叠任务,也就是说可以同时执行的任务。<br>\nPERT图和Gantt图并不是互斥的,在交流项目进度时Gantt图更有效,需要研究任务之间的关系时PERT图更有效。\n<br><br>\n【问题2】<br>\n(a)0 (b) 1 (c) 0 (d) 6 (e) 0 (f) 2<br>\n<br>\n解析:在制定项目进度表时,需要为任务分配资源,所分配资源如果超过了可以提供的资源,就需要进行资源调配。松弛时间(Slack Time)是指任务在项目实际进展中可以延迟的时间,这个延迟量不会引起整个项目完成时间上的延迟。松弛时间可以提供延迟任务开始时间的机会,可以调配资源而不影响项目的完成时间。<br>\n下图给出了表1-1中任务之间的关系,关键路径上任务的松弛时间为0,非关键路径上的任务D、F、H所对应的松弛时间分别为1、6、2。E是关键路径的节点 .<br>\n<img alt=\"\" width=\"564\" height=\"159\" src=\"https://image.chaiding.com/ruankao/574b533aa56d5f2885d988949aee6732.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】<br>\n关键路径:A—B—C—E—G—I—J<br>\n所需工期:26周<br>\n<br>\n解析:关键路径是一个相关任务序列,该序列上任务工期之和最大。图1-1所示PERT图中包括了6条路径:<br>\n(1)路径序列:ABCEGHJ 工期之和:24周<br>\n(2)路径序列:ABCEGU 工期之和:26周<br>\n(3)路径序列:ABCFHJ 工期之和:16周<br>\n(4)路径序列:ABDFHJ 工期之和:20周<br>\n(5)路径序列:ABDGHJ 工期之和:23周<br>\n(6)路径序列:ABDGIJ 工期之和:25周<br>\n经过比较分析,任务工期之和最大值为26周,对应关键路径序列为ABCEGIJ。\n<br><br>\n【问题4】<br>\n最可能的开发工期=(最优工期+期望工期x4+最差工期)/6=(24+26x4+34)/6=27周 <br>\n<br>\n解析:最优工期(OD)是估计完成任务所需的最小时间量;最差工期(PD)是估计完成任务所需的最大时间量;期望工期CED)是估计完成任务所需的时间量。最可能工期(D)的计算公式为:<br>\n<img width=\"216\" height=\"47\" alt=\"\" src=\"https://image.chaiding.com/ruankao/403abf988a1af48d26c2e38284b7f9c3.jpg?x-oss-process=style/ruankaodaren\"><br>\n其中,1、4和1是用来计算三个估计值的加权平均值的默认权值。<br>\n问题中最优工期OD为24,最差工期PD为34,期望工期ED为26,计算后得到最可能工期 D 为(1x24+4x26+1 x34)/6=27周。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240009819607041","title":"试题三(25分)<br>\n阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n近年来,分区化(Partitioning)技术已被广泛应用于大型嵌入式系统,此项技术重在解决嵌入式系统中多类应用软件共享计算机资源的安全性问题,同时,也可降低软件开发成本,提高软件的可重用能力。某公司承担了一项宇航计算机系统研制任务,要求将以前采用的多处理机系统精简为由单个处理器系统完成,而整体功能应在原有功能不变的基础上,可灵活扩展,并要求原应用软件可被快速移植到新系统。公司将任务交给王工程师组织并承担总体设计工作。在采用何种嵌入式实时操作系统的选型问题上,王工认为宇航系统强调安全性,原系统应用软件功能分布在各自的处理机上,在保持功能不变的情况下,应适当地维持各个软件的相对独立性,因此采用具有分区能力的操作系统(如:VxWorks653)比较合适。\n<br><br>\n【问题1】(9分)<br>\n图3-1给出了具有分区能力的操作系统架构,该架构支持分区和进程两类调度,并提供了分区的时间、空间隔离保障,保证了应用软件可安全共享计算机资源。请用300字以内文字说明该类操作系统中分区化技术的主要特点。<br>\n<img alt=\"\" width=\"560\" height=\"274\" src=\"https://image.chaiding.com/ruankao/4393aebfd7b436c31ce5c361fb058932.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(16分)<br>\n完成该项目总体设计后,王工将软件设计工作交给李工,要求李工在原有软件基础上,完成新环境下的软件设计。经分析,李工统计出了原系统的任务基本情况(见表3-1)。原系统包含三个子系统,为了保证各子系统软件间的相对独立性,将三个子系统移植到新系统的三个分区工作,假设将“显示子系统”、“雷达子系统”和“任务子系统”分别用P1、P2和P3表示,系统的最小时间计时(tick)设为1ms,调度表的主时间框架将是40ms。<br>\n根据表3-1给出的原系统各任务周期和最坏执行时间数据,新系统中的所有任务可被调度,请对此进行分析说明,完善表3-2所示的分区调度表的设计,在空(1)~(10)填写正确内容并将解答填入答题纸的对应栏内。<br>\n(注:WCET,Worst-CaseExecutionTime)。<br>\n<img alt=\"\" width=\"582\" height=\"572\" src=\"https://image.chaiding.com/ruankao/34afb46bf6cd325a59f6dfda469e5f03.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n(1)应用软件代码和操作系统代码工作在处理器的不同特权级别上,应用软件的失效不会影响操作系统的运行:<br>\n(2)每一个分区有自己私有存储资源,分区所占空间是相互隔离的,分区内某进程的失效仅仅只影响到进程所在的分区;<br>\n(3)操作系统可为分区内应用软件提供多种类型的API服务,使原有应用软件可方便地移植到分区内运行;<br>\n(4)分区的调度是按预先配置好的时间表进行调度,任何-个分区只能在系统分配给它的时间窗口内运行,任何分区不能、也无法占用其他分区的窗口时间;<br>\n(5)具有分区能力的操作系统提供健康监控管理能力,它通过操作系统内的故障监测机制,将发现的应用、分区和系统的错误通过注入机制报告健康监控系统,由它进行统一的故障处理;<br>\n(6)分区化操作系统允许不同安全等级(A-E)的应用软件共享计算机资源,可实现软件验证的最小化、局部化。<br>\n<br>\n目前,分区(Partition)技术已被广泛应用于电子系统的数据融合领域,分区技术重在解决处理器速度极大提升后,嵌入式系统无法充分发挥处理器性能的问题。分区化的核心思想就是采用MMU (存储器管理部件)机制将单个处理器划分成多个虚拟机,使每一虚拟机内的应用程序视为在独享处理器资源。本题重点是考查考生对当前基于虚拟机的操作系统的知识掌握程度,同时,考查考生对目前国内广泛使用满足ARINC653标准的操作系统的了解程度。<br>\n图3-1给出的具有分区技术的操作系统架构已明确说明了此类操作系统的能力,通过本图考生就可以正确地回答该问题。首先,从图3-1可以看出此类操作系统不同于平板类操作系统,它支持处理器的两种工作状态(核心态和用户态)实现了应用软件与操作系统软件间的空间和访问权限隔离,保护了系统;其次,图3-1给出的分K和进程的概念,考生完全可以分析出此概念类似于一般操作系统的进程和线程的概念,这里的分区类似于进程、进程类似于线程,从而可推断出分区一定会具备通常进程的属性,进程一定会具备通常进程的属性,即分区具有自己私用空间。分区间空间是隔离的:同样,题干给出的“要求原应用软件可被快速移植到新系统”需求就可以说明最好的移植方法是操作系统提供与原始的API相兼容,因此分区内提供可提供多种API接口是此类操作系统的特性之一;考生如果了解满足ARINC653标准的操作系统,那么它应有的独特性也会知晓,如:分区凋度是采用预先配置的时间表调度,实现了分区时间上的确定性和时间隔离,与其他操作系统的最大区别是将健康监控能力植入操作系统内核,实现了系统故障监视和统一的故障处理机制,从应用角度看,分区技术的时空隔离特征,保障了不同安全等级(宇航分为5级A-E)的应用软件可安全共享计算机资源也是主要特征之一。\n<br><br>\n【问题2】<br>\n所有任务可被调度的分析如下:<br>\n保证所用任务的可调度性必须满足在主时间框架内,系统中所用任务的最坏执行时间(WCET)均被执行至少一次。初步计算如下: <br>\n1(P3T1)≤5ms<br>\n1(P1T1)+ l(P2T1)≤10m<br>\n2(P1T2)+ 1(P3T2)≤20m<br>\n1(P3T1)*8+1(P1T1)*4+l(P2T1)*4+2(P1T2)*2+1(P3T2)*2+5(P1T3)*1+3(P2T2)&lt;=40ms<br>\n依据上述三个设计条件,新系统的分区调度表可安排如下:<br>\n(1)0 (2) 1 (3) 2 (4) P2 (5) P3<br>\n(6)4 (7) 20 (8) 1 (9) null (10) 7<br>\n<img alt=\"\" width=\"568\" height=\"272\" src=\"https://image.chaiding.com/ruankao/dc9fb55a05cce2cff0ec5e5f880f0be7.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n本问题主要考査考生对嵌入式实时系统方面的知识掌握程度。这里涉及两方面知识,其一是实时系统的周期任务的可调度分析方法:其二是针对【问题1】中提到的分区的时间表调度算法,完成对表3-1的实例进行可调度分配,使操作系统按照设置好的调度序列调度分区,一定会保证表3-1中所有任务在最坏情况下按其周期要求执行完成。 在可调度分析时,表3-1给出实例中,分区凋度的主时间框架应是实例中所用任务周期的最大公约数,即40ms,这样可调度分析首先应分析在40ms时间范围内是否可保证表3-1中的所有任务的最坏执行时间都被至少执行一次。在此前提下,以此类推,完成对20ms周期、10ms周期和5ms周期三种周期内的所用任务的最坏执行时间都被至少执行一次,如果四种分析都可调度,则表3-1给出的实例是可调度的。具体公式如下:<br>\n1(P3T1)≤5ms<br>\n1(P1T1)+ l(P2T1)≤10m<br>\n2(P1T2)+ 1(P3T2)≤20m<br>\n1(P3T1)*8+1(P1T1)*4+l(P2T1)*4+2(P1T2)*2+1(P3T2)*2+5(P1T3)*1+3(P2T2)&lt;=40ms<br>\n如果上述分析是可调度的,那么,完成表3-2的分区调度表就可很容易实现。调度表是分区操作系统调度分区的依据,调度表将主时间框架分成若干个窗口(windows), 每一窗口可定义分配给哪个分区运行,启动时间是指本窗口针对主时间框架的第一个窗体“0”的偏移铀,持续时间是指分配给此窗口的实际可运行时间。考生在填写时必须淸楚以下4点:<br>\n(1)分区时间表调度中某窗口的启动时间不一定必须等于上一窗口的启动时间加持续时间。也就是说,窗口间的启动时间可以不连续;<br>\n(2)分区时间表调度中的第一个窗口的启动时间一般都为0;<br>\n(3)操作系统调度程序在遇见主时间框架最后一个窗口运行完后,应在主时间框架结束时刻重新加钱主时间框架,新周期开始从第一个窗口运行;<br>\n(4) 空窗口(null)是指本时间段操作系统不做任何分区凋度,系统运行一种称之为空分区的任务。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239984305655809","title":"试题一(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某软件公司拟为物流企业开发一套库存管理系统,该系统的部分需求陈述如下:<br>\n(1) 库存管理系统主要包括货物入库管理、货物出库管理、仓库管理、统计报表和系统管理等功能。<br>\n(2) 库存管理系统的用户包括仓库管理员、仓库经理和系统管理员,用户必须在注册后才能使用系统功能;用户可以选择使用邮件注册或电话注册。<br>\n(3) 仓库管理员在进行出入库操作前必须先登录;仓库经理可以通过系统查看统计报表,如果前一个月的报表未生成,则系统自动生成统计报表,否则直接显示。<br>\n(4) 系统管理员可以在系统中设置仓库温度范围,当仓库内温度超过最高值或者低于最低值时,系统自动调用温控管理操作,连接温度调节系统进行制冷或加热。<br>\n(5) 仓库管理功能要求每个月1日零点对前一个月货物入库和出库记录进行数据汇总操作。<br>\n项目组决定构造用例模型以描述系统需求。\n<br><br>\n【问题1】(6分)<br>\n用例建模的首要任务是识别系统中的参与者。请根据题目中所描述的需求,识别出系统中有哪些参与者?\n<br><br>\n【问题2】(7分)<br>\n用例建模的主要工作是书写用例规约。用例规约通常包括哪几部分内容?\n<br><br>\n【问题3】(12分)<br>\n建立了用例模型后,可以利用用例之间的关系调整用例模型,用例之间的关系包括哪几种?对于每种关系,请根据题目中所描述的需求分别给出一组用例。","analyze":"【问题1】<br>\n(1)仓库管理员;(2)仓库经理;(3)系统管理员;(4)时间;(5)温度;(6)温度调节系统。<br>\n<br>\n本题考查考生对于需求建模的掌握情况。<br>\n用例方法是一种需求建模技术,在获取系统需求并记录后,从用户的要求和期望中进行整理与提炼,从而建立用例模型。在面向对象分析方法中,构建用例模型一般需要经历四个阶段,分别是识别参与者、合并需求获得用例、细化用例描述和调整用例模型。 根据题目所述需求,绘制系统用例图如下图所示。<br>\n<img alt=\"\" width=\"454\" height=\"240\" src=\"https://image.chaiding.com/ruankao/875a0bdb3fbdd835087ff1d5371f1e7b.jpg?x-oss-process=style/ruankaodaren\"><br>\n参与者可以表示与系统接口的任何事物和任何人,这可以包括人(不仅仅是最终用户)、外部系统和其他组织。根据需求陈述(2)可知系统的用户包括仓库管理员、仓库经理和系统管理员;根据需求陈述(4)和系统有交互关系的外部系统是温度调节系统, 温度通过温度监控接口与系统关联;根据需求陈述(5)所描述时态事件,时间会触发系统的行为。所以参与者包括了仓库管理员、仓库经理、系统管理员、时间、温度、温度调节系统。\n<br><br>\n【问题2】<br>\n(1)用例名称;(2)简要说明;(3)事件流;(4)非功能需求;(5)前置条件和后置条件;(6)扩展点;(7)优先级。<br>\n<br>\n用例模型是由用例图和每一个用例的详细描述——用例规约所组成的。RUP中提供了用例规约的模板,每一个用例的用例规约都应该包含以下内容:用例名称,简要说明,事件流,非功能需求,前置条件和后置条件,扩展点,优先级。\n<br><br>\n【问题3】<br>\n用例之间的关系有三种,分别是包含关系、扩展关系和泛化关系。<br>\n(1)包含关系:用例“入库管理”和用例“用户登录”之间的关系;用例“出库管理”与用例“用户登录”之间的关系;<br>\n(2)扩展关系:用例“査看统计报表”和用例“生成统计报表”之间的关系;<br>\n(3)泛化关系:用例“用户注册”和用例“电话注册”之间的关系;用例“邮件注册”和用例“电话注册”之间的关系。<br>\n<br>\n用例之间的关系有包含关系、扩展关系和泛化关系。(1)包含关系:一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这称作包含关系。用例“入库管理”和用例“用户登录”之间的关系、用例“出库管理”与用例“用户登录”之间的关系就属于包含关系;(2)扩展关系:一个用例(扩展用例)可以被定义为基础用例的增量扩展,这称为扩展关系。用例“查看统计报表”和用例“生成统计报表”之间是扩展关系;(3)泛化关系:一个用例被特别列举为一个或多个用例,这被称作用例泛化。用例“用户注册”和用例“电话注册”之间、用例“邮件注册”和用例“用户注册”之间属于泛化关系。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240005814046721","title":"试题一(25分)<br>\n阅读以下关于软件项目进度管理的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件公司启动了一个中等规模的软件开发项目,其功能需求由5个用例描述。项目采用增量开发模型,每一次迭代完成1个用例;共产生5个连续的软件版本,每个版本都比上一个版本实现的功能多。<br>\n每轮迭代都包含实现、测试、修正与集成4个活动,且前一个活动完成之后才能开始下一个活动。不同迭代之间的活动可以并行。例如,1个已经实现的用例在测试时,软件开发人员可以开始下一个用例的实现。实现和修正活动不能并行。<br>\n每个活动所需的工作量估算如下:<br>\n(1)实现1个用例所需的时间为10人天;<br>\n(2)测试1个用例所需的时间为2人天;<br>\n(3)修正1个用例所需的时间为1人天(平均估算);<br>\n(4)集成1个用例所需的时间为0.5人天。<br>\n项目开发过程中能够使用的资源包括:5名开发人员共同完成实现和修正工作、2名测试人员完成测试工作和1名集成人员完成集成工作。<br>\n该项目的Gannt图(部分)如图1-1所示。<br>\n<img alt=\"\" width=\"376\" height=\"231\" src=\"https://image.chaiding.com/ruankao/51e18ffc37eab12a2eb94f701e0ea444.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题1】(8分)<br>\n根据题目描述中给出的工作量计算方法,计算1个用例的实现,测试、修正、集成4个活动分别所需的日历时间(单位:天)\n<br><br>\n【问题2】(9分)<br>\n(1)根据图1-1给出的项目Gannt图,估算出项目开发时间。<br>\n(2)计算测试人员和集成人员在该项目中的平均工作时间(占项目总开发时间的百分比)。\n<br><br>\n【问题3】(8分)<br>\n在项目实施过程中,需不断将实际进度与计划进度进行比较分析,进行项目进度计划的修正与调整,以保证项目工期。用300字以内文字,从活动和资源的角度,说明项目进度计划调整所涉及的内容。","analyze":"【问题1】<br>\n(1) 实现1个用例所需的时间:2天。<br>\n(2) 测试1个用例所需的时间:1天。<br>\n(3) 修正1个用例所需的时间:0.5天。<br>\n(4) 集成1个用例所需的时间:0.5天。<br>\n<br>\n本题考查软件项目管理中进度管理的相关概念以及使用Gannt图进行进度规划的相关知识。<br>\n实现1个用例需要10人天,共有5个开发人员,也就是说实现1个用例花费的实际时间为2天。<br>\n测试1个用例需要2人天,共2个测试人员,完成1个用例的测试实际花费1天。测试之后的修正/改错需要花费1人天,共5个开发人员。修正用例的工作由开发人员兼任。由图1-1的Gannt图可以看出,修正1个用例所耗费的日历时间为0.5天。<br>\n集成1个用例需要0.5人天,只有1个集成人员,实际需要的时间为0.5天。\n<br><br>\n【问题2】<br>\n(1)项目开发时间:14天。<br>\n(2)测试人员的平均工作时间:35.7%;<br>\n集成人员的平均工作时间:17.9%。<br>\n<br>\n(1)本小题的解答可以由图1-1所示的Gannt图推算出来,在推算过程中要考虑到任务之间的并行关系:实现、测试与集成活动可以并行;实现与修正活动不能并行。由此推算出完成5个用例需要的时间为14天。<br>\n(2)对于测试活动,每个用例需要1天时间,共5个用例,总时间为5天,因此测试人员的平均工作时间为:5*1/14=0.357(35.7%)<br>\n对于集成活动,每个用例需要0.5天,共5个用例,总时间为2.5天,因此集成人员的平均工作时间为:5*0.5/14=0.179(17.9%)\n<br><br>\n【问题3】<br>\n项目进度计划调整通常包含以下几种情况:<br>\n(1) 关键活动的调整。对于关键路径,由于其中任一活动持续时间的缩短或延长都会对整个项目工期产生影响。<br>\n(2) 非关键活动的调整。为了更充分地利用资源,降低成本.必要时可对非关键活动的时差做适当调整,但不得超出总时差,且每次调整均需进行时间参数计算,以观察每次调整对计划的影响。<br>\n(3) 增减工作项。增加工作项,只对原遗漏或不具体的逻辑关系进行补充;减少工作项,只是对提前完成的工作项或原不应设置的工作项予以消除。<br>\n(4) 资源调整。若资源供应发生异常时,应进行资源调整。<br>\n<br>\n本问题考查项目进度控制的基本知识及应用。<br>\n项目进度控制就是将实际进度与计划进度进行比较并分析结果,以保持项目工期不变,保证项目质量和所耗费用最少为目标,做出有效对策,进行项目进度更新。项目进度更新主要包括两方面工作,即分析进度偏差的影响和进行项目进度计划的调整。<br>\n项目进度计划的调整往往是一个持续反复的过程,一般分几种情况:<br>\n①关键活动的调整。对于关键路径,由于其中任一活动持续时间的缩短或延长都会对整个项目工期产生影响。因此,关键活动的调整是项目进度更新的重点,有以下两种情况。<br>\n第一种情况:关键活动的实际进度较计划进度提前时的调整方法。若仅要求按计划工期执行,则可利用该机会降低资源强度及费用。实现的方法是,选择后续关键活动中资源消耗量大或直接费用高的予以适当延长,延长的时间不应超过已完成的关键活动提前的量;若要求缩短工期,则应将计划的未完成部分作为一个新的计划,重新计算与调整,按新的计划执行,并保证新的关键活动按新计算的时间完成。<br>\n第二种情况:关键活动的实际进度较计划进度落后时的调整方法。调整的目标就是采取措施将耽误的时间补回来,保证项目按期完成。调整的方法主要是缩短后续关键活动的持续时间。这种方法是指在原计划的基础上,采取组织措施或技术措施缩短后续工作的持续时间以弥补时间损失,确保总工期不延长。<br>\n②非关键活动的调整。当非关键路径上某些工作的持续时间延长,但不超过其时差范围时,则不会影响项目工期,进度计划不必调整。为了更充分地利用资源,降低成本,必要时可对非关键活动的时差做适当调整,但不得超出总时差,且每次调整均需进行时间参数计算,以观察每次调整对计划的影响。<br>\n非关键活动的调整方法有三种:在总时差范围内延长非关键活动的持续时间、缩短工作的持续时间、调整工作的开始或完成时间。当非关键路径上某些工作的持续时间延长而超出总时差范围时,则必然影响整个项目工期,关键路径就会转移。这时:,其调整方法与“关键活动的调整”方法相同。<br>\n③增减工作项目。由于编制计划时考虑不周,或因某些原因需要增加或取消某些工作,则需重新调整网络计划,计算网络参数。由于增减工作项目不应影响原计划总的逻辑关系,以便使原计划得以实施。因此,增减工作项目,只能改变局部的逻辑关系。增加工作项目,只对原遗漏或不具体的逻辑关系进行补充;减少工作项目,只是对提前完成的工作项目或原不应设置的工作项目予以消除。增减工作项目后,应重新计算网络时间参数,以分析此项调整是否对原计划工期产生影响,若有影响,应采取措施使之保持不变。<br>\n④资源调整。若资源供应发生异常时,应进行资源调整。资源供应发生异常是指因供应满足不了需要,例如,资源强度降低或中断,影响到计划工期的实现。资源调整的前提是保证工期不变或使工期更加合理。资源调整的方法是进行资源优化,提高资源利用率。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240041062977537","title":"试题三(25分)<br>\n阅读以下机载信息处理系统数据管理软件开发的叙述,回答问题1至问题3。<br>\n【说明】<br>\nA公司承接了开发机载信息处理系统数据管理软件的任务。该机载信息处理系统数据管理软件在机载设备中的地位十分重要,因此对该软件的安全性和可靠性有很高的要求。尽管对设备供电的稳定性有较充分的考虑及措施,但鉴于该机载信息处理系统中存储的数据至关重要,用户仍提出在任何时候设备断电都不应对数据造成破坏。该机载信息处理系统采用非易失的NandFlash (按串行方式访问的Flash)作为存储介质,该NandFlash的特点是以页为最小存储管理单位,每一页只有在擦除后才可写入,擦写是有寿命的,假设每页可擦写十万次。NandFlash在使用过程中可能受到其他机载电子设备的干扰而发生一位的跳变,即读出的数据块中可能存在一位是错误的。为了机载软件的安全,在这样的条件下也要保证系统正确运行。\n<br><br>\n【问题1】(7分)<br>\nA公司指派李工组织进行需求分析,并完成机载信息处理系统数据管理软件需求规格说明。以下4条需求描述摘录自该需求规格说明,请判断这4条描述是否满足软件需求的一般要求,如果不满足,请指出存在的问题,并将答案填写在答题纸中。<br>\n(1)软件应能够纠正一位读错误;<br>\n(2)软件一般应提供存储介质的均匀擦写功能,以解决因频繁擦写NandFlash的某—固定块而导致该NandFlash过早损害的问题:<br>\n(3)NandFlash擦写是有寿命的;<br>\n(4)软件对安全性和可靠性有很高的要求。\n<br><br>\n【问题2】(9分)<br>\n在开发上述信息处理系统数据管理软件过程中,按照总体设计单位要求,采用开发库、受控库和产品库三库进行软件配置管理,并规定软件产品装机后,该数据管理软件项目在受控库中保存3年。但到发布后第2年时,用户报告了一个bug,经分析,是数据管理软件的一个缺陷。此时,A公司重新调配人员对该数据管理软件进行变更。图3-1是A公司软件变更管理的流程,请从配置管理的角度分析此次变更应开展哪些活动,在图中的(1)到(6)处填写恰当的活动,答案填写在答题纸对应处。<br>\n(注:CCB,Change Control Board,变更控制委员会。)\n<br><br>\n【问题3】(9分)<br>\n针对用户提出在任何时候设备断电都不应对数据造成破坏并保证数据系统的完整性的要求,A公司指派王工进行机载信息处理系统数据管理软件设计。王工设计了一种数据完整性保护机制,图3-2是该机制处理流程的示意图。请将表3-1列出的数据完整性保护机制活动索引按照正确的顺序填入图3-2的数据完整性保护机制处理流程中,并将答案写在答题纸的对应栏中。<br>\n<img width=\"311\" height=\"414\" alt=\"\" src=\"https://image.chaiding.com/ruankao/babe11028ca78143763e6dc292d1fe5c.jpg?x-oss-process=style/ruankaodaren\">、<br>\n<img width=\"344\" height=\"320\" alt=\"\" src=\"https://image.chaiding.com/ruankao/d043b8f31bf3a37118df5bbddd61aeee.jpg?x-oss-process=style/ruankaodaren\"><br>\n<img width=\"511\" height=\"163\" alt=\"\" src=\"https://image.chaiding.com/ruankao/5eec2abce2eb6ffaf546ffd83e0abe55.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n(1)满足<br>\n(2)不满足。原因:需求描述中不能使用“一般”这样的模糊术语。<br>\n(3)不满足。原因:所提的需求不具体,未量化,不可测试。<br>\n(4)不满足。原因:“很高”术语模糊,此提法不可验证。<br>\n<br>\n解析:<br>\n本问题主要考查软件需求规格说明书的书写方式及判断,软件需求说明必须明确、清晰,并以量化的形式指明对应的指标。对于问题中描述:<br>\n软件应能够纠正一位读错误;该需求描述清晰明确,符合需求规格说明的书写要求。 <br>\n(1)软件一般应提供存储介质的均匀擦写功能,以解决因频繁擦写NandFlash的某一固定块而导致该NandFlash过早损害的问题;该说明中出现了 “一般”这样的说法,而(2)在需求描述中不能出现这样的模糊术语。<br>\n(3)NandFlash擦写是有寿命的;该描述中所提的需求不具体,未量化,不可测试。<br>\n(4)软件对安全性和可靠性有很高的要求。该描述中“很高”术语模糊,不可验证。\n<br><br>\n【问题2】<br>\n(1)变更影响分析<br>\n(2)确定基线<br>\n(3)受控库<br>\n(4)开发库<br>\n(5)测试/验证<br>\n(6)升级装机软件<br>\n<br>\n解析:本问题主要考查软件变更管理的知识,考生需要根据问题中的管理流程补充其中的空白处,根据题目描述,在题目中的流程中,空白(1)出现在提出解决方案之后,因此应该进行“变更影响分析”;空白(2)出现在通过评审之后,因此应该“确定基线”;空白(3)、(4)的活动应该是“将受控库中的代码导入代码库,准备修改代码”;空白(5) 发生在修改代码后,因此应该进行验证和测试;空白(6)出现在建立基线并导入产品库之后,因此应该进行升级装机软件的工作。\n<br><br>\n【问题3】<br>\n(1)f或数据块数请求<br>\n(2)d或寻找并分配空闲的数据块&nbsp; <br>\n(3)c或写入新的数据<br>\n(4)b或更新事务点<br>\n(5)a或扫描维护数据一致性<br>\n(6)e或删除被替换的数据块<br>\n<br>\n解析:本问题主要考查数据完整性保护机制和对应的数据处理流程,根据流程描述,比较合理的过程是:(1)初始化;(2)如果没有掉电,则进行数据块数请求;(3)如果没有掉电,则开始寻找并分配空闲的数据块;(4)如果没有掉电,则开始写入新的数据;(5)如果没有掉电,则更新事物点;(6)如果在(5)后发生掉电,则需要扫描维护数据一致性;(7)上述过程完成后,删除被替换的数据块。因此根据这个处理流程,只需要将合适的动作填入空白处即可。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240105521041409","title":"试题五(25分)<br>\n阅读以下关于软件维护的叙述,在答题纸上回答问题1至问题4。<br>\n【说明】<br>\n某企业两年前自主研发的消防集中控制软件系统在市场上取得了较好的业绩,目前已成功应用到国内外众多企业用户的消防管理控制系统中。该软件系统通过不同型号消防控制器连接各种消防器件,实现集中式消防告警信息显示与控制。该软件系统的系统维护主管组织,对近期收集到的该软件系统的如下维护申请进行了讨论:<br>\n(1)将系统目前的专用报表功能改成通用报表生成功能,以适应未来用户可能提出的报表格式变化需求;<br>\n(2)在界面语言中增加德文支持,以满足新增的两个德国企业用户的使用要求;<br>\n(3)修正系统在与控制器通信时由于硬件网络故障导致的与控制器之间的连接失效,而控制器后续无法重新连接的问题;<br>\n(4)完成因某已支持型号消防控制器通信协议改变而导致的相应软件修改;<br>\n(5)增加与某新型号消防控制器的互连通信功能,以支持在后续推广过程中与该型号消防控制器进行互连;<br>\n(6)修正用户报告的由于系统从Win7平台迁移到最新发布的Win8平台而导致的部分显示功能失效的问题;<br>\n(7)修正用户报告的系统自动切换消防平面图形时部分器件位置显示错误的问题;<br>\n(8)改进系统历史消防告警记录的检索算法,以提高系统在处理大量消防报警记录时的效率;<br>\n(9)将系统目前针对某一特定数据库管理系统的数据库访问方式改成基于数据源的通用数据库访问方式,以适应用户可能提出的使用其他数据库管理系统的需求。\n<br><br>\n【问题1】(6分)<br>\n软件维护的内容通常分为正确性维护、适应性维护、完善性维护以及预防性维护四类,请用300字以内文字说明这4类软件维护内容的特点与区别。\n<br><br>\n【问题2】(9分)<br>\n请根据不同类型软件维护的特点,将上述(1)~(9)的维护申请填入表5-1相应的类别中。<br>\n<img alt=\"\" width=\"623\" height=\"150\" src=\"https://image.chaiding.com/ruankao/b177cca243c8b4b2ca491a1e636ca014.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(4分)<br>\n对于软件维护申请的处理,首先需要确定维护工作的类型,不同类型的维护工作,其处理流程往往不同,图5-1是区分不同维护类型的典型处理流程,请将表5-1中代表维护类型的序号(1)~(4)填入图5-1的(a)~(d)。<br>\n<img width=\"558\" height=\"603\" alt=\"\" src=\"https://image.chaiding.com/ruankao/77f223eebc181d058e7660d9ec7de4d5.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题4】(6分)<br>\n在讨论第(4)项维护工作的方案时,项目组发现与相应的消防控制器通信的子模块重用了企业之前淘汰的某款软件中实现相应功能的源代码,而现有技术人员没有参加过该代码的开发工作,并且重用的这部分代码开发不规范,其数据和代码结构设计都很差,相应的文档极不完整,维护记录也很简略。针对上述情况,项目组一致认为在原有代码基础上进行修改维护难度很大,因此决定采用软件工程的方法对该子模块进行重新设计、编码和测试,请从可行性和该模块后续可维护性两个方面简要分析采取这种方案的原因。","analyze":"【问题1】<br>\n正确性维护:指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。<br>\n适应性维护:指使应用软件适应信息技术变化和管理需求变化而进行的修改。<br>\n完善性维护:指为扩充功能和改善性能而进行的修改,主要是指对己有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。<br>\n预防性维护:指为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。<br>\n<br>\n本题考查的是软件维护的基本概念及软件维护实施的基本方法。<br>\n本问题考查的是软件维护内容的基本分类及特点,软件维护的内容不只是修正错误,按照维护性质的不同,可以将软件维护的内容分为正确性维护(或改正性维护)、适应性维护、完善性维护和预防性维护。<br>\n考生在解答时应注意区分正确性维护之外其他三种维护内容的差异,其中适应性维护指应用软件适应信息技术变化和管理需求变化而进行的修改,通常不涉及软件功能的扩充;而完善性维护指为扩充功能和改善性能而进行的修改,通常是指软件在投入使用并正常运行的过程中,针对用户提出的增加新功能、修改现有功能等要求进行的维护;预防性维护则指改进软件未来的可靠性或可维护性,或者为了给未来的改进提供更好的基础而对软件进行的修改。\n<br><br>\n【问题2】<br>\n<img alt=\"\" width=\"500\" height=\"97\" src=\"https://image.chaiding.com/ruankao/90174a27132d63a6999bedf4d05303c0.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n本问题考查考生按照维护性质将收集到的维护申请进行分类,以便后续进行处理的能力。<br>\n在问题说明中,维护申请(1)和(9)是为了提高软件未来的可维护性而需要进行的修改,分别通过修改报表生成模式及数据库访问方式,提高软件系统未来的可维护性,以适应未来用户可能提出的需求变化,因此应属于预防性维护。维护申请(2)、(5)和(8)均与软件使用过程中出现的新需求有关,(2)和(5)均涉及软件原设计中未包含的新功能需求,(8)则属于为改善性能而需进行的修改,且它们均和改进软件未来的可维护性或可靠性无关,因此这三项维护申请应属于完善性维护。维护申请(3)和(7)均与软件使用过程中发现的软件错误有关,因此应属于正确性维护。维护申请(4)和(6) 分别是由于控制器部件更新和操作系统升级而需要进行的修改,均是为了适应新的软硬件环境变化而进行的修改,因此应属于适应性维护。\n<br><br>\n【问题3】<br>\n(a) (2),(b) (3),(c) (4),(d) (1),((b)与(c)可互换)<br>\n<br>\n本问题考查考生对不同类型维护申请处理流程的掌握,考生应能识别不同类型维护申请在处理流程上的关键差异。其中正确性维护需要首先评价错误的严重程度,如果错误非常严重(例如某个关键功能不能运行),则应立即进行维护实施,若错误不严重,则要与其他软件开发任务一起,统一安排实施,因此图5-1中的(d)应填(1);与正确性维护类似,适应性维护申请因为涉及软件现有功能是否能够正常使用,因此一旦确认通常也是必须进行实施的,但适应性维护首先应评价维护申请并进行优先次序的分类,然后统一进行维护实施,因此图5-1中的(a)应填(2);而对于完善性维护与预防性维护,出于对商业策略、当今和今后软件产品方向等方面的考虑,不是所有的完善性维护或预防性维护都会被接受,因此需要对维护申请进行进一步评估和分类,以确定是否接受申请并进行维护实施。对于未被接受的完善性维护或预防性维护申请,直接通知申请者;对于接受的申请,评定优先次序后统一进行实施。因此图5-1中的(b)和(c)应分别填(3)和(4)。<br>\n可行性:以已有目前可以运行的软件作为参考,重新开发的生产率应大大高于平均值;目前已经拥有使用该软件的经验,所以能够容易地确定新的需求和修改方向;从软件代码开发与维护的角度看,重新编写新代码的费用可能远低于维护现有文档不齐全的代码的费用。<br>\n后续可维护性:使用现代的设计概念,重新设计软件结构,能够极大地方便今后的维护;此外采用软件工程的方法进行重新设计、编码和测试,可以形成完整的软件文档,也便于后续的软件维护。<br>\n<img alt=\"\" width=\"400\" height=\"421\" src=\"https://image.chaiding.com/ruankao/f653067861cfe5fd7785dafb6dead7ae.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题4】<br>\n本问题考查难以维护的程序(也称为“奇异码”)的具体维护方法选择。从问题说明中可以看出,因为现有技术人员没有参加过该代码的开发工作,并且重用的这部分代码开发不规范,其数据和代码结构设计都很差,相应的文档极不完整,维护记录也很简略,因此该模块代码属于典型“奇异码”,对于该模块的维护可以采用修改原有代码和重新进行设计开发两种方式进行,而采用后者具有可行性和后续可维护性两个方面的优势,具体表现为:<br>\n从可行性角度看,由于已有目前可以运行的软件作为参考,因此重新开发的生产率应大大高于平均值;并且目前己经拥有使用该软件的经验,所以能够容易地确定新的需求和修改方向;从软件代码开发与维护的角度看,重新编写新代码的费用可能远低于维护现有文档不齐全的代码的费用。<br>\n从后续可维护性看,使用现代的设计概念,重新设计软件结构,能够极大地方便今后的维护;此外采用软件工程的方法进行重新设计、编码和测试,可以形成完整的软件文档,也便于后续的软件维护。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240075691151361","title":"试题五(25分)<br>\n阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某软件公司拟为其客户开发一套基于Web的电子商务系统,该系统向终端用户提供在线购物功能。近期,项目组召开会议对以下两项需求进行了重点讨论:<br>\n(1)系统终端用户的界面呈现应提供丰富的多媒体信息,包括文本、图片、动画、视频及语音消息。<br>\n(2)系统上线后需应对大量客户端并发请求处理,商家促销活动时,并发用户数可能会达到20万的规模;系统预期用户呈明显地地域集中分布特征。\n<br><br>\n【问题1】(12分)<br>\n项目组在讨论实现需求(1)的技术方案时,首先确定了以下技术原则:<br>\n(a)应在开发阶段容易获得良好的协作开发环境支持;<br>\n(b)应考虑客户端浏览器的兼容性;<br>\n(c)应尽可能使系统具有良好的可维护性;<br>\n(d)应考虑公司开发人员的技术学习成本。<br>\n项目组就Flex与HTML5两种技术方案进行了论证,综合考虑上述技术原则要求,最终采用了基于Flex的技术方案,请结合需求(1)及上述技术原则,对比Flex与HTML5两种技术方案的优劣,说明采用基于Flex的技术方案的原因。\n<br><br>\n【问题2】(13分)<br>\n项目组在讨论实现需求(2)的技术方案时,首先确定了以下技术原则:<br>\n(a)系统中商品信息及用户信息按类别划分不同数据库或表存放;<br>\n(b)系统应提供热备份机制以防止服务器意外失效;<br>\n(c)为满足大规模并发处理要求,系统软硬件投入可根据需要追加。<br>\n项目组经过集思广益,抽取了HTML静态化、缓存、库表散列、集群与镜像、负载均衡等候选技术手段。请结合需求(2)及相应技术原则,分析上述技术手段在本项目中的可行性,将结果填入表格5-1中。<br>\n<img alt=\"\" width=\"583\" height=\"180\" src=\"https://image.chaiding.com/ruankao/1146e39b68e85a008f9ccd8ee9d1d82d.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n从需求(1)看,该系统域于典型的富互联网应用,而基于Flex与HTML5的技术方案均可实现系统客户端多媒体呈现的基本要求,但HTML5往往需要同时配合CCS与JavaScrip t来实现完整的页面展现,对照项目组确定的技术原则,这两种方案存在以下主要区别:<br>\n(1)协作开发环境支持:Flex具备更好的协作开发环境,包括IDE、编泽器、调试工具及分析工具等,而目前HTML5开发过程中没有很好的协作环境,调试过程比Flex 开发相对困难。<br>\n(2)浏览器兼容性:Flex通过插件来实现浏览器的兼容性,一次开发可以适应目前主流的浏览器,而HTML5目前的浏览器兼容性较差,调试时需要针对不同浏览器调整可靠性、屏幕大小等具体参数,来确定界面呈现的具体效果,因此其兼容性目前相对Flex而言要更差一些。<br>\n(3)可维护性:基于Flex的开发方法目前已比较成熟,如Flex Spark幵发框架对MVC模式有良好的支持,可以实现表现层与逻辑层的分离,而在HTML5中,由于目前JavaScript对面向对象支持并不完善等原因,使得基于HTML5的开发没有形成规范的开发流程,因此系统的维护成本要比Flex高。<br>\n(4)技术学习成本:由于HTML5往往需要同时配合CCS与JavaScript来实现完整的页面展现,因此对不熟悉的技术人员来讲,需要学习的技术较多,与Flex相比,学习成本,尤其是初学的成本要更大一些。\n<br><br>\n【问题2】<br>\n<img alt=\"\" width=\"560\" height=\"332\" src=\"https://image.chaiding.com/ruankao/a748511f4f4b1e1b5fcfac5d2d4e723c.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n本问题考查大规模用户并发请求处理技术。<br>\n在题干中给出的5种相应技术手段中,HTML静态化手段可实现对系统经常访问的网页进行静态化以提高系统访问效率,但系统页面通常需要根据数据库中的用户信息、商品信息、订单信息及评论信息动态显示,且内容更新频繁,因此不适合采用。对于缓存技术手段,根据在线购物业务的特征,系统应用需要频繁访问数据库,因此可以对经常访问的数据建立缓存,以提高并发访问效率。根据技术原则(a),系统中商品信息及用户信息按类别划分不同数据库或表存放,因此可以采用库表散列的手段提高数据库并发访问效率。根据需求(2),系统需有效处理大量并发请求,且系统预期用户呈明显地域集中分布特征,因此可以采用集群与镜像手段提高用户的并发访问效率,且技术原则(b)要求系统应提供热备份机制以防止服务器意外失效,因此可以采用镜像机制提高系统的可靠性,根据题干中技术原则(c),又可根据需要追加集群与镜像所需的软硬件投入。负载均衡将是大型Web应用解决高负荷访问和大量并发请求时常用的有效解决方法,在系统采用集群和镜像技术手段时,负载均衡也是系统必须采用的相应配合手段。综上不难看出,除HTML静态化手段外,其他四种技术手段均可应用于本系统,以提高大规模用户并发访问的处理效率。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240011820290049","title":"试题三(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n在传统的嵌入式系统中,由于应用背景的不同,架构风格存在着差异。某公司长期从事各类嵌入式电子产品的研发工作,为了扩展业务,拟承担安全关键嵌入式产品的研制,为了统一本公司嵌入式产品的架构,以兼顾安全关键系统和非安全关键系统,公司领导层提出了采用国外近年新的跨领域嵌入式系统架构,新架构主要有6个特点:<br>\n(1)面向构件化<br>\n(2)开放式<br>\n(3)支持多种安全级别<br>\n(4)服务的层次化<br>\n(5)确定性核心<br>\n(6)内部组合的标准化<br>\n图3-1给出了跨领域嵌入式系统架构,图中CS表示领域无关的核心服务、OS表示领域无关的选择性服务、DSC表示领域相关的中心服务、DSO表示领域相关的选择性服务。该架构通常称为“腰”型架构,将嵌入式系统分为核心服务层、域服务层和应用服务层三个层次,实现了应用间相对无关性设计,架构的腰部为与领域无关的核心服务。<br>\n<img alt=\"\" width=\"402\" height=\"251\" src=\"https://image.chaiding.com/ruankao/17e8a38c4ca3082ad3b31757d603cf92.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题1】(8分)<br>\n请用200字以内文字说明图3-1 “腰”型架构的特点。\n<br><br>\n【问题2】(10分)<br>\n针对图3-1的“腰”部的核心层,表3-1中给出了10种服务,请判断这些服务中哪些属于核心服务(Core Services),哪些属于选择性服务(Optional Service),将结果填到表3-1中。<br>\n<img alt=\"\" width=\"550\" height=\"205\" src=\"https://image.chaiding.com/ruankao/2d84f60f016c8e4ff122d6887c957284.jpg?x-oss-process=style/ruankaodaren\"><br>\n<img alt=\"\" src=\"https://image.chaiding.com/ruankao/033bbdb213da8c347b30d3281172c621.jpg?x-oss-process=style/ruankaodaren\" width=\"547\" height=\"135\">\n<br><br>\n【问题3】(7分)<br>\n该公司遵从图3-1定义的嵌入式架构风格,梳理了现有产品序列,定义了公司产品中涉及的软件主要包括以下4类:<br>\n(1)基于分区化的嵌入式操作系统(如:VxWorks653)<br>\n(2)存储管理部件(如:文件系统)<br>\n(3)支持产品互联的多种网络协议部件(如:TCP/IP、ppp、CAN、1394等)<br>\n(4)应用软件<br>\n请根据你所掌握的上述软件的相关知识,说明这些软件应归属图3-1中核心服务层、 域服务层和应用服务层中的哪一层。并举例说明上述软件提供的服务中哪些归属于架构的OS、CS、DSC和DSO服务,填写表3-2。<br>\n<img alt=\"\" width=\"500\" height=\"109\" src=\"https://image.chaiding.com/ruankao/93f85f37b7feb127ef026aa0138bb440.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n(1)此架构较好地支持了面向构件的设计方法。<br>\n(2)核心服务层提供的服务与域无关,它提供两类服务,核心服务和选择服务。选择服务可用于多个域,必要的话,开发者可将选择服务从架构中摘除。<br>\n(3)域服务层是针对某个具体应用领域所提供的一组服务,这组服务建立在核心服务和已确定的选择服务之上,为应用提供服务。<br>\n(4)应用服务层是为每个具体应用所提供的服务(含中间件构件),它与具体应用紧密相关。<br>\n<br>\n在给出“腰”型架构的基础上,本问题需要考生描述该架构的特征。可以看出,该架构主要有四个特点:<br>\n(1)此架构较好地支持了面向构件的设计方法;该特点在题干描述中有相关提示。 该新架构主要有4个特点。<br>\n(2)核心服务层提供的服务与域无关,它提供两类服务,核心服务和选择服务。选择服务可用于多个域,必要的话,开发者可将选择服务从架构中摘除;该特点可以从架构图中看出。<br>\n(3)域服务层是针对某个具体应用领域所提供的一组服务,这组服务建立在核心服务和己确定的选择服务之上,为应用提供服务;该特点在题干描述中有提示:该架构通常称为“腰”型架构,将嵌入式系统分为核心服务层、域服务层和应用服务层三个层次, 实现了应用间相对无关性设计,架构的腰部为与领域无关的核心服务。<br>\n(4)应用服务层是为每个具体应用所提供的服务(含中间件构件),它与具体应用紧密相关。该特点在题干描述中有提示:该架构通常称为“腰”型架构,将嵌入式系统分为核心服务层、域服务层和应用服务层三个层次,实现了应用间相对无关性设计,架构的腰部为与领域无关的核心服务。\n<br><br>\n【问题2】<br>\n<img alt=\"\" width=\"500\" height=\"177\" src=\"https://image.chaiding.com/ruankao/f5199c1c7d5e395269fb3fc567ba844f.jpg?x-oss-process=style/ruankaodaren\"><br>\n<img alt=\"\" width=\"500\" height=\"148\" src=\"https://image.chaiding.com/ruankao/8a32d2dd3602bdb6f8aed9a704d9a6d1.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n本问题主要考查考生对“腰”架构的理解与掌握,并据此填写各种服务的归属情况。可以看出,除基本通信、基本计时器和构件执行三个服务为核心服务外,其他服务均属于选择性服务。该问题的答案在“腰”型架构的中部有相关英文提示,考生应该能够从题目中充分捕获相关信息,帮助题目回答。\n<br><br>\n【问题3】<br>\n<img alt=\"\" width=\"500\" height=\"103\" src=\"https://image.chaiding.com/ruankao/1b56bec441cf17261756a3d7d0cf9be8.jpg?x-oss-process=style/ruankaodaren\"><br>\n<img alt=\"\" width=\"500\" height=\"143\" src=\"https://image.chaiding.com/ruankao/2648bf58e9cb333a8ed703e73a528e44.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n本问题主要考查考生对“腰”型架构的应用情况,首先应该对题干中四类软件部件的功能进行理解,进而分类,最终完成表格填写。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240124479295489","title":"试题四(25分)<br>\n阅读以下关于数据库架构设计的叙述,回答问题1至问题3。<br>\n【说明】<br>\n某软件公司欲开发一个社交网络系统,该系统能够接收多个不同种类客户端发送的信息,并将这些信息实时显示在每个客户端的页面上供客户阅读。该系统将为数以百万计的用户服务,因此,要求采用的数据库能够支持大量信息存储,能够满足并发读写要求,并要求随着数据规模的扩大,数据库系统要易于进行扩充。关于数据库架构的设计,王工和张工提出了两种模式:王工提出基于传统的关系型数据库模式,通过向上扩展(Scale-up)以满足数据库的可扩展性要求;李工提出利用新兴的NoSQL数据库模式,通过向外扩展(Scale-out)以满足数据库的可扩展性要求。项目组经过讨论,决定采用李工提出的设计方案。\n<br><br>\n【问题1】(11分)<br>\n请指出关系数据库模式和NoSQL模式在并发支持、存储与查询、扩展方式、索引方式和应用领域五个方面各自的特点,结果填入表4-1中(1)~(10);并针对应用需求,说明项目组选择李工提出的设计方案的原因。<br>\n<img alt=\"\" width=\"525\" height=\"139\" src=\"https://image.chaiding.com/ruankao/8e6006842218913dfc23521c22b7d1bf.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(8分)<br>\n与传统的关系型数据库相比,NoSQL数据库所支持的典型数据存储类型有哪些?\n<br><br>\n【问题3】(6分)<br>\n在实际应用中,NoSQL数据库存在的问题有哪些?","analyze":"【问题1】<br>\n关系数据库模式和NoSQL模式的特点比较:<br>\n<img alt=\"\" width=\"546\" height=\"146\" src=\"https://image.chaiding.com/ruankao/c7efb52d51dea86d286f22f7115aa126.jpg?x-oss-process=style/ruankaodaren\"><br>\n选择李工方案的原因分析:<br>\n(1)社交网络系统对于数据库并发负载要求非常高,对于数量较大的数据库并发写要求,关系型数据库难以满足;<br>\n(2)海量数据的高效率存储和访问需求,数百万账号信息,关系型数据库查询效率很低;<br>\n(3)可扩展性需求,可以通过增加更多的服务器节点来实现扩展。<br>\n【问题2】<br>\n<br>\n解析:本问题要求考生针对关系数据库模式和NoSQL模式的特点进行分析。关系数据库利用加锁机制支持并发操作,执行效率较低,利用关系表的方式存储数据,通过SQL语言和数据库进行交互,主要通过提升硬件配置等向上扩展方式提升性能,B树和哈希是常用的索引结构,其能够广泛应用于多个领域;NoSQL作为新兴的数据库模式处理并发的效率较高,支持海量数据存储和查询,利用增加分布存储的数据库节点数目扩展性能,主要以键值方式存储数据,在对于大规模并发数据处理的分布式应用中有更好的表现。根据项目的实际应用需求,所以采用NoSQL模式更为合适。\n<br><br>\n【问题2】<br>\nMySQL数据库支持的数据存储类型有:<br>\n(1)表格/列存储:存储稀疏表格数据,类似于传统的二维表格式存储;<br>\n(2)文档存储:用于存储非结构化或半结构化文件;<br>\n(3)图像存储:利用节点、边和属性的方式存储图片类数据,常被用于存储社交网络服务中;<br>\n(4)键值存储:类似哈希表一样存储简单的键值对,有基于内存和基于磁盘两种实现方式;<br>\n(5)对象和多值存储:对象数据库存储面向对象语言中的对象,多值数据库存储表格型数据,每个单元格中可存储多个值。<br>\n<br>\n解析:本问题要求考生掌握NoSQL数据模式所支持的数据类型。常见的数据类型包括表格/列存储、文档存储、图像存储、键值存储、对象和多值存储等。\n<br><br>\n【问题3】<br>\nNoSQL数据库存在的问题是:<br>\n(1)成熟度不够,大量关键特性有待实现;<br>\n(2)开源数据库产品的支持力度有限;<br>\n(3)数据挖掘与商务智能支持不足,现有的产品无法直接使用NoSQL数据库;<br>\n(4)NoSQL数据库专家较少,大部分都处于学习阶段。<br>\n<br>\n解析:本问题要求应试者分析NoSQL数据库模式在实际应用中的不足之处。作为一种新兴的数据库模式,其实现的完整性、应用范围和专业知识等与成熟的关系型数据库相比 还有一定的差距。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240043160129537","title":"试题二(25分)<br>\n阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某高校计算机学院实验中心有5个机房,200个机位,主要承担学生计算机软件相关课程的上机实践任务。实验中心每年工作时间约为200天,每天平均工作时间为8小时。2013年初,实验中心决定对机房进行升级改造,其中UPS电源等设备可利旧,不需要重新购置,改造后每个机位机器的基本配置要求见表2-1。实验中心现公开征集硬件改造方案。<br>\n<img alt=\"\" width=\"461\" height=\"115\" src=\"https://image.chaiding.com/ruankao/d77d98629e6a090525a659d18d2ab79e.jpg?x-oss-process=style/ruankaodaren\"><br>\n一个月后,实验中心的主管从众多的改造方案中选择了A公司和B公司提出的方案进行最终评审。A公司主张采用PC机更新换代的方式进行改造,其主要的设备和报价如表2-2所示。<br>\n<img alt=\"\" width=\"463\" height=\"127\" src=\"https://image.chaiding.com/ruankao/c19c9d9a675b2f1e52d50d874f3b1a89.jpg?x-oss-process=style/ruankaodaren\"><br>\nB公司主张以桌面云的方式对实验中心进行全面改造,其主要的设备和报价情况如表2-3所示。<br>\n<img width=\"461\" height=\"147\" alt=\"\" src=\"https://image.chaiding.com/ruankao/8a56fdb0bb272abf8c7f7785e071f1a1.jpg?x-oss-process=style/ruankaodaren\"><br>\n实验中心组织了多名专家召开了论证会,会上专家对这两种方案进行了评审,最终采纳了B公司的改造方案。\n<br><br>\n【问题1】(7分)<br>\n桌面云方案的核心是虚拟化技术,请用200字以内的文字说明什么是虚拟化技术,并从应用角度列举3种虚拟化技术。\n<br><br>\n【问题2】(18分)<br>\n请以A公司方案中的机器性能为基准,从应用模式、投入成本、运维成本、安全性、能源消耗等5个方面对两种方案进行详细比较(其中投入成本与能源消耗要求量化比较),说明为什么专家采纳了B公司的改造方案。","analyze":"【问题1】<br>\n虚拟化技术是指将计算机物理资源如服务器、网络、内存及存储等予以抽象、转换后呈现出来,虚拟化后的资源不受现有物理资源的架设方式、地域及物理组态所限制,用户能够十分灵活地使用这些资源,常见的虚拟化资源主要包括计算和存储能力。<br>\n从应用角度看,常见的虚拟化技术包括服务器虚拟化、展现层虚拟化、桌面虚拟化、应用程序虚拟化、网络虚拟化和存储虚拟化等。<br>\n<br>\n本题主要考查考生对云计算项目实施过程中的分析与规划问题的理解与掌握。<br>\n本问题主要考查云计算中的核心技术:虚拟化技术的理解与掌握情况。虚拟化技术是指将计算机物理资源如服务器、网络、内存及存储等予以抽象、转换后呈现出来,虚拟化后的资源不受现有物理资源的架设方式、地域及物理组态所限制,用户能够十分灵活地使用这些资源,常见的虚拟化资源主要包括计算和存储能力。从应用角度看,常见的虚拟化技术包括服务器虚拟化、展现层虚拟化、桌面虚拟化、应用程序虚拟化、网络虚拟化和存储虚拟化等。\n<br><br>\n【问题2】<br>\n从应用模式角度分析,该计算中心的主要业务是为学生提供课程上机环境,因此对机器性能和网络带宽等指标要求不高,两种方案均满足要求。<br>\n从投入成本角度分析,A公司的方案中,网络成本为10*1000=1(万元),机器成本为(3100+900)*200=80(万元),总体成本为81万元;B公司方案的网络成本为11*1000=1.1(万元),机器成本中服务器成本14*30000=42(万元),瘦客户机和显示器成本(0.05+0.09)*200=28(万元),服务器电源、机架成本为1*2=2 (万元),总体成本为73.1万元。总体来说,B公司的方案比A公司的方案节约投资81-73.1=7.9(万元)。<br>\n从运维成本角度分析,A公司的方案要求系统管理员对每台PC机均进行安装、配置与维护,而采用B公司的方案,则只需要集中维护一套系统,能够大大降低系统的维护成本。<br>\n从安全性角度分析,B公司的方案能够使得学生使用的操作系统托管在高安全性的Unix/Linux环境中,与A方案相比能够有效抵御病毒和木马侵袭。<br>\n从能源消耗角度分析,按照实验中心每天有效工作时间8小时,1年工作200天计算,A公司的方案中,单台机器功率为230+25=255(W),单台交换机功率为30W,—年总体能源消耗为(255*200+30*10)*200*8=82080(kWh);B公司的方案中,单台服务器的功率为800W,单台客户端的功率为48W,单台交换机的功率为30W,总体能源消耗为(800*14+48*200+30*11)*200*8=33808(kWh)。可以看出B公司方案的能源消耗每年可节约82080-33808=48272(kWh)。<br>\n<br>\n本问题主要考査考生对两种改造方案的具体认识,考生需要按照题干要求,从应用模式、投入成本、运维成本、安全性、能源消耗5个方面对两种方案进行详细比较,其中投入成本、能源消耗两个方面要求根据题干表格中给出的详细数据进行计算,给出两种方案的具体量化取值。应用模式、运维成本和安全性3个方面需要针对传统模式和云计算模式的特点,分别定性阐述两种方案的优劣。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240064819515393","title":"试题二(25分)<br>\n阅读以下关于宏观经济数据库建设的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\nA市经过软课题研究己经形成了一整套宏观经济指标体系,用于描述该市的经济状态,涉及包括区域GDP、人口与就业、城市建设与投资、财政收入和支出、土地、进出口贸易、社会保障、人民生活、制造业和高新技术产业等方面,并为主要指标建立了计算模型。与宏观经济指标有关的数据称为宏观经济数据,主要的宏观经济数据广泛地分布于政府统计部门、计划部门、财政部门、税收部门、教育部门、商业部门、物价部门、农业生管部门、工业信息化主管部门等等,还分布于金融部门、大中型企业等。这些部门针对自身业务,多数都有自己的管理信息系统或者办公自动化系统,主要的宏观经济数据都已经实现了电子化。<br>\n目前,A市宏观经济指标的获得还采取传统方式,即通过有关部门逐级报表汇总宏观经济数据的方式和统计调査的方式得到。统计调查方式存在系统性的误差,而报表汇总方式则存在基础数据不准确、人为影响较大、指标分析灵活性差等问题。\n<br><br>\n【问题1】(10分)<br>\n为准确掌握经济动态信息,进一步规范各级经济信息资源管理行为,加快信息资源共享,提高政府的管理科学化和服务社会化水平,该市决定建设宏观经济数据库,将宏观经济数据统一管理。<br>\n为稳步推动A市宏观经济数据库建设,A市市政府委托咨询公司B进行项目原型研究。B公司经过调研,认为A市电子政务网络、存储和计算平台非常完善,为宏观经济数据库的建设奠定了良好的基础。请用200字以内文字指出此时B公司在进行原型分析的时候应重点做好哪几方面的工作?\n<br><br>\n【问题2】(6分)<br>\n经过分析比较,B公司确定了 “物理分散,逻辑集中”的建设思路,因此未来宏观经济数据库是一个分布式数据库系统。请用200字以内文字简要分析,除了数据交换机制外,是否还需要建设一个集中的数据库?并叙述理由。\n<br><br>\n【问题3】(9分)<br>\n小张是B公司的开发经理,在开发A市宏观经济数据库原型的时候,用前端分析工具按照指标计算模型,计算“宏观投资现状”指标,该指标计算模型的输入参数包括:交易额,信息来源是市国税局和市地税局的税收征管系统;<br>\n项目立项信息,信息来源是市发改委的立项审批管理系统;<br>\n资金拨付信息,信息来源是市财政局的统一支付系统;<br>\n贷款信息,信息来源于银行的信贷管理系统等;<br>\n资源消耗信息,信息来源于电力公司、自来水公司等。<br>\n……<br>\n小张按照输入参数来源单位提供的数据接口说明取得了输入参数,经过计算得到了“宏观投资现状”指标,但发现该指标与传统方式得到的指标差别很大。<br>\n请用200字以内文字,指出存在差别的可能技术原因。","analyze":"【问题1】<br>\n1.数据分布及状态详细调查(或者数据梳理)。<br>\n2.各政府部门业务流程以及信息系统使用情况调查。<br>\n3.统一的数据标准规范研究。<br>\n4.指标计算模型研究,确定各个指标的输入数据。<br>\n5.提出数据管理(采集、存储、使用、维护等)工作流程方案。<br>\n6.获取有关部门宏观经济数据的具体应用需求。<br>\n<br>\n试题的题干简要介绍了宏观经济数据库的概念以及宏观经济数据库数据的广泛分布情况。从题干中,我们能够了解:经济状态用宏观经济指标来表示,而这些指标需要通过计算模型估算,模型的输入信息有很多。这些信息分布于政府、金融、财税、企业等众多部门,这些信息的有机集合称为宏观经济数据库。这样的数据库,采用物理集中的建设方式,不具有可操作性,而且计对同一事件,不同部门的数据都会有反映,这些数据有可能是一致的,也有可能是不一致的,因此在建设宏观经济数据库的时候,要对数据进行整合。<br>\n问题1说明中指出了该市的基础信息平台很完善(网络、存储和计算平台),因此B公司在进行原形分析时,主要分析的不是数据库的运行平台,而是数据的生产、数据的存储、数据的消费(应用)、标准规范等情况。\n<br><br>\n【问题2】<br>\n需要建设一个集中的数据库作为核心数据库。主要理由:<br>\n1.数据分布广,同一数据类或数据项存在信息冗余和不一致的情况,应用前需要比对和清洗,整理后的数据应存放于核心数据库。<br>\n2.宏观经济信息的实时性要求不高,以集中的统一的核心数据库为基础,提供经济信息服务,形成的经济指标更加科学。<br>\n<br>\n试题的题干简要介绍了宏观经济数据库的概念以及宏观经济数据库数据的广泛分布情况。从题干中,我们能够了解:经济状态用宏观经济指标来表示,而这些指标需要通过计算模型估算,模型的输入信息有很多。这些信息分布于政府、金融、财税、企业等众多部门,这些信息的有机集合称为宏观经济数据库。这样的数据库,采用物理集中的建设方式,不具有可操作性,而且计对同一事件,不同部门的数据都会有反映,这些数据有可能是一致的,也有可能是不一致的,因此在建设宏观经济数据库的时候,要对数据进行整合。<br>\n对于“物理分散,逻辑集中”的数据库,在进行逻辑集中的时候,要对数据进行整合,消除数据的不一致性,而且宏观经济数据库的应用没有实时性要求,为便于计算模型获得口径一致的输入数据,应该建设一个集中的数据库。\n<br><br>\n【问题3】<br>\n1.输入参数的时间戳不一致,或者时间段口径不一致。<br>\n2.数据不符合统一的标准,或者数据标准不一致(如投资主体的代码在不同的系统中不一致)。<br>\n3.数据来源单位的数据没有及时更新,或者不全。<br>\n4.存在无效数据,如某个投资主体有误或不存在。<br>\n<br>\n试题的题干简要介绍了宏观经济数据库的概念以及宏观经济数据库数据的广泛分布情况。从题干中,我们能够了解:经济状态用宏观经济指标来表示,而这些指标需要通过计算模型估算,模型的输入信息有很多。这些信息分布于政府、金融、财税、企业等众多部门,这些信息的有机集合称为宏观经济数据库。这样的数据库,采用物理集中的建设方式,不具有可操作性,而且计对同一事件,不同部门的数据都会有反映,这些数据有可能是一致的,也有可能是不一致的,因此在建设宏观经济数据库的时候,要对数据进行整合。<br>\n指标差别大,主要是因为数据的不一致性造成的,产生不一致性的原因可能包括数据的时间戳、标准等。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240039083266049","title":"试题三(25分)<br>\n阅读以下有关嵌入式软件可信计算方面的叙述,在答题纸上回答问题1至问题2。<br>\n【说明】<br>\n某公司长期从事嵌入式商用软件的开发工作。随着业务范围的扩展,公司最近签署了一项大型客机信息综合处理的软件研制合同,作为机载软件,其可靠性和安全性直接影响着大型客机的安全特性。合同要求承制方在开展工作之前必须完成安全性、可靠性分析报告,在软件开发过程中应严格遵循相关工程化标准。<br>\n公司总经理将此项任务交给了张工程师,要求他尽快掌握航空软件研制的各项要求,并拿出项目的策划书。张工在深入研究了可信计算等相关知识的基础上,结合航空软件的特点,提出了一项项目实施策划方案。此方案在安全性设计方面借鉴了可信计算的相关技术,得到了甲方的认可,但是,针对此方案,公司领导层存在极大争议,问题主要焦点在于若按此方案实施,公司的人员、成本和资源投入将远远超过本公司的承受能力,张工指出,传统商用软件的开发模式不能满足航空用户的需要,软件可信度太低,对后续发展不利。经过认真讨论,公司领导层形成了统一认识,按可信计算的技术要求,提升公司的整体软件开发水平。\n<br><br>\n【问题1】(13分)<br>\nISO/IEC 154d8标准定义可信为:参与计算的组件,其操作或过程在任意的条件下是可预测的,并能够抵御病毒和物理干扰。而航空设备的基本特点就是要求设备工作的实体行为应该总是以预期的方式达到预期的目的(即行为、资源的确定性要求)。基于这种思想,张工依据可信计算组织定义的可信链模型(即可信测量根(RTM)—BIOS—OSLoadei—OS构成链式信任链模型)理论,给出了一种适应本项目的带数据恢复的星型信任模型(见图3-1)。该模型的中心思想是将可信测量根植入机载设备平台模块内部NVRAM(非易失存储器)中,在信任链中增加数据恢复功能,并将信任链延伸到应用。请根据张工设计思想,完善图3-1所示的带数据恢复星型信任模型的空白部分。并用100字以内的文字,解释该模型与链式信任链模型相比的特点。<br>\n<img width=\"224\" height=\"480\" alt=\"\" src=\"https://image.chaiding.com/ruankao/d99011769bac01a1c5d43ebbc2b03284.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(12分)<br>\n交叉编译器是嵌入式软件开发必备的基础工具软件之一。目前比较流行的交叉编译器是GNU系列产品,它是一种开源软件。编译器生成代码正确与否<br>\n严重影响机载设备的安全,因此,张工在方案中提出对本项目采用的交叉编译器开展可信技术研究。可信编译器包括两方面含义,其一是编译器自身的可信性,即必须保证整个编译操作的可信性,保证编译器在编译过程中不会给编译处理对象带来任何安全问题;其二是必须保证编译器编译所得程序可执行代码的可信,即编译器必须保证,通过其编译生成的程序代码是安全和可靠的。因此,张工提出在传统编译操作的基础上加入代码安全性加强制、代码可信性验证机制和可执行代码保护机制。图3-2给出了可信编译系统的框架。<br>\n请说明三种可信机制在传统编译操作步骤中的位置,并给出图3-2的(a)~(c) 对应的可信机制名称。<br>\n根据表3-1所示的信息流名称,给出图3-2中(d)~(h)对应的功能模块间的信息流编号。<br>\n<img width=\"608\" height=\"647\" alt=\"\" src=\"https://image.chaiding.com/ruankao/3d281e3129c0f96561403db8ee7c6c04.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n(1)OSLoader(2)操作系统(3)应用(4)恢复带数据恢复星型信任模型的特点:<br>\n(1)可信测量根被保护,安全性更高。<br>\n(2)具有数据恢复功能,安全性更高。<br>\n(3)都是一级测量,没有多级信任传递,信任损失少。<br>\n<br>\n可信计算的基本思想是:首先在计算机系统中建立一个信任根,再建立一条信任链,从信任根开始,经过硬件平台和操作系统,再到应用,一级测量认证一级,一级信任一级,从而把这种信任扩展到整个计算机系统。<br>\n可信计算组织的信任链采用了一种链式的信任测量模型,即由RTM(可信测量根)→BIOS→OSLoader→OS构成一个串行链。由于采用了一种迭代计算哈希值的方式,即将现值与新值相连,再计算哈希值并作为新的完整性度量值存储起来。<br>\n链式信任链具有如下缺点:信任链越长,信任损失的可能性就越大。在链中加入或删除一个部件,PCR的值需要重新计算,很麻烦。信任链中的软件部件可能会更新(如BIOS升级,OS打补丁等),而PCR的值也得重新计算,这样一来使得部件更新工作很麻烦。<br>\n带数据恢复的星型信任模型结构如图3-3所示。<br>\nimg width=\"216\" height=\"458\" alt=\"\" src=\"https://image.chaiding.com/ruankao/28aabaa0b5d377bad2d35a2511202a0e.jpg?x-oss-process=style/ruankaodaren\"><br>\n它将可信测量根置入可信平台模块内部NVRAM(Non-VolatileRandom Access Memory,非易失性随机访问存储器),在信任链中增加了数据恢复功能,并将信任链延伸到应用。与可信计算组织的链式信任链相比,该模型具有如下特点:可信测量根被保护,安全性更高;具有数据恢复功能,安全性更高;都是一级测量,没有多级信任传递,信任损失少。但是,所有测量都由可信测量根执行,可信测量根通过可信平台模块完成任务,这使得可信平台模块负担加重。<br>\n在可信计算的信任链中应当度量的是可信性。但是,由于可信性目前尚不易直接度量,所以可信计算组织在信任链中采用的是度量数据完整性,而且是通过校验数据哈希值的方法来度量数据的完整性。但是,可信≈可靠+安全,完整性≠可信性,完整性⊂可信性,即完整性只是可信性中的一个侧面。<br>\n由于可信计算组织在信任链中采用的是度量数据完整性,因此它能确保数据的完整性,确保BIOS、OSLoader和OS数据的完整性。但是完整性只能说明这些软件没有被修改,并不能说明这些软件没有安全缺陷,更不能确保这些软件在运行时的安全性。基于数据完整性的度量是一种静态度量,基于软件行为的动态度量更实用。\n<br><br>\n【问题2】<br>\n(见表3-2、表3-3所示)<br>\n<img width=\"619\" height=\"288\" alt=\"\" src=\"https://image.chaiding.com/ruankao/5fe2c57ce4634356da60f01fa717cd55.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n可信计算的基本思想是:首先在计算机系统中建立一个信任根,再建立一条信任链,从信任根开始,经过硬件平台和操作系统,再到应用,一级测量认证一级,一级信任一级,从而把这种信任扩展到整个计算机系统。<br>\n编译器作为重要的系统软件,其可信性对于整个计算机系统的可信具有重要意义。如果编译器不可信,则很难保证其他软件的可信性。软件的可信性很大程度上依赖于程序代码的可信性,影响软件可信性的主要因素包括来自软件内部的代码缺陷、代码错误、程序故障以及来自软件外部的病毒、恶意代码等。因此,从代码角度来保证软件的可信性是实现可信软件的重要途径之一。<br>\n可信编译的目标就是从编译的角度保证软件的可信性,主要包括两方面含义,一方面,必须保证编译器自身是可信的。即必须保证整个编译操作的可信性,保证编译器在编译过程中不会给编译处理对象带来任何安全性问题,防止恶意攻击者通过修改编译器,在编译过程中对代码的原始语义进行篡改,影响程序代码本身的可信性;另一方面,必须保证编译器编译所得程序可执行代码是可信的,即编译器必须保证,通过其编译生成的程序代码是安全和可靠的。<br>\n编译器自身的可信性主要是指其编译过程的正确性、安全性和可靠性。一般认为,通过形式化验证的系统具有较高的可信性,可将形式化方法用于编译器本身。通过在传统编译操作的基础上加入代码安全性加强机制、代码可信性验证机制及可执行代码保护机制等三种机制,来保证编译所产生代码的可信性。<br>\n(1)代码安全性加强机制:该机制主要用于识别和处理程序中常见的一些安全漏洞。目前已提出许多针对程序常见安全漏洞的编译处理技术,具有代表性的如针对缓冲区溢出攻击的StackGuard方法等。<br>\n(2)代码可信性验证:该机制不可能解决所有的代码安全性问题。对于可信性要求较高的程序代码,必须通过形式化方法对其进行可信性验证。因此,我们提出在代码安全性加强机制对代码进行安全加强之后,通过代码可信性验证机制对代码的可信属性进行验证,对未通过验证的非可信代码进行报警或其他处理。这样,通过代码安全性加强和可信性验证相结合的方法保证编译生成可执行代码的可信性。<br>\n(3)可执行代码保护机制:为了防止攻击者对可信编译器最终生成的可执行代码进行恶意攻击或修改,可信编译器在完成编译之后,对可执行代码实施保护机制,保护编译所得可执行代码的完整性、秘密性和可用性,从而确保系统最终执行代码的可信运行。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240109518213121","title":"试题四(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某企业经过多年的信息化建设,存在大量的应用软件系统,为了保证这些系统的运行与维护,专门组建应用系统维护部门。该部门的主要工作是保证系统的正常运行、处理问题以及扩展这些应该系统的功能,以满足企业业务功能的变化与扩展。<br>\n目前该部门存在人员流失、变更频繁,文档丢失或长期失于维护,维护成本越来越高等问题,具体表现为:<br>\n问题(1):随着时间和人员的变动,程序被多人修改,往往导致程序难以理解,注释混乱,流程复杂;<br>\n问题(2):随着不断修改程序和增加新的功能,模块之间的耦合关系日益复杂,维护成本不断增加。<br>\n这些问题导致新来的维护人员需要直接面对大量流程、结构复杂的源程序,维护困难,往往一次改动需要设计大量的软件模块。<br>\n为解决应用系统维护部门面对的问题,企业信息部门组织了专门的专家讨论会。各位专家一致认为,逆向工程与重构工程是目前预防性维护采用的主要技术,应该采用逆向工程的技术方法,重构相关应用系统文档,同时采用软件重构来降低软件代码的复杂性,最终降低维护成本。\n<br><br>\n【问题1】(8分)<br>\n软件的逆向工程是分析已有程序,寻求比源代码更高级的抽象表现形式。与之相关的概念包括软件重构、设计恢复、重构工程等。请说明设计恢复中常见的恢复信息的4种级别。\n<br><br>\n【问题2】(11分)<br>\n重构是对软件内部结构的一种调整,目的是不改变软件功能的前提下,提高其可理解性,降低其修改成本。请说明软件重构的三个类别,并简要说明常见的重构方法。针对题干中的问题(1)和问题(2),宜采用何种重构方法?\n<br><br>\n【问题3】(6分)<br>\n软件重构做出的修改可能导致程序运行变慢,但也更容易进行软件的性能优化和调整,请分析原因。","analyze":"【问题1】<br>\n恢复信息的级别:<br>\n(1)实现级:包括程序的抽象语法树、符号表等信息;<br>\n(2)结构级:包括反映程序分量之间相互依赖的关系的信息,调用图、结构图等;<br>\n(3)功能级:包括反映程序功能与程序之间关系的信息;<br>\n(4)领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息。 <br>\n<br>\n软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序表示的过程。逆向工程是一个恢复设计的过程,从现有的程序中抽取数据、体系结构和过程的设计信息。恢复信息的级别分为:实现级、结构级、功能级和领域级。其中,实现级主要包括程序的抽象语法树、符号表等信息;结构级主要包括反映程序分量之间相互依赖的关系的信息,调用图、结构图等;功能级主要包括反映程序功能与程序之间关系的信息;领域级主要包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息。\n<br><br>\n【问题2】<br>\n软件重构一般分为三类:<br>\n(1)代码重构;(2)模块重构;(3)架构重构。<br>\n常见的重构方法有:重新组织函数、重新组织对象、重新组织数据、简化条件表达式、简化函数调用和处理概括关系。<br>\n针对问题(1),采用代码重构,重新梳理代码流程,使代码容易理解和维护;<br>\n针对问题(2),采用模块重构和架构重构,梳理模块之间的关系,使其更容易扩展和维护,降低模块之间的耦合度。<br>\n<br>\n软件重构的目的主要有四个方面:一是改进软件设计,帮助重新设计代码、重新体现设计结构和进一步改进设计;二是提高代码质量,更易被理解,这样很容易维护和进一步开发;三是可以帮助尽早发现错误,因为重构是一个代码的反馈过程,是在另一个时段重新审视自己或别人的代码,更容易发现问题和加深对代码的理解;四是提高开发速度,因为对设计和代码改进,都有利于提高开发速度。<br>\n软件重构-般分为三类:代码重构、模块重构和架构重构。基于代码重构的重构通常是按照闭队的规范整理代码,使其结构吏规范;基于模块重构是将代码封装,以便多次复用;基于架构重构的重构通常是实现软件的解耦,提高软件的可扩展性和灵活性。<br>\n常见的重构方法有:重新组织函数、重新组织对象、重新组织数据、简化条件表达式、简化函数凋用和处理概括关系。<br>\n根据以上所述,针对问题(1)显然应采用代码重构,重新梳理代码流程,使代码容易理解和维护;针对问题(2)显然应采用模块重构和架构重构,梳理模块之间的关系,使其更容易扩展和维护,降低模块之间的耦合度。\n<br><br>\n【问题3】<br>\n一个模块化程度好的程序可从两方面帮助性能优化。<br>\n(1)分解良好的程序,使得性能分析的粒度更细,性能调整更加容易;<br>\n(2)分解良好的程序,由于代码更加清晰,更容易与性能优化工具结合,分析系统性能瓶颈的具体位置。<br>\n<br>\n模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块具有以下几种基本属性:接口、功能、逻辑、状态,功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。在软件的体系结构中,模块是可组合、分解和更换的单元。<br>\n事实上,将软件分解成若干模块,则工作量会减少。但分解的模块越多,工作量不一定越少,因为分解到一定程度,模块之间的接口工作量就上升,从而使总代价上升。一个软件系统划分模块数的最佳值是M。从心理学角度研究表明,一个模块的大小最好在30~50个语句之间,即能全部写在一页打印纸上为限。一个模块化程度好的程序可从两方面帮助性能优化:一是使得性能分析的粒度更细,性能调整更加容易;二是由于代码更加清晰,更容易与性能优化工具结合,分析系统性能瓶颈的具体位置。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240135304794113","title":"试题四(25分)<br>\n阅读以下关于软件可靠性的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某企业欲研制某宇航控制系统。该系统对软件的可靠性要求很高,分配给软件的可靠性指标为R≥0.99 。根据软件结构设计方案,该软件由7个模块XI,X2, X7组成,分别完成不同的控制功能。<br>\n为了保证该控制系统能够满足环境可靠性指标,李工认为应该首先采用故障树方法分析,预测出可靠性指标。该企业主管采用了李工的建议,建立了该软件的故障树模型 (如图4-1所示),评估出了每个模块的可靠性指标,同时在每个模块的设计与实现过程中,采用了流程优化、结构优化、降低设计复杂度等方法来提高模块的可靠性指标。<br>\n软件开发完成后,项目组对该软件进行了相应的可靠性测试,得到了各模块的失效概率为:F<sub>X1</sub>=F<sub>X</sub><sub>2</sub>=0.05, F<sub>X3</sub>=0.008, F<sub>X4</sub>=0.07, F<sub>X5</sub>=F<sub>X6</sub>=0.05, F<strong>X7</strong>=0.08,通过计算割集的失效概率来近似计算整个软件的可靠性指标,计算结果表明该软件的可靠性未达到分配的指标要求。<br>\n<img alt=\"\" width=\"306\" height=\"321\" src=\"https://image.chaiding.com/ruankao/baf8e1def8fe6469ec7548068eb84679.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题1】(8分)<br>\n请给出该故障树的所有最小割集。\n<br><br>\n【问题2】(10分)<br>\n根据题中给出的、经过可靠性测试后得到的每个模块的失效概率,计算每个割集失效概率,并近似计算出整个软件的失效概率,说明该软件的可靠性测试指标确未达要求。\n<br><br>\n【问题3】(7分)<br>\n请进一步分析导致该软件可靠性测试未能满足分配指标要求的原因,并给出后续的改进策略。","analyze":"【问题1】<br>\n通过对故障树进行分析,可以得出其所有的最小割集为:K1={X3},K2={X1, X2}, K3={X4, X5, X6}, K4={X5, X6, X7}。<br>\n<br>\n解析:本题考查应用故障树分析方法来设计和评估软件可靠性。<br>\n故障树分析方法简称为FTA方法(Fault Tree Analysis),是1961年由贝尔电话实验室的H.A. Watson提出的。该方式是一种系统化、形式化的分析方法,可用于系统可靠性分析和安全性分析。其目的是采用演绎方法找出导致系统故障的各种可能的基本原因,从而找到系统的薄弱环节来改进系统的设计。本题考查的是通过故障树分析方法对软件系统的可靠性进行定性和定量分析。<br>\n定性分析的主要目的是找出所有可能的系统故障模式,即求取最小割集,并按照模块的重要性和最小割集的阶数来排列轻重次序。故障树分析方法的定性分析的核心目标是最小割集,可以通过最小割集找出系统的关键功能模块,从而找出导致关键功能模块失效的原因。<br>\n定量分析是在求出最小割集的基础上,通过其他方法获取每一个基本事件的发生概率,从而计算最小割集和顶事件的发生概率,从而可以对系统可靠性和安全性进行进一步分析。<br>\n割集定义:如果C是一个基本事件的集合,C中每个基本事件的发生将引起顶事件的发生,则C称为该故障树的割集。<br>\n最小割集定义:如果C是故障树的一个割集,去掉C的任何一个基本事件,使得C不成为割集,则C为该故障树的最小割集。<br>\n根据题中的故障树和最小割集的定义,即可求出该故障树的最小割集为:K1={X3}, K2={X1, X2},K3={X4, X5, X6}, K4={X5, X6, X7}。\n<br><br>\n【问题2】<br>\n通过对故障树进行分析,可以得出其所有的最小割集为:K1={X3},K2={X1, X2}, K3={X4, X5, X6}, K4={X5, X6, X7丨。则对应割集的失效概率分别为:<br>\nF(K1)=0.008 <br>\nF(K2)=0.05x0.05=0.0025 <br>\nF(K3)=0.07x0.05x0.05=0.000 175 <br>\nF(K4)=0.05x0.05x0.08=0.0002 <br>\n则整个软件的失效概率近似为:<br>\nP(T)=0.008+0.0025+0.000 175+0.0002=0.010 875<br>\nR=1-0.010 875=0.989 125&lt;0.99<br>\n因此,软件的可靠性没有达到分配的指标要求。<br>\n<br>\n解析:第二问是对该故障树的定量分析,在最小割集的基础上,已知每个基本事件的失效概率,即可计算出每个割集的失效概率,从而计算出整个软件系统的失效概率。即:<br>\nF(K1)=0.008<br>\nF(K2)=0.05*0.05=0.0025<br>\nF(K3)=0.07*0.05*0.05=0.000175<br>\nF(K4)=0.05 *0.05 *0.08=0.0002<br>\n则整个软件的失效概率近似为:<br>\nP(T)=0.008+0.0025+0.000 175+0.0002=0.010 875<br>\n根据题干中要求可以看出,此设计方案未能满足要求。\n<br><br>\n【问题3】<br>\n根据最小割集的定义,最小割集中所含模块数越少,此最小割集中模块的可靠性要求就越高。所以X3模块的可靠性要求最高,为关键功能模块。由于X3模块对应的割集失效概率过高,导致了软件未能达到分配的指标要求。<br>\n改进方法(答出一种即可):<br>\n(1)采用多轮重复测试的方法,使得模块X3的失效概率收敛,满足可靠性指标要求。<br>\n(2)重新设计模块X3,提高其可靠性,降低其失效概率。<br>\n(3)割集K1为一阶割集,容易出现单点故障。可以在X3模块所在层次或其上级增加“与门”,降低K1割集的失效概率。<br>\n<br>\n解析:最小割集所包含基本事件的数目称为最小割集的阶数。阶数越低的最小割集重要性越大,显然,阶数为1的最小割集最重要,其可靠性要求就越高。所以X3模块的可靠性要求最高,为关键功能模块。由于X3模块对应的割集失效概率过高,导致了软件未能达到分配的指标要求。<br>\n工程中实际的改进方法一般包括:<br>\n(1)采用多轮重复测试的方法,使得模块X3的失效概率收敛,满足可靠性指标要求。<br>\n(2)重新设计模块X3,提高其可靠性,降低其失效概率。<br>\n(3)割集K1为一阶割集,容易出现单点放障。可以在X3模块所在层次或其上级增加“与门”,降低K1割集的失效概率。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240049690660865","title":"试题二(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某电子商务公司为了扩大业务规模,提高企业的信息化程度与工作效率,决定由公司的IT部门开发一套ERP系统。在系统建设之初,该公司召开了项目论证会,对于项目的可行性进行了分析。<br>\n在论证会上,公司主管领导王总首先介绍了公司目前的运营情况,分析了竞争对手的优势和劣势,认为该项目的成功实施将大大提高公司的竞争力,因此对该项目大力支持,并要求项目必须按期、高质量地完成。公司的中高层管理人员一致认为现有业务大量依靠人工记录,效率低下,急切希望能够依靠该系统的部署提高工作效率,也表示将大力支持项目的开发工作。<br>\n公司IT部门的负责人李总对项目开发中的技术问题进行了分析,他认为IT部门多年来一直从事J2EE平台上的应用开发,开发经验丰富。由于近两年来基于B/S结构的Web应用逐渐流行,加之该项目是公司的内部项目,系统功能清楚明确,因此建议可以首先基于B/S架构,采用Web技术进行项目开发,让员工边学边练,即使项目进展不顺利,也可以迅速切换到J2EE平台之上。李总还透露,IT部门最近通过内部关系得到了某竞争对手公司的部分核心业务组件,只要稍加修改就可以立即加入到新系统中,这样就会大大加快项目的进度。<br>\n公司业务部门的代表小张表示,ERP系统上线后需要大量的数据采集工作,现有业务人员没有足够的IT技能,短期内难以保证数据录入质量。另外,新系统可能会导致一些现有业务流程的改变,业务人员一开始将难以适应新的业务处理方式,可能会抵制使用该系统。<br>\n最后,公司销售部门和财务部门的代表在会上对ERP系统的建设成本和收益进行了详细的分析和比较,给出了相应的结论。\n<br><br>\n【问题1】(8分)<br>\n在信息系统建设项目中,通常从经济可行性、技术可行性、法律可行性和用户使用可行性四个方面来进行可行性分析。请用300字以内的文字简要说明项目可行性分析这四个方面各自的主要内容。\n<br><br>\n【问题2】(10分)<br>\n请根据题干描述的项目开发总体思路,用600字以内的文字对技术可行性、法律可行性和用户使用可行性进行初步分析,并给出分析结论。\n<br><br>\n【问题3】(7分)<br>\n假设本项目有甲、乙、丙三个解决方案,投资总额均为1000万元,建设期均为2年,运营期均为4年,运营期各年末净现金流入量总和为2000万,年利率为10%,三种方案的现金流量表如表2-1所示。<br>\n<img alt=\"\" width=\"577\" height=\"244\" src=\"https://image.chaiding.com/ruankao/ab06e3aca2449823fab577f477dc6c1c.jpg?x-oss-process=style/ruankaodaren\"><br>\n请根据表2-1中的数据,计算甲、乙、丙三种方案的净现值,给出具体计算过程,并说明那种方案最优。","analyze":"【问题1】<br>\n经济可行性:经济可行性也称为投资收益分析或成本收益分析,主要评估项目的建设成本、运行成本和项目建成后可能的经济收益;<br>\n技术可行性:技术可行性也称为技术风险分析,主要评估信息系统需要实现的功能和性能,以及技术能力约束;<br>\n法律可行性:法律可行性也成为社会可行性,需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性;<br>\n用户使用可行性:用户使用可行性也成为执行可行性,是从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等。 <br>\n<br>\n本问题主要考查考生对系统可行性分析的理解与掌握。<br>\n具体来说,经济可行性也称为投资收益分析或成本收益分析,主要评估项目的建设成本、运行成本和项目建成后可能的经济收益;技术可行性也称为技术风险分析,主要评估信息系统需要实现的功能和性能,以及技术能力约束;法律可行性也成为社会可行性,需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性;用户使用可行性也成为执行可行性,是从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等。\n<br><br>\n【问题2】<br>\n技术可行性分析,通过题干描述可知该项目得到领导层的高度重视,对项目的工期和质量要求非常严格,IT部门对J2EE平台的应用开发较为熟悉。但是,该公司IT部门的负责人李总在明知本公司技术人员在Web技术方面不熟悉的情况下仍然建议采用该技术进行系统开发,忽视企业当前的资源和条件,得出过于乐观的结果,将会对后期的项目实施导致灾难性的后果。因此,李总的方案从技术上是不可行的。<br>\n法律可行性分析,李总在明知采用不正当手段获得竞争对手公司的核心业务组件的前提下,仍然建议在系统中使用其他企业受到保护的技术成果,这种方案在法律上是不可行的。<br>\n用户使用可行性分析,从管理可行性和运行可行性两方面进行分析,(1)管理可行性:根据题干描述,公司的主管领导王总对该项目将大力支持,公司的中高层管理人员也同样表示支持该项目的实施,因此该项目从管理上是可行的。(2)运行可行性:根据题干描述,公司的业务代表小张提出两个方面的问题,一个是企业业务人员没有足够的IT技能,可能对系统的数据采集与质量带来影响;二是系统上线后会改变一些业务流程,可能会为用户带来不便。针对上述问题,需要进-步进行讨论并与业务人员进行沟通,需要对业务人员和用户进行培训,并提供运维服务支持。<br>\n<br>\n本问题主要考查考生对于四种可行性分析的掌握与实际应用。<br>\n在技术可行性分析方面,通过题干描述可知该项目得到领导层的高度重视,对项目的工期和质量要求非常严格,IT部门对J2EE平台的应用开发较为熟悉。但是,该公司IT部门的负责人李总在明知本公司技术人员在Web技术方面不熟悉的情况下,仍然建议釆用该技术进行系统开发,忽视企业当前的资源和条件,得出过于乐观的结果,将会对后期的项目实施导致灾难性的后果。因此,李总的方案从技术上是不可行的。<br>\n在法律可行性分析方面,根据题干描述,李总在明知采用不正当手段获得竞争对手公司的核心业务组件的前提下,仍然建议在系统中使用其他企业受到保护的技术成果,这种方案在法律上是不可行的。<br>\n在用户使用可行性分析方面,又可以从管理可行性和运行可行性两方面进行分析。根据题干描述,公司的主管领导王总对该项目将大力支持,公司的中高层管理人员也同样表示支持该项目的实施,因此该项目从管理上是可行的。另一方面,公司的业务代表小张提出两个方面的问题,一个是企业业务人员没有足够的IT技能,可能对系统的数据采集与质量带来影响;二是系统上线后会改变一些业务流程,可能会为用户带来不便。针对上述问题,需要进一步进行讨论并与业务人员进行沟通,需要对业务人员和用户进行培训,并提供运维服务支持。<br>\n在计算三种方案的净现值时,必须首先给出折现系数,计算每种方案年初投资额和年末净现金流最的折现值,然后将每种方案的净现金流量折现值与投资额祈现值分别求和,最后用净现值流量之和减去投资额之和即为该方案的净现值,具体计算过程可以下表方式给出。<br>\n<img alt=\"\" width=\"555\" height=\"260\" src=\"https://image.chaiding.com/ruankao/722f15f42f5585baffc15e79eb89d83e.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】<br>\n方案甲:<br>\n(1)NPV=300*0.83+400*0.75+500*0.68+800*0.62-(700+300*0.91)=412<br>\n(2)NPVR=412/(700+300*0.91)=0.423<br>\n方案乙:<br>\n(1)NPV=200*0.83+400*0.75+600*0.68+800*0.62-(600+400*0.91)=406<br>\n(2)NPVR=406/600+400*0.91=0.421<br>\n方案丙:<br>\n(1)NPV=400*0.83+500*0.75+500*0.68+600*0.62-(800+200*0.91)=437<br>\n(2)NPVR=437/(800+200*0.91)=0.445<br>\n因为方案丙的净现值和净现值率均最大,因此,方案丙最优。<br>\n<br>\n本问题主要考査考生对于净现值分析法的实际应用能力。<br>\n净现值是指一个项目预期实现的现金流入的现值与实施该项计划的现金支出的差额。在计算三种方案的净现值时,必须首先给出折现系数,计算每种方案年初投资额和年末净现金流量的折现值,然后将每种方案的净现金流量折现值与投资额折现值分别求和,最后用净现值流量之和减去投资额之和即为该方案的净现值。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240007814729729","title":"试题一(25分)<br>\n阅读以下关于需求分析的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件企业为网络音像制品销售公司W重新开发一套影音产品在线管理及销售系统,以改进原有系统AVMSS中存在的问题。在系统需求分析阶段,完成的工作包括:<br>\n1、系统分析员老王利用PIECES框架组织了系统需要获取的非功能性需求,如表1-1所示。<br>\n<img width=\"617\" height=\"183\" alt=\"\" src=\"https://image.chaiding.com/ruankao/19ceb9b7c3e4b130a47b6f84bf84fe9f.jpg?x-oss-process=style/ruankaodaren\">\n2.项目组小赵从W公司客户代表处了解到现有系统中经常有会员拒绝履行订单,并将其作为问题记录了下来。老王指出了小赵并未发现系统真正的问题,并以会员拒绝履行订单为例,利用如图1-1所示的鱼骨图分析了系统中真正存在的问题。<br>\n<img src=\"https://image.chaiding.com/ruankao/4b4a2f051e2b8ff5d4bc333b2b9077e5.png?x-oss-process=style/ruankaodaren\">\n3.获取到相应的需求之后,将需求记录下来形成需求定义文档,同其他项目信息合并形成需求陈述,作为需求分析阶段最终的交付成果。\n<br><br>\n【问题1】(10分)<br>\nPIECES框架的主要作用是什么?请将以下需要获取的需求(1)~(8)根据PIECES框架进行分类并将序号填入表1-1对应的单元格内。<br>\n(1)系统能否采用新方法以降低使用资源的成本?<br>\n(2)系统可接受的吞吐率是多少?<br>\n(3)系统可接受的响应时间是多少?<br>\n(4)应该减少多少开支或增加多少收益?<br>\n(5)对用户隐私有什么要求?<br>\n(6)对系统的可靠性和可用性有什么要求?<br>\n(7)系统中需要包括哪些文档和培训材料?<br>\n(8)对外部系统的接口是什么?\n<br><br>\n【问题2】(8分)<br>\n请将下列问题按照不同的类型序号填入图1-1所示的鱼骨图(g)~(n)中。<br>\n(1)缺少强制履行合同的规定;<br>\n(2)合同相关信息没有通知到会员;<br>\n(3)没有催单提示客户;<br>\n(4)没有跟踪执行情况;<br>\n(5)设备成本太高造成价格不合理;<br>\n(6)合同的履行缺乏灵活性;<br>\n(7)账务问题或者隐瞒相关内容;<br>\n(8)价格太高并且无法修改。\n<br><br>\n【问题3】(7分)<br>\n一份需求定义文档应该包括哪些内容?对于与系统开发相关的人员:系统所有者、用户、系统分析人员、设计人员和构造人员、项目经理,需求定义文档各有什么作用?","analyze":"【问题1】<br>\nPIECES框架是系统非功能性需求分类的技术,对各种类型的需求进行分类使得类似的需求可以组织起来达到汇报、跟踪和验证的目的,还可能帮助确定可能忽略的需求。<br>\n(a) (2)(3)<br>\n(b) (8) <br>\n(c) (4) <br>\n(d) (5) <br>\n(e) (1) <br>\n(f) (6)(7)<br>\n<br>\nPIECES框架是系统非功能性需求分类的技术,对各种类型的需求进行分类使得类似的需求可以组织起来达到汇报、跟踪和验证的目的,还可能帮助确定可能忽略的需求。James Wetherbe提出的PIECES框架能够完整、准确、快速地确定信息系统的需求,确认业务中存在的问题、机会和改进目标。包括性能(Performance)、信息(Information)、经济(Economics)、控制(Control)、效益(Efficiency)和服务(Service)6个类别。<br>\n本题要求考生熟悉PIECES框架中不同需求类型之间的差异,能够根据实际应用需求判断需求的类别。<br>\n(1)“降低使用资源的成本”是提高效益的方法。<br>\n(2)、(3)“吞吐率”和“响应时间”属于系统性能指标。<br>\n(4)“减少开支和增加收益”是系统经济性指标。<br>\n(5)“用户隐私”属于安全性控制的内容。<br>\n(6)“可靠性和可用性”是系统所提供服务的质量属性。<br>\n(7)“文档和培训材料”是为用户提供的服务。<br>\n(8)“外部系统的接口”说明系统与外界交互的信息需求。\n<br><br>\n【问题2】<br>\n(g)和(h) (2)和(7)<br>\n(i)和(j) (3)和(4)<br>\n(k)和(1) (6)和(8)<br>\n(m) (5) <br>\n(n) (1) <br>\n<br>\n鱼骨图主要应用于问题的因果分析,是一种用于确定、探索和描述问题及其原因和结果的图形工具,它也经常被称为因果图。一般会将产生问题的原因分为人、方法、合同、材料和策略5个方面。<br>\n本题要求考生熟悉鱼骨图中不同类型原因之间的差异,能够根据实际应用问题判断产生该问题的原因的类别。<br>\n(1)“措施”属于系统开发策略的范畴。<br>\n(2)“会员没有得到通知”是相关人员工作没有完成。<br>\n(3)、(4)“没有催单警告用户”、“没有跟踪执行情况”是所采用的方法不正确。<br>\n(5)“成本太高价”是所购买材料价格高。<br>\n(6)“合同履行缺乏灵活性”是合同执行的问题。<br>\n(7)“财务问题或隐瞒相关内容”属于财务人员工作问题。<br>\n(8)“价格太高无法修改”是指合同中价格条款。\n<br><br>\n【问题3】<br>\n一份需求定义文档可能是项目文档中被阅读和引用得最多的文档。应该包含以下内容:系统应该提供的功能和服务;非功能需求,包括系统的特征、特点和属性;限制系统开发或者系统运行必须遵守的约束条件;系统必须连接的其他系统的信息。<br>\n系统所有者和用户使用需求定义文档来确认需求以及任何可能产生的变化,并作为验收的依据:系统分析人员、设计人员和构造人员使用它来理解需要什么以及处理需求变更,开发用于验证系统的测试用例;项目经理使用它作为制定项目计划、处理变更及验收的依据。<br>\n<br>\n本题要求考生能够准确掌握需求定义文档的组成部分,和需求定义文档对不同的系统开发关联人员对其工作的具体作用。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240107521724417","title":"试题四(25分)<br>\n[阅读以下关于数据库分析与设计的叙述,在答题纸上回答问题1至问题4。<br>\n【说明】<br>\n某集团公司在各省均设有分公司,现欲建立全国统一的销售管理信息系统,以便总公司及时掌握各分公司的销售情况。公司成立专门的项目组进行该系统的研发工作,其中张工负责其中的数据库设计工作。<br>\n张工和需求分析小组紧密合作,在设计出数据流图和数据字典的基础上,给出了数据库关系模式和相应的索引设计。同时考虑到未规范化关系模式可能引起的各类数据错误,对关系模式进行了全面的规范化处理,使所有关系模式均达到了3NF或BCNF。<br>\n在项目实施过程中,应用开发小组认为该设计方案未考虑应用功能的实际需求。如果严格按照设计方案实施,会对应用系统的整体性能产生较大影响。主要的原因在于进行数据查询时,会产生大量的多表连接操作,影响性能。而设计方案中的索引设计,并不能完全满足数据查询的性能要求。<br>\n应用开发小组还认为,该设计方案未考虑到信息系统中核心销售数据处理的特点:各分公司在使用该信息系统时只能操作自己分公司的销售数据,无权操作其他分公司的销售数据:只有总公司有权利操作所有销售数据,以便进行统计分析。<br>\n应用开发小组要求,在数据库设计方案中,必须针对实际应用功能的实现来考虑关系模式的规范化,必要时需要采用逆规范化或解除规范化的方法来保证性能要求。\n<br><br>\n【问题1】(8分)<br>\n系统需要管理供应商和货物等信息,具体包括供应商姓名、地址以及货物名称、价格等,供应商可以提供0~n种货物,其公司地址也可能发生变化。请以供应商关系模式 supplier(name, address, product, price)为例,解释不规范的关系模式存在哪些问题。\n<br><br>\n【问题2】(6分)<br>\n应用开发小组认为张工的规范化设计虽然解决了未规范化关系模式带来的问题,但实际实现功能时会造成系统性能的下降。请解释其原因。\n<br><br>\n【问题3】(5分)<br>\n请解释逆规范化方法,说明其优缺点。\n<br><br>\n【问题4】(6分)<br>\n针对该信息系统中核心销售数据处理的特点,如采用关系表水平分割的逆规范化方法,请给出具体的解决方案,并说明该方案存在的问题。","analyze":"【问题1】<br>\n存在以下问题:<br>\n1.数据冗余。如果供应商供应了多种货物,则他的地址被多次重复存储。<br>\n2.修改异常(数据不一致)。由于数据冗余存储,当供应商地址改变时,必须修改所有相关记录,否则会造成地址数据不一致。<br>\n3.插入异常。如果某供应商未提供货物,则无法记录该供应商的姓名和地址。<br>\n4.删除异常。如果某供应商的所有货物均被删除,则丢失了该供应商的名称和地址。<br>\n<br>\n本问题考查规范化的基本知识。<br>\n不满足关系模式规范化要求,会存在数据冗余、更新异常(修改异常)、插入异常、删除异常的问题。为解决上述问题,人们定义了规范的关系模式或范式,分别为1NF、 2NF、3NF、BCNF、4NF和5NF。关系模式规范化达到BCNF后,这些问题彻底被解决。 实际应用中,一般只做到3NF或BCNF。<br>\n问题中给出的供应商关系模式存在以下问题:<br>\n(1)数据冗余。如果供应商供应了多种货物,则他的地址被多次重复存储。<br>\n(2)修改异常(数据不一致)。由于数据冗余存储,当供应商地址改变时,必须修改所有相关记录,否则会造成地址数据不一致。<br>\n(3)插入异常。如果某供应商未提供货物,则无法记录该供应商的姓名和地址。<br>\n(4)删除异常。如果某供应商的所有货物均被删除,则丢失了该供应商的名称和地址。\n<br><br>\n【问题2】<br>\n规范化程度是通过模式分解来实现的,因此规范化程度越高,关系模式表达的概念越单一,生成的关系模式就越多。<br>\n实际应用的数据请求往往非常复杂而多样化,经常会出现一个请求中涉及多个概念、多个关系模式的情况。关系数据库通过多表连接查询来满足这种需求,而表与表之间的连接操作会带来较大的性能开销。<br>\n开发小组认为设计方案中没有考虑应用功能的实际要求,将所有关系模式均规范到3NF或BCNF,则在满足用户复杂、多样的数据操作请求时,必然会带来大量的多表连接操作,从而影响实际的数据查询性能。数据量大时,性能下降非常迅速。<br>\n<br>\n本问题考查关系模式分解的基本知识。<br>\n如果某关系模式存在存储异常等问题,可通过分解该关系模式来解决问题,将一个关系模式分解成几个子关系模式。<br>\n根据关系模式分解和规范化理论能够看出,数据库的规范化程度越高,数据库中的冗余信息就越少。然而,规范化使得关系模式不断被拆解,这样关系模式之间的结构就变得越来越复杂,在使用数据时频繁执行连接操作,而连接操作是最耗时间的,是数据库性能的制约因素。<br>\n开发小组认为设计方案中没有考虑应用功能的实际要求,将所有关系模式均规范到3NF或BCNF,则在满足用户复杂、多样的数据操作请求时,必然会带来大量的多表连接操作,从而影响实际的数据查询性能。数据量大时,性能下降非常迅速。\n<br><br>\n【问题3】<br>\n本问题考查关系模式的逆规范化或解除规范化的基本知识。<br>\n逆规范化或解除规范化方法,指的是将一个规范化的关系模式变成非规范化的关系模式,或者降低某个关系模式的范式标准(例如从3NF降低为1NF)的过程。<br>\n从规范化和逆规范化的定义可以看出,严格的规范化必然导致众多的关系模式,使得关系模式结构复杂,引发频繁的连接操作,导致性能的下降。从这点上可以看出逆规范化操作的优点是改善和提高系统的性能。但反过来说,逆规范化导致了关系模式规范化程度的下降,从而会带来数据冗余、修改异常、插入异常和删除异常等问题,因此必须根据应用自身的特点,采用应用程序、触发器等额外手段来解决该问题。<br>\n<br>\n逆规范化或解除规范化方法,指的是将一个规范化的关系模式变成非规范化的关系模式,或者降低某个关系模式的范式标准(例如从3NF降低为1NF)的过程。<br>\n优点是避免进行表之间的连接操作,可以提高数据操作的性能。<br>\n缺点是随着范式标准的降低,必然会带来数据冗余、更新异常、插入异常和删除异常等问题,因此必须根据应用自身的特点,采用应用程序、触发器等额外手段来解决该问题。\n<br><br>\n【问题4】<br>\n具体方案:根据分公司的不同,每个不同的分公司拥有单独的数据表。这样每个分公司在处理自己的销售数据时,和其他分公司互不干扰,性能得到提高。<br>\n问题有两点:<br>\n(1)当全国总公司获取全国总的销售数据时,需要对分公司的数据进行数据union (并)操作,会带来额外的开销。<br>\n(2)信息系统中执行分公司应用功能时,需要动态根据分公司来选择不同的数据库表,增加了应用程序的复杂度。<br>\n<br>\n本问题考查逆规范化的实际应用。<br>\n在进行数据库设计时,需要考虑应用的实际需求,合理增加冗余属性,以提升系统性能。常用的措施有:<br>\n(1)将常用的计算属性(例如,总计和最大值等)存储到数据库实体中;<br>\n(2)重新定义实体,以减少外部属性数据或行数据的开销;<br>\n(3)将关系进行水平或垂直分割,以提升并行访问效率。<br>\n(4)除了上述逻辑结构的设计外,物理设计对系统性能也起到了非常关键的作用。<br>\n(5)根据本题的实际问题,可采用关系水平分割进行设计。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240034725384193","title":"试题三(25分)<br>\n阅读以下关于嵌入式软件虚拟化方面的叙述,在答题纸上回答问题1至问题2。<br>\n【说明】<br>\n计算机虚拟化是一种新型的计算模式,能够动态组织多种计算资源,隔离硬件体系结构和软件系统之间的依赖关系,实现透明化、可伸缩的计算系统构架,提高计算资源的使用效率和遗产软件的重用。<br>\n某公司是一家长期从事嵌入式软件研制的单位。随着虚拟化技术发展,公司决策层决定在公司原有嵌入式实时操作系统基础上,研制具备虚拟化能力的新一代嵌入式操作系统产品。公司将该项目的总体设计任务交给了王工,要求他充分调研用户需求,尽快拿出项目的计划书,并给出项目的技术实施途径。一个月后,王工向公司决策层提交了项目计划书和技术实施途径报告,在公司讨论会上引起技术争议,其焦点主要集中在两个方面:虚拟化体系架构问题和虚拟化中的安全因素问题。\n<br><br>\n【问题1】(14分)<br>\n当前虚拟化的实现技术主要有全虚拟化和半虚拟化两种,请用200字以内的文字说明两种虚拟化技术的主要差别,并用箭线指出图3-1所示的虚拟化特性分属哪种虚拟化技术。<br>\n<img alt=\"\" width=\"355\" height=\"353\" src=\"https://image.chaiding.com/ruankao/01a8c6bf6baa83eadfcbac5538e349d1.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(11分)<br>\n具有虚拟化能力的嵌入式实时操作系统目前仅支持单核处理器,而不支持多核,请用100字以内的文字说明其主要原因。表3-1给出如果采用虚拟化技术支持多核时存在的四种共享资源和四种潜在安全隐患,请用箭线指出这些潜在安全隐患分别会发生在哪种共享资源的环境下。<img alt=\"\" width=\"532\" height=\"121\" src=\"https://image.chaiding.com/ruankao/293efbc8f1f12653a46bc098cddd3b2c.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n全虚拟化技术能够在硬件辅助虚拟化的支持下,运行任何不需要修改的客户操作系统;半虚拟化技术不需要硬件辅助虚拟化的支持,通过精心修改客户操作系统内核,在只把有限量内核代码替换为相应Hypercall的基础上实现虚拟化的,如图3-2所示。<br>\n<img alt=\"\" width=\"295\" height=\"340\" src=\"https://image.chaiding.com/ruankao/cef8002f075f7c994bab73c2228c0804.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】<br>\n虚拟化操作系统目前仅仅支持单核处理器,不支持多核的主要原因是由于多核存在共享资源访问,虚拟化后会影响分区化的安全性,如表3-2所示。<br>\n<img alt=\"\" width=\"546\" height=\"127\" src=\"https://image.chaiding.com/ruankao/262028c18ee3bf6f40736ce4c7c1c2e5.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n解析:本题第一问主要考查嵌入式实时操作系统不支持多核处理器的原因,其主要原因是由于多核存在共享资源访问,虚拟化后会影响分区化的安全性。<br>\n本题第二问主要考查采用虚拟化技术支持多核时,在共享引导逻辑、共享CACHE、共享I/O逻辑、结构的复杂性4个方面可能出现的问题。其中共享引导逻辑的情况下,执行影像的安全性受到潜在威胁;共享CACHE的情况下,潜在的旁路通道遭数据泄漏攻击;共享I/O逻辑的情况下,潜在的隐蔽通道攻击和服务拒绝攻击;结构的复杂性情况下,会存在潜在的故障注入攻击。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240056636428289","title":"试题二(25分)<br>\n阅读以下关于企业应用系统开发的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某大型咨询服务公司欲对现有的核心咨询业务系统进行升级改造,以适应大量用户的个性化咨询服务要求,提高系统的灵活性。公司主管将核心业务系统的升级改造工作交给了公司的系统分析师王工和李工。<br>\n一个月后,王工和李工分别向公司提交了自己的方案。王工主张以公司现有的、采用面向对象技术和Java语言实现的业务系统为基础,针对新的业务需求对系统进行重构、改造与升级。李工则认为现有系统的业务逻辑过于复杂,对系统进行重构的成本太高,可以采用面向服务的思想,提炼可复用的业务功能形成服务,实现系统的灵活性。经过公司相关人员共同开会讨论,最终采用了李工的改造方案。\n<br><br>\n【问题1】(10分)<br>\n请用500字以内的文字,从系统业务功能实现和功能集成两个方面对王工和李工的方案进行分析和对比,并结合项目需求说明公司为何会选择李工的方案。\n<br><br>\n【问题2】(9分)<br>\n采用服务思想设计系统时,需要考虑服务的耦合性。服务的耦合性可以分为两类,分别是服务契约耦合(Service Contract Coupling)和服务消费者耦合(Service Consumer Coupling).请对各种耦合关系进行分析,填写(a)~(g),完成表2-1。<br>\n<img alt=\"\" width=\"546\" height=\"177\" src=\"https://image.chaiding.com/ruankao/2063a56f08261a29fd16ca0895c40820.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(6分)<br>\n在对系统的业务服务进行初步分析后,李工首先提取了客户注册、业务受理和发票开具三个典型的业务服务。但进一步分析后,李工发现这三个服务需要使用数据库中的客户实体、业务实体和发票实体,而发票实体包含客户实体和业务实体的信息,这样会导致发票开具服务内部包含并重复实现客户注册和业务受理的处理过程,降低服务的复用性。请说明这种情况产生的主要原因,并针对这种情况,说明该如何对这三个服务进行重构,使它们具有更好的重用性。","analyze":"【问题1】<br>\n从系统业务功能实现来看,采用面向对象技术开发的系统以对象为核心概念,通过对象之间的消息交互完成业务功能;采用面向服务技术开发的系统以服务为核心概念,业务功能需要封装为服务。<br>\n从系统功能集成方式来看,采用面向对象技术开发的系统以对象为单元进行功能集成,通常采用工作流技术定制业务流程;采用面向服务技术开发的系统以服务为单元进行功能集成,采用服务组合技术实现灵活的业务集成与重组。<br>\n根据项目需求,需要对现有业务系统进行升级改造,因此保证升级改造的低成本是一个重要的因素,王工的方案需要现有系统进行功能梳理与重新开发,升级改造成本较高;李工的方案则侧重将现有功能包装为服务,升级改造成本较低。项目还要求提高系统的灵活性,王工的方案以对象技术为基础,当业务发生变化时,需要在代码层次上进行修改并重新部署,因此系统的灵活性相对较差;李工的方案以大粒度的业务服务复用为基础,当业务发生变化时,可以采用服务组合技术实现系统的运行时功能组合,因此灵活性相对较好。<br>\n<br>\n解析:本题从系统业务功能实现和功能集成两个方面对王工和李工的方案进行分析和对比。回答本题时必须紧扣业务功能实现和功能集成这两个方面。<br>\n从系统业务功能实现来看,采用面向对象技术开发的系统以对象为核心概念,通过对象之间的消息交互完成业务功能;釆用面向服务技术开发的系统以服务为核心概念,业务功能需要封装为服务。<br>\n从系统功能集成方式来看,采用面向对象技术开发的系统以对象为单元进行功能集成,通常采用工作流技术定制业务流程;采用面向服务技术开发的系统以服务为单元进行功能集成,采用服务组合技术实现灵活的业务集成与重组。\n<br><br>\n【问题2】<br>\n(a)服务契约耦合<br>\n(b)服务契约耦合<br>\n(c)服务消费者耦合<br>\n(d)否<br>\n(e)是<br>\n(e)按照SOA的思想,业务逻辑应当与契约耦合,而不应与实现或技术耦合<br>\n(g)服务契约不应该与具体厂商的实现技术相关,而应该基于标准的XML技术与Web服务标准<br>\n<br>\n解析:本题主要考查考生对服务耦合关系的理解,考生需要理解在服务设计时需要注意的一些问题。例如业务逻辑-契约耦合、契约-技术耦合、消费者-实现耦合以及消费者-契约耦合等服务。考生需要对这几种服务耦合进行分析,并结合题目要求描述各种耦合关系的优点或缺点。\n<br><br>\n【问题3】<br>\n题干中描述的问题产生的原因是在进行服务设计时,将业务逻辑可见的处理过程和不可见的处理过程封装在一起,这样会导致冗余的不可见处理过程在多个服务中存在,降低服务的潜在复用性。<br>\n针对该问题,应该增加客户实体服务、业务实体服务和发票实体服务,形成实体服务中间层。在这种情况下,客户实体服务和业务实体服务不仅能够为客户注册和业务受理服务提供支持,还可以为发票开具服务提供支持,这样就避免了不可见处理过程在多个服务中存在。<br>\n<br>\n解析:本题主要考查考生对系统需求分析的理解以及对服务设计知识的掌握。题干中描述的问题产生的原因是在进行服务设计时,将业务逻辑可见的处理过程和不可见的处理过程封装在一起,这样会导致冗余的不可见处理过程在多个服务中存在,降低服务的潜在复用性。针对该问题,应该增加客户实体服务、业务实体服务和发票实体服务,形成实体服务中间层。在这种情况下,客户实体服务和业务实体服务不仅能够为客户注册和业务受理服务提供支持,还可以为发票开具服务提供支持,这样就避免了不可见处理过程在多个服务中存在。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235497922908161","title":"试题一(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某软件企业拟开发一套基于移动互联网的在线运动器材销售系统,项目组决定采用FAST开发方法进行系统分析与设计,在完成了初步的调查研究之后进入了问题分析阶段,分析系统中存在的问题以及改进项,其分析的主要内容包括: <br>\n(1)器材销售订单处理的时间应该减少20%;<br>\n(2)移动端支持IOS和Android两类操作系统;<br>\n(3)器材销售订单处理速度太慢导致根多用户取消订单;<br>\n(4)后台服务器硬件配置比较低;<br>\n(5)用户下单过程中应该减少用户输入的数据量;<br>\n(6)订单处理过程中用户需要输入大量信息;<br>\n(7)利用云计算服务可以降低50%的服务器处理时间;<br>\n(8)公司能投入的技术维护人员数量有限;<br>\n(9)大量的并发访问会导致App页面无法正常显示。\n<br><br>\n【问题1】(12分)<br>\nFAST开发方法在系统分析中包括了初始研究、问题分析、需求分析和决策分析等四个阶段,请简要说明每个阶段的主要任务。\n<br><br>\n【问题2】(8分)<br>\n在问题分析阶段,因果分析方法常用于分析系统中的问题和改进项,请结合题目中所描述各项内容,将题干编号(1)-(9)填入表1-1的(a)~(d)中。 <br>\n 表1-1问题、机会<br>\n <img width=\"574\" height=\"217\" src=\"https://image.chaiding.com/ruankao/f8cbc1d19097399ba6781ec83cbb8317.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">\n<br><br>\n【问题3】(5分)<br>\n在决策分析阶段,需要对候选方案所述内容按照操作可行性、技术可行性、经济可行性和进度可行性进行分类。请将下列(1)~(5)内容填入表1-2的(a)-(d)中。 <br>\n(1)新开发的器材销售系统能够满足用户所需的所有功能;<br>\n(2)系统开发的成本大约需要40万元人民币;<br>\n(3)需要对移动端App开发工程师进行技术培训;<br>\n(4)系统开发周期需要6个月;<br>\n(5)系统每年维护的费用大约5万元人民币。 <br>\n表1-2候选方案指标分类<br>\n<img width=\"421\" height=\"132\" src=\"https://image.chaiding.com/ruankao/9b76667f47568ae76c20adc5dec1572e.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">","analyze":"【问题1】<br>\n(1)初始研究:定义项目范围,列出该项目的问题、改进项和外部指示;<br>\n(2)问题分析:深入分析和全面理解项目的问题、改进项和外部指示;<br>\n(3)需求分析:为目标系统定义业务需求,分析和完善需求;<br>\n(4)决策分析:确定候选方案并分析所有候选方案的可行性,选择出最优的解决方案。\n<br><br>\n【问题2】<br>\n(a)(3)<br>\n(b)(4)、(6)、(9)<br>\n(c)(1)、(5)、(7)<br>\n(d)(2)、(8)\n<br><br>\n【问题3】<br>\n(a)(1)<br>\n(b)(3)<br>\n(c)(2)、(5)<br>\n(d)(4)","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235511948660737","title":"试题一(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某软件企业拟采用面向对象方法开发一套体育用品在线销售系统,在系统分析阶段,“提交订单”用例详细描述如表1-1所示。<br>\n<img src=\"https://image.chaiding.com/ruankao/2abeb23c1878466ba448f67aa3e05b58.jpg?x-oss-process=style/ruankaodaren\" alt=\"\" width=\"650\" height=\"429\" title=\"\" align=\"\">\n<br><br>\n【问题1】(9分)<br>\n面向对象系统开发中,实体对象、控制对象和接口对象的含义是什么?\n<br><br>\n【问题2】(10分)<br>\n面向对象系统分析与建模中,从潜在候选对象中筛选系统业务对象的原则有哪些?\n<br><br>\n【问题3】(6分)<br>\n根据题目所示“提交订单”用例详细描述,可以识别出哪些业务对象?","analyze":"【问题1】<br>\n(1)实体对象:用来表示业务域的事实数据并需要持久化存储的对象类型;<br>\n(2)控制对象:用来表示业务系统中应用逻辑和业务规则的对象类型;<br>\n(3)接口对象:用来表示用户与系统之间交互方式的对象类型。<br>\n<br>\n本题考查系统分析与建模相关知识及应用。<br>\n面向对象分析方法是将面向对象思想应用于系统分析过程,以用例描述作为输入,基于对象完成业务问题的理解、业务过程分析和建模。用例是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其他系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。面向对象系统开发过程中,按照对象所承担的职责不同,可以将对象分为实体对象、控制对象和接口对象。<br>\n此类题目要求考生熟练掌握面向对象系统分析与建模的基础知识,能够结合题目中所述案例准确识别不同类型的对象以支持面向对象系统开发过程。<br>\n在面向对象系统开发过程中,对象按照其职责可以分为三种类型:实体对象、控制对象和接口对象。其中实体对象是用来表示业务域的事实数据并需要持久化存储的对象类型;控制对象是用来表示业务系统中应用逻辑和业务规则的对象类型;接口对象是用来表示用户与系统之间交互方式的对象类型。\n<br><br>\n【问题2】<br>\n(1)去除相同含义的对象;<br>\n(2)去除不属于系统范围内的对象;<br>\n(3)去除没有特定独立行为的对象;<br>\n(4)去除含义解释不清楚的对象;<br>\n(5)去除属于另一个对象属性或行为的对象。<br>\n<br>\n通过对用例进行分析,可以识别出多个数据项作为候选对象,要通过分析这些数据项之间的关系最终筛选出真正的对象集合。在对象筛选过程中,首先需要去重,即去除相同含义的数据项;也有可能部分数据项不属于系统开发的范围,也需要去除;还要去除一些数据项本身没有明显特征进行区分或者含义无法解释,将来无法准确表示出来;还有一些数据项是属于其他数据项的属性或者行为描述,也不适合作为业务对象。\n<br><br>\n【问题3】<br>\n会员、商品、购物车、订单、配送信息、支付记录。<br>\n<br>\n通过对表1-1所示用例中的数据项进行分析,识别出的数据项包括订单、会员、商品、 购物车、系统、商家、仓库、支付系统、快递公司、商品列表、价格、支付、密码、配送地址等,其中,商家、仓库、支付系统、快递公司属于系统外部数据项,商品列表和商品重复,价格、支付、密码和配送地址等都属于其他数据项的属性或行为,无需独立作为候选对象。最后可以筛选出候选对象,包括会员、商品、购物车、订单、配送信息、支付记录。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235485428076545","title":"试题一(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某软件公司拟开发一套博客系统,要求能够向用户提供一个便捷发布自已心得,及时有效的与他人进行交流的平台。新用户发布个人博客之前,需要创建一个新的博客账户,以下为新用户注册的操作行为:<br>\n(a) 向系统请求创建一个新的博客账户;<br>\n(b) 输入个人详细信息;<br>\n(c) 使用证件数据库验证个人详细信息;<br>\n(d) 选择账户类型;<br>\n(e) 身份验证成功,创建新的博客账户;<br>\n(f) 用户身份信息验证不成功;<br>\n(g) 以电子邮件的方式将账户详细信息发送给用户;<br>\n(h) 博客账户申请被拒绝。\n<br><br>\n【问题1】(6分)<br>\n在结构化和面向对象的软件分析过程中,通常会使用到数据流图、活动图和流程图,请分别描述这三种模型的特点和适用场景。\n<br><br>\n【问题2】(9分)<br>\n采用用例图和用例描述建模系统需求,请使用题干给出的(a)~(h),完善“博客账户创建用例描述”中的(1)~(6),如表1-1所示。将正确答案填在答题纸上。<br>\n <img src=\"https://image.chaiding.com/ruankao/41ae2db44de5e4f4a6a6ffb8dbb16051.jpg?x-oss-process=style/ruankaodaren\" alt=\"\" width=\"700\" height=\"640\" title=\"\" align=\"\">\n<br><br>\n【问题3】(10分)<br>\n需求评审是通过将需求规格说明书递交给相关人员检查,以发现其中存在缺陷的过程。在需求工程中,需求评审是一个非常重要的过程。结合题干案例,请用300字以内的文字简要说明需求评审的内容及作用。","analyze":"【问题1】<br>\n数据流图:<br>\n特点:通过系统内数据的流动来描述系统功能的一种方法。强调系统中的数据流动。由:数据流,外部实体,加工,数据存储。<br>\n适用场景:结构化需求分析,为系统做功能建模。<br>\n活动图:<br>\n特点:与流程图类似,但可以表现并行执行。<br>\n适用场景:面向对象分析与设计建模。<br>\n流程图:<br>\n特点:能清晰展现业务执行的流程顺序。强调控制流。<br>\n适用场景:结构化需求分析与结构化设计,为系统梳理业务流程。\n<br><br>\n【问题2】<br>\n(1)(a)<br>\n(2)(d)<br>\n(3)(b)<br>\n(4)(c)<br>\n(5)(g)<br>\n(6)(h)\n<br><br>\n【问题3】<br>\n需求评审内容:<br>\n(1)SRS正确地描述了预期的、满足项目干系人需求的系统行为和特征。<br>\n(2)SRS中的软件需求是从系统需求、业务规格和其他来源中正确推导而来的。<br>\n(3)需求是完整的和高质量的。<br>\n本例中存在需求描述不完整的情况,如:谁向系统请求?输入个人详细信息要输入哪些?选择账户类型,有哪些账户类型供选择?<br>\n(4)需求的表示在所有地方都是一致的。<br>\n(5)需求为继续进行系统设计、实现和测试提供了足够的基础。<br>\n(6)用例优先级合理度评估。<br>\n本案例中,未说明用例的优先级。<br>\n作用:<br>\n1、发现二义性需求;<br>\n2、发现不确定性用户未达成共识的需求;<br>\n3、发现遗漏的需求;<br>\n4、为项目干系人在需求问题上达成共识提供支撑;<br>\n5、降低风险;<br>\n6、提高软件质量。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235548724318209","title":"试题一(25分)<br>\n阅读以下关于基于微服务的系统开发的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某公司拟开发一个网络约车调度服务平台,实现基于互联网的出租车预约与管理。公司的系统分析师王工首先进行了需求分析,得到的系统需求列举如下:<br>\n系统的参与者包括乘客、出租车司机和平台管理员三类;<br>\n系统能够实现对乘客和出租车司机的信息注册与身份认证等功能,并对乘客的信用信息进行管理,对出租车司机的违章情况进行审核;<br>\n系统需要与后端的银行支付系统对接,完成支付信息审核、支付信息更新与在线支付等功能;<br>\n针对乘客发起的每一笔订单,系统需要实现订单发起、提交、跟踪、撤销、支付、完成等业务过程的处理:<br>\n系统需要以短信、微信和电子邮件多种方式分别为系统中的用户进行事件提醒。<br>\n在系统分析与设计阶段,公司经过内部讨论,一致认为该系统的需求定义明确,建议尝试采用新的微服务架构进行开发,并任命王工为项目技术负责人,负责项目开发过程中的技术指导工作。\n<br><br>\n【问题1】(12分)<br>\n请用100字以内的文字说明一个微服务中应该包含的内容,并用300 字以内的文字解释基于微服务的系统与传统的单体式系统相比的2个优势和带来的2个挑战。\n<br><br>\n【问题2】(8分)<br>\n识别并设计微服务是系统开发过程中的一个重要步骤,请对题干需求进行分析,对微服务的种类和包含的业务功能进行归类,完成表1-1中的(1)~(4)。<br>\n<img alt=\"\" width=\"450\" height=\"156\" src=\"https://image.chaiding.com/ruankao/eb4db2840fcaa92988f0c8ec70caa79a.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(5分)<br>\n为了提高系统开发效率,公司的系统分析师王工设计了一个基于微服务的软件交付流程,其核心思想是将业务功能定义为任务,将完成某个业务功能时涉及到的步骤和过程定义为子任务,只有当所有的子任务都测试通过后该业务功能才能上线交付。请基于王工设计的在线支付微服务交付流程,从(a)~(f)中分别选出合适的内容填入图1-1中的(1)~(5)处。<br>\n<img alt=\"\" width=\"494\" height=\"635\" src=\"https://image.chaiding.com/ruankao/bc01b761e6a827133179d0211f3c62ca.jpg?x-oss-process=style/ruankaodaren\"><br>\n选项:(a)提交测试 (b)全量上线 (c) 对接借记卡 <br>\n(d) 获取个人优惠券 (e)试部署 (f)对账","analyze":"【问题1】<br>\n一个微服务需要包含完整的业务功能,开放一种或多种接口为其他服务使用,并可能包含一个自己私有的数据库。<br>\n与传统的单体式系统相比,基于微服务的系统包含以下优势:<br>\n(1) 模块化。微服务强调模块化的结构,这对大团队来说很重要;<br>\n(2) 独立部署。简单的服务更容易部署,单个的服务出问题不会导致整个系统的故障;<br>\n(3) 技术多样性。可以混合使用多种编程语言、开发框架以及数据存储技犬。<br>\n基于微服务的系统带来的挑战:<br>\n(1) 分布式特性。分布式系统的编程难度更大,因为远程调用慢,而且总存在失败的风险。<br>\n(2) 最终一致性。分布式系统的强一致性很难,开发人员需要处理最终一致性的问题。<br>\n(3) 运维的复杂性。需要成熟的运维团队,管理很多需要重新部署的服务。<br>\n<br>\n本题考查基于微服务的系统分析与设计的过程。<br>\n本题要求考生认真阅读题目对系统需求的描述,采用需求分析与设计的相关方法对系统进行深入理解,并基于微服务架构对系统进行分析与设计。\n<br><br>\n【问题2】<br>\n(1) 信息注册、身份认证、信用管理<br>\n(2) 信息注册、身份认证、违章管理<br>\n(3) 支付管理u2003<br>\n(4)订单发起、订单提交、订单跟踪、订单撤销、订单支付、订单完成 (其中微服务包含业务功能答出3个即可)<br>\n<br>\n识别并设计微服务是系统开发过程中的一个重要步骤,根据题干描述,首先需要对微服务进行拆分,得到乘客管理、司机管理、支付管理、订单管理和通知中心四个核心微服务。然后,针对每个微服务归纳整理其所应该具有的核心业务功能。其中乘客管理微服务需要包含信息注册、身份认证、信用管理等功能;司机管理微服务包括信息注册、身份认证、违章管理等功能;支付管理微服务包括支付信息审核、支付信息更新、在线支付等功能;订单管理包括订单发起、订单提交、订单跟踪、订单撤销、订单支付、订单完成等功能;通知中心包括短信通知、微信通知、邮件通知等功能。\n<br><br>\n【问题3】<br>\n(1) (f) 对账<br>\n(2) (c) 对接借记卡<br>\n(3) (d) 获取个人优惠券<br>\n(4) (e) 试部署<br>\n(5) (b) 全量上线<br>\n<br>\n根据系统分析师王工设计的、基于微服务的软件交付流程,其核心思想是将业务功能定义为任务,将完成某个业务功能时涉及到的步骤和过程定义为子任务,只有当所有的子任务都测试通过后该业务功能才能上线交付。根据上述描述,应该具有以下的处理流程:<br>\n<img alt=\"\" width=\"479\" height=\"433\" src=\"https://image.chaiding.com/ruankao/e24c8ae81961bf4d3e1388a45ea3d8f8.jpg?x-oss-process=style/ruankaodaren\">","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235536149794817","title":"试题一(25分)<br>\n阅读以下关于系统分析任务的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某公司是一家以运动健身器材销售为主营业务的企业,为了扩展销售渠道,解决原销售系统存在的许多问题,公司委托某软件企业开发一套运动健身器材在线销售系统。目前,新系统开发处于问题分析阶段,所分析各项内容如下所述:<br>\n(a)用户需要用键盘输入复杂且存在重复的商品信息;<br>\n(b)订单信息页面自动获取商品信息并填充;<br>\n(c)商品订单需要远程访问库存数据并打印提货单;<br>\n(d)自动生成电子提货单并发送给仓库系统;<br>\n(e)商品编码应与原系统商品编码保持一致;<br>\n(f)商品订单处理速度太慢;<br>\n(g)订单处理的平均时间减少30%;<br>\n(h)数据编辑服务器CPU性能较低;<br>\n(i)系统运维人员数量不能增加。\n<br><br>\n【问题1】(8分)<br>\n问题分析阶段主要完成对项目开发的问题、机会和/或指示的更全面的理解。请说明系统分析师在问题分析阶段通常需要完成哪四项主要任务。\n<br><br>\n【问题2】(9分)<br>\n因果分析是问题分析阶段一项重要技术,可以得出对系统问题的真正理解,并且有助于得到更具有创造性和价值的方案。请将题目中所列(a) ~ (i)各项内容填入表中(1) ~ (4)对应位置。<br>\n表1-1问题、机会、目标和约束条件<br>\n<img alt=\"\" width=\"480\" height=\"58\" src=\"https://image.chaiding.com/ruankao/8111d7e844916dffb99a87fe429d7594.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(8分)<br>\n系统约束条件可以分为四类,请将类别名称填入表中(1) ~ (4)对应的位置。<br>\n表1-2 约束条件分类<br>\n<img width=\"480\" height=\"103\" alt=\"\" src=\"https://image.chaiding.com/ruankao/22924c8f254b7e42ea6fd8bc39ee707f.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n(1) 研究问题领域<br>\n(2) 分析问题和机会<br>\n(3) 分析业务过程<br>\n(4) 制定系统改进目标 <br>\n<br>\n本题考查考生对于软件系统问题分析技术的掌握情况。<br>\n问题分析阶段主要完成对项目开发的问题、机会和/或指示的更全面的理解。问题分析主要关心现有系统的系统所有者视图和系统用户视图,这个阶段的最后交付成果和里程碑是产生处理问题、机会和指示的系统改进目标。问题分析通常包括的任务有研究问题领域、分析问题和机会、分析业务过程、制定系统改进目标、修改项目执行计划、汇报分析结果和建议。<br>\n研究问题领域是系统所有者、用户和分析员对系统不同层次理解、认识和不同的观点,主要输入是系统章程和可能存在于当前系统资料库和程序库中的任何系统文档,交付成果是对问题领域和业务术语的理解。分析问题和机会是真正深入分析问题,确定问题产生的原因和结果,所采用的技术是因果分析。分析业务过程是项问团队仔细检作企业的业务过程,评估每个过程相对于整个组织减少或者增加的价值。制定系统改进目标的目的是建立项目成功的标准,对系统的任何改进都将按照这个标准进行度量,同吋在这个任务确定了任何可能限制系统改进的约束条件。<br>\n软件系统问题分析是系统分析师必须要掌握的专业知识与技能,特别是需要掌握因果分析方法以确定系统真正的问题及原因,并能正确理解系统设计过程中的约束条件。 <br>\n系统问题分析是确保系统开发质量和项目成功执行的关键,通过对当前问题领域及存在问题的研究,深入分析问题所产生的原因,进一步分析当前业务过程是否存在问题,最终确定系统的改进目标并识别在达到这些目标中需要受到的约束条件。所以问题分析包括的核心任务主要有研究问题领域、分析问题和机会、分析业务过程、制定系统改进目标四项任务。\n<br><br>\n【问题2】<br>\n(1) (f)<br>\n(2) (a) (c) (h)<br>\n(3) (b) (d) (g)<br>\n(4) (e) (i)<br>\n<br>\n因果分析是问题分析阶段一项重要技术,可以得出对系统问题的真正理解,并且有助于得到更具有创造性和价值的方案。在题目所列出的各项内容中,(a)“用户需要用键盘输入复杂且存在重复的商品信息”是产生系统响应慢的原因;(b)“订单信息页面自动获取商品信息并填充”是提高系统执行效率的改进目标;(c)“商品订单需要远程访问库存数据并打印提货单”是系统响应慢的原因;(d)“自动生成电子提货单并发送给仓库系统”是提高系统执行效率的改进目标;(e)“商品编码应与原系统商品编码保持一致”是系统在达到改进目标过程中所受到的约束;(f)“商品订单处理速度太慢”是系统当前存在的问题;(g)“订单处理的平均时间减少30%”是提高系统执行效率的改进目标;(h)“数据编辑服务器CPU性能较低”是系统响应慢的原因;(I)“系统运维人员数量不能增加”是系统在达到改进目标过程中所受到的约束。\n<br><br>\n【问题3】<br>\n(1) 进度<br>\n(2) 成本<br>\n(3) 技术<br>\n(4) 政策/标准<br>\n<br>\n系统约束是对系统在达到改进目标过程中所必须满足的条件,约束基本上无法被改变。系统约束通常分为四类:进度约束、成本约束、技术约束、政策/标准约束。在题目所列出的各项内容中,“新系统必须在五月底上线运行”属于进度约束;“新系统开发费用不超过20万元”属于成本约束;“新系统必须能够实现在线实时处理”属于技术约束;“新系统必须满足GB 31524—2005电商平台技术规范”属于政策/标准约束。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235473725968385","title":"试题一(25分)<br>\n阅读以下关于软件系统分析与建模的叙述,在纸上回答问题1至3。<br>\n【说明】<br>\n某软件公司拟开发—套汽车租赁系统,科学,安全和方便的管理租赁公司的各项业务,提高公司效率,提升利率。注册用户在使用系统镜像车辆预约时需执行—下操作:口(a)用户登录系统口(b)查询车辆信息口(c)预订车辆口(d)提取车辆(e)归还车辆口(f)计算结余口(g)查询换车时间\n<br><img src=\"https://image.chaiding.com/ruankao/e3624a2d09e171f54e061c341d1705a4.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题1】(7分)<br>\n在面向对象软件分析过程中,状态机图和活动图用于建立软件的动态模型,主要描述系统随时间变化的行为,请分别阐述这两种图的概念和特点。\n<br><br>\n【问题2】(9分)<br>\n图1-1给出了采用状态机图描写的注册用户的状态交换过程,请使用题干给出的(a) ~ (g)补充完善图1-1中的(1) ~(7),并给出(8)和(9)空白处的状态转移执行动作。将正确的答案填写在答题纸上。\n<br><br>\n【问题3】(9分)<br>\nRUP中有9个核心工作流,分6个核心过程和3个核心支持工作流。9个核心工作流在项目中迭代被使用在每次迭代中以不同的重点和强度重复。结合题干案例,用300字以内的文字简要说明RUP中9个核心工作流的主要作用。","analyze":"【问题1】<br>\n状态图(State Diagram)。状态图描述—个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。<br>\n活动图(Activity Diagram)。活动图将进程或其他计算结构展示为计算内部步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。\n活动图是对行为流程的描述;状态机图是对属性值(状态)变化的描述。\n<br><br>\n【问题2】<br>\n(1): (a)用户登录系统<br>\n(2): (b)查询车辆信息<br>\n(3): (g)查询换车时间<br>\n(4): (c)预订车辆<br>\n(5): (e)归还车辆<br>\n(6): (d)提取车辆<br>\n(7): (f)计算结余<br>\n(8): 查询到有预定车辆<br>\n(9): 查询到无预定车辆\n<br><br>\n【问题3】<br>\n业务建模(Business Modeling)工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在业务用例模型和商业对象模型中定义组织的过程,角色和责任。<br>\n需求(Requirement)工作流的目标是描述系统应该做什么,并使开发人员和用户就这—描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化;最重要的是理解系统所解决问题的定义和范围。<br>\n分析和设计(Analysis &Design)工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和—些描述组成。设计类被组织成具有良好接口的设计包(Package)和设计子系统(Subsystem),而描述则体现了类的对象如何协同工作实现用例的功能。设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化,该视图中省略了一些细节,使重要的特点体现得更加清晰。体系结构不仅仅是良好设计模型的承载媒介,而且在系统的开发中能提高被创建模型的质量。<br>\n实现(Implementation)工作流的目的包括以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试以及集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。<br>\n测试(Test)工作流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。RUP提出了迭代的方法,意味着在整个项目中进行测试,从而尽可能早地发现缺陷,从根本上降低了修改缺陷的成本。测试类似于三维模型,分别从可靠性、功能性和系统性能来进行。<br>\n部署(Deployment)工作流的目的是成功的生成版本并将软件分发给最终用户。部署工作流描述了那些与确保软件产品对最终用户具有可用性相关的活动,包括:软件打包、生成软件本身以外的产品、安装软件、为用户提供帮助。在有些情况下,还可能包括计划和进行beta测试版、移植现有的软件和数据以及正式验收。<br>\n配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产物。配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建过程中的版本。工作流描述了如何管理并行开发、分布式开发、如何自动化创建工程。同时也阐述了对产品修改原因、时间、人员保持审计记录。<br>\n软件项目管理(Project Management)平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。<br>\n环境(Environment)工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。环境工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动,提供了逐步的指导手册并介绍了如何在组织中实现过程。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235523751432193","title":"试题一(25分)<br>\n阅读以下关于软件系统分析的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件企业为电信公司开发一套网上营业厅系统,以提升服务的质量和效率。项目组经过分析,列出了项目开发过程中的主要任务、持续时间和所依赖的前置任务,如表1-1所示。在此基础上,绘制了项目PERT图。<br>\n<img alt=\"\" src=\"https://image.chaiding.com/ruankao/ead7c62d487604408747848e5f0f54dc.jpg?x-oss-process=style/ruankaodaren\" width=\"620\" height=\"266\">\n<br><br>\n【问题1】(10分)<br>\nPERT图采用网络图来描述一个项目的任务网络,不仅可以表达子任务的计划安排,还可以在任务计划执行过程中估计任务完成的情况。针对表1-2中关于PERT图中关键路径的描述(1)~(5),判断対PERT图的特点描述是否正确,并说明原因。<br>\n <img alt=\"\" src=\"https://image.chaiding.com/ruankao/a4232b416f69a578a6359d1cad650e68.jpg?x-oss-process=style/ruankaodaren\" width=\"594\" height=\"180\">\n<br><br>\n【问题2】(5分)<br>\n根据表1-1所示任务及其各项任务之间的依赖关系,计算对应PERT图中的关键路径及项目所需工期。\n<br><br>\n【问题3】(10分)<br>\n根据表1-1所示任务及其各项任务之间的依赖关系,分别计算对应PERT图中任务C~G的松弛时间(SlackTime),将答案填入(a)~(e)中的空白处。","analyze":"【问题1】<br>\n(1)正确。项目工期是指项目所有任务完成的最早时间,对应于PERT图中工期最长的路径,即关键路径。<br>\n(2)错误。PERT图中可能存在多条路径有相同工期,关键路径也可能存在多条。<br>\n(3)错误。在项目执行过程中,如果任务的实际完成时间发生变化,那么项目关键路径就可能发生变化。<br>\n(4)正确。PERT图中关键路径越多,那同时并发且不可延迟的任务就越多,项目任务之间的关系就会更复杂。<br>\n(5)正确。关键路径上的任务一旦发生延迟,那整个项目工期会增加,所以关键路径上的任务不能延迟。<br>\n<br>\n本题考查PERT图及关键路径分析相关知识及应用。<br>\nPERT(Program/Project Evaluation and Review Technique)即计划评审技术,是利用网络分析制订计划以及对计划予以评价的技术。它能协调整个计划的各道工序,合理安排人力、物力、时间、资金,加速计划的完成。在现代计划的编制和分析手段上,PERT被广泛地使用,是现代项目管理的重要手段和方法。<br>\n此类题目要求考生熟练掌握项目管理中PERT的基础知识和应用技术,能够结合题目中所述各项任务及其依赖关系绘制PERT图,并在此基础上进行关键路径分析以确定关键路径及非关键任务的可延迟时间。<br>\n通过描述PERT图的特点,考查考生对于PERT和关键路径分析知识的掌握程度。项目工期是指项目所有任务完成的最早时间,对应于PERT图中的最长路径,即关键路径;PERT图中可能存在多条路径有相同工期,关键路径也可能存在多条;在项目执行过程中,如果任务的实际完成时间发生变化,那么项目关键路径就可能发生变化;PERT图中关键路径越多,那同时并发且不可延迟的任务就越多,项目任务之间的关系就会更复杂;关键路径上的任务一旦发生延迟,整个项目工期会增加,所以关键路径上的任务不能延迟。\n<br><br>\n【问题2】<br>\n(1)关键路径:A-B-C-E-G-H-I<br>\n(2)项目工期:25(周)<br>\n<br>\n根据题目所述绘制任务PERT图如下所示:<br>\n<img width=\"480\" height=\"160\" src=\"https://image.chaiding.com/ruankao/6ac7fbd2bdd2993f3143a6b4e55804b5.jpg?x-oss-process=style/ruankaodaren\" alt=\"\"><br>\n从任务A到任务I中工期最长的路径为关键路径:A-B-C-E-G-H-I,其关键路径长度即项目工期为25周。\n<br><br>\n【问题3】<br>\n(a)0,(b)3,(c)0,(d)3,(e)0。<br>\n<br>\n从PERT图中可知任务C、E、G为关键任务,其可延迟时间为0;任务D、F为非关键任务,其可延迟时间为最晚开始时间减去最早开始时间,均为3。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235561286258689","title":"试题一(25分)<br>\n阅读以下关于软件系统可行性分析的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件开发企业受对外贸易公司委托开发一套跨境电子商务系统,项目组从多个方面对该电子商务系统进行了可行性分析,在项目组给出的可行性分析报告中,对项目的成本、收益情况进行了说明:建设投资总额为300万元,建设期为1年,运营期为4年,该方案现金流量表如表1-1所示。<br>\n<img alt=\"\" width=\"500\" height=\"262\" src=\"https://image.chaiding.com/ruankao/da8211b116e2b04fbfcef84fc78807e7.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题1】(12分)<br>\n软件系统可行性分析包括哪几个方面?用200以内文字说明其含义。\n<br><br>\n【问题2】(7分)<br>\n成本和收益是经济可行性评价的核心要素,成本一般分为开发成本和运营成本,收益包括有形收益和无形收益,请对照下列7项内容,将其序号分别填入成本和收益对应的类别。<br>\na)系统分析师工资;<br>\nb)采购数据库服务器;<br>\nc)系统管理员工资;<br>\nd)客户满意度增加;<br>\ne)销售额同比提高;<br>\nf)软件许可证费用;<br>\ng)应用服务器数量减少。<br>\n<img alt=\"\" width=\"250\" height=\"156\" src=\"https://image.chaiding.com/ruankao/978a0ce3cb4e34ffd89b1223361db9a3.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(6分)<br>\n根据表1-1所示现金流量表,分别给出该解决方案的静态投资回收期、动态投资回收期和投资收益率的算术表达式或数值(结果保留2位小数)。","analyze":"【问题1】<br>\n(1)经济可行性:主要评估项目的建设成本、运行成本和项目建成后可能的经济效益。<br>\n(2)技术可行性:研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。<br>\n(3)法律可行性:需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。<br>\n(4)用户使用可行性:从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等。<br>\n<br>\n木题考查考生对于软件系统可行性分析方法的掌握情况。<br>\n可行性是指企业当前的条件下,是否有必要建设新系统,以及建设新系统的工作是杏具备必要的条件。在信息系统建设项目中,可行性评价通常从经济可行性、技术可行性、法律可行性和用户使用可行性四个方面进行分析,经济可行性通常被认为是项目的底线。经济可行性也称为投资收益分析或成本效益分析,主要评估项目的建设成本、运行成本和项目建成后可能的经济收益。技术可行性也称为技术风险分析,研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。法律可行性也称为社会可行性,具有比较广泛的内容,它需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。用户使用可行性也称为执行可行性,是从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等,可以分为管理可行性和运行可行性。<br>\n掌握系统可行性分析方法是系统分析师的重要技能,特别是成本效益分折方法,能够根据现金流量表计算静态投资回收期、动态投资回收期和投资收益率等可行性指标。<br>\n软件系统可行性分析的内容和基本概念是进行软件系统可行性分析的前提。软件系统的可行性分析包括经济可行性、技术可行性、法律可行性和用户使用可行性,分别从项目建设的经济效益、技术方案、制度因素和用户使用等四个方面对系统建设的必要性和可能性进行评佔。\n<br><br>\n【问题2】<br>\n(1)(a)(b)<br>\n(2)(c)(f)<br>\n(3)(e)(g)<br>\n(4)(d)<br>\n<br>\n成本和收益的识别是经济可行性中成本效益分析的基础,成本主要描述系统的投入,收益主要描述系统建成后的产出。软件生存期中的成本按照系统投入的阶段可分为开发阶段的成本和建成后的运营成本两类,软件生存期中的收益按照量化方式不同可分为有形收益和无形收益。系统分析师工资和采购数据库服务器属于系统开发阶段的投入,所以属于开发成本;系统管理员工资和软件许可证费用属于系统建成后运营阶段的投入,所以属于运营成本;销售额同比提高和应用服务器数量减少都意味着系统收益的增加,可以直接量化,所以属于有形收益;而客户满意度增加同样能够增加系统收益,但是无法直接量化,所以属于无形收益。\n<br><br>\n【问题3】<br>\n(1)静态投资回收期:(3-1)+|-50|/140或2.36年。<br>\n(2)动态投资回收期:(3-1)+|-82.9|/105或2.79年。<br>\n(3)投资收益率:594.6/470.5×100%或126.38%。<br>\n<br>\n投资回收期就是投资收回的期限,也是用系统方案所产生的净现金收入回收初始全部投资所需要的时间。对于投资者来讲,投资回收期越短越好,从而减少投资的风险。计算投资回收期时,根据是否考虑资金的货币时间价值,可分为静态投资回收期和动态投资回收期。投资收益率又成为投资利润率,是指投资收益占投资成本的比率,用来反映投资的收益能力。各指标计算方法:<br>\n(1)静态投资回收期=累计净现金流量开始出现正值的年份数-1+1上年累计净现金流量|/当年净现金流量;<br>\n(2)动态投资回收期=累计折现值开始出现正值的年份数-1+|上年累计折现值|/当年折现值;<br>\n(3)投资收益率=投资收益/投资成本×100%。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235489928564737","title":"试题三(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某公司长期从事宇航系统的研制任务。随着宇航系统能力的不断提升,软件的规模急剧增加,对应的缺陷密度呈现出几何增长,失效问题越来越严重。为了保证产品的质量,公司领导要求在重点项目中实施基于模型的系统工程(MBSE)。由于辅助动力控制系统关系着飞行器的飞行安全,有必要作为试点工程首先实施MBSE方法。王工作为该系统的主要负责人,承担起了此项工作。\n<br><br>\n【问题1】(10分)<br>\n王工以前一直负责用传统开发方法进行系统设计,深知基于文本的系统设计方式存在天然的局限性。王工接到指示后,研究了MBSE的相关理论基础和工程实现方法,提出了用MBSE方法设计辅助动力控制系统的实施方案。请用300字以内的文字说明什么是MBSE方法,并列举出三个基于文本设计方式的局限性。\n<br><br>\n【问题2】(9分)<br>\nMBSE的核心技术是模型方法论,王工对目前主流建模方法Harmony-SE(harmony for System Engineering)方法、RUP-SE(Rational Unified Process for System)方法和Vitech MBSE方法进行了分析、对比,鉴于该系统具备安全攸关系统的特殊性,强调验证的有效性,王工认为Harmony-SE方法比较适合宇航环境开发。图3-1给出了Harmony-SE方法的产品生命周期结构。请根据以下三种有关建模方式的描述,判定哪种描述是Harmony-SE方法的正确说明?并简要说明王工在本项目中选择Harmony-SE方法的理由。<br>\n描述1:一种面向对象的设计方法,可以将设计工作按照角色、工件和任务类型进行分解,生成新的分解结构,实现并行设计与迭代开发。<br>\n描述2:系统模型贯穿系统研发的整个生命周期,能够较好处理复杂与整体问题。<br>\n描述3:一种并行系统工程活动,由四个基本系统工程活动组而成,这四种活动通过公共系统设计库相关联。<br>\n<img src=\"https://image.chaiding.com/ruankao/fc07a87053002945c093e2d9ce5233a7.jpg?x-oss-process=style/ruankaodaren\" alt=\"\" width=\"600\" height=\"347\" title=\"\" align=\"\">\n<br><br>\n【问题3】(6分)<br>\nMBSE方法可以通过软硬件建模来预先评估系统的可靠性。王工带领项目成员针对其负责的辅助动力控制系统中的进排气门控制器组件开展了基于MBSE系统分析工作。<br>\n图3-2给出了进排气门控制器的可靠性分布图。<br>\n<img src=\"https://image.chaiding.com/ruankao/9cc9b2afa21718c24ae47a49aeacc253.jpg?x-oss-process=style/ruankaodaren\" width=\"700\" height=\"194\" title=\"\" align=\"\" alt=\"\"><br>\n王工指出:系统是由软硬件组成,以往考虑可靠性指标仅仅关注硬件失效问题,而不考虑软件失效对系统可靠性的影响。如果不考虑软件失效对系统可靠性的影响,本系统可靠性的MTTF(Mean Time To Failure,平均失效前时间)应该为125.9h(参考公式:<br>\n<img src=\"https://image.chaiding.com/ruankao/dab57aa2c36e2f87ab04bc26a1e432a5.jpg?x-oss-process=style/ruankaodaren\" width=\"500\" height=\"51\" title=\"\" align=\"\" alt=\"\"><br>\n请对照图3-3给出的考虑软件失效情况下的系统可靠性分布图(这里,假设SYS1软件非常可靠,系统仅仅将圈中的软件可靠性加入系统可靠性的评估过程),说明此时的系统可靠性(MTTF)应大于还是小于不考虑软件失效的MTTF?并计算出此时的系统可靠性(MTTF)是多少?<br>\n<img src=\"https://image.chaiding.com/ruankao/f9d449d2dc35e7c1755ea51c718dbddb.jpg?x-oss-process=style/ruankaodaren\" width=\"700\" height=\"215\" title=\"\" align=\"\" alt=\"\">","analyze":"【问题1】<br>\n基于模型的系统工程(MBSE)是一种形式化的方法,用于支持与复杂系统的开发相关的需求,设计,分析,验证和确认。与以文档为中心的工程,MBSE将模型放在系统设计的中心。。MBSE是向以模型为中心的一系列方法转变这一长期趋势的一部分,这些方法被应用于机械、电子和软件等工程领域,以期望取代原来系统工程师们所擅长的以文档为中心的方法,并通过完全融入系统工程过程来影响未来系统工程的实践。<br>\n基于文档的设计方法的局限性主要有:<br>\n(1)在基于文档的方法中,许多文档是由不同的作者生成的,以从各种利益相关者的观点(例如系统行为,软件,硬件,安全,安全性或其他学科)中捕获系统的设计。不利于利益相关者之间的沟通,容易产生歧义。<br>\n(2)开发复杂系统的能力有限,基于本设计方案法前期仿真验证。<br>\n(3)自然语言容易引入形容词等模糊描述,很难保证准确性。\n<br><br>\n【问题2】<br>\n正确的描述是【描述2】。<br>\n【描述1】描述1是对RUP-SE方法的描述。<br>\n【描述3】描述3是对vitech MBSE方法的描述。<br>\n根据王工对MBSE的研究,RUP-SE是一种面向对象的设计方法,vitech MBSE方法是一种并行系统,并不满足宇航系统所要求的高安全性和强调验证性的要求。而Harmony-SE建模方法是贯穿系统研发的整个生命周期,用于支持与复杂系统的开发相关的需求、设计、分析、验证和确认。符合宇航系统所描述的安全性和验证性的要求。\n<br><br>\n【问题3】<br>\n(1)小于不考虑软件失效的MTTF。<br>\n(2)系统可靠性的计算如下:<br>\n1/280+1/(5.01*10<sup>4</sup>) +1/10<sup>4</sup>+1/600+1/387+(1/0.3968+1/0.3968)<br>\n=0.007942+(1/0.3968+1/0.3968)<br>\n=0.007942+2/0.3968<br>\n=0.007942+5.040322<br>\n=5.048264(1/h)<br>\n所以系统的可靠性为:1/5.048264==0.1980879H。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235503681687553","title":"试题三(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某公司长期从事嵌入式系统研制任务。近期公司承担了一项面向交通领域的智能交通系统(ITS),为了将信息、通信、传感、控制及计算机等技术有效地集成运用于整个地面交通管理,达到智能交通管理的要求,经公司讨论决定,采用信息物理融合系统(Cyber PhysicalSystem,CPS)技术来保证ITS达到实时、准确、高效的智能交通管理的目的。公司领导层将此任务交给王工承担论证工作。王工在广泛调研的基础上提交了总体实施方案供讨论,大家在高度肯定总体实施方案的基础上,提出了一些问题,并就这些问题提出了补充意见。\n<br><br>\n【问题1】(9分)<br>\n王工在总体实施方案中指出:CPS是在嵌入式系统、传感器技术和网络技术的基础上发展起来的,嵌入式系统使设备具有智能化能力,传感器网络使设备具有感知能力,这两者的结合就产生了“计算深度嵌入物理过程中”的效果,使得物理系统能力得到扩展,并且计算与物理过程相互影响作用,这正是 CPS的系统目标,也是智能交通管理系统的最终目标。基于此需求,对比现有系统,报告分析出CPS 系统应具有十项需求,其中:异质性(heterogeneity)、分布性((distribution)、动态重组(recomposition)和重配置(reconfiguration)是CPS的关键需求。请用300字以内的文字解释说明上述三个需求的具体含义。\n<br><br>\n【问题2】(11分)<br>\n讨论会上,与会者在CPS 的体系结构构建上出现意见分歧,王工提出的智能交通管理系统拟采用传统的CPS三层体系结构(即物理层、网络层和应用层)。张工对此方案提出了异议,认为三层体系结构不能体现智能、融合等特点,由于智能交通管理系统信息量大,计算和控制是关键,应考虑将系统分解为四层体系结构,以充分体现智能、控制和信息融合的特点。经讨论,最后采纳了张工的建议。图3-1和图3-2分别是王工和张工提出的分层体系结构。请用150字以内的文字简要说明王工提出的三层体系结构中各层的功能划分,并详细分析图3-2,指出张工提出的四层体系结构与王工提出的结构存在的差异,并说明四层体系结构的两个显著优点。<br>\n<img src=\"https://image.chaiding.com/ruankao/49b5a1d65067962a735bd4280c3be165.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">\n<br><br>\n【问题3】(5分)<br>\n王工在总体实施方案中强调,智能交通管理系统采用CPS 体系结构后,由于本系统安全与否,直接涉及车辆、驾驶员以及行人的生命安全,因此必须开展智能交通管理系统的安全性分析,寻找出潜在风险。通常风险可分为基本风险和特定风险,而特定风险涵盖了人为因素带来的风险和环境因素带来的风险。请识别出智能交通管理系统存在的5种特定风险。","analyze":"【问题1】<br>\n(1)异质性。CPS网络将异质部件进行互联,这些异质单元可能包括不同功能的设备、不同公司生产的设备、软件系统不同的设备,甚至编码系统不同的设备。CPS 要实现这些异质设备间的无障碍的互操作,需要采取一些“翻译”措施。<br>\n(2)分布性。CPS 系统中存在大量网络化的嵌入式计算,这些嵌入式计算组成了分布式计算的网络,每个结点的能力有限,是一种典型的分布式计算系统。<br>\n(3)动态重组和重配置。CPS的目标是完成各种任务,那么各种资源要能够根据任务的情况,动态地进行重组和重配置,当某些资源失效,如感知设备电池耗尽了,要能够自动地组织其他资源做补充。\n<br><br>\n【问题2】<br>\n物理层:交通CPS 中,汽车、道路设备不再仅仅是简单的机械设备,而将是嵌入大量传感器、计算、控制部件的智能体。智能汽车、智能道路、智能桥梁等交通智能设备分布在环境中,直接与物理环境相互作用,这些有感知、计算以及控制等功能的交通设备构成了交通CPS的物理层。<br>\n网络层:单一的、孤立的智能汽车(CPSU)并不能构成交通CPS,只有各种交通CPSU互联互通才能实现交通CPS,交通CPS体系结构中的网络层正是将大量异构CPSU连接起来,实现交通CPSU的互联互通,并支持CPSU的互操作。<br>\n应用层:应用层主要是指面向用户提供服务的应用软件,例如智能汽车的车载软件、交通管理部门的集中监控软件等。<br>\n张工的四层体系结构与王工的三层体系结构相比,其显著特点是张工的感知层与王工的物理层功能一致,而差别在于张工在感知层之上增加了计算/控制层,使得功能划分更清晰,层次结构更加明确,可确保信息的计算、控制和融合处理的有效性。<br>\n张工提出的系统结构具有以下优势:<br>\n增加计算/控制层中的计算能力可以有效获取来自感知层或者其他层的数据,可增加综合统计及分析能力,也可对数据经分析、运算后传到其他层,实现交通管理的统计、计算、仿真及显示能力,同时也可降低感知层的计算负荷。<br>\n增加计算/控制层的控制能力可以接收来自计算层的数据或来自应用层的用户控制信息,加工处理后生成控制命令,经网络层传送到感知层和计算层,实现对感知层CPSU的控制。增加控制能力可以将比如导航仪、车速控制器等具有控制与调度功能的子系统能力进行信息融合管理。\n<br><br>\n【问题3】(列出其中五项即可)<br>\n(1)驾驶员<br>\n(2)行人<br>\n(3)乘客<br>\n(4)车辆维修人员<br>\n(5)操作人员<br>\n(6)路面结冰<br>\n(7)轮胎爆裂<br>\n(8)火灾/水灾<br>\n(9)爆炸/自燃<br>\n(10)汽油/机油泄漏<br>\n(11)信号灯故障<br>\n(12)网络故障或丢失","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235516029718529","title":"试题三(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某公司长期从事嵌入式系统研制任务,面对机器人市场的蓬勃发展,公司领导决定自主研制一款通用的工业机器人。王工承担了此工作,他在广泛调研的基础上提出:公司要成功地完成工业机器人项目的研制,应采用实时结构化分析和设计(RTSAD)方法,该方法已被广泛应用于机器人顶层分析和设计中。\n<br><br>\n【问题1】(9分)<br>\n实时结构化分析和设计(RTSAD)方法分为分析和设计两个阶段。分析阶段要开发一个基本模型,即需求模型,基本模型中包含一个环境模型和一个行为模型;设计阶段是一种程序设计方法,该方法在转换分析和事务分析策略中结合使用了模块耦合和内聚标准,用于开发从结构化分析规范开始的设计方案。请用300字以内文字说明环境模型、行为模型、模块耦合和内聚的含义;并从模块独立性的角度,说明模块设计的基本原则。\n<br><br>\n【问题2】(9分)<br>\n图3-1给出了机器人控制器的状态转换图,其中T1~T6表示了状态转换过程中的触发事件,请将T1-T6填到图3-1中的空(1)~(6)处,完善机器人控制器的状态转换图,并将正确答案填写在答题纸上。<br>\n<img width=\"610\" height=\"424\" src=\"https://image.chaiding.com/ruankao/6c505ffa02fc53f7a2fabb69cf159fe0.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">\n<br><br>\n【问题3】(7分)<br>\n参考机器人控制器状态转换图(图3-1)和机器人控制器环境图(图3-2),完善机器人控制器命令的数据流程图(图3-3)中的空(1)~(7)处,并将正确答案填写在答题纸上。<br>\n<img width=\"569\" height=\"733\" src=\"https://image.chaiding.com/ruankao/7eb59f40be15cd4c29909954f2d8b3a3.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">","analyze":"【问题1】<br>\n环境模型描述的是系统运行时所处的环境,也就是系统要连接的外部实体,以及发送给系统的输入和来自系统的输出。<br>\n行为模型描述的是行为,也就是系统对从外部环境中接收到的输入信息的反应,在实时系统中,这些反应一般都是依赖于状态的。<br>\n模块耦合在模块分解过程中作为一种标准来使用,用于判断模块间连接性的程度。<br>\n模块内聚在模块分解过程中作为一种标准来使用,用于确定模块内部的强度或统一性。<br>\n模块设计在模块独立性上的基本原则:高内聚低耦合。\n<br><br>\n【问题2】<br>\n(1)T1<br>\n(2)T4<br>\n(3)T2<br>\n(4)T3<br>\n(5)T6<br>\n(6)T5<br>\n<br>\n本问题主要通过机器人控制器实例说明,考查考生掌握状态转换图转换的能力。<br>\n题中已给出图3-1机器人控制器状态转换图。机器人控制器设定了6种状态,即已关闭、增加动力、手动、运行、终止和已挂起,在6个状态相互转换时,设计了 6个触发事件(T1~T6),需要考生根据已知的机器人控制器原理,将触发条件填到相应位置。以下详细说明机器人控制器状态转换关系:<br>\n当按下【启动】按键时,系统就会进入【增加动力】状态。在成功地完成了增加动力的过程之后,系统就会进入【手动】状态。操作员现在可以使用【程序选择】旋钮开关来选择程序(T1:触发【改变程序】)。当操作员按下【运行】按钮时,就会启动当前选择枵序的执行过程(T2:触发【开始程序】),系统就会过渡到【运行】状态。操作员可以通过按下【停止】按钮来挂起程序的执行过程(T5:触发【停止程序】),然后系统就会进入【已拦起】状态。操作员现在可以按下【运行】按钮来继续执行程序(T6:触发【恢复程序】),系统则返回到【运行】状态。为了终止程序,操作员按下【结束】按钮(T3:触发【结束程序】),系统现在进入了【终止】状态。当程序终止执行时(T4:触发【处理程序已结束】),系统就返回了【手动】状态。\n<br><br>\n【问题3】<br>\n(1)控制机器人<br>\n(2)修改程序<br>\n(3)启动程序<br>\n(4)结束程序<br>\n(5)处理程序结束<br>\n(6)停止程序<br>\n(7)继续执行程序<br>\n<br>\n本问题主要通过机器人控制器实例说明,考查考生掌握数据流程的设计能力。<br>\n图3-1和图3-2分别给出了机器人控制器的状态转换图和环境图,如果考生能够正确完善问题2的内容,则本题的意义就在于完善机器人控制器数据流图,这是结构化分析和设计方法核心步骤之一。<br>\n从图3-3给出的机器人控制器的数据流图看,虚线代表了事件流,也就是触发事件,实线代表了数据流,而圆形代表了一种转换。因此,本题重点考查机器人控制器的命令流程关系。<br>\n图3-3给出了从【机器人命令】转换的分解中得到的流程图。【读取控制面板输入】转换可以从控制面板接收输入。这些输入要作为事件流发送给【控制机器人】(答案(1)),【控制机器人】转换要在系统当前状态下检查输入是否有效,如果有效,那么【控制机器人】转换就可以从状态转换图中判断新的状态和所需操作,然后该转换就会触发相应的数据转换来实现操作。<br>\n因此,T1触发了【修改程序】转换(答案(2))、T2触发了【启动程序】转换(答案(3))、T3触发了【结束程序】转换(答案(4))、T4触发了【处理程序结束】转换(答案(5))、T5触发了【停止程序】转换(答案(6))、T6触发了【继续执行程序】转换(答案(7))。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235477668614145","title":"试题三(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br> \n随着嵌入式计算资源快速提升,容器技术(Docker)发挥重要作用,某公司对原有平台升级,公司将平台升级任务交给了张工,张工经过分析、调研,提出在园嵌入式操作系统平台上采用容器技术的升级方案,但该方案引发了争议。<br> <br> \n【问题1】<br> \n争论焦点是采用容器技术还是虚拟机(VM)技术。李工支出由于容器技术共享主机内核能向虚拟机一样完全隔离,系统存在安全问题;如果采用虚拟机技术除满足需求外,还保证了系统的安全和稳定,会上领导根据系统升级的初衷选择了张工的升级方案,请用300字以内的文字说明容器技术和虚拟技术的含义,并简要论述公司领导采纳容器技术的原因。<br> <br> \n【问题2】<br> \n表3-1给出了虚拟技术和容器技术的性能对比表,请根据下面的(a) ~ (h)的8个性能指标;判断这些指标属于哪类对比项,补充完善3-1的(1) - (8)的空白处。<br> \n(a)分钟级<br> \n(b)包含GuestOs,G两级以上<br> \n(c)跨操作系统平台迁移<br> \n(d)CPU与内存按核、按G分配<br> \n(e)毫秒/秒级<br> \n(f)Cgroups,进程级别<br> \n(g)VM伸缩,cpu/内存手动伸缩<br> \n(h)实例自动伸缩、cpu/内存自动在线伸缩<br> \n<br><img src=\"https://image.chaiding.com/ruankao/37343f39ab96a4fe8f26cb022842ba54.jpg?x-oss-process=style/ruankaodaren\"><br> <br> \n【问题3】<br> \n暂缺","analyze":"【问题1】<br>\n容器技术起源于Linux,是—种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源。虚拟机技术指通过模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。<br>\n容器技术与虚拟机技术相比有如下优势,是公司领导采纳容器技术的原因:<br>\n更高效的利用系统资源:<br>\n容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,容器对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。<br>\n更快速的启动时间<br>\n传统的虚拟机技术启动应用服务往往需要数分钟,而D○cker容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。<br>\n更轻松的维护和扩展<br>\nDocker使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进—步扩展镜像也变得非常简单。<br><br>\n【问题2】<br>\n① : b<br>\n② : d<br>\n③ : a<br>\n④ : e<br>\n⑤ : c<br>\n⑥ : g<br>\n⑦ : h<br>\n⑧ : f<br>\n【问题3】<br>\n暂缺","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235540847415297","title":"试题三(25分)<br>\n阅读以下关于安全关键系统安全性设计技术的描述,回答问题1至问题3。<br>\n【说明】<br>\n某公司长期从事计算机产品的研制工作,公司领导为了响应国家军民融合的发展战略,决定要积极参与我国军用设备领域的研制工作,将本公司的计算机及软件产品通过提升和改造,应用到军用装备的安全关键系统中。公司为了承担军用产品的研发任务,公司领导将论证工作交给王工负责。王工经调研分析,提交了一份完整论证报告。\n<br><br>\n【问题1】(12分)<br>\n论证报告指出:我们公司长期从事民用市场的计算机研制工作,在研制流程、管理方法以及环境试验等方面都不能达到军用设备相关技术要求。要承担武器装备生产研制工作,就必须建立公司的武器装备生产研制质量体系,需要拿到军方或政府部门颁发的资格认证。从技术上讲,军用设备产品大部分都属于安全关键系统,其计算机及软件的缺陷会导致武器装备失效,因此,公司技术人员应及早掌握相关安全性基本概念和相关设计知识。<br>\n(1)企业要承担武器装备产品生产任务,需获得一些资格认证,请列举两种资格认证名称。<br>\n(2)请说明安全关键系统的定义,并列举出两个安全关键系统的实例设备。<br>\n(3)请简要说明安全性(safety)的具体含义,并给出产品设计时,安全性分析通常采用哪两种方法?\n<br><br>\n【问题2】(6分)<br>\nIEC 61508 (《电气/电子/可编程电子安全系统的功能要求》)是国际上对安全关键系统规定的一种较完整的安全性等级划分标准,本标准是由国际电工委员会(International Electronic Commission)正式发布的电气和电子部件行业标准(GB/T 20438等同于此标准)。本标准对设备或系统的安全完整性等级(SIL)划分为4个等级(SIL1、SIL2、SIL3、SIL4),SIL4是最高要求。<br>\n表3-1给出了本标准对安全功能等级和失效容忍概率的对应关系。请根据自己所掌握的安全功能等级相关知识,补充完善表3-1给出的(1)~(6)空格,并将答案写在答题纸上。<br>\n表3-1安全功能等级(SIL)和失效容忍惯率对照表<br>\n<img alt=\"\" width=\"458\" height=\"158\" src=\"https://image.chaiding.com/ruankao/8501d3f1d51d20942748e834ded9e89d.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(7分)<br>\n实时调度是安全关键系统的关键技术。实时调度一般分为动态和静态两种。其中,静态调度是指在离线情况下计算出的任务的可调度性,静态调度必须保证所有任务的时限、资源、优先级和同步的需求。图3-1给出了一组分布式任务执行的优先级关系,请根据图3-1给出任务间的优先级关系实例,按静态调度算法的基本原理,补充完善图3-2给出的任务静态调度搜索树的(1)~(10)空白,并给出最佳调度路径。<br>\n<img alt=\"\" width=\"516\" height=\"196\" src=\"https://image.chaiding.com/ruankao/2373793c785c0f28a5f01b270b20c518.jpg?x-oss-process=style/ruankaodaren\"><br>\n图3-1分布式任务的优先权关系图<br>\n<img alt=\"\" width=\"483\" height=\"267\" src=\"https://image.chaiding.com/ruankao/b559105fd258e8400dfc26f83949eaf3.jpg?x-oss-process=style/ruankaodaren\"><br>\n图3-2静态调度搜索树图","analyze":"【问题1】<br>\n1) 军用产品生产需要获得以下五种认证:<br>\n(1) 国军标质量管理体系认证,简称国军标认证(ISO—9001);<br>\n(2) 武器装备科研生产许可证认证,简称许可证认证;<br>\n(3) 武器装备科研生产单位保密资质认证,简称保密认证;<br>\n(4) 装备承制单位资格名录认证,简称名录认证;<br>\n(5) 军用软件研制能力成熟度模型资格认证,简称软件认证(GJB5000)。<br>\n2) 安全关键系统是指其不正确功能和失效会导致人员伤亡、财产损失等严重后果的计算机系统。<br>\n如果计算机系统的失效可能引起灾难性的后果,如丧失生命、大量财产损失或环境遭到灾难性损失,则这个计算机系统能被称为“安全关键系统”。<br>\n(以上两段定义,只要回答正确任何一段,即可得3分)<br>\n<br>\n本题主要考査考生对军用安全关键系统相关研制过程、质量保证和安全性评价等技术知识的掌握及应用。首先要求考生应在理解安全关键系统相关技术的基本概念和主要特征的基础上,针对军用设备技术要求、安全性分级标准的等软件设计方法开展学习,重点从标准体系、安全功能等级和失效容忍概率以及实时调度等关键技术方面思考问题,以进一步提高考生对安全关键系统知识的掌握能力。<br>\n此类题目要求考生根据已从事过或将要从事的安全关键系统的软件开发项目的相关知识,认真阅读题目对技术问题的描述,经过分析、分类和概括等方法,从中分析出题干或备选答案给出的术语差异,正确回答【问题1】到【问题3】所涉及的各类技术要点。<br>\n我国军用装备产品经过六十多年研制,已建立了完善的研制体系,从事军用装备产品研制的企业,必须通过多种资质认证工作。在国家军民融合发展战略鼓舞下,许多民营及股份制企业准备将自己的产品打入军用装备领域,或承担军用设备研制工作。与此同时,国家已降低进入门槛,鼓励民营企业参与军工产品研制工作。但是,政策的放宽不等于产品质量的降低,因此,参与军用设备的研制工作的企业必须要拿到相应资质,建立军品研制体系。<br>\n通常,军工产品研制体系包含五种资质认证。<br>\n(1) 国军标质量管理体系认证,简称国军标认证(ISO—9001)<br>\nISO—9000族标准是国际标准化组织(ISO)在1994年提出的概念,是国际标准化组织质量管理和质量保证技术委员会制定的国际标准。ISO—9001是ISO—9000族标准所包含的一组质量管理体系核心标准之一,主要用于证实组织具有提供满足顾客需求和适用法规要求的产品能力,目的在于增进顾客满意度。凡是通过认证的企业,在各项管理系统整合上已达到了国际标准,表明企业能持续稳定地向顾客提供预期和满意的合格产品。从事军工产品研制的企业必须通过ISO—9001认证。<br>\n(2) 武器装备科研生产许可证认证,简称许可证认证<br>\n武器装备科研生产许可是指国家对由国务院国防科技工业主管部门会同军委装备发展部和军工电子行业主管部门共同制定的,列入武器装备科研生产许可目录的武器装备科研生产活动实行许可管理。未取得武器装备科研生产许可,不得从事许可目录所列的武器装备科研生产活动。取得武器装备科研生产许可的单位,应当在许可范围内从事武器装备科研生产活动,按照国家要求或者合同约定提供合格的科研成果和武器装备。<br>\n(3) 装备承制单位资格名录认证,简称名录认证<br>\n《装备承制单位资格名录》是由军委装备发展部组织对装备承制单位的审核确定的满足武器装备科研生产许可要求的单位名录,实行装备承制单位资格审查制度,对于培养竞争主体、营造竞争环境,降低采购风险,提高装备建设质量效益,具有重要意义。《装备采购条例》规定:装备采购实行承制单位资格审査制。除特殊情况外,装备采购的承制单位应当从《装备承制单位资格名录》中选择。装备承制单位分为三类:第一类装备承制单位是指承制装备的总体、关键、重要分系统和核心配套产品的单位;第二类装备承制单位是指承制其他军队专用装备和一般配套产品的单位;第二类装备承制单位是指承制军选民用产品的单位。<br>\n(4) 武器装备科研生产单位保密资格认证,简称保密认证<br>\n为规范武器装备科研生产单位保密资格审查认证工作,确保国家秘密安全,依据《中华人民共和国保守国家秘密法》和相关保密规定,由国家保密局、国防科工局和军委装备发展部联合制定《武器装备科研生产单位保密资质审查认证管理办法》,规定承制武器装备科研生产任务的企事业单位应取得相应的保密资格。武器装备科研生产单位保密资格分为一级、二级、三级等三个等级,一级保密资格的单位可以承担绝密级科研生产任务;二级保密资格的单位可以承担机密级科研生产任务;三级保密资格的单位可以承担秘密级科研生产任务。<br>\n(5) 军用软件研制能力成熟度模型资格认证,简称软件认证(GJB5000)<br>\n软件能力成熟度模型是一种对软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述形成的标准。而军用软件研制能力成熟度模型是以CMMI-DEV 1.2版本为基础制定的面向军用软件研制的标准(GJB5000—2008),同样,承研军用软件研制生产的单位,应根据自身承担的软件任务情况,获取相应的军用软件研制能力成熟度模型认证等级,未获得软件GJB5000认证的单位将不能研制生产军用软件。<br>\n以上五种资质(格)认证是承担武器装备生产的必备资质。当然,作为软件企业,要想从事军用软件研制任务,保密资格认证和GJB5000软件认证是必不可少的。<br>\n在日常生活中,所乘的交通工具、使用各种的电子设备,都可能对人身存在着不同程度的伤害或重大财产损失。将这类系统分为安全关键系统或非安全关键系统。安全关键系统(Safety-Critical-System)又称“安全攸关系统”,是指其小正确功能和失效会好致人员伤亡、财产损失等严重后果的计算机系统。因此,如果计算机系统的失效可能引起灾难性的后果,如丧失生命、大量财产损失或环境遭到灾难性损失,则这个计算机系统能被称为“安全关键系统”。<br>\n通常情况下,安企管家系统包含飞行器中的飞行控制系统、汽车中的电子稳定指令系统、火车控制系统、核反应堆系统、医疗设备的心脏起搏器、功率输电网和机器人的人机交互等。<br>\n在安全关键系统设计时,为了提高系统的安全性设计能力,预防系统的失效所带来的重大灾难,在系统顶层设计时,应编制系统的安全分析报告,通常安全性分析采用故障树(Fault Tree Analysis)分析法和失效模式和影响域(Failure Mode and Effects Analysis FMEA)分析法两种。<br>\n1. 故障树分析法:故障树分析法(FTA)又称事故树分析法,是安全系统工程中最重要的分析方法。故障树分析从一个可能的事故开始,自上而下、逐层寻找直接原因和间接原因事件,直到基本原因事件,并用逻辑图把这些事件之间的逻辑关系表达出来。<br>\n2. 失效模式和影响域分析法:失效模式和影响域分析法(FMEA)是分析系统中每一个产品所打可能产生的故障模式及其对系统造成的所有可能影响,并按每一个故障模式的严重程度,检测难易积度以及发生频率予以分类的一种归纳分析方法。\n<br><br>\n【问题2】<br>\n(1)≧10<sup>-5</sup> to &lt; 10<sup>-4 </sup>(2)≧10<sup>-9</sup> to &lt; 10<sup>-8 </sup><br>\n(3)≧10<sup>-4</sup> to &lt; 10<sup>-3</sup> (4)≧10<sup>-3</sup> to &lt; 10<sup>-2</sup><br>\n(5)≧10<sup>-7</sup> to &lt; 10<sup>-6</sup> (6)≧10<sup>-6</sup> to &lt; 10<sup>-5<br>\n<br>\n</sup>针对安全关键系统危害程度,国际上通常根据设备引起的危害程度将安令等级进行分级,并根据设备的安全性设计水平开展安全等级评估。<br>\nIEC 61508 (《电气/电子/可编程电子安全系统的功能要求》)标准规定了常规系统运行和故障预测能力两方而的基本安全要求。这些要求涵盖了一般安全管理系统、具体产品设计和符合安全要求的过程设计,其目标是既避免系统性设计故障,又避免随机性硬件失效。它是国际上对安全关键系统规定的一种较完整的安全性等级划分标准,本标准是由国际电工委员会(International Electronic Commission)正式发布的电气和电子部件行业标准,国内编制的国标GB/T20438与此标准等同。本标准对设备或系统的安全完整性等级(SIL)划分为4个等级(SIL1、SIL2、SIL3、SIL4),SIL4是最高要求。表3-1给出了这叫个安全等级划分。<br>\n<img alt=\"\" width=\"529\" height=\"135\" src=\"https://image.chaiding.com/ruankao/cb6da8ed50404c96c8fcbd7403b62f7b.jpg?x-oss-process=style/ruankaodaren\"><br>\n本考题主要考查考生对IEC 61508标准中对安全性级别划分的理解程度。\n<br><br>\n【问题3】<br>\n(1)T6 (2)T5 (3)T7<br>\n(4)M1 (5)T1 (6)T3<br>\n(7)T4 (8)M2 (9)T6<br>\n(10)T5<br>\n备注:(4) 与(5)、 (6)与 (7)、 (8)与(9)在图中位置可互换。<br>\n最佳调度路径:T0—T2—M1&amp;T1—T3&amp;T4—M2&amp;T6—T5—T7 <br>\n<br>\n在实时系统中,掌握任务调度算法是对考生的基本要求。通常情况下,实时系统任务都是按预先定义好的时间序列运行,为保证系统确定性要求,可调度性分析是设计安全关键系统任务调度的关键技术之一。<br>\n实时调度一般分为动态和静态两种。其中,静态调度是指在离线情况下计算出的任务的可调度性,静态调度必须保证所有任务的时限、资源、优先级和同步的需求。<br>\n本题给出了一组分布式任务执行的优先级关系,任务0~任务3运行在节点1CPU上,通过消息机制和节点2上的任务4~任务7进行协调工作,这里假设了每个任务和每个消息运行在一个时间单位(Slot),本题是在已给任务静态调度搜索树的基础上,回答可调度的任务安排序列。从任务静态调度搜索树分析出:(1)~(3)空显然与第一组调度任务排列有相同之处,任务5和任务6改变顺序即可;对于第三组调度序列,只要注意消息活动与任务间的关系,应该可以按顺序编排完成。最佳调度路径为T0—T2—M 1&amp;T1—T3&amp;T4—M2&amp;T6—T5—T7,这样的最佳路径比前面两组调度节省一个时间节拍。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235527933153281","title":"试题三(25分)<br>\n阅读以下关于安全攸关嵌入式系统相关技术的描述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某公司机电管理系列产品被广泛应用于飞行器后,外场事故频繁发生,轻则飞机座舱显示机电设备工作异常,重则系统预警,切入备份运行。这些事故给航空公司带来重大经济损失。<br>\n公司领导非常重视航空公司的问题反馈,责令公司王总带队到现场进行故障排查。经过一个多月的排查,故障现象始终未复现,同时,公司实验室内也在反复复现故障,结果未取得显著成效,但发现产品存在偶然丢失协议包的现象。随后,公司领导组织行业专家召开故障分析会。王总在会上对前期故障排查情况进行了说明,指出从外场现象看CCDL协议包丢失是引起系统报警、切换的主要原因。图3-1给出了机电管理产品的工作原理,机电管理系统主要承担了对飞行器的刹车、燃袖和环控等子系统进行监视与控制,它对飞行器而言是安全攸关系统,因此,从系统结构上采用了双余度计算机系统。具体工作流程简要说明如下:<br>\n<img width=\"450\" height=\"277\" alt=\"\" src=\"https://image.chaiding.com/ruankao/4ae3af50f50e6362e09cf73f2627948a.jpg?x-oss-process=style/ruankaodaren\" title=\"\" align=\"\"><br>\n1.机电管理系统由1号计算机和2号计算机组成,双机互为余度备份;<br>\n2.双机中分别驻留了一个100ms周期的CCDL任务,完成双机间的交叉对比和实时监控等工作。10ms定时器作为任务的工作频率;<br>\n3.交叉对比协议包包含一组“AA55”报头、消息长度、数据和校验码;<br>\n4.2号机将协议包通过422总线发送给1号机(422总线接口芯片有8级缓冲);<br>\n5.1号机通过中断方式将422总线数据接收到大环形缓冲区中(大小为4096B);<br>\n6.100ms的CCDL定时任务将大环形缓冲冲区的数据以512B为单位拷贝到小环形缓冲区中(大小512B);<br>\n7.CCDL任务按照协议包格式解析小环形缓冲的数据,如果校验错误,丢弃当前协议包;<br>\n8.在协议包格式正确的情况下,进行数据交叉比对,比对正确则输出;比对不正确,并连续不正确超过门限,则报警。\n<br><br>\n【问题1】(12分)<br>\n王总汇报时指出,在设计安全攸关系统软件时,往往不重视安全攸关软件设计方法, 不遵守C语言安全编码规范,导致程序质量较差,代码中存在支全隐患。请简要说明表3-1给出的C语言代码是C语言安全编码标准中(如:MISARC标准)不允许采用的代码结构的原因。<br>\n表3-1 C语言代码实例<br>\n<img width=\"500\" height=\"671\" alt=\"\" src=\"https://image.chaiding.com/ruankao/d6f1fa869b5a1d2c50daac84e142ec39.jpg?x-oss-process=style/ruankaodaren\" title=\"\" align=\"\"><br>\n<img width=\"529\" height=\"530\" alt=\"\" src=\"https://image.chaiding.com/ruankao/cb1dc5c22a970e55e1d6f724c434accf.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(10分)<br>\n请根据自己对图3-1所示机电管理系统工作原理的分析,用300字以内的文字说明本实例中可能存在哪三方面数据传输时丢失协议包现象,并简要说明原因。\n<br><br>\n【问题3】(3分)<br>\n针对以上分析出的三种丢包原因,请举例给出两种以上的修改丢包bug的可能的方法。","analyze":"【问题1】<br>\n(1)C语言安全编码标准“if...else if语句中必须使用else分支”。<br>\n(2)C语言安全编码标准“禁止使用空switch语句”。<br>\n(3)C语言安全编码标准“禁止将参数指针赋值给过程”。<br>\n(4)C语言安全编码标准“禁止将过程声明为指针类型”。<br>\n(5)C语言安全编码标准“禁止同一个表达式中调用多个相关函数”。<br>\n(6)C语言安全编码标准“禁止对指针变量使用强制类型转换赋值”。<br>\n<br>\n本题主要考查对安全攸关系统开发中提高可靠性、安全性的保证技术的掌握程度。首先要求考生应在理解安全关键系统相关基本概念和主要特征的基础上,针对宇航系统软件编码的安全要求、系统余度管理设计技术等方面有所了解,其次,考生应详细阅读题干给出的宇航机电管理系统工作原理和部分系统需求,在理解、分析和推断的基础上,给出各问题的正确解答。<br>\n机电管理系统是宇航器飞行的关键系统之一,其主要承担了对飞行器的刹车、燃油和环控等子系统进行监视与控制,通常为了飞行器安全,此系统普遍采用双余度结构,系统提供两个通道数据采集通道,两个同构计算机上执行相同程序,在数据处理完成后,采用CCDL交叉对比,进行表决,最后选取正确的数据输出。<br>\n在设计安全攸关系统软件时,必须规定项目团队的编码规则,宇航系统软件开发通常采用C语言。由于C语言属于非强制性语言,有些语句存在一定的二义性,有些语句的使用会影响软件最终的安全性,因此,安全攸关系统中的软件开发必须屏蔽掉可能存在安全隐患的语句。参照国际行业规范(如:MISARC标准),我国制定了多种C语言安全编码标准,从不同领域提出了对C语言的使用限制。<br>\n给出了6种典型的C语言存在安全隐患的语句,简要说明如下,此6项在标准中均属于强制执行。<br>\n(1)标准要求:“if…else…”语句在程序中必须配对使用,否则属于分支条件不完整,易产生安全隐患。规定“C语言安全编码标准‘if-else if语句中必须使用else分支’”。<br>\n(2)标准要求:“switch”语句大括号内不能缺少执行语句,否则switch内的条件无法满足,难易退出循环。规定“C语言安全编码标准‘禁止使用空switch语句’”。<br>\n(3)标准要求:为了保证指针使用的安全性,避免指针套指针的结构,引起数据的不可预计,尤其是给过程赋指针变量。规定“禁止将参数指针赋值给过程”。<br>\n(4)标准要求:在过程内进行静态声明时,不能将过程静态声明成指针,以免引起访问错误。规定“禁止将过程声明为指针类型”。<br>\n(5)标准要求:为了避免表达式中存在二义性,不允许表达式嵌套层次过多,尤其是多重调用函数。规定“禁止同一个表达式中调用多个相关函数”。<br>\n(6)标准要求:指针类型变量被强制性转化会引起指针数据的不确定性,尤其是对指针进行强制转化后赋值,其数据的真实含义会发生变化,存在安全隐患。规定“禁止对指针变量使用强制类型转换赋值”。\n<br><br>\n【问题2】<br>\n图3-1可能存在大小缓冲不匹配、时钟不准和422总线缓冲丢字节等三方面丢数据包现象。<br>\n(1)大小缓冲不匹配。由于CCDL任务在每100ms将大缓冲的数据拷贝到小缓冲后,进行协议包解析。当两缓冲存在大量接收数据包时,如果CCDL任务处理机制设计不合理,有可能解析时间过长而引起丢包现象。<br>\n(2)100ms时钟不准。由于大小环形缓冲数据交换采用100ms时钟周期处理,而100ms时钟周期依赖于10ms计时器,如果10ms计时器受到系统干扰可能丢失中断,则引起100ms时钟周期增加10ms。导致CCDL任务定时时间不准,不能按100ms周期解析协议包,过早解析协议包,而当前周期的协议包还未到达,可能导致丢包。<br>\n(3)422总线缓冲丢字节。422总线有8字节输入缓冲,如果将422总线设置为全满中断时,在数据输入流量大的情况下,8字节FIFO字节输入缓冲容易溢出,导致字节丢失,一旦协议包校验和失败,会丢弃此包,这样会导致丢包。<br>\n<br>\n图3-1给出了机电系统双余度的工作原理,双机交换数据是从422串行接口中采集到的,从题干可以看出,422数据包的长度是不确定,每包包头用“AA55”识别。通常驱动程序需要将数据按字节方式接收后,存入缓冲区中,处理程序将通过找“AA55”包头,获取长度数据,计算出完成数据包,进行处理。<br>\n从图3-1可以看出,系统采用了大小两个缓冲区,100ms任务启动后,从大缓冲区读取一帧协议包后,放入小缓冲,因此,大小缓冲不匹配而会引发数据包丢失;其次实时系统工作要依赖于系统工作频率,本系统工作频率为10ms, 一旦10ms定时器中断丢失或被屏蔽必然引起实时调度的时钟不准,而引发周期任务不能准时工作,会导致与当前帧的协议包不完整而丢掉不完整的协议包;422总线是异步总线,接收方与发送方不存在相互依赖关系,因此,总线仅有8级缓冲,并采用FIFO方式缓冲,如果缓冲区数据没有被及时读走,将会被后续数据所覆盖,如果包头数据被覆盖,必然导致协议包丢失。具体原因简要说明如下:<br>\n(1)大小缓冲不匹配。由于CCDL任务在每100ms将大缓冲的数据拷贝到小缓冲后,进行协议包解析。当两缓冲存在大量接收数据包时,如果CCDL任务处理机制设计不合理,有可能解析时间过长而引起丢包现象。<br>\n(2) 100ms时钟不准。由于大小环形缓冲数据交换采用100ms时钟周期处理,而100ms时钟周期依赖于10ms计时器,如果10ms计时器受到系统干扰可能丢失中断,则引起100ms时钟周期增加10ms。导致CCDL任务定时时间不准,不能按100ms周期解析协议包,过早解析协议包,而当前周期的协议包还未到达,可能导致丢包。<br>\n(3)422总线缓冲丢字节。422总线有8字节输入缓冲,如果将422总线设置为全满中断时,在数据输入流量大的情况下,8字节FIFO字节输入缓冲容易溢出,导致字节丢失,一旦协议包校验和失败,会丢弃此包,这样会导致丢包。\n<br><br>\n【问题3】<br>\n(1)512B和4096B两个缓冲区合并,以减少缓冲区拷贝不同步而产生的丢包问题。<br>\n(2)精简10ms时钟中断处理程序,避免10ms中断的丢失,所引发100ms任务不能准时启动。<br>\n(3)充分利用422芯片的缓冲区的满、半满和空中断机制,避免422缓冲区内字节数据未及时读出而丢失,使100ms任务找不到包头或校验码错。<br>\n(4)采用新型校验码,降低传输中的数据错误。<br>\n(5)缩短100ms任务的循环周期,以及时处理CCDL任务。<br>\n<br>\n基于上述三种可能的丢包原因,可举例给出两种以上的修改丢包缺陷的可能方法。<br>\n(1)512B和4096B两个缓冲区合并。设计成两级缓冲方法本身存在不合理的地方,不但数据移动影响系统实时性,而且在寻找协议包时会将半包数据丢弃,因此合并两个缓冲区,100ms任务直接在大缓冲区中寻找协议包,直接处理,以减少缓冲区拷贝不同步而产生的丢包问题。<br>\n(2)422串行总线中断处理程序、10ms时钟中断处理程序要精简,在中断处理程序中及时处理并及早退出。这样,可避免10ms中断的丢失所引发100ms任务不能准时启动。<br>\n(3)422芯片的8级缓冲,根据总线数据的传输频率,充分利用422芯片的缓冲区的满、半满和空中断机制,避免422缓冲区内字节数据未及时读出而丢失,使100ms任务找不到包头或校验码错。<br>\n(4)采用新型校验码,在422总线数据发生校验错时,可进行校队,降低传输中的数据错误。<br>\n(5)在总线数据的传输频率非常高的情况下,可以通过缩短100ms任务的循环周期,以及时处理CCDL任务,确保每帧数据能够得到实时处理。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235552910233601","title":"试题三(25分)<br>\n阅读以下关于嵌入式多核程序设计技术的描述,回答问题1至问题3。<br>\n【说明】<br>\n近年来,多核技术已被广泛应用于众多安全关键领域(如:航空航天等)的电子设备中,面向多核技术的并行程序设计方法已成为软件人员急需掌握的主要技能之一。某宇航公司长期从事宇航电子设备的研制工作,随着宇航装备能力需求的提升,急需采用多核技术以增强设备的运算能力、降低功耗与体积,快速实现设备的升级与换代。针对面向多核开发,王工认为多核技术是对用户程序透明的,开发应把重点放在多核硬件架构和硬件模块设计上面,而软件方面,仅仅需要选择一款支持多核处理器的操作系统即可。而李工认为,多核架构能够使现有的软件更高效地运行,构建一个完善的软件架构是非常必要的。提高多核的利用率不能仅靠操作系统,还要求软件开发人员在程序设计 中考虑多进程或者多线程并行处理的编程问题。\n<br><br>\n【问题1】(12分)<br>\n请用300字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么?\n<br><br>\n【问题2】(6分)<br>\n在多核环境下,线程的活动有并行和并发两种方式,请用300字以内的文字说明这两种方式的含义及差别。\n<br><br>\n【问题3】(7分)<br>\n请根据自己所掌握的多核、多线程的知识,判别表3-1给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。<br>\n<img alt=\"\" width=\"621\" height=\"328\" src=\"https://image.chaiding.com/ruankao/1d2dc2627afe92e87f2f356ec5df2913.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n多核技术:多核是多微处理器的简称,是将两个或更多的独立处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片(也称为硅片),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关资源,将它的每个执行内核作为分立的逻辑处理器进行调度。<br>\n多线程技术:多线程(Multi-Threading)技术是利用处理器的超标量特性,同时执行多条指令。多线程技术需要操作系统的支持,是在操作系统级别上实现一个物理CPU的多线程并发法处理,以提高单个CPU利用率。<br>\n李工的意见是正确的,理由如下:<br>\n(1) 多核的利用率与应用程序的并发(并行)性有关,开发人员应当采用与单核平台不同的设计思想。<br>\n(2) 操作系统完成多核资源的调度,在定意义上提高了CPU的利用率。但调度是在开发人员已经划分完成并发进程(线程)的基础上实现的。<br>\n(3) 多核操作系统一般为开发人员提供三种多核调度方式,对称多处理(SMP)、非对称多处理(AMP)、混合多处理(BMP),这三种工作方式都与软件设计有关。<br>\n(以上答案,意思正确即可)<br>\n<br>\n本题主要考查考生对当前流行的多核技术的掌握程度。<br>\n首先要求考生在理解多核技术、并行和并发技术的基本概念和主要特征的基础上,针对多核环境的软件设计方法开展学习,童点从多核软件架构、多进程、多线程并发处理等技术方面思考问题,以进一步提高考生对多核知识的掌握能力。<br>\n此类题目要求考生根据自己已掌握的有关多核处理的相关知识,认真阅读题目对多核技术问题的描述,经过分析、分类和概括等方法,从中分析出题干或备选答案给出的术语间的差异,正确回答问题所涉及的各类技术要点。\n<br><br>\n【问题2】<br>\n并行(parallel):并行概念是指当提到多个软件线程并行执行的时候,既意味着这些活动线程在不同的硬件资源或者处理单元上同时执行,也就是说多个线程在任何时间点都同时执行;<br>\n并发(concurrent):并发概念是指当提到多个软件线程并发执行的时候,既意味着这些活动线程在同一个硬件资源上交替执行的过程,也就是说所有活动线程在某段时间内同时执行的状态,但在某个给定的时刻都只有一个线程在执行。<br>\n(以上答案,意思正确即可)\n<br><br>\n【问题3】<br>\n(1)✓ (2)✓ (3)× (4)✓ (5)× (6)× (7)✓<br>\n<br>\n在多核环境下,软件人员到底使用多进程形式编写程序还是使用多线程形式编写程度,究竟单核平台与多核平台上的多线程概念有哪些不同。因此,当开发人员在面向多核处理器开发应用程序时,需要对以下几个非常重要的方面加以特别考虑:<br>\n(1) 在面向多核体系结构开发应用程序时,只要有效地采用多线程技术并仔细分配各线程的工作负载才能达到最高的性能[(1)是正确的]。而面向单核环境时,由于线程是在同一物理处理器上并发交替执行,开发人员主要是依靠提高直线指令吞吐率的方法提高了应用程序的性能;而在多核环境下,各线程根本不需要为了得到某种资源而挂起等待,各个线程都是在相互独立的执行核上并行运行的。<br>\n(2) 由于单核处理器只能将多个指令流变替执行,并不能真正将他们同时执行,所以,单核结构上的多线程应用程序的性能就变到限制。单核平台上,多线程一般都被当做是一种能够实现延迟隐藏的有效编程手段[(3)是不正确的]。<br>\n(3) 由于多核平台支持多线程的并行执行的特性,为开发人员提供了一种优化应用程序的渠道,就是通过仔细分配加载到各线,(或各处理器核)上的工作负载就能够得到性能上的提升。并且,开发人员也可以对应用程序代码加以优化,使其能够更加充分地使用多个处理器资源,进而达到提升应用一序性能的目的[(4)是正确的]。<br>\n(4) 在面向多核平台设计多线程应用程序的时候,开发人员必须采用与面问单核平台时不同的设计思想[(2)是正确的]。在单核平台上,为了简化多线程应用程序的编写和调试,开发人员可能会做一些假设,但这种假设可能不适用于多核平台[(5)是不正确的]。对于两种平台,设计思想的不同之处主要体现在存储缓存(memory caching)和线程优先级(threadpriority)两个方面。<br>\n(5) 在多核平台上,由于cache存储器甚基于局部性原理来工作的,故不同的数据可能存放在cache的同一行中,因此,即使某个线程所需的位于cache块中的数据没有被重写过,存储系统还是可能会将该cache块标记为无效。这种现象就是伪共享(false sharing)问题,但是在单核平台上,因为只有唯一的cache供各线程共享,所以就不存在cache同步问题,即不存在伪共享[(6) 不正确的]。<br>\n(6) 在单核与多核平台上采用相同的线程优先级策略也会导致不同的线程行为。比如一个应用程序有两个不同优先级的线程,发人员在进行性能优化时,会假设高优先级线程可以一直占用执行资源,而不会被低优先级线程所干扰,这在单核环境下是正确的。但是,在多核环境下,操作系统调度程,是在不同的执行核上调度这两个线程,两个线程会同时执行,线程优先级是不起作用的。因此,单核平台上,开发人员通常遵循优先级较高的线程不会受到优先级较低线程的干扰的思想对代码进行优化,这样的代码在多核平台上运行就会非常不稳定[(7)是正确的]。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235565547671553","title":"试题三(25分)<br>\n阅读以下关于嵌入式系统能耗管理设计的描述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n随着嵌入式系统智能化技术的持续发展,系统的能耗问题已成为亟待解决的难题。某宇航公司研发的一款手持式野外辅助装备,需要较长的巡航时间,由于设计时对功耗问题考虑不周,使得产品出现了批次责任事故。公司领导决定抽调王工等5人组建专门的攻关小组,要求在三个月内完成故障归零。王工接到任务后,经反复论证 与实验,给公司提交了一份基于软件动态节能的改进方案,得到了领导及专家的好评。\n<br><br>\n【问题1】(7分)<br>\n在嵌入式系统中节能技术一般分为静态节能和动态节能两种,请用300字以内文字分别说明什么是静态节能技术和动态节能技术,并列举三种动态节能技术。\n<br><br>\n【问题2】(6分)<br>\n王工的方案得到认可后,他带领团队研究了调度方式和系统能耗之间的关系,请用150字以内的文字说明为了节约系统能耗而釆用的设备调度策略的核心思路,并说明设备调度策略与任务实时性的关系。\n<br><br>\n【问题3】(12分)<br>\n根据上述设备有效调度时刻的策略,分析以下实例,并将答案写在答题纸上。<br>\n手持式野外辅助装备由三个实时任务和三个独立设备组成(分别表示为:t1、t2和t3;s1、s2和S3),表3-1给出了手持式设备实时任务的时间参数表,这些任务使用独立的设备并且所有设备的特征一致,各设备待机超时可直接进入睡眠状态,处于睡眠状态的设备要经过转换状态后才能进入运行状态。假设初始状态(t=0)设备处于工作状态,且所有设备的工作状态功率为60mw/ms,转换功率为30mw/ms,睡眠功率为10mv/ms。同时假设设备被唤醒的转换时间为10ms。设备待机后被关闭的超时值为10ms。<br>\n图3-1给出了未考虑节能需求时任务调度算法,在釆用了设备有效时刻调度策略之后,三个设备100ms周期内将按一定顺序被依次关闭和唤醒。图3-2给出了采用设备有效时刻调度策略后s1的功率随时间的变化规律。请计算此时三个设备在100ms周期内的功耗,并计算100ms周期内,每个设备的节能比。<br>\n节能比=(未节能情况下的系统能耗-节能后系统能耗)÷未节能情况下的系统能耗<br>\n<img alt=\"\" width=\"672\" height=\"152\" src=\"https://image.chaiding.com/ruankao/21d652a98d4008093ffe4582fd9264bd.jpg?x-oss-process=style/ruankaodaren\"><br>\n<img alt=\"\" width=\"625\" height=\"617\" src=\"https://image.chaiding.com/ruankao/50da8a178bd2f2fa57081e15db45b06b.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n静态节能技术主要是利用硬件的能耗特性,将节能方法纳入产品的设计中。此技术能够显著地减少系统局部组件所消耗的能力。<br>\n动态节能技术主要在系统运行过程中根据负载的变化来降低能耗,利用底层硬件提供的特征,从系统运行范围内降低系统总体功耗,从而能够节省大量的能量。<br>\n动态节能包括3种技术:(1)动态调频调压技术;(2)动态电源管理技术;(3)任务调度技术。<br>\n<br>\n本题主要考査考生对嵌入式系统基本知识的掌握程度,尤其是对手持设备节能管理技术的应用。<br>\n手持设备的智能化已成为未来嵌入式系统的发展方向,而嵌入式系统的能耗问题始终足嵌入式系统发展的瓶颈。本题首先通过一款手持式野外辅助装备出现待机时间短问题开展了论述,以提问的方式考察考生对节能技术的知识掌握能力,能否分清出常用的静态/动态节能技术内涵与区别,在分清楚动态节能通常采用的方法基础上,以更更好现解后面两个问题;其次,针对动态节能技术,考察考生对设备调度策略的核心算法知识的了解程度;最后,通过一个任务与设备能耗调度事例,考察考生对实际问题的分析和设计能力。此类题目要求考生认真阅读题目对问题的描述,通过吋动态能耗管埋知识掌握,采用总结、概括和分析等的方式,可从问题描述中发现问题的相关性,以正确回答问题。<br>\n本问题提到的手持式野外辅助装备类似于我们日常的手机产品,其电池的待机时间是手持设备的关键考核指标,节能技术是在设备设计时重点要解决的问题。通常节能技术仅含了静态节能和动态节能。<br>\n静态节能技术主要是利用硬件的能耗特性,将节能方法纳入产品的设计中。此技术能够显著地减少系统局部组件所消耗的能力。静态节能一般采用两种方法,其一是可以通过设计低功耗硬件来节省能量,然而,硬件电路设计方面可优化的部分已越来越少,且成本大;其二是可以通过使用编译优化技术来生成能量感知的机器代码,这种技术虽然成本小,但是对于降低功耗的潜力不大。<br>\n动态节能技术主要在系统运行过程中根据负载的变化来降低能耗,利用底层硬件提供的特征,从系统运行范围内降低系统总体功耗,从而能够节省大量的能量。动态节能通常采用三种技术,其一是动态调频调压技术;其二是动态电源管理技术;其三是任务调度技术。<br>\n(1)动态调频调压.技术(Dynamic Voltage and Frequency Scaling DVFS)依据处理<br>\n器的功耗与电路的运行电压之间存在的平方关系,在获取处理器的实时使用情况后,调整电路的运行电压、动态升高或降低运行频率,从而减少能量消耗。<br>\n(2)动态电源管理技术(Dynamic Power Management)是在系统运行过程,般据系统的运行情况切换系统各个组件的状态,在满足系统正常服务请求的前提下,使得系统组件处于工作状态的时间最短,从而节省能量。<br>\n(3)任务调度技术在保证系统中所用任务满足截止期的情况下,充分利用系统的空间和时间,安排系统中各个任务的运行次序和调度关系,减少任务运行时的抢占欠数,减少任务上下文切换次数,从而通过调度来降低系统的运行能耗。\n<br><br>\n【问题2】<br>\n为了使系统能够节约更多的能量,应该尽可能晚的唤醒个设备(3分):在有效调度时刻唤醒设备常常能够节省更多的能量,同时能够及时响应任务的访问请求,保证满足系统的实时性要求(3分)。<br>\n<br>\n考生首先可从题干“由于设计时对功耗问题考虑不周,使得产品出现了批次责任事故”进行分析,该宇航公司研发的手持式野外辅助装备如果采用静态节能技术,势必带来严重的经济损失(所有设备硬件要重新替换),而采用动态节能技术,可在满足应用需求的基础上,缩短时间周期,降低成本。因此,王工程师提出了采用设备调度节能策略来降低系统能耗。设备调度节能策略的核心思想是:由于系统中能量消耗的上畏来源足系统屮的各种硬件设备,设备工作与关闭两种状态功耗消费差距很大,为了使系统能够节约更多的能量,应该尽可能晚的唤醒一个设备,既在应用任务使用设备时才打幵设备。也就是说,在有效调度时刻唤醒设备常常能够节省更多的能量,同时能够及时响应任务的访问请求,保证满足系统的实时性要求,这种算法称为“设备有效时刻调度策略”。\n<br><br>\n【问题3】<br>\n三个设备在第一个100ms周期内的功耗如下:<br>\ns1:0*20+10*30+30*10+60*20+10*20=4400<br>\ns2:60*40+10*40+30*10+60*10=3700<br>\ns3:60*10+10*20+30*10+60*50+10*10=4200<br>\n三个设备的节能比:<br>\ns1的节能比=(60*100-4400)/(60*100)=0.267<br>\ns2的节能比=(60*100-3700)/(60*100)=0.383<br>\ns3的节能比=(60*100-4200)/(60*100)=0.3<br>\n<br>\n本问题给出了王工编制的节能方案中采用的“有效时刻调度策略”的事例分析,通过事例分析,考生可计算出采用有效调度时刻的策略,在保证周期任务按时完成的前提下,设备能耗消费最少。应仔细分析题干,重点关注“假设初始状态(t=0)设备处于工作状态,且所有设备的工作状态功率为60mW/ms,转换功率为30mW/ms,睡眠功率为10mW/mso同时假设设备被唤醒的转换时间为10ms。设备待机后被关闭的超时值为10ms”的条件限制,既分析案例仅仅关注周期任务的第一个主周期(t=0开始的100ms)对设备管理;设备的功率在不同的状态(工作、装换和睡眠)其功耗小一样,而节能策略恰恰利用了这一特点,达到节能的作用。考生还应注意到设备从工作到睡眠,小存在装换时间,而从睡眠到工作,存在10ms的装换,并存在不一样的功耗,图3-2已给了t1任务对设备s1的控制过程,如果考生理解了算法的核心思想,在图3-2的提示下,就不难算出三个设备在第一个100ms周期内的各自的功耗,及各自的设备的节能比。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235514066784257","title":"试题二(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某企业拟开发一套数据处理系统,在系统分析阶段,系统分析师整理的核心业务流程与需求如下:<br>\n(a)系统分为管理员和用户两类角色,其中管理员主要进行用户注册与权限设置,用户主要完成业务功能;<br>\n(b)系统支持用户上传多种类型的数据,主要包括图像、文本和二维曲线等;<br>\n(c)数据上传完成后,用户需要对数据进行预处理操作,预处理操作包括图像增强、文本摘要,曲线平滑等;<br>\n(d)预处理操作完成后,需要进一步对数据进行智能分析,智能分析操作包括图像分类、文本情感分析、曲线未来走势预测等;<br>\n(e)上述预处理和智能分析操作的中间结果均需要进行保存;<br>\n(f)用户可以将数据分析结果以图片、文本、二维图表等多种方式进行展示,并支持结果汇总,最终导出为符合某种格式的报告。\n<br><br>\n【问题1】(9分)<br>\n数据流图(Data Flow Diagram, DFD)是一种重要的结构化系统分析方法,重点表达系统内数据的传递关系,并通过数据流描述系统功能。请用300字以内的文字说明DFD在进行系统需求分析过程中的主要作用。\n<br><br>\n【问题2】(10分)<br>\n顶层图(也称作上下文数据流图)是描述系统最高层结构的DFD,它的特点是将整个待开发的系统表示为一个加工,将所有的外部实体和进出系统的数据流都画在一张图中。请参考题干描述,将合适的内容填入图2-1中(1)~(5)空白处,完成该系统的顶层图。<br>\n<img width=\"451\" height=\"228\" src=\"https://image.chaiding.com/ruankao/015c84840627de0e51319091c17f1ff2.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">\n<br><br>\n【问题3】(6分)<br>\n在结构化设计方法中,通常采用流程图表示某一处理过程,这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。而在面向对象的设计方法中,则主要采用活动图表示某个用例的工作流程。请用300字以内的文字说明流程图和活动图在表达业务流程时的三个主要不同点。","analyze":"【问题1】<br>\nDFD的主要作用如下:<br>\n(1)DFD是理解和表达用户需求的工具,是需求分析的手段。<br>\n(2)DFD概括地描述了系统的内部逻辑过程,是需求分析结果的表达工具,也是系统设计的重要参考资料,是系统设计的起点。<br>\n(3)DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。<br>\n<br>\n本题考查软件系统分析与设计方面数据流图的知识与应用。<br>\n此类题目要求考生认真阅读题目对系统需求的描述,梳理系统功能和业务流程,并采用数据流图这一工具对系统业务流转过程进行描述。\n<br><br>\n【问题2】<br>\n(1)管理员<br>\n(2)用户权限信息<br>\n(3)用户<br>\n(4)多种类型数据<br>\n(5)导出报告/展示结果&nbsp;<br>\n<br>\n顶层图(也称作上下文数据流图)是描述系统最高层结构的DFD,它的特点是将整个待开发的系统表示为一个加工,将所有的外部实体和进出系统的数据流都画在一张图中。根据题干描述,待开发的数据处理系统跟管理员和用户有数据交互关系,交互的数据包括用户权限信息、用户注册信息、预处理请求、多种类型数据、智能处理请求和导出报告/展示结果等, 根据上述分析即可完成上下文数据流图。\n<br><br>\n【问题3】<br>\n流程图和活动图有如下三个主要区别:<br>\n(1)流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。<br>\n(2)流程图只能表达顺序执行过程,活动图则可以表达并发执行过程。<br>\n(3)活动图可以有多个结束状态,而流程图只能有一个结束状态。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235499940368385","title":"试题二(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某商校拟开发一套图书馆管理系统,在系统分析阶段,系统分析师整理的核心业务流程与需求如下: <br>\n系统为每个读者建立一个账户,并给读者发放读者证(包含读者证号、读者姓名),账户中存储读者的个人信息、借阅信息以及预订信息等,挂有读者证可以借阅图书、返还图书、查询图书信息、预订图书、取消预订等。 <br>\n在借阅图书时,需要输入读者所借阅的图书名、ISBN号,然后输入读者的读者证号,完成后提交系统,以进行读者验证,如果读者有效,借阅请求被接受,系统查询读者所借阅的图书是否存在,若存在,则读者可借出图书,系统记录借阅记录;如果读者所借的图书已被借出,读者还可预订该图书。读者如期还书后,系统清除借阅记录,否则需缴纳罚金,读者还可以选择续借图书。同时,以上部分操作还需要系统管理员和图书管理员参与。\n<br><br>\n【问题1】(6分)<br>\n采用面向对象方法进行软件系统分析与设计时,一项重要的工作是进行类的分析与设计。请用200字以内的文字说明分析类图与设计类图的差异。\n<br><br>\n【问题2】(11分)<br>\n设计类图的首要工作是进行类的识别与分类,该工作可分为两个阶段“首先,采用识别与筛选法,对需求分析文档进行分析,保留系统的重要概念与属性,删除不正确或冗余的内容;其次,将识别出来的类按照边界类、实体类和控制类等三种类型进行分类”。 <br>\n请用200字以内的文字对边界类,实体类和控制类的作用进行简要解释,并对下面给出的候选项进行识别与筛选,将合适的候选项编号填入表2-1中的(1)~(3)空白处,完成类的识别与分类工作。 <br>\n<img src=\"https://image.chaiding.com/ruankao/3987aaa6f0a217bfa3a937bb731b7b99.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">\n表2-1图书管理系统类识别与分类表格候选项: <br>\na)系统管理员 <br>\nb)图书管理员<br>\nc)读者 <br>\nd)读者证 <br>\ne)账户 <br>\nf)图书 <br>\ng)借阅 <br>\nh)归还 <br>\ni)预订 <br>\nj)罚金 <br>\nK)续借 <br>\nl)借阅记录\n<br><br>\n【问题3】(8分)<br>\n根据类之间的相关性特点,可以将类之间的关系分为组合(composition),继承(inheritance),关联(association),聚合(aggregation)和依赖(dependency)等5种, 请用300字以内的文字分别对这5种关系的内涵进行叙述,并从封装性、动态组合和创建对象的方便性三个方面对组合和继承关系的优缺点进行比较。","analyze":"【问题1】<br>\n(1)两者产生的阶段不同:分析类图在需求分析阶段产生,设计类图在系统设计阶段产生。<br>\n(2)两者的表达重点不同:分析类图用于表达领域(问题域)的概念,设计类图重点描述类与类之间的接口关系。<br>\n(3)两者的详细程度不同:分析类图主要是从业务领域获取信息的,在描述上更多使用了业务领域的语言和词汇,不关心类的属性和方法的细节。设计类图是从编程实现角度设计类图,通常是在分析类图的基础上进行细化和改进,更多的是考虑类编码的实现,需要包括类的名称、类属性的可见性、类属性的名称、类属性的数据类型,还要包括类方法的返回值、方法的英文名称和方法的传入参数等细节信息。\n<br><br>\n【问题2】<br>\n边界类主要用于描述外部参与者与系统之间的交互。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。这种交互包括转换事件,并记录系统表示方式(例如接口)中的变更。<br>\n实体类主要是作为数据管理和业务逻辑处理层面上存在的类。实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。<br>\n控制类用于描述一个用例所具有的事件流控制行为,控制一个用例中的事件顺序。控制类是控制其他类工作的类。每个用例通常有一个控制类,控制用例中的事件顺序,控制类也可以在多个用例间共用。其他类通常并不向控制类发送消息,而是由控制类发出消息。<br>\n(1) j)、l)<br>\n(2) a)、b)、c)、f)<br>\n注:c)可替换为d)或e),不得多选<br>\n(3)g)、h)、i)、k)\n<br><br>\n【问题3】<br>\n组合(composition):是整体与部分的关系,但部分不能离开整体而单独存在。<br>\n继承(inheritance):表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。<br>\n关联(association):是一种拥有的关系,它使一个类知道另一个类的属性和方法。<br>\n聚合(aggregation):是整体与部分的关系,且部分可以离开整体而单独存在。<br>\n依赖(dependency):是一种使用的关系,即一个类的实现需要另一个类的协助。<br>\n组合和继承关系的优缺点:<br>\n(1)从封装性方面看,组合关系不破坏封装性,整体类与局部类之间松耦合,彼此互相独立;继承关系破坏封装性,子类与父类之间紧密耦合,子类依赖于父类的实现,子类缺乏独立性。<br>\n(2)从动态组合方面看,组合关系支持动态组合,在运行时整体对象可以选择不同的局部对象;继承关系不支持动态继承,在运行时,子类无法选择不同的父类。<br>\n(3)从创建对象的方便性方面看,组合关系在创建整体类的对象时,需要创建所有局部类对象;继承关系在创建子类对象时,无须单独创建父类的对象。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235487772692481","title":"试题二(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某软件公司为某企业开发一套在线办公自动化系统,以提升企业管理服务的质量和效率。公司决定采用面向对象方法开发该系统,张工负责对员工请假审批业务进行了分析,具体描述如下:<br>\n企业员工通过请假申请页面提出请假申请后,首先由部门经理进行审核,若请假理由不合理,部门经理拒绝请假申请,将申请退回给员工,员工对请假申请表进行修改再次提交,或放弃请假申请。<br>\n若请假理由合理,且请假天数小于等于3天,则部门经理直接批准请假申请,生成请假批准单,申请结束。<br>\n若请假天数大于3天,则在部门经理批准请假申请后,需要提交给副总经理审核批准。副总经理若认为该申请合理,则审核通过,生成请假批准单,流程结束;若副总经理认为申请不合理,则拒绝请假申请,将请假申请退回给员工。\n<br><br>\n【问题1】(11分)<br>\n识别设计类是面向对象设计过程中的重要环节之一,设计类表达了类的职责,即该类所承担的任务。请用300字以内的文字说明设计类通常包含哪3种类型,以及每种类型的主要职责,并从题干描述案例涉及的具体类为每种类型的设计类举出两个实例。\n<br><br>\n【问题2】(6分)<br>\n识别类之间的关系是面向对象分析过程中的重要环节之一,常见的类之间关系包括泛化关系、关联关系、聚合关系、组合关系等。请用300字以内的文字对泛化关系和关联关系的内涵进行描述,并根据题干具体类的描述为这两种关系各举出一种实例。\n<br><br>\n【问题3】(8分)<br>\n在面向对象的设计过程中,状态图描述了一个实体基于事件反应的动态行为。请根据题干描述,填写图2-1中的(a)~(d)空白,完成请假审批的状态图。<br>\n<img src=\"https://image.chaiding.com/ruankao/c0d73756a766306b8f453e6580b1d57c.jpg?x-oss-process=style/ruankaodaren\" alt=\"\" width=\"600\" height=\"319\" title=\"\" align=\"\">","analyze":"【问题1】<br>\n(1)实体类。实体类映射需求中的每个实体,保存需要存储在永久存储体中的信息,例如,员工信息、请假申请表。<br>\n(2)控制类。控制类是用于控制用例工作的类,用于对一个或几个用例所特有的控制行为进行建模。例如,提交请假,审批请假。<br>\n(3)边界类。边界类用于封装在用例内、外流动的信息或数据流。例如,请假申请页面、请假批准单。\n<br><br>\n【问题2】<br>\n(1)泛化关系。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说,子类继承了父类,而父类则是子类的泛化。<br>\n(2)关联关系。关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。关联体现的是对象实例之间的关系,而不表示两个类之间的关系。其余的关系涉及类元自身的描述,而不是它们的实例。对于关联关系的描述,可以使用关联名称、角色、多重性和导向性来说明。<br>\n泛化关系实例:员工与部门经理。部门经理也是员工的一种。<br>\n关联关系:员工与请假记录之间有关联关系。\n<br><br>\n【问题3】<br>\n(a)部门经理拒绝请假申请<br>\n(b)请假天数&gt;3天<br>\n(c)副总经理不批准请假<br>\n(d)请假天数&lt;=3天","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235475676319745","title":"试题二(25分)<br>\n阅读以下关于企业信息系统结构化分析的叙述,回答问题1和2。<br>\n【说明】<br> \n某软件公司为企业开发—套员工在线教育系统,支持员工利用业余时间开展专业技术培训,提升员工技能。在项目开展初期,采用结构化分析进行开发,并对系统中培训部员工和培训教师的相关功能进行分析,具体需求如下:<br> \n(1)培训部根据企业技术发展需求,负责策划培训课程,并形成课程计划,针对不同的员工设置不同的课程;<br> \n(2)员工首先在系统进行注册,填写自己的编号,学历,专业,岗位等信息,生成员工注册信息,然后将自己的培训需求录入系统,系统自动评估并进行课程推荐,员工确认后形成课程需求;<br> \n(3)培训教室也通过系统进行注册,填写自己的编号、学历、专业等信息,形成培训教师注册信息<br> \n(4)系统根据课程计划、员工注册信息,课程需求和培训教师注册信息,为员工和培训教师生成对应的课程表。<br> \n工时系统分析师对上述流程进行了审核,并指出需补充数据字典,从而更完整地对系统建模。<br> <br> \n【问题1】<br> \n数据流图(DFD)是结构分析方法的重要工具。请用300字以内的文字描述DFD的定义。<br> <br> \n【问题2】<br> \n项目组针对题干描述的业务需求,初步绘制了系统流图(2-1) ,情分析途中的三类错误并对每类错误进行简单解释。\n<br><img src=\"https://image.chaiding.com/ruankao/97257343f78c15e66f7a8f0f5b4821d0.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\nDFD是结构分析方法中的重要工具,是表达系统内数据的流动并通过数据流描述系统功能的—种方法。DFD从数据传递和加工的角度,通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。具体来说,DFD的主要作用如下:<br>\n(1) DFD是理解和表达用户需求的工具,是需求分析的手段。由于DFD简明易懂不需要任何计算机专业知识就可以理解它,因此,系统分析师可以通过DFD与用户进行交流。<br>\n(2) DFD概括地描述了系统的内部逻辑过程,是需求分析结果的表达工具,也是系统设计的重要参考资料,是系统设计的起点。<br>\n(3) DFD作为一个存档的文字材料,是进—步修改和充实开发计划的依据。<br>\n在信息系统开发中,如果采用结构化方法,则一般将DFD作为需求规格说明书的一个组成部分。<br><br>\n【问题2】<br>\n数据流图的原则如下:<br>\n(1)DFD中的所有图形符号只限于前述4种基本图形元素,图上每个元素都必须有名字。<br>\n(2)每个加工至少有一个输入数据流和一个输出数据流,而且要保持数据守恒。也就是,一个加工的所有输出数据流中的数据必须能从该加工的输入流中直接获得,或者通过该加工能产生的数据。一个加工的输出数据流不应与输入数据流同名,即使它们的组成完全相同。<br>\n(3)在DFD中,需按层给加工编号。编号表明了该加工处在哪一层,以及上下层的父图与子图的对应关系。<br>\n(4)规定任何一个DFD子图必须与它上一层的个加工对应,两者的输入数据流和输出数据流必须—致。此即父图与子图的平衡。也就是说,父图中的某加工的输入输出流必须与它的所有子图的输入输出数据流在数量上和名字上相同。值得注意的是,如果父图中的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。<br>\n(5)在整套DFD中,每个数据存储必须既有读的数据流,又有写的数据流。但是在某张子图中,可能只有读没有写,或者只有写没有读。<br>\n第一类错误:数据流从加工直接到数据源或数据潭,比如培训教师课程表数据流是从数据存储培训教师数据库直接到外部对象培训教师;员工课程表从数据存储员工数据库流到外部对象员工;<br>\n第二类错误:加工没有编号;比如培训课程安排,培训课程策划等都没有编号;<br>\n第三类错误:数据流没有方向。比如员工注册数据流没有方向;<br>\n第四类错误:加工只有输入流没有输出流,比如需求评估与课程推荐。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235525991190529","title":"试题二(25分)<br>\n阅读以下关于基于MDA(Model Driven Architecture)的软件开发过程的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某公司拟开发一套手机通讯录管理软件,实现对手机中联系人的组织与管理。公司系统分析师王工首先进行了需求分析,得到的系统需求列举如下:<br>\n用户可通过查询接口查找联系人,软件以列表的方式将查找到的联系人显示在屏幕上。显示信息包括姓名、照片和电话号码。用户点击手机的“后退”按钮则退出此软件。<br>\n点击联系人列表进入联系人详细信息界面,包括姓名、照片、电话号码、电子邮箱、地址和公司等信息。为每个电话号码提供发送短信和拨打电话两个按键实现对应的操作。用户点击手机的“后退”按钮则回到联系人列表界面。<br>\n在联系人详细信息界面点击电话号码对应的发送短信按键则进入发送短信界面。界面包括发送对象信息显示、短信内容输入和发送按键三个功能。用户点击发送按键则发送短信并返回联系人详细信息界面;点击“后退”按钮则回到联系人详细信息界面。<br>\n在联系人详细信息界面内点击电话号码对应的拨打电话按键则进入手机的拨打电话界面。在通话结束或挂断电话后返回联系人详细信息界面。<br>\n在系统分析与设计阶段,公司经过内部讨论,一致认为该系统的需求定义明确,建议基于公司现有的软件开发框架,采用新的基于模型驱动架构的软件开发方法,将开发人员从大量的重复工作和技术细节中解放出来,使之将主要精力集中在具体的功能或者可用性的设计上。公司任命王工为项目技术负责人,负责项目的开发工作。\n<br><br>\n【问题1】(7分)<br>\n请用300字以内的文字,从可移植性、平台互操作性、文档和代码的一致性等三个方面说明基于MDA的软件开发方法的优势。\n<br><br>\n【问题2】(8分)<br>\n王工经过分析,设计出了一个基于MDA的软件开发流程,如图2-1所示。请填写图2-1中(1)~(4)处的空白,完成开发流程。<br>\n<img src=\"https://image.chaiding.com/ruankao/6b0ff00ca75519aa68cff92ecc5a11a4.jpg?x-oss-process=style/ruankaodaren\" alt=\"\" width=\"550\" height=\"245\" title=\"\" align=\"\">\n<br><br>\n【问题3】(10分)<br>\n王工经过需求分析,首先建立了该手机通信录管理软件的状态机模型,如图2-2所示。请对题干需求进行仔细分析,填写图2-2中的(1)~(5)处空白。<br>\n<img width=\"493\" height=\"182\" src=\"https://image.chaiding.com/ruankao/71eb4a93abac87a893a34c649877d7bb.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">","analyze":"【问题1】<br>\n基于MDA的软件开发方法可以实现多重可移植性。MDA中的平台独立模型(Platform Independent Model,PIM)是跨平台的。同一个PIM可以自动转化成多个不同平台上的平台相关模型(Platform Specific Model,PSM)。因此,在PIM层次的内容都是完全可移植的。<br>\n基于MDA的软件开发方法可以实现跨平台的互操作性能力。从一个PIM生成的多个PSM之间是有联系的,现有的PIM到PSM的转换工具不仅能够生成PSM,还可以生成了PSM之间互相联系的桥接器,这样就可以实现跨平台的互操作性。<br>\n基于MDA的软件开发方法可以保持文档与代码的高度一致性,在MDA的生命周期中,开发者聚焦于PIM,而从PIM到PSM转变过程中,高层次的文档是不会被遗弃的,而且当PSM的任何改变都将反映到PIM中。这样,高层次的文档就和代码就能够保持一致性。<br>\n<br>\n本题考查基于MDA的软件开发过程。<br>\n本题要求考生认真阅读题目对系统需求的描述,采用需求分析与设计的相关方法对系统进行深入理解,并基于MDA方法对系统进行分析与设计。<br>\n基于MDA的软件开发方法的主要过程是抽象出与实现技术无关、完整描述业务功能的核心平台无关模型(Platform Independent Model,PIM),然后针对不同实现技术制定多个转换规则,通过这些转换规则及辅助工具将PIM转换成与具体实现技术相关的平台相关模型(Platform Specific Model,PSM),最后将经过充实的PSM转换成代码。<br>\n基于MDA的软件开发方法可以实现多重可移植性。MDA中的平台独立模型(Platform Independent Model,PIM)是跨平台的。同一个PIM可以自动转化成多个不同平台上的平台相关模型(Platform Specific Model,PSM)。因此,在PIM层次的内容都是完全可移植的。<br>\n基于MDA的软件开发方法可以实现跨平台的互操作能力。从一个PIM生成的多个PSM之间是有联系的,现有的PIM到PSM的转换工具不仅能够生成PSM,还可以生成PSM之间互相联系的桥接器,这样就可以实现跨平台的互操作性。<br>\n基于MDA的软件开发方法可以保持文档与代码的高度一致性,在MDA的生命周期中,开发者聚焦于PIM,而从PIM到PSM转变过程中,高层次的文档是不会被遗弃的,而且当PSM的任何改变都将反映到PIM中。这样,高层次的文档就和代码就能够保持一致性。\n<br><br>\n【问题2】<br>\n(1)平台独立模型(或PIM)<br>\n(2)UML模型<br>\n(3)模型转换<br>\n(4)代码生成<br>\n<br>\n基于MDA的软件开发过程和图2-1的结构,可以看出王工设计的软件开发过程的关键包含平台无关模型(PIM)的构建、平台无关模型与平台相关模型(PSM)之间的转换,以及基于平台相关模型生成对应的代码三个关键步骤。基于上述描述,就可以直接将相应过程填入图中。另外需要注意在建立PIM时,通常采用类图、序列图等UML模型进行模型表达。\n<br><br>\n【问题3】<br>\n(1)点击退出按钮<br>\n(2)联系人详细信息界面<br>\n(3)点击发送按键或后退按钮<br>\n(4)点击电话号码对应的拨打电话按键<br>\n(5)拨打电话界面<br>\n<br>\n根据题干需求描述和王工设计的状态机模型,可以看出:<br>\n进入软件后,在此界面中点击手机的“后退”按钮则退出此Web App,因此(1)处空白应该填写“点击退出按钮”;<br>\n点击联系人列表的任意条目则进入对应的联系人详细信息界面,因此(2)处空白应该填写“联系人详细信息界面”;<br>\n在联系人详细信息界面内点击电话号码对应的发送短信按键则进入发送短信界面,在发送短信界面中点击移动终端的“后退”按钮则回到联系人详细信息界面,因此(3)处空白应该填写“点击退出按钮”;<br>\n在联系人详细信息界面内点击电话号码对应的拨打电话按键则进入手机的拨打电话界面,因此(4)处空白应该填写“点击电话号码对应的拨打电话按键”,(5)处空白应该填写“拨打电话界面”。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235538737680385","title":"试题二(25分)<br>\n阅读以下关于系统分析设计的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件公司为共享单车租赁公司开发一套单车租赁服务系统,公司项目组对此待开发项目进行了分析,具体描述如下:<br>\n(1)用户(非注册用户)通过手机向租赁服务系统进行注册,成为可租赁共享单车的合法用户,其中包括提供身份、手机号等信息,并支付约定押金;<br>\n(2)将采购的共享单车注册到租赁服务系统后方可投入使用。即将单车的标识信息(车辆编号、二维码等)录入到系统;<br>\n(3)用户(注册或非注册用户)通过手机查询可获得单车的地理位置信息以便就近取用;<br>\n(4)用户(注册用户)通过手机登录到租赁服务系统中,通过扫描二维码或输入车辆编号以进行系统确认,系统后台对指定车辆状态(可用或不可用),以及用户资格进行确认,通过确认后对车辆下达解锁指令;<br>\n(5)用户在用完车辆后关闭车锁,车辆自身将闭锁状态上报到租赁服务系统中,完成车辆状态的更新和用户租赁费用结算;<br>\n(6)系统应具备一定的扩容能力,以满足未来市场规模扩张的需要。<br>\n项目组李工认为该系统功能相对独立,系统可分解为不同的独立功能模块,适合采用结构化分析与设计方法对系统进行分析与设计。但王工认为,系统可管理的对象明确,而且项目团队具有较强的面向对象系统开发经验,建议采用面向对象分析与设计方法。经项目组讨论,决定采用王工的建议,采用面向对象分析与设计方法开发系统。\n<br><br>\n【问题1】(7分)<br>\n在系统分析阶段,结构化分析和面向对象分析方法主要分析过程和分析模型均有所区别,请将(a)~(g)各项内容填入表2-1(1)~(4)处对应位置。<br>\n表2-1系统分析方法比较<br>\n<img alt=\"\" width=\"489\" height=\"63\" src=\"https://image.chaiding.com/ruankao/3b1a3b5b0be7d1c173a5d3ecb45e7d62.jpg?x-oss-process=style/ruankaodaren\"><br>\n(a)确定目标系统概念类;<br>\n(b)实体关系图(ERD);<br>\n(c)用例图;<br>\n(d)通过功能分解方式把系统功能分解到各个模块中;<br>\n(e)交互图;<br>\n(f)数据流图(DFD);<br>\n(g)建立类间交互关系。\n<br><br>\n【问题2】(12分)<br>\n请分析下面A~Q所列出的共享单车租赁服务系统中的概念类及其方法,在图2-1所示用例图(1)~(12)处补充所缺失信息。<br>\nA.用户,B.共享单车,C.用户管理,D.注册,E.注销,F.用户查询,G.单车管理,H.租赁,I.归还,J.单车查询,K.费用管理,L.保证金管理,M.租赁费管理,N.数据存储管理,O.用户数据存储管理,P.单车数据存储管理,Q.费用结算,R.身份认证<br>\n<img alt=\"\" width=\"419\" height=\"405\" src=\"https://image.chaiding.com/ruankao/618abe41c539a6fa21d197b7b07df52f.jpg?x-oss-process=style/ruankaodaren\"><br>\n图2-1 单车租赁服务系统用例图\n<br><br>\n【问题3】(6分)<br>\n随着共享单车投放量以及用户量的增加会存在系统性能或容量下降问题,请用200字以内的文字说明,在系统设计之初,如何考虑此类问题?","analyze":"【问题1】<br>\n(1)(d)<br>\n(2)(b)(f)<br>\n(3)(a)(g)<br>\n(4)(c)(e)<br>\n<br>\n构建和实现一个能很好满足用户诉求的应用系统,离不开对用户真实需求全面而精准的获取。因此,在系统开发之前系统分析环节至关重要。<br>\n本题正是考查考生对常用系统分析方法掌握的程度。在软件工程实践中,人们总结了许多种需求分析方法,其中主要包括结构化分析方法(SA)和面向对象分析方法(OOA)。这两种方法特点各异。SA关注功能的分层和分解,采用自上而下、逐步分解问题,直至问题小至可解决为止的方式进行系统分析,以做到对系统的全面认知。它隐含几个基本前提,即问题域是可定义且有限的,可通过有限步骤将复杂问题分解到可解决程度。OOA则基于抽象、信息隐蔽、功能独立和模块化理念进行系统分析。OOA从对问题域的事物表象进行观测入手,对逻辑世界中逻辑对象进行定义,以及对对象行为和表象以对象关系模型和对象行为模型加以呈现,从而达到对系统完整而深入的理解。<br>\n实践中SA、OOA这两种分析方法很难以孰优孰劣来评价,它们都被不同的系统分析人员来运用并成功地分析、开发出用户满意的软件系统。只是OOA方法当今更受到人们推崇,拥有大量语言和建模功能支持。<br>\n本题以当今流行的共享单车运营系统为例,采用OOA分析方法对共享单车系统展开分析,完成用例图的绘制。此外,进一步考査考生在进行系统功能分析的基础上对系统性能方面问题的分析能力。<br>\n总之,本题从多维度考量考生的系统分析能力,进而客观评价考生的实际工作能力或潜力。<br>\n本问题旨在考查考生对系统分析方法知识点掌握的程度。重点考查考生对两种分析方法过程以及输出结果的了解情况。<br>\n结构化分析方法(SA)主要包括对系统进行模块划分,把识别出的功能分解到各模块中,通过描述细分的模块功能来达到整系统功能的目的。在SA分析中以数据流图(DFD)表示模块之间的数据交互关系,并通过实体关系图(ERD)表示数据模型,以状态转换图(STD)表示行为模型。<br>\n面向对象分析方法(OOA)主要包括对系统进行概念类定义,确定类之间的关系,以及为类确定职责,建立交互图等,以达到对系统功能的完整描述。在OOA分析中,以用例图来表示概念类之间的关系,以交互图来表示相关对象之间的行为。<br>\n因此,(1)选择(d); (2)选择(b) (f); (3)选择(a) (g); (4)选择(c) (e)。\n<br><br>\n【问题2】<br>\n(1) D (2) F (3) C (4) R (5) A (6) N<br>\n(7) P (8) I (9) B (10) K (11) L (12) Q <br>\n<br>\n面向对象分析方法主要围绕用例图展开。考生需结合题干中给出的概念类及其方法完善题中给出的用例图。<br>\n通过分析题干部分给出的系统功能描述,可捕获到以下事实。<br>\n用户(概念类)通过系统用户管理(概念类)进行注册或注销,并通过用广数据存储管理(概念类)进行用户信息保存。同时在用户注册过程中,还需要通过外部第三方身份认证系统进行用户身份认证。<br>\n共享单车(概念类)通过系统的单车管理(概念类)进行管理来投放市场,同时将单车的标识信息通过单车数据存储管理(概念类)进行保存。<br>\n其中用户数据存储和单车数据存储存在共性,可进一步抽象出数据存储(概念类)。并且数据存储通过系统外部存储系统实现数据的存储和访问。<br>\n用户通过单车管理(概念类)完成租赁、归还的过程,其中归还过程中可能出现单车需要维修的可能。<br>\n另外,用户在租赁单车过程中涉及费用管理(概念类),其中包括保证金管理、租赁费管理和费用结算三个环节,其中费用结算需要通过外部费用支付系统来完成。<br>\n基于上述分析,可确定本题答案如下:(1) D,(2) F,(3) C,(4) R,(5) A, (6) N, (7) P, (8) I, (9) B, (10) K, (11) L, (12) Q。\n<br><br>\n【问题3】<br>\n(1) 数据存储容量<br>\n用于存储用户、单车信息的存储系统需要可灵活扩展,如采用独立存储系统(磁盘阵列或NAS等)。<br>\n(2) 服务器处理性能<br>\n如应对超量并发访问用户问题,或超量共享单车连接系统问题,可考虑:<br>\n提升单服务器的处理性能,如提升服务器处理核数量;同时上层应用系统支持多实例化部署能力,能根据底层处理器资源的多少进行灵活调整。<br>\n也可采用服务器集群,并前置负载均衡处理机保证用户访问系统的并发能力及均衡性,进而提升系统利用率。<br>\n(3) 通信性能<br>\n服务器网口速率提升,如由1GE接口升级为10GE接口等;另外,对服务器接口进行灵活扩展,如采用端口聚合等。<br>\n<br>\n考查考生在非功能属性(性能和容量)方面对系统的分析能力。在系统开发初期能否对系统进行全面(功能、非功能等质量属性)而深入的分析,直接影响到待开发系统后续的设汁、实现以及交付的质量好坏,以及顺利与否。<br>\n在题干中提到系统应具备一定的扩容能力以满足未来市场规模扩张的需要。本问题需结合共享单车系统的特点给出性能和容量的瓶颈所在,以及应对策略。<br>\n通过对单车租赁服务系统整体分析,在市场规模扩张后,对系统带来的挑战主要来自数据存储容量问题,系统所运行的服务器处理性能问题,以及系统通信带宽问题等。<br>\n数据存储需考虑用于存储用户、单车信息的存储系统需要可灵活扩展,如采用独立存储系统(磁盘阵列或NAS等)。<br>\n服务器处理性能主要考虑如应对超量并发访问用户问题,或超量共享单车连接问题。可采用提升服务器处理核数量来提升单服务器的处理性能;同时,应用系统应采用多实例化方式设计、部署,以适应底层处理器资源的多少进行灵活调整。或者采用服务器集群,并前置负载均衡处理机保证用户访问系统的并发能力及均衡性,从而做到有效提升系统处理性能。<br>\n在通信性能方面,可通过提升服务器网口速率,如由1GE接口升级为10GE接口等来增加系统接入能力,具体实施中,可通过对服务器接口进行端口聚合来灵活提升接口吞吐。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235550943105025","title":"试题二(25分)<br>\n阅读以下关于系统数据分析与建模的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件公司受快递公司委托,拟开发一套快递业务综合管理系统,实现快递单和物流信息的综合管理。项目组在系统逻辑数据模型设计中,需要描述的快递单样式如图2-1所示,图2-2是项目组针对该快递单所设计的候选实体及其属性。<br>\n<img width=\"535\" height=\"649\" alt=\"\" src=\"https://image.chaiding.com/ruankao/52e1f2fbce020f68ce0e3f1590c9bddb.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题1】(6分)<br>\n数据库设计主要包括概念设计、逻辑设计和物理设计三个阶段,请用200字以内文字说明这三个阶段的主要任务。\n<br><br>\n【问题2】(11分)<br>\n根据快递单样式图,请说明:<br>\n1) 图2-2中三个候选实体对应的主属性PK1、PK2和PK3分别是什么?<br>\n2) 图2-2中应设计哪些实体之间的联系,并说明联系的类型。\n<br><br>\n【问题3】(8分)<br>\n在图2-2中添加实体之间的联系后,该实体联系图是否满足第一范式、第二范式和第三范式中的要求(对于每种范式判定时,假定已满足低级别范式要求)。如果不满足,请用200 字以内文字分别说明其原因。","analyze":"【问题1】<br>\n(1) 概念设计的主要任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何DBMS的概念数据模型。<br>\n(2) 逻辑设计的主要任务是将概念模型转化为某个特定的DBMS上的逻辑模型,并对所设计的逻辑模型进行优化。<br>\n(3) 物理设计的主要任务是对给定的逻辑模型选取一个最适合应用环境的物理结构,以确定数据库在物理设备上的存储结构和存储方法。<br>\n(以上答案意思正确即可)<br>\n<br>\n本题考查考生对于软件系统数据库分析建模的掌握情况。<br>\n数据库是长期存储在计算机内的、有组织的、可共享的数据集合,数据库系统是指在计算机信息系统中弓I入数据库后的系统。数据库分析与设计是指对一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起能反映现实世界信息和信息联系及满足用户数据要求和加工要求,以能够被某个DBMS所接受,同时能实现系统目标,并有效存取数据的数据库。基于数据库系统生命周期的数据库设计可以分为如下5个阶段:规划、需求分析、概念设计、逻辑设计和物理设计。规划阶段的主要任务是进行建立数据库的必要性及可行性分析,确定数据库系统在企业和信息系统中的地位,以及各个数据库之间的联系。需求分析的目标是通过调查研究,了解用户的数据和处理要求,并按一定格式整理形成需求说明书。在此基础上,通过概念设计、逻辑设计和物理设计构建数据库的物理结构。<br>\n数据库分析与设计是系统分析师必须要掌握的专业知识与技能,特别是需要掌握数据分析和数据库设计的过程与方法,进一步掌握数据库优化理论和模型。\n<br><br>\n【问题2】<br>\n1)候选实体对应的主属性:<br>\nPK1:联系电话或证件号<br>\nPK2:编号<br>\nPK3:联系电话或证件号<br>\n2)应该补充的联系及类型<br>\n(1) 寄件人与快递单之间的联系;联系类型:一对多或快递单与寄件人之间的联系;联系类型:多对一。<br>\n(2) 收件人与快递单之间的联系;联系类型:一对多或快递单与收件人之间的联系;联系类型:多对一。<br>\n<br>\n(1) 数据模型中的主属性是包含在任4候选关键字中的属性,即主属性的值可以唯一标识一个数据对象。对于寄件人和收件人来说,其证件号码和联系电话都可以分别标识一个数据对象,可以作为候选关键字,所以其主属性为联系电话或证件号:而对于快递单来说,编号可以唯一标识一个数据对象,可以作为候选关键字,所以其主属性为编号。<br>\n(2) 快递单实体建立了寄件人和收件人两个实体之间的联系,所以需要补充的联系有两种:寄件人和快递单之间的联系,收件人和快递单之间的联系。快递单实体的一个实例有且只有一个寄件人实例和收件人实例,而每个寄件人或收件人可以发出或收到多个快递单。所以,寄件人与快递单之间的联系类型为一对多;收件人与快递单之间的联系类型同样为一对多。\n<br><br>\n【问题3】<br>\n(1) 不满足第一范式;原因:实体“快递单”的属性“体积”存在“长”“宽”“高”多个值,非原子属性,所以不满足第一范式。<br>\n(2) 满足第二范式。<br>\n(3) 不满足第三范式;原因:实体“快递单”的属性“代收货款”“运费”“加急费”“包装费”“保价费”五个属性依赖于实体主属性,而属性“总计”依赖于上述五个属性,存在传递依赖,所以不满足第三范式。<br>\n<br>\n按照关系型数据库优化理论,第一范式需要满足每个实体的属性具有唯一值,即消除多值属性;第二范式需要在第一范式基础上满足所有的非主属性不能部分依赖于主属性,即消除部分依赖;第三范式需要在第二范式基础上满足所有的非主属性不能依赖于其他非主属性,即消除传递依赖。<br>\n结合题目说明,在图2-2中,实体“快递单”的属性“体积”存在“长”“宽”“高”多个值,非原子属性,所以不满足第一范式。在满足第一范式条件下,由于不存在组合关键字所以不存在部分依赖,那满足第二范式要求。在满足第二范式条件下,由于实体“快递单”的属性“代收货款”“运费”“加急费”“包装费” “保价费”五个属性依赖于实体主属性,而属性“总计”依赖于上述五个属性,存在传递依赖,所以不满足第三范式。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235563421159425","title":"试题二(25分)<br>\n阅读以下关于系统设计的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件公司为电子商务企业开发一套网上交易订单管理系统,以提升服务的质量和效率。在项目之初,项目组决定采用面向对象的开发方法进行系统开发,并对系统的核心业务功能进行了分析,具体描述如下:<br>\n注册用户通过商品信息页面在线浏览商品,将需要购买的商品添加进购物车内,点击“结算”按钮后开始录入订单信息。<br>\n用户在订单信息录入页面上选择支付方式,填写并确认收货人、收货地址和联系方式等信息。点击“提交订单”按钮后产生订单,并开始进行订单结算。<br>\n订单需要在30分钟内进行支付,否则会自动取消,用户也可以手工取消订单。<br>\n用户支付完成,经确认后,系统开始备货,扣除该商品可接单数量,并移除用户购物车中的所有商品资料。<br>\n生成订单表单,出货完毕,订单生效。为用户快递商品,等待用户接收。<br>\n用户签收商品,交易完成。\n<br><br>\n【问题1】(12分)<br>\n识别设计类是面向对象设计过程中的重要工作,设计类表达了类的职责,即该类所担任的任务。请用300字以内的文字说明设计类通常分为哪三种类型,每种类型的主要职责,并针对题干描述案例涉及的具体类为每种类型的设计类举出2个实例。\n<br><br>\n【问题2】(3分)<br>\n在面向对象的设计过程中,活动图(activity diagram)阐明了业务用例实现的工作流程。请用300字以内的文字给出活动图与流程图(flow chart)的三个主要区别。\n<br><br>\n【问题3】(10分)<br>\n在面向对象的设计过程中,状态图(statechart diagram)描述了一个实体基于事件反应的动态行为。请根据题干描述,填写图2-1中的(a)~(e)空白,完成订单处理的状态图。<br>\n<img width=\"554\" height=\"371\" alt=\"\" src=\"https://image.chaiding.com/ruankao/4f7d8df35078f85eca1d0e094252d88d.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n在系统设计过程中,类可以分为三种类型:实体类、边界类(或接口类)和控制类。<br>\n实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息。题干描述中商品、订单、注册用户、送货信息、购物车等都是实体类。<br>\n边界类用于封装在用例内、外流动的信息或数据流。题干描述中商品信息页面、订单信息录入页面和订单表单都属于边界类。<br>\n控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词。题干描述中订单结算、订单支付、备货、出货等都属于控制类。<br>\n<br>\n本题主要考查考生对于软件系统设计的理解、掌握和应用。在解答该问题时,应认真阅读题干中给出的需求描述,然后进行类、活动图和状态图建模。<br>\n识别设计类是面向对象设计过程中的重要工作,设计类表达了类的职责,即该类所担任的任务。在系统设计过程中,类可以分为三种类型:实体类、边界类(或接口类)和控制类。<br>\n实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息。题干描述中商品、订单、注册用户、送货信息、购物车等都是实体类。<br>\n边界类用于封装在用例内、外流动的信息或数据流。题干描述中商品信息页面、订单信息录入页面和订单表单都属于边界类。<br>\n控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词。题干描述中订单结算、订单支付、备货、出货等都属于控制类。\n<br><br>\n【问题2】<br>\n活动图和流程图的主要区别有以下三点:<br>\n(1)活动图是面向对象的,而流程图是面向过程的。<br>\n(2)活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。<br>\n(3)活动图能够表示并发活动的情形,而流程图不能。<br>\n<br>\n本问题主要考查考生对活动图和流程图基础概念的理解。<br>\n活动图和流程图的主要区别是:<br>\n(1)活动图是面向对象的,而流程图是面向过程的。<br>\n(2)活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。<br>\n(3)活动图能够表示并发活动的情形,而流程图不能。\n<br><br>\n【问题3】<br>\n(a)取消 <br>\n(b)待结算 <br>\n(c)大于30分钟<br>\n(d)订单生效 <br>\n(e)用户签收<br>\n<br>\n<br>\n本问题主要考查状态图建模的理解和应用。在面向对象的设计过程中,状态图(statechartdiagram)描述了一个实体基于事件反应的动态行为。考生需要对需求进行分析,特别是业务处理过程进行深入理解的前提下完成状态图模型。具体结果如下图所示。<br>\n<img width=\"571\" height=\"359\" alt=\"\" src=\"https://image.chaiding.com/ruankao/76621f1cf59245b22c3859e9cfadaf0c.jpg?x-oss-process=style/ruankaodaren\">","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235519980752897","title":"试题五(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某公司拟开发一个基于O2O (Online To Offline)外卖配送模式的外卖平台。该外卖平台采用自行建立的配送体系承接餐饮商家配送订单,收取费用,提供配送服务。餐饮商家在该O2O外卖平台发布配送订单后,根据餐饮商家、订餐用户、外卖配送员位置等信息,以骑手抢单、平台派单等多种方式为订单找到匹配的外卖配送员,完成配送环节,形成线上线下的O2O闭环。<br>\n基于项目需求,该公司多次召开项目研发讨论会。会议上,张工分析了O2O外卖平台配送服务的业务流程,提出应采用事件系统架构风格实现订单配送,并建议采用基于消息队列的点对点模式的事件派遣机制。\n<br><br>\n【问题1】(10分)<br>\n基于对O2O外卖平台配送服务的业务流程分析,在图5-1的空(1)~(5)处完善O2O外卖平台配送的服务流程。<br>\n<img width=\"443\" height=\"294\" src=\"https://image.chaiding.com/ruankao/a69600f570e16de0a2c6907faebeb866.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">\n<br><br>\n【问题2】(9分)<br>\n根据张工的建议,该系统采用事件系统架构风格实现订单配送服务。请基于对事件系统架构风格的了解,补充图5-2的空(1)~(3)处,完成事件系统的工作原理图。<br>\n<img width=\"479\" height=\"276\" src=\"https://image.chaiding.com/ruankao/b2cb1eb2a0db6490180a6b0f6bfce1e1.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">\n<br><br>\n【问题3】(6分)<br>\n请用200字以内的文字说明基于消息队列的点对点模式的定义,并简要分析张工建议该系统采用基于消息队列的点对点模式的事件派遣机制的原因。","analyze":"【问题1】<br>\n(1)提交订单<br>\n(2)发布订单<br>\n(3)外卖平台<br>\n(4)交付餐品<br>\n(5)配送员&nbsp;<br>\n<br>\n本题考查基于Web的系统分析与设计的相关知识及如何在实际问题中综合应用。<br>\n此类题目要求考生认真阅读题目对现实系统需求的描述,结合系统分析与设计的相关知识、实现技术等完成该系统的分析设计。<br>\n本问题需要考生根据题目中的需求描述,完成该Web系统的业务流程分析。<br>\n根据题干描述,该外卖平台系统的业务流程如下,餐饮商家在该O2O外卖平台发布配送订单后,根据餐饮商家、订餐用户、外卖配送员位置等信息,以骑手抢单、平台派单等多种方式为订单找到匹配的外卖配送员,完成配送环节。因此,O2O外卖平台配送的服务流程图如下。<br>\n<img src=\"https://image.chaiding.com/ruankao/d1b76bdb084d1418b6843c52c3a345a2.jpg?x-oss-process=style/ruankaodaren\" alt=\"\" width=\"450\" height=\"263\" title=\"\" align=\"\">\n<br><br>\n【问题2】<br>\n(1) 事件源<br>\n(2)<span> </span>事件管理器<br>\n(3)<span> </span>事件处理<br>\n<br>\n本问题考查软件架构风格中事件系统架构风格的相关知识及应用。<br>\n事件是能够激活对象功能的动作,当发生动作后会给所涉及对象发送一条消息,对象便可执行相应的功能。在事件系统架构风格中,事件源负责广播一些事件,系统中其他处理器在事件管理器中注册自己感兴趣的事件,并将自己的过程与某个事件相关联事件管理器通过注册调用相关的处理器。因此,事件系统的工作原理图如下所示。<br>\n <img width=\"530\" height=\"255\" src=\"https://image.chaiding.com/ruankao/314c477e96acee0d6217678ae86255b4.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">\n<br><br>\n【问题3】<br>\n在基于消息队列的点对点模式中,消息生产者生产消息并发送到消息队列(Queue)中, 然后消息消费者从Queue中取出并且消费消息。消息被消费以后,Queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个消息而言,只有一个消费者可以消费。<br>\n如需求描述,任何一个外卖配送订单(消息)都只能被一个配送员(消费者)接单,所以,应该采用基于消息队列的点对点模式。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235508341559297","title":"试题五(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某公司拟开发一个基于web的远程康复系统,该系统的主要功能要求如下: <br>\n(1)康复设备可将患者的康复训练数据实时传入云数据库。 <br>\n(2)医生可随时随地的通过浏览器获取患者康复训练数据并进行康复训练的结果评估和康复处方的更新。<br>\n(3)患者可通过此系统查看自己的康复训练记录和医生下达的康复训练处方,并可随时与医生进行在线沟通交流。 <br>\n(4)平台管理员可借助此系统实现用户的管理和康复设备的监控与管理,及时获悉设备的数据信息,便于设备维护和更新。 <br>\n该公司针对上述需求组建了项目组,并召开了项目开发研讨会,会上,张工建议云数据库采用关系型数据库来实现数据存储;李工提出来用三层架构实现该远程康复系统。\n<br><br>\n【问题1】(6分)<br>\n请用200字以内文容说明什么是云数据库以及云数据库特点。\n<br><br>\n【问题2】(9分)<br>\n根据该系统的功能需求,列举该系统中存在的实体,以辅助张工进行关系数据库设计。\n<br><br>\n【问题3】(10分)<br>\n根据李工建议,该系统采用三层架构,请用300字以内的文字分析层次型架构优势,并从下面给出的(a)-(i)候选项中进行选择,补充完善图5- 1中(1)-(6)处空白的内容,完成该系统的架构设计方案。 <br>\n<img width=\"624\" height=\"204\" src=\"https://image.chaiding.com/ruankao/8b79a7ec963736f10345c0999354e805.jpg?x-oss-process=style/ruankaodaren\" alt=\"\"><br>\n候选项: <br>\n(a)治疗仪 <br>\n(b)接入层 <br>\n(c)Socket <br>\n(d)Spring <br>\n(e)应用层 <br>\n(f)MySQL <br>\n(g)MVC <br>\n(h)无线通信 <br>\n(i)网络层","analyze":"【问题1】<br>\n云数据库是指被优化或部署到一个虚拟计算环境中的数据库,具有按需付费、按需扩展、高可用性以及存储整合等能力。<br>\n云数据库的特点有:实例创建快速、支持只读实例、读写分离、故障自动切换、数据备份、Binlog备份、SQL审计、访问白名单、监控与消息通知等。\n<br><br>\n【问题2】<br>\n实体有用户(User)、医生(Doctor)、患者(Patient)、平台管理员(Platform Administrator)、设备(Equipment)、设备数据(Equipment Data)、训练数据(Training Data)、康复处方(Prescription)、训练记录(Report)等。\n<br><br>\n【问题3】<br>\n层次型架构的优势如下:<br>\n①开发人员专业分工,专注理解某一层。<br>\n②系统可修改性高,只要前后提供的服务(接口)相同,即可用新的实现来替换原有层次的实现。<br>\n③每一层中的组件保持内聚性,层之间保持松散耦合,降低了系统间的依赖。<br>\n④有利于复用。<br>\n图5-1中(1)~(6)处的内容如下:<br>\n(1)b<br>\n(2)a<br>\n(3)h<br>\n(4)c<br>\n(5)i<br>\n(6)e","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235493942513665","title":"试题五(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某公司拟开发一个食品供应链溯源系统,该系统需要提供从原材料供应商、加工商、物流、分销商、零售商、消费者的食品供应链全流程溯源。该公同组建了项目组,并召开了项目开发讨论会。会上,张工提出通过二维码扫描获取食品信息,采用中心化数据库作为数据存储媒介;李工提出使用中心化数据库容易产生数据信任、溯源追责困难等问题,建议建立区块链和数据库的映射存储,提供存储和查询操作功能,并提出采用数据接入层、数据核心层、应用表示层三层体系架构实现该食品溯源系统。\n<br><br>\n【问题1】(6分)<br>\n去中心化和开放性是区块链的重要特征,请用200字以内的文字简要说明什么是区块链的去中心化和开放性。\n<br><br>\n【问题2】(7分)<br>\n分布式交易账本、哈希散列函数、公私钥签名、时间戳就是区块链的核心技术,请从上述技术中选择两种最适合解决数据信任问题的技术,并用300字以内的文字说明原因。\n<br><br>\n【问题3】(12分)<br>\n根据李工的建议,该系统将采用三层架构。请从下面给出的(a)~(m)候选项中进行选择,补充完善图5-1中(1)~(6)处空白的内容,完成该系统的架构设计方案。<br>\n<img src=\"https://image.chaiding.com/ruankao/71e6515f44661d50fb500e193da02f24.jpg?x-oss-process=style/ruankaodaren\" width=\"500\" height=\"533\" title=\"\" align=\"\" alt=\"\"><br>\n(a)数据接入层<br>\n(b)智能合约<br>\n(c)Socket<br>\n(d)4G/Wifi<br>\n(e)应用表示层<br>\n(f)数据库<br>\n(g)MVC<br>\n(h)数据核心层<br>\n(i)传感器网络<br>\n(j)区块链网络<br>\n(k)4G/Wifi<br>\n(l)JDBC<br>\n(m)业务逻辑层","analyze":"【问题1】<br>\n1、去中心化<br>\n区块链采用了分布式计算和存储,不存在中心化的硬件或管理机构,因此使得任意节点的权利和义务都是均等的。<br>\n2、开放性<br>\n区块链的系统的一个开放性质的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开的。\n<br><br>\n【问题2】<br>\n分布式交易账本、公私钥签名<br>\n分布式交易账本使交易账本在全网不止一份,而是有多份,当有人想篡改账本时,非常难以实现,所以能解决数据可信度问题。<br>\n公私钥签名是使用非对称加密机制,做签名,以验证持有人以及防止伪造的效果,这种技术也极难被破解,能验证持有人自然能一定程度解决数据可信度的问题。\n<br><br>\n【问题3】<br>\n(1)(a)数据接入层<br>\n(2)(k)4G/Wifi<br>\n(3)(b)智能合约<br>\n(4)(f)数据库<br>\n(5)(h)数据核心层<br>\n(6)(e)应用表示层","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235481791614977","title":"试题五(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br> \n某公司拟开发一个电商平台用户行为分析系统,该系统可支持对电商平台用户行为数据的采集和实时/高效数据处理分析,统计分析用户访问情况。搜集PV/UV商品热度等相关数据。系统应具备以下能力\n(1)对海量用户行为数据的存储和处理能力<br> \n(2)为适应用户行为的随机性,保证系统不会被爆发的日志数据压垮,系统应具备对突发流量的处理能力<br> \n(3)对用户数据的营私保护能力<br> \n针对项目需求,工时召开会议,会上张工提出买那个对大量数据,传统的文件存储于关系型数据库,无法完全解决当前系统问题,应基于大数据技术设计并实现系统,李工提出可就要数据脱敏的方法解决用户隐私的问题<br> <br> \n【问题1】<br> \n根据项目要求,该系统需考虑电商平台用户行为的随机性,具有应对突发数据,流量数据的处理能力。请给予大数据相关技术的了解,说明可选那个技术支持流系统应对突发流量暴增情况?并用200字以内说明该技术优势<br> <br> \n【问题2】<br> \n问题2:根据张工建议,项目组拟采用大数据技术开发该系统。图5给出本项目架构设计方案,请选择(a) ~ (m)选项中选出合适的内容,完善(1) ~(7)处<br> \n(a) 网络层<br> \n(b) 业务层<br> \n(c) 接入层<br> \n(d) 数据处理<br> \n(e) 数据采集<br> \n(f) Flink 实时计算<br> \n(g) Flink 批处理<br> \n(h) Hbase<br> \n(i) Redis<br> \n(j) NoSQL<br> \n(k) kafka<br> \n(l) 边缘计算<br> \n(m) 设备层<br> \n<br><img src=\"https://image.chaiding.com/ruankao/68605595ac17b9cae40440211914b342.jpg?x-oss-process=style/ruankaodaren\"><br> <br> \n【问题3】<br> \n根据李工的建议,项目组拟应用数据脱敏方法对该系统的敏感数据进行脱敏。请用300字以内文字说明常用5种数据脱敏方法","analyze":"【问题1】<br>\n可选择消息中间件技术对突发流量进行削峰填谷。<br> \n消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。<br> \n消息中间件具有以下技术优势:<br> \n异步通信:消息中间件支持异步通信,发送方不需要等待接收方的响应,从而提高系统的响应速度和吞吐量。<br> \n可靠性:消息中间件通常支持消息的持久化和事务处理,确保消息能够被可靠地传输和处理,从而提高系统<br> \n的可靠性和稳定性。<br> \n解耦合:消息中间件可以将应用程序之间的直接依赖关系解耦合,从而提高系统的可扩展性和可维护性。<br> \n灵活性:消息中间件支持多种消息传递模式,如点对点和发布/订阅,可以根据具体的业务需求进行选择和配置。<br> \n透明性:消息中间件可以提供监控、追踪、统计等功能,方便开发人员进行调试和性能优化。<br> \n消息缓冲:消息中间件可以作为消息缓冲区,暂时存储未处理的消息,从而平衡系统的负载和压力。<br> <br> \n【问题2】<br>\n(1):(c) 接入层<br> \n(2):(k) kafka<br> \n(3):(b) 业务层<br> \n(4):(f) flink 实时计算<br> \n(5):(g) flink批处理<br> \n(6):(h) hbase<br> \n(7):(1) Redis<br> <br> \n\n【问题3】<br>\n1.基于规贝的脱敏方法:根据不同的驭感程度,制正日立的脱敏规则。对于姓名、联系万式等个人后忌,可以将关键信息用“*\"代替。如“王*\"\"、“180****0329\"。<br> \n2.加密脱敏方法:对敏感数据进行加密处理,只有授权的人员可以解密。例如,对于银行账号、信用卡号等敏感信息,可以使用加密算法进行脱敏,只有经过授权的人员才能够查看原始数据。<br> \n3.伪装脱敏方法:将敏感数据替换成其他的数据,以达到保护隐私的目的。例如,对于地理位置信息,可以将具体地址替换成地图上的某个随机点,或者将经纬度加上—定的随机偏移量来进行伪装。<br> \n4.数据扰动脱致方法:将原始教据进行材1UL:达到数据保护的目的。例如,对于数字类型的敏感数据,可以对其进行扰动处理,添加—定的随机误差,从而使得原始数据不易被还原。<br> \n5.数据屏蔽脱敏方法:对于—些敏感数据,可以采取屏蔽措施,避免其被存储、传输或使用。例如,可以将一些特定的数据列从数据库中删除或屏蔽掉,只有经过授权的人员才能够访问。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235569754558465","title":"试题五(25分)<br>\n阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件企业拟开发一套基于Web的云平台配置管理与监控系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的Web应用,系统需求中还包含邮件服务、大文件上传下载、安全攻击防护等典型Web系统基础服务需求。\n<br><br>\n【问题1】(5分)<br>\n在选择系统所采用的Web开发框架时,项目组对Alibaba开发的WebX框架与轻量级Spring MVC框架进行了对比分析,最终决定采用WebX框架进行开发。请用300字以内文字,从多应用支持、基础服务支持以及可扩展性这三个方面对WebX与Spring MVC框架进行对比。\n在确定系统釆用的持久层技术方案时,项目组梳理了系统的典型持久化需求,对照需求对比分析了Hibernate和MyBatis两种持久化方案,请分析两种持久化方案对表 \n<br><br>\n【问题2】(12分)<br>\n在确定系统采用的持久层技术方案时,项目组梳理了系统的典型持久化需求,对照需求对比分析了Hibernate和MyBatis两种持久化方案,请分析两种持久化方案对表5-1中所列项目需求的支持情况,将候选答案序号A或B填入表5-1相应位置。<br>\n【候选答案:A.支持 B.不支持或支持差】<br>\n<img alt=\"\" width=\"600\" height=\"322\" src=\"https://image.chaiding.com/ruankao/fd4524d79a6d3771efa2f9fe66ff4564.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(8分)<br>\n系统实现相应的配置管理与监控功能时,需要集成云平台侧提供的大量服务以实现配置数据的读取写入与不同视图监测数据的获取。项目组在确定服务集成方案时,对比了REST风格RPC与SOAP RPC两种方案,经过分析讨论,项目组最终决定采用REST风格RPC机制实现服务集成,请判断表5-2中给出的选择REST方案的理由是否合理。<br>\n<img alt=\"\" width=\"600\" height=\"270\" src=\"https://image.chaiding.com/ruankao/9fce00b9b749b585343efbd316fa48bf.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n多应用支持:WebX通过多应用路径生成机制,可自动避免一个工程中多个应用URL路径出现冲突,而在Spring框架中,需要开发者自己处理多个应用之间的URL冲突。<br>\n基础服务支持:WebX框架属于重量级Web开发框架,提供了创建一个Web应用所需要的大量基础功能,系统中集成了前端模板、持久化以及常用的后端服务,包括邮件服务、URL路径映射、后端表单验证、安全攻击防护机制、资源加载、文件上传等服务等,而Spring MVC框架中并不提供相应的基础服务支持。<br>\n可扩展性:WebX中的SpringExt子框架是对Spring框架的扩展,能简化Spring的配置,加强了Spring组件的扩展性;开发者可以定制、甚至重写Webx框架逻辑,实现新的框架或功能。 <br>\n<br>\n本题关注大型互联网应用设计,主要考查大型互联网应用开发中的开发架构选择、持久化处理及系统集成等相关技术。<br>\n本问题考查大型互联网应用的开发架构选择,主要关注Alibaba的WebX框架与轻量级Spring MVC框架的对比。WebX框架是Alibaba公司开发的开源开发框架,WebX框架本身划分为SpringExt、WebX Framework、WebX Turbine三个主要层次。其中SpringExt层基于Spring,提供扩展组件的能力,是整个框架的基础;WebX Framework层基于Servlet API,提供各种基础服务;WebX Turbine层基于WebXF ramework对网页开发提供进一步支持。从多应用支持角度看,WebX通过多应用路径生成机制,可自动避免一个工程中多个应用URL路径出现冲突;从基础服务支持角度看,WebX框架属于重量级Web开发框架,提供了创建一个Web应用所需要的大量基础功能,系统中集成了前端模板、持久化以及常用的后端服务,包括邮件服务、URL路径映射、后端表单验证、安全攻击防护机制、资源加载、文件上传等大量服务;从可扩展性角度看,WebX中的SpringExt子框架是对Spring框架的扩展,能简化Spring的配置,加强了Spring组件的扩展性;开发者可以定制、甚至重写WebX框架逻辑,实现新的框架或功能。综上不难看出,WebX框架比传统Spring MVC框架具有更明显的优势,可以更好支持大型复杂Web应用的开发。\n<br><br>\n【问题2】<br>\n(1)A (2)B (3)B (4)A (5)A (6)B<br>\n<br>\n本问题考查Hibernate与MyBatis两种持久化方案对不同持久化需求的支持情况。Hibernate与MyBatis均是开源对象/关系映射(ORM)框架,都可以实现JDBC的对象封装,将POJO与数据库表建立映射关系,从而支持在Java程序中使用对象编程思维来操作数据库。二者均可自动生成简单基本的DAO层方法。相对而言,Hibernate开发简洁,因此SQL语句通常是自动生成的,而MyBatis中的SQL语句通常是手工编写的,因此当系统中需要对复杂查询操作的SQL语句进行人工调优时,MyBatis更为方便;Hibernate支持自动化的多表关联操作,但使用时一般要求数据库中的关系设置与实际关联操作有直接的对应关系;由于Hibernate使用时通常自动生成相应的SQL语句,因此具备良好的数据库移植性,而MyBatis中手动编写的SQL语句则通常需要针对不同厂商的数据库进行修改,可移植性不好。\n<br><br>\n【问题3】<br>\n(1)✓ (2)╳ (3)╳ (4)✓<br>\n<br>\n本问题考查Web服务集成方案的选择。REST风格RPC与SOAPRPC是两种常用的Web服务集成方案。相对而言,SOAP将Web服务封装为经典程序设计模型中的对象RPC模式,从而支持Web服务的调用,而REST风格RPC则将Web服务映射为标准的HTTP操作,属于更轻量级的服务集成方案。在REST方案中,HTTP标准的GET、POST、PUT、DELETE操作可直接映射为对题目中配置管理数据和监测数据的CRUD等无状态操作,而SOAP方案则支持上下文及会话状态管理,更适合于需多步执行的有状态操作;且由于REST风格RPC基于标准HTTP协议且无状态,因此客户端请求的处理可以在任何服务器上执行,很容易在服务端实现基于HTTP的负载均衡,从而使服务端具备良好的横向可扩展性;而SOAP作为W3C所定义的SOA架构核心规范之一,基于同架构下的WS-Security规范可提供良好的安全性支持,但REST方案中则缺少对服务安全性的直接支持。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235532253286401","title":"试题五(25分)<br>\n阅读以下关于Web应用系统的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某公司因业务需要,拟在短时间内同时完成“小型图书与音像制品借阅系统”和“大学图书馆管理系统”两项基于B/S的Web应用系统研发工作。<br>\n小型图书与音像制品借阅系统向某所学校的所有学生提供图书与音像制品借阅服务。所有学生无需任何费用即可自动成为会员,每人每次最多可借阅5本图书和3个音像制品。图书需在1个月之内归还,音像制品需在1周之内归还。如未能如期归还,则取消其借阅其他图书和音像制品的权限,但无需罚款。学生可通过网络查询图书和音像制品的状态,但不支持预定。<br>\n大学图书馆管理系统向某所大学的师生提供图书借阅服务。有多个图书存储地点,即多个分馆。捜索功能应能查询所有的分馆的信息,但所有的分馆都处于同一个校园内,不支持馆际借阅。本科生和研究生一次可借阅16本书,每本书需在1个月内归还。教师一次可借阅任意数量的书,每本书需在2个月内归还,且支持教师预定图书。如预定图书处于被借出状态,系统自动向借阅者发送邮件提醒。借阅期限到达前3天,向借阅者发送邮件提醒。超出借阅期限1周,借阅者需缴纳罚款2元/天。存在过期未还或罚款待缴纳的借阅者无法再借阅其他图书。图书馆仅向教师和研究生提供杂志借阅服务。<br>\n基于上述需求,该公司召开项目研发讨论会。会议上,李工建议开发借阅系统产品线,基于产品线完成这两个Web应用系统的研发工作。张工同意李工观点,并提出采用 MVP(Model View Presenter)代替MVC的设计模式研发该产品线。\n<br><br>\n【问题1】(6分)<br>\n软件产品线是提升软件复用的重要手段,请用300字以内的文字分别简要描述什么是软件复用和软件产品线。\n<br><br>\n【问题2】(16分)<br>\n产品约束是软件产品线核心资产开发的重要输入,请从以下已给出的(a)~(k)各项内容,分别选出产品的相似点和不同点填入表5-1中(1)~(8)处的空白,完成该软件产品线的产品约束分析。<br>\n(a)项目当前状态;(b)项目操作;(c)预定策略;(d)会员分类;(e)借阅项目数量;(f)项目的类型和属性;(g)检索功能;(h)与支付相关的用户信息;(i)图书 编号;(j)教师;(k)学生<br>\n表5-1产品约束分析<br>\n<img alt=\"\" src=\"https://image.chaiding.com/ruankao/f14f128286dd03e3d892de2aff8de1f7.jpg?x-oss-process=style/ruankaodaren\" width=\"589\" height=\"414\">\n<br><br>\n【问题3】(3分)<br>\nMVP模式是由MVC模式派生出的一种设计模式。请说明张工建议借阅系统产品线采用MVP模式代替MVC模式的原因。","analyze":"【问题1】<br>\n软件复用是一种系统化的软件开发过程。它通过开发一组基本的软件构造模块,以覆盖不同需求/体系结构之间的相似性,从而提高系统开发的效率、质量和性能;它通过识别、开发、分类、获取和修改软件实体,以便在不同的软件开发过程中重复地使用它们。<br>\n软件产品线是一组软件系统,共享一组通用的特征集合,通过使用一组预先开发的/通用的核心资产来满足不同产品的研发需求。产品线的三个基本活动包括核心资产开发,核心资产管理,产品开发。<br>\n<br>\n本题考查Web系统分析设计的能力。此类题目要求考生认真阅读题目对现实问题的描述,需要根据需求描述完成系统分析与设计。<br>\n软件复用(Software Reuse)是将己有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发 经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。软件复用是一种系统化的软件开发过程,它通过开发一组基本的软件构造模块,以覆盖不同需求/体系结构之间的相似性,从而提高系统开发的效率、质量和性能;它通过识别、开发、分类、获取和修改软件实体,以便在不同的软件开发过程中重复地使用它们。<br>\n软件产品线是一组软件系统,共享一组通用的特征集合,通过使用一组预先开发的和通用的核心资产来满足不同产品的研发需求。产品线的三个基本活动包括核心资产开发、核心资产管理和产品开发。软件产品线的定义和任何产品线的传统定义相一致一一满足特定市场或任务需求的、具有一组公共的、可管理特性的系统集合。但是它增加了一些内容,即在软件产品线中增加了系统开发方式上的一些限制。因为软件产品线的系统需要按照指定方式进行公共资产集的开发,与独立开发、从零开始开发、随机开发等方式相比较,可以获得显著的生产经济效益。正是由此产生的经济效益,才使软件产品线更具吸引力。软件产品线针对特定领域中的一系列具有公共特性的软件系统,试图通过对领域(commonality)共性和可变性(variability)的把握构造一系列领域核心资产,从而使特定的软件产品可以在这些核心资产基础上按照预定义的方式快速、高效地构造出来。软件产品线工程主要包括领域工程、应用系统工程和产品线管理三个方面。其中,领域工程是其中的核心部分,它是领域核心资产(包括领域模型、领域体系结构、领域构件等)的生产阶段;应用系统工程面向特定应用需求,在领域核心资产的基础上面向特定应用需求实现应用系统的定制和开发;而产品线管理则从技术和组织两个方面为软件产品线的建立和长期发展提供管理支持。\n<br><br>\n【问题2】<br>\n(1) (h)<br>\n(2) (a)<br>\n(3) (b)<br>\n(4) (g)<br>\n(5) (f)<br>\n(6) (e)<br>\n(7) (c)<br>\n(8) (d)<br>\n<br>\n产品约束是软件产品线中核心资产开发的主要输入。产品约束分析即分析各个产品有哪些相同点和差异;遵循什么标准;和哪些外部系统有接口;必须满足什么质量属性等。根据需求描述,可具体分析该产品线中的产品约束。\n<br><br>\n【问题3】<br>\n在MVP里,Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter 里实现。Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互, 从而使得在变更View时候可以保持Presenter的不变。借阅系统产品线应用MVP模式可 以使所有的交互都发生在Presenter内部,更好地支持模型与视图完全分离,修改视图而 不影响模型,从而更好地支持产品线中不同产品的实现。<br>\n<br>\nMVP的全称为Model-View-Presenter,Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理。MVP从MVC演变而来,通过表示器将视图与模型巧妙地分开。在该模式中,视图通常由表示器初始化,它呈现用户界面(UI)并接收用户所发出命令,但不对用户的输入作任何逻辑处理,而仅仅是将用户输入转发给表示器。通常每一个视图对应一个表示器,但是也可能一个拥有较复杂业务逻辑的视图会对应多个表示器,每个表示器完成该视图的一部分业务处理工作,降低了单个表示器的复杂程度,一个表示器也能被多个有着相同业务需求的视图复用,增加单个表示器的复用度。表示器包含大多数表示逻辑,用以处理视图,与模型交互以获取或更新数据等。模型描述了系统的处理逻辑,模型对于表示器和视图一无所知。MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter(MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过Controller。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235544832004097","title":"试题五(25分)<br>\n阅读以下关于Web应用设计开发的描述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某公司拟开发一个自由、可定制性强、用户界面友好的在线调查系统,以获取员工在课程学习、对公司重大事件的看法、对办公室环境的建议等相关反馈。因需要调查的内容各异,可选择的调查方式多样,故本在线调查系统应满足以下需求:<br>\n1)支持编辑和视图两种模式,编辑模式只对调查发起者可见,视图模式对接受调查者可见。<br>\n2)调查问卷具有可定制性,因调查的内容各异,需要多样的信息采集方式,可设置的调查问题类型包括单选、多选、矩阵类单选、矩阵类多选和开放性问题。<br>\n3)操作简单,调查者可以方便地新建和编辑各种问题类型,接受调查者可对每个问题和每个调查问卷给出评论。<br>\n4)系统支持显示调查统计结果,以及导出统计结果。<br>\n针对以上需求,经项目组讨论,拟采用REST架构风格设计实现该在线调查系统。\n<br><br>\n【问题1】(10分)<br>\n分析该在线调查系统的业务流程,填写图5-1中(1)~(5)的内容。<br>\n<img alt=\"\" width=\"334\" height=\"257\" src=\"https://image.chaiding.com/ruankao/f7317f883a579bfd8eeb94ac98552499.jpg?x-oss-process=style/ruankaodaren\"><br>\n图5-1 在线调查系统业务流程分析\n<br><br>\n【问题2】(10分)<br>\nREST架构风格的核心是资源抽象。在系统设计中,项目组拟将系统中的每一个实体抽象成一种资源。请列举出该系统中的5种资源。\n<br><br>\n【问题3】(5分)<br>\n基于REST架构风格对系统进行设计,请简要叙述REST风格的5条关键原则。","analyze":"【问题1】<br>\n(1) 发起调查者;<br>\n(2) 接受调査者;<br>\n(3) 是否保存调查问卷;<br>\n(4) 待发布调查问卷;<br>\n(5) 填写调查问卷。<br>\n<br>\n本题目考查Web系统设计分析的相关知识。<br>\n此类题目要求考也认真阅读题目对系统需求的描述,分析抽象系统的业务需求,并根据系统需求特征设计Web应用的系统架构。<br>\n本题目通过分析题目中对在线问卷调查系统的需求描述,抽象出该Web应用系统的业务流程,完成题目给出的业务流程图。<br>\n<img alt=\"\" width=\"441\" height=\"341\" src=\"https://image.chaiding.com/ruankao/3df4f6e274d4bfcf129834524419914b.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】<br>\n用户、调查问卷、问卷问题、问卷问题的选项、<span style=\"font-family:&quot;Microsoft YaHei&quot;;background-color:#F1F1F1;\">调查结果</span>、问卷问题评论、调查问卷评论等。<br>\n<br>\n本题考查REST风格的相关知识和运用REST风格设计Web应用系统。<br>\nREST即表述性状态传递(Representational State Transfer,REST)是一种软件架构风格。它是,它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲更加简洁,越来越多的Web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书査找。<br>\n在REST中,每个事物或者每一个值得被标识的关键抽象都拥有一个明显的资源ID。该在线调査系统中,E-R设计中的每一个实体都是一种资源。对每种资源我们都可以采用REST风格URI进行访问。在这个项目中的每个Model都是一个资源。例如对于User资源,可以输入以下的URI:http://someaddress.eom/users/1,将返回序号为1的用户信息的页面。因此,可被抽象为资源的包括用户、调査问卷、问卷问题、问卷问题的选项、调査结果、问卷问题评论、调查问卷评论等。\n<br><br>\n【问题3】<br>\nREST风格的5个关键原则包括:<br>\n(1) 为所有“事务”定义ID;<br>\n(2) 将所有事务链接在一起;<br>\n(3) 使用标准方法;<br>\n(4) 资源多重表述;<br>\n(5) 无状态通信。<br>\n<br>\n本题目考查REST风格的5个关键原则及相关知识及应用。REST风格的5个关键原则分别为:<br>\n(1)为所有“事物”定义ID。每个事务都应该是可标识的,都应该拥有一个明显的ID——在Web中,代表ID的统一概念是URI。URI构成了一个全局命名空间,使用URI标识你的关键资源意味着它们获得了一个唯一、全局的ID。<br>\n(2) 将所有事物链接在一起。任何可能的情况下,使用链接指引可以被标识的事物(资源)。<br>\n(3) 使用标准方法。为使客户端程序能与你的资源相互协作,资源应该正确地实现默认的应用协议(HTTP),也就是使用标准的GET、PUT、POST和DELETE方法。<br>\n(4) 资源多重表述。是指针对不同的需求提供资源多重表述。在实践中,资源多重表述还有着其他重要的好处:如果你为你的资源提供HTML和XML两种表述方式,那这些资源不仅可以被你的应用所用,还可以被任意标准Web浏览器所用,即应用信息可以被所有会使用Web的人获取到。<br>\n(5) 无状态通信。REST要求状态要么被放入资源状态中,要么保存在客户端上。换句话说,服务器端不能保持除了单次请求之外的、任何与其通倍的客户端的通信状态。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235557205200897","title":"试题五(25分)<br>\n阅读以下关于Web系统架构设计的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某公司开发的B2C商务平台因业务扩展,导致系统访问量不断增大,现有系统访问速度缓慢,有时甚至出现系统故障瘫痪等现象。面对这一情况,公司召开项目组讨论会议,寻求该商务平台的改进方案。讨论会上,王工提出可以利用镜像站点、CDN内容分发等方式解决并发访问量带来的问题。而李工认为,仅仅依靠上述外网加速技术不能完全解决系统现有问题,如果访问量持续增加,系统仍存在崩渍的可能。李工提出应同时结合Web内网加速技术优化系统改进方案,如综合应用负载均衡、缓存服务器、Web应用服务器、分布式文件系统、分布式数据库等。经过讨论,公司最终决定采用李工的思路,完成改进系统的设计方案。\n<br><br>\n【问题1】(10分)<br>\n针对李工提出的改进方案,从a~j中分别选出各技术的相关描述和对应常见支持软件填入表5-1中的(1) ~(10) 处。<br>\n<img alt=\"\" width=\"621\" height=\"169\" src=\"https://image.chaiding.com/ruankao/903518b068024712c81932f0470bd33d.jpg?x-oss-process=style/ruankaodaren\"><br>\na)保存静态文件,减少网络交换量,加速响应请求<br>\nb)可采用软件级和硬件级负载均衡实现分流和后台减压<br>\nc)文件存储系统,快速查找文件<br>\nd)FastDFS<br>\ne)HAProxy<br>\nf)JBoss<br>\ng)Hadoop Distributed File System(HDFS)<br>\nh)Apache Tomact<br>\ni)Squid<br>\nj)MongoDB\n<br><br>\n【问题2】(9分)<br>\n请用100字以内的文字解释分布式数据库的概念,并给出提高分布式数据库系统性能的3种常见实现技术。\n<br><br>\n【问题3】(6分)<br>\n针对B2C商务购物平台的数据浏览操作远远高于数据更新操作的特点,指出该系统应采用的分布式数据库实现方式,并分析原因。","analyze":"【问题1】<br>\n(1)(b)<br>\n(2)(e)<br>\n(3)(a)<br>\n(4)(i)<br>\n(5)(c)<br>\n(6)(d)<br>\n(7)(g)<br>\n(8)(f)<br>\n(9)(h)<br>\n(10)(j)<br>\n(6)和(7)、(8)和(9)的答案可互换。<br>\n<br>\n本题考查Web系统架构设计的相关知识及应用。<br>\n此类题目要求考生认真阅读题目,根据实际系统的需求描述,进行Web系统架构的设计。<br>\n本问题考查Web系统设计中常用技术及实现这些技术的常用软件。<br>\n1.负载均衡技术<br>\nWeb系统设计中的负载均衡可以分为软件负载均衡和硬件负载均衡。软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。软件级负载均衡又分为四层负载均衡和七层负载均衡。四层负载均衡中性能较为突出的有LVS和Haproxy等,LVS是在Linux内核层进行数据交换,高并发能力接近硬件级负载均衡器的水平。但四层交换也有其不足之处,如不能检测后端服务器存活情况,不支持正则动静分离。七层负载均衡中性能较优的有Haproxy和Nginx等, 两者都支持虚拟主机,在负载均衡的同时都有保持session的方案,并且可以进行动静分离,但显而易见,其性能不如四层交换。因此,根据不同网站的需求在负载均街上的部署方案也不同。硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到极大提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。常见的有NetScaler、F5、Radware、Array等商用的负载均衡器。<br>\n2. 缓存服务器<br>\nWeb缓存(Web Cache)服务器的功能类似于CDN内容分发技术中的缓存技术,目的都是为了加快网络访问速度,同时减小高并发访问对后台产生的冲击效应。Web缓存服务器存储网络上其他用户需要的网页、文件等等信息,它不仅可以使用户得到他们想要的信息,而且可以减少网络的交换量。缓存服务器往往也是代理服务器。对于网络的用户,缓存服务器和代理是不可见的,在用户看来所有的信息都来自访问的网站。Web缓存服务器使用大量存储空间来同时服务大量的用户,因而,Web Cache能为流行的Web站点快速提供最新的数据,Web Cache还可以加速已经被本地用户访问过的其他Web站点的访问速度,对于那些数据需求超出浏览器Cache限制的用户尤其有用。现有常见的软件级Web缓存服务器有Squid、Varnish, Nginx第三方模块,商业级的AiCache等。<br>\n3. 分布式文件系统<br>\n通过分布式文件系统,一台服务器上的某个共享点能够作为驻留在其他服务器上的共享资源的宿主。分布式文件系统以透明方式链接文件服务器和共享文件夹,然后将其映射到单个层次结构,以便可以从一个位置对其进行访问,而实际上数据却分布在不同的位置。到目前为止,有数十种以上的分布式文件系统解决方案可供选择,如Lustre、 Hadoop和FastDFS等。它们对使用的环境和适应的文件形式各不相同,加速效果也不相同。在国内,MogileFS较为受欢迎,在图片存储上性能突出。而淘宝网则自己开发出文件系统TFS来适应其PB级的图片与商品描述文件。<br>\n4. Web应用服务器<br>\n在Web服务器的市场中,轻量级高性能服务器广受欢迎,但因为轻量级服务器本身并不支持处理PHP等脚本语言,因此在实际运用中一方面为轻量级服务器开发处理脚本语言的第三方模块,或者直接搭配传统服务器进行动态网站的请求处理,其中以Nginx 为代表的轻量级服务器搭配Apache服务器的应用已经是一种较为流行的部署方式。Web服务器提供Web页面浏览的服务,仅支持HTTP协议、HTML文档格式,在市场需求中,还有很多需求是针对业务逻辑的需要,这也是应用服务器与Web服务器的区别,应用服务器支持客户端提出请求调用(call)的方法处理商业逻辑,在大多数情形下,应用程序服务器是通过组件的应用程序接口把商业逻辑暴露给客户端应用程序的,例如基于J2EE应用程序服务器的EJB组件模型。Apache搭配Tomcat或者Tomcat单独作为服务器来实现应用服务器是广泛使用的方法,JBoss网络服务器的崛起也促进了应用服务器的使用。<br>\n5.分布式数据库<br>\n分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。<br>\n数据分片类型包括水平分片、垂直分片、导出分片和混合分片。水平分片按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。垂直分片是把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。导出分片又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属件的条件。混合分片是以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但它们的结果是不相同的。数据分配方式包括集中式、分割式、全复制式和混合式。集中式是所有数据片段都安排在同一个场地上;分割式是所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上;全复制式是数据在每个场地重复存储,也就是每个场他上都有一个完整的数据副本;混合式是一种介乎于分割式和全复制式之间的分配方式。常见的分布式数据库实现方式包括基于MangoDB、MySQL, DB2、Oracle等。\n<br><br>\n【问题2】<br>\n分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库。每个被连接起来的数据库单元称为站点或节点。<br>\n常见实现技术:读写分离、数据分片、数据索引、数据缓存、负载均衡等。<br>\n<br>\n本问题考查分布式数据库的概念和发挥分布式数据库性能优势的常用方法。<br>\n分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库。每个被连接起来的数据库单元称为站点或节点。<br>\n为提高分布式数据库的性能,发挥其优势,常见的实现技术有读写分离、数据分割、数据索引、数据缓存、负载均衡等。<br>\n1.读写分离<br>\n在大多数社交购物网站中,读操作远多于写操作。在原始的数据库中,当写入的时候必须要锁住数据表,小数据量的时候并不会出现瓶颈问题,当数据量暴增时,读写数据必然会受到很大的影响。如果把读操作和写操作分离开来,性能将大大提高,这也是相对比较早的一种提升数据库性能的部署方式。<br>\n2. 数据分片<br>\n数据分割(数据分片)是指把逻辑上是统一整体的数据分割成较小的、可以独立管理的物理单元进行存储,以便于重构、重组和恢复,以提高创建索引和顺序扫描的效率。数据分割可采用不同类型的分割方式。<br>\n(1) 垂直分割将一个大数据库分成多个小数据库,可以提高查询的性能,因为每个数据库分区只拥有自己的一小部分数据。假设需要扫描1亿条记录,对一个单一分区的数据库来讲,该扫描操作需要数据库管理器独立扫描一亿条记录。如果将数据库系统做成50个分区,并将这1亿条记录平均分配到这50个分区上,那么每个数据库分区的数据库管理器将只扫描200万条记录。<br>\n(2) 水平分区意味着将同一个数据库表中的记录通过特定的算法进行分离,分别保存在不同的数据库表中,从而可以部署在不同的数据库服务器上。很多的大规模的站点基本上都是主从复制+垂直分区+水平分区这样的架构。水平分区并不依赖什么特定的技术,完全是逻辑层面的规划,需要的是经验和业务的细分。<br>\n3. 数据索引<br>\n索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓氏来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引就是加快检索表中数据的方法,亦即能协助信息搜索者快速找到符合限制条件的记录ID的辅助数据结构。根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义,第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。<br>\n4. 数据缓存<br>\n随着数据库的读写操作日益频繁,缓存数据也成为必然。缓存是最重要的一个方面,以提高应用程序性能的存储对象的缓存(内存),减少数据库负载。缓存在群集环境中,需要分布式缓存解决方案,可以支持故障切换情景和数据的可靠性。<br>\n5. 负载均衡<br>\n几乎所有的主流数据库都支持复制,这是进行数据库简单扩展的基本手段,,为了让主从服务器上的数据保持一致,从服务器定时向主服务器获取更新操作日志,并在从服务器上进行更新操作。主从服务器的数据同步也可以用作对数据库数据的备份,在读写分离的方式下使用主从部署方式的数据库时,会遇到一个问题,即一个主数据库对应多台从服务器,对于写操作是针对主数据库的,数据库个数是唯一的,但是对于从服务器的读操作就需要使用适当的算法来分配请求,尤其是在多个从服务器的配置不一样的时候,甚至需要读操作按照权重来分配。负载均衡技术即可用于解决上述问题。\n<br><br>\n【问题3】<br>\n系统应采用的分布式数据库实现方式为主从分布、读写分离。<br>\n原因:在购物网站中,读操作远多于写操作,在原始的数据库中,当写入的时候必须要锁住数据表,当小数据量的时候并不会出现瓶颈问题,当数据量暴增时,读写数据必然会受到很大的影响。如果把读操作和写操作分离开来,性能将大大提高。 <br>\n<br>\n本问题考查学生根据题干中Web系统分析选择合适的数据库实现策略的能力。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235518026207233","title":"试题四(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某企国连锁药店企业在新冠肺炎疫情期间,紧急推出在线口罩预约业务系统。该业务系统为普通用户提供口罩商品查询、购买、订单查询等业务,为后台管理人员提供订单查询、订单地点分布汇总、物流调度等功能。该系统核心的关系模式为预约订单信息表。<br>\n推出业务系统后,几天内业务迅速增长到每日10万多笔预约订单,系统数据库服务器压力剧增,导致该业务交易响应速度迅速降低,甚至出现部分用户页面无法刷新、预约订单服务无响应的情况。为此,该企业紧急成立技术团队,由张工负责,以期尽快解决该问题。\n<br><br>\n【问题1】(9分)<br>\n经过分析,张工认为,前预约订单信息表存储了所有订单信息,记录已达到了百万级别。系统主要的核心功能均涉及对订单信息表的操作,应首先优化预约订单信息表的读性能,建议针对系统中的SQL语句,建立相应索引,并进行适当的索引优化。<br>\n针对张工的方案,其他设计人员提出了一些异议,认为索引过多有很多副作用。请用100字以内的文字简要说明索引过多的副作用。\n<br><br>\n【问题2】(10分)<br>\n作为团队成员之一,李工认为增加索引并进行优化并不能解决当前问题,建议采用物理分区策略,可以根据预约订单信息表中“所在城市”属性进行表分区,并将每个分区分布到独立的物理磁盘上,以提高读写性能。常见的物理分区特征如表4-1所示。李工建议选择物理分区中的列表分区模式。<br>\n<img src=\"https://image.chaiding.com/ruankao/b17895b8d2d843f39a21366fa031bde9.jpg?x-oss-process=style/ruankaodaren\" alt=\"\" width=\"650\" height=\"157\" title=\"\" align=\"\"><br>\n请填补表4-1中的空(a)~(d)处,并用100字以内的文字解释说明李工选择该方案的原因。\n<br><br>\n【问题3】(6分)<br>\n在系统运行过程中,李工发现后台管理人员执行的订单地址信息汇总等操作,经常出现普用户的预约订单操作形成读写冲突,影响系统的性能。因此李工建议采用读写分离模采用两台数据库服务器,并采用主从复制的方式进行数据同步。请用100字以内的文字简要说明主从复制的基本步骤。","analyze":"【问题1】<br>\n索引过多的副作用有:<br>\n(1)过多的索引会占用大量的存储空间;<br>\n(2)更新开销,更新语句会引起相应的索引更新;<br>\n(3)过多索引会导致查询优化器需要评估的组合增多;<br>\n(4)每个索引都有对应的统计信息,索引越多则需要的统计信息越多;<br>\n(5)聚集索引的变化会导致非聚集索引的同步变化。<br>\n<br>\n本题考查数据库优化的相关知识及其应用。<br>\n本问题考查索引优化的相关知识。<br>\n索引是提高数据库查询速度的利器,而数据库查询往往又是数据库系统中最频繁的操作,因此索引对数据库性能优化有重大意义。但是索引并不一定会带来性能的提升,使用不的情况下甚至会导致性能下降。\n<br><br>\n【问题2】<br>\n(a)属性的离散值<br>\n(b)周期性数据/周期数据<br>\n(c)能力强<br>\n(d)均匀<br>\n李工建议根据预约订单所在城市进行表分区,而所在城市属性为离散值,根据所在城市属性建立列表分区,也方便不同城市处理自己的数据,方便数据管理。<br>\n<br>\n本问题考查数据库物理分区的基本概念及应用。<br>\n数据库分区是一种物理数据库设计技术,其主要目的是在特定的SQL操作中减少数据读写的总量,以缩减响应时间。物理分区是根据一定的规则,在保证数据逻辑模式不变的前提下,从物理存储上把一个表分解成多个更小的、更容易管理的部分。物理分区对应用来说是完全透明的,不影响应用的业务逻辑。<br>\n常见的分区方式及其比较如下表所示:<br>\n<img width=\"628\" height=\"133\" src=\"https://image.chaiding.com/ruankao/e257d5520108f5b68d660134bfe5e6d4.jpg?x-oss-process=style/ruankaodaren\" alt=\"\">\n<br><br>\n【问题3】<br>\n主从复制的基本步骤:<br>\n(1)主服务器将所做修改通过自己的I/O线程,保存在本地二进制日志中;<br>\n(2)从服务器上的I/O线程读取主服务器上面的二进制日志,然后写入从服务器本地的中继日志;<br>\n(3)从服务器上同时开启一个SQL thread,定时检查中继日志,如果发现有更新则立即把更新的内容在本机的数据库上面执行一遍。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235506328293377","title":"试题四(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某大型企业在长期信息化建设过程中,面向不同应用,开发了各种不同类型的应用软件系统,以满足不同的业务需求,随着用户需求和市场的快速变化,要求企业应能快速地整合企业的各种业务能力。为不同类型的用户提供多种流程的业务服务。但现有各个独立的应用系统难以满足日益增长和快速变化的用户需求。<br>\n目前该企业各个应用系统主要存在以下问题: <br>\n(1)应用系统是异构的,运行在不同软硬件平台上的信息系统。 <br>\n(2)应用系统的数据源彼此独立,相互封闭,使得数据难以在系统之间交互,共享和融合,即存在“信息孤岛”。 <br>\n(3)系统是面向应用的、各个应用系统中的数据模型差异大,即使同一数据实体,其数据类型、长度均存在不一致甚至相互矛盾的问题,为此,该企业专门成立了研发团队,希望能尽快解决上述问题。\n<br><br>\n【问题1】(10分)<br>\n李工建议采用数据集成的方式来实现数据的整合,同时构建新系统来满足新的需求,针对题干中的问题(3),李工提出首先面向企业核心的业务主题,做好企业战略数据规划。建立企业的主题数据库,然后再进行集成系统的开发。请用200字以内的文字简要说明主题数据库的设计要求和基本特征。\n<br><br>\n【问题2】(9分)<br>\n张工认为数据集成的方式难以充分利用已有应用系统的业务功能实现不同业务功能的组合,建议采用基于S0A的应用集成方式将原有系统的功能包装为多个服务,并给出了基本的集成架构,见图:<br>\n<img width=\"533\" height=\"462\" src=\"https://image.chaiding.com/ruankao/856a1560441354a22a5843284ff4a51b.jpg?x-oss-process=style/ruankaodaren\" alt=\"\"><br>\n图4-1基于SOA的集成架构示意图 <br>\n请补充实善图4-1中(1)-(3)处空白的内容。\n<br><br>\n【问题3】(6分)<br>\n研发团队在对张工的方案进行分析后,发现该方案没有发挥SOA的核心理念,即松耦合的服务带来业务的复用通过服务的编排助力业务的快速响应和创新、未实现“快速整合企业业务的能力,不同类型用户提供各种不同功能,不同流程的业务服务的核心目标,目前方案仅仅是通过SOA实现了系统集成。 <br>\n请用200字以内文字分析该方案未满足本项目核心目标的原因。","analyze":"【问题1】<br>\n设计要求:为了加速应用系统的开发,主题数据库的逻辑结构应独立于当前的计算机硬件和软件的实现过程,应设计得尽可能稳定。<br>\n基本特征:<br>\n(1)面向业务主题:主题数据库是面向业务主题来组织的数据存储;(2)信息共享:主题数据库是不同应用系统共建共用的共享数据库;<br>\n(3)一次一处输入系统:数据就地采集,就地处理、使用和存储,以及必要的传输、汇总和集中存储;<br>\n(4)由基本表组成:主题数据库由多个达到基本规范化要求的数据实体构成。\n<br><br>\n【问题2】<br>\n(1)服务编排\n(2)数据转换<br>\n(3)应用程序接口/应用接口\n<br><br>\n【问题3】<br>\n主要的原因在于:<br>\n(1)服务粒度的问题:服务是对原有系统功能的包装,通常是粗粒度的,很难实现真正意义上的细粒度、松耦合的服务。<br>\n(2)服务编排:由于粗粒度的服务,难以进行真正意义上灵活的服务编排。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235491916664833","title":"试题四(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某大型电商平台构建了一个在线B2B商店系统。该系统采用微服务架构,将系统功能分解为多个松散耦合且可独立部署的较小组件或服务。最终设计的系统包括了电商系统中常见的服务:客户服务、订单服务、支付服务等,其中:<br>\n1、客户服务负责对客户相关的信息进行管理和维护;<br>\n2、订单服务负责对订单信息的管理和维护;<br>\n3、支付服务负责对在线支付功能和信息的管理和维护等。<br>\n为了确保微服务之间的松耦合,每个服务都有自己的数据,其中,订单服务使用了 NoSQL 数据库,客户服务和支付服务使用了关系数据库。<br>\n李工认为由于不同服务使用了各自的不同数据库,使得跨服务操作可能存在数据不一致。比如订单与支付的数据一致性问题,系统通过订单服务在本地 NoSQL 数据库中创建订单记录,同时在支付服务的关系数据库中创建支付记录,且必须保证订单记录和支付记录的一致性,该问题在系统构建时需要考虑。\n<br><br>\n【问题1】(7分)<br>\n李工建议采用两阶段提交协议(2PC)来解决服务数据的一致性问题。请用200字以内的文字简要说明2PC;说明2PC是否能解决该问题,并简要解释原因。\n<br><br>\n【问题2】(8分)<br>\n王工建议采用分布式数据管理方案,用事件驱动架构来解决服务数据的一致性问题,在订单服务和支付服务之间通过可靠的消息队列实现事件的传递,其基本操作步骤如下,请填写其中的空白处。<br>\n(1)订单服务接收订购请求,创建一个订单,该记录状态为(a),发布一个“创建订单”事件;<br>\n(2)(b)接收“创建订单”事件,记录(c),发布一个“支付完成”事件;<br>\n(3)订单服务接收“支付完成”事件,修改订单记录状态为(d)。\n<br><br>\n【问题3】(10分)<br>\n李工提出王工的方案会有数据库更新和发布事件的原子性问题,例如订单服务创建订单记录和发布“创建订单”事件需要原子性保障,否则会出现数据不一致状态。<br>\n王工认为可以使用本地事务发布事件的方法来解决该问题。请给出使用本地事务发布事件的基本方法,并说明该方法的缺点。","analyze":"【问题1】<br>\n1、两阶段提交协议2PC经常用来管理分布式事务。<br>\n(1)2PC包含协调者和参与者两类站点,只有协调者才拥有提交或撤销事务的决定权,而其他参与者各自负责在其本地数据库中执行写操作,并向协调者提出撤销或提交事务的意向。<br>\n(2)2PC分为两个阶段:表决阶段和执行阶段。<br>\n①表决阶段,目的是形成一个共同的决定。协调者给所有参与者发送“准备提交”消息,并进入等待状态,所有参与者给与回复“建议提交”或“建议撤销”。只要有一个结点选择撤销,则整体事务撤销,否则,执行该事务。<br>\n②执行阶段,目的是实现这个协调者的决定。根据协调者的指令,参与者或者提交事务,或者撤销事务,并给协调者发送确认消息。<br>\n2、两阶段提交协议2PC不能解决当前问题。<br>\n(1)分布式数据库遵循的是CAP原则,会在一定程度上牺牲一致性。<br>\n(2)大多数NoSQL数据库并不支持2PC。<br>\n(3)分布式两阶段提交协议2PC一般针对的对象在逻辑上是一个整体,对某一个整体事务需要在多个物理节点上执行时,进行表决和执行,对多个数据库的不同服务并不是很合适。\n<br><br>\n【问题2】<br>\n(a)未支付<br>\n(b)支付服务<br>\n(c)支付信息<br>\n(d)已支付\n<br><br>\n【问题3】<br>\n使用本地事务发布事件:<br>\n由一个独立进程来发布事件。具体来说,就是在存储业务实体状态的数据库中,使用一个事件表来充当消息队列。应用启动一个(本地)数据库事务,更新业务实体的状态,在事件表中插入一个事件,并提交该事务。一个独立的消息发布线程或进程查询该事件表,将事件发布到消息代理,并标注该事件为已发布。<br>\n缺点:<br>\n由于开发者必须牢记发布事件,因此有很大可能出错。此外这一方法对于某些使用NoSQL数据库的应用是个挑战,因为NoSQL本身交易和查询能力有限。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235479635742721","title":"试题四(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br> \n某国际大型企业拟向企业开发一个在线社交网络服务(SNS)系统,让企业内部的员工能够通过类似社交网络的方式进行工作和自我管理,以实现企业内部员工高效、透明、便捷的沟通与协作。其基本的工序包括:<br> \n1、企业内部部门、员工等基本信息的维护和管理<br> \n2、提供常见的SNS服务,如Blog,WiKi,数钱,RSs,即时通信和邮件等<br> \n3、提供社交网络,推荐系统等基本功能提高业务协作除了上述功能性的需求外,还需要满足系统的可拓展、灵活部署以及高性能和高可用性需求<br> \n企业设计系统小组...<br> <br> \n【问题1】<br> \n李工建议采用SNS中常见的NoSQL数据库技术,原因是传统的关系数据库不能满足实际需求,请用200字内说明该系统不能采用传统关系数据库的原因,并给出NoSQL数据的基本特点<br> <br> \n【问题2】<br> \n李工对当前主流的NoSQL数据库镜像了调研形成了如下表\n<br><img src=\"https://image.chaiding.com/ruankao/01736a294c2f6ee39c4983ab4851561d.jpg?x-oss-process=style/ruankaodaren\"><br> <br> \n【问题3】<br> \n针对李工的建议,王工认为单纯使用NoSQL数据库无法完全满足系统要求,考虑到系统功能所涉及到数据类型建议使用混合数据库模型来实现,请用100字以内文字说明。混合数据库模式如何组织","analyze":"【问题1】<br>\n在线社交网络服务(SNS)中的即时通讯系统,需要存储巨量的数据,同时需要快速的响应(查询速度),传统关系型数据库的特点是数据量越大查询越慢,而某些NoSQL数据库比如键值数据库,列数据库等都非常适合此场景。键值数据库类似于传统语言中使用的哈希表。可以通过key来添加、删除、查询数据,因为使用key主键来访问,所以键值数据库有很高的性能及拓展性。列存储数据库不同于关系型数据库的以行为单位储存,列存储数据库将数据存储于列族中,一个列族存储经常被—起查询的相关数据。由于它的查询速度快,列式数据库则应该发挥他查询速度方面的优势,主要用于海量数据分析—类的方面。<br>\n在线社交网络服务(SNS)系统的核心功能社交网络和推荐系统,这两个功能的特点是需要处理大量的数据和复杂的关联关系,这些都是传统关系型数据库的短板,而图数据库在处理此类问题时具有完全的优势。如果我们希望知道谁LIKES(喜欢)谁(喜欢可以是单向或双向),也想知道谁是谁的FRIEND_OF(朋友),谁是所有人的LEADER_OF(领导)。通过传统关系型数据库提供的搜索算法来查找,便需要耗费巨量的时间来一——对比,但通过图数据库的子图查询,则可以对这些各异的需求进行更精准的响应。子图查询最直接的优点就是对数据需求的表达能力很强。<br>\n描述系统的特点,也就是需要使用NoSQL数据库的动机,然后描述所使用的NoSQL数据库实现原理即可。<br><br>\n【问题2】<br>\n(a): OLAP<br>\n(b):节点和关系组成的图<br>\n(c):性能高(增删查改都快),可扩展性强<br>\n(d):使用JSON或者XML等格式来存储数据,格式灵活<br><br>\n【问题3】<br>\n混合数据库模型整合内存数据库、关系型数据库、各种类型的NoSQL等多种数据库,根据不同业务场景对数据应用的需求,灵活提供数据服务,同时满足低成本、安全性、可用性、敏捷性、自动化的需求。比如企业内部部门、员工等基本信息的维护和管理适合关系型数据库;即时通讯功能适合键值数据库或者列式数据库;社交网路和推荐系统适合图数据库等。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235555019968513","title":"试题四(25分)<br>\n阅读以下关于数据库分析与建模的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某电子商务企业随着业务不断发展,销售订单不断增加,每月订单超过了50万笔,急需开发一套新的互联网电子订单系统。同时该电商希望建立相应的数据中心,能够对订单数据进行分析挖掘,以便更好地服务用户。<br>\n王工负责订单系统的数据库设计与开发,初步设计的核心订单关系模式为:<br>\norders(order_no,customer_no ,order_date,product_no,price,......);<br>\n考虑订单数据过多,单一表的设计会对系统性能产生较大影响,仅仅采用索引不足以解决性能问题。因此,需要将订单表拆分,按月存储。<br>\n王工采用反规范化设计方法来解决,给出了相应的解决方案。李工负责数据中心的设计与开发。李工认为王工的解决方案存在问题,建议采用数据物理分区技术。在解决性能问题的同时,也为后续的数据迁移、数据挖掘和分析等工作提供支持。\n<br><br>\n【问题1】(8分)<br>\n常见的反规范化设计包括增加冗余列、增加派生列、重新组表和表分割。为解决题干所述需求,王工采用的是哪种方法?请用300字以内的文字解释说明该方法,并指出其优缺点。\n<br><br>\n【问题2】(8分)<br>\n物理数据分区技术一般分为水平分区和垂直分区,数据库中常见的是水平分区。水平分区分为范围分区、哈希分区、列表分区等。请阅读下表,在(1)~(8) 中填写不同分区方法在数据值、数据管理能力、实施难度与可维护性、数据分布等方面的特点。<br>\n<img alt=\"\" width=\"401\" height=\"226\" src=\"https://image.chaiding.com/ruankao/acd1f52251e7cf6a57978435ec4697c8.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(9分)<br>\n根据需求,李工宜选择物理水平分区中的哪种分区方法?请用300字以内的文字分别解释说明该方法的优缺点。","analyze":"【问题1】<br>\n王工采用的是表分割方法。常见的表分割方法分为水平分割和垂直分割,王工应采用水平分割,将不同时间的订单存放到不同的逻辑表中,不同的月份使用不同的关系表。<br>\n该方法的优点是将数据分布到多个不同表,这些库表逻辑与物理上均是独立的。在订单系统中最频繁的操作是对当月订单表的操作,这种方法有效地减少了操作表中的记录数目,可有效提升性能。同时按月存储有利于数据迁移、备份和管理。<br>\n该方法的缺点是逻辑上破坏了关系概念的完整性,由一个关系变为多个关系。因此在数据分析挖掘中,进行历史数据挖掘和分析时,需要执行集合并操作,处理较单表操作而言更复杂。例如需要对一年的数据进行分析,就需要对12张表进行操作。增加数据维护的工作强度,也增加了应用软件设计和实现的复杂度。<br>\n<br>\n本题考查数据库设计中反规范化设计概念。<br>\n此类题目要求考生认真阅读题目对现实问题的描述,根据具体业务问题,选择合适的解决方案。<br>\n关系模式规范化设计所导致的性能问题在实际应用中可能令人无法接受。如果出现这种情况,在数据库概要设计阶段,一般要采用非规范化手段。关系模式的非规范化就是为了获得性能上的要求所进行的违反规范化规则的操作。而非规范化手段必然会带来数据冗余、更新异常等问题,因此必须均衡考虑,同时必须对非规范化澡作所带来的副作用进行处理。常见的反规范化设计包括增加冗余列、增加派生列、重新组表和表分割。\n<br><br>\n【问题2】<br>\n(1)连续(2)离散(3)弱(4)强(5)差(6)差(7)不均匀(8)均匀<br>\n<br>\n物理数据分区(也称为表分区)技术一般分为水平分区和垂直分区,数据库中常见的是水平分区,根据一列或多列数据的值把数据行放到多个物理独立的表中,根据属性类型以及划分规则,常见的分区有范围分区、哈希分区、列表分区等。范围分区是根据属性的连续取值范围进行分区;哈希分区是根据属性值进行哈希运算后的值进行分区;列表分区是根据属性的离散取值进行分区。因此,三种分区在数据值、数据管理能力、实施难度与可维护性、数据分布等方面的特点如下表所示。<br>\n<img width=\"617\" height=\"139\" alt=\"\" src=\"https://image.chaiding.com/ruankao/e613f6e49439e3afa2d8a731e84bbf9f.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】<br>\n李工应该选择水平分区中的范围分区,对属性order_date按照取值范围进行划分,实现数据的按月存储;<br>\n该方法的优点是逻辑模式保持不变,保证了订单关系概念的单一性和完整性。但在物理上分布到多个不同物理实体上,可以执行并行查询,提高了系统性能。范围分区提供了良好的数据迁移、备份和管理能力;<br>\n该方法的缺点是随着时间的增加,日期数据发生变化,需要DBA对分区进行维护,以增加新的分区。订单数据在分区上不均匀。实施有难度,可维护性比较差。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235567791624193","title":"试题四(25分)<br>\n阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某航空公司要开发一个订票信息处理系统,以方便各个代理商销售机票。开发小组经过设计,给出该系统的部分关系模式如下:<br>\n航班(<u>航班编号</u>,航空公司,起飞地,起飞时间,目的地,到达时间,剩余票数,票价)<br>\n代理商(<u>代理商编号</u>,代理商名称,客服电话,地址,负责人)<br>\n机票代理(<u>代理商编号</u>,<u>航班编号</u>,票价)<br>\n旅客(<u>身份证号</u>,姓名,性别,出生日期,电话)<br>\n购票(<u>购票单号</u>,<u>身份证号</u>,<u>航班编号</u>,搭乘日期,购票金额)<br>\n在提供给用户的界面上,其核心功能是当用户查询某航班时,将该航班所有的代理商信息及其优惠票价信息,返回给用户,方便用户购买价格优惠的机票。在实现过程中发现,要实现此功能,需要在代理商和机票代理两个关系模式上进行连接操作,性能很差。为此开发小组将机票代理关系模式进行了扩充,结果为:<br>\n机票代理(<u>代理商编号</u>,<u>航班编号</u>,代理商名称,客服电话,票价)<br>\n这样,用户在查找信息时只需对机票代理关系模式进行查询即可,提高了查询效率。\n<br><br>\n【问题1】(6分)<br>\n机票代理关系模式的修改,满足了用户对代理商机票价格查询的需求,提高了查询效率。但这种修改导致机票代理关系模式不满足3NF,会带来存储异常的问题。<br>\n1)请具体说明其问题,并举例说明。<br>\n2)这种存储异常会造成数据不一致,请给出解决该存储异常的方案。\n<br><br>\n【问题2】(9分)<br>\n在机票销售信息处理系统中,两个代理商的售票并发执行,可能产生的操作序列如表4-1所示。<br>\n<img alt=\"\" width=\"300\" height=\"234\" src=\"https://image.chaiding.com/ruankao/43a9c4adb3b760544bec23ae251cf904.jpg?x-oss-process=style/ruankaodaren\"><br>\n假设两个代理商执行之前,该航班仅剩1张机票。<br>\n1)请说明上述两个代理商操作的结果。<br>\n2)并发操作会带来数据不一致的问题,请具体说明3种问题。\n<br><br>\n【问题3】(10分)<br>\n为了避免问题2中的问题,开发组使用库的读写锁机制,操作序列变为表4-2所示。<br>\n<img alt=\"\" width=\"550\" height=\"295\" src=\"https://image.chaiding.com/ruankao/9dbef225c8d5c42c4f166061dd38350c.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n具体问题有数据冗余和更新异常。<br>\n数据冗余:代理商名称和客服电话存在于两个关系模式,而且机票代理关系模式中,该代理商代理了多少个航班,则代理商名称和客服电话被重复存储多少次。<br>\n更新异常:当代理商名称或客服电话变更时,不仅需要修改代理商关系模式,还需要修改机票代理关系模式,否则会造成数据不一致。<br>\n可采用两种方案实现。<br>\n(1)通过程序实现,当修改代理商关系模式数据时,程序同步修改机票代理关系模式;<br>\n(2)通过触发器实现,在代理商关系模式上加修改触发器,当修改代理商关系模式数据时,程序同步修改机票代理关系模式。<br>\n<br>\n本题考查数据库设计及应用,属于比较基础的题目。<br>\n本问题考查数据库设计中关系范式规范化和反规范化的相关知识。众所周知,关系范式规范化的结果是关系越来越小,关系范式的概念越单一。但是要解答用户的问题,往往会涉及到多表关联操作,影响查询效率。因此应用中经常采用反规范化的方法来提高齐询效率。因此开发小组对机票代理关系模式的修改属于反规范化。<br>\n但是反规范带来的直接结果是数据冗余存放,如题干描述的机票代理中,代理商名称和客服电话数据就存在于机票代理和代理商两个模式中。这种情况会引起更新异常,比如3代理商名称或客服电话变更时,不仅需要修改代理商关系模式,还需要修改机票代理关系模式,否则会造成数据不一致。<br>\n要解决范式规范化带来的问题,主要是保持两个地方存储数据的一致性。常见的方法有两种:一种是通过程序实现,在业务程序中,当修改代理商关系模式数据时,程序同步修改机票代理关系模式;另一种是通过触发器实现,在代理商关系模式上加修改触发器,当修改代理商关系模式数据时,程序同步修改机票代理关系模式。\n<br><br>\n【问题2】<br>\n1)第一个代理商能够正确售票。第二个代理商查询剩余票数时正确,为1张机票,但剩余票数减一操作时出错,因为该机票己经被第一个代理商售出,此时第二个代理商无票可售。<br>\n2)并发操作会带来数据不一致问题,具体为:丢失修改、读脏数据、不可重复读。<br>\n<br>\n本问题考查数据库设计中的并发问题和数据库事务隔离级别的基本概念。数据库为众多用户同时提供服务,如果多个用户产生了对同一个数据的并发读取操作,就会产生并发问题。<br>\n表4-1描述的是并发的一种可能情况,在允许脏读的条件下,第一个代理商能够正确售票。第二个代理商查询剩余票数时正确,为1张机票,但剩余票数减一操作时出错,因为该机票己经被第一个代理商售出,此时第二个代理商无票可售。<br>\n并发问题会造成数据的不一致。在数据库事务隔离级别定义中,定义了并发问题会造成的三种现象,分别是丢失修改、读脏数据和不可重复读,而根据这三种现象,划分了4种不同的事务隔离级别。\n<br><br>\n【问题3】<br>\n(1)加写锁<br>\n(2)加读锁<br>\n(3)加写锁<br>\n(4)被阻塞<br>\n(5)得到通知<br>\n(6)加写锁<br>\n读写锁的缺点:读写锁会造成读写操作的互相阻塞,实际使得用户的操作被串行化,降低了系统的并发性能。设计不好的情况下,可能会出现资源的交叉锁定,形成死锁。<br>\n<br>\n本问题考查数据库中基本的读写锁机制,通过提供读锁和写锁的相互阻塞,来解决并发问题。锁机制的基本概念是读取操作之前先加锁,成功后方能读写数据。读操作加读锁,写操作加写锁。读锁会阻塞写锁,即加了读锁的数据,在未释放读锁之前不能加写锁,可以加读锁;同样,写锁会阻塞读锁,在写锁未释放前,不能再加读锁和写锁。其实质是使得相互冲突的并发读写操作,变为串行化读写操作,来解决并发问题,<br>\n因此,根据读写锁的基本机制,表4-2中的空应该填写的内容是(1)加写锁、(2)加读锁、(3)加写锁、(4)被阻塞、(5)得到通知、(6)加写锁。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235542852292609","title":"试题四(25分)<br>\n阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件企业开发一套类似于淘宝网上商城业务的电子商务网站。该系统涉及多种用户角色,包括购物用户、商铺管理员,系统管理员等。<br>\n在数据库设计中,该系统数据库的核心关系包括:<br>\n产品(产品编码,产品名称,产品价格,库存数量,商铺编码)<br>\n商铺(商铺编码,商铺名称,商铺地址,商铺邮箱,服务电话)<br>\n用户(用户编码,用户名称,用户地址,联系电话)<br>\n订单(订单编码,订单日期,用户编码,商铺编码,产品编码,产品数量,订单总价)<br>\n不同用户角色有不同的数据需求,为此该软件企业在基本数据库关系模式的基础上,定制了许多视图。其中,有很多视图涉及到多表关联和聚集函数运算。\n<br><br>\n【问题1】(8分)<br>\n商铺用户需要实时统计本商铺的货物数量和销售情况,以便及时补货,或者为商铺调整销售策略。为此专门设计了可实时查看当天商铺中货物销售情况和存货情况的视图,商铺产品销售情况日报表(商铺编码,产品编码,日销售产品数量,库存数量,日期)。<br>\n数据库运行测试过程中,发现针对该视图查询性能比较差,不满足用户需求。<br>\n请说明数据库视图的基本概念及其优点,并说明本视图设计导致查询性能较差的原因。\n<br><br>\n【问题2】(8分)<br>\n为解决该视图查询性能比较差的问题,张工建议为该数据建立单独的商品当天货物销售、存货情况的关系表。但李工认为张工的方案造成了数据不一致的问题,必须采用一定的手段来解决。<br>\n1)说明张工方案是否能够对该视图查询性能有所提升,并解释原因:<br>\n2)解释说明李工指出的数据不一致问题产生的原因。\n<br><br>\n【问题3】(9分)<br>\n针对李工提出的问题,常见的解决手段有应用程序实现,触发器实现和物化视图实现等,请用300字以内的文字解释说明这三种方案。","analyze":"【问题1】<br>\n视图是由一个或多个表中数据组成的虚拟表,视图本身没有物理数据存在。针对视图的查询被DBMS转换为针对底层基表的数据查询。<br>\n其优点:<br>\n1) 简单性,视图不仅可以简化用户对数据的理解,也可以简化他们的操作。u2003<br>\n2) 通过视图用户只能查询和修改他们所能见到的数据,用户可以被限制在数据的不同子集上。<br>\n3) 逻辑数据独立性,视图可帮助用户屏蔽真实表结构变化带来的影响。<br>\n视图商铺产品销售情况日报表的数据来源于三个基表,针对该视图的查询被DBMS转换为针对底层基表的查询,即DBMS需要实时执行三个基表的关联操作、sum函数计算,性能开销比较大。基表中的数据越多,查询的性能开销越大。<br>\n<br>\n视图是数据库开发中经常使用的一个数据库对象,是一个虚拟表,其内容由査询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以物理存储的数据形式存在,存储的是视图定义对应的SELECT语句。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。<br>\n根据视图本身的定义和特定,其优点是:<br>\n简单性,视图不仅可以简化用户对数据的理解,也可以简化他们的操作。例如可以封装底层的多表数据查询的细节,只提供用户关心的数据等;<br>\n限制用户对数据的访问,通过视图用户只能查询和修改他们所能见到的数据,用户可以被限制在数据的不同子集上;<br>\n逻辑数据独立性,视图可帮助用户屏蔽真实表结构变化带来的影响。例如多表查询、聚合信息等。<br>\n缺点是视图对应的数据是在用户引用视图时动态生成,往往会有较大的开销,针对复杂视图的查询往往存在性能问题。尤其是设计多表关联操作时,表现更为明显。<br>\n视图商铺产品销售情况日报表的数据来源于个基表,针对该视图的查询被DBMS转换为针对底层基表的查询,即DBMS需要实时执行三个基表的关联操作、sum函数计算,性能开销比较大。基表中的数据越多,查询的性能开销越大。\n<br><br>\n【问题2】<br>\n1) 张工方案可以提升该视图查询性能。<br>\n原因是:为该査询单独设置物理表,数据来源于其他基表,可以通过索引等技术提高针对该物理表的査询效率;单独设表,数据提前算好放到表中,无须查询时的计算开销,提高性能。<br>\n2) 该方案造成了日销售产品数量和库存数量的数据存在多张表中,出现了数据冗余。存在的问题:当新增订单或产品库存数量发生变更时,必须实时同步数据,否则会造成数据不一致问题。如果采用张工的方案,必须采用某些手段来解决数据不一致的问题。<br>\n<br>\n张工的方案类似于反规范化操作。<br>\n张工方案可以提升该视图査询性能。原因是:为该查询单独设置物理表,数据来源于其他基表,可以通过索引等技术来提高针对该物理表的查询效率;单独设表,数据提前算好放到表中,无须查询时的计算开销,提高性能。<br>\n该方案的缺点也类似于反规范化操作的缺点。主要的问题是数据冗余存放,会带来数据不一致和更新异常等问题。具体到张工的方案中,日销售产品数量和库存数量的数椐存在多张表中,出现了数据冗余。存在的问题是当新增订单或产品库存数量发生变更时,必须实时同步数据,否则会造成数据不一致问题。如果采用张工的方案,必须采用某些手段来解决数据不一致的问题。\n<br><br>\n【问题3】<br>\n应用程序实现:当业务逻辑新增订单、修改产品库存时,由应用程序同步修改该视图数据,所有修改操作视为一个事务,从而保证数据一致性;<br>\n触发器实现:在产品表和订单表上增加触发器,触发条件为修改订单(包括新增、删除、修改操作)或者修改产品库存,触发器逻辑为根据触发条件修改视图数据,保证数据一致性。<br>\n物化视图实现:将该视图定义为物化视图,物化视图直接将视图数据进行物理存储,并由DBMS自动保证数据的一致性。<br>\n<br>\n常见的解决手段有批处理操作、应用程序、触发器和物化视图。<br>\n批处理操作指的是先更新交易表,当积累一定数量后,批量更新对应的销售和库存数据,使得数据一致,这种方法使得在一定时间内,数据一直处于不一致状态,基本不会被采用;应用程序方法指的是由应用程序同时更新两个数据,使得数据保持一致,但会增加应用程序的复杂性,改变了原来的业务规则;触发器方式指的是由数据库自动使用触发器来保持数据一致性,这也是数据库幵发中解决反规范化操作缺点的推奍方法,缺点是需要编写额外程序,同时会对原有的事务操作的性能造成影响。<br>\n物化视图方法则直接将视图数据进行物理存储,即将视图数据物理化,视图数据与原数据库表的数据,由DBMS自动保证数据的一致性,性能开销最小,而无须任何额外的程序或操作。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235529996750849","title":"试题四(25分)<br>\n阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件企业开发了一套新闻社交类软件,提供常见的新闻发布、用户关注、用户推荐、新闻点评、新闻推荐、热点新闻等功能,项目采用MySQL数据库来存储业务数据。系统上线后,随着用户数量的增加,数据库服务器的压力不断加大。为此,该企业设立了专门的工作组来解决此问题。<br>\n张工提出对MySQL数据库进行扩展,采用读写分离,主从复制的策略,好处是程序改动比较小,可以较快完成,后续也可以扩展到MySQL集群,其方案如图4-1所示。李工认为该系统的诸多功能,并不需要采用关系数据库,甚至关系数据库限制了功能的实现,应该采用NoSQL数据库来替代MySQL,重新构造系统的数据层。而刘工认为张工的方案过于保守,对该系统的某些功能,如关注列表、推荐列表、热搜榜单等实现困难,且性能提升不大;而李工的方案又太激进,工作量太大,短期无法完成,应尽量综合二者的优点,采用Key-Value数据库+MySQL数据库的混合方案。<br>\n<img src=\"https://image.chaiding.com/ruankao/0f83f9ba49f30d985db223a8d4424bc9.jpg?x-oss-process=style/ruankaodaren\" alt=\"\" width=\"500\" height=\"334\" title=\"\" align=\"\"><br>\n经过组内多次讨论,该企业最终决定采用刘工提出的方案。\n<br><br>\n【问题1】(8分)<br>\n张工方案中采用了读写分离,主从复制策略。其中,读写分离设置物理上不同的主/从服务器,让主服务器负责数据的(a)操作,从服务器负责数据的(b)操作,从而有效减少数据并发操作的(c),但却帯来了(d)。因此,需要采用主从复制策略保持数据的(e)。<br>\nMySQL数据库中,主从复制是通过binary log来实现主从服务器的数据同步,MySQL数据库支持的三种复制类型分别是(f)、(g)、(h)。<br>\n请将答案填入(a)~(h)处的空白,完成上述描述。\n<br><br>\n【问题2】(8分)<br>\n李工方案中给出了关系数据库与NoSQL数据的比较,如表4-1所示,以此来说明该新闻社交类软件更适合采用NoSQL数据库。请完成表4-1中的(a) ~ (d)处空白。<br>\n表4-1关系数据库与NoSQL数据库特征比较<br>\n<img alt=\"\" src=\"https://image.chaiding.com/ruankao/fe8f41ec8f3175554fd4f77398c4e108.jpg?x-oss-process=style/ruankaodaren\" width=\"546\" height=\"156\">\n<br><br>\n【问题3】(9分)<br>\n刘工提出的方案采用了Key-Value数据库+MySQL数据库的混合方案,是根据数据的读写特点将数据分别部署到不同的数据库中。但是由于部分数据可能同时存在于两个数据库中,因此存在数据同步问题。请用200字以内的文字简要说明解决该数据同步问题的三种方法。","analyze":"【问题1】<br>\n(a)写<br>\n(b)读<br>\n(c)锁争用<br>\n(d)数据冗余<br>\n(e)一致性<br>\n(f)基于语句的复制<br>\n(g)基于行的复制<br>\n(h)混合类型复制<br>\n<br>\n本题考查应用系统开发中数据存储管理设计的知识及应用。此类题目要求考生认真阅读题干中应用系统对数据管理的实际需求,采用不同类型的数据管理技术解决实际问题。<br>\n本问题考查MySQL数据库读写分离技术的基本概念,以及由数据分离带来的数据同步问题的主从复制技术的基本概念。<br>\nMySQL数据库读写分离技术主要用于提高数据查询的效率,降低写数据库操作对整体数据库服务器的性能影响。常见做法是在不同的物理机器上设置主从数据库服务器,让主服务器负责数据的写操作,从服务器负责数据的读操作,从而有效减少数据并发操作的读写冲突,从而带来锁争用问题。但采用主从数据库会使得一份数据存放到两个不同的服务器中,会带来数据冗余存放的问题,由此可能会出现数据一致性的问题。因此,在主从服务器之间,需要采用主从复制策略进行数据同步,从而保证数据的一致性。<br>\nMySQL数据库中,主从复制是通过binary log来实现主从服务器的数据同步,MySQL数据库支持的三种复制类型分别是:基于语句的复制,基于主库将SQL语句写入到binary log中完成复制;基于行的复制,基于主库将每一个行记录数据变化的信息作为事件写入到binary log完成复制;混合类型的复制,上述两种复制方式的结合,默认情况下优先使用基于语句的复制,在基于语句复制不安全的情况下会自动切换为基于行的复制。\n<br><br>\n【问题2】<br>\n(a)最终一致性<br>\n(b)非结构化数据<br>\n(c)软状态/柔性事务<br>\n(d)海量数据<br>\n<br>\n本问题考查关系数据库和NoSQL数据库的基本概念。<br>\nNoSQL泛指非关系型的数据库,也被称为Not only SQL,其共同的特点是去掉关系数据库的关系型特性。NoSQL数据库种类繁多,一般分为四类:键值数据库、列数据库、文档型数据库、图数据库。其共同特点是易扩展,大数据量、高性能,灵活的数据模型,高可用。<br>\n与关系数据库相比较,在数据一致性方面,NoSQL不要求实时一致性,只要求满足最终一致性;在数据结构上,关系数据库存储结构化数据,而NoSQL一般存储的是非结构化数据,种类繁多,类型灵活;在事务的支持上,关系数据库强调高事务性,而NoSQL对事务要求要低很多,即支持数据的软状态/柔性事务即可;关系数据库一般为集中式存储,可扩展性差,而NoSQL从出现开始就强调水平可扩展性,支持应用系统的快速扩展;在数据容量上,NoSQL支持海量数据存储管理。\n<br><br>\n【问题3】<br>\n1.实时同步方案,即查询缓存查询不到再从DB查询,保存到缓存;更新缓存时,先更新数据库,再将缓存的设置过期或更新缓存; 2.异步队列的方式同步,可采用消息中间件处理; 3.使用专门的数据同步工具,如canal,通过MySQL的日志进行同步; 4.采用UDF自定义函数的方式,对MySQL的API进行编程,利用触发器进行缓存同步。 本问题考查两种不同数据库之间的数据同步问题。 在混合方案中,数据分别存储在Key-Value数据库和MySQL数据库中。因此需要解决二者之间的数据同步问题。 常见的数据同步方式有: 1.采用自定义函数的方式,在主数据库中进行编程,利用触发器的方式进行数据同步。该方式实现简单,但对主数据库的性能影响大。 2.采用实时同步方式,在数据查询时,首先从缓存中查找,如果查询不到再从MySQL数据库中査询,并将查询结果保存到缓存;更新数据时,首先更新数据库,再将缓存中相应数据设置为过期或失效,或者更新缓存中的相应数据。 3.采用异步队列方式,比如采用消息中间件,可能会存在实时问题。 4.使用专门数据同步工具,比如目前存在的MySQL日志同步工具,如canal等。在应用中,需要根据应用系统数据存储的实际需求进行选择。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null}]}}