{"msg":"第三节 需求分析和设计方法","code":200,"data":{"currentIndex":null,"examId":null,"examTime":null,"questionList":[{"id":"796238958102073345","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>在UML2.0中,(33)强调消息跨越不同对象或参与者的实际时间,而不仅仅关心消息的相对顺序;它能够(34)。","analyze":"本题考査UML的基本概念。<br>UML2.0提供了13种图,分别是类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图、部署图、组合结构图、包图、交互概览图和定时图。序列图、通信图、交互概览图和定时图均被称为交互图。<br>定时图是一种新增的、特别适合实时和嵌入式系统建模的交互图,也称为计时图 (Timing Diagram),计时图关注沿着线性时间轴、生命线内部和生命线之间的条件改变。它描述对象状态随着时间改变的情况,很像示波器,适合分析周期和非周期性任务。定时图强调消息跨越不同对象或参与者的实际时间,而不仅仅关心消息的相对顺序。<br>通信图(Communication Diagram)强调收发消息的对象的结构组织,在早期的版本中也被称作协作图。通信图强调参加交互的对象的组织。<br>交互概览图(Interaction Overview Diagram)是UML 2.0新增的交互图之一,它是活动图的变体,描述业务过程中的控制流概览,软件过程中的详细逻辑概览,以及将多个图进行连接,抽象掉了消息和生命线。<br>序列图(Sequence Diagram)是场景(scenario)的图形化表示,描述了以时间顺序组织的对象之间的交互活动。","multi":0,"questionType":1,"answer":"A","chooseItem":["796238959024820225"],"itemList":[{"id":"796238959024820225","questionId":"796238958102073345","content":" 定时图","answer":1,"chooseValue":"A"},{"id":"796238959049986049","questionId":"796238958102073345","content":" 通信图","answer":0,"chooseValue":"B"},{"id":"796238959079346177","questionId":"796238958102073345","content":" 顺序图","answer":0,"chooseValue":"C"},{"id":"796238959104512001","questionId":"796238958102073345","content":" 交互概览图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238967094661121","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>在某银行业务的用例模型中,“取款”用例需要等到“存款”用例执行之后才能执行,两个用例之间的关系属于(1):“取款”和“存款”两个用例中都需要执行查询余额的功能,将查询余额提取成独立的用例,那么“取款”和“存款”用例与“査询余额”用例之间的关系属于(2)。","analyze":"在使用用例建模系统需求时,两个或多个用例可能执行同样的功能步骤。把这些公共步骤提取成独立的用例,称为抽象用例。抽象用例代表了某种程度的复用,是降低用例之间冗余比较好的方式。抽象用例可以被另一个需要使用它的功能用例访问,抽象用例和使用它的用例之间的关系称为使用关系。","multi":0,"questionType":1,"answer":"B","chooseItem":["796238968067739649"],"itemList":[{"id":"796238968025796609","questionId":"796238967094661121","content":" 扩展关系","answer":0,"chooseValue":"A"},{"id":"796238968067739649","questionId":"796238967094661121","content":" 使用关系","answer":1,"chooseValue":"B"},{"id":"796238968088711169","questionId":"796238967094661121","content":" 依赖关系","answer":0,"chooseValue":"C"},{"id":"796238968109682689","questionId":"796238967094661121","content":" 继承关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238924581195777","title":"UML用系统视图描述系统的组织结构。其中,()对组成基于系统的物理代码的文件和构件进行建模。","analyze":"本题考查UML的相关知识。<br>UML用系统视图描述系统的组织结构,具体来说,就是指以下5个系统视图:<br>①逻辑视图。逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。<br>②进程视图。进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。<br>③实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。<br>④部署视图。部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。<br>⑤用例视图。用例视图是最基本的需求分析模型。","multi":0,"questionType":1,"answer":"C","chooseItem":["796238925529108481"],"itemList":[{"id":"796238925487165441","questionId":"796238924581195777","content":" 用例视图","answer":0,"chooseValue":"A"},{"id":"796238925508136961","questionId":"796238924581195777","content":" 逻辑视图","answer":0,"chooseValue":"B"},{"id":"796238925529108481","questionId":"796238924581195777","content":" 实现视图","answer":1,"chooseValue":"C"},{"id":"796238925550080001","questionId":"796238924581195777","content":" 部署视图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239032039264257","title":"采用以下设计思路实现下图所示的目录浏览器:目录中的每个目录项被认定为一个类,其属性包括名称、类型(目录或文件)、大小、扩展名、国标等。为节省内存空间,要求不能将具有相同属性(例如类型、扩展名、图标相同)的相同文件看作不同的对象。能够满足这一要求的设计模式是()。<br><img alt=\"\" width=\"510\" height=\"100\" src=\"https://image.chaiding.com/ruankao/523ed1a89ee33c0da02984081215a385.jpg?x-oss-process=style/ruankaodaren\">","analyze":"本题考查设计模式的基本知识。 <br>根据目的和用途不同,设计模式可分为创建型(Creadonal)模弍、结构型(Structural)模式和行为型(Behavioral)模式三种。创建型模式主要用于创建对象,结构型模式主要用于处理类或对象的组合,行为型模式主要用于描述类或对象的交互以及职责的分配。<br>根据题干的描述,适用于该要求的设计模式应属于结构型模式。Flyweight(享元)和Proxy(代理)属于结构型模式。Flyweight模式通过运用共享技术,有效地支持大量细粒度的对象。系统只使用少量的对象,而这些对象都很相似,状态变化很小,对象使用次数增多。Proxy模式可为某个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式能够协调调用者和被调用者,能够在一定程度上降低系统的耦合度。因此本题适合于采用Flyweight模式。","multi":0,"questionType":1,"answer":"A","chooseItem":["796239032966205441"],"itemList":[{"id":"796239032966205441","questionId":"796239032039264257","content":" Flyweight","answer":1,"chooseValue":"A"},{"id":"796239032995565569","questionId":"796239032039264257","content":" Proxy","answer":0,"chooseValue":"B"},{"id":"796239033024925697","questionId":"796239032039264257","content":" Command","answer":0,"chooseValue":"C"},{"id":"796239033058480129","questionId":"796239032039264257","content":" State","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238950535548929","title":"以下关于面向对象设计的叙述中,错误的是(1)。","analyze":"本题考查面向对象设计的基础知识。<br>类是面向对象类型扩展的重要机制,利用属性和方法将数据和与数据相关的行为封装起来。面向对象设计的基本思想包括抽象、封装和可扩展性,其可扩展性是通过对象继承和多态来实现。对象持久化是将内存中的数据以数据库或物理文件的形式保存到可永久存储的设备中。","multi":0,"questionType":1,"answer":"D","chooseItem":["796238951483461633"],"itemList":[{"id":"796238951454101505","questionId":"796238950535548929","content":" 类的属性用于封装数据,类的方法用于封装行为","answer":0,"chooseValue":"A"},{"id":"796238951462490113","questionId":"796238950535548929","content":" 面向对象设计的基本思想包括抽象、封装和可扩展性","answer":0,"chooseValue":"B"},{"id":"796238951475073025","questionId":"796238950535548929","content":" 对象继承和多态可用来实现可扩展性","answer":0,"chooseValue":"C"},{"id":"796238951483461633","questionId":"796238950535548929","content":" 对象持久化是指将数据库中的数据加载到内存中供应用程序访问","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238899029495809","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>UML中,静态视图描述事务的静态结构,主要包括(3);交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,主要包括(4)。","analyze":"本题考查UML建模的基本知识。<br>UML中的静态视图用于描述事物的静态结构,主要包括用例图、类图和包图:动态视图描述事物动态行为,主要包括活动图、状态图、序列图和协作图。动态视图中,交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,主要包括序列图、协作图。","multi":0,"questionType":1,"answer":"A","chooseItem":["796238899952242689"],"itemList":[{"id":"796238899952242689","questionId":"796238899029495809","content":" 用例图、类图、包图","answer":1,"chooseValue":"A"},{"id":"796238899977408513","questionId":"796238899029495809","content":" 用例图、组件图、部署图","answer":0,"chooseValue":"B"},{"id":"796238900002574337","questionId":"796238899029495809","content":" 类图、对象图、状态图","answer":0,"chooseValue":"C"},{"id":"796238900023545857","questionId":"796238899029495809","content":" 组件图、协作图、包图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239002175819777","title":"某在线交易平台的“支付”功能需求描述如下:客户进行支付时,可以使用信用卡支付或支付宝支付。从中抽象出3个用例:支付、信用卡支付和支付宝支付,这3个用例之间的关系是()。","analyze":"本题考查面向对象分析中用例模型的基本知识。<br>在用例模型中,用例之间的关系主要有包含、扩展和泛化,利用这些关系,把一些公共的信息抽取出来,以便于复用,使得用例模型更易于维护。<br>①包含关系。当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例。<br>②扩展关系。如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。<br>③泛化关系。当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。<br>本题中的3个用例“支付”“信用卡支付”和“支付宝支付”之间满足泛化关系。u2003","multi":0,"questionType":1,"answer":"A","chooseItem":["796239003081789441"],"itemList":[{"id":"796239003081789441","questionId":"796239002175819777","content":" <img alt=\"\" width=\"180\" height=\"95\" src=\"https://image.chaiding.com/ruankao/b7507a31f691efe0b7e0730aa564e1d2.jpg?x-oss-process=style/ruankaodaren\">","answer":1,"chooseValue":"A"},{"id":"796239003111149569","questionId":"796239002175819777","content":" <img alt=\"\" width=\"180\" height=\"95\" src=\"https://image.chaiding.com/ruankao/2bd6674f1a0ac3f9a9b94874b46a858f.jpg?x-oss-process=style/ruankaodaren\">","answer":0,"chooseValue":"B"},{"id":"796239003140509697","questionId":"796239002175819777","content":" <img alt=\"\" width=\"180\" height=\"85\" src=\"https://image.chaiding.com/ruankao/32afda452e0199eb3634cd6e7560d574.jpg?x-oss-process=style/ruankaodaren\">","answer":0,"chooseValue":"C"},{"id":"796239003174064129","questionId":"796239002175819777","content":" <img alt=\"\" width=\"180\" height=\"95\" src=\"https://image.chaiding.com/ruankao/5d3cd5b69ac3c43e018ca935d215ec4e.jpg?x-oss-process=style/ruankaodaren\">","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239011067744257","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>用于增加对象功能的设计模式是(36);用于限制对象访问的设计模式是(37) .","analyze":"装饰(Decorator)模式是一种对象结构型模式,可以动态地给一个对象增加一些额外的职责。就增加对象功能来说,装饰模式比生成子类实现更为灵活。<br>代理(Proxy)模式可为某个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式能够协调调用者和被调用者,能够在一定程度上降低系统的耦合度。","multi":0,"questionType":1,"answer":"B","chooseItem":["796239011965325313"],"itemList":[{"id":"796239011952742401","questionId":"796239011067744257","content":" Adapter","answer":0,"chooseValue":"A"},{"id":"796239011965325313","questionId":"796239011067744257","content":" Decorator","answer":1,"chooseValue":"B"},{"id":"796239011977908225","questionId":"796239011067744257","content":" Delegation","answer":0,"chooseValue":"C"},{"id":"796239011990491137","questionId":"796239011067744257","content":" Proxy","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238964108316673","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>在某银行业务的用例模型中,“取款”用例需要等到“存款”用例执行之后才能执行,两个用例之间的关系属于(1):“取款”和“存款”两个用例中都需要执行查询余额的功能,将查询余额提取成独立的用例,那么“取款”和“存款”用例与“査询余额”用例之间的关系属于(2)。","analyze":"本题考查用例建模中用例之间的基本关系。<br>用例执行有先后顺序,是一种在时间上的依赖关系。","multi":0,"questionType":1,"answer":"D","chooseItem":["796238965148504065"],"itemList":[{"id":"796238965056229377","questionId":"796238964108316673","content":" 关联关系","answer":0,"chooseValue":"A"},{"id":"796238965089783809","questionId":"796238964108316673","content":" 扩展关系","answer":0,"chooseValue":"B"},{"id":"796238965119143937","questionId":"796238964108316673","content":" 使用关系","answer":0,"chooseValue":"C"},{"id":"796238965148504065","questionId":"796238964108316673","content":" 依赖关系","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238921477410817","title":"UML用系统视图描述系统的组织结构。其中,(1)采用类、子系统、包和用例对系统架构进行设计建模。","analyze":"本题考查UML的基本概念。<br>UML利用5个系统视图描述系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。用例视图是最基本的需求分析模型。逻辑视图表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。进程视图是可执行线程和进程作为活动类的建模。实现视图对组成基于系统的物理代码的文件和组件进行建模。部署视图把组件部署到一组物理节点上,表示软件到硬件的映射和分布结构。","multi":0,"questionType":1,"answer":"B","chooseItem":["796238922467266561"],"itemList":[{"id":"796238922437906433","questionId":"796238921477410817","content":" 用例视图","answer":0,"chooseValue":"A"},{"id":"796238922467266561","questionId":"796238921477410817","content":" 逻辑视图","answer":1,"chooseValue":"B"},{"id":"796238922496626689","questionId":"796238921477410817","content":" 实现视图","answer":0,"chooseValue":"C"},{"id":"796238922525986817","questionId":"796238921477410817","content":" 部署视图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238947616313345","title":"以下关于依赖倒置原则的叙述中,正确的是(39)。","analyze":"依赖倒置原则是指抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。在程序代码中传递参数时或在组合(或聚合)关系中,尽量引用层次高的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明和方法返回类型声明,以及数据类型的转换等,而不要用具体类来做这些事情。为了确保该原则的应用,一个具体类应当只实现接口和抽象类中声明过的方法,而不要给出多余的方法,否则将无法调用到在子类中增加的新方法。<br>实现开闭原则的关键是抽象化,并且从抽象化导出具体化实现,如果说开闭原则是OOD的目标,那么依赖倒置原则就是OOD的主要机制。有了抽象层,可以使得系统具有较好的灵活性,在程序中尽量使用抽象层进行编程,而将具体类写在配置文件中,这样如果系统行为发生变化,则只需要扩展抽象层,并修改配置文件,而无需修改原有系统的源代码,在不修改的情况下来扩展系统功能,满足开闭原则的要求。依赖倒置原则是COM、CORBA、EJB、Spring等技术和框架背后的原则之一。","multi":0,"questionType":1,"answer":"C","chooseItem":["796238948576808961"],"itemList":[{"id":"796238948534865921","questionId":"796238947616313345","content":" 要针对实现编程,而不是针对接口编程","answer":0,"chooseValue":"A"},{"id":"796238948555837441","questionId":"796238947616313345","content":" 在程序中尽量使用具体类进行编程,而少使用抽象层类","answer":0,"chooseValue":"B"},{"id":"796238948576808961","questionId":"796238947616313345","content":" 在程序代码中传递参数时或在组合关系中,尽量引用层次高的抽象层类","answer":1,"chooseValue":"C"},{"id":"796238948597780481","questionId":"796238947616313345","content":" 软件实体应对扩展开放而对修改关闭","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239038045507585","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>采用面向对象技术设计银行信息系统,“账户类”应设计为(2), “账户管理 员类”应设计为(3)。","analyze":"本题考查面向对象分析的基础知识。<br>面向对象分析类可以分为边界类、控制类和实体类。边界类是一种用于对系统外部环境与其内部运作之间交互进行建模的类。控制类用于对一个或多个用例所特有的控制行为进行建模,描述用例业务逻辑的实现。实体类是用于对必须存储的信息和相关行为建模的类,用于保存和更新一些现象的有关信息。“账户类”主要用于存储数据,所以设计为实体类;“账户管理员类”强调对账户对象管理的业务行为,应设计为控制类。","multi":0,"questionType":1,"answer":"A","chooseItem":["796239038959865857"],"itemList":[{"id":"796239038959865857","questionId":"796239038045507585","content":" 控制类","answer":1,"chooseValue":"A"},{"id":"796239038993420289","questionId":"796239038045507585","content":" 边界类","answer":0,"chooseValue":"B"},{"id":"796239039022780417","questionId":"796239038045507585","content":" 接口类","answer":0,"chooseValue":"C"},{"id":"796239039043751937","questionId":"796239038045507585","content":" 实体类","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239008131731457","title":"流程设计的任务是设计出系统所有模块和它们之间的相互关系,并具体设计出每个模块内部的功能和处理过程。以下关于流程设计的叙述,正确的是(32)。","analyze":"每个信息系统都包含了一系列核心处理流程,对这些处理流程的理解和实现将直接影响系统的功能和性能。处理流程设计的任务是设计出系统所有模块以及它们之间的相互关系,并具体设计出每个模块内部的功能和处理过程。<br>在处理流程设计过程中,为了更清晰地表达过程规则说明,陆续出现了一些用于表示处理流程的工具,这些工具包括三类:图形工具、表格工具和语言工具。其中常见的图形工具包括程序流程图、IPO图、盒图、问题分析图和判定树;表格工具包括判定表; 语言工具包括过程设计语言等。<br>程序流程图(Program Flow Diagram, DFD)用一些图框表示各种操作,它独立于 任何一种程序设计语言,比较直观、清晰,易于学习掌握。任何复杂的程序流程图都应该由顺序、选择和循环结构组合或嵌套而成。<br>IPO图是由IBM公司发起并逐步完善的一种流程描述工具。IPO图用来描述构成软件系统的每个模块的输入、输出和数据加工。<br>为避免流程图在描述程序逻辑时的随意性与灵活性,美国学者I.Nassi和B.Shnei-derman在1973年提出了用方框代替传统的程序流程图,通常把这种图称为N-S图或盒图。N-S图容易表示嵌套和层次关系,并具有强烈的结构化特征。但是当问题很复杂时,N-S图可能很大。<br>问题分析图(PAD)由日立公司于1979年提出,也是一种支持结构化程序设计的图形工具。PAD具有清晰的逻辑结构、标准化的图形等优点,更重要的是,它引导设计人员使用结构化程序设计方法,从而提高程序的质量。","multi":0,"questionType":1,"answer":"A","chooseItem":["796239009037701121"],"itemList":[{"id":"796239009037701121","questionId":"796239008131731457","content":" 任何复杂的程序流程图都应该由顺序、选择、循环结构构成","answer":1,"chooseValue":"A"},{"id":"796239009054478337","questionId":"796239008131731457","content":" IPO图不适合用来进行流程设计","answer":0,"chooseValue":"B"},{"id":"796239009067061249","questionId":"796239008131731457","content":" PAD图是一种支持原型化设计方法的图形工具","answer":0,"chooseValue":"C"},{"id":"796239009083838465","questionId":"796239008131731457","content":" N-S图容易表示嵌套关系和层次关系,特别适合于设计非常复杂的流程","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238961071640577","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>在UML2.0中,(33)强调消息跨越不同对象或参与者的实际时间,而不仅仅关心消息的相对顺序;它能够(34)。","analyze":"本题考査UML的基本概念。<br>UML2.0提供了13种图,分别是类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图、部署图、组合结构图、包图、交互概览图和定时图。序列图、通信图、交互概览图和定时图均被称为交互图。<br>定时图是一种新增的、特别适合实时和嵌入式系统建模的交互图,也称为计时图 (Timing Diagram),计时图关注沿着线性时间轴、生命线内部和生命线之间的条件改变。它描述对象状态随着时间改变的情况,很像示波器,适合分析周期和非周期性任务。定时图强调消息跨越不同对象或参与者的实际时间,而不仅仅关心消息的相对顺序。<br>通信图(Communication Diagram)强调收发消息的对象的结构组织,在早期的版本中也被称作协作图。通信图强调参加交互的对象的组织。<br>交互概览图(Interaction Overview Diagram)是UML 2.0新增的交互图之一,它是活动图的变体,描述业务过程中的控制流概览,软件过程中的详细逻辑概览,以及将多个图进行连接,抽象掉了消息和生命线。<br>序列图(Sequence Diagram)是场景(scenario)的图形化表示,描述了以时间顺序组织的对象之间的交互活动。","multi":0,"questionType":1,"answer":"C","chooseItem":["796238962095050753"],"itemList":[{"id":"796238962023747585","questionId":"796238961071640577","content":" 表示对象之间的组织结构","answer":0,"chooseValue":"A"},{"id":"796238962057302017","questionId":"796238961071640577","content":" 直观地表示对象之间的协作关系","answer":0,"chooseValue":"B"},{"id":"796238962095050753","questionId":"796238961071640577","content":" 把状态发生变化的时刻以及各个状态所持续的时间具体地表示出来","answer":1,"chooseValue":"C"},{"id":"796238962128605185","questionId":"796238961071640577","content":" 确定参与交互的执行者","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239078029807617","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>面向对象系统的单元测试包括方法层次的测试、类层次的测试和类树层次的测试。在常见的测试技术中,(4)属于方法层次的测试,(5)属于类层次的测试。","analyze":"本题考查面向对象系统测试的基本概念。<br>面向对象系统的单元测试包括方法层次的测试、类层次的测试和类树层次的测试。方法层次的测试类似于传统软件测试中对单个函数的测试,常用的测试技术包括等价类划分测试、组合功能测试、递归函数测试和多态消息测试等。类层次的测试主要包括不变式边界测试、模态类测试和非模态类测试。类树层次的测试主要包括多态服务测试和展平测试。","multi":0,"questionType":1,"answer":"A","chooseItem":["796239079082577921"],"itemList":[{"id":"796239079082577921","questionId":"796239078029807617","content":" 等价类划分测试和多态消息测试","answer":1,"chooseValue":"A"},{"id":"796239079107743745","questionId":"796239078029807617","content":" 不变式边界测试和递归函数测试","answer":0,"chooseValue":"B"},{"id":"796239079132909569","questionId":"796239078029807617","content":" 组合功能测试和非模态类测试","answer":0,"chooseValue":"C"},{"id":"796239079158075393","questionId":"796239078029807617","content":" 不变式边界测试和模态类测试","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239005132804097","title":"某网站系统在用户登录时使用数字校验码。为了增强安全性,现在要求在登录校验码中增加字母或图片。如果直接修改原有的生成登录校验码的程序代码,则违反了面向对象设计原则中的(33)。","analyze":"面向对象的设计原则包括开闭原则、里氏替换原则、依赖倒置原则、组合/聚合复用原则、接口隔离原则和最少知识原则等。<br>开闭原则是指软件实体应对扩展开放,而对修改关闭,即尽量在不修改原有代码的情况下进行扩展。此处的“实体”可以指一个软件模块、一个由多个类组成的局部结构或一个独立的类。<br>应用开闭原则可扩展已有的系统,并为之提供新的行为,以满足对软件的新需求,使变化中的系统具有一定的适应性和灵活性。对于已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的系统有一定的稳定性和延续性,这样的系统同时满足了可复用性与可维护性。在面向对象设计中,开闭原则一般通过在原有模块中添加抽象层(例如接口或抽象类)来实现,它是其他OOD原则的基础,而其他原则是实现开闭原则的具体措施。","multi":0,"questionType":1,"answer":"A","chooseItem":["796239006089105409"],"itemList":[{"id":"796239006089105409","questionId":"796239005132804097","content":" 开闭原则","answer":1,"chooseValue":"A"},{"id":"796239006126854145","questionId":"796239005132804097","content":" 里氏替换原则","answer":0,"chooseValue":"B"},{"id":"796239006164602881","questionId":"796239005132804097","content":" 最少知识原则","answer":0,"chooseValue":"C"},{"id":"796239006202351617","questionId":"796239005132804097","content":" 组合复用原则","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238890728968193","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>UML中的事物也称为建模元素,(2)在模型中属于静态的部分,代表概念上或物理上的元素。这些元素中,(3)定义了交互的操作。","analyze":"本题考查UML建模的基本知识。<br>UML中的事物也称为建模元素,包括结构事物、行为事物、分组事物和注释事物。结构事物在模型中属于静态的部分,代表概念上或物理上的元素。UML有7种结构事物,分别是类、接口、协作、用例、活动类、构件和节点。其中,接口是指为类或构件提供特定服务的一组操作的集合;协作定义了交互的操作,是一些角色和其他事物一起工作,提供一些合作的动作,这些动作比事物的总和要大;活动类的对象有一个或多个进程或线程,其对象代表的事物的行为和其他事物是同时存在的;节点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。","multi":0,"questionType":1,"answer":"D","chooseItem":["796238891811098625"],"itemList":[{"id":"796238891681075201","questionId":"796238890728968193","content":" 节点","answer":0,"chooseValue":"A"},{"id":"796238891727212545","questionId":"796238890728968193","content":" 活动类","answer":0,"chooseValue":"B"},{"id":"796238891769155585","questionId":"796238890728968193","content":" 接口","answer":0,"chooseValue":"C"},{"id":"796238891811098625","questionId":"796238890728968193","content":" 协作","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238976796086273","title":"在订单管理模块中,新建订单和修改订单都需要检查用户是否登录,用例“新建订单”、“修改订单”与用例“检查用户登录”之间是(1)。","analyze":"本题考查用例建模的基本知识。<br>用例之间的关系主要有包含、扩展和泛化。当从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们,这个提取出来的公共用例称为抽象用例,而把 原始用例称为基本用例或基础用例。如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例。当多个用例共同拥有类似的结构和行为的时候,可以将它们的共性抽象为父用例,其他的用例作为泛化关系中的子用例。","multi":0,"questionType":1,"answer":"A","chooseItem":["796238977861439489"],"itemList":[{"id":"796238977861439489","questionId":"796238976796086273","content":" 包含关系","answer":1,"chooseValue":"A"},{"id":"796238977894993921","questionId":"796238976796086273","content":" 扩展关系","answer":0,"chooseValue":"B"},{"id":"796238977924354049","questionId":"796238976796086273","content":" 泛化关系","answer":0,"chooseValue":"C"},{"id":"796238977953714177","questionId":"796238976796086273","content":" 聚集关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239045565894657","title":"雇员类含有计算报酬的行为,.利用面向对象的(3),可以使得其派生类专职雇员类和兼职雇员类计算报酬的行为有相同的名称,但有不同的计算方法。","analyze":"本题考査面向对象中的多态性。<br>多态性是指多种形式,不同的对象可以以不同的形式响应同样的消息。专职雇员类的对象和兼职雇员类的对象对于同样的消息采用了不同的计算方法,这是面向对象多态性的体现。","multi":0,"questionType":1,"answer":"A","chooseItem":["796239046627053569"],"itemList":[{"id":"796239046627053569","questionId":"796239045565894657","content":" 多态性","answer":1,"chooseValue":"A"},{"id":"796239046652219393","questionId":"796239045565894657","content":" 继承性","answer":0,"chooseValue":"B"},{"id":"796239046673190913","questionId":"796239045565894657","content":" 封装性","answer":0,"chooseValue":"C"},{"id":"796239046689968129","questionId":"796239045565894657","content":" 复用性","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238985956446209","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>在面向对象系统中,有两个类存在整体与部分的关系,如果部分可能同时属于多个整体,则两者之间的关系称为(4);如果部分和整体具有统一的生命周期,则两者之间的关系称为(5)。","analyze":"本题考查面向对象的基本知识。<br>面向对象中类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等。两个类存在整体与部分的关系,且部分可能同时属于多个整体,则两者之间的关系称为聚合关系;如果一个类的变化会引起另一个类的变化,则称后者依赖于前者;泛化关系用于描述父类和子类之间的关系;两个类存在整体与部分的关系,而两者同时创建同时消亡,则两者之间的关系称为组合关系。","multi":0,"questionType":1,"answer":"D","chooseItem":["796238986958884865"],"itemList":[{"id":"796238986879193089","questionId":"796238985956446209","content":" 聚合关系","answer":0,"chooseValue":"A"},{"id":"796238986912747521","questionId":"796238985956446209","content":" 依赖关系","answer":0,"chooseValue":"B"},{"id":"796238986942107649","questionId":"796238985956446209","content":" 泛化关系","answer":0,"chooseValue":"C"},{"id":"796238986958884865","questionId":"796238985956446209","content":" 组合关系","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239029023559681","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用(4)原则可扩展已有的系统,并为之提供新的行为;(5)原则建议在面向对象程序设计中, 应尽量针对接口编程,而不是针对实现编程。","analyze":"本题考查面向对象设计的基础知识。<br>面向对象设计原则可以有效地提高系统的复用性和可维护性。开闭原则是指一个类应该对扩展开放,对修改关闭,从而实现系统行为的扩展。里氏替换原则是指子类型必须能够替换掉它的父类型,可以避免在多态应用中出现隐蔽的错误。依赖倒置原则是指 高层模块不应该依赖于底层模块的实现,应针对底层模块的接口而非实现编程。接口隔离原则是指针对不同的客户需求分离接口,避免接口的误用。最小知识原则是指在设计系统时减少对象之间的交互,降低对象之间的耦合度和依赖关系,提高系统的可维护性。","multi":0,"questionType":1,"answer":"B","chooseItem":["796239029988249601"],"itemList":[{"id":"796239029954695169","questionId":"796239029023559681","content":" 里氏替换","answer":0,"chooseValue":"A"},{"id":"796239029988249601","questionId":"796239029023559681","content":" 依赖倒置","answer":1,"chooseValue":"B"},{"id":"796239030009221121","questionId":"796239029023559681","content":" 接口隔离","answer":0,"chooseValue":"C"},{"id":"796239030038581249","questionId":"796239029023559681","content":" 最小知识","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238999093006337","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>已知一个类可以处理以英制标准(英寸、英里等)表示的数据,现在需要处理一公制单位表示的数据,则可以使用(30)模式来解决该问题。当(31)时,可以使用该设计模式。","analyze":"本题考查的是设计模式的基本概念。<br>Adapter的设计意图是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。<br>Adapter模式适用于以下情况:<br>想使用一个已经存在的类,而它的接口不符合要求。<br>想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。<br>仅适用于对象Adapter想使用一个已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口。对象适配器可以适配它的父类接口。","multi":0,"questionType":1,"answer":"B","chooseItem":["796239000070279169"],"itemList":[{"id":"796239000036724737","questionId":"796238999093006337","content":" 对一个抽象的实现部分的修改对用户不产生影响","answer":0,"chooseValue":"A"},{"id":"796239000070279169","questionId":"796238999093006337","content":" 想使用一个已经存在的类,而它的接口不符合用户需求","answer":1,"chooseValue":"B"},{"id":"796239000099639297","questionId":"796238999093006337","content":" 一个系统要独立于它的产品创建、组合和表示","answer":0,"chooseValue":"C"},{"id":"796239000128999425","questionId":"796238999093006337","content":" 一个对象的改变需要同时改变其他对象","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239081116815361","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>面向对象系统的单元测试包括方法层次的测试、类层次的测试和类树层次的测试。在常见的测试技术中,(4)属于方法层次的测试,(5)属于类层次的测试。","analyze":"本题考查面向对象系统测试的基本概念。<br>面向对象系统的单元测试包括方法层次的测试、类层次的测试和类树层次的测试。方法层次的测试类似于传统软件测试中对单个函数的测试,常用的测试技术包括等价类划分测试、组合功能测试、递归函数测试和多态消息测试等。类层次的测试主要包括不变式边界测试、模态类测试和非模态类测试。类树层次的测试主要包括多态服务测试和展平测试。","multi":0,"questionType":1,"answer":"D","chooseItem":["796239082106671105"],"itemList":[{"id":"796239082010202113","questionId":"796239081116815361","content":" 等价类划分测试和多态消息测试","answer":0,"chooseValue":"A"},{"id":"796239082043756545","questionId":"796239081116815361","content":" 不变式边界测试和递归函数测试","answer":0,"chooseValue":"B"},{"id":"796239082073116673","questionId":"796239081116815361","content":" 组合功能测试和非模态类测试","answer":0,"chooseValue":"C"},{"id":"796239082106671105","questionId":"796239081116815361","content":" 不变式边界测试和模态类测试","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238918495260673","title":"UML用系统视图描述系统的组织结构。其中,(1)对系统的物理代码的文件和构件进行建模。","analyze":"本题考査UML建模的基本知识。<br>UML利用5个系统视图描述系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。用例视图是最基本的需求分析模型。逻辑视图表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。进程视图是可执行线程和进程作为活动类的建模。实现视图对组成基于系统的物理代码的文件和构件进行建模。部署视图把组件部署到一组物理节点上,表示软件到硬件的映射和分布结构。","multi":0,"questionType":1,"answer":"C","chooseItem":["796238919451561985"],"itemList":[{"id":"796238919401230337","questionId":"796238918495260673","content":" 构件视图","answer":0,"chooseValue":"A"},{"id":"796238919426396161","questionId":"796238918495260673","content":" 物理视图","answer":0,"chooseValue":"B"},{"id":"796238919451561985","questionId":"796238918495260673","content":" 实现视图","answer":1,"chooseValue":"C"},{"id":"796238919476727809","questionId":"796238918495260673","content":" 部署视图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239026020438017","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用(4)原则可扩展已有的系统,并为之提供新的行为;(5)原则建议在面向对象程序设计 中, 应尽量针对接口编程,而不是针对实现编程。","analyze":"本题考查面向对象设计的基础知识。<br>面向对象设计原则可以有效地提高系统的复用性和可维护性。开闭原则是指一个类应该对扩展开放,对修改关闭,从而实现系统行为的扩展。里氏替换原则是指子类型必须能够替换掉它的父类型,可以避免在多态应用中出现隐蔽的错误。依赖倒置原则是指 高层模块不应该依赖于底层模块的实现,应针对底层模块的接口而非实现编程。接口隔离原则是指针对不同的客户需求分离接口,避免接口的误用。最小知识原则是指在设计系统时减少对象之间的交互,降低对象之间的耦合度和依赖关系,提高系统的可维护性。","multi":0,"questionType":1,"answer":"A","chooseItem":["796239026980933633"],"itemList":[{"id":"796239026980933633","questionId":"796239026020438017","content":" 开闭","answer":1,"chooseValue":"A"},{"id":"796239027014488065","questionId":"796239026020438017","content":" 里氏替换","answer":0,"chooseValue":"B"},{"id":"796239027048042497","questionId":"796239026020438017","content":" 依赖倒置","answer":0,"chooseValue":"C"},{"id":"796239027081596929","questionId":"796239026020438017","content":" 接口隔离","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239035050774529","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>采用面向对象技术设计银行信息系统,“账户类”应设计为(2), “账户管理 员类”应设计为(3)。","analyze":"本题考查面向对象分析的基础知识。<br>面向对象分析类可以分为边界类、控制类和实体类。边界类是一种用于对系统外部环境与其内部运作之间交互进行建模的类。控制类用于对一个或多个用例所特有的控制行为进行建模,描述用例业务逻辑的实现。实体类是用于对必须存储的信息和相关行为建模的类,用于保存和更新一些现象的有关信息。“账户类”主要用于存储数据,所以设计为实体类;“账户管理员类”强调对账户对象管理的业务行为,应设计为控制类。","multi":0,"questionType":1,"answer":"D","chooseItem":["796239036074184705"],"itemList":[{"id":"796239035994492929","questionId":"796239035050774529","content":" 控制类","answer":0,"chooseValue":"A"},{"id":"796239036019658753","questionId":"796239035050774529","content":" 边界类","answer":0,"chooseValue":"B"},{"id":"796239036049018881","questionId":"796239035050774529","content":" 接口类","answer":0,"chooseValue":"C"},{"id":"796239036074184705","questionId":"796239035050774529","content":" 实体类","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238902007451649","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>UML中,静态视图描述事务的静态结构,主要包括(3);交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,主要包括(4)。","analyze":"本题考查UML建模的基本知识。<br>UML中的静态视图用于描述事物的静态结构,主要包括用例图、类图和包图:动态视图描述事物动态行为,主要包括活动图、状态图、序列图和协作图。动态视图中,交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,主要包括序列图、协作图。","multi":0,"questionType":1,"answer":"D","chooseItem":["796238902942781441"],"itemList":[{"id":"796238902909227009","questionId":"796238902007451649","content":" 活动图、状态图","answer":0,"chooseValue":"A"},{"id":"796238902917615617","questionId":"796238902007451649","content":" 序列图、状态图","answer":0,"chooseValue":"B"},{"id":"796238902930198529","questionId":"796238902007451649","content":" 活动图、协作图","answer":0,"chooseValue":"C"},{"id":"796238902942781441","questionId":"796238902007451649","content":" 序列图、协作图","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238915496333313","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>UML用关系把事物结合在一起,其所包含的四种关系中,(3)描述一组对象之间连接的结构关系;(4)描述特殊元素的对象可以替换一般元素的对象。","analyze":"本题考查UML面向对象建模的基础知识。<br>UML用关系把事务结合在一起,UML中的关系主要有四种。<br>①依赖:两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。<br>②关联:一种描述一组对象之间连接的结构关系,如聚合关系。<br>③泛化:一种一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。 <br>④实现:类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。","multi":0,"questionType":1,"answer":"C","chooseItem":["796238916486189057"],"itemList":[{"id":"796238916414885889","questionId":"796238915496333313","content":" 依赖关系","answer":0,"chooseValue":"A"},{"id":"796238916452634625","questionId":"796238915496333313","content":" 关联关系","answer":0,"chooseValue":"B"},{"id":"796238916486189057","questionId":"796238915496333313","content":" 泛化关系","answer":1,"chooseValue":"C"},{"id":"796238916523937793","questionId":"796238915496333313","content":" 实现关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239074812776449","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>面向对象系统分析与设计中,结构图用于描述事物之间的关系,包括(2),行为图用于描述参与者与用例之间的交互及参与者如何使用系统,包括(3)。","analyze":"本题考查面向对象分析与设计的基本概念。<br>在UML中有两种类型的图:结构图和行为图。结构图用来描述事物之间的关系,包括类图、对象图、组件图和部署图。行为图用来描述参与者和用例之间的交互,或者描述参与者如何使用系统,行为图包括用例图、顺序图、活动图、状态图和通信图。","multi":0,"questionType":1,"answer":"D","chooseItem":["796239075811020801"],"itemList":[{"id":"796239075722940417","questionId":"796239074812776449","content":" 用例图、顺序图、活动图和部署图","answer":0,"chooseValue":"A"},{"id":"796239075752300545","questionId":"796239074812776449","content":" 用例图、顺序图、活动图和组件图","answer":0,"chooseValue":"B"},{"id":"796239075781660673","questionId":"796239074812776449","content":" 顺序图、活动图、状态图和部署图","answer":0,"chooseValue":"C"},{"id":"796239075811020801","questionId":"796239074812776449","content":" 顺序图、活动图、状态图和通信图","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239071088234497","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>面向对象系统分析与设计中,结构图用于描述事物之间的关系,包括(2),行为图用于描述参与者与用例之间的交互及参与者如何使用系统,包括(3)。","analyze":"本题考查面向对象分析与设计的基本概念。<br>在UML中有两种类型的图:结构图和行为图。结构图用来描述事物之间的关系,包括类图、对象图、组件图和部署图。行为图用来描述参与者和用例之间的交互,或者描述参与者如何使用系统,行为图包括用例图、顺序图、活动图、状态图和通信图。","multi":0,"questionType":1,"answer":"C","chooseItem":["796239072522686465"],"itemList":[{"id":"796239072493326337","questionId":"796239071088234497","content":" 用例图、类图、对象图和通信图","answer":0,"chooseValue":"A"},{"id":"796239072505909249","questionId":"796239071088234497","content":" 用例图、类图、对象图和部署图","answer":0,"chooseValue":"B"},{"id":"796239072522686465","questionId":"796239071088234497","content":" 类图、对象图、组件图和部署图","answer":1,"chooseValue":"C"},{"id":"796239072539463681","questionId":"796239071088234497","content":" 类图、对象图、组件图和通信图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239084040245249","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>餐厅的点菜过程如下面的UML顺序图所示,现采用命令(Command)模式来实现该场景。那么下面顺序图中,与命令模式中的类Command对应的类是(28):与类Receive对应的类是(29)。<br><img alt=\"\" width=\"501\" height=\"224\" src=\"https://image.chaiding.com/ruankao/608c4ebb5a552dfda1726d8df2860c2b.jpg?x-oss-process=style/ruankaodaren\">","analyze":"命令(Command)模式是一种对象的行为型模式,类似于传统程序设计方法中的回调机制,它将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤消的操作。命令模式是对命令的封装,将发出命令的责任和执行命令的责任分割开,委派给不同的对象,以实现发送者和接收者完全解耦,提供更大的灵活性和可扩展性。<br>Command模式的结构如下图所示。<br><img alt=\"\" width=\"432\" height=\"212\" src=\"https://image.chaiding.com/ruankao/c638fc7a4ae9215899a2fe4ad9fa9df9.jpg?x-oss-process=style/ruankaodaren\"><br>其中:<br>•类Command声明执行操作的接口;<br>• ConcreteCommand将一个接收者对象绑定于一个动作,并调用接收者相应的操作,以实现execute方法;<br>•类Client创建--个ConcreteCommand对象并设定它的接收者;<br>•类Invoker要求Command执行这个请求;<br>•类Receiver知道如何实施与执行一个请求相关的操作。任何类都可能作为一个接收者。<br>在“点菜”这个实例中,订单是厨师(Cook)与action (按订单加工)之间的绑定,厨师接受订单并对之负责。所以在该实例中,与Command类对应的类是Order,与Receiver对应的类是Cook。","multi":0,"questionType":1,"answer":"C","chooseItem":["796239084996546561"],"itemList":[{"id":"796239084950409217","questionId":"796239084040245249","content":" Cook","answer":0,"chooseValue":"A"},{"id":"796239084975575041","questionId":"796239084040245249","content":" Customer","answer":0,"chooseValue":"B"},{"id":"796239084996546561","questionId":"796239084040245249","content":" Order","answer":1,"chooseValue":"C"},{"id":"796239085017518081","questionId":"796239084040245249","content":" Waitress","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238942440542209","title":"“置于用户控制之下”是用户界面设计的“黄金三原则”之一。下列叙述中,不满足该原则的情形是(31)。","analyze":"置于用户控制之下、减轻用户的记忆负担以及保持界面的一致性是著名用户界面设计专家TheoMandel博士所创造,通常称之为人机交互的“黄金三原则”。<br>“置于用户控制之下”原则包含的内容是:在定义人机交互方式时,不强迫用户采用不是必须的或者不情愿的方式来进行操作,允许交互的中断和撤消。当用户操作技能等级提高时,可以实现流水化的交互方式,允许用户定制交互方式,以便使用户界面与内部技术细节隔离,允许用户和出现在屏幕上的对象直接进行交互。","multi":0,"questionType":1,"answer":"A","chooseItem":["796238943359094785"],"itemList":[{"id":"796238943359094785","questionId":"796238942440542209","content":" 不能中断或撤消正在进行的人机交互操作","answer":1,"chooseValue":"A"},{"id":"796238943388454913","questionId":"796238942440542209","content":" 不强迫用户采用不情愿的方式来进行操作","answer":0,"chooseValue":"B"},{"id":"796238943422009345","questionId":"796238942440542209","content":" 用户可以定制交互方式","answer":0,"chooseValue":"C"},{"id":"796238943451369473","questionId":"796238942440542209","content":" 用户可以和出现在屏幕上的对象直接进行交互","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238934035156993","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>UML结构中的公共机制是指达到特定目标的公共UML方法,其中(1)是事物语义的细节描述,它是模型真正的核心;(2)包括约束、构造型和标记值。","analyze":"本题考查UML面向对象建模的基础知识。<br>公共机制是指达到特定目标的公共UML方法,主要包括规则说明、修饰、公共分类和扩展机制。规则说明是元素语义的文本描述,它是模型真正的核心;UML为每一个事物设置了一个简单的记号,还可以通过修饰来表达更多的信息;公共分类包括类元和与实体、接口和实现两组公共分类;扩展机制包括约束、构造型、标记值。","multi":0,"questionType":1,"answer":"A","chooseItem":["796238935125676033"],"itemList":[{"id":"796238935125676033","questionId":"796238934035156993","content":" 规则说明","answer":1,"chooseValue":"A"},{"id":"796238935146647553","questionId":"796238934035156993","content":" 修饰","answer":0,"chooseValue":"B"},{"id":"796238935176007681","questionId":"796238934035156993","content":" 公共分类","answer":0,"chooseValue":"C"},{"id":"796238935196979201","questionId":"796238934035156993","content":" 扩展机制","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239063454601217","title":"面向对象分析的任务不包含(5)。","analyze":"本题考查面向对象分析的活动。<br>面向对象分析基于用例模型,通过对象建模记录确定的对象、对象封装的数据和行为以及对象之间的关系。面向对象分析包括3个活动:建模系统功能;发现并且确定业务对象:组织对象并确定其关系。","multi":0,"questionType":1,"answer":"C","chooseItem":["796239064469622785"],"itemList":[{"id":"796239064406708225","questionId":"796239063454601217","content":" 建模系统功能","answer":0,"chooseValue":"A"},{"id":"796239064436068353","questionId":"796239063454601217","content":" 发现并确定业务对象","answer":0,"chooseValue":"B"},{"id":"796239064469622785","questionId":"796239063454601217","content":" 建模各对象的状态","answer":1,"chooseValue":"C"},{"id":"796239064503177217","questionId":"796239063454601217","content":" 组织对象并确定对象间的关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238896034762753","title":"UML中,序列图的基本元素包括(2)。","analyze":"本题考查UML建模的基本知识。<br>UML序列图是一种交互图,它由一组对象或参与者以及它们之间可能发送的消息构成。构成序列图的基本元素包括对象、生命线和消息,还可以包括角色和激活期两种元素。泳道在UML活动图中区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。","multi":0,"questionType":1,"answer":"C","chooseItem":["796238897020424193"],"itemList":[{"id":"796238896961703937","questionId":"796238896034762753","content":" 对象、生命线和泳道","answer":0,"chooseValue":"A"},{"id":"796238896991064065","questionId":"796238896034762753","content":" 对象、泳道和消息","answer":0,"chooseValue":"B"},{"id":"796238897020424193","questionId":"796238896034762753","content":" 对象、生命线和消息","answer":1,"chooseValue":"C"},{"id":"796238897049784321","questionId":"796238896034762753","content":" 生命线、泳道和消息","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238887679709185","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>UML中的事物也称为建模元素,(2)在模型中属于静态的部分,代表概念上或物理上的元素。这些元素中,(3)定义了交互的操作。","analyze":"本题考查UML建模的基本知识。<br>UML中的事物也称为建模元素,包括结构事物、行为事物、分组事物和注释事物。结构事物在模型中属于静态的部分,代表概念上或物理上的元素。UML有7种结构事物,分别是类、接口、协作、用例、活动类、构件和节点。其中,接口是指为类或构件提供特定服务的一组操作的集合;协作定义了交互的操作,是一些角色和其他事物一起工作,提供一些合作的动作,这些动作比事物的总和要大;活动类的对象有一个或多个进程或线程,其对象代表的事物的行为和其他事物是同时存在的;节点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。","multi":0,"questionType":1,"answer":"B","chooseItem":["796238888644399105"],"itemList":[{"id":"796238888610844673","questionId":"796238887679709185","content":" 分组事物","answer":0,"chooseValue":"A"},{"id":"796238888644399105","questionId":"796238887679709185","content":" 结构事物","answer":1,"chooseValue":"B"},{"id":"796238888682147841","questionId":"796238887679709185","content":" 行为事物","answer":0,"chooseValue":"C"},{"id":"796238888719896577","questionId":"796238887679709185","content":" 物理事物","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238875331678209","title":"(2)适用于描述复杂算法的执行流程。","analyze":"本题考查面向对象分析与设计的基础知识。<br>活动图用来描述一个业务流程,说明活动之间的依赖关系。状态图显未出对象可能的状态以及由状态改变而导致的转移。活动图和状态图之间是有关系的。状态图把焦点集中在过程中的对象身上,而活动图则集中在一个单独过程中的动作流程。<br>类图通过显示出系统的类以及这些类之间的关系来表示系统,是系统静态对象结构的图形描述。用例图用来描述系统与外部系统以及用户之间的交互视图,强调这个系统是什么而不是这个系统怎么工作。","multi":0,"questionType":1,"answer":"A","chooseItem":["796238876548026369"],"itemList":[{"id":"796238876548026369","questionId":"796238875331678209","content":" 活动图","answer":1,"chooseValue":"A"},{"id":"796238876585775105","questionId":"796238875331678209","content":" 状态图","answer":0,"chooseValue":"B"},{"id":"796238876615135233","questionId":"796238875331678209","content":" 类图","answer":0,"chooseValue":"C"},{"id":"796238876644495361","questionId":"796238875331678209","content":" 用例图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238982991073281","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>在面向对象系统中,有两个类存在整体与部分的关系,如果部分可能同时属于多个整体,则两者之间的关系称为(4);如果部分和整体具有统一的生命周期,则两者之间的关系称为(5)。","analyze":"本题考查面向对象的基本知识。<br>面向对象中类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等。两个类存在整体与部分的关系,且部分可能同时属于多个整体,则两者之间的关系称为聚合关系;如果一个类的变化会引起另一个类的变化,则称后者依赖于前者;泛化关系用于描述父类和子类之间的关系;两个类存在整体与部分的关系,而两者同时创建同时消亡,则两者之间的关系称为组合关系。","multi":0,"questionType":1,"answer":"A","chooseItem":["796238983905431553"],"itemList":[{"id":"796238983905431553","questionId":"796238982991073281","content":" 聚合关系","answer":1,"chooseValue":"A"},{"id":"796238983934791681","questionId":"796238982991073281","content":" 依赖关系","answer":0,"chooseValue":"B"},{"id":"796238983964151809","questionId":"796238982991073281","content":" 泛化关系","answer":0,"chooseValue":"C"},{"id":"796238983993511937","questionId":"796238982991073281","content":" 组合关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239087014006785","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>餐厅的点菜过程如下面的UML顺序图所示,现采用命令(Command)模式来实现该场景。那么下面顺序图中,与命令模式中的类Command对应的类是(28):与类Receive对应的类是(29)。<br><img alt=\"\" width=\"501\" height=\"224\" src=\"https://image.chaiding.com/ruankao/f034dda4b93d2feb76159091ca18d0a5.jpg?x-oss-process=style/ruankaodaren\">","analyze":"命令(Command)模式是一种对象的行为型模式,类似于传统程序设计方法中的回调机制,它将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤消的操作。命令模式是对命令的封装,将发出命令的责任和执行命令的责任分割开,委派给不同的对象,以实现发送者和接收者完全解耦,提供更大的灵活性和可扩展性。<br>Command模式的结构如下图所示。<br><img alt=\"\" width=\"506\" height=\"201\" src=\"https://image.chaiding.com/ruankao/ba2eaf197f701bf90d219d1c73e3d60f.jpg?x-oss-process=style/ruankaodaren\"><br>其中:<br>•类Command声明执行操作的接口;<br>• ConcreteCommand将一个接收者对象绑定于一个动作,并调用接收者相应的操作,以实现execute方法;<br>•类Client创建--个ConcreteCommand对象并设定它的接收者;<br>•类Invoker要求Command执行这个请求;<br>•类Receiver知道如何实施与执行一个请求相关的操作。任何类都可能作为一个接收者。<br>在“点菜”这个实例中,订单是厨师(Cook)与action (按订单加工)之间的绑定,厨师接受订单并对之负责。所以在该实例中,与Command类对应的类是Order,与Receiver对应的类是Cook。","multi":0,"questionType":1,"answer":"A","chooseItem":["796239087924170753"],"itemList":[{"id":"796239087924170753","questionId":"796239087014006785","content":" Cook","answer":1,"chooseValue":"A"},{"id":"796239087957725185","questionId":"796239087014006785","content":" Customer","answer":0,"chooseValue":"B"},{"id":"796239087995473921","questionId":"796239087014006785","content":" Order","answer":0,"chooseValue":"C"},{"id":"796239088016445441","questionId":"796239087014006785","content":" Waitress","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239014016339969","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>用于增加对象功能的设计模式是(36);用于限制对象访问的设计模式是(37) .","analyze":"装饰(Decorator)模式是一种对象结构型模式,可以动态地给一个对象增加一些额外的职责。就增加对象功能来说,装饰模式比生成子类实现更为灵活。<br>代理(Proxy)模式可为某个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式能够协调调用者和被调用者,能够在一定程度上降低系统的耦合度。","multi":0,"questionType":1,"answer":"D","chooseItem":["796239014976835585"],"itemList":[{"id":"796239014926503937","questionId":"796239014016339969","content":" Adapter","answer":0,"chooseValue":"A"},{"id":"796239014943281153","questionId":"796239014016339969","content":" Decorator","answer":0,"chooseValue":"B"},{"id":"796239014960058369","questionId":"796239014016339969","content":" Delegation","answer":0,"chooseValue":"C"},{"id":"796239014976835585","questionId":"796239014016339969","content":" Proxy","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238980008923137","title":"在面向对象方法中,信息流是通过向参与者或内部对象发送消息形成的。(3)用于描述进出系统的信息流。","analyze":"本题考查面向对象分析与设计的基础知识。<br>状态图描述了一个对象在其生命周期中可能的状态组合;顺序图用来描述对象按照时间顺序的消息流来建模用例;数据流图是一种描述数据通过系的流程以及系统实施的工作或处理过程的过程模型;流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程。","multi":0,"questionType":1,"answer":"B","chooseItem":["796238980956835841"],"itemList":[{"id":"796238980923281409","questionId":"796238980008923137","content":" 协作图","answer":0,"chooseValue":"A"},{"id":"796238980956835841","questionId":"796238980008923137","content":" 顺序图","answer":1,"chooseValue":"B"},{"id":"796238980994584577","questionId":"796238980008923137","content":" 数据流图","answer":0,"chooseValue":"C"},{"id":"796238981028139009","questionId":"796238980008923137","content":" 流程图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238937260576769","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>UML结构中的公共机制是指达到特定目标的公共UML方法,其中(1)是事物语义的细节描述,它是模型真正的核心;(2)包括约束、构造型和标记值。","analyze":"本题考查UML面向对象建模的基础知识。<br>公共机制是指达到特定目标的公共UML方法,主要包括规则说明、修饰、公共分类和扩展机制。规则说明是元素语义的文本描述,它是模型真正的核心;UML为每一个事物设置了一个简单的记号,还可以通过修饰来表达更多的信息;公共分类包括类元和与实体、接口和实现两组公共分类;扩展机制包括约束、构造型、标记值。","multi":0,"questionType":1,"answer":"D","chooseItem":["796238938300764161"],"itemList":[{"id":"796238938195906561","questionId":"796238937260576769","content":" 规则说明","answer":0,"chooseValue":"A"},{"id":"796238938242043905","questionId":"796238937260576769","content":" 修饰","answer":0,"chooseValue":"B"},{"id":"796238938271404033","questionId":"796238937260576769","content":" 公共分类","answer":0,"chooseValue":"C"},{"id":"796238938300764161","questionId":"796238937260576769","content":" 扩展机制","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238912497405953","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>UML用关系把事物结合在一起,其所包含的四种关系中,(3)描述一组对象之间连接的结构关系;(4)描述特殊元素的对象可以替换一般元素的对象。","analyze":"本题考查UML面向对象建模的基础知识。<br>UML用关系把事务结合在一起,UML中的关系主要有四种。<br>①依赖:两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。<br>②关联:一种描述一组对象之间连接的结构关系,如聚合关系。<br>③泛化:一种一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。 <br>④实现:类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。","multi":0,"questionType":1,"answer":"B","chooseItem":["796238913449512961"],"itemList":[{"id":"796238913424347137","questionId":"796238912497405953","content":" 依赖关系","answer":0,"chooseValue":"A"},{"id":"796238913449512961","questionId":"796238912497405953","content":" 关联关系","answer":1,"chooseValue":"B"},{"id":"796238913478873089","questionId":"796238912497405953","content":" 泛化关系","answer":0,"chooseValue":"C"},{"id":"796238913504038913","questionId":"796238912497405953","content":" 实现关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238909511061505","title":"UML所包括的图形中,()将进程或其他计算结构展示为计算内部的控制流和数据流,主要用来描述系统的动态视图。","analyze":"本题考查UML面向对象建模的基础知识。<br>UML2.0所包括的图形中,活动图将进程及其他计算的结构展示为计算内部一步步的控制流和数据流。活动图专注于描述系统的动态视图。它对系统的功能建模持别重要,并强调对象间的控制流程。","multi":0,"questionType":1,"answer":"C","chooseItem":["796238910454779905"],"itemList":[{"id":"796238910412836865","questionId":"796238909511061505","content":" 流程图","answer":0,"chooseValue":"A"},{"id":"796238910433808385","questionId":"796238909511061505","content":" 通信图","answer":0,"chooseValue":"B"},{"id":"796238910454779905","questionId":"796238909511061505","content":" 活动图","answer":1,"chooseValue":"C"},{"id":"796238910475751425","questionId":"796238909511061505","content":" 协作图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796238995846615041","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>已知一个类可以处理以英制标准(英寸、英里等)表示的数据,现在需要处理一公制单位表示的数据,则可以使用(30)模式来解决该问题。当(31)时,可以使用该设计模式。","analyze":"本题考查的是设计模式的基本概念。<br>Adapter的设计意图是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。<br>Adapter模式适用于以下情况:<br>想使用一个已经存在的类,而它的接口不符合要求。<br>想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。<br>仅适用于对象Adapter想使用一个已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口。对象适配器可以适配它的父类接口。","multi":0,"questionType":1,"answer":"A","chooseItem":["796238996916162561"],"itemList":[{"id":"796238996916162561","questionId":"796238995846615041","content":" Adapter","answer":1,"chooseValue":"A"},{"id":"796238996941328385","questionId":"796238995846615041","content":" Decorator","answer":0,"chooseValue":"B"},{"id":"796238996966494209","questionId":"796238995846615041","content":" Delegation","answer":0,"chooseValue":"C"},{"id":"796238996991660033","questionId":"796238995846615041","content":" Proxy","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239060304678913","title":"面向对象分析的一项重要任务是发现潜在对象并进行筛选,错误的做法是删除(4)。","analyze":"本题考查面向对象建模的基本方法。<br>在面向对象分析中,并不是所有的名词都表示了问题域内有用的业务对象,通过删除对象的同义词、系统范围之外的名词、不具有独特行为的名词、不清楚的名词和另一个对象的行动或属性的名词来最终清理候选对象列表。","multi":0,"questionType":1,"answer":"B","chooseItem":["796239061386809345"],"itemList":[{"id":"796239061357449217","questionId":"796239060304678913","content":" 系统范围之外的名词","answer":0,"chooseValue":"A"},{"id":"796239061386809345","questionId":"796239060304678913","content":" 表示事件的名词","answer":1,"chooseValue":"B"},{"id":"796239061416169473","questionId":"796239060304678913","content":" 不具有独特行为的名词","answer":0,"chooseValue":"C"},{"id":"796239061441335297","questionId":"796239060304678913","content":" —个对象的同义词","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234283252469761","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>UML 2.0所包含的图中,(3)将进程或者其他结构展示为计算内部一步步的控制流和数据流;(4)描述模型本身分解而成的组织单元以及它们之间的依赖关系;(5)描述运行时的处理节点以及在其内部生存的构件的配置。","analyze":"本题考查统一建模语言UML的基础知识。<br> UML 2.0包括14种图,其中,活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图,它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。","multi":0,"questionType":1,"answer":"D","chooseItem":["796234284242325505"],"itemList":[{"id":"796234284171022337","questionId":"796234283252469761","content":" 用例图","answer":0,"chooseValue":"A"},{"id":"796234284191993857","questionId":"796234283252469761","content":" 通信图","answer":0,"chooseValue":"B"},{"id":"796234284221353985","questionId":"796234283252469761","content":" 状态图","answer":0,"chooseValue":"C"},{"id":"796234284242325505","questionId":"796234283252469761","content":" 活动图","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234286175899649","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>UML 2.0所包含的图中,(3)将进程或者其他结构展示为计算内部一步步的控制流和数据流;(4)描述模型本身分解而成的组织单元以及它们之间的依赖关系;(5)描述运行时的处理节点以及在其内部生存的构件的配置。","analyze":"本题考查统一建模语言UML的基础知识。<br> UML 2.0包括14种图,其中,活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图,它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。","multi":0,"questionType":1,"answer":"B","chooseItem":["796234287190921217"],"itemList":[{"id":"796234287161561089","questionId":"796234286175899649","content":" 类图","answer":0,"chooseValue":"A"},{"id":"796234287190921217","questionId":"796234286175899649","content":" 包图","answer":1,"chooseValue":"B"},{"id":"796234287216087041","questionId":"796234286175899649","content":" 对象图","answer":0,"chooseValue":"C"},{"id":"796234287245447169","questionId":"796234286175899649","content":" 构件图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234289229352961","title":"<p><strong>请作答第<span style=\"color: red\">3</span>个空。</strong></p>UML 2.0所包含的图中,(3)将进程或者其他结构展示为计算内部一步步的控制流和数据流;(4)描述模型本身分解而成的组织单元以及它们之间的依赖关系;(5)描述运行时的处理节点以及在其内部生存的构件的配置。","analyze":"本题考查统一建模语言UML的基础知识。<br> UML 2.0包括14种图,其中,活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图,它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。","multi":0,"questionType":1,"answer":"C","chooseItem":["796234290194042881"],"itemList":[{"id":"796234290135322625","questionId":"796234289229352961","content":" 组合结构图","answer":0,"chooseValue":"A"},{"id":"796234290164682753","questionId":"796234289229352961","content":" 制品图","answer":0,"chooseValue":"B"},{"id":"796234290194042881","questionId":"796234289229352961","content":" 部署图","answer":1,"chooseValue":"C"},{"id":"796234290219208705","questionId":"796234289229352961","content":" 交互图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234764305584129","title":"UML2.0所包含的图中,( )描述由模型本身分解而成的组织单元,以及他们之间的依赖关系。","analyze":"本题主要考査UML的基础知识。<br>在UML2.0所包含的图中,包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。","multi":0,"questionType":1,"answer":"B","chooseItem":["796234765278662657"],"itemList":[{"id":"796234765253496833","questionId":"796234764305584129","content":" 组合结构图","answer":0,"chooseValue":"A"},{"id":"796234765278662657","questionId":"796234764305584129","content":" 包图","answer":1,"chooseValue":"B"},{"id":"796234765303828481","questionId":"796234764305584129","content":" 部署图","answer":0,"chooseValue":"C"},{"id":"796234765324800001","questionId":"796234764305584129","content":" 构件图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796233809166094337","title":"UML中的( )主要用于参与者与系统中对象之间的交互,以及这些对象之间交互的建模。","analyze":"<img src=\"https://image.chaiding.com/ruankao/2730e82d81a4cece6c4e370f9cb9cd2e.jpg?x-oss-process=style/ruankaodaren\">","multi":0,"questionType":1,"answer":"A","chooseItem":["796233810197893121"],"itemList":[{"id":"796233810197893121","questionId":"796233809166094337","content":" 顺序图","answer":1,"chooseValue":"A"},{"id":"796233810218864641","questionId":"796233809166094337","content":" 活动图","answer":0,"chooseValue":"B"},{"id":"796233810235641857","questionId":"796233809166094337","content":" 用例图","answer":0,"chooseValue":"C"},{"id":"796233810252419073","questionId":"796233809166094337","content":" 状态图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235241780957185","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>UML事物的关系中,(3)和(4)本质上都属于依赖关系。","analyze":"本题考查UML面向对象建模的基础知识。<br>UML事物的关系中,包含关系和扩展关系都属于依赖关系。对包含关系而言,抽象用例中的事件流是一定插入到基本用例中去的,并且插入点只有一个扩展用例的事件流可以抽象为基本用例的备选事件流,在扩展关系中,可以根据一定的条件来决定是否将扩展用例的事件流插入到基本用例的事件流中,并且插入点可以有多个。","multi":0,"questionType":1,"answer":"C","chooseItem":["796235242863087617"],"itemList":[{"id":"796235242816950273","questionId":"796235241780957185","content":" 泛化关系","answer":0,"chooseValue":"A"},{"id":"796235242837921793","questionId":"796235241780957185","content":" 关联关系","answer":0,"chooseValue":"B"},{"id":"796235242863087617","questionId":"796235241780957185","content":" 包含关系","answer":1,"chooseValue":"C"},{"id":"796235242888253441","questionId":"796235241780957185","content":" 组合关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235244989599745","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>UML事物的关系中,(3)和(4)本质上都属于依赖关系。","analyze":"本题考查UML面向对象建模的基础知识。<br> UML事物的关系中,包含关系和扩展关系都属于依赖关系。对包含关系而言,抽象用例中的事件流是一定插入到基本用例中去的,并且插入点只有一个扩展用例的事件流可以抽象为基本用例的备选事件流,在扩展关系中,可以根据一定的条件来决定是否将扩展用例的事件流插入到基本用例的事件流中,并且插入点可以有多个。","multi":0,"questionType":1,"answer":"C","chooseItem":["796235246042370049"],"itemList":[{"id":"796235245954289665","questionId":"796235244989599745","content":" 继承关系","answer":0,"chooseValue":"A"},{"id":"796235245996232705","questionId":"796235244989599745","content":" 聚合关系","answer":0,"chooseValue":"B"},{"id":"796235246042370049","questionId":"796235244989599745","content":" 扩展关系","answer":1,"chooseValue":"C"},{"id":"796235246067535873","questionId":"796235244989599745","content":" 实现关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234767308705793","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>UML的结构包括构造块、规则和公共机制三个部分。在基本构造块中,(3)能够表示多个相互关联的事物的集合;规则是构造块如何放在一起的规定, 包括了(4);公共机制中,(5)是关于事物语义的细节描述。","analyze":"本题主要考查UML的基础知识。<br>UML的结构包括构造块、规则和公共机制三个部分。UML有三种基本的构造块,分别是事物、关系和图。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个互相关联的事物的集合。公共机制是指达到特定目标的公共UML方法,主要包括规格说明(详细说明)、修饰、公共分类(通用划分)和扩展机制4种,其中,规格说明是事物语义的细节描述,它是模型真正的核心。规则是构造块如何放在一起的规定,包括为构造块命名;给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行。 ","multi":0,"questionType":1,"answer":"C","chooseItem":["796234768483110913"],"itemList":[{"id":"796234768411807745","questionId":"796234767308705793","content":" 用例描述","answer":0,"chooseValue":"A"},{"id":"796234768449556481","questionId":"796234767308705793","content":" 活动","answer":0,"chooseValue":"B"},{"id":"796234768483110913","questionId":"796234767308705793","content":" 图","answer":1,"chooseValue":"C"},{"id":"796234768520859649","questionId":"796234767308705793","content":" 关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234770676731905","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>UML的结构包括构造块、规则和公共机制三个部分。在基本构造块中,(3)能够表示多个相互关联的事物的集合;规则是构造块如何放在一起的规定, 包括了(4);公共机制中,(5)是关于事物语义的细节描述。","analyze":"本题主要考查UML的基础知识。<br>UML的结构包括构造块、规则和公共机制三个部分。UML有三种基本的构造块,分别是事物、关系和图。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个互相关联的事物的集合。公共机制是指达到特定目标的公共UML方法,主要包括规格说明(详细说明)、修饰、公共分类(通用划分)和扩展机制4种,其中,规格说明是事物语义的细节描述,它是模型真正的核心。规则是构造块如何放在一起的规定,包括为构造块命名;给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行。 ","multi":0,"questionType":1,"answer":"D","chooseItem":["796234771830165505"],"itemList":[{"id":"796234771754668033","questionId":"796234770676731905","content":" 命名、范围、可见性和一致性","answer":0,"chooseValue":"A"},{"id":"796234771775639553","questionId":"796234770676731905","content":" 范围、可见性、一致性和完整性","answer":0,"chooseValue":"B"},{"id":"796234771804999681","questionId":"796234770676731905","content":" 命名、可见性、一致性和执行","answer":0,"chooseValue":"C"},{"id":"796234771830165505","questionId":"796234770676731905","content":" 命名、范围、可见性、完整性和执行","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234773801488385","title":"<p><strong>请作答第<span style=\"color: red\">3</span>个空。</strong></p>UML的结构包括构造块、规则和公共机制三个部分。在基本构造块中,(3)能够表示多个相互关联的事物的集合;规则是构造块如何放在一起的规定, 包括了(4);公共机制中,(5)是关于事物语义的细节描述。","analyze":"本题主要考查UML的基础知识。<br>UML的结构包括构造块、规则和公共机制三个部分。UML有三种基本的构造块,分别是事物、关系和图。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个互相关联的事物的集合。公共机制是指达到特定目标的公共UML方法,主要包括规格说明(详细说明)、修饰、公共分类(通用划分)和扩展机制4种,其中,规格说明是事物语义的细节描述,它是模型真正的核心。规则是构造块如何放在一起的规定,包括为构造块命名;给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行。","multi":0,"questionType":1,"answer":"A","chooseItem":["796234774992670721"],"itemList":[{"id":"796234774992670721","questionId":"796234773801488385","content":" 规格说明","answer":1,"chooseValue":"A"},{"id":"796234775026225153","questionId":"796234773801488385","content":" 事物标识","answer":0,"chooseValue":"B"},{"id":"796234775059779585","questionId":"796234773801488385","content":" 类与对象","answer":0,"chooseValue":"C"},{"id":"796234775089139713","questionId":"796234773801488385","content":" 扩展机制","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235238605869057","title":"UML通过五个视图来定义系统架构,(2)表示了设计模型中在架构方面具有重要意义的类、子系统、包和用例实现的子集。","analyze":"本题考查UML面向对象建模的基础知识。<br>UML对系统架构的定义是提供组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。逻辑视图表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。进程视图是可执行线程和进程作为活动类的建模。用例视图是最基本的需求分析模型。部署视图是把构建部署到一组物理节点上,表示软件到硬件的映射和分布结构。","multi":0,"questionType":1,"answer":"A","chooseItem":["796235239537004545"],"itemList":[{"id":"796235239537004545","questionId":"796235238605869057","content":" 逻辑视图","answer":1,"chooseValue":"A"},{"id":"796235239583141889","questionId":"796235238605869057","content":" 用例视图","answer":0,"chooseValue":"B"},{"id":"796235239625084929","questionId":"796235238605869057","content":" 进程视图","answer":0,"chooseValue":"C"},{"id":"796235239650250753","questionId":"796235238605869057","content":" 部署视图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235098323177473","title":"下面关于观察者模式描述不正确的是()。","analyze":"本题考查观察者模式的相关知识。<br>观察者模式(有时又被称为发布(publish)-订阅(Subscribe)模式、模型-视图模式、源-收听者模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。观察者模式观察者模式完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化,发现数据变化后,就显示在界面上。面向对象设计的一个原则是:系统中的每个类将重点放在某一个功能上,而不是其他方面。一个对象只做一件事情,并且将它做好。观察者模式在模块之间划定了清晰的界限,提高了应用程序的可维护性和重用性。<br>观察者设计模式定义了对象间的一种一对多的依赖关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。","multi":0,"questionType":1,"answer":"C","chooseItem":["796235099334004737"],"itemList":[{"id":"796235099254312961","questionId":"796235098323177473","content":" 观察者模式实现了表示层和数据层的分离","answer":0,"chooseValue":"A"},{"id":"796235099304644609","questionId":"796235098323177473","content":" 观察者模式定义了稳定的更新消息传递机制","answer":0,"chooseValue":"B"},{"id":"796235099334004737","questionId":"796235098323177473","content":" 在观察者模式中,相同的数据层不可以有不同的表示层","answer":1,"chooseValue":"C"},{"id":"796235099354976257","questionId":"796235098323177473","content":" 观察者模式定义了对象之间的一种一对多的依赖关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234524399783937","title":"关于用例图中的参与者,说法正确的是( )。","analyze":"本题考查用例模型的基础知识。<br> 用例图中,参与者是指存在于系统外部并与系统进行交互的任何事物,既可以是使用系统的用户,也可以是其他外部系统和设备等外部实体。当系统需要定时触发时,时钟就是一个参与者。执行系统某项功能的参与者可能有多个,根据职责的重要程度不同,有主要参与者和次要参与者之分。","multi":0,"questionType":1,"answer":"B","chooseItem":["796234525448359937"],"itemList":[{"id":"796234525418999809","questionId":"796234524399783937","content":" 参与者是与系统交互的事物,都是由人来承担","answer":0,"chooseValue":"A"},{"id":"796234525448359937","questionId":"796234524399783937","content":" 当系统需要定时触发时,时钟就是一个参与者","answer":1,"chooseValue":"B"},{"id":"796234525477720065","questionId":"796234524399783937","content":" 参与者可以在系统外部,也可能在系统内部","answer":0,"chooseValue":"C"},{"id":"796234525507080193","questionId":"796234524399783937","content":" 系统某项特定功能只能有一个参与者","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235013011034113","title":"关于设计模式,下列说法正确的是( )。","analyze":"本题主要考查设计模式的基础知识。<br>软件模式主要可分为设计模式、分析模式、组织和过程模式等,每一类又可分为若干个子类。创建型模式支持对象的创建,包括抽象工厂、构建器、工厂方法、原型和单独五种模式。结构型模式包括了适配器、桥接、组合、装饰器、外观、代理和享元模式。 行为型模式包括责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法和访问者模式。","multi":0,"questionType":1,"answer":"B","chooseItem":["796235013984112641"],"itemList":[{"id":"796235013950558209","questionId":"796235013011034113","content":" 原型(Prototype)和模板方法 (Template Method)属于创建型模式","answer":0,"chooseValue":"A"},{"id":"796235013984112641","questionId":"796235013011034113","content":" 组合(Composite)和代理 (Proxy)属于结构型模式","answer":1,"chooseValue":"B"},{"id":"796235014017667073","questionId":"796235013011034113","content":" 桥接(Bridge)和状态(State)属于行为型模式","answer":0,"chooseValue":"C"},{"id":"796235014042832897","questionId":"796235013011034113","content":" 外观(Facade)和中介(Mediator)属于创建型模式","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234527532929025","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>在线学习系统中,课程学习和课程考试都需要先检查学员的权限,“课程学习”与“检查权限”两个用例之间属于(3);课程学习过程中,如果所缴纳学费不够,就需要补缴学费,“课程学习”与“缴纳学费”两个用例之间属于(4);课程学习前需要课程注册,可以采用电话注册或者网络注册,“课程注册”与“网络注册”两个用例之间属于(5)。","analyze":"本题考查用例模型的基础知识。<br> 包含关系是指可以从两个或两个以上的用例中提取公共行为,在线学习系统中,课程学习和课程考试都需要先检查学员的权限,“课程学习”与“检查权限”两个用例之间属于包含关系。扩展关系是指一个用例明显地混合了两种或两种以上的不同场景时可以发生多种分支,“课程学习”与“缴纳学费”两个用例之间属于扩展关系。泛化关系是指多个用例共同拥有一种类似的结构和行为,“课程注册”与“网络注册”两个用例之间属于泛化关系。","multi":0,"questionType":1,"answer":"A","chooseItem":["796234528673779713"],"itemList":[{"id":"796234528673779713","questionId":"796234527532929025","content":" 包含关系","answer":1,"chooseValue":"A"},{"id":"796234528719917057","questionId":"796234527532929025","content":" 扩展关系","answer":0,"chooseValue":"B"},{"id":"796234528770248705","questionId":"796234527532929025","content":" 泛化关系","answer":0,"chooseValue":"C"},{"id":"796234528820580353","questionId":"796234527532929025","content":" 关联关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234530762543105","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>在线学习系统中,课程学习和课程考试都需要先检查学员的权限,“课程学习”与“检查权限”两个用例之间属于(3);课程学习过程中,如果所缴纳学费不够,就需要补缴学费,“课程学习”与“缴纳学费”两个用例之间属于(4);课程学习前需要课程注册,可以采用电话注册或者网络注册,“课程注册”与“网络注册”两个用例之间属于(5)。","analyze":"本题考查用例模型的基础知识。<br> 包含关系是指可以从两个或两个以上的用例中提取公共行为,在线学习系统中,课程学习和课程考试都需要先检查学员的权限,“课程学习”与“检查权限”两个用例之间属于包含关系。扩展关系是指一个用例明显地混合了两种或两种以上的不同场景时可以发生多种分支,“课程学习”与“缴纳学费”两个用例之间属于扩展关系。泛化关系是指多个用例共同拥有一种类似的结构和行为,“课程注册”与“网络注册”两个用例之间属于泛化关系。","multi":0,"questionType":1,"answer":"B","chooseItem":["796234531727233025"],"itemList":[{"id":"796234531702067201","questionId":"796234530762543105","content":" 包含关系","answer":0,"chooseValue":"A"},{"id":"796234531727233025","questionId":"796234530762543105","content":" 扩展关系","answer":1,"chooseValue":"B"},{"id":"796234531764981761","questionId":"796234530762543105","content":" 泛化关系","answer":0,"chooseValue":"C"},{"id":"796234531790147585","questionId":"796234530762543105","content":" 关联关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234533820190721","title":"<p><strong>请作答第<span style=\"color: red\">3</span>个空。</strong></p>在线学习系统中,课程学习和课程考试都需要先检查学员的权限,“课程学习”与“检查权限”两个用例之间属于(3);课程学习过程中,如果所缴纳学费不够,就需要补缴学费,“课程学习”与“缴纳学费”两个用例之间属于(4);课程学习前需要课程注册,可以采用电话注册或者网络注册,“课程注册”与“网络注册”两个用例之间属于(5)。","analyze":"本题考查用例模型的基础知识。<br> 包含关系是指可以从两个或两个以上的用例中提取公共行为,在线学习系统中,课程学习和课程考试都需要先检查学员的权限,“课程学习”与“检查权限”两个用例之间属于包含关系。扩展关系是指一个用例明显地混合了两种或两种以上的不同场景时可以发生多种分支,“课程学习”与“缴纳学费”两个用例之间属于扩展关系。泛化关系是指多个用例共同拥有一种类似的结构和行为,“课程注册”与“网络注册”两个用例之间属于泛化关系。","multi":0,"questionType":1,"answer":"C","chooseItem":["796234534793269249"],"itemList":[{"id":"796234534734548993","questionId":"796234533820190721","content":" 包含关系","answer":0,"chooseValue":"A"},{"id":"796234534763909121","questionId":"796234533820190721","content":" 扩展关系","answer":0,"chooseValue":"B"},{"id":"796234534793269249","questionId":"796234533820190721","content":" 泛化关系","answer":1,"chooseValue":"C"},{"id":"796234534822629377","questionId":"796234533820190721","content":" 关联关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235324471660545","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>对于如下所示的序列图所描述的场景,最适合于采用的设计模式是(30);该模式适用的场合是(31)。<br><img alt=\"\" width=\"460\" height=\"225\" src=\"https://image.chaiding.com/ruankao/da5b9c04a83409667bf3852dd5e386e2.jpg?x-oss-process=style/ruankaodaren\">","analyze":"本题考查设计模式的相关基础知识。<br>访问者(Visitor)模式是一种对象的行为型模式,用于表示一个作用于某对象结构中的各元素的操作,它使得用户可以在不改变各元素的类的前提下,定义作用于这些元素的新操作。访问者模式使得增加新的操作变得很容易,但在一定程度上破坏了封装性。上图展示的是一个出租车公司的例子。当有人打电话叫车时,出租车公司会为他派出一辆车(接收Visitor)。一旦乘客(Customer)上了车,那么出租车司机就成为承运关系的主体。<br>访问者模式的目的是要把数据结构和作用于结构上的操作之间的耦合解开,使得操作集合可以相对自由地演化。如果这样的系统有比较稳定的数据结构,又有易于变化的算法的话,使用访问者模式比较合适,因为访问者模式使得算法操作的增加变得容易。","multi":0,"questionType":1,"answer":"A","chooseItem":["796235325406990337"],"itemList":[{"id":"796235325406990337","questionId":"796235324471660545","content":" Visitor","answer":1,"chooseValue":"A"},{"id":"796235325432156161","questionId":"796235324471660545","content":" Strategy","answer":0,"chooseValue":"B"},{"id":"796235325453127681","questionId":"796235324471660545","content":" Observer","answer":0,"chooseValue":"C"},{"id":"796235325478293505","questionId":"796235324471660545","content":" State","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235327571251201","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>对于如下所示的序列图所描述的场景,最适合于采用的设计模式是(30);该模式适用的场合是(31)。<br><img alt=\"\" width=\"460\" height=\"225\" src=\"https://image.chaiding.com/ruankao/fcd9edbc2bfa754f27a61d665d9dbfdd.jpg?x-oss-process=style/ruankaodaren\">","analyze":"本题考查设计模式的相关基础知识。<br>访问者(Visitor)模式是一种对象的行为型模式,用于表示一个作用于某对象结构中的各元素的操作,它使得用户可以在不改变各元素的类的前提下,定义作用于这些元素的新操作。访问者模式使得增加新的操作变得很容易,但在一定程度上破坏了封装性。上图展示的是一个出租车公司的例子。当有人打电话叫车时,出租车公司会为他派出一辆车(接收Visitor)。一旦乘客(Customer)上了车,那么出租车司机就成为承运关系的主体。<br>访问者模式的目的是要把数据结构和作用于结构上的操作之间的耦合解开,使得操作集合可以相对自由地演化。如果这样的系统有比较稳定的数据结构,又有易于变化的算法的话,使用访问者模式比较合适,因为访问者模式使得算法操作的增加变得容易。","multi":0,"questionType":1,"answer":"B","chooseItem":["796235328535941121"],"itemList":[{"id":"796235328502386689","questionId":"796235327571251201","content":" 对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为","answer":0,"chooseValue":"A"},{"id":"796235328535941121","questionId":"796235327571251201","content":" 定义对象结构的类很少改变,但经常需要在此结构上定义新的操作","answer":1,"chooseValue":"B"},{"id":"796235328561106945","questionId":"796235327571251201","content":" 需要使用一个算法的不同变体","answer":0,"chooseValue":"C"},{"id":"796235328590467073","questionId":"796235327571251201","content":" 一个对象必须通知其它对象,而它又不能假定其它对象是谁","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235315235803137","title":"对信息系统进行建模,其目的是为了获得对系统的框架认识和概念性认识。以下关于建模方法的叙述中,正确的是(27)。","analyze":"本题考查信息系统建模方法的相关基础知识。<br>建模的目的是为了获得一个对新系统的框架认识和概念性认识。通常可以采用以下几种技术:<br>①系统上下文关系范围图。即DFD的0层图,将系统与外界实体(可能是用户,也可能是外部系统)的关系(主要是数据流和控制流)体现出来,从而清晰地界定出系统的范围,实现共识。<br>②E-R图。这是系统的数据模型,这个阶段并不需要生成完整的E-R图,而是找到主要的实体及其关系即可。<br>③用例模型。这是采用OO思想,描述一组用例、参与者及它们之间的关系。<br>④领域模型。采用OO思想,找到系统中主要的实体类,并说明实体类的主要特征和它们之间的关系。<br>⑤IPO(Input/Process/Output,输入/处理/输出)图。这是采用传统的结构化思想,从输入、处理、输出的角度对系统进行的描述。","multi":0,"questionType":1,"answer":"B","chooseItem":["796235316393431041"],"itemList":[{"id":"796235316364070913","questionId":"796235315235803137","content":" 领域模型描述系统中的主要概念、概念的主要特征及其之间的关系","answer":0,"chooseValue":"A"},{"id":"796235316393431041","questionId":"796235315235803137","content":" 用例模型描述了一组用例、参与者以及它们之间的关系","answer":1,"chooseValue":"B"},{"id":"796235316431179777","questionId":"796235315235803137","content":" IPO图将系统与外界实体的关系体现出来,从而清晰地界定出系统的范围","answer":0,"chooseValue":"C"},{"id":"796235316468928513","questionId":"796235315235803137","content":" DFD表达系统的数据模型,描述了主要的数据实体及其之间的关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235235644690433","title":"用例是一种描述系统需求的方法,以下关于用例建模的说法中,正确的是(1)。","analyze":"本题考查用例建模的基础知识。<br>用例是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。用例是在系统中执行的一系列动作,这些动作将生成特定参与者可见的价值结果。用例表示系统所提供的服务,定义了系统是如何被参与者所使用的。通信关联表示的是参与者和用例之间的关系,或用例与用例之间的关系。通信关联箭头所指方是对话的被动接受者,箭尾所指方是对话的主动发起者。用例模型中,信息流不是由通信关联来表示的,该信息流是默认存在的,并且是双向的,与箭头所指的方向没有关系。","multi":0,"questionType":1,"answer":"B","chooseItem":["796235236584214529"],"itemList":[{"id":"796235236554854401","questionId":"796235235644690433","content":" 用例定义了系统向参与者提供服务的方法","answer":0,"chooseValue":"A"},{"id":"796235236584214529","questionId":"796235235644690433","content":" 通信关联不仅能表示参与者和用例之间的关系,还能表示用例之间的关系","answer":1,"chooseValue":"B"},{"id":"796235236609380353","questionId":"796235235644690433","content":" 通信关联的箭头所指方是对话的主动发起者","answer":0,"chooseValue":"C"},{"id":"796235236638740481","questionId":"796235235644690433","content":" 用例模型中的信息流由通信关联来表示","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235095420719105","title":"类封装了信息和行为,是面向对象的重要组成部分。在系统设计过程中,类可以分为实体类、边界类和控制类。下面用例描述中属于控制类的是()。","analyze":"本题考查面向对象程序的相关知识。<br>类是面向对象的基本概念。类封装了信息和行为,是面向对象的重要组成部分。在系统设计过程中,类可以分为实体类、边界类和控制类。<br>边界类用于描述外部参与者与系统之间的交互。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。这种交互包括转换事件,并记录系统表示方式 (例如接口)中的变更。实体类主要是作为数据管理和业务逻辑处理层面上存在的类别。实体类保存要放进持久存储体的信息。持久存储体就是数据库、文件等可以永久存储数据的介质。实体类可以通过事件流和交互图发现。通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。实体类是用于对必须存储的信息和相关行为建模的类。实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如:事件、人员或者一些现实生活中的对象。控制类用于描述一个用例所具有的事件流控制行为,控制一个用例中的事件顺序。控制类是控制其他类工作的类。每个用例通常有一个控制类,控制用例中的事件顺序,控制类也可以在多个用例间共用。其他类并不向控制类发送很多消息,而是由控制类发出很多消息。<br>例如,考试系统中当学生在考试时,学生与试卷交互,那么学生和试卷都是实体类,而考试时间、规则、分数都是边界类,当考试完了将试卷提交给试卷保管者,则试卷则成了边界类。","multi":0,"questionType":1,"answer":"A","chooseItem":["796235096335077377"],"itemList":[{"id":"796235096335077377","questionId":"796235095420719105","content":" 身份验证","answer":1,"chooseValue":"A"},{"id":"796235096351854593","questionId":"796235095420719105","content":" 用户","answer":0,"chooseValue":"B"},{"id":"796235096360243201","questionId":"796235095420719105","content":" 通信协议","answer":0,"chooseValue":"C"},{"id":"796235096372826113","questionId":"796235095420719105","content":" 窗口","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235101322104833","title":"行为型模式是对在不同对象之间划分责任和算法的抽象化,它可以分为类行为模式和对象行为模式。下列行为型模式中属于类行为模式的是( )。","analyze":"本题考查行为模式的相关概念。<br>行为型模式是对在不同对象之间划分责任和算法的抽象化,它可以分为类行为模式和对象行为模式。行为型模式设计到算法和对象间的职责分配,不仅描述对象或类的模式,还描述它们之间的通信方式,刻划了运行时难以跟踪的复杂的控制流,它们将用户的注意力从控制流转移到对象间的关系上来。行为型类模式采用继承机制在类间分派行为,例如Template Method和Interpreter;行为对象模式使用对象复合而不是继承。一些行为对象模式描述了一组相互对等的对象如何相互协作以完成其中任何-个对象都单独无法完成的任务,如Mediator、Chain of Responsibility、Strategy;其他的行为对象模式常将行为封装在一个对象中,并将请求指派给它。常见行为型模式有11种:CCIIMM (Chain of Responsibility 职责链、Command 命令、Interpreter 解释器、Iterator迭代、Mediator中介者、Memento备忘录),OSSTV (Observer 观察者、State 状态、Strategy 策略、Template Method模板方法、Visitor访问者)。","multi":0,"questionType":1,"answer":"D","chooseItem":["796235102282600449"],"itemList":[{"id":"796235102244851713","questionId":"796235101322104833","content":" 职责链模式","answer":0,"chooseValue":"A"},{"id":"796235102257434625","questionId":"796235101322104833","content":" 命令模式","answer":0,"chooseValue":"B"},{"id":"796235102270017537","questionId":"796235101322104833","content":" 迭代器模式","answer":0,"chooseValue":"C"},{"id":"796235102282600449","questionId":"796235101322104833","content":" 解释器模式","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235336769359873","title":"进程视图是以可执行线程和进程作为活动类的建模,它描述了并发与同步结构。UML中的(34)可以用于表达进程视图。","analyze":"本题考查面向对象建模的相关基础知识。<br>UML是一种定义良好、易于表达、功能强大且普遍使用的建模语言。UML对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。具体来说就是指以下5个系统视图:逻辑视图、进程视图、实现视图、部署视图和用例视图。<br>进程视图是可执行线程和进行作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。UML中表达进程视图的是活动图。","multi":0,"questionType":1,"answer":"C","chooseItem":["796235338023456769"],"itemList":[{"id":"796235337964736513","questionId":"796235336769359873","content":" 部署图","answer":0,"chooseValue":"A"},{"id":"796235337994096641","questionId":"796235336769359873","content":" 组件图","answer":0,"chooseValue":"B"},{"id":"796235338023456769","questionId":"796235336769359873","content":" 活动图","answer":1,"chooseValue":"C"},{"id":"796235338044428289","questionId":"796235336769359873","content":" 状态图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234623611850753","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>随着对象持久化技术的发展,产生了众多持久化框架,其中,(33)基于EJB技术。(34)是ORM的解决方案。","analyze":"本题考查持久化方面的基础知识。<br> 持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗地讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。随着对象持久化技术的发展,产生了众多持久化框架,其中,CMP基于EJB技术,iBatis是ORM的解决方案。","multi":0,"questionType":1,"answer":"B","chooseItem":["796234624568152065"],"itemList":[{"id":"796234624542986241","questionId":"796234623611850753","content":" iBatis","answer":0,"chooseValue":"A"},{"id":"796234624568152065","questionId":"796234623611850753","content":" CMP","answer":1,"chooseValue":"B"},{"id":"796234624597512193","questionId":"796234623611850753","content":" JDO","answer":0,"chooseValue":"C"},{"id":"796234624618483713","questionId":"796234623611850753","content":" SQL","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234626589806593","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>随着对象持久化技术的发展,产生了众多持久化框架,其中,(33)基于EJB技术。(34)是ORM的解决方案。","analyze":"本题考查持久化方面的基础知识。<br> 持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗地讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。随着对象持久化技术的发展,产生了众多持久化框架,其中,CMP基于EJB技术,iBatis是ORM的解决方案。","multi":0,"questionType":1,"answer":"D","chooseItem":["796234627705491457"],"itemList":[{"id":"796234627634188289","questionId":"796234626589806593","content":" SQL","answer":0,"chooseValue":"A"},{"id":"796234627663548417","questionId":"796234626589806593","content":" CMP","answer":0,"chooseValue":"B"},{"id":"796234627684519937","questionId":"796234626589806593","content":" JDO","answer":0,"chooseValue":"C"},{"id":"796234627705491457","questionId":"796234626589806593","content":" iBatis","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234521434411009","title":"面向对象分析中,一个事物发生变化会影响另一个事物,两个事物之间属于( )。","analyze":"本题考查统一建模语言(UML)的基础知识。<br> UML用关系把事物结合在一起。依赖关系是两个事物之间一个事物发生变化会影响另一个事物;关联关系描述一组对象之间连接的结构关系;泛化关系描述一般化和特殊化的关系;实现关系是类之间一个类指定了由另一个类保证执行的契约。","multi":0,"questionType":1,"answer":"B","chooseItem":["796234522399100929"],"itemList":[{"id":"796234522365546497","questionId":"796234521434411009","content":" 关联关系","answer":0,"chooseValue":"A"},{"id":"796234522399100929","questionId":"796234521434411009","content":" 依赖关系","answer":1,"chooseValue":"B"},{"id":"796234522415878145","questionId":"796234521434411009","content":" 实现关系","answer":0,"chooseValue":"C"},{"id":"796234522436849665","questionId":"796234521434411009","content":" 泛化关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234761046609921","title":"面向对象分析中,对象是类的实例。对象的构成成分包含了( )、属性和方法(或操作)。","analyze":"本题主要考查面向对象分析的基础知识。<br>对象是类的实例,对象由对象标识、属性和方法(或操作)构成。","multi":0,"questionType":1,"answer":"A","chooseItem":["796234762120351745"],"itemList":[{"id":"796234762120351745","questionId":"796234761046609921","content":" 标识","answer":1,"chooseValue":"A"},{"id":"796234762145517569","questionId":"796234761046609921","content":" 消息","answer":0,"chooseValue":"B"},{"id":"796234762166489089","questionId":"796234761046609921","content":" 规则","answer":0,"chooseValue":"C"},{"id":"796234762187460609","questionId":"796234761046609921","content":" 结构","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235248043053057","title":"面向对象分析中,构建用例模型一般分为四个阶段,其中,除了(5)阶段之外,其它阶段是必需的。","analyze":"本题考查用例建模的基础知识。<br>在面向对象分析方法中,构建用例模型一般需要经历四个阶段,分别是识别参与者、合并需求获得用例、细化用例描述和调整用例模型,其中前三个阶段是必需的。","multi":0,"questionType":1,"answer":"D","chooseItem":["796235249070657537"],"itemList":[{"id":"796235249032908801","questionId":"796235248043053057","content":" 识别参与者","answer":0,"chooseValue":"A"},{"id":"796235249045491713","questionId":"796235248043053057","content":" 合并需求获得用例","answer":0,"chooseValue":"B"},{"id":"796235249053880321","questionId":"796235248043053057","content":" 细化用例描述","answer":0,"chooseValue":"C"},{"id":"796235249070657537","questionId":"796235248043053057","content":" 调整用例模型","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796234998901395457","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>面向对象分析中,类与类之间的“IS-A”关系的是一种(1),类与类之间的“IS-PART-OF”关系是一种(2)。","analyze":"本题主要考查面向对象分析的基础知识。<br>面向对象分析中,类与类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等。关联关系提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起;依赖关系中一个类的变化可能会引起另一个类的变化;泛化关系描迟了一个一般事物与该事物中特殊种类之间的关系,就是父类与子类之间的“IS-A”关系;聚合关系表示类之间的整体与部分的关系,也就是部分与整体之间的“IS-PART-OF”关系。","multi":0,"questionType":1,"answer":"C","chooseItem":["796234999937388545"],"itemList":[{"id":"796234999874473985","questionId":"796234998901395457","content":" 依赖关系","answer":0,"chooseValue":"A"},{"id":"796234999912222721","questionId":"796234998901395457","content":" 关联关系","answer":0,"chooseValue":"B"},{"id":"796234999937388545","questionId":"796234998901395457","content":" 泛化关系","answer":1,"chooseValue":"C"},{"id":"796234999958360065","questionId":"796234998901395457","content":" 聚合关系","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235001912905729","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>面向对象分析中,类与类之间的“IS-A”关系的是一种(1),类与类之间的“IS-PART-OF”关系是一种(2)。","analyze":"本题主要考查面向对象分析的基础知识。<br>面向对象分析中,类与类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等。关联关系提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起;依赖关系中一个类的变化可能会引起另一个类的变化;泛化关系描迟了一个一般事物与该事物中特殊种类之间的关系,就是父类与子类之间的“IS-A”关系;聚合关系表示类之间的整体与部分的关系,也就是部分与整体之间的“IS-PART-OF”关系。","multi":0,"questionType":1,"answer":"D","chooseItem":["796235002948898817"],"itemList":[{"id":"796235002873401345","questionId":"796235001912905729","content":" 依赖关系","answer":0,"chooseValue":"A"},{"id":"796235002898567169","questionId":"796235001912905729","content":" 关联关系","answer":0,"chooseValue":"B"},{"id":"796235002923732993","questionId":"796235001912905729","content":" 泛化关系","answer":0,"chooseValue":"C"},{"id":"796235002948898817","questionId":"796235001912905729","content":" 聚合关系","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235005016690689","title":"<p><strong>请作答第<span style=\"color: red\">1</span>个空。</strong></p>面向对象动态分析模型描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。其中,交互模型包括(3),其他行为模型还有(4)。","analyze":"UML通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,包括用例图、静态图、行为图和实现图。其中,行为图包括交互图、状态图与活动图,它们从不同的侧面刻画系统的动态行为。交互图描述对象之间的消息传递,它又可以分为顺序图与协作图两种形式。顺序图强调对象之间消息发送的时间序列,协作图更强调对象之间的动态协作关系。状态图描述类的对象的动态行为,它包含对象所有可能的状态、 <br>在每个状态下能够响应的事件以及事件发生时的状态迁移与响应活动。活动图描述系统为完成某项功能而执行的操作序列。","multi":0,"questionType":1,"answer":"A","chooseItem":["796235006136569857"],"itemList":[{"id":"796235006136569857","questionId":"796235005016690689","content":" 顺序图和协作图","answer":1,"chooseValue":"A"},{"id":"796235006157541377","questionId":"796235005016690689","content":" 顺序图和状态图","answer":0,"chooseValue":"B"},{"id":"796235006178512897","questionId":"796235005016690689","content":" 协作图和活动图","answer":0,"chooseValue":"C"},{"id":"796235006203678721","questionId":"796235005016690689","content":" 状态图和活动图","answer":0,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796235008246304769","title":"<p><strong>请作答第<span style=\"color: red\">2</span>个空。</strong></p>面向对象动态分析模型描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。其中,交互模型包括(3),其他行为模型还有(4)。","analyze":"UML通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,包括用例图、静态图、行为图和实现图。其中,行为图包括交互图、状态图与活动图,它们从不同的侧面刻画系统的动态行为。交互图描述对象之间的消息传递,它又可以分为顺序图与协作图两种形式。顺序图强调对象之间消息发送的时间序列,协作图更强调对象之间的动态协作关系。状态图描述类的对象的动态行为,它包含对象所有可能的状态、 <br>在每个状态下能够响应的事件以及事件发生时的状态迁移与响应活动。活动图描述系统为完成某项功能而执行的操作序列。","multi":0,"questionType":1,"answer":"D","chooseItem":["796235009395544065"],"itemList":[{"id":"796235009303269377","questionId":"796235008246304769","content":" 顺序图和协作图","answer":0,"chooseValue":"A"},{"id":"796235009332629505","questionId":"796235008246304769","content":" 顺序图和状态图","answer":0,"chooseValue":"B"},{"id":"796235009361989633","questionId":"796235008246304769","content":" 协作图和活动图","answer":0,"chooseValue":"C"},{"id":"796235009395544065","questionId":"796235008246304769","content":" 状态图和活动图","answer":1,"chooseValue":"D"}],"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null}]}}