软件设计与体系结构智慧树知到答案章节测试2023年云南大学_第1页
软件设计与体系结构智慧树知到答案章节测试2023年云南大学_第2页
软件设计与体系结构智慧树知到答案章节测试2023年云南大学_第3页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章测试以下对软件架构师、软件工程师、系统分析师表述正确的是?()

A:软件架构师的重点工作是架构与设计这两个关键环节上,因此,对设计、架构、代码撰写都有较高的要求。但是,对需求分析、项目管理、运管管理、法律法规的要求相对较低。

B:软件工程师一般专注于模块级、功能代码级的开发工作,针对功能模块级的代码细节要求较高,但对系统级的架构设计要求较低。对业务分析、项目管理、运营维护、法律规定则不做过多要求。

C:系统分析师的主要职责是在于需求分析、开发管理、运行维护、法律法规等方面。对代码细节开发不做过多要求,但需要掌握一定的软件架构知识。

答案:ABC《软件工程》主要聚焦于有关软件需求分析,软件过程模型,软件项目管理、软件运营维护、软件迭代升级等软件生命周期的相关理论和方法学。()

A:错

B:对

答案:B《软件设计与体系结构》则聚焦于软件的设计原则和架构模式。以撰写高质量程序代码为目标,通过四个层次的方法学理论,指导开发者在不同的条件下,撰写较为高质量的程序代码。()

A:错

B:对

答案:B第二章测试GRASP设计原则主要指导开发者进行:()

A:架构设计

B:系统设计

C:职责设计

D:类型设计

答案:C信息专家原则的主要含义是?()

A:一个类能否分配一个职责的基本条件是该类是否能够获得执行该职责的全部信息

B:一个类能否分配一个职责的基本条件是该类是否拥有执行该职责的全部信息

答案:B以下哪种情况中,创建者的关系强度最高?()

A:A类组合B类(B是A的成员,B实例不能离开A实例单独存在)

B:A类记录B类(B不是A的成员,但是A的某个集合成员的元素)

C:A类聚合B类(B是A的成员,B实例可以单独存在)

D:A类紧密的使用B类(B不是A的成员,但A的某些方法紧密的使用B)

答案:A以下耦合关系中,哪种耦合强度最高?()

A:A类引用静态的B类

B:A类继承B类

C:A类引用控制变量flag

D:A类引用B类

答案:D以下说法相对正确的是?()

A:类和模块的内部应该尽量的提高内聚,外部应该降低耦合

B:类和模块的设计应该尽量的降低耦合

C:类和模块的设计应该尽量的提高内聚

D:类和模块的应同时考虑高内聚和低耦合原则

答案:AD控制器原则的主要含义是?()

A:应该尽量将功能控制代码分配在一个单独的控制器类中,UI默认调用控制器类来执行功能

B:应该尽量将功能控制代码分配在一个单独的控制器实现类中,UI默认调用抽象控制器类来执行功能

C:在各类编程语言的类库中,常见的控制器类有handler,Action,Listener等。

D:应该尽量将功能控制代码分配在一个单独的控制器中,而不应绑定在UI组件上

答案:BCD以下哪些方式可以实现多态?()

A:实现

B:继承

C:组合

D:聚合

答案:AB第三章测试以下对开-闭原则的阐述正确的是?()

A:程序设计最好都提前考虑开闭原则的使用程度,在设计时需要分析可能会持续发生变化的业务所对应的类设计。

B:并不是所有程序代码设计都要遵循开闭原则,特别是长期稳定的代码块,扩展的成本甚至会远高于修改的成本。

C:开闭原则建议程序设计以遵循代码重构的思路,以迭代的形式进行,避免非必要的扩展和增加新的类型。

D:开闭原则建议程序设计尽量保证较小幅度的修改,以迭代的形式进行,避免非必要的扩展和增加新的类型。

答案:AB以下对单一职责原则描述正确的是?()

A:在类的继承链中,由职责分化带来的类分化原因应当是单一的,即,不应由多个分化职责来构成继承关系

B:如果类的多个职责分化时,对应的类型分化可能会带来类型爆炸的风险

C:如果类的某个职责分化时,可以考虑对类型进行分化

D:类的继承应该尽量建立在类的属性划分上,而不应该建立在类的行为划分上

答案:ABCD以下对依赖倒置原则描述正确的是?()

A:依赖倒置原则是间接原则的一种特化,其要求中间类必须是抽象的

B:依赖于抽象类和依赖于具体类都是属于对象耦合,耦合程度相当

C:依赖于抽象并不是特指必须是编程语言上的抽象类或接口,而是指业务中相对抽象的概念

D:依赖于接口和依赖于实现类都是属于对象耦合(引用耦合),耦合程度相当

答案:AC以下对合成复用原则描述正确的是?()

A:应该避免由职责(行为)的分化而带来的类的分化

B:复用指的是对行为的复用,一般通过继承来实现复用

C:职责(行为)分化时,可以将对应的类型也进行分化,使得类型保持单一职责

D:职责(行为)分化时,可以考虑剥离分化的行为,需要时再组合注入到相应的对象中

答案:AD以下对接口隔离原则描述正确的是?()

A:接口中应该只有一个接口方法,如果需要多个接口方法,则该接口应该分为多个接口

B:接口是抽象的,一个接口可以有多个实现类。而一个类又可以实现多个接口

C:接口中可以有多个方法,但需要尽量保持这些方法在业务中是内聚的

D:接口中应该只有一个接口方法,如果需要多个接口方法,则该接口应该产生继承接口

答案:BC以下对迪米特原则描述正确的是?()

A:对外提供引用时,我们应该尽可能少的对外暴露知识

B:我们可以使用组合产生的多态性质,实现有选择的对外知识暴露

C:我们可以使用继承产生的多态性质,实现有选择的对外知识暴露

D:我们可以实现多个接口,使得一个类可以选择不同的侧面进行知识暴露

答案:ACD第四章测试抽象反射工厂模式的含义是?()

A:这里的抽象指的是用于创建对象的工厂应该是抽象的

B:这里的反射指的是具体创建对象的工厂是在运行时动态注入的

C:这里的抽象指的是被创建的对象是抽象态的

D:这里的反射指的是具体要创建的对象是通过完整类名的字符串创建的

答案:CD抽象组合反转模式的含义是?()

A:这里的抽象指的是基类应该尽量是抽象类

B:这里的反转指的是行为的具体实现是通过完整类名的字符串创建的

C:这里的反转指的是行为的具体实现是运行时动态注入的

D:这里的抽象指的是行为应该是抽象类或接口

答案:CD以下对观察者模式描述正确的是?()

A:观察者数据同步模式要求被观察者只发送更新通知和更新目录,观察者也需要掌握一定的主动权,根据更新通知和更新目录,自主选择需要同步的数据

B:经典的观察者模式是对传统轮询更新模式的改进,特别适用于点对点的简单的消息传递

C:经典的观察者模式是一种消息传递控制模式,根据信息专家原则,由被观察者掌握数据更新的主动权,观察者被动的接收更新数据

D:观察者数据同步模式是经典观察者模式在分布式数据同步应用中的特化,考虑到实际的远程分布部署,观察者在公网一般不可直接访问,因此数据同步主要是观察者主动向被观察者进行请求。

答案:AC以下对拦截器认证责任链模式描述正确是?()

A:责任链模式能够将复杂的职责拆解为多个更小粒度的职责,按照一定的顺序连接起来组合使用,每个小的职责可以满足单一职责原则。

B:目前,一般用于权限认证的系统模块,会采用拦截器进行权限的检查,而拦截器的实现可以采用责任链模式。

C:一般情况下,通过角色(Role)对某个方法进行控制的思路能够较为灵活和动态的实现访问控制

D:一般情况下,通过权限(Permission)对某个方法进行控制的思路能够较为灵活和动态的实现访问控制

答案:ABD以下对面向切面(AOP)编程模式描述正确的是?()

A:面向切面编程基于代理模式的思想

B:面向切面编程的基本原理是在原方法执行之前和执行之后,加入而外功能代码

C:面向切面编程的重要目的是动态的给原有方法添加新能功能,而不需要修改原方法

D:具体的,面向切面编程可以采用装饰器模式来实现,也可以基于框架采用注解(如@[]等)来实现

答案:ABCD第五章测试以下对分层架构模式描述正确的是?()

A:根据确定的层次边界划分职责,提升系统的可扩展性和可维护性

B:根据不同的调用目的划分软件构件层级,将需求变化聚集在不同的层级之内

C:根据不同业务逻辑划分软件构件层级,按功能完成层间隔离,提升可扩展性

D:根据不同的技术框架划分职责,提升系统的可扩展性和可维护性

答案:AB以下哪些类型属于领域模型?()

A:饮血模型

B:充血模型

C:失血模型

D:贫血模型

答案:BCD以下关于领域模型的描述中,正确的是?()

A:贫血模型中,领域对象(DomainObject)仅包含对象属性的定义和操作对象属性的访问器方法。这样的对象也被称为简单的Java对象(POJO)

B:充血模型,领域对象包含对象属性的定义、操作对象属性的访问器方法和对象的行为,但不包含依赖持久层业务逻辑

C:贫血模型中,领域对象包含对象属性的定义、操作对象属性的访问器方法和对象的行为,但不包含依赖持久层业务逻辑

D:失血模型中,领域对象(DomainObject)仅包含对象属性的定义和操作对象属性的访问器方法。这样的对象也被称为简单的Java对象(POJO)

答案:CD以下关于数据库连接池的描述中,正确的是?()

A:在业务不繁忙时,数据库连接池中可能存在着多个没有被使用的连接一直连接着数据库,这意味着资源的浪费

B:可根据预先的占用超时设定,强制回收被占用连接,从而避免了常规数据库连接操作中可能出现的资源泄露

C:避免了频繁创建,释放连接引起的大量性能开销。在减少系统消耗的基础上,增加了系统运行环境的平稳性。

D:数据库连接池在初始化过程中,已经创建了若干数据库连接置于连接池中备用。业务请求可直接利用现有可用连接,避免了数据库连接初始化和释放过程的时间开销,从而减少了系统的响应时间。

答案:ABCD以下关于对象关系映射(ORM)的描述中,正确的是?()

A:隐藏了数据访问的细节,屏蔽了不同数据库操作上的差异。

B:ORM可以自动完成领域对象的属性与数据库表中字段的映射,大大简化了数据访问层的代码量

C:无可避免的,自动化映射意味着牺牲性能,对于极其复杂的查询,ORM仍然力不从心。

D:开发人员只需要面向对象编程,不需要面向数据库编写代码。针对数据库的操作被转化为针对对象的操作。

答案:ABCD以下关于业务逻辑层和接口控制层的描述中,正确的是?()

A:业务逻辑层封装了具体业务处理流程,当处理流程发生改变时只需要维护业务逻辑层代码。

B:接口控制层通过定义良好的接口和协议与功能单元联系起来,这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

C:接口控制层主要负责维护代码中定义的各类接口,以灵活的方式进行统一管理。

D:业务逻辑层封装了数据持久化过程,当持久化流程发生改变时只需要维护业务逻辑层代码

答案:AB以下关于MVVM架构的描述中,正确的是?()

A:MVVM是Model-View-VirtualModel的缩写。

B:使用MVVM架构时,View和Model可以相互独立存在,当View变化的时候Model可以不变,当Model变化的时候View也可以不变,可以同时编程

C:MVVM是Model-View-ViewModel的简写。

D:使用MVVM架构时,开发人员

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论