【软考系统架构设计师】软件工程章节习题二

【软考系统架构设计师】软件工程章节习题二

【软件工程章节习题集第17题:绿色】
17.系统建议方案中不应该包含的内容是()。
A.问题陈述
B.项目范围
C.候选方案的可行性分析
D.系统详细设计方案

解答:答案选择D。

【软件工程章节习题集第18题:绿色】
18.下列关于用户界面的设计的叙述中,错误的是()
A.界面交互模型应经常进行修改
B.界面的视觉布局应该尽量与真实世界保持一致
C.所有可视信息的组织需要按照统一的设计标准
D.确保用户界面操作和使用的一致性

解答:答案选择A。
考查的是UI设计三大原则。

【软件工程章节习题集第19题:绿色】
19.下列关于联合需求计划JRP的叙述中,不正确的是()
A.在实施JRP之前,应制定详细的议程,并严格遵照议程进行。
B.在讨论期间尽量避免使用专业术语
C.JRP是一种相对来说成本较高但十分有效的需求获取方法
D.JRP的主要目的是对需求进行分析和验证

解答:答案选择D。被B给误导了。
JRP主要是一种需求获取的技术。

【软件工程章节习题集第20题:红色】
20.某软件公司欲开发一个绘图软件,要求使用不同的绘图图形。在明确用户需求后,该公司的架构师决定采用桥接模式实现该软件,并设计UML类图如下图所示。图中与Bridge模式中的Abstraction相对应的类是(),与Implementor角色相对应的类是()。
A.Shape
B.Drawing
C.Rectangle
D.V2Drawing
在这里插入图片描述

解答:答案选择A|B。

【软件工程章节习题集第21题:绿色】
21.以下关于面向对象的叙述中,正确的是()。
A.在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试。
B.存在多态的状态下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
C.假设类B是类A的子类,如果类A已经进行了充分的测试,那么在测试类B时,不必测试任何类B继承自类A的成员方法。
D.对于一个继承树上的多个类,只有处于叶子结点的类需要测试。

解答:答案选择B。

【软件工程章节习题集第22题:黄色】
22.以下关于自顶向下开发方法的叙述中,正确的是()
A.自顶向下过程因为单元测试而比较耗费时间
B. 自顶向下过程可以更快的发现系统性能方面的问题
C.相对于自底向上的方法,自顶向下的方法可以更快的得到系统的演示模型
D.在自顶向下的设计中,如发现了一个错误,通常是因为底层模块没有满足其规格说明(因为高层模块已经被测试过了)

解答:答案选择C。自顶向下的方法底层可以做桩。

  1. 结构化设计包括有概要设计和详细设计;
  2. 概要设计一般指模块的划分和模块接口的设计,而详细设计一般就是模块内部的设计。
  3. 特征:抽象化,自顶向下逐步求精,信息隐蔽,模块独立性(高内聚低耦合)
  4. 特点:
    1. 保持模块大小的适中;
    2. 尽可能减少调用的深度;
    3. 多扇入,少扇出;
    4. 单入口,单出口;
    5. 模块的作用域应该在模块之内;
    6. 功能应该是可预测的;

内聚类型 描述
功能内聚 完成一个单一功能,各个部分协同工作,缺一不可
顺序内聚 处理元素相关,而且必须顺序执行
通信内聚 所有处理单元元素集中在一个数据结构的区域上
过程内聚 处理元素相关,而且必须按特定的顺序执行
瞬时内聚 所包含的任务必须在同一时间间隔内进行
逻辑内聚 完成逻辑上相关的一组任务
偶然内聚 完成一组没有关系或者松散关系的任务
耦合类型 说明
非直接耦合 两个模块之间没有直接联系,他们之间的联系完全是通过主模块的控制和调用来实现的
数据耦合 一组模块借助参数表传递简单数据
标记耦合 一组模块借助参数表传递记录信息(数据结构)
控制耦合 模块之间传递的信息中包含用于控制模块内部逻辑的信息
外部耦合 一组模块都访问同一全局简单变量,而且不是通过参数表传递该全局变量的信息
公共耦合 多个模块都同时访问一个公共数据环境
内部耦合 一个模块直接访问另一个模块内的数据;一个模块不通过正常入口转到另一个模块的内部,两个模块有一部分代码重复;一个模块有多个入

【软件工程章节习题集第23题:红色】
23.某系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现在需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类。
那么采用()设计模式可以满足该需求,其优点是()。
A.外观模式
B.单例模式
C.装饰模式
D.模版方法

A.比静态继承具有更大的灵活性
B.提高已有功能的重复使用性
C.可以将接口与实现相互分离
D.为复杂系统提供简单接口

解答:答案选择A|A。
可以将接口与实现相互分离,这个是桥接模式;为复杂系统提供简单接口是外观模式的特点

【软件工程章节习题集第24题:黄色】
24.逆向工程可以导出的信息可以分为:实现级,结构级,功能级,领域级四个抽象层次。程序的抽象语法树属于();反映程序分量之间相互依赖关系的信息属于()。
A.实现级
B.结构级
C.功能级
D.领域级

解答:答案选择A|B。结构级和功能级难区分。
实现级:包括程序的抽象语法树,符号表,过程的设计表示;
结构级:包括程序分量之间的相互依赖关系的信息,例如调用图,结构图,程序和数据结构;
功能级:包括反映程序段功能及程序段之间关系的信息,例如数据和控制流模型;
领域级:包括反映程序分量或程序诸实体与应用领域概念之间的对应关系信息,例如实体关系;

【软件工程章节习题集第25题:绿色】
25.螺旋模型将整个开发过程分为多个阶段,每个阶段都由目标设定,(),开发和有效性验证以及评审这四个部分组成。
A.需求分析
B.风险分析
C.系统设计
D.架构设计

解答:答案选择B。

【软件工程章节习题集第25题:绿色】
25.某软件公司正在设计一个图像处理软件,该软件需要支持用户在图像处理中的撤销和重做等动作,为了实现该功能,采用()模式最为合适。
A.单例
B.命令
C.访问者
D.适配器

解答:答案选择B。
关键字:撤销和重做。

【软件工程章节习题集第26题:绿色】
26.软件()是指改正产生于系统开发阶段而在系统测试阶段尚未发现的错误。
A.正确性维护
B.适应性维护
C.预防性维护
D.完善性维护

解答:答案选择A。

【软件工程章节习题集第27题:黄色】
27.确认测试主要用于验证软件的功能,性能和其他特征是否与用户需求一致,下述各种测试当中,()为确认测试。
A.负载测试和压力测试
B.贝塔测试和阿尔法测试
C.随机测试和功能测试
D.可靠性测试和性能测试

解答:答案选择B。确认测试除了以上两种之外,还包括了内部确认测试和验收测试。它用来验证软件功能与需求的一致性。
确认测试一般由用户参与进来进行测试。
阿尔法测试是把用户邀请到开发环境当中进行的测试;贝塔测试是用户在用户真实环境之下进行的测试。
集成测试又可以分为一次性组装和增量性组装。增量性测试又可以分为自顶向下,自底向上和混合三种模式。

【软件工程章节习题集第28题:红色】
28.最少知识法则(也称为迪米特法则)是面向对象设计的原则之一,指一个软件实体应当尽可能少的与其他实体发生交互作用。这样当一个实体被修改时,就会尽可能少的影响其他的实体。下列叙述中,()不符合最小知识法则。
A.在类的划分上,应当尽量创建松耦合的类
B.在类的设计上,只要有可能,一个类型应当设计成不变类
C.在类的结构设计上,每个类都应当尽可能提高对其属性和方法的访问权限。
D.对其他类的引用上,一个对象对其他对象的引用应当降到最低

解答:答案选择C。不是提高访问权限,为了达到最小知识,应该减少访问权限

【软件工程章节习题集第29题:绿色】
29.快速应用开发RAD通过使用基于()的开发方法获得快速开发。当()时,最适合采用RAD方法。
A.用例
B.数据结构
C.剧情
D.构件

A.一个新系统要采用很多新技术
B.新系统与现有系统有较高的互操作性
C.系统模块化程度较高
D.用户不能很好的参与到需求分析中

解答:答案选择D|C。

  1. RAD快速应用开发结合了基于构件的开发和瀑布模型这两种开发模型。
  2. V模型的特点:测试要尽早做,提前做,测试要贯穿项目始终

【软件工程章节习题集第30题:红色】
30.以下关于软件开发方法的叙述,错误的是()。
A.对于较为复杂的应用问题,适合采用形式化开发方法进行需求分析
B.形式化方法的优势在于能够精确的表述和研究应用问题及其软件实现
C.净室工程将正确性验证作为发现和排除错误的主要机制
D.净室工程强调统计质量控制技术,包括对客户软件使用预期的测试。

解答:答案选择A。
结构化方法和形式化方法不要搞混了。

【软件工程章节习题集第31题:绿色】
31.对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案中,正确的是()
A.尽量将一些需要扩展的类或者存在变化的类设计成抽象类或者接口,并将其作为基类,在程序中尽量使用基类进行面向对象的编程。
B.创建一个新的抽象类,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题
C.将B到A的继承关系改成组合关系
D.区分is-a还是has-a关系,如果是Is-a可以使用继承关系,如果是Has-a,应该改成组合关系

解答:答案选择A。
CD都和组合重用原则相关,B是接口隔离原则

【软件工程章节习题集第32题:绿色】
32.软件的维护并不只是修正错误,为了满足用户提出的增加新功能,修改现有功能,以及一般性的改进要求和建议,需要进行(),它是软件维护工作的主要部分。
软件测试不可能揭露旧系统中所有的错误,所以这些程序在使用过程中还可以发生错误,诊断和更正这些错误的过程称为();为了改进软件未来的可维护性或可靠性,或者可以为未来的改进提供良好的基础而对软件进行的修改,这类活动称为()。
A.完善性维护
B.预防性维护
C.适应性维护
D.正确性维护

解答:答案选择A|D|B。

【软件工程章节习题集第33题:绿色】
33.某软件公司欲设计一款图像处理软件,帮助用户对拍摄的照片进行后期处理。在软件需求分析阶段,公司的系统分析师识别出如下三个关键需求:
图像处理软件需要记录用户在处理照片时所有动作,并能够支持用户动作的撤销与重做的行为。
图像处理软件需要根据当前正在处理的照片的不同特征选择合适的处理操作,处理操作与照片特征之间具有较为复杂的逻辑关系。
图像处理软件需要封装各种图像处理算法,用户能够根据需要灵活选择合适的处理算法;软件还要支持高级用户根据一定的规则添加自定义处理算法。
在系统设计阶段,公司的系统架构师决定采用设计模式满足上述关键需求中对系统灵活性与扩展性的要求。具体来说为了支持灵活的撤销与重做等行为,采用()最为合适。
为了封装图像操作与照片特征之间的复杂逻辑关系,采用()最为合适;
为了实现图像处理算法的灵活选择与替换,采用()最为合适。
A.工厂模式
B.责任链模式
C.中介者模式
D.命令模式

A.状态模式
B.适配器模式
C.组合模式
D.单例模式

A.模版方法
B.访问者模式
C.策略模式
D.观察者模式

解答:答案选择D|A|C。
第二空相对来说A稍微合理些。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值