您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > (学生)2017高级软件工程复习题
一、选择题:(共10小题,每题1分,共10分)1.使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是【B】。A)继承B)多态性C)约束D)接口2.类图应该画在Rose的哪种【B】视图中。A)UseCaseViewB)LogicViewC)ComponentViewD)DeploymentView3.在UML中,类之间的关系有一种为关联关系,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一【D】A)0…1B)0…*C)1…*D)*…*4.关于下面的类图中所表示的关联关系,下列四个选项中说法错误的是:【D】A.一个学生可以选1到多门课程B.一个老师可以教0到多门课程C.一门课程只能由一位老师上课D.一门课程可以被0到多个学生选课5.和包相比,子系统具有更丰富的语义,它能够通过接口对外提供行为;下面四个选项中,哪个是包和子系统都具有的特点:【】A.一种分组机制B.对外提供行为C.完全封装实现细节D.容易被替换6.“交通工具”类与“汽车”类之间的关系属于【】。A)关联关系B)实现关系C)依赖关系D)泛化关系7.下图中的空心箭头连线表示【】关系A)泛化B)包含C)扩展D)实现8.关于通信图的描述,下列哪个不正确【】A)通信图作为一种交互图,强调的是参加交互的对象的组织;B)在ROSE工具中,通信图可在顺序图的基础上按“F5”键自动生成;C)通信图中有消息流的顺序号;D)通信图是顺序图的一种9.计算机由中央处理器、内存、软盘、硬盘、显示器、键盘鼠标等组成。那么Computer类和其他类(CPU、RAM、FloppyDisk、Monitor、Keyboard、mouse)之间的关系是【】。A)泛化关系B)实现关系C)包含关系D)聚集关系10.“一个研究生在软件学院做助教(teachingassistant),同时还在校园餐厅打工做收银员(cashier)。也就是说,这个研究生有3种角色:学生、助教、收银员,但在同一时刻只能有一种角色。”根据上面的陈述,下面哪个设计是最合理的?【】PersonCashierStudentTeachingAssistant接口PersonRoleCashierStudentTeachingAssistantPerson0..1AB接口Cashier接口Student接口TeachingAssistantPersonCashierStudentTeachingAssistantPersonCD11.下列对系统边界的描述中,不正确的是【】。A.系统边界是指系统与系统之间的界限。B.用例图中的系统边界用来表示正在建模系统的边界。C.边界内表示系统的组成部分,边界外表示系统外部。D.可以使用Rose绘制用例图中的系统边界。12.下列关于类方法的声明,不正确的是【】。A.方法定义了类所许可的行动。B.从一个类所创建的所有对象可以使用同一组属性和方法。C.每个方法应该有一个参数。D.如果在同一个类中定义了类似的操作,则它们的行为应该是类似的。13.下列说法不正确的是【】。A)用例和参与者之间的对应关系又叫做通信关联,它表示参与者使用了系统中的哪些用例B)参与者只能是人,不能是子系统、时间等C)特殊需求指的是一个用例的非功能性需求和设计约束D)在扩展关系中,基础用例提供了一个或者多个插入点,扩展用例为这些插入点提供了需要插入的行为14.下列对用例的泛化关系描述不正确的是【】。A)用例的泛化关系中,所有的子用例都有相似的目的和结构。注意它们是整体上的相似B)用例的泛化关系中,基础用例在目的上可以完全不同,但是它们都有一段相似的行为,它们的相似是部分的相似不是整体的相似C)用例的泛化关系类似于面向对象中的继承,它把多个子用例中的共性抽象成一个父用例。子用例在继承父用例的基础上可以进行修改D)用例的泛化指的是一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系15.构架分析一个很重要的原则是避免包之间的循环依赖,下面四个选项中哪个构架示意图中不存在循环依赖:【】(A)(B)(C)(D)16.在某系统中,存在如下的业务陈述:①一个客户提交0个或多个订单;②一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类和“订单”类。对应每个“客户”类的实例,存在【】“订单”类的实例;对应每个“客户”类的实例,存在0个或多个“客户”类的实例。A)0个B)1个C)1个或多个D)0个或多个17.用例(Use-case)用来描述系统在事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是【】关系。A)包含(include)B)扩展(extend)C)分类(classification)D)聚集(aggregation)18.下列关于接口关系的说法不正确的是【】?A)接口是一种特殊的类B)所有接口都是有构件型interface的类C)一个类可以通过实现接口从而支持接口所指定的行为D)在程序运行的时候,其他对象不仅需要依赖于此接口,还需要知道该类对接口实现的其他信息19.用例从用户角度描述系统的行为。用例之间可以存在一定的关系。假设在“图书馆管理系统”用例模型中,所有用户使用系统之前必须通过“身份验证”,“身份验证”可以有“密码验证”和“智能卡验证”两种方式,则“身份验证”与“密码验证”和“智能卡验证”之间是【】关系。A)关联B)包含C)扩展D)泛化20.下列关于使用用例的目的,不正确的是【】。A)确定系统应具备哪些功能B)为系统的功能提供清晰一致的描述,方便开发人员传递系统的需求C)为系统验证工作打下基础D)减少程序员的编码工作量,提高开发效率21.当使用用例模型对一个工资系统进行建模时,下列哪个选项可以被认定为该系统的角色(Actor):【】A.接收工资单的银行B.工资系统源代码程序C.工资单D.工资数据库22.关于分析和设计区别,下列哪个说法是错误的:【】A.分析侧重于问题域,设计侧重于解域B.一般情况下,设计模型比分析模型复杂得多C.分析解决做什么的问题,设计则解决怎么做的问题D.分析模型主要侧重功能需求,而设计模型则要充分考虑各种非功能需求E.一般情况下,分析模型不考虑系统结构,而设计模型则对系统结构进行全面设计23.关于系统架构,下列哪个说法是错误的:【】A.软件架构包含着一套关于软件系统组织的重要结论(decision)B.软件架构决策是最基础的决策,它的改变会带来巨大的影响C.架构为设计提供了一个框架D.架构是静态的,而不是动态的24.关于软件模块分层和分区的注意事项,下列说法中,哪个是错误的:【】A.分层时高层模块仅对当前层和紧邻着的下层建立依赖关系,同时尽量避免越层依赖B.分层时较高层关注用户需求,受需求影响;而较低层关注实施平台,受环境影响C.分层的目标是减低耦合度,并且减轻维护工作量,因此层数越多越好D.分区要最大化包内的耦合和内聚,而最小化包之间的耦合25.在分析阶段,建立了类A到类B的单向关联;在用例设计过程中,出于其它原因将类A封装到子系统S1中,而将类B封装到子系统S2中,此时子系统S1和S2之间:【】A.没有任何关系B.建立从子系统S1到S2的依赖关系C.建立从子系统S1到S2的关联关系D.建立从子系统S1到S2的接口之间的依赖关系E.建立从子系统S1到S2的接口之间的关联关系26.关于类的状态建模,下列说法中哪项是正确的:【】A.对于所有的设计类都需要进行状态建模B.状态建模描述了一个类的对象的发展历史C.对于复杂的类,应该利用多个状态图进行状态建模D.某一时刻,一个类的对象可以处于多个不同的状态E.状态建模过程只会影响类的操作,而不会涉及类的属性27.已知类A需要类B提供的服务;下列所描述的四种情况中,哪种情况不会把类A和类B之间的关系定义成依赖关系:【】A.类A中存在两个操作都需要访问类B的同一个对象B.类A的某个操作内部创建了类B的对象,而其它操作均与类B无关C.类A的某个操作其参数是类B的对象,而其它操作均与类B无关D.类B是一个全局变量28.Statopia是一家大型公司,由于公司业务的扩大,准备对公司已有的软件系统进行升级,因此委托ObjectR公司进行升级。Statopia公司所使用的系统是很久以前开发的,且不是用OO方法开发的,该系统非常复杂,而且系统使用多线程来处理公司中并发的业务请求。由于原系统开发出来后经过多次修改,最初的系统开发文档已经过时。ObjectR公司建议在对系统升级前和Statopia公司的高层管理人员开一次讨论会,进一步了解业务,以便能更好地了解目前所使用的软件系统。在这次讨论会中,下面几个图中哪个图是最有用的?【】A)状态图B)部署图C)活动图D)顺序图29.每个HouseKeeper都有一个Manager负责,有的Manager可能负责多个HouseKeeper,有的Manger可能一个HouseKeeper都没有,下面哪幅图适合描述类HouseKeeper和类Manger的关系?【】A.B.C.D.30.已知三个类A、B和C,其中类A由类B的一个实例和类C的1个或多个实例构成。能够正确表示类A、B和C之间关系的UML类图是【】。A.B.C.D.31.(多选题)UML提供了一系列的图支持面向对象的分析与设计,其中(1)为系统的静态结构视图;(2)对系统的参与者和行为进行组织和建模是非常重要的;(3)和(4)都是描述系统动态视图的交互图,其中(3)描述了以时间顺序组织的对象之间的交互活动,(4)强调收发消息的对象的组织结构。那么,符合(1)-(4)顺序的答案为【】:A)状态机图B)用例图C)顺序图D)部署图E)通信图F)类图32.(多选题)在“成绩管理系统”中,“查询成绩”和“网上查询成绩”用例之间的关系、“输入成绩”和“登录系统”用例之间的关系分别为【】;A)扩展B)关联C)泛化D)包含33.(多选题)在下面的类图中,与卡车有关联的类有:【】BA11C1..*11111..*BAC11111..*A.人B.轿车C.卡车D.拖车34.(多选题)下面是用例间主要关系的有【】A)扩展B)实现C)泛化D)依赖E)包含35.(多选题)已知某接口A,存在类B实现了该接口所定义的所有操作;对于这两个类之间存在的关系,下列选项中哪些是正确的(为了简化,图中省略了相关的属性和操作):【】A.B.C.D.36.(多选题)如下图所示,下面哪些陈述是正确的?【】(A)汽车总是有相同的车身(B)一些汽车有备用轮胎(C)汽车有一个引擎,引擎在汽车之间不共享(D)所有的汽车都有四或五个轮胎(E)汽车必须有至少一个司机(F)乘客不可能是司机37.(多选题)“持久性”分析机制其对应的设计机制(具体方法)可能是。提示:不考虑详细实现策略:【】(A)RDBMS(B)ODBC(C)OODBMS(D)ObjectStore(E)JDO38.(多选题)请根据下述描述,不正确的是【】A)UML2中一共有九种图:它们是用例图、类图、对象图、顺序图、通信图、状态机图、活动图、构件图、部署图B)用例图是从程序员角度来描述系统的功能C)类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构D)活动图和状态机图用来描述系统的动态行为E)通信图的一个用途是表示一个类操作的实现39.(多选题)多重继承在概念上是比较直接,也是真实世界的体现;然而在实际使用时却要非常谨慎,这主要是因为多重继承存在很多潜在问题,具体表现为:【】A.由于继承多个父类,子类经常存在命名冲突B.多重继承增加了系统的复杂程度C.有些编程语言不支持多重继承的实现D.UML语言不支持多重继承的建模40.(多选题)已知在某用例实现的分析阶段顺序图中存在A、B两个类;而在设计阶段,已经将这两个类打包在子系统S中,此时如何表示其它类与这两个类的交互:【】A.直接在序列图中描绘与A、B两个类的交互过程B.在序列图
本文标题:(学生)2017高级软件工程复习题
链接地址:https://www.777doc.com/doc-5044605 .html