{"msg":"第七节 系统设计","code":200,"data":{"currentIndex":null,"examId":null,"examTime":null,"questionList":[{"id":"794932364139581441","title":"<p>下列聚合类型中内聚程度最高的是()。</p>","analyze":"<p>模块的内聚类型通常可以分为7种,根据内聚度从低到高排序分别是:偶然(巧合)内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932366056378369"],"itemList":[{"id":"794932366014435329","questionId":"794932364139581441","content":"偶然内聚","answer":0,"chooseValue":"A"},{"id":"794932366035406849","questionId":"794932364139581441","content":"时间内聚","answer":0,"chooseValue":"B"},{"id":"794932366056378369","questionId":"794932364139581441","content":"功能内聚","answer":1,"chooseValue":"C"},{"id":"794932366085738497","questionId":"794932364139581441","content":"过程内聚","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933227562225665","title":"模块A、B和C包含相同的5个语句,这些语句之间没有联系,为了避免重复,把这5个模块抽取出来组成模块D。则模块D的内聚类型为(10)内聚。","analyze":"<p>功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。</p><p>顺序内聚:处理元素相同,而且必须顺序执行。</p><p>通信内聚:所有处理元素集中在一个数据结构的区域上。</p><p>过程内聚:处理元素相关,而且必须按待定的次序执行。</p><p>瞬时内聚:所包含的任务必须在同一时间间隔内执行(如初始化模块)。</p><p>逻辑内聚:完成逻辑上相关的一组任务。</p><p>偶然内聚:完成一组没有关系或松散关系的任务。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794933229512577025"],"itemList":[{"id":"794933229462245377","questionId":"794933227562225665","content":"功能","answer":0,"chooseValue":"A"},{"id":"794933229479022593","questionId":"794933227562225665","content":"通信","answer":0,"chooseValue":"B"},{"id":"794933229495799809","questionId":"794933227562225665","content":"逻辑","answer":0,"chooseValue":"C"},{"id":"794933229512577025","questionId":"794933227562225665","content":"巧合","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933310039019521","title":"<p>对于如下所示的UML类图,正确的描述是( )。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/bd12c2910b89c7ced2ce355d796692cb.jpg?x-oss-process=style/ruankaodaren\" title=\"bd12c2910b89c7ced2ce355d796692cb.jpg\" alt=\"1.jpg\"/>","analyze":"<p>UML中,关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象之间的联系。给定一个连接两个类的关联,可以从一个类的对象导航到另一个类的对象,反之亦然。在图形上,把关联画成一条连接相同类或不同类的实线。</p><p>通过一个指示走向的单向箭头修饰关联,可以显示地描述导航的方向。题目中所示的UML类图中,导航方向为A→B,说明可以从类A的实例导航到类B的实例,因此在类A中必然包含一个对类B的实例的引用。图上“C”表示的是关联一端的角色名称。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933311926456321"],"itemList":[{"id":"794933311905484801","questionId":"794933310039019521","content":"类B的实例中包含了对类C的实例的引用","answer":0,"chooseValue":"A"},{"id":"794933311926456321","questionId":"794933310039019521","content":"类A的实例中包含了对类B的实例的引用","answer":1,"chooseValue":"B"},{"id":"794933311947427841","questionId":"794933310039019521","content":"类A的实例中包含了对类C的实例的引用","answer":0,"chooseValue":"C"},{"id":"794933311968399361","questionId":"794933310039019521","content":"类B的实例中包含了对类A的实例的引用","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933172650397697","title":"极限编程(extreme Programming)是一种轻量级软件开发方法,它是以()的规则。","analyze":"极限编程XP是敏捷开发的典型代表,是一种轻量级软件开发方法。敏捷方法和重量级方法最大的不同是,以代码驱动的规则,其重要的文档是源代码。注意,敏捷方法不是文档驱动的,通常一件给定的工作只需要很少的文档。","multi":0,"questionType":1,"answer":"D","chooseItem":["794933174596554753"],"itemList":[{"id":"794933174525251585","questionId":"794933172650397697","content":"文档驱动","answer":0,"chooseValue":"A"},{"id":"794933174554611713","questionId":"794933172650397697","content":"数据驱动","answer":0,"chooseValue":"B"},{"id":"794933174575583233","questionId":"794933172650397697","content":"模型驱动","answer":0,"chooseValue":"C"},{"id":"794933174596554753","questionId":"794933172650397697","content":"代码驱动","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933198571196417","title":"下列关于不同软件开发方法所使用的模型的描述中,正确的是()。","analyze":"<p>结构化分析方法是一种面向数据流的需求分析方法,其基本思想是自顶向下逐层分解。数据流图是进行结构化分析时所使用的模型,其基本成分包括数据流、加工、数据存储和外部实体。在进行结构化设计时,通过对数据流图进行变换分析和事务分析可以导出程序结构图。</p><p>数据库设计可以分为4个主要阶段:①用户需求分析。数据库设计人员采用一定的辅助工具对应用对象的功能、性能、限制等要求所进行的科学分析。②概念设计。概念结构设计是对信息分析和定义,如视图模型化、视图分析和汇总。对应用对象精确地抽象、概括而形成的独立于计算机系统的企业信息模型。描述概念模型的较理想的工具是E—R图。③逻辑设计。将抽象的概念模型转化为与选用的DBMS产品所支持的数据模型相符合的逻辑模型,它是物理设计的基础。包括模式初始设计、子模式设计、应用程序设计、模式评价及模式求精。④物理设计。逻辑模型在计算机中的具体实现方案。</p><p>UML是面向对象软件的标准化建模语言,其中状态图、活动图、顺序图和通信图可以用来对系统的动态行为进行建模。活动图展现了在系统内从一个活动到另一个活动的流程。活动图强调对象之间的控制流程。在活动图上可以表示分支和汇合。活动图与传统的程序流程图是不等价的。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933200496381953"],"itemList":[{"id":"794933200479604737","questionId":"794933198571196417","content":"在进行结构化分析时,必须使用数据流图和软件结构图这两种模型","answer":0,"chooseValue":"A"},{"id":"794933200496381953","questionId":"794933198571196417","content":"采用面向对象开发方法时,可以使用状态图和活动图对系统的动态行为进行建模","answer":1,"chooseValue":"B"},{"id":"794933200513159169","questionId":"794933198571196417","content":"实体联系图(E-R图)是在数据库逻辑结构设计时才开始创建的模型","answer":0,"chooseValue":"C"},{"id":"794933200525742081","questionId":"794933198571196417","content":"UML的活动图与程序流程图的表达能力等价","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933293815451649","title":"雇员类含有计算报酬的行为,利用面向对象的______,可以使得其派生类专职雇员类和兼职雇员类计算报酬的行为有相同的名称,但有不同的计算方法。","analyze":"在面向对象技术中,多态考虑的是类与类之间的层次关系,以及类自身内部特定成员函数之间的关系问题,是解决功能和行为的再抽象问题。多态是指类中具有相似功能的不同函数用同一个名称来实现,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。这也是人类思维方式的一种直接模拟,例如,一个对象中有很多求两个数最大值的行为,虽然可以针对不同的数据类型,写很多不同名称的函数来实现,但事实上,它们的功能几乎完全相同。这时,就可以利用多态的特征,用统一的标识来完成这些功能。这样,就可以达到类的行为的再抽象,进而统一标识,减少程序中标识符的个数。","multi":0,"questionType":1,"answer":"A","chooseItem":["794933296046821377"],"itemList":[{"id":"794933296046821377","questionId":"794933293815451649","content":"多态性","answer":1,"chooseValue":"A"},{"id":"794933296088764417","questionId":"794933293815451649","content":"继承性","answer":0,"chooseValue":"B"},{"id":"794933296122318849","questionId":"794933293815451649","content":"封装性","answer":0,"chooseValue":"C"},{"id":"794933296151678977","questionId":"794933293815451649","content":"复用性","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932267553148929","title":"<p>关于面向对象方法的描述,不正确的是(1)。</p>","analyze":"<p>面向对象的三大特征是封装、继承和多态。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932269407031297"],"itemList":[{"id":"794932269390254081","questionId":"794932267553148929","content":"相比于面向过程设计方法,面向对象方法更符合人类思维习惯","answer":0,"chooseValue":"A"},{"id":"794932269407031297","questionId":"794932267553148929","content":"封装性、继承性、模块性是面向对象的三大特征","answer":1,"chooseValue":"B"},{"id":"794932269423808513","questionId":"794932267553148929","content":"面向对象设计中,应把握高内聚、低耦合的原则","answer":0,"chooseValue":"C"},{"id":"794932269436391425","questionId":"794932267553148929","content":"使用面向对象方法构造的系统具有更好的复用性","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933169764716545","title":"对实际应用问题建立数学模型并求得结果后,还需要根据建模的目的和要求,利用相关知识,结合研究对象的特点,进行模型分析。模型分析工作一般不包括()。","analyze":"在对实际应用问题建立数学模型并求得结果后,还需要根据建模的目的和要求,利用相关知识,结合研究对象的特点,进行模型分析。模型分析工作主要包括模型的合理性分析、模型的误差分析和参数的灵敏性分析等,一般不包括模型的先进性分析。","multi":0,"questionType":1,"answer":"C","chooseItem":["794933171719262209"],"itemList":[{"id":"794933171668930561","questionId":"794933169764716545","content":"模型的合理性分析","answer":0,"chooseValue":"A"},{"id":"794933171694096385","questionId":"794933169764716545","content":"模型的误差分析","answer":0,"chooseValue":"B"},{"id":"794933171719262209","questionId":"794933169764716545","content":"模型的先进性分析","answer":1,"chooseValue":"C"},{"id":"794933171748622337","questionId":"794933169764716545","content":"参数的灵敏性分析","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933178472091649","title":"雇员类含有计算报酬的行为,利用面向对象的_____,可以使得其派生类专职雇员类和兼职雇员类计算报酬的行为有相同的名称,但有不同的计算方法。","analyze":"在面向对象技术中,多态考虑的是类与类之间的层次关系,以及类自身内部特定成员函数之间的关系问题,是解决功能和行为的再抽象问题。多态是指类中具有相似功能的不同函数用同一个名称来实现,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。这也是人类思维方式的一种直接模拟,例如,一个对象中有很多求两个数最大值的行为,虽然可以针对不同的数据类型,写很多不同名称的函数来实现,但事实上,它们的功能几乎完全相同。这时,就可以利用多态的特征,用统一的标识来完成这些功能。这样,就可以达到类的行为的再抽象,进而统一标识,减少程序中标识符的个数。","multi":0,"questionType":1,"answer":"A","chooseItem":["794933180334362625"],"itemList":[{"id":"794933180334362625","questionId":"794933178472091649","content":"多态性","answer":1,"chooseValue":"A"},{"id":"794933180351139841","questionId":"794933178472091649","content":"继承性","answer":0,"chooseValue":"B"},{"id":"794933180367917057","questionId":"794933178472091649","content":"封装性","answer":0,"chooseValue":"C"},{"id":"794933180384694273","questionId":"794933178472091649","content":"复用性","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932358418550785","title":"<p>()设计是系统详细设计的重要组成部分,其主要目的是确定各个系统模块的内部结构,即内部执行过程,包括局部数据组织和控制流,以及每个具体加工过程和实施细节。</p>","analyze":"<p>处理流程设计是系统详细设计的重要组成部分,它的主要目的是确定各个系统模块的内部结构,即内部执行过程,包括局部数据组织和控制流,以及每个具体加工过程和实施细节。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932360293404673"],"itemList":[{"id":"794932360276627457","questionId":"794932358418550785","content":"输入/输出设计","answer":0,"chooseValue":"A"},{"id":"794932360293404673","questionId":"794932358418550785","content":"处理流程设计","answer":1,"chooseValue":"B"},{"id":"794932360305987585","questionId":"794932358418550785","content":"概要设计","answer":0,"chooseValue":"C"},{"id":"794932360322764801","questionId":"794932358418550785","content":"系统设计","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933230447906817","title":"某模块实现两个功能:向某个数据结构区域写数据和从该区域读数据。该模块的内聚类型为(11)内聚。","analyze":"通信内聚:一个模块的所有成分都结合在同一个数据结构上。","multi":0,"questionType":1,"answer":"D","chooseItem":["794933232406646785"],"itemList":[{"id":"794933232326955009","questionId":"794933230447906817","content":"过程","answer":0,"chooseValue":"A"},{"id":"794933232352120833","questionId":"794933230447906817","content":"时间","answer":0,"chooseValue":"B"},{"id":"794933232377286657","questionId":"794933230447906817","content":"逻辑","answer":0,"chooseValue":"C"},{"id":"794933232406646785","questionId":"794933230447906817","content":"通信","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933166929367041","title":"<p>面向对象分析的任务不包含()。</p>","analyze":"<p>OOA基于用例模型,通过对象建模记录确定的对象、对象封装的数据和行为,以及对象之间的关系。OOA包括3个活动,分别是建模系统功能、发现并确定业务对象、组织对象并确定对象间的关系。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933168829386753"],"itemList":[{"id":"794933168791638017","questionId":"794933166929367041","content":"建模系统功能","answer":0,"chooseValue":"A"},{"id":"794933168808415233","questionId":"794933166929367041","content":"发现并确定业务对象","answer":0,"chooseValue":"B"},{"id":"794933168829386753","questionId":"794933166929367041","content":"建模各对象的状态","answer":1,"chooseValue":"C"},{"id":"794933168846163969","questionId":"794933166929367041","content":"组织对象并确定对象间的关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933192749502465","title":"<p>某大型移动通信运营商欲开发一个新的应用系统以替换原有系统。在需求分析阶段,为尽快从已有系统文档资料和用 户处获取整体系统需求,采用()的方法捕获需求最为合适。</p>","analyze":"<p>需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。常见的需求获取方式有用户访谈、问卷调 查、抽样和联合需求计划等。根据题干描述,应该采用抽样的方法。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933194704048129"],"itemList":[{"id":"794933194666299393","questionId":"794933192749502465","content":"用户访谈","answer":0,"chooseValue":"A"},{"id":"794933194687270913","questionId":"794933192749502465","content":"联合需求计划","answer":0,"chooseValue":"B"},{"id":"794933194704048129","questionId":"794933192749502465","content":"抽样","answer":1,"chooseValue":"C"},{"id":"794933194720825345","questionId":"794933192749502465","content":"头脑风暴","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932823466201089","title":"<p>JTAG是用来进行嵌入式处理器调试的标准化接口,下列描述中,正确的是(14)。</p>","analyze":"<p>本题考查嵌入式系统调试时候采用的JTAG方面的基础知识。</p><p>JTAG (Joint Test Action Group,联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线,有时还包含复位等信号。</p><p>JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP (Test Access Port,测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。</p><p>当JTAG上面的时钟不正常时,访问CPU内部的寄存器时可能出现异常,JTAG可以用于多种功能,包括软件调试,系统芯片检测,除了可以访问CPU内部寄存器外,还可以访问CPU总线上面的设备状态等。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794932825362026497"],"itemList":[{"id":"794932825362026497","questionId":"794932823466201089","content":"JTAG接口上一般包括模式选择、时钟、数据输入、数据输出、复位等信号","answer":1,"chooseValue":"A"},{"id":"794932825387192321","questionId":"794932823466201089","content":"当JTAG接口上面的时钟不正常时,也可以访问CPU内部的寄存器","answer":0,"chooseValue":"B"},{"id":"794932825412358145","questionId":"794932823466201089","content":"JTAG只能用于调试,而不能用于进行芯片问题的检测","answer":0,"chooseValue":"C"},{"id":"794932825433329665","questionId":"794932823466201089","content":"JTAG能够访问CPU内部的寄存器,而不能访问CPU总线上面的设备","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933446592974849","title":"在EJB技术中负责持久化的是","analyze":"EJB可以分为三种类型:会话Bean(Session Beans)、实体Bean(Entity Beans)和消息驱动Bean(Message-driven Beans)。会话Bean描述了与客户端的一个短暂的会话。当客户端的执行完成后,会话 Bean 和它的数据都将消失,又分为有状态会话Bean和无状态会话Bean;实体Bean对应数据实体,它描述了存储在数据库的表中的持久数据。如果客户端终止或者服务结束,底层的服务会负责实体Bean数据的持久性(也就是将其存储到某个地方,如数据库);消息驱动Bean结合了会话Bean和JMS的功能,支持消息的异步处理。","multi":0,"questionType":1,"answer":"C","chooseItem":["794933448593657857"],"itemList":[{"id":"794933448539131905","questionId":"794933446592974849","content":"Stateless Session Bean","answer":0,"chooseValue":"A"},{"id":"794933448564297729","questionId":"794933446592974849","content":"Stateful Session Bean","answer":0,"chooseValue":"B"},{"id":"794933448593657857","questionId":"794933446592974849","content":"Entity Bean","answer":1,"chooseValue":"C"},{"id":"794933448614629377","questionId":"794933446592974849","content":"Message Driven Bean","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932871805554689","title":"<p>关于集中式负载均衡的特点不正确的是()</p>","analyze":"<p> 与分布式负载均衡方式相比,集中式负载均衡实现简单,但也存在以下缺点:</p><p> (1)系统的可扩展性不强,均衡器需要记录所有计算机的负载信息。</p><p> (2)安全性较差,如果均衡器所在的计算机瘫痪,则会导致整个集群系统的瘫痪。</p><p> (3)实现不够灵活,负载均衡器很难根据不同脚手架的特性配置不同的均衡策略。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932873713963009"],"itemList":[{"id":"794932873663631361","questionId":"794932871805554689","content":"系统的可扩展性不强,均衡器需要记录所有计算机的负载信息。","answer":0,"chooseValue":"A"},{"id":"794932873680408577","questionId":"794932871805554689","content":"安全性较差,如果均衡器所在的计算机瘫痪,则会导致整个集群系统的瘫痪。","answer":0,"chooseValue":"B"},{"id":"794932873697185793","questionId":"794932871805554689","content":"与分布式负载均衡方式相比,实现简单。","answer":0,"chooseValue":"C"},{"id":"794932873713963009","questionId":"794932871805554689","content":"实现灵活,负载均衡器可以根据不同脚手架的特性配置不同的均衡策略。 <br/>","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933164047880193","title":"模块A、B和C包含相同的5个语句,这些语句之间没有联系,为了避免重复,把这5个模块抽取出来组成模块D。则模块D的内聚类型为()内聚。","analyze":"<p>内聚类型主要有以下几种。</p><p>功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。</p><p>顺序内聚:处理元素相同,而且必须顺序执行。</p><p>通信内聚:所有处理元素集中在一个数据结构的区域上。</p><p>过程内聚:处理元素相关,而且必须按待定的次序执行。</p><p>瞬时内聚:所包含的任务必须在同一时间间隔内执行(如初始化模块)。</p><p>逻辑内聚:完成逻辑上相关的一组任务。</p><p>偶然(巧合)内聚:完成一组没有关系或松散关系的任务。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794933165943705601"],"itemList":[{"id":"794933165901762561","questionId":"794933164047880193","content":"功能","answer":0,"chooseValue":"A"},{"id":"794933165914345473","questionId":"794933164047880193","content":"通信","answer":0,"chooseValue":"B"},{"id":"794933165931122689","questionId":"794933164047880193","content":"逻辑","answer":0,"chooseValue":"C"},{"id":"794933165943705601","questionId":"794933164047880193","content":"巧合","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933189834461185","title":"在软件需求工程中,需求管理贯穿整个过程。需求管理最基本的任务是明确需求,并使项目团队和用户达成共识,即 建立() 。","analyze":"需求是软件项目成功的核心所在,它为其他许多技术和管理活动奠定了基础。在软件需求工程中,需求管理贯穿 整个过程。需求管理最基本的任务是明确需求,并使项目团队和用户达成共识,即建立需求基线。","multi":0,"questionType":1,"answer":"D","chooseItem":["794933191835144193"],"itemList":[{"id":"794933191789006849","questionId":"794933189834461185","content":"需求跟踪说明","answer":0,"chooseValue":"A"},{"id":"794933191805784065","questionId":"794933189834461185","content":"需求变更管理文档","answer":0,"chooseValue":"B"},{"id":"794933191818366977","questionId":"794933189834461185","content":"需求分析计划","answer":0,"chooseValue":"C"},{"id":"794933191835144193","questionId":"794933189834461185","content":"需求基线","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933181294858241","title":"基于SOA和Web Serices技术的企业应用集成(EAI)模式是_____。","analyze":"<p>面向信息的集成技术采用的主要数据处理技术有数据复制、数据聚合和接口集成等。其中,接口集成仍然是一种主流技术。它通过一种集成代理的方式实现集成,即为应用系统创建适配器作为自己的代理,适配器通过其开放或私有接口将信息从应用系统中提取出来,并通过开放接口与外界系统实现信息交互,而假如适配器的结构支持一定的标准,则将极大地简化集成的复杂度,并有助于标准化,这也是面向接口集成方法的主要优势来源。标准化的适配器技术可以使企业从第三方供应商获取适配器,从而使集成技术简单化。</p><p>面向过程的集成技术其实是一种过程流集成的思想,它不需要处理用户界面开发、数据库逻辑、事务逻辑等,而只是处理系统之间的过程逻辑和核心业务逻辑相分离。在结构上,面向过程的集成方法在面向接口的集成方案之上,定义了另外的过程逻辑层;而在该结构的底层,应用服务器、消息中间件提供了支持数据传输和跨过程协调的基础服务。对于提供集成代理、消息中间件及应用服务器的厂商来说,提供用于业务过程集成是对其产品的重要拓展,也是目前应用集成市场的重要需求。</p><p>基于SOA(面向服务的架构)和Web Services技术的面向服务的集成技术是业务集成技术上的一次重要的变化,被认为是新一代的应用集成技术。集成的对象是一个个的Web服务或者是封装成Web服务的业务处理。Web Serices技术由于是基于最广为接受的、开放的技术标准(如HTTP、XML等),支持服务接口描述和服务处理的分离、服务描述的集中化存储和发布、服务的自动查找和动态绑定及服务的组合,成为新一代面向服务的应用系统的构建和应用系统集成的基础设施。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794933183207460865"],"itemList":[{"id":"794933183157129217","questionId":"794933181294858241","content":"面向信息的集成技术","answer":0,"chooseValue":"A"},{"id":"794933183173906433","questionId":"794933181294858241","content":"面向过程的集成技术","answer":0,"chooseValue":"B"},{"id":"794933183186489345","questionId":"794933181294858241","content":"面向计划的集成技术","answer":0,"chooseValue":"C"},{"id":"794933183207460865","questionId":"794933181294858241","content":"面向服务的集成技术","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932283697025025","title":"<p>建立面向对象分析模型的过程大致包括定义概念类、确定类之间的关系、为类添加职责、()等。</p>","analyze":"<p>建立分析模型的过程大致包括定义概念类、确定类之间的关系、为类添加职责、建立交互图等,其中有学者将前三个步骤统称为CRC(Class-Responsibility-Collaborator,类-责任-协作者)建模。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932285584461825"],"itemList":[{"id":"794932285567684609","questionId":"794932283697025025","content":"定义类的属性","answer":0,"chooseValue":"A"},{"id":"794932285584461825","questionId":"794932283697025025","content":"建立交互图","answer":1,"chooseValue":"B"},{"id":"794932285597044737","questionId":"794932283697025025","content":"建立活动图","answer":0,"chooseValue":"C"},{"id":"794932285613821953","questionId":"794932283697025025","content":"类的设计原则","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933215772037121","title":"需求工程帮助软件工程师更好地理解要解决的问题。下列开发过程中的活动,不属于需求工程范畴的是()。","analyze":"需求工程帮助软件工程师更好地理解他们将要解决的问题。需求工程为以下工作提供了良好的机制:理解客户需 要什么,分析要求,评估可行性,协商合理的解决方案,无歧义地详细说明方案,确认规格说明,管理需求以至将这些 需求转化为可运行的系统。需求工程并不关心采用何种设计方案解决问题。","multi":0,"questionType":1,"answer":"C","chooseItem":["794933217835634689"],"itemList":[{"id":"794933217718194177","questionId":"794933215772037121","content":"理解客户需要什么,分析要求,评估可行性","answer":0,"chooseValue":"A"},{"id":"794933217789497345","questionId":"794933215772037121","content":"与客户协商合理的解决方案,无歧义地详细说明方案","answer":0,"chooseValue":"B"},{"id":"794933217835634689","questionId":"794933215772037121","content":"向客户展现系统的初步设计方案,并得到客户的认可","answer":1,"chooseValue":"C"},{"id":"794933217877577729","questionId":"794933215772037121","content":"管理需求以至将这些需求转化为可运行的系统。","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933392754888705","title":"<p>界面是系统与用户交互的最直接的层面。Theo Mandel博士在界面设计中,提出了著名的人机交互“黄金三原则”,包括保持界面一致、减轻用户的记忆负担和( )。</p>","analyze":"人机交互“黄金三原则”包括:置于用户控制之下、减少用户的记忆负担、保持界面的一致性。","multi":0,"questionType":1,"answer":"C","chooseItem":["794933394642325505"],"itemList":[{"id":"794933394612965377","questionId":"794933392754888705","content":"遵循用户认知理解","answer":0,"chooseValue":"A"},{"id":"794933394625548289","questionId":"794933392754888705","content":"降低用户培训成本","answer":0,"chooseValue":"B"},{"id":"794933394642325505","questionId":"794933392754888705","content":"置于用户控制之下","answer":1,"chooseValue":"C"},{"id":"794933394663297025","questionId":"794933392754888705","content":"注意资源协调方式","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933384232062977","title":"<p>内聚表示模块内部各部件之间的联系程度, (56) 是系统内聚度从高到低的排序。</p>","analyze":"<p>模块的内聚度从高到低的排序为功能内聚、顺序内聚、通信内聚、过程内聚、瞬时(时间)内聚、逻辑内聚、偶然内聚。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933386094333953"],"itemList":[{"id":"794933386094333953","questionId":"794933384232062977","content":"通信内聚、过程内聚、瞬时内聚、逻辑内聚","answer":1,"chooseValue":"A"},{"id":"794933386111111169","questionId":"794933384232062977","content":"功能内聚、瞬时内聚、顺序内聚、逻辑内聚","answer":0,"chooseValue":"B"},{"id":"794933386132082689","questionId":"794933384232062977","content":"功能内聚、顺序内聚、偶然内聚、逻辑内聚","answer":0,"chooseValue":"C"},{"id":"794933386148859905","questionId":"794933384232062977","content":"功能内聚、瞬时内聚、过程内聚、逻辑内聚","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932834862125057","title":"<p>软件产品线代表了一种强劲的软件开发范例,能够有效地提高软件生产率和质量,缩短开发时间,以及降低总开发成本。软件产品线主要由()和产品集合两部分组成。</p>","analyze":"<p>软件产品线(Software Product Line)是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足特定领域的特定需求。软件产品线是一个十分适合专业开发组织的软件开发方法,能有效地提高软件生产率和质量,缩短开发时间,降低总开发成本。</p><p>软件产品线主要由两部分组成,分别是核心资源和产品集合。核心资源是领域工程的所有结果的集合,是产品线中产品构造的基础。核心资源必定包含产品线中所有产品共享的产品线架构,新设计开发的或者通过对现有系统的再工程得到的、需要在整个产品线中系统化复用的构件,与构件相关的测试计划、测试实例以及所有设计文档,需求说明书、领域模型、领域范围的定义。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932836724396033"],"itemList":[{"id":"794932836707618817","questionId":"794932834862125057","content":"构件库","answer":0,"chooseValue":"A"},{"id":"794932836724396033","questionId":"794932834862125057","content":"核心资源","answer":1,"chooseValue":"B"},{"id":"794932836736978945","questionId":"794932834862125057","content":"体系结构","answer":0,"chooseValue":"C"},{"id":"794932836757950465","questionId":"794932834862125057","content":"开发组织","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932375636168705","title":"<p>下列有关面向对象的叙述不正确的是()。</p>","analyze":"<p>选项C应该使用聚合而不是继承,继承关系耦合性太强。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932377536188417"],"itemList":[{"id":"794932377490051073","questionId":"794932375636168705","content":"面向对象设计最根本的意图是适应需求变化","answer":0,"chooseValue":"A"},{"id":"794932377511022593","questionId":"794932375636168705","content":"应尽量针对接口编程,而不要针对实现编程","answer":0,"chooseValue":"B"},{"id":"794932377536188417","questionId":"794932375636168705","content":"尽量使用继承而不是聚合,因为继承使得类间的耦合性最小","answer":1,"chooseValue":"C"},{"id":"794932377561354241","questionId":"794932375636168705","content":"尽量使用已有的类库","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932874624126977","title":"<p>()是一种静态的故障屏蔽技术,采用前向恢复的策略,设计思想是用N个具有相同功能的程序同时执行一项计算,结果通过多数表决来选择。</p>","analyze":"<p>N版本程序的设计思想是用N个具有相同功能的程序同时执行一项计算,结果通过多数表决来选择。其中N个版本的程序必须由不同的人(小组)独立设计,使用不同的方法、不同的设计语言、不同的开发环境和工具来实现,目的是减少N个版本的程序在表决点上相关错误的概率。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794932876473815041"],"itemList":[{"id":"794932876473815041","questionId":"794932874624126977","content":"N版本程序设计","answer":1,"chooseValue":"A"},{"id":"794932876490592257","questionId":"794932874624126977","content":"M模冗余","answer":0,"chooseValue":"B"},{"id":"794932876507369473","questionId":"794932874624126977","content":"恢复块方法","answer":0,"chooseValue":"C"},{"id":"794932876519952385","questionId":"794932874624126977","content":"防卫式程序设计等","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932848938209281","title":"某服务器软件系统能够正确运行并得出计算结果,但存在“系统出错后不能在要求的时间内恢复到正常状态”和“对系统进行二次开发时总要超过半年的时间”两个问题,上述问题依次与质量属性中的( )相关。","analyze":"“系统出错后不能在要求的时间内恢复到正常状态”,这是对系统错误恢复能力的描述,属于系统可用性的范畴。“对系统进行二次开发时总要超过半年的时间”,这是对系统进行调整和维护方面能力的描述,属于系统可修改性的范畴。","multi":0,"questionType":1,"answer":"D","chooseItem":["794932850834034689"],"itemList":[{"id":"794932850787897345","questionId":"794932848938209281","content":"可用性和性能","answer":0,"chooseValue":"A"},{"id":"794932850804674561","questionId":"794932848938209281","content":"性能和可修改性","answer":0,"chooseValue":"B"},{"id":"794932850817257473","questionId":"794932848938209281","content":"性能和可测试性","answer":0,"chooseValue":"C"},{"id":"794932850834034689","questionId":"794932848938209281","content":"可用性和可修改性","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933175506718721","title":"某开发组在开发某个系统时,各个阶段具有严格的界限,只有一个阶段的获得认可才能进行下一个阶段的工作,则该开发组最可能采用的软件开发方法是 ( )。","analyze":"结构化方法要求各个阶段具有严格的界限,一个阶段获得认可后才能进行下一个阶段的工作。","multi":0,"questionType":1,"answer":"B","chooseItem":["794933177440292865"],"itemList":[{"id":"794933177419321345","questionId":"794933175506718721","content":"构件化方法","answer":0,"chooseValue":"A"},{"id":"794933177440292865","questionId":"794933175506718721","content":"结构化方法","answer":1,"chooseValue":"B"},{"id":"794933177465458689","questionId":"794933175506718721","content":"面向对象方法","answer":0,"chooseValue":"C"},{"id":"794933177490624513","questionId":"794933175506718721","content":"快速原型法","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933184113430529","title":"逆向工程导出的信息分为4个抽象层次。使用用户指导下的搜索与变换(User-Directed Search and Transformation)方法可导出____信息。","analyze":"逆向工程导<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/2a9d7cc0a74667939713ea4fbe2abb08.jpg?x-oss-process=style/ruankaodaren\" title=\"2a9d7cc0a74667939713ea4fbe2abb08.jpg\" alt=\"1.jpg\"/>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933185996673025"],"itemList":[{"id":"794933185971507201","questionId":"794933184113430529","content":"实现级和功能级","answer":0,"chooseValue":"A"},{"id":"794933185996673025","questionId":"794933184113430529","content":"实现级和结构级","answer":1,"chooseValue":"B"},{"id":"794933186021838849","questionId":"794933184113430529","content":"功能级和领域级","answer":0,"chooseValue":"C"},{"id":"794933186042810369","questionId":"794933184113430529","content":"结构级和领域级","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932355608367105","title":"<p>界面是系统与用户交互的最直接的层面。Theo Mandel博士在界面设计中,提出了著名的人机交互“黄金三原则”,包括保持界面一致、减轻用户的记忆负担和( )。</p>","analyze":"<p>人机交互“黄金三原则”包括:置于用户控制之下、减少用户的记忆负担、保持界面的一致性。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932357487415297"],"itemList":[{"id":"794932357453860865","questionId":"794932355608367105","content":"遵循用户认知理解","answer":0,"chooseValue":"A"},{"id":"794932357470638081","questionId":"794932355608367105","content":"降低用户培训成本","answer":0,"chooseValue":"B"},{"id":"794932357487415297","questionId":"794932355608367105","content":"置于用户控制之下","answer":1,"chooseValue":"C"},{"id":"794932357504192513","questionId":"794932355608367105","content":"注意资源协调方式","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932854613102593","title":"某公司开发一个文档编辑器,该编辑器允许在文档中直接嵌入图形对象,但开销很大。用户在系统设计之初提出编辑器在打开文档时必须十分迅速,可以暂时不显示当前页面以外的图形。针对这种需求,公司可以采用( )避免同时创建这些图形对象。","analyze":"根据题干描述,该编辑器需要在文档中嵌入显示开销很大的图形对象,为了能够提高系统效率,需要避免同时创建这些图像。针对这些要求,对比候选项,可以发现代理模式可以解决直接访问对象时带来的问题,例如,要访问的对象在远程的机器上;对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问等。因此代理模式是最为合适的设计模式。","multi":0,"questionType":1,"answer":"A","chooseItem":["794932856466984961"],"itemList":[{"id":"794932856466984961","questionId":"794932854613102593","content":"代理模式","answer":1,"chooseValue":"A"},{"id":"794932856483762177","questionId":"794932854613102593","content":"外观模式","answer":0,"chooseValue":"B"},{"id":"794932856500539393","questionId":"794932854613102593","content":"桥接模式","answer":0,"chooseValue":"C"},{"id":"794932856513122305","questionId":"794932854613102593","content":"组合模式","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932326533451777","title":"<p>某模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一处理元素的输出就是下一处理元素的输入,则该模块的内聚类型为( )内聚。</p>","analyze":"<p>内聚程度从低到高如下表所示,纯记忆。瞬时内聚即时间内聚。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/6985176ae57564aafc474f3facce727c.png?x-oss-process=style/ruankaodaren\" title=\"6985176ae57564aafc474f3facce727c.png\" alt=\"image.png\"/><br/></p><br/>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932328433471489"],"itemList":[{"id":"794932328395722753","questionId":"794932326533451777","content":"过程","answer":0,"chooseValue":"A"},{"id":"794932328416694273","questionId":"794932326533451777","content":"时间","answer":0,"chooseValue":"B"},{"id":"794932328433471489","questionId":"794932326533451777","content":"顺序","answer":1,"chooseValue":"C"},{"id":"794932328454443009","questionId":"794932326533451777","content":"逻辑","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933409066536961","title":"<p>某模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一处理元素的输出就是下一处理元素的输入,则该模块的内聚类型为()内聚。</p>","analyze":"<p>内聚程度从低到高如下表所示,纯记忆。瞬时内聚即时间内聚。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/0830ca2b284a7c8a1fa99d372133ec57.png?x-oss-process=style/ruankaodaren\" title=\"0830ca2b284a7c8a1fa99d372133ec57.png\" alt=\"image.png\" width=\"428\" height=\"362\"/>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933411004305409"],"itemList":[{"id":"794933410949779457","questionId":"794933409066536961","content":"过程","answer":0,"chooseValue":"A"},{"id":"794933410979139585","questionId":"794933409066536961","content":"时间","answer":0,"chooseValue":"B"},{"id":"794933411004305409","questionId":"794933409066536961","content":"顺序","answer":1,"chooseValue":"C"},{"id":"794933411029471233","questionId":"794933409066536961","content":"逻辑","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932361245511681","title":"<p>以下关于软件设计原则的叙述中,不正确的是出( )。</p>","analyze":"<p>模块的规模要适当。过大的模块会使系统分解得不充分而过小的模块又有可能降低模块的独立性,造成系统接口的复杂性。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932363158114305"],"itemList":[{"id":"794932363107782657","questionId":"794932361245511681","content":"将系统划分为相对独立的模块","answer":0,"chooseValue":"A"},{"id":"794932363132948481","questionId":"794932361245511681","content":"模块之间的耦合尽可能小","answer":0,"chooseValue":"B"},{"id":"794932363158114305","questionId":"794932361245511681","content":"模块规模越小越好","answer":1,"chooseValue":"C"},{"id":"794932363179085825","questionId":"794932361245511681","content":"模块的扇入系数和扇出系数合理","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932369952886785","title":"<p>下列关于面向对象的分析与设计的描述,正确的是()。</p>","analyze":"<p>面向对象的分析描述软件要做什么,而不需要考虑技术和实现层面的细节。面向对象分析的结果是面向对象设计的输入。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932371819352065"],"itemList":[{"id":"794932371802574849","questionId":"794932369952886785","content":"面向对象设计描述软件要做什么","answer":0,"chooseValue":"A"},{"id":"794932371819352065","questionId":"794932369952886785","content":"面向对象分析不需要考虑技术和实现层面的细节","answer":1,"chooseValue":"B"},{"id":"794932371831934977","questionId":"794932369952886785","content":"面向对象分析的输入是面向对象设计的结果","answer":0,"chooseValue":"C"},{"id":"794932371848712193","questionId":"794932369952886785","content":"面向对象设计的结果是简单的分析模型","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932378593153025","title":"<p>当()时,用例是捕获系统需求最好的选择。</p>","analyze":"<p>用例图描述的是系统的用户与系统的交互,是开发者与用户交流的工具,可用来很好地定义系统的边界。所以当用户较多时候,采用用例能够较好地捕获系统需求。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932380509949953"],"itemList":[{"id":"794932380447035393","questionId":"794932378593153025","content":"系统具有很少的用户","answer":0,"chooseValue":"A"},{"id":"794932380468006913","questionId":"794932378593153025","content":"系统具有很少的接口","answer":0,"chooseValue":"B"},{"id":"794932380488978433","questionId":"794932378593153025","content":"系统算法复杂,功能单一","answer":0,"chooseValue":"C"},{"id":"794932380509949953","questionId":"794932378593153025","content":"系统有很多参与者","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933332243664897","title":"<p>下图中的程序由A、B、C、D、E五个模块组成,下表中描述了这些模块之间的接口,每一个接口有一个编号。此外,模块A、D和E都要引用一个专用数据区。那么A和E之间耦合关系是( )。</p><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/7dd0be7b50be45de3e48b8db9d9c7c66.jpg?x-oss-process=style/ruankaodaren\" title=\"7dd0be7b50be45de3e48b8db9d9c7c66.jpg\" alt=\"1.jpg\"/>","analyze":"<p>由于模块A和模块E都引用了专用数据区的内容,所以是公共耦合。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933334105935873"],"itemList":[{"id":"794933334105935873","questionId":"794933332243664897","content":"公共耦合","answer":1,"chooseValue":"A"},{"id":"794933334122713089","questionId":"794933332243664897","content":"数据耦合","answer":0,"chooseValue":"B"},{"id":"794933334139490305","questionId":"794933332243664897","content":"内容耦合","answer":0,"chooseValue":"C"},{"id":"794933334152073217","questionId":"794933332243664897","content":"无耦合","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932280446439425","title":"<p>信息系统的文档是开发人员与用户交流的工具。在系统规划和系统分析阶段,用户与系统分析人员交流所使用的文档不包括( )。</p>","analyze":"<p>用户使用手册是概要设计阶段产生的文档,除此以外,概要设计阶段产生的文档还有概要设计说明书、数据库设计说明书、修订测试计划。概要设计和详细设计属于系统设计,不属于系统规划和系统分析阶段。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932282778472449"],"itemList":[{"id":"794932282736529409","questionId":"794932280446439425","content":"可行性研究报告","answer":0,"chooseValue":"A"},{"id":"794932282753306625","questionId":"794932280446439425","content":"总体规划报告","answer":0,"chooseValue":"B"},{"id":"794932282765889537","questionId":"794932280446439425","content":"项目开发计划","answer":0,"chooseValue":"C"},{"id":"794932282778472449","questionId":"794932280446439425","content":"用户使用手册","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932877463670785","title":"<p>()设计模式能够动态地给一个对象添加一些额外的职责而无须修改此对象的结构。</p>","analyze":"<p>装饰器(Decorator)模式动态地给一个对象添加一些额外的职责,从增加功能的角度来看,装饰器模式相比生成子类更加灵活。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932879363690497"],"itemList":[{"id":"794932879317553153","questionId":"794932877463670785","content":"组合","answer":0,"chooseValue":"A"},{"id":"794932879334330369","questionId":"794932877463670785","content":"外观","answer":0,"chooseValue":"B"},{"id":"794932879346913281","questionId":"794932877463670785","content":"享元","answer":0,"chooseValue":"C"},{"id":"794932879363690497","questionId":"794932877463670785","content":"装饰器","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933186969751553","title":"对于如下所示的UML类图,正确的描述是()。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/d483750660296ee79a902d1c3e541113.jpg?x-oss-process=style/ruankaodaren\" title=\"d483750660296ee79a902d1c3e541113.jpg\" alt=\"1.jpg\"/>","analyze":"<p>UML中,关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象之间的联系。给定一个连接两个类的关联,可以从一个类的对象导航到另一个类的对象,反之亦然。在图形上,把关联画成一条连接相同类或不同类的实线。</p><p>通过一个指示走向的单向箭头修饰关联,可以显示地描述导航的方向。题目中所示的UML类图中,导航方向为A→B,说明可以从类A的实例导航到类B的实例,因此在类A中必然包含一个对类B的实例的引用。图上“C”表示的是关联一端的角色名称。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933188894937089"],"itemList":[{"id":"794933188873965569","questionId":"794933186969751553","content":"类B的实例中包含了对类C的实例的引用","answer":0,"chooseValue":"A"},{"id":"794933188894937089","questionId":"794933186969751553","content":"类A的实例中包含了对类B的实例的引用","answer":1,"chooseValue":"B"},{"id":"794933188911714305","questionId":"794933186969751553","content":"类A的实例中包含了对类C的实例的引用","answer":0,"chooseValue":"C"},{"id":"794933188928491521","questionId":"794933186969751553","content":"类B的实例中包含了对类A的实例的引用","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933195643572225","title":"() 是一种信息分析工具,能自动地找出数据仓库中的模式及关系。","analyze":"自动地找出数据仓库中的模式及关系是数据挖掘的基本概念。","multi":0,"questionType":1,"answer":"B","chooseItem":["794933197614895105"],"itemList":[{"id":"794933197585534977","questionId":"794933195643572225","content":"数据集市","answer":0,"chooseValue":"A"},{"id":"794933197614895105","questionId":"794933195643572225","content":"数据挖掘","answer":1,"chooseValue":"B"},{"id":"794933197640060929","questionId":"794933195643572225","content":"预测分析","answer":0,"chooseValue":"C"},{"id":"794933197665226753","questionId":"794933195643572225","content":"数据统计","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932367050428417","title":"<p>下列耦合类型中耦合程度最低的是()。</p>","analyze":"<p>模块的耦合类型通常分为7种,根据耦合度从低到高排序分别是:无直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794932368908505089"],"itemList":[{"id":"794932368908505089","questionId":"794932367050428417","content":"数据耦合","answer":1,"chooseValue":"A"},{"id":"794932368937865217","questionId":"794932367050428417","content":"控制耦合","answer":0,"chooseValue":"B"},{"id":"794932368967225345","questionId":"794932367050428417","content":"公共耦合","answer":0,"chooseValue":"C"},{"id":"794932368996585473","questionId":"794932367050428417","content":"内容耦合","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933299544870913","title":"在UML中,把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。","analyze":"在UML中,泳道把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。每个组被称为一个泳道,因为从视觉上,每组用一条垂直的实线把它与邻居分开。一个泳道说明一个活动轨迹。每个泳道在活动图中都有一个唯一的名称。每个泳道代表一个活动图的全部活动中部分活动的高层职责,并且每个泳道最终可以由一个或者多个类实施。在一个被划分为泳道的活动图中,每个活动都明确地属于一个泳道,而转换可以跨越泳道。","multi":0,"questionType":1,"answer":"D","chooseItem":["794933301541359617"],"itemList":[{"id":"794933301491027969","questionId":"794933299544870913","content":"组合活动","answer":0,"chooseValue":"A"},{"id":"794933301507805185","questionId":"794933299544870913","content":"同步条","answer":0,"chooseValue":"B"},{"id":"794933301524582401","questionId":"794933299544870913","content":"活动","answer":0,"chooseValue":"C"},{"id":"794933301541359617","questionId":"794933299544870913","content":"泳道","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933218796130305","title":"质量功能部署(QFD)是一种将客户要求转化成软件需求的技术。QFD的目的是最大限度地提升软件工程过程中客户 的满意度 。为了这个目标, QFD 确认了三类需求,常规需求、()和意外需求。","analyze":"质量功能部署(QFD)是一种将客户要求转化成软件技术需求的技术。QFD的目的是最大限度地让客户从软件工程 过程中感到满意。为了这个目标,QFD确认了三类需求:正常需求、期望需求和意外需求。其中期望需求指的是那些隐含 在产品或系统中,可能由于非常基础以至于用户没有显式说明的需求。","multi":0,"questionType":1,"answer":"A","chooseItem":["794933220851339265"],"itemList":[{"id":"794933220851339265","questionId":"794933218796130305","content":"期望需求","answer":1,"chooseValue":"A"},{"id":"794933220876505089","questionId":"794933218796130305","content":"基础需求","answer":0,"chooseValue":"B"},{"id":"794933220897476609","questionId":"794933218796130305","content":"显式需求","answer":0,"chooseValue":"C"},{"id":"794933220922642433","questionId":"794933218796130305","content":"功能需求","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932273903325185","title":"<p>()展现了一组对象、接口、协作和它们之间的关系。</p>","analyze":"<p>状态图用来描述一个特定的对象所有可能的状态,以及由于各种事件的发生而引起的状态之间的转移和变化。类图展现了一组对象、接口、协作和它们之间的关系。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。流程图是以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932276122112001"],"itemList":[{"id":"794932276101140481","questionId":"794932273903325185","content":"状态图","answer":0,"chooseValue":"A"},{"id":"794932276122112001","questionId":"794932273903325185","content":"类图","answer":1,"chooseValue":"B"},{"id":"794932276138889217","questionId":"794932273903325185","content":"对象图","answer":0,"chooseValue":"C"},{"id":"794932276159860737","questionId":"794932273903325185","content":"流程图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932372792430593","title":"<p>关于 UML 中的状态图和活动图的叙述中,()是错误的。</p>","analyze":"<p>选项D说的太绝对,两种图都有用。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932374726004737"],"itemList":[{"id":"794932374658895873","questionId":"794932372792430593","content":"状态图和活动图都是对系统的动态方面进行建模的图","answer":0,"chooseValue":"A"},{"id":"794932374684061697","questionId":"794932372792430593","content":"活动图是状态图的一种特殊情况,其中所有或大多数状态是活动状态","answer":0,"chooseValue":"B"},{"id":"794932374705033217","questionId":"794932372792430593","content":"状态图显示从状态到状态的控制流,活动图显示的是从活动到活动的控制流","answer":0,"chooseValue":"C"},{"id":"794932374726004737","questionId":"794932372792430593","content":"在对一个对象的生存期建模时,只能使用状态图","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932880269660161","title":"<p>()设计模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。</p>","analyze":"<p>工厂方法(Factory Method)定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使一个类的实例化延迟到其子类。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794932882169679873"],"itemList":[{"id":"794932882169679873","questionId":"794932880269660161","content":"工厂方法","answer":1,"chooseValue":"A"},{"id":"794932882186457089","questionId":"794932880269660161","content":"享元","answer":0,"chooseValue":"B"},{"id":"794932882203234305","questionId":"794932880269660161","content":"观察者","answer":0,"chooseValue":"C"},{"id":"794932882220011521","questionId":"794932880269660161","content":"中介者","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932837655531521","title":"以下关于软件中间件的叙述,错误的是( )。","analyze":"<p>中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。</p><p>软件中间件的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户开发和集成应用软件。它不仅仅要实现互连,还要实现应用之间的互操作。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932839542968321"],"itemList":[{"id":"794932839513608193","questionId":"794932837655531521","content":"中间件通过标准接口实现与应用程序的关联,提供特定功能的服务","answer":0,"chooseValue":"A"},{"id":"794932839530385409","questionId":"794932837655531521","content":"使用中间件可以提高应用软件可移植性","answer":0,"chooseValue":"B"},{"id":"794932839542968321","questionId":"794932837655531521","content":"使用中间件将增加应用软件设计的复杂度","answer":1,"chooseValue":"C"},{"id":"794932839559745537","questionId":"794932837655531521","content":"使用中间件有助于提高开发效率","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933207224045569","title":"用例(use case)用来描述系统对事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要核查用户账号是否正确。用例“创建新订单”、“更新订单”与用例“核查客户账号”之间是____关系。","analyze":"<p>用例是在系统中执行的一系列动作,这些动作将生成特定参与者可见的价值结果。它确定了一个和系统参与者进行交互,并可由系统执行的动作序列。用例模型描述的是外部执行者(Actor)所理解的系统功能。用例模型用于需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。</p><p>两个用例之间的关系主要有两种情况:一种是用于重用的包含关系,用构造型 include表示;另一种是用于分离出不同行为的扩展,用构造型extend表示。</p><p>①包含关系:当可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例的部分功能是很重要的事时,应该使用包含关系来表示它们。</p><p>②扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,可以断定将这个用例分为一个主用例和一个或多个辅用例描述可能更加清晰。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933209119870977"],"itemList":[{"id":"794933209119870977","questionId":"794933207224045569","content":"包含(include)","answer":1,"chooseValue":"A"},{"id":"794933209132453889","questionId":"794933207224045569","content":"扩展(extend)","answer":0,"chooseValue":"B"},{"id":"794933209145036801","questionId":"794933207224045569","content":"分类(classification)","answer":0,"chooseValue":"C"},{"id":"794933209161814017","questionId":"794933207224045569","content":"聚集(aggregation)","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932352793989121","title":"<p>在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为()。</p>","analyze":"<p>在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932354664648705"],"itemList":[{"id":"794932354647871489","questionId":"794932352793989121","content":"处理流程设计","answer":0,"chooseValue":"A"},{"id":"794932354664648705","questionId":"794932352793989121","content":"详细设计","answer":1,"chooseValue":"B"},{"id":"794932354681425921","questionId":"794932352793989121","content":"模块设计","answer":0,"chooseValue":"C"},{"id":"794932354698203137","questionId":"794932352793989121","content":"系统设计","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933375700848641","title":"<p>ISO9000定义业务过程(Business Process)为一组将输入转化为输出的相互关联或相互作用的活动。该过程包括6个基本要素,分别是输入资源、活动、活动的相互作用、 (53) 、用户和价值。</p>","analyze":"<p>ISO9000对过程的定义是,业务过程是一组将输入转化为输出的相互关联或相互作用的活动。过程有六个要素,分别是输入资源、活动、活动之间的相互作用、输出结果、用户和价值。</p><p>1)输入资源:运作流程所必须的资源,不仅包括传统的人、财、物,还包括信息、关系、计划等。</p><p>2)活动:流程运作的环节。</p><p>3)活动之间的相互作用:环节之间的关系,串联了整个流程。</p><p>4)输出结果:流程运作的结果。</p><p>5)用户:流程服务的对象,对外是单位服务的个人或组织,对内是流程的下一个环节。</p><p>6)价值:流程运作为客户带来的好处,可以表现为提高的效率、降低的成本等。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933377554731009"],"itemList":[{"id":"794933377554731009","questionId":"794933375700848641","content":"输出结果","answer":1,"chooseValue":"A"},{"id":"794933377571508225","questionId":"794933375700848641","content":"需求说明","answer":0,"chooseValue":"B"},{"id":"794933377588285441","questionId":"794933375700848641","content":"活动环境","answer":0,"chooseValue":"C"},{"id":"794933377605062657","questionId":"794933375700848641","content":"活动提前","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932851748392961","title":"某公司欲开发一套窗体图形界面类库。该类库需要包含若干预定义的窗格(Pane)对象,例如TextPane、ListPane等,窗格之间不允许直接引用。基于该类库的应用由一个包含一组窗格的窗口组成,并需要协调窗格之间的行为。基于该类库,在不引用窗格的前提下实现窗格之间的协作,应用开发者应采用( )最为合适。","analyze":"根据题干描述,应用系统需要使用某公司开发的类库,该应用系统由一组窗格组成,应用需要协调窗格之间的行为,并且不能引用窗格自身,在这种要求下,对比4个候选项,其中中介者模式用一个中介对象封装一系列的对象交互。中介者使用的各对象不需要显式的相互调用,从而使其耦合松散。可以看出该模式最符合需求。","multi":0,"questionType":1,"answer":"B","chooseItem":["794932853656801281"],"itemList":[{"id":"794932853627441153","questionId":"794932851748392961","content":"备忘录模式","answer":0,"chooseValue":"A"},{"id":"794932853656801281","questionId":"794932851748392961","content":"中介者模式","answer":1,"chooseValue":"B"},{"id":"794932853677772801","questionId":"794932851748392961","content":"访问者模式","answer":0,"chooseValue":"C"},{"id":"794932853707132929","questionId":"794932851748392961","content":"迭代器模式","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932277179076609","title":"<p>绘制分层数据流图 (DFD)时需要注意的问题中,不包括( )。</p>","analyze":"<p>无</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932279427223553"],"itemList":[{"id":"794932279393669121","questionId":"794932277179076609","content":"给图中的每个数据流、加工、数据存储和外部实体命名","answer":0,"chooseValue":"A"},{"id":"794932279427223553","questionId":"794932277179076609","content":"图中要表示出控制流","answer":1,"chooseValue":"B"},{"id":"794932279464972289","questionId":"794932277179076609","content":"一个加工不适合有过多的数据流","answer":0,"chooseValue":"C"},{"id":"794932279494332417","questionId":"794932277179076609","content":"分解尽可能均匀","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932883155341313","title":"<p>欲使一个后端数据模型能够被多个前端用户界面连接,采用()模式最适合。</p>","analyze":"<p>中介者(Mediator)用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。适用于:一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解;一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象;想定制一个分布在多个类中的行为,而又不想生成太多的子类。如使一个后端数据模型能够被多个前端用户界面连接,采用此模式最合适。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932885063749633"],"itemList":[{"id":"794932885017612289","questionId":"794932883155341313","content":"装饰器","answer":0,"chooseValue":"A"},{"id":"794932885030195201","questionId":"794932883155341313","content":"享元","answer":0,"chooseValue":"B"},{"id":"794932885046972417","questionId":"794932883155341313","content":"观察者","answer":0,"chooseValue":"C"},{"id":"794932885063749633","questionId":"794932883155341313","content":"中介者","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932840474103809","title":"在MVC(模型/视图/控制器)模式中,视图部分描述的是( )。","analyze":"<p>MVC模式,即模型—视图—控制(Model-View-Controller)模式,它实际上是一种架构模式,是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好地体现了数据层与表示层的分离。</p><p>MCV把应用程序分为3种对象类型。</p><p>模型:应用问题域中包含的抽象领域知识;</p><p>视图:将应用问题域中包含的抽象领域知识呈现给用户的方法:一个模型可以用于多个视图;</p><p>控制器:用户界面对用户输入的响应方式。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794932842327986177"],"itemList":[{"id":"794932842327986177","questionId":"794932840474103809","content":"将应用问题域中包含的抽象领域知识呈现给用户的方式","answer":1,"chooseValue":"A"},{"id":"794932842344763393","questionId":"794932840474103809","content":"应用问题域中所包含的抽象类","answer":0,"chooseValue":"B"},{"id":"794932842361540609","questionId":"794932840474103809","content":"用户界面对用户输入的响应方式","answer":0,"chooseValue":"C"},{"id":"794932842378317825","questionId":"794932840474103809","content":"应用问题域中包含的抽象领域知识","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933378523615233","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>工作流参考模型(Workflow Reference Model,WRM)包含 6 个基本模块,其中, (54) 是为流程实例提供运行环境,并解释执行流程实例的软件模块。 (55) 提供对流程实例的状态查询、挂起、恢复和销毁等操作,同时提供系统参数和系统运行情况统计等数据。</p>","analyze":"<p>工作流参考模型(Workflow Reference Model,WRM)包含六个基本模块,分别是工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用和管理监控工具。</p><p>(1) 工作流执行服务。工作流执行服务是WFMS的核心模块,它的功能包括创建和管理流程定义,创建、管理和执行流程实例。</p><p>(2) 工作流引擎。工作流引擎是为流程实例提供运行环境,并解释执行流程实例的软件模块,即负责流程处理的软件模块。</p><p>(3) 流程定义工具。流程定义工具是管理流程定义的工具,它可以通过图形方式把复杂的流程定义显示出来并加以操作,与工作流执行服务交互,一般该模块为设计人员提供图形化的用户界面。通过流程定义工具,设计人员可以创建新的流程或者改变现有流程。在流程定义时,可以指定各项活动的参与者的类型、活动之间的相互关系和传递规则等。</p><p>(4) 客户端应用。客户端应用是通过请求的方式与工作流执行服务交互的应用,也就是说,是客户端应用调用工作流执行服务。客户端应用与工作流执行服务交互,它是面向最终用户的界面,可以将客户端应用设计为B/S架构或C/S架构。</p><p>(5) 调用应用。调用应用是被工作流执行服务调用的应用,调用应用与工作流执行服务交互。为了协作完成一个流程实例的执行,不同的工作流执行服务之间进行交互,它通常是工作流所携带数据的处理程序,常用的是电子文档的处理程序,它们在工作流执行过程中被调用,并向最终用户展示数据。这些应用程序的信息包括名称、调用方式和参数等。例如,在OA系统中,可以调用相关的程序来直接查看Word文档或者Excel表格数据等。</p><p>(6) 管理监控工具。管理监控工具主要指组织机构和参与者等数据的维护管理和流程执行情况的监控,管理监控工具与工作流执行服务交互。WFMS通过管理监控工具提供对流程实例的状态查询、挂起、恢复和销毁等操作,同时提供系统参数和系统运行情况统计等数据。用户可以通过图形或者图表的方式对系统数据进行汇总与统计,并可随时撤销一些不合理的流程实例。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933380406857729"],"itemList":[{"id":"794933380394274817","questionId":"794933378523615233","content":"工作流执行服务","answer":0,"chooseValue":"A"},{"id":"794933380406857729","questionId":"794933378523615233","content":"工作流引擎","answer":1,"chooseValue":"B"},{"id":"794933380423634945","questionId":"794933378523615233","content":"流程定义工具","answer":0,"chooseValue":"C"},{"id":"794933380436217857","questionId":"794933378523615233","content":"调用应用","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932826351882241","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: ( )。</p><p> <img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/1f5d98c483520d18e4bb07208819da5d.png?x-oss-process=style/ruankaodaren\" title=\"1f5d98c483520d18e4bb07208819da5d.png\" alt=\"image.png\"/></p>","analyze":"<p>中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:</p><p>1、一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。</p><p>2、一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。</p><p>3、想定制一个分布在多个类中的行为,而又不想生成太多的子类。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932828289650689"],"itemList":[{"id":"794932828235124737","questionId":"794932826351882241","content":"状态(State)","answer":0,"chooseValue":"A"},{"id":"794932828251901953","questionId":"794932826351882241","content":"策略(Strategy)","answer":0,"chooseValue":"B"},{"id":"794932828272873473","questionId":"794932826351882241","content":"解释器(Interpreter)","answer":0,"chooseValue":"C"},{"id":"794932828289650689","questionId":"794932826351882241","content":"中介者(Mediator)","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932857423286273","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如下图所示。图中与Command模式中的“Invoker”角色相对应的类是( ) ,与“Concrete Command”角色相对应的类是( )。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/c65525668a1fb65cade7c45f45035d59.jpg?x-oss-process=style/ruankaodaren\" title=\"c65525668a1fb65cade7c45f45035d59.jpg\" alt=\"1.jpg\"/></p><br/>","analyze":"<p>Command(命令)模式是设计模式中行为模式的一种,它将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。Command模式也支持可撤销的操作。Command模式的类图如下所示。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/a768abee45273af63b4a83ab3b08f8c3.jpg?x-oss-process=style/ruankaodaren\" title=\"a768abee45273af63b4a83ab3b08f8c3.jpg\" alt=\"2.jpg\"/></p><p>对于题目所给出的图,与“Invoker”角色相对应的类是MenuItem,与“Concrete Command”角色相对应的类是Open。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932859285557249"],"itemList":[{"id":"794932859272974337","questionId":"794932857423286273","content":"Command","answer":0,"chooseValue":"A"},{"id":"794932859285557249","questionId":"794932857423286273","content":"MenuItem","answer":1,"chooseValue":"B"},{"id":"794932859302334465","questionId":"794932857423286273","content":"Open","answer":0,"chooseValue":"C"},{"id":"794932859319111681","questionId":"794932857423286273","content":"BulktinBoardScreen","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933210080366593","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>面向对象的设计模型包含以 ()表示的软件体系结构图,以 ()表示的用例实现图,完整精确的类图,针对复杂对象的状态图和用以描述流程化处理的活动图等。","analyze":"面向对象的设计模型包含以包图表示的软件体系结构图,以交互图表示的用例实现图,完整精确的类图,针对复杂对象的状态图和用以描述流程化处理的活动图等。","multi":0,"questionType":1,"answer":"B","chooseItem":["794933212009746433"],"itemList":[{"id":"794933211992969217","questionId":"794933210080366593","content":"部署图","answer":0,"chooseValue":"A"},{"id":"794933212009746433","questionId":"794933210080366593","content":"包图","answer":1,"chooseValue":"B"},{"id":"794933212026523649","questionId":"794933210080366593","content":"协同图","answer":0,"chooseValue":"C"},{"id":"794933212043300865","questionId":"794933210080366593","content":"交互图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933429241139201","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>工作流管理系统(Workflow Management System,WfMS)通过 (51) 创建工作流并管理其执行。它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义与参与者的相互作用,并根据需要调用其他IT工具或应用。WfMS的基本功能体现在对工作流进行建模、工作流执行和 (52 请作答此空) 。WfMS最基本的组成部分是工作流参考模型(Workflow Reference Model, WRM),其包含6个基本模块,分别是工作流执行服务、工作流引擎、 (53) 、客户端应用、调用应用和管理监控工具。</p>","analyze":"<p>工作流管理系统是一个用软件定义、管理与分析、执行工作流的系统。WfMS的基本功能体现在对工作流进行建模、工作流执行和业务过程的管理和分析。</p><p>工作流参考模型包含6个基本模块,分别是工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用和管理监控工具。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933431111798785"],"itemList":[{"id":"794933431111798785","questionId":"794933429241139201","content":"软件定义","answer":1,"chooseValue":"A"},{"id":"794933431132770305","questionId":"794933429241139201","content":"需求定义","answer":0,"chooseValue":"B"},{"id":"794933431149547521","questionId":"794933429241139201","content":"标准定义","answer":0,"chooseValue":"C"},{"id":"794933431170519041","questionId":"794933429241139201","content":"实现定义","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933387067412481","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>类封装了信息和行为,是面向对象的重要组成部分。在系统设计过程中,类可以划分为不同种类。转账通常属于 (57) ,通信协议通常属于 (58) 。</p>","analyze":"<p>类可以分为三种类型,分别是实体类、边界类和控制类。</p><p>1)实体类:存储和管理系统内部的信息,实体类通常需要放入持久存储体(数据库、文件等)。实体对象(实体类的实例)用于保存和更新事件、人员等信息。</p><p>2)控制类</p><p>控制类是用于控制用例工作的类,体现应用程序的执行逻辑。例如,转账可看成控制类,该类提供了银行账户转账关联的所有逻辑操作。</p><p>3)边界类:位于系统与外界的交接处,用于系统外部环境与系统内部的交互。常见的边界类有窗口、通信协议、打印机接口、传感器、终端等。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933388933877761"],"itemList":[{"id":"794933388933877761","questionId":"794933387067412481","content":"控制类","answer":1,"chooseValue":"A"},{"id":"794933388950654977","questionId":"794933387067412481","content":"实体类","answer":0,"chooseValue":"B"},{"id":"794933388967432193","questionId":"794933387067412481","content":"边界类","answer":0,"chooseValue":"C"},{"id":"794933388980015105","questionId":"794933387067412481","content":"接口类","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932863265951745","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>软件系统架构是关于软件系统的结构、( )和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的( )。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和( )结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。","analyze":"软件系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的交互关系。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和拓扑结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。","multi":0,"questionType":1,"answer":"A","chooseItem":["794932865149194241"],"itemList":[{"id":"794932865149194241","questionId":"794932863265951745","content":"行为","answer":1,"chooseValue":"A"},{"id":"794932865170165761","questionId":"794932863265951745","content":"组织","answer":0,"chooseValue":"B"},{"id":"794932865186942977","questionId":"794932863265951745","content":"性能","answer":0,"chooseValue":"C"},{"id":"794932865207914497","questionId":"794932863265951745","content":"功能","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933276102905857","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>在面向对象技术中,一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态性称为( )。同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为( )。编译程序根据上下文判定算子的操作意义,这称为( )。","analyze":"在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。多态有几种不同的形式。一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态称为包含多态;同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为过载多态。编译程序根据上下文判定算子的操作意义,这称为算子鉴别。","multi":0,"questionType":1,"answer":"C","chooseItem":["794933278028091393"],"itemList":[{"id":"794933277965176833","questionId":"794933276102905857","content":"参数多态","answer":0,"chooseValue":"A"},{"id":"794933277998731265","questionId":"794933276102905857","content":"过载多态","answer":0,"chooseValue":"B"},{"id":"794933278028091393","questionId":"794933276102905857","content":"包含多态","answer":1,"chooseValue":"C"},{"id":"794933278057451521","questionId":"794933276102905857","content":"隐含多态","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932885999079425","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>针对二层c/s软件结构的缺点,三层c/s架构应运而生,在三层c/s架构中,增加了一个()。三层c/s架构是将应用功能分成表示层,功能层和()三个部分,其中()是应用的用户接口部分,担负与应用逻辑间的对话功能。</p>","analyze":"<p>与二层C/S架构相比,在三层C/S架构中,增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种客户机称为瘦客户机。三层C/S架构将应用系统分成表示层、功能层和数据层三个部分。(1)表示层。表示层是系统的用户接口部分,担负着用户与系统之间的对话功能。(2)功能层。功能层也称为业务逻辑层,是将具体的业务处理逻辑编入程序中。(3)数据层。数据层相当于二层C/S架构中的服务器,负责对DBMS的管理和控制。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794932887857156097"],"itemList":[{"id":"794932887857156097","questionId":"794932885999079425","content":"应用服务器","answer":1,"chooseValue":"A"},{"id":"794932887882321921","questionId":"794932885999079425","content":"分布式数据库","answer":0,"chooseValue":"B"},{"id":"794932887903293441","questionId":"794932885999079425","content":"内容分发","answer":0,"chooseValue":"C"},{"id":"794932887928459265","questionId":"794932885999079425","content":"镜像","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933287226200065","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>在面向对象分析过程中,用概念模型来详细描述系统的问题域,用( )来表示概念模型;用( )来描述对象行为。","analyze":"<p>面向对象分析的目的是为了获得对问题域的理解,以确定系统的功能、性能要求。逻辑模型,也称为概念模型或业务模型,展示了系统是什么或者系统做什么,它们独立于任何技术实现来描述系统,说明了系统的本质。</p><p>在 UML 中,类图显示了一组类、接口、协作以及它们之间的关系,类图用于对系统静态设计视图建模。在面向对象分析过程中,用类模型表示概念模型。</p><p>序列图和协作图统称为交互图。一张交互图显示的一个交互,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。序列图是强调消息时间顺序的交互图,协作图则是强调接收和发送消息的对象的结构组织的交互图。</p><p>用例图描述了一组用例和参与者以及它们之间的关系,它对于系统行为的组织和建模特别重要。</p><p>构件图显示了一组构件以及它们之间的关系。用构件图说明系统的静态实现视图。状态图和活动图用来描述对象的行为,这两种图在语义上是等价的。状态图强调一个对象按事件次序发生的行为;活动图强调对象之间的控制流。交互图观察的是传送消息的对象,而活动图观察的是对象之间传送的操作。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933289373683713"],"itemList":[{"id":"794933289356906497","questionId":"794933287226200065","content":"序列图","answer":0,"chooseValue":"A"},{"id":"794933289373683713","questionId":"794933287226200065","content":"类图","answer":1,"chooseValue":"B"},{"id":"794933289394655233","questionId":"794933287226200065","content":"协作图","answer":0,"chooseValue":"C"},{"id":"794933289411432449","questionId":"794933287226200065","content":"用例图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932320892112897","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>耦合表示模块之间联系的程度。模块的耦合类型通常可分为7种。其中,模块间通过软件之外的环境联合属于( )。两个模块间传递的是简单的数值属于()。</p>","analyze":"<p>耦合程度从低到高如下表所示:</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/3fbd7bf3947b755e2faaa6a41ffa4d41.png?x-oss-process=style/ruankaodaren\" title=\"3fbd7bf3947b755e2faaa6a41ffa4d41.png\" alt=\"image.png\"/><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/7928bfe75e73dd2d8997a0071616e201.png?x-oss-process=style/ruankaodaren\" title=\"7928bfe75e73dd2d8997a0071616e201.png\" alt=\"image.png\"/>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932322750189569"],"itemList":[{"id":"794932322737606657","questionId":"794932320892112897","content":"内容耦合","answer":0,"chooseValue":"A"},{"id":"794932322750189569","questionId":"794932320892112897","content":"外部耦合","answer":1,"chooseValue":"B"},{"id":"794932322762772481","questionId":"794932320892112897","content":"数据耦合","answer":0,"chooseValue":"C"},{"id":"794932322775355393","questionId":"794932320892112897","content":"控制耦合","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933420521181185","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>针对二层c/s软件结构的缺点,三层c/s架构应运而生,在三层c/s架构中,增加了一个()。三层c/s架构是将应用功能分成表示层,功能层和()三个部分,其中()是应用的用户接口部分,担负与应用逻辑间的对话功能。","analyze":"与二层C/S架构相比,在三层C/S架构中,增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种客户机称为瘦客户机。三层C/S架构将应用系统分成表示层、功能层和数据层三个部分。(1)表示层。表示层是系统的用户接口部分,担负着用户与系统之间的对话功能。(2)功能层。功能层也称为业务逻辑层,是将具体的业务处理逻辑编入程序中。(3)数据层。数据层相当于二层C/S架构中的服务器,负责对DBMS的管理和控制。","multi":0,"questionType":1,"answer":"A","chooseItem":["794933422404423681"],"itemList":[{"id":"794933422404423681","questionId":"794933420521181185","content":"应用服务器","answer":1,"chooseValue":"A"},{"id":"794933422425395201","questionId":"794933420521181185","content":"分布式数据库","answer":0,"chooseValue":"B"},{"id":"794933422442172417","questionId":"794933420521181185","content":"内容分发","answer":0,"chooseValue":"C"},{"id":"794933422458949633","questionId":"794933420521181185","content":"镜像","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933395577655297","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单、买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用()关系,网店与商品之间适合采用( ) 关系。","analyze":"购物车与商品是整体与部分的关系,购物车包含了商品,但是商品可以脱离购物车独立存在,这是一种聚合关系。网店与商品之间是一种整体与部分的关系,商品是网店的一部分,如果网店不存在了,那么网店中的商品也不存在,它们之间是组合关系。","multi":0,"questionType":1,"answer":"D","chooseItem":["794933397586726913"],"itemList":[{"id":"794933397465092097","questionId":"794933395577655297","content":"泛化","answer":0,"chooseValue":"A"},{"id":"794933397511229441","questionId":"794933395577655297","content":"依赖","answer":0,"chooseValue":"B"},{"id":"794933397553172481","questionId":"794933395577655297","content":"组合","answer":0,"chooseValue":"C"},{"id":"794933397586726913","questionId":"794933395577655297","content":"聚合","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933233308422145","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>快速应用开发(Rapid Application development,RAD)通过使用基于(46)的开发方法获得快速开发。当(47)时,最适合于采用RAD方法。","analyze":"<p>快速应用开发(Rapid Application Development,RAD)是一种比传统生存周期法快得多的开发方法,它强调极短的开发周期。RAD模型是瀑布模型的一个高速变种,通过使用基于构件的开发方法获得快速开发。如果需求理解得很好,且约束了项目范围,利用这种模型可以很快地开发出功能完善的信息系统。但是RAD也具有以下局限性:</p><p>①并非所有应用都适合RAD。RAD对模块化要求比较高,如果有哪一项功能不能被模块化,那么RAD所需要的构建就会有问题;如果高性能是一个指标,且该指标必须通过调整接口使其适应系统构件才能获得,则RAD也有可能不能奏效。</p><p>②开发者和客户必须在很短的时间完成一系列的需求分析,任何一方配合不当,都会导致RAD项目失败。</p><p>③RAD只能用于管理信息系统的开发,不适合技术风险很高的情况。例如,当一个新系统要采用很多新技术,或当新系统与现有系统有较高的互操作性时,就不适合使用RAD。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794933235246190593"],"itemList":[{"id":"794933235183276033","questionId":"794933233308422145","content":"用例","answer":0,"chooseValue":"A"},{"id":"794933235204247553","questionId":"794933233308422145","content":"数据结构","answer":0,"chooseValue":"B"},{"id":"794933235225219073","questionId":"794933233308422145","content":"剧情","answer":0,"chooseValue":"C"},{"id":"794933235246190593","questionId":"794933233308422145","content":"构件","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932843305259009","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>在RUP中采用“4+1”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧重于( ),系统工程师侧重于( )。</p>","analyze":"<p>在RUP中采用“4+1”视图模型来描述软件系统的体系结构。“4+1”视图包括逻辑视图、实现视图、进程视图、部署视图和用例视图。</p><p>分析人员和测试人员关心的是系统的行为,因此会侧重于用例视图;最终用户关心的是系统的功能,因此会侧重于逻辑视图;程序员关心的是系统的配置、装配等问题,因此会侧重于实现视图;系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问题,因此会侧重于进程视图;系统工程师关心的是系统的发布、安装、拓扑结构等问题,因此会侧重于部署视图。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932845192695809"],"itemList":[{"id":"794932845163335681","questionId":"794932843305259009","content":"实现视图","answer":0,"chooseValue":"A"},{"id":"794932845175918593","questionId":"794932843305259009","content":"进程视图","answer":0,"chooseValue":"B"},{"id":"794932845192695809","questionId":"794932843305259009","content":"逻辑视图","answer":1,"chooseValue":"C"},{"id":"794932845209473025","questionId":"794932843305259009","content":"部署视图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933221832806401","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。其中与Factory Method中的“Creator”角色相对应的类是(请作答此空);与“Product”角色相对应的类是()。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/c2c10de0bc0615378e5517a701a03db4.jpg?x-oss-process=style/ruankaodaren\" title=\"c2c10de0bc0615378e5517a701a03db4.jpg\" alt=\"1.jpg\"/></p>","analyze":"<p>Factory Method模式的意图是,定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method是一个类的实例化延迟到其子类。Factory Method模式的类图如下图所示。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/7dfb805049e017ee73117e79b49dd867.jpg?x-oss-process=style/ruankaodaren\" title=\"7dfb805049e017ee73117e79b49dd867.jpg\" alt=\"1.jpg\"/></p><p>其中:</p><p>类Product定义了Factory Method所创建的对象的接口。</p><p>类ConcreteProduct用于实现Product接口。</p><p>类Creator声明了工厂方法,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。</p><p>类ConcreteCreator重定义了工厂方法,以返回一个ConcreteProduct实例。</p><p>对照两张类图可以看出,与“Creator”角色相对应的类是Bank;与“Product”角色相对应的类是Account。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933223682494465"],"itemList":[{"id":"794933223682494465","questionId":"794933221832806401","content":"Bank","answer":1,"chooseValue":"A"},{"id":"794933223699271681","questionId":"794933221832806401","content":"Account","answer":0,"chooseValue":"B"},{"id":"794933223711854593","questionId":"794933221832806401","content":"Checking","answer":0,"chooseValue":"C"},{"id":"794933223728631809","questionId":"794933221832806401","content":"Savings","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933201431711745","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如下图所示。图中与Command模式中的“Invoker”角色相对应的类是(请作答此空) ,与“Concrete Command”角色相对应的类是()。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/b454d7d9311307334b096dcdc685837f.jpg?x-oss-process=style/ruankaodaren\" title=\"b454d7d9311307334b096dcdc685837f.jpg\" alt=\"1.jpg\"/></p>","analyze":"<p>Command(命令)模式是设计模式中行为模式的一种,它将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。Command模式也支持可撤销的操作。Command模式的类图如下所示。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/77988a00de2a1a3df0eb9598b59d7715.jpg?x-oss-process=style/ruankaodaren\" title=\"77988a00de2a1a3df0eb9598b59d7715.jpg\" alt=\"2.jpg\"/></p><p>对于题目所给出的图,与“Invoker”角色相对应的类是MenuItem,与“Concrete Command”角色相对应的类是Open。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933203377868801"],"itemList":[{"id":"794933203356897281","questionId":"794933201431711745","content":"Command","answer":0,"chooseValue":"A"},{"id":"794933203377868801","questionId":"794933201431711745","content":"MenuItem","answer":1,"chooseValue":"B"},{"id":"794933203398840321","questionId":"794933201431711745","content":"Open","answer":0,"chooseValue":"C"},{"id":"794933203419811841","questionId":"794933201431711745","content":"BulktinBoardScreen","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933437805907969","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>结构化设计(Structured Design,SD)是一种面向数据流的系统设计方法,它以 (54) 等文档为基础,是一个自顶向下、逐步求精和 (55) 的过程。SD方法的基本思想是将软件设计成相对独立且具有单一功能的模块,模块应设计成 (56) 。</p>","analyze":"<p>结构化设计是一种面向数据流的设计方法。是以结构化分析的成果为基础,逐步精细并模块化的过程。</p><p>结构化设计以数据流图和数据字典等文档为基础,进行数据建模,并生成对象关系图。</p><p>结构化设计是一个自顶向下、逐步求精和模块化的过程。这个过程先将系统看成一个大模块,并可分为若干功能模块,各模块协调完成系统总体功能。然后,每个子模块又可划分为若干子模块,直至无需划分为止,并形成系统结构模型。</p><p>按照信息隐藏的原则,系统中的模块应设计成“黑盒”,模块外部只能使用模块接口说明中给出的信息,例如,操作和数据类型等。模块之间相对独立,既易于实现,也易于理解和维护。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933439668178945"],"itemList":[{"id":"794933439668178945","questionId":"794933437805907969","content":"数据流图和数据字典","answer":1,"chooseValue":"A"},{"id":"794933439684956161","questionId":"794933437805907969","content":"业务流程说明书","answer":0,"chooseValue":"B"},{"id":"794933439701733377","questionId":"794933437805907969","content":"需求说明书","answer":0,"chooseValue":"C"},{"id":"794933439714316289","questionId":"794933437805907969","content":"数据说明书","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933370013372417","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>在 (51) 中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为 (52) 。</p>","analyze":"<p>系统设计是依据系统分析的结果,设计可最大程度满足要求的新系统的过程。系统设计又可以分为概要设计和详细设计。</p><p>在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933371959529473"],"itemList":[{"id":"794933371921780737","questionId":"794933370013372417","content":"详细设计","answer":0,"chooseValue":"A"},{"id":"794933371938557953","questionId":"794933370013372417","content":"架构设计","answer":0,"chooseValue":"B"},{"id":"794933371959529473","questionId":"794933370013372417","content":"概要设计","answer":1,"chooseValue":"C"},{"id":"794933371980500993","questionId":"794933370013372417","content":"功能设计","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933302451523585","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>面向对象设计是模型驱动和用例驱动的,整个设计过程将 ( ) 作为输入,并生成 ( ) 作为输出。","analyze":"面向对象设计是模型驱动和用例驱动的,整个设计过程将面向对象分析阶段所产生的需求模型作为输入,并生成供构 建阶段使用的设计模型作为输出。","multi":0,"questionType":1,"answer":"D","chooseItem":["794933304368320513"],"itemList":[{"id":"794933304326377473","questionId":"794933302451523585","content":"逻辑数据流图","answer":0,"chooseValue":"A"},{"id":"794933304343154689","questionId":"794933302451523585","content":"设计文档和用户说明","answer":0,"chooseValue":"B"},{"id":"794933304355737601","questionId":"794933302451523585","content":"需求类图","answer":0,"chooseValue":"C"},{"id":"794933304368320513","questionId":"794933302451523585","content":"需求模型","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933401336434689","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>耦合表示模块之间联系的程度。模块的耦合类型通常可分为7种。其中,模块间通过软件之外的环境联合属于( )。两个模块间传递的是简单的数值属于()。","analyze":"耦合程度从低到高如下表所示:<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/027b84f06b76ede326d5310b73b179b4.jpg?x-oss-process=style/ruankaodaren\" title=\"027b84f06b76ede326d5310b73b179b4.jpg\" alt=\"1111.jpg\" width=\"520\" height=\"434\"/>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933403223871489"],"itemList":[{"id":"794933403207094273","questionId":"794933401336434689","content":"内容耦合","answer":0,"chooseValue":"A"},{"id":"794933403223871489","questionId":"794933401336434689","content":"外部耦合","answer":1,"chooseValue":"B"},{"id":"794933403240648705","questionId":"794933401336434689","content":"数据耦合","answer":0,"chooseValue":"C"},{"id":"794933403261620225","questionId":"794933401336434689","content":"控制耦合","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932315213025281","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>在结构化分析方法中,用(31)表示数据模型,用(32请作答此空)表示行为模型。</p>","analyze":"<p>结构化分析方法的基本思想是自顶向下,逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最低层的问题都是足够简单、容易解决的。结构化方法分析模型的核心是数据字典,围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型(也称为状态模型)。在实际工作中,一般使用E-R图表示数据模型,用DFD表示功能模型,用状态转换图表示行为模型。这三个模型有着密切的关系,它们的建立不具有严格的时序性,而是一个迭代的过程。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794932317079490561"],"itemList":[{"id":"794932317079490561","questionId":"794932315213025281","content":"ER图","answer":1,"chooseValue":"A"},{"id":"794932317108850689","questionId":"794932315213025281","content":"用例图","answer":0,"chooseValue":"B"},{"id":"794932317134016513","questionId":"794932315213025281","content":"DFD","answer":0,"chooseValue":"C"},{"id":"794932317159182337","questionId":"794932315213025281","content":"对象图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932303687077889","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p><p>需求工程包括需求开发和需求管理,(27)不属于需求开发的主要内容。需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取的结果影响很大。在多种需求获取方式中,(28)方法可以在短时间内,以低廉的代价从大量的回答中收集数据。(29)方法以统计学原理,样本拟合总体的特征。成本降低。(30)方法针对较为复杂的流程和操作更有有效。</p>","analyze":"<p>需求工程包括需求开发和需求管理。<br/></p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/b740f9bbf126bcff815863494497350f.png?x-oss-process=style/ruankaodaren\" title=\"b740f9bbf126bcff815863494497350f.png\" alt=\"image.png\"/><br/></p><p>用户访谈:用户访谈是最基本的一种需求获取手段,其形式包括结构化和非结构化两种。用户访谈是通过1对1(或1对2,1对3)的形式与用户面对面进行沟通,以获取用户需求。用户访谈具有良好的灵活性,有较宽广的应用范围。但是,也存在着许多困难。例如,用户经常较忙,难以安排时间;面谈时信息量大,记录较为困难;沟通需要很多技巧,同时需要系统分析师具有足够的领域知识等。另外,在访谈时,还可能会遇到一些对于企业来说比较机密和敏感的话题。因此,这看似简单的技术,也需要系统分析师具有丰富的经验和较强的沟通能力。</p><p>采样是指从种群中系统地选出有代表性的样本集的过程,通过认真研究所选出的样本集,可以从整体上揭示种群的有用信息。对于信息系统的开发而言,现有系统的文档(文件)就是采样种群。当开始对一个系统做需求分析时,查看现有系统的文档是对系统有初步了解的最好方法。但是,系统分析师应该查看哪些类型的文档,当文档的数据庞大,无法一一研究时,就需要使用采样技术选出有代表性的数据。</p><p>采样技术不仅可以用于收集数据,还可以用于采集访谈用户或者采集观察用户。在对人员进行采样时,上面介绍的采样技术同样适用。通过采样技术,选择部分而不是选择种群的全部,不仅加快了数据收集的过程,而且提高了效率,从而降低了开发成本。另外,采样技术使用了数理统计原理,能减少数据收集的偏差。但是,由于采样技术基于统计学原理,样本规模的确定依赖于期望的可信度和已有的先验知识,很大程度上取决于系统分析师的主观因素,对系统分析师个人的经验和能力依赖性很强,要求系统分析师具有较高的水平和丰富的经验。</p><p>联合需求计划:为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大量独立的访谈。联合需求计划(Joint Requirement Planning,JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发(Joint Application Development,JAD)的一部分。</p><p>现场观摩:针对较为复杂的流程和操作。(过程类)</p><p>收集资料:与系统相关的、对系统有益的信息收集起来。</p><p>参加业务实践:有效地发现问题本质和寻找解决问题的办法。</p><p>阅读历时文档(文件):对收集数据类信息较为有用。</p><p><br/></p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932305679372289"],"itemList":[{"id":"794932305616457729","questionId":"794932303687077889","content":"需求获取","answer":0,"chooseValue":"A"},{"id":"794932305637429249","questionId":"794932303687077889","content":"需求分析","answer":0,"chooseValue":"B"},{"id":"794932305658400769","questionId":"794932303687077889","content":"需求定义","answer":0,"chooseValue":"C"},{"id":"794932305679372289","questionId":"794932303687077889","content":"需求跟踪","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933411956412417","title":"<p><strong>请作答第<span style=\"color: red\">1</span>空。</strong></p>在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: ( )。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/684cb797cfb05a0380d6ce92fad4de0c.jpg?x-oss-process=style/ruankaodaren\" title=\"684cb797cfb05a0380d6ce92fad4de0c.jpg\" alt=\"1111.jpg\" width=\"492\" height=\"170\"/>","analyze":"<p>中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:</p><p>1、一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。</p><p>2、一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。</p><p>3、想定制一个分布在多个类中的行为,而又不想生成太多的子类。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794933413931929601"],"itemList":[{"id":"794933413881597953","questionId":"794933411956412417","content":"状态(State)","answer":0,"chooseValue":"A"},{"id":"794933413898375169","questionId":"794933411956412417","content":"策略(Strategy)","answer":0,"chooseValue":"B"},{"id":"794933413919346689","questionId":"794933411956412417","content":"解释器(Interpreter)","answer":0,"chooseValue":"C"},{"id":"794933413931929601","questionId":"794933411956412417","content":"中介者(Mediator)","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932846115442689","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>在RUP中采用“4+1”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧重于( ),系统工程师侧重于( )。</p>","analyze":"<p>在RUP中采用“4+1”视图模型来描述软件系统的体系结构。“4+1”视图包括逻辑视图、实现视图、进程视图、部署视图和用例视图。</p><p>分析人员和测试人员关心的是系统的行为,因此会侧重于用例视图;最终用户关心的是系统的功能,因此会侧重于逻辑视图;程序员关心的是系统的配置、装配等问题,因此会侧重于实现视图;系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问题,因此会侧重于进程视图;系统工程师关心的是系统的发布、安装、拓扑结构等问题,因此会侧重于部署视图。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932848028045313"],"itemList":[{"id":"794932847969325057","questionId":"794932846115442689","content":"进程视图","answer":0,"chooseValue":"A"},{"id":"794932847990296577","questionId":"794932846115442689","content":"实现视图","answer":0,"chooseValue":"B"},{"id":"794932848011268097","questionId":"794932846115442689","content":"逻辑视图","answer":0,"chooseValue":"C"},{"id":"794932848028045313","questionId":"794932846115442689","content":"部署视图","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932323689713665","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>耦合表示模块之间联系的程度。模块的耦合类型通常可分为7种。其中,模块间通过软件之外的环境联合属于( )。两个模块间传递的是简单的数值属于()。</p>","analyze":"<p>耦合程度从低到高如下表所示:</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/3fbd7bf3947b755e2faaa6a41ffa4d41.png?x-oss-process=style/ruankaodaren\" title=\"3fbd7bf3947b755e2faaa6a41ffa4d41.png\" alt=\"image.png\"/><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/7928bfe75e73dd2d8997a0071616e201.png?x-oss-process=style/ruankaodaren\" title=\"7928bfe75e73dd2d8997a0071616e201.png\" alt=\"image.png\"/>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932325585539073"],"itemList":[{"id":"794932325556178945","questionId":"794932323689713665","content":"内容耦合","answer":0,"chooseValue":"A"},{"id":"794932325568761857","questionId":"794932323689713665","content":"外部耦合","answer":0,"chooseValue":"B"},{"id":"794932325585539073","questionId":"794932323689713665","content":"数据耦合","answer":1,"chooseValue":"C"},{"id":"794932325598121985","questionId":"794932323689713665","content":"控制耦合","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933204359335937","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如下图所示。图中与Command模式中的“Invoker”角色相对应的类是(请作答此空) ,与“Concrete Command”角色相对应的类是()。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/b454d7d9311307334b096dcdc685837f.jpg?x-oss-process=style/ruankaodaren\" title=\"b454d7d9311307334b096dcdc685837f.jpg\" alt=\"1.jpg\"/></p>","analyze":"<p>Command(命令)模式是设计模式中行为模式的一种,它将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。Command模式也支持可撤销的操作。Command模式的类图如下所示。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/77988a00de2a1a3df0eb9598b59d7715.jpg?x-oss-process=style/ruankaodaren\" title=\"77988a00de2a1a3df0eb9598b59d7715.jpg\" alt=\"2.jpg\"/></p><p>对于题目所给出的图,与“Invoker”角色相对应的类是MenuItem,与“Concrete Command”角色相对应的类是Open。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933206288715777"],"itemList":[{"id":"794933206250967041","questionId":"794933204359335937","content":"Command","answer":0,"chooseValue":"A"},{"id":"794933206267744257","questionId":"794933204359335937","content":"MenuItem","answer":0,"chooseValue":"B"},{"id":"794933206288715777","questionId":"794933204359335937","content":"Open","answer":1,"chooseValue":"C"},{"id":"794933206305492993","questionId":"794933204359335937","content":"BulktinBoardScreen","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933372886470657","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>在 (51) 中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为 (52) 。</p>","analyze":"<p>系统设计是依据系统分析的结果,设计可最大程度满足要求的新系统的过程。系统设计又可以分为概要设计和详细设计。</p><p>在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933374736158721"],"itemList":[{"id":"794933374736158721","questionId":"794933372886470657","content":"详细设计","answer":1,"chooseValue":"A"},{"id":"794933374757130241","questionId":"794933372886470657","content":"概要设计","answer":0,"chooseValue":"B"},{"id":"794933374773907457","questionId":"794933372886470657","content":"架构设计","answer":0,"chooseValue":"C"},{"id":"794933374786490369","questionId":"794933372886470657","content":"功能设计","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932866113884161","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>软件系统架构是关于软件系统的结构、( )和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的( )。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和( )结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。","analyze":"软件系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的交互关系。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和拓扑结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。","multi":0,"questionType":1,"answer":"A","chooseItem":["794932867959377921"],"itemList":[{"id":"794932867959377921","questionId":"794932866113884161","content":"交互关系","answer":1,"chooseValue":"A"},{"id":"794932867976155137","questionId":"794932866113884161","content":"实现关系","answer":0,"chooseValue":"B"},{"id":"794932867997126657","questionId":"794932866113884161","content":"数据依赖","answer":0,"chooseValue":"C"},{"id":"794932868013903873","questionId":"794932866113884161","content":"功能依赖","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932318073540609","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>在结构化分析方法中,用(31)表示数据模型,用(32请作答此空)表示行为模型。</p>","analyze":"<p>结构化分析方法的基本思想是自顶向下,逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最低层的问题都是足够简单、容易解决的。结构化方法分析模型的核心是数据字典,围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型(也称为状态模型)。在实际工作中,一般使用E-R图表示数据模型,用DFD表示功能模型,用状态转换图表示行为模型。这三个模型有着密切的关系,它们的建立不具有严格的时序性,而是一个迭代的过程。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932319977754625"],"itemList":[{"id":"794932319927422977","questionId":"794932318073540609","content":"通信图","answer":0,"chooseValue":"A"},{"id":"794932319944200193","questionId":"794932318073540609","content":"顺序图","answer":0,"chooseValue":"B"},{"id":"794932319960977409","questionId":"794932318073540609","content":"活动图","answer":0,"chooseValue":"C"},{"id":"794932319977754625","questionId":"794932318073540609","content":"状态转换图","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933224647184385","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。其中与Factory Method中的“Creator”角色相对应的类是(请作答此空);与“Product”角色相对应的类是()。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/c2c10de0bc0615378e5517a701a03db4.jpg?x-oss-process=style/ruankaodaren\" title=\"c2c10de0bc0615378e5517a701a03db4.jpg\" alt=\"1.jpg\"/></p>","analyze":"<p>Factory Method模式的意图是,定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method是一个类的实例化延迟到其子类。Factory Method模式的类图如下图所示。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/97f3459ef8316f63e0ff83d59830ed1b.jpg?x-oss-process=style/ruankaodaren\" title=\"97f3459ef8316f63e0ff83d59830ed1b.jpg\" alt=\"1.jpg\"/></p><p>其中:</p><p>类Product定义了Factory Method所创建的对象的接口。</p><p>类ConcreteProduct用于实现Product接口。</p><p>类Creator声明了工厂方法,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。</p><p>类ConcreteCreator重定义了工厂方法,以返回一个ConcreteProduct实例。</p><p>对照两张类图可以看出,与“Creator”角色相对应的类是Bank;与“Product”角色相对应的类是Account。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933226543009793"],"itemList":[{"id":"794933226526232577","questionId":"794933224647184385","content":"Bank","answer":0,"chooseValue":"A"},{"id":"794933226543009793","questionId":"794933224647184385","content":"Account","answer":1,"chooseValue":"B"},{"id":"794933226559787009","questionId":"794933224647184385","content":"Checking","answer":0,"chooseValue":"C"},{"id":"794933226576564225","questionId":"794933224647184385","content":"Savings","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933423423639553","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>针对二层c/s软件结构的缺点,三层c/s架构应运而生,在三层c/s架构中,增加了一个()。三层c/s架构是将应用功能分成表示层,功能层和()三个部分,其中()是应用的用户接口部分,担负与应用逻辑间的对话功能。","analyze":"与二层C/S架构相比,在三层C/S架构中,增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种客户机称为瘦客户机。三层C/S架构将应用系统分成表示层、功能层和数据层三个部分。(1)表示层。表示层是系统的用户接口部分,担负着用户与系统之间的对话功能。(2)功能层。功能层也称为业务逻辑层,是将具体的业务处理逻辑编入程序中。(3)数据层。数据层相当于二层C/S架构中的服务器,负责对DBMS的管理和控制。","multi":0,"questionType":1,"answer":"B","chooseItem":["794933425290104833"],"itemList":[{"id":"794933425273327617","questionId":"794933423423639553","content":"硬件层","answer":0,"chooseValue":"A"},{"id":"794933425290104833","questionId":"794933423423639553","content":"数据层","answer":1,"chooseValue":"B"},{"id":"794933425306882049","questionId":"794933423423639553","content":"设备层","answer":0,"chooseValue":"C"},{"id":"794933425319464961","questionId":"794933423423639553","content":"通信层","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933414850482177","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: ( )。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/684cb797cfb05a0380d6ce92fad4de0c.jpg?x-oss-process=style/ruankaodaren\" title=\"684cb797cfb05a0380d6ce92fad4de0c.jpg\" alt=\"1111.jpg\" width=\"492\" height=\"170\"/>","analyze":"<p>中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:</p><p>1、一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。</p><p>2、一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。</p><p>3、想定制一个分布在多个类中的行为,而又不想生成太多的子类。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933416746307585"],"itemList":[{"id":"794933416708558849","questionId":"794933414850482177","content":"创建型类","answer":0,"chooseValue":"A"},{"id":"794933416729530369","questionId":"794933414850482177","content":"创建型对象","answer":0,"chooseValue":"B"},{"id":"794933416746307585","questionId":"794933414850482177","content":"行为型对象","answer":1,"chooseValue":"C"},{"id":"794933416767279105","questionId":"794933414850482177","content":"行为型类","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932888838623233","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>针对二层c/s软件结构的缺点,三层c/s架构应运而生,在三层c/s架构中,增加了一个()。三层c/s架构是将应用功能分成表示层,功能层和()三个部分,其中()是应用的用户接口部分,担负与应用逻辑间的对话功能。</p>","analyze":"<p>与二层C/S架构相比,在三层C/S架构中,增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种客户机称为瘦客户机。三层C/S架构将应用系统分成表示层、功能层和数据层三个部分。(1)表示层。表示层是系统的用户接口部分,担负着用户与系统之间的对话功能。(2)功能层。功能层也称为业务逻辑层,是将具体的业务处理逻辑编入程序中。(3)数据层。数据层相当于二层C/S架构中的服务器,负责对DBMS的管理和控制。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932890696699905"],"itemList":[{"id":"794932890684116993","questionId":"794932888838623233","content":"硬件层","answer":0,"chooseValue":"A"},{"id":"794932890696699905","questionId":"794932888838623233","content":"数据层","answer":1,"chooseValue":"B"},{"id":"794932890713477121","questionId":"794932888838623233","content":"设备层","answer":0,"chooseValue":"C"},{"id":"794932890730254337","questionId":"794932888838623233","content":"通信层","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932829212397569","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: ( )。</p><p> <img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/1f5d98c483520d18e4bb07208819da5d.png?x-oss-process=style/ruankaodaren\" title=\"1f5d98c483520d18e4bb07208819da5d.png\" alt=\"image.png\"/></p>","analyze":"<p>中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:</p><p>1、一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。</p><p>2、一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。</p><p>3、想定制一个分布在多个类中的行为,而又不想生成太多的子类。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932831116611585"],"itemList":[{"id":"794932831078862849","questionId":"794932829212397569","content":"创建型类","answer":0,"chooseValue":"A"},{"id":"794932831099834369","questionId":"794932829212397569","content":"创建型对象","answer":0,"chooseValue":"B"},{"id":"794932831116611585","questionId":"794932829212397569","content":"行为型对象","answer":1,"chooseValue":"C"},{"id":"794932831137583105","questionId":"794932829212397569","content":"行为型类","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933406214410241","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>耦合表示模块之间联系的程度。模块的耦合类型通常可分为7种。其中,模块间通过软件之外的环境联合属于( )。两个模块间传递的是简单的数值属于()。","analyze":"耦合程度从低到高如下表所示:<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/027b84f06b76ede326d5310b73b179b4.jpg?x-oss-process=style/ruankaodaren\" title=\"027b84f06b76ede326d5310b73b179b4.jpg\" alt=\"1111.jpg\" width=\"520\" height=\"434\"/>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933408106041345"],"itemList":[{"id":"794933408076681217","questionId":"794933406214410241","content":"外部耦合","answer":0,"chooseValue":"A"},{"id":"794933408093458433","questionId":"794933406214410241","content":"内容耦合","answer":0,"chooseValue":"B"},{"id":"794933408106041345","questionId":"794933406214410241","content":"数据耦合","answer":1,"chooseValue":"C"},{"id":"794933408122818561","questionId":"794933406214410241","content":"控制耦合","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933440741920769","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>结构化设计(Structured Design,SD)是一种面向数据流的系统设计方法,它以 (54) 等文档为基础,是一个自顶向下、逐步求精和 (55) 的过程。SD方法的基本思想是将软件设计成相对独立且具有单一功能的模块,模块应设计成 (56) 。</p>","analyze":"<p>结构化设计是一种面向数据流的设计方法。是以结构化分析的成果为基础,逐步精细并模块化的过程。</p><p>结构化设计以数据流图和数据字典等文档为基础,进行数据建模,并生成对象关系图。</p><p>结构化设计是一个自顶向下、逐步求精和模块化的过程。这个过程先将系统看成一个大模块,并可分为若干功能模块,各模块协调完成系统总体功能。然后,每个子模块又可划分为若干子模块,直至无需划分为止,并形成系统结构模型。</p><p>按照信息隐藏的原则,系统中的模块应设计成“黑盒”,模块外部只能使用模块接口说明中给出的信息,例如,操作和数据类型等。模块之间相对独立,既易于实现,也易于理解和维护。</p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794933442662912001"],"itemList":[{"id":"794933442646134785","questionId":"794933440741920769","content":"自底向上","answer":0,"chooseValue":"A"},{"id":"794933442662912001","questionId":"794933440741920769","content":"模块化","answer":1,"chooseValue":"B"},{"id":"794933442675494913","questionId":"794933440741920769","content":"原型化","answer":0,"chooseValue":"C"},{"id":"794933442692272129","questionId":"794933440741920769","content":"层次化","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933389890179073","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>类封装了信息和行为,是面向对象的重要组成部分。在系统设计过程中,类可以划分为不同种类。转账通常属于 (57) ,通信协议通常属于 (58) 。</p>","analyze":"<p>类可以分为三种类型,分别是实体类、边界类和控制类。</p><p>1)实体类:存储和管理系统内部的信息,实体类通常需要放入持久存储体(数据库、文件等)。实体对象(实体类的实例)用于保存和更新事件、人员等信息。</p><p>2)控制类</p><p>控制类是用于控制用例工作的类,体现应用程序的执行逻辑。例如,转账可看成控制类,该类提供了银行账户转账关联的所有逻辑操作。</p><p>3)边界类:位于系统与外界的交接处,用于系统外部环境与系统内部的交互。常见的边界类有窗口、通信协议、打印机接口、传感器、终端等。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933391811170305"],"itemList":[{"id":"794933391773421569","questionId":"794933389890179073","content":"实体类","answer":0,"chooseValue":"A"},{"id":"794933391794393089","questionId":"794933389890179073","content":"控制类","answer":0,"chooseValue":"B"},{"id":"794933391811170305","questionId":"794933389890179073","content":"边界类","answer":1,"chooseValue":"C"},{"id":"794933391832141825","questionId":"794933389890179073","content":"接口类","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933381367353345","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>工作流参考模型(Workflow Reference Model,WRM)包含 6 个基本模块,其中, (54) 是为流程实例提供运行环境,并解释执行流程实例的软件模块。 (55) 提供对流程实例的状态查询、挂起、恢复和销毁等操作,同时提供系统参数和系统运行情况统计等数据。</p>","analyze":"<p>工作流参考模型(Workflow Reference Model,WRM)包含六个基本模块,分别是工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用和管理监控工具。</p><p>(1) 工作流执行服务。工作流执行服务是WFMS的核心模块,它的功能包括创建和管理流程定义,创建、管理和执行流程实例。</p><p>(2) 工作流引擎。工作流引擎是为流程实例提供运行环境,并解释执行流程实例的软件模块,即负责流程处理的软件模块。</p><p>(3) 流程定义工具。流程定义工具是管理流程定义的工具,它可以通过图形方式把复杂的流程定义显示出来并加以操作,与工作流执行服务交互,一般该模块为设计人员提供图形化的用户界面。通过流程定义工具,设计人员可以创建新的流程或者改变现有流程。在流程定义时,可以指定各项活动的参与者的类型、活动之间的相互关系和传递规则等。</p><p>(4) 客户端应用。客户端应用是通过请求的方式与工作流执行服务交互的应用,也就是说,是客户端应用调用工作流执行服务。客户端应用与工作流执行服务交互,它是面向最终用户的界面,可以将客户端应用设计为B/S架构或C/S架构。</p><p>(5) 调用应用。调用应用是被工作流执行服务调用的应用,调用应用与工作流执行服务交互。为了协作完成一个流程实例的执行,不同的工作流执行服务之间进行交互,它通常是工作流所携带数据的处理程序,常用的是电子文档的处理程序,它们在工作流执行过程中被调用,并向最终用户展示数据。这些应用程序的信息包括名称、调用方式和参数等。例如,在OA系统中,可以调用相关的程序来直接查看Word文档或者Excel表格数据等。</p><p>(6) 管理监控工具。管理监控工具主要指组织机构和参与者等数据的维护管理和流程执行情况的监控,管理监控工具与工作流执行服务交互。WFMS通过管理监控工具提供对流程实例的状态查询、挂起、恢复和销毁等操作,同时提供系统参数和系统运行情况统计等数据。用户可以通过图形或者图表的方式对系统数据进行汇总与统计,并可随时撤销一些不合理的流程实例。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794933383317704705"],"itemList":[{"id":"794933383258984449","questionId":"794933381367353345","content":"客户端应用","answer":0,"chooseValue":"A"},{"id":"794933383279955969","questionId":"794933381367353345","content":"工作流引擎","answer":0,"chooseValue":"B"},{"id":"794933383296733185","questionId":"794933381367353345","content":"流程定义工具","answer":0,"chooseValue":"C"},{"id":"794933383317704705","questionId":"794933381367353345","content":"管理监控工具","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933278980198401","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>在面向对象技术中,一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态性称为( )。同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为( )。编译程序根据上下文判定算子的操作意义,这称为( )。","analyze":"在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。多态有几种不同的形式。一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态称为包含多态;同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为过载多态。编译程序根据上下文判定算子的操作意义,这称为算子鉴别。","multi":0,"questionType":1,"answer":"B","chooseItem":["794933280867635201"],"itemList":[{"id":"794933280846663681","questionId":"794933278980198401","content":"参数多态","answer":0,"chooseValue":"A"},{"id":"794933280867635201","questionId":"794933278980198401","content":"过载多态","answer":1,"chooseValue":"B"},{"id":"794933280896995329","questionId":"794933278980198401","content":"隐含多态","answer":0,"chooseValue":"C"},{"id":"794933280917966849","questionId":"794933278980198401","content":"包含多态","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933236164743169","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>快速应用开发(Rapid Application development,RAD)通过使用基于(46)的开发方法获得快速开发。当(47)时,最适合于采用RAD方法。","analyze":"<p>快速应用开发(Rapid Application Development,RAD)是一种比传统生存周期法快得多的开发方法,它强调极短的开发周期。RAD模型是瀑布模型的一个高速变种,通过使用基于构件的开发方法获得快速开发。如果需求理解得很好,且约束了项目范围,利用这种模型可以很快地开发出功能完善的信息系统。但是RAD也具有以下局限性:</p><p>①并非所有应用都适合RAD。RAD对模块化要求比较高,如果有哪一项功能不能被模块化,那么RAD所需要的构建就会有问题;如果高性能是一个指标,且该指标必须通过调整接口使其适应系统构件才能获得,则RAD也有可能不能奏效。</p><p>②开发者和客户必须在很短的时间完成一系列的需求分析,任何一方配合不当,都会导致RAD项目失败。</p><p>③RAD只能用于管理信息系统的开发,不适合技术风险很高的情况。例如,当一个新系统要采用很多新技术,或当新系统与现有系统有较高的互操作性时,就不适合使用RAD。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933238165426177"],"itemList":[{"id":"794933238077345793","questionId":"794933236164743169","content":"一个新系统要采用很多新技术","answer":0,"chooseValue":"A"},{"id":"794933238123483137","questionId":"794933236164743169","content":"新系统与现有系统有较高的互操作性","answer":0,"chooseValue":"B"},{"id":"794933238165426177","questionId":"794933236164743169","content":"系统模块化程度较高","answer":1,"chooseValue":"C"},{"id":"794933238203174913","questionId":"794933236164743169","content":"用户不能很好地参与到需求分析中","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933305286873089","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>面向对象设计是模型驱动和用例驱动的,整个设计过程将 ( ) 作为输入,并生成 ( ) 作为输出。","analyze":"面向对象设计是模型驱动和用例驱动的,整个设计过程将面向对象分析阶段所产生的需求模型作为输入,并生成供构 建阶段使用的设计模型作为输出。","multi":0,"questionType":1,"answer":"D","chooseItem":["794933307195281409"],"itemList":[{"id":"794933307153338369","questionId":"794933305286873089","content":"物理数据流图","answer":0,"chooseValue":"A"},{"id":"794933307165921281","questionId":"794933305286873089","content":"设计文档和用户说明","answer":0,"chooseValue":"B"},{"id":"794933307178504193","questionId":"794933305286873089","content":"设计类图和系统顺序图","answer":0,"chooseValue":"C"},{"id":"794933307195281409","questionId":"794933305286873089","content":"设计模型","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932860321550337","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如下图所示。图中与Command模式中的“Invoker”角色相对应的类是( ) ,与“Concrete Command”角色相对应的类是( )。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/c65525668a1fb65cade7c45f45035d59.jpg?x-oss-process=style/ruankaodaren\" title=\"c65525668a1fb65cade7c45f45035d59.jpg\" alt=\"1.jpg\"/></p><br/>","analyze":"<p>Command(命令)模式是设计模式中行为模式的一种,它将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。Command模式也支持可撤销的操作。Command模式的类图如下所示。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/a768abee45273af63b4a83ab3b08f8c3.jpg?x-oss-process=style/ruankaodaren\" title=\"a768abee45273af63b4a83ab3b08f8c3.jpg\" alt=\"2.jpg\"/></p><p>对于题目所给出的图,与“Invoker”角色相对应的类是MenuItem,与“Concrete Command”角色相对应的类是Open。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794932862334816257"],"itemList":[{"id":"794932862292873217","questionId":"794932860321550337","content":"MenuItem","answer":0,"chooseValue":"A"},{"id":"794932862313844737","questionId":"794932860321550337","content":"Command","answer":0,"chooseValue":"B"},{"id":"794932862334816257","questionId":"794932860321550337","content":"Open","answer":1,"chooseValue":"C"},{"id":"794932862355787777","questionId":"794932860321550337","content":"BulktinBoardScreen","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932306589536257","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>需求工程包括需求开发和需求管理,(27)不属于需求开发的主要内容。需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取的结果影响很大。在多种需求获取方式中,(28)方法可以在短时间内,以低廉的代价从大量的回答中收集数据。(29)方法以统计学原理,样本拟合总体的特征。成本降低。(30)方法针对较为复杂的流程和操作更有有效。</p>","analyze":"<p>需求工程包括需求开发和需求管理。<br/></p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/b740f9bbf126bcff815863494497350f.png?x-oss-process=style/ruankaodaren\" title=\"b740f9bbf126bcff815863494497350f.png\" alt=\"image.png\"/><br/></p><p>用户访谈:用户访谈是最基本的一种需求获取手段,其形式包括结构化和非结构化两种。用户访谈是通过1对1(或1对2,1对3)的形式与用户面对面进行沟通,以获取用户需求。用户访谈具有良好的灵活性,有较宽广的应用范围。但是,也存在着许多困难。例如,用户经常较忙,难以安排时间;面谈时信息量大,记录较为困难;沟通需要很多技巧,同时需要系统分析师具有足够的领域知识等。另外,在访谈时,还可能会遇到一些对于企业来说比较机密和敏感的话题。因此,这看似简单的技术,也需要系统分析师具有丰富的经验和较强的沟通能力。</p><p>采样是指从种群中系统地选出有代表性的样本集的过程,通过认真研究所选出的样本集,可以从整体上揭示种群的有用信息。对于信息系统的开发而言,现有系统的文档(文件)就是采样种群。当开始对一个系统做需求分析时,查看现有系统的文档是对系统有初步了解的最好方法。但是,系统分析师应该查看哪些类型的文档,当文档的数据庞大,无法一一研究时,就需要使用采样技术选出有代表性的数据。</p><p>采样技术不仅可以用于收集数据,还可以用于采集访谈用户或者采集观察用户。在对人员进行采样时,上面介绍的采样技术同样适用。通过采样技术,选择部分而不是选择种群的全部,不仅加快了数据收集的过程,而且提高了效率,从而降低了开发成本。另外,采样技术使用了数理统计原理,能减少数据收集的偏差。但是,由于采样技术基于统计学原理,样本规模的确定依赖于期望的可信度和已有的先验知识,很大程度上取决于系统分析师的主观因素,对系统分析师个人的经验和能力依赖性很强,要求系统分析师具有较高的水平和丰富的经验。</p><p>联合需求计划:为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大量独立的访谈。联合需求计划(Joint Requirement Planning,JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发(Joint Application Development,JAD)的一部分。</p><p>现场观摩:针对较为复杂的流程和操作。(过程类)</p><p>收集资料:与系统相关的、对系统有益的信息收集起来。</p><p>参加业务实践:有效地发现问题本质和寻找解决问题的办法。</p><p>阅读历时文档(文件):对收集数据类信息较为有用。</p><p><br/></p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932308552470529"],"itemList":[{"id":"794932308527304705","questionId":"794932306589536257","content":"用户访谈","answer":0,"chooseValue":"A"},{"id":"794932308552470529","questionId":"794932306589536257","content":"问卷调查","answer":1,"chooseValue":"B"},{"id":"794932308577636353","questionId":"794932306589536257","content":"联合需求计划","answer":0,"chooseValue":"C"},{"id":"794932308602802177","questionId":"794932306589536257","content":"采样","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933212961853441","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>面向对象的设计模型包含以 ()表示的软件体系结构图,以 ()表示的用例实现图,完整精确的类图,针对复杂对象的状态图和用以描述流程化处理的活动图等。","analyze":"面向对象的设计模型包含以包图表示的软件体系结构图,以交互图表示的用例实现图,完整精确的类图,针对复杂对象的状态图和用以描述流程化处理的活动图等。","multi":0,"questionType":1,"answer":"D","chooseItem":["794933214861873153"],"itemList":[{"id":"794933214811541505","questionId":"794933212961853441","content":"部署图","answer":0,"chooseValue":"A"},{"id":"794933214828318721","questionId":"794933212961853441","content":"包图","answer":0,"chooseValue":"B"},{"id":"794933214845095937","questionId":"794933212961853441","content":"协同图","answer":0,"chooseValue":"C"},{"id":"794933214861873153","questionId":"794933212961853441","content":"交互图","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933432105848833","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p><p>工作流管理系统(Workflow Management System,WfMS)通过 (51) 创建工作流并管理其执行。它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义与参与者的相互作用,并根据需要调用其他IT工具或应用。WfMS的基本功能体现在对工作流进行建模、工作流执行和 (52 请作答此空) 。WfMS最基本的组成部分是工作流参考模型(Workflow Reference Model, WRM),其包含6个基本模块,分别是工作流执行服务、工作流引擎、 (53) 、客户端应用、调用应用和管理监控工具。</p>","analyze":"<p>工作流管理系统是一个用软件定义、管理与分析、执行工作流的系统。WfMS的基本功能体现在对工作流进行建模、工作流执行和业务过程的管理和分析。</p><p>工作流参考模型包含6个基本模块,分别是工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用和管理监控工具。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933434022645761"],"itemList":[{"id":"794933433972314113","questionId":"794933432105848833","content":"业务过程的实现","answer":0,"chooseValue":"A"},{"id":"794933433997479937","questionId":"794933432105848833","content":"业务过程的设计和实现","answer":0,"chooseValue":"B"},{"id":"794933434022645761","questionId":"794933432105848833","content":"业务过程的管理和分析","answer":1,"chooseValue":"C"},{"id":"794933434043617281","questionId":"794933432105848833","content":"业务过程的监控","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933290472591361","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>在面向对象分析过程中,用概念模型来详细描述系统的问题域,用( )来表示概念模型;用( )来描述对象行为。","analyze":"<p>面向对象分析的目的是为了获得对问题域的理解,以确定系统的功能、性能要求。逻辑模型,也称为概念模型或业务模型,展示了系统是什么或者系统做什么,它们独立于任何技术实现来描述系统,说明了系统的本质。</p><p>在 UML 中,类图显示了一组类、接口、协作以及它们之间的关系,类图用于对系统静态设计视图建模。在面向对象分析过程中,用类模型表示概念模型。</p><p>序列图和协作图统称为交互图。一张交互图显示的一个交互,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。序列图是强调消息时间顺序的交互图,协作图则是强调接收和发送消息的对象的结构组织的交互图。</p><p>用例图描述了一组用例和参与者以及它们之间的关系,它对于系统行为的组织和建模特别重要。</p><p>构件图显示了一组构件以及它们之间的关系。用构件图说明系统的静态实现视图。状态图和活动图用来描述对象的行为,这两种图在语义上是等价的。状态图强调一个对象按事件次序发生的行为;活动图强调对象之间的控制流。交互图观察的是传送消息的对象,而活动图观察的是对象之间传送的操作。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933292733321217"],"itemList":[{"id":"794933292699766785","questionId":"794933290472591361","content":"序列图和协作图","answer":0,"chooseValue":"A"},{"id":"794933292716544001","questionId":"794933290472591361","content":"用例图和活动图","answer":0,"chooseValue":"B"},{"id":"794933292733321217","questionId":"794933290472591361","content":"状态图和活动图","answer":1,"chooseValue":"C"},{"id":"794933292750098433","questionId":"794933290472591361","content":"用例图和构件图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933398501085185","title":"<p><strong>请作答第<span style=\"color: red\">2</span>空。</strong></p>某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单、买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用()关系,网店与商品之间适合采用( ) 关系。","analyze":"购物车与商品是整体与部分的关系,购物车包含了商品,但是商品可以脱离购物车独立存在,这是一种聚合关系。网店与商品之间是一种整体与部分的关系,商品是网店的一部分,如果网店不存在了,那么网店中的商品也不存在,它们之间是组合关系。","multi":0,"questionType":1,"answer":"C","chooseItem":["794933400405299201"],"itemList":[{"id":"794933400371744769","questionId":"794933398501085185","content":"依赖","answer":0,"chooseValue":"A"},{"id":"794933400384327681","questionId":"794933398501085185","content":"泛化","answer":0,"chooseValue":"B"},{"id":"794933400405299201","questionId":"794933398501085185","content":"组合","answer":1,"chooseValue":"C"},{"id":"794933400426270721","questionId":"794933398501085185","content":"聚合","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932309512966145","title":"<p><strong>请作答第<span style=\"color: red\">3</span>空。</strong></p><p>需求工程包括需求开发和需求管理,(27)不属于需求开发的主要内容。需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取的结果影响很大。在多种需求获取方式中,(28)方法可以在短时间内,以低廉的代价从大量的回答中收集数据。(29)方法以统计学原理,样本拟合总体的特征。成本降低。(30)方法针对较为复杂的流程和操作更有有效。</p>","analyze":"<p>需求工程包括需求开发和需求管理。<br/></p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/b740f9bbf126bcff815863494497350f.png?x-oss-process=style/ruankaodaren\" title=\"b740f9bbf126bcff815863494497350f.png\" alt=\"image.png\"/><br/></p><p>用户访谈:用户访谈是最基本的一种需求获取手段,其形式包括结构化和非结构化两种。用户访谈是通过1对1(或1对2,1对3)的形式与用户面对面进行沟通,以获取用户需求。用户访谈具有良好的灵活性,有较宽广的应用范围。但是,也存在着许多困难。例如,用户经常较忙,难以安排时间;面谈时信息量大,记录较为困难;沟通需要很多技巧,同时需要系统分析师具有足够的领域知识等。另外,在访谈时,还可能会遇到一些对于企业来说比较机密和敏感的话题。因此,这看似简单的技术,也需要系统分析师具有丰富的经验和较强的沟通能力。</p><p>采样是指从种群中系统地选出有代表性的样本集的过程,通过认真研究所选出的样本集,可以从整体上揭示种群的有用信息。对于信息系统的开发而言,现有系统的文档(文件)就是采样种群。当开始对一个系统做需求分析时,查看现有系统的文档是对系统有初步了解的最好方法。但是,系统分析师应该查看哪些类型的文档,当文档的数据庞大,无法一一研究时,就需要使用采样技术选出有代表性的数据。</p><p>采样技术不仅可以用于收集数据,还可以用于采集访谈用户或者采集观察用户。在对人员进行采样时,上面介绍的采样技术同样适用。通过采样技术,选择部分而不是选择种群的全部,不仅加快了数据收集的过程,而且提高了效率,从而降低了开发成本。另外,采样技术使用了数理统计原理,能减少数据收集的偏差。但是,由于采样技术基于统计学原理,样本规模的确定依赖于期望的可信度和已有的先验知识,很大程度上取决于系统分析师的主观因素,对系统分析师个人的经验和能力依赖性很强,要求系统分析师具有较高的水平和丰富的经验。</p><p>联合需求计划:为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大量独立的访谈。联合需求计划(Joint Requirement Planning,JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发(Joint Application Development,JAD)的一部分。</p><p>现场观摩:针对较为复杂的流程和操作。(过程类)</p><p>收集资料:与系统相关的、对系统有益的信息收集起来。</p><p>参加业务实践:有效地发现问题本质和寻找解决问题的办法。</p><p>阅读历时文档(文件):对收集数据类信息较为有用。</p><p><br/></p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932311459123201"],"itemList":[{"id":"794932311396208641","questionId":"794932309512966145","content":"用户访谈","answer":0,"chooseValue":"A"},{"id":"794932311421374465","questionId":"794932309512966145","content":"问卷调查","answer":0,"chooseValue":"B"},{"id":"794932311442345985","questionId":"794932309512966145","content":"联合需求计划","answer":0,"chooseValue":"C"},{"id":"794932311459123201","questionId":"794932309512966145","content":"采样","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933434966364161","title":"<p><strong>请作答第<span style=\"color: red\">3</span>空。</strong></p><p>工作流管理系统(Workflow Management System,WfMS)通过 (51) 创建工作流并管理其执行。它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义与参与者的相互作用,并根据需要调用其他IT工具或应用。WfMS的基本功能体现在对工作流进行建模、工作流执行和 (52 请作答此空) 。WfMS最基本的组成部分是工作流参考模型(Workflow Reference Model, WRM),其包含6个基本模块,分别是工作流执行服务、工作流引擎、 (53) 、客户端应用、调用应用和管理监控工具。</p>","analyze":"<p>工作流管理系统是一个用软件定义、管理与分析、执行工作流的系统。WfMS的基本功能体现在对工作流进行建模、工作流执行和业务过程的管理和分析。</p><p>工作流参考模型包含6个基本模块,分别是工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用和管理监控工具。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794933436832829441"],"itemList":[{"id":"794933436832829441","questionId":"794933434966364161","content":"流程定义工具","answer":1,"chooseValue":"A"},{"id":"794933436849606657","questionId":"794933434966364161","content":"流程服务引擎","answer":0,"chooseValue":"B"},{"id":"794933436866383873","questionId":"794933434966364161","content":"标准引擎","answer":0,"chooseValue":"C"},{"id":"794933436883161089","questionId":"794933434966364161","content":"流程设计工具","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933443690516481","title":"<p><strong>请作答第<span style=\"color: red\">3</span>空。</strong></p><p>结构化设计(Structured Design,SD)是一种面向数据流的系统设计方法,它以 (54) 等文档为基础,是一个自顶向下、逐步求精和 (55) 的过程。SD方法的基本思想是将软件设计成相对独立且具有单一功能的模块,模块应设计成 (56) 。</p>","analyze":"<p>结构化设计是一种面向数据流的设计方法。是以结构化分析的成果为基础,逐步精细并模块化的过程。</p><p>结构化设计以数据流图和数据字典等文档为基础,进行数据建模,并生成对象关系图。</p><p>结构化设计是一个自顶向下、逐步求精和模块化的过程。这个过程先将系统看成一个大模块,并可分为若干功能模块,各模块协调完成系统总体功能。然后,每个子模块又可划分为若干子模块,直至无需划分为止,并形成系统结构模型。</p><p>按照信息隐藏的原则,系统中的模块应设计成“黑盒”,模块外部只能使用模块接口说明中给出的信息,例如,操作和数据类型等。模块之间相对独立,既易于实现,也易于理解和维护。</p>","multi":0,"questionType":1,"answer":"C","chooseItem":["794933445666033665"],"itemList":[{"id":"794933445624090625","questionId":"794933443690516481","content":"白盒","answer":0,"chooseValue":"A"},{"id":"794933445649256449","questionId":"794933443690516481","content":"灰盒","answer":0,"chooseValue":"B"},{"id":"794933445666033665","questionId":"794933443690516481","content":"黑盒","answer":1,"chooseValue":"C"},{"id":"794933445682810881","questionId":"794933443690516481","content":"开放结构","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933426229628929","title":"<p><strong>请作答第<span style=\"color: red\">3</span>空。</strong></p>针对二层c/s软件结构的缺点,三层c/s架构应运而生,在三层c/s架构中,增加了一个()。三层c/s架构是将应用功能分成表示层,功能层和()三个部分,其中()是应用的用户接口部分,担负与应用逻辑间的对话功能。","analyze":"与二层C/S架构相比,在三层C/S架构中,增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种客户机称为瘦客户机。三层C/S架构将应用系统分成表示层、功能层和数据层三个部分。(1)表示层。表示层是系统的用户接口部分,担负着用户与系统之间的对话功能。(2)功能层。功能层也称为业务逻辑层,是将具体的业务处理逻辑编入程序中。(3)数据层。数据层相当于二层C/S架构中的服务器,负责对DBMS的管理和控制。","multi":0,"questionType":1,"answer":"A","chooseItem":["794933428167397377"],"itemList":[{"id":"794933428167397377","questionId":"794933426229628929","content":"表示层","answer":1,"chooseValue":"A"},{"id":"794933428234506241","questionId":"794933426229628929","content":"数据层","answer":0,"chooseValue":"B"},{"id":"794933428284837889","questionId":"794933426229628929","content":"应用层","answer":0,"chooseValue":"C"},{"id":"794933428322586625","questionId":"794933426229628929","content":"功能层","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933417673248769","title":"<p><strong>请作答第<span style=\"color: red\">3</span>空。</strong></p>在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: ( )。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/684cb797cfb05a0380d6ce92fad4de0c.jpg?x-oss-process=style/ruankaodaren\" title=\"684cb797cfb05a0380d6ce92fad4de0c.jpg\" alt=\"1111.jpg\" width=\"492\" height=\"170\"/>","analyze":"<p>中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:</p><p>1、一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。</p><p>2、一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。</p><p>3、想定制一个分布在多个类中的行为,而又不想生成太多的子类。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794933419606822913"],"itemList":[{"id":"794933419556491265","questionId":"794933417673248769","content":"需要使用一个算法的不同变体","answer":0,"chooseValue":"A"},{"id":"794933419573268481","questionId":"794933417673248769","content":"有一个语言需要解释执行,并且可将句子表示为一个抽象语法树","answer":0,"chooseValue":"B"},{"id":"794933419585851393","questionId":"794933417673248769","content":"一个对象的行为决定于其状态且必须在运行时刻根据状态改变行为","answer":0,"chooseValue":"C"},{"id":"794933419606822913","questionId":"794933417673248769","content":"一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932868924067841","title":"<p><strong>请作答第<span style=\"color: red\">3</span>空。</strong></p>软件系统架构是关于软件系统的结构、( )和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的( )。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和( )结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。","analyze":"软件系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的交互关系。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和拓扑结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。","multi":0,"questionType":1,"answer":"B","chooseItem":["794932870819893249"],"itemList":[{"id":"794932870803116033","questionId":"794932868924067841","content":"进程","answer":0,"chooseValue":"A"},{"id":"794932870819893249","questionId":"794932868924067841","content":"拓扑","answer":1,"chooseValue":"B"},{"id":"794932870836670465","questionId":"794932868924067841","content":"处理","answer":0,"chooseValue":"C"},{"id":"794932870849253377","questionId":"794932868924067841","content":"数据","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932891640418305","title":"<p><strong>请作答第<span style=\"color: red\">3</span>空。</strong></p><p>针对二层c/s软件结构的缺点,三层c/s架构应运而生,在三层c/s架构中,增加了一个()。三层c/s架构是将应用功能分成表示层,功能层和()三个部分,其中()是应用的用户接口部分,担负与应用逻辑间的对话功能。</p>","analyze":"<p>与二层C/S架构相比,在三层C/S架构中,增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种客户机称为瘦客户机。三层C/S架构将应用系统分成表示层、功能层和数据层三个部分。(1)表示层。表示层是系统的用户接口部分,担负着用户与系统之间的对话功能。(2)功能层。功能层也称为业务逻辑层,是将具体的业务处理逻辑编入程序中。(3)数据层。数据层相当于二层C/S架构中的服务器,负责对DBMS的管理和控制。</p>","multi":0,"questionType":1,"answer":"A","chooseItem":["794932893523660801"],"itemList":[{"id":"794932893523660801","questionId":"794932891640418305","content":"表示层","answer":1,"chooseValue":"A"},{"id":"794932893536243713","questionId":"794932891640418305","content":"数据层","answer":0,"chooseValue":"B"},{"id":"794932893553020929","questionId":"794932891640418305","content":"应用层","answer":0,"chooseValue":"C"},{"id":"794932893569798145","questionId":"794932891640418305","content":"功能层","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933281849102337","title":"<p><strong>请作答第<span style=\"color: red\">3</span>空。</strong></p>在面向对象技术中,一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态性称为( )。同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为( )。编译程序根据上下文判定算子的操作意义,这称为( )。","analyze":"在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。多态有几种不同的形式。一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态称为包含多态;同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为过载多态。编译程序根据上下文判定算子的操作意义,这称为算子鉴别。","multi":0,"questionType":1,"answer":"A","chooseItem":["794933283715567617"],"itemList":[{"id":"794933283715567617","questionId":"794933281849102337","content":"算子鉴别","answer":1,"chooseValue":"A"},{"id":"794933283732344833","questionId":"794933281849102337","content":"算子操作","answer":0,"chooseValue":"B"},{"id":"794933283749122049","questionId":"794933281849102337","content":"算子定义","answer":0,"chooseValue":"C"},{"id":"794933283765899265","questionId":"794933281849102337","content":"算子运算","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932832051941377","title":"<p><strong>请作答第<span style=\"color: red\">3</span>空。</strong></p><p>在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: ( )。</p><p> <img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/1f5d98c483520d18e4bb07208819da5d.png?x-oss-process=style/ruankaodaren\" title=\"1f5d98c483520d18e4bb07208819da5d.png\" alt=\"image.png\"/></p>","analyze":"<p>中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:</p><p>1、一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。</p><p>2、一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。</p><p>3、想定制一个分布在多个类中的行为,而又不想生成太多的子类。</p>","multi":0,"questionType":1,"answer":"D","chooseItem":["794932833951961089"],"itemList":[{"id":"794932833910018049","questionId":"794932832051941377","content":"需要使用一个算法的不同变体","answer":0,"chooseValue":"A"},{"id":"794932833922600961","questionId":"794932832051941377","content":"有一个语言需要解释执行,并且可将句子表示为一个抽象语法树","answer":0,"chooseValue":"B"},{"id":"794932833939378177","questionId":"794932832051941377","content":"一个对象的行为决定于其状态且必须在运行时刻根据状态改变行为","answer":0,"chooseValue":"C"},{"id":"794932833951961089","questionId":"794932832051941377","content":"一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794932312377675777","title":"<p><strong>请作答第<span style=\"color: red\">4</span>空。</strong></p><p>需求工程包括需求开发和需求管理,(27)不属于需求开发的主要内容。需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取的结果影响很大。在多种需求获取方式中,(28)方法可以在短时间内,以低廉的代价从大量的回答中收集数据。(29)方法以统计学原理,样本拟合总体的特征。成本降低。(30)方法针对较为复杂的流程和操作更有有效。</p>","analyze":"<p>需求工程包括需求开发和需求管理。<br/></p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/b740f9bbf126bcff815863494497350f.png?x-oss-process=style/ruankaodaren\" title=\"b740f9bbf126bcff815863494497350f.png\" alt=\"image.png\"/><br/></p><p>用户访谈:用户访谈是最基本的一种需求获取手段,其形式包括结构化和非结构化两种。用户访谈是通过1对1(或1对2,1对3)的形式与用户面对面进行沟通,以获取用户需求。用户访谈具有良好的灵活性,有较宽广的应用范围。但是,也存在着许多困难。例如,用户经常较忙,难以安排时间;面谈时信息量大,记录较为困难;沟通需要很多技巧,同时需要系统分析师具有足够的领域知识等。另外,在访谈时,还可能会遇到一些对于企业来说比较机密和敏感的话题。因此,这看似简单的技术,也需要系统分析师具有丰富的经验和较强的沟通能力。</p><p>采样是指从种群中系统地选出有代表性的样本集的过程,通过认真研究所选出的样本集,可以从整体上揭示种群的有用信息。对于信息系统的开发而言,现有系统的文档(文件)就是采样种群。当开始对一个系统做需求分析时,查看现有系统的文档是对系统有初步了解的最好方法。但是,系统分析师应该查看哪些类型的文档,当文档的数据庞大,无法一一研究时,就需要使用采样技术选出有代表性的数据。</p><p>采样技术不仅可以用于收集数据,还可以用于采集访谈用户或者采集观察用户。在对人员进行采样时,上面介绍的采样技术同样适用。通过采样技术,选择部分而不是选择种群的全部,不仅加快了数据收集的过程,而且提高了效率,从而降低了开发成本。另外,采样技术使用了数理统计原理,能减少数据收集的偏差。但是,由于采样技术基于统计学原理,样本规模的确定依赖于期望的可信度和已有的先验知识,很大程度上取决于系统分析师的主观因素,对系统分析师个人的经验和能力依赖性很强,要求系统分析师具有较高的水平和丰富的经验。</p><p>联合需求计划:为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大量独立的访谈。联合需求计划(Joint Requirement Planning,JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发(Joint Application Development,JAD)的一部分。</p><p>现场观摩:针对较为复杂的流程和操作。(过程类)</p><p>收集资料:与系统相关的、对系统有益的信息收集起来。</p><p>参加业务实践:有效地发现问题本质和寻找解决问题的办法。</p><p>阅读历时文档(文件):对收集数据类信息较为有用。</p><p><br/></p>","multi":0,"questionType":1,"answer":"B","chooseItem":["794932314265112577"],"itemList":[{"id":"794932314252529665","questionId":"794932312377675777","content":"用户访谈","answer":0,"chooseValue":"A"},{"id":"794932314265112577","questionId":"794932312377675777","content":"现场观摩","answer":1,"chooseValue":"B"},{"id":"794932314277695489","questionId":"794932312377675777","content":"阅读历史文档","answer":0,"chooseValue":"C"},{"id":"794932314294472705","questionId":"794932312377675777","content":"联合需求会议","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null}]}}