2022年软考-软件设计师考前模拟强化练习题28(附答案详解)

上传人:住在山****ck 文档编号:100923911 上传时间:2022-06-03 格式:DOCX 页数:29 大小:800.44KB
返回 下载 相关 举报
2022年软考-软件设计师考前模拟强化练习题28(附答案详解)_第1页
第1页 / 共29页
2022年软考-软件设计师考前模拟强化练习题28(附答案详解)_第2页
第2页 / 共29页
2022年软考-软件设计师考前模拟强化练习题28(附答案详解)_第3页
第3页 / 共29页
点击查看更多>>
资源描述
2022年软考-软件设计师考前模拟强化练习题(附答案详解)1. 单选题某搜索引擎在交付后,开发人员修改了其中的索引方法,使得用户可以更快地得到搜索结果。这种修改属于( )维护问题1选项A.正确性B.适应性C.完善性D.预防性【答案】C【解析】在系统运行过程中,软件需要维护的原因是多样的,根据维护的原因不同,可以将软件维护分为以下四种:(1)改正性维护。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就称为改正性维护。(2)适应性维护。在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就称为适应性维护。(3)完善性维护。在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动称为完善性维护。更快地得到搜索结果,即提升了搜索引擎的性能,扩充功能或提升性能是完善性维护的工作,本题选择C选项。(4)预防性维护。这是指预先提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护可定义为“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试。2. 单选题( )是一种需要通过周期性刷新来保持数据的存储器件。问题1选项A.SRAMB.DRAMC.FLASHD.EEPROM【答案】B【解析】DRAM:动态随机存取器存储器,又叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介,通过周期性刷新来保持数据的存储器件,断电丢失。SRAM:静态随机存取器存储器,静态随机存取存储器是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。FLASH:闪存,特性介于EPROM和EEPROM之间,类似于EEPROM,也可以使用电信号进行信息的擦除操作。整块闪存可以在数秒内删除。EEPROM:电擦除可编程的只读存储器,于EPROM相似,EEPROM中的内容既可以读出,也可以进行改写。3. 单选题计算机指令系统采用多种寻址方式。立即寻址是指操作数包含在指令中,寄存器寻址是指操作数在寄存器中,直接寻址是指操作数的地址在指令中。这三种寻址方式操作数的速度( )。问题1选项A.立即寻址最快,寄存器寻址次之,直接寻址最慢B.寄存器寻址最快,立即寻址次之,直接寻址最慢C.直接寻址最快, 寄存器寻址次之,立即寻址最慢D.寄存器寻址最快,直接寻址次之,立即寻址最慢【答案】A【解析】有关于寻址方式查询速度:立即寻址是操作数直接在指令中,速度是最快的;寄存器寻址是将操作数存放在寄存器中,速度中间;直接寻址方式是指令中存放操作数的地址,速度最慢。4. 单选题采用面向对象方法进行系统设计时,不应该强迫客户依赖于他们不用的方法,接口属于客户,不属于它所在的类层次结构。即:依赖于抽象,不要依赖于具体,同时在抽象级别不应该有对于细节的依赖。这属于( )。问题1选项A.单一责任B.开放-封闭C.接口分离D.里氏替换【答案】C【解析】单一职责原则:设计目的单一的类。开放-封闭原则:对扩展开放,对修改封闭。里氏替换原则:子类可以替换父类。依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。接口隔离原则:使用多个专门的接口比使用单一的总接口要好。不强迫客户依赖于他们不用的方法,即:依赖于抽象,不要依赖于具体,同时在抽象级别不应该有对于细节的依赖。本题题干看起来类似于依赖倒置原则,但依赖倒置不涉及强迫客户依赖于他们不用的方法。本题描述的应该是接口隔离原则。本题选择C选项。 5. 单选题对高级程序语言进行编译的过程中,使用( )来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。问题1选项A.决策表B.符号表C.广义表D.索引表.【答案】B【解析】考查分析语义分析阶段相关问题。语义分析阶段主要是分析各语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息提供后面的代码生成阶段使用。在确认源程序的语法和语义后,可以对其进行翻译并给出源程序的内部表示。对于声明语句,需要记录所遇到的符号的信息,所以应该进行符号表的填查工作,用来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。至于决策表是用于测试的,广义表是针对数据结构的表示,索引表是数据库中指示逻辑和物理记录对应的关系。6. 单选题下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动( )不在关键路径上。活动BI和EG的松弛时间分别是( )。问题1选项A.BDB.BIC.GHD.KL问题2选项A.0和1B.1和0C.0和2D.2和0【答案】第1题:B第2题:B【解析】考查项目管理计算问题。对于关键路径有两条分别是:ABDIJKL和AEGHKL两条关键路径,长度为20.针对第一问,不在关键路径上的活动是BI,其余的BD,GH,KL都在关键路径上。针对第二问,要求BI和EG的松弛时间,BI活动通过的路径有两条ABIJKL和ABIJL,其中两条路径的长度都为19,(如果有两条不同的路径应该选择最大的一条),用关键路径减去该路径的长度20-19=1,表示该活动的松弛时间。活动EG位于该关键路径AEGHKL上,没办法延误,即松弛时间为07. 单选题Designing object -oriented software is hard,and designing( )object -oriented software is even harder.You must find pertinent(相关的)objects,factor them into class at the right granularity,define class interfaces and inheritances,and establish key relationships among them.You design should be specific to the problem at hand but also( )enough to address future problems and requirements.You also want to avoid redesign,or at least minimize it.Experienced object -oriented designers will tell you that a reusable and flexible design is difficult if not impossible to get right the first time.Before a design is finished,they usually try to reuse it several times,modifying it each time.Yet experienced object-oriented designers do make good designs.Meanwhile new designers are( )by the options available and tend to fall back on non-object-oriented techniques theyve used before.lt takes a long time for novices to learn what good object-oriented design is all about.Experienced designers evidently know something inexperienced ones dont.What is it?One thing expert designers know not to do is solve every problem from first principles.Rather, they reuse solutions that have worked for them in the past.When they find a good( ).They use it again and again.Such experience is part of what makes them experts.Consequently,youll find( )patterns of classes and communicating objects in many object-oriented systems.问题1选项A.runnableB.rightC.reusableD.pertinent问题2选项A.clearB.generalC.personalizedD.customized问题3选项A.excitedB.shockenC.surprisedD.overwhelmed问题4选项A.toolB.componentC.systemD.solution问题5选项A.recurringB.rightC.experiencedD.past【答案】第1题:C第2题:B第3题:D第4题:D第5题:A【解析】设计面向对象的软件很难,而设计(可复用的)面向对象软件就更难了。你必须找到合适的(相关的)对象,以适当的粒度将它们划分为类,定义类接口和继承,并在它们之间建立关键关系。你的设计应该针对眼前的问题,但(一般 )足以解决未来的问题和要求。你也要避免重新设计,或者至少最小化它。有经验的面向对象设计师会告诉你,一个可重用和灵活的设计是很难第一次就“正确”的。在设计完成之前,他们通常会尝试多次重复使用,每次都是这样。然而,有经验的面向对象设计师确实能做出好的设计。同时,新的设计师们对可用的选项感到不安(第三题选项不知所措的意思),他们倾向于使用以前使用的非面向对象技术。电影要花很长时间才能了解好的面向对象的设计。经验丰富的设计师显然知道一些缺乏经验的东西。它是什么?有一件事专家设计师知道不能做的就是从第一原理解决每一个问题。相反,他们选择了过去对他们有效的解决方案。当他们找到一个好的(解决方案)。他们一次又一次地使用它。这样的经验是他们成为专家的部分原因。因此,您将在许多面向对象系统中找到第五题个类和通信对象的模式。A. runnable可运行的B.right对的C. reusable可复用的D. pertinent中肯的,相关的A. clear清除B. general总则C. personalized个性化D.customized定制A. excited兴奋B. shocken 震惊C. surprised惊讶于D. overwhelmed不知所措A.tool工具B. component组成部分C. system系统D. solution解决方案A.recurring循环B.right是吗C.experienced经验丰富D.past过去8. 案例题阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单(如图6-1示例)中包含的可能是一个菜单项(直接对应某个功能),也可能是一个子菜单,现在采用组合(composite)设计模式实现层叠菜单,得到如图6-2所示的类图层叠菜单(如图6-1示例)暂缺 图6-2 类图import java.util.*;abstract class MenuComponent / 构成层叠菜单的元素(1) String name; / 菜单项或子菜单名称public viod printName() System.out.println(name); public (2) ;public abstract boolean removeMenuElement(MenuComponent element);public (3) ;class MenuItem extends MenuComponent public MenuItem(String name) this.name=name; public boolean addMenuElement(MemuComponent element) return false; public boolean removeMenuElement(MenuComponent element) return false; public List getElement() return null; class Menu extends MemuComponent private (4);public Menu(String name)this.name = name;this.elementList = new ArrayList;public boolean addMenuElement(MenuComponent element)return elementList.add(element);public boolean removeMenuElement(MenuComponent element)return elementList.remove(element);public List getElement() return elementList;class CompositeTest public static void main(String args) MenuComponent mainMenu = new Menu(“AB”); /此处字符不清晰,以“AB”代替原文MenuComponent subMenu = new Menu(“Chart”);MenuComponent element = new MenuItem(“On This Sheet”);(5);subMenu.addMenuElement(element);printMenus(mainMenu);private static void printMenus(MenuComponent ifile)ifile.printName();List children = ifile.getElement();if(children = null) return; /打印for(MenuComponent element; children)printMenus(element);【答案】(1)protected(2)abstract boolean addMenuElement(MemuComponent element)(3)abstract List getElement()(4)ArrayList elementList(5)mainMenu.addMenuElement(subMenu)【解析】本题是典型的组合模式应用。首先根据类图中name标注的为#(+表示public,-表示private,#表示protected),第(1)空对name的修饰应该是protected。然后根据抽象类和实现类的对应关系,可以补充第(2)(3)空,这两处缺失的方法根据下文代码进行补充,注意方法名必须用abstract修饰,并且注意抽象方法的写法没有具体方法体。其中第(2)空填写abstract boolean addMenuElement(MemuComponent element) ,第(3)空填写abstract List getElement()。第(4)空缺失了一个属性,此时根据下文的同名构造函数会发现,此处传参给了this.name以及this.elementList,name可以根据父类继承使用,而elementList需要定义,因此此处缺失的参数是elementList,类型根据后面的赋值类型进行定义,即第(4)空填写ArrayList elementList。第(5)空是对组合模式的应用拼装,根据下文可知打印需要调用mainMenu对象,而此时该对象是独立的,需要与其他菜单进行拼装,下文中subMenu拼装了element,此处需要将subMenu拼装到mainMenu,即第(5)空填写mainMenu.addMenuElement(subMenu)。9. 单选题下列不能用于远程登录或控制的是( )。问题1选项A.IGMPB.SSHC.TelnetD.RFB【答案】A【解析】IGMP:属于网络的组播协议,不能实现相关应用层的远程登录。SSH:SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。Telnet:Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。RFB:RFB ( Remote Frame Buffer 远程帧缓冲) 协议是一个用于远程访问图形用户界面的简单协议。由于 RFB 协议工作在帧缓冲层,因此它适用于所有的窗口系统和应用程序。10. 单选题某简单无向连通图G的顶点数为n,则图G最少和最多分别有( )条边。问题1选项A.n,n2/2B.n-1,n*(n-1)/2C.n,n*(n-1)/2D.n-1,n2/2【答案】B【解析】本题考查图的基本概念。本题可以用实例法进行分析,简单画出一个无相连通图,比如两个顶点相连接,此时结点n=2,边最少为1,最多也为1,满足要求的只有B选项。11. 单选题面向对象程序设计语言C+、JAVA中,关键字( )可以用于区分同名的对象属性和局部变量名。问题1选项A.privateB.protectedC.publicD.this【答案】D【解析】本题考查面向对象基本属性。public:表示全局,类内部外部子类都可以访问;private:表示私有的,只有本类内部可以使用;protected:表示受保护的,只有本类或子类或父类中可以访问;this:可以区分同名的对象属性和局部变量名。故本题正确答案选择D选项。12. 案例题阅读下列说明和Java代码,将应填入(n) 处的字句写在答 题纸的对应栏内。【说明】在线支付是电子商务的一一个重要环节,不同的电子商务平台提供了不同的支付接口。现在需要整合不同电子商务平台的支付接口,使得客户在不同平台上购物时,不需要关心具体的支付接口。拟采用中介者(Mediator) 设计模式来实现该需求,所设计的类图如图6-1所示。【Java代码】【答案】(1) void buy(double money, WebService service)(2) WebServiceMediator(3) abstract void buyService(double money)(4) mediator.buy(money, this)(5) mediator.buy(money, this)【解析】(1)空是属于接口WebServiceMeditor内的方法,我们可以通过下文的实现类中找到ConcreteServiceMeditor可知缺少了一个buy()方法故第一空填写void buy(double money, WebService service);(2)空类WebService中属性的参数类型,Colleague与Mediator之间的关联关系由属性meditor实现,所以第2空应该填写WebServiceMediator;(3)空类WebService中的抽象方法,根据其具体子类可以看到缺少的是buyService方法,书写成 abstract void buyService(double money);(4)空和(5)空具体同事类Amazon、Ebay与中介者的通信,调用中介者之间的支付接口,所以空(4)和(5)都填写mediator.buy(money, this)。13. 案例题阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某现代农业种植基地为进一步提升农作物种植过程的智能化,欲开发智慧农业平台,集管理和销售于一体,该平台的主要功能有:1.信息维护。农业专家对农作物、环境等监测数据的监控处理规则进行维护。2.数据采集。获取传感器上传的农作物长势、土壤墒情、气候等连续监测数据,解析后将监测信息进行数据处理、可视化和存储等操作。3.数据处理。对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储、远程控制对历史监测信息进行综合统计和预测,将预测信息进行可视化和存储。4.远程控制。根据监控处理规则对分析结果进行判定,依据判定结果自动对控制器进行远程控制。平台也可以根据农业人员提供的控制信息对控制器进行远程控制。5.可视化。实时向农业人员展示监测信息:实时给农业专家展示统计分析结果和预测信息或根据农业专家请求进行展示。现采用结构化方法对智慧农业平台进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。【问题1】(4分)使用说明中的词语,给出图1-1中的实体E1E4的名称。【问题2】(4分)使用说明中的词语,给出图1-2中的数据存储D1D4的名称。【问题3】(4分)根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。【问题4】(3分)根据说明,“数据处理”可以分解为哪些子加工?进一步进行分解时,需要注意哪三种常见的错误?【答案】【问题1】(4分)E1:传感器;E2:农业专家;E3:农业人员;E4:控制器【问题2】(4分)D1:监控处理规则文件 D2:监测信息文件 D3:分析结果文件 D4:预测信息文件【问题3】(4分)起点D1,终点P4,监控规则起点P5,终点E2,根据请求进行展示起点P3,终点P5,分析结果起点P3,终点P5,预测信息【问题4】(3分)数据处理加工分为数据分析,可视化与存储;黑洞、奇迹、灰洞【解析】问题1:补充实体名,找出题干给出的名词形式。可以通过下方0层图对比,根据“农业专家对农作物、环境等监测数据的监控处理规则进行维护。”描述,我们可知E2是农业专家;根据“获取传感器上传的农作物长势、土壤墒情、气候等连续监测数据”得知E1是传感器;根据“平台也可以根据农业人员提供的控制信息对控制器进行远程控制”,得知E3是农业人员;根据“根据监控处理规则对分析结果进行判定,依据判定结果自动对控制器进行远程控制。”,得知E4是控制器。问题2:补充数据存储,给出题干关键信息,文件,数据、表、信息等名词。通过下文0层图信息得知,根据“农业专家对农作物、环境等监测数据的监控处理规则进行维护。”,可知D1是存储相关监控处理规则文件;根据“解析后将监测信息进行数据处理、可视化和存储等操作。”得知D2是监测信息文件;根据“对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储”,D3和D4分别是分析结果文件和预测信息文件。问题3:补充数据流,根据平衡原则和题干的提示。首先根据数据流图平衡原则可知,父子图不平衡,对于父图中的由加工指向实体E2的一条数据流的名称为”统计分析数据“与子图中加工P5指向实体的E2的一条数据流”统计分析结果“表示不同,根据题干说明要求从1-2子图补充,说明父图的统计分析数据=子图的分析结果+缺失的数据流构成,根据题干信息”实时给农业专家展示统计分析结果和预测信息或根据农业专家请求进行展示。“得知由P5-E2的根据请求进行展示数据流。其余的三条需要根据题干描述,对于加工和数据存储或加工与加工之间的数据流。根据题干”根据监控处理规则对分析结果进行判定”得知存在一条有D1-P4监控规则;根据题干“实时给农业专家展示统计分析结果和预测信息”得知存在P3-P5的分析结果和P4-P5的预测结果。问题4:数据处理根据题干描述“对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储、远程控制对历史监测信息进行综合统计和预测,将预测信息进行可视化和存储。”可分为数据分析,可视化和存储三个步骤。需要注意哪三种常见的错误:黑洞、奇迹、灰洞。14. 单选题以下关于软件设计原则的叙述中,不正确的是( )。问题1选项A.将系统划分为相对独立的模块B.模块之间的耦合尽可能小C.模块规模越小越好D.模块的扇入系数和扇出系数合理【答案】C【解析】考查关于软件设计原则。软件设计原则始终强调高内聚、低耦合的设计原则。具体包括:保持模块的大小适中尽可能减少调用的深度多扇入,少扇出。单入口,单出口模块的作用域应该在模块之内功能应该是可以被预测的。综上所述,仅有C选项模块规模越小越好是不符合设计原则的。15. 单选题软件可维护性是一个系统在特定的时间间隔内可以正常进行维护活动的概率。用MTTF和MTTR分别表示平均无故障时间和平均故障修复时间,则软件可维护性计算公式为( )。问题1选项A.MTTF/(1+MTTF)B.1/(1+MTTF)C.MTTR/(1+MTTR)D.1/(1+MTTR)【答案】D【解析】在软件外部,可以用MTTR来度量软件的可维护性,它指出处理一个有错误的软件需要花费的平均时间。如果用M表示可维护性指标,那么M=1/(1+MTTR)。本题选择D选项。A选项一般用来表示可靠性或可用性指标。16. 单选题某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用( )关系,网店与商品之间适合采用( )关系。问题1选项A.关联B.依赖C.组合D.聚合问题2选项A.依赖B.关联C.组合D.聚合【答案】第1题:D第2题:C【解析】本题考查UML类图的几种关系。关联关系:描述了一组链,链是对象之间的连接。依赖关系:一件事物发生改变影响到另一个事务。聚合关系:整体与部分生命周期不同的关系。组合关系:整体与部分生命周期相同的关系。对于购物车和商品而言,网上商店的购物车要能过跟踪顾客所选的的商品,记录下所选商品,还要能随时更新,可以支付购买,能给顾客提供很大的方便。购物车用于存放商品,购物车是整体,商品是部分,他们之间生命周期不同。属于聚合关系。对于网店和商品而言,网点里面包含商品,属于整体和部分生命周期相同的情况,属于组合关系。17. 单选题设关系模式R(U,F), U=A1,A2, A3, A4,函数依赖集F=A1A2, A1A3,A2A4,关系R的候选码是( )。下列结论错误的是( )。问题1选项A.A1B.A2C.A1A2D.A1A3问题2选项A.A1A2A3为F所蕴涵B.A1- A4为F所蕴涵C.A1A2A4为F所蕴涵D.A2A3为F所蕴涵【答案】第1题:A第2题:D【解析】本题考查候选键的求法和函数依赖的判断问题。第一问求候选键,采用图示法,能够遍历所有属性的即为候选键,首先应该找出入度为0的节点,只有A1,如果入度为0的节点,遍历不了所有节点,那么需要加入一些中间结点(既有入度又有出度)的结点进行遍历,以它们的组合键作为候选键。根据方法,找到入度为0的节点A1,可以发现第一步能够通过A1决定所有属性A2(A1A2),A3(A1A3),A4(A1A2,A2A4,传递律得A1A4)得出A1为候选键。第二问考查AmStrong公理进行求解相关:A.A1A2A3为F所蕴涵,通过A1A2,A1A3,得出A1A2A3(合并规则)B.A1- A4为F所蕴涵,通过A1A2,A2A4,得出A1A4(传递律)C.A1A2A4为F所蕴涵,通过A2A4,A1A4(传递律),那么两者的结合键为A1A2A4自然能被F所蕴涵。D.A2A3为F所蕴涵,不能推导得出。18. 单选题某有限自动机的状态转换图如下图所示,该自动机可识别( )。问题1选项A.1001B.1100C.1010D.0101【答案】B【解析】本题考查的是有限自动机相关知识。A选项从s0出发,1001到达s1,没有到达终态s2,不能被自动机识别。B选项从s0出发,1100成功到达终态s2,可以被自动机识别。本题选择B选项。C选项从s0出发,1010到达s0,没有到达终态s2,不能被自动机识别。A选项从s0出发,0101到达s1,没有到达终态s2,不能被自动机识别。19. 案例题阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某中医医院拟开发一套线上抓药APP,允许患者凭借该医院医生开具的处方线上抓药,并提供免费送药上门服务。该系统的主要功能描述如下:(1)注册。患者扫描医院提供的二维码进行注册,注册过程中,患者需提供其病历号,系统根据病历号自动获取患者基本信息。(2)登录。已注册的患者可以登录系统进行线上抓药,未册的患者系统拒绝其登陆。(3)确认处方。患者登录后,可以查看医生开具的所有处方。患者选择需要抓药的处方和数量(需要抓几副药), 同时说明是否需要煎制。选择取药方式:自行到店取药或者送药上门,若选择送药上门,患者需要提供提供收货人姓名、联系方式和收货地址。系统自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用。支付成功之后,处方被发送给药师进行药品配制。(4)处理处方。药师根据处方配置好药品,若患者要求煎制,药师对配置好的药品进行煎制。煎制完成,药师将对该处方设置已完成。若患者选择的是自行取药,取药后确认已取药。(5)药品派送。处方完成后,对于选择送药上门的患者,系统将给快递人员发送药品的配置信息,等待快递人员来取药;并给患者发送收获验证码。(6)送药上门。快递人员将配置好的药品送到患者指定的收货地址。患者收获时,向快递人员出示收获验证码,快递人员使用该验证码确认药品已送到。【问题1】 (7分)根据说明中的描述,给出图3-1中A1 A3所对应的参与者名称和U1 U4处所对应的用例名称。【问题2】(5分)根据说明中的描述,给出图3-2中C1C5所对应的类名。【问题3】(3分)简要解释用例之间的include、extend 和generalize关系的内涵。【答案】因题干部分信息不明确,答案可能存在异议,本答案仅供参考。【问题1】A1:患者A2:快递员(学员反馈有相关描述,但当前未给出)A3:药师U1:确认处方U2:支付U3:微信支付U4:支付宝支付U3和U4可互换。【问题2】C1:支付方式C2;微信支付C3:支付宝支付C4:处方C5:药品C2和C3可互换。【问题3】include(包含)包含关系:其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例系:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。本系统中,确认药方过程中系统会自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用,所以确认药方包含支付过程。extend (扩展)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。generalize(泛化)泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。本系统中患者可以使用微信或支付宝等支付方式支付费用,即支付可以有不同种方式,包括微信支付、支付宝支付等,所以微信支付和支付宝支付是支付的特殊化,支付是二者的泛化。注:本题分值较少,写明定义即可,可以不结合本题实例进行说明。【解析】本题是典型的用例图和类图结合考查题型。因题干部分信息不明确,答案可能存在异议,本答案仅供参考。【问题1】根据题干描述,使用注册、登录功能的应该是患者,因此参与者A1为患者。根据题干描述,患者登录以后,可以确认药方,本题U1的缺失,应该患者使用的确认药方的用例,即U1为确认药方。患者确认支付后,“处方被发送给药师进行药品配制”,因此使用处理药方功能的应该是药师,即参与者A3为药师。其中药方确认的过程中,包括选择处方和数量同时说明需要煎制,选择取药方式(自行到店取药或者送药上门),系统自动计算费用后患者进行支付(微信或支付宝等支付方式)。此处图示已有配送药品用例,因此,这里不适合填写选择取药方式-自行到店取药-送药上门这组泛化用例,应该填写支付-微信支付-支付宝支付,其中支付的泛化的父用例,微信支付和支付宝支付是其子用例,对应图示泛化关系U2-U3-U4,其中U2填写支付,U3和U4分别填写微信支付、支付宝支付,二者位置可以互换。本题中A2线索不明确(学员反馈有“快递员”相关描述,但当前未给出),没有提到其他参与者,这里A2填写快递员。【问题2】类图分析中,与类名相关的一般是名词形式,再根据图示中的联系确认具体位置。此处C1-C2-C3有一组典型的泛化关系。根据上面的分析,图示中的泛化关系为支付-微信支付-支付宝支付。结合用例图,最终体现的泛化关系是支付,因此此处选择支付方式、微信支付、支付宝支付更合适。其中C1为支付方式,C2和C3为微信支付和支付宝支付,二者位置可互换。根据题干说明“支付成功之后,处方被发送给药师进行药品配制”在药师与支付方式中间,与二者相关的为处方,即C4为处方。C5与处方相关,应该填写药品。【问题3】include(包含)包含关系:其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例系:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。本系统中,确认药方过程中系统会自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用,所以确认药方包含支付过程。extend (扩展)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。generalize(泛化)泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。本系统中患者可以使用微信或支付宝等支付方式支付费用,即支付可以有不同种方式,包括微信支付、支付宝支付等,所以微信支付和支付宝支付是支付的特殊化,支付是二者的泛化。注:本题分值较少,写明定义即可,可以不结合本题实例进行说明。20. 单选题以下Python语言的模块中,()不支持深度学习模型。问题1选项A.TensorFlowB.MatplotlibC.PyTorchD.Keras【答案】B【解析】本题考查python语言的语法相关。其中支持Python语言深度学习的有:TensorFlow:Tensorflow拥有多层级结构,可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算,被广泛应用于谷歌内部的产品开发和各领域的科学研究,支持Python语言深度学习。PyTorch:PyTorch是一个针对深度学习,并且使用GPU和CPU来优化的tensor library(张量库)是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能实现强大的GPU加速,同时还支持动态的神经网络。Keras:Keras是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。仅有B选项表示的Matplotlib不是,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,不支持深度学习。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!