软件工程与软件设计模式综合题库
单选题
1.在软件工程中,为解决软件危机而提出的三要素不包括以下哪一项?
A.方法
B.过程
C.工具
D.语言
2.软件危机的主要表现不包括哪一项?
A.产品的功能或特性与需求不符
B.软件代价相比硬件过高
C.软件文档完备且与产品内容一致
D.难以准确估计开发、维护的费用和周期
3.在可行性研究中,以下哪一项不属于技术可行性评估的主要内容?
A.现有开发人员的技术能力是否满足项目需求
B.项目预期的投资回报率是否达到公司要求
C.所需的硬件设备和软件环境是否具备
D.相关技术的发展是否支持新系统
4.在需求分析中,用于获取用户对原型反馈以澄清需求的方法是?
A.数据流图分析
B.原型设计
C.数据字典编制
D.状态转换图绘制
5.需求分析的四个正确步骤顺序是?
A.需求获取→需求建模→需求描述→需求验证
B.需求建模→需求获取→需求描述→需求验证
C.需求验证→需求描述→需求获取→需求建模
D.需求获取→需求描述→需求建模→需求验证
6.数据字典在结构化分析中的作用是?
A.描述系统的功能结构
B.替代数据流图
C.定义数据流图中各元素的详细信息
D.描述模块调用关系
7.在需求分析中,原型设计的主要目的是?
A.代替需求规格说明书
B.直接作为最终产品需求
C.帮助用户理解并确认
D.节省开发成本
8.在结构化分析方法中,功能建模主要使用的图形工具是?
A.实体关系图(E-R图)
B.数据流图(DFD)
C.状态转换图
D.数据字典
9.在软件体系结构中,将系统组织成若干层次,每一层为上层提供服务,并依赖于下层,这种风格属于?
A.管道/过滤器风格
B.客户端/服务器风格
C.分层风格
D.仓库风格
10.下列哪种内聚性最高?
A.逻辑内聚
B.功能内聚
C.顺序内聚
D.偶然内聚
11.在编程中,要求变量命名采用驼峰法、函数长度不超过50行,这些规定属于?
A.语法约束
B.编程规范
C.复用原则
D.编译优化
12.在软件开发中,通过继承父类来复用其属性和方法,这种方式属于?
A.源代码剪贴复用
B.二进制代码复用
C.面向对象的继承复用
D.开源代码复用
13.某公司对一款已运行多年的库存管理系统进行重构,从源代码中提取出系统的设计文档和需求规格说明,以便后续进行平台迁移、这一过程属于?
A.逆向工程
B.正向工程
C.重构
D.再工程
14.银行系统上线后央行发布新利率规则,需修改利率模块、该维护属于?
A.纠错性维护
B.适应性维护
C.完善性维护
D.预防性维护
15.要描述一个对象在其生命周期中可能经历的各种状态以及引起状态转移的事件,最合适的UML图是?
A.活动图
B.状态图
C.组件图
D.时序图
16.某系统需要展示“用户登录”过程中多个对象之间的交互顺序,最合适的UML图是?
A.类图
B.用例图
C.组件图
D.时序图
17.在UML类图中,如果A类的某个方法以B类对象作为参数,这种关系应表示为?
A.聚合
B.组合
C.关联
D.依赖
18.在UML类图中,表示学生与班级的关系(学生可独立存在)应使用?
A.聚合
B.组合
C.泛化
D.依赖
19.以下哪种设计模式的核心是“抽象与实现分离,使两者可独立变化”?
A.适配器模式
B.桥接模式
C.装饰模式
D.代理模式
20.工厂模式的核心思想是?
A.将对象的创建与使用分离
B.将算法与对象分离
C.将行为与状态分离
D.将接口与实现分离
判断题
1.瀑布模型是一种迭代式过程模型,允许随时返回上一阶段进行修改。
对
错
2.螺旋模型是以风险驱动为核心,结合原型与瀑布特点的过程模型。
对
错
3.原型模型适用于需求完全明确的项目。
对
错
4.项目立项的第一个步骤是项目论证。
对
错
5.操作可行性主要评估用户和管理人员是否愿意接受并使用新系统。
对
错
6.技术可行性评估包括分析项目投资回报率。
对
错
7.顶层数据流图中包含多个加工,每个外部实体至少连接一个加工。
对
错
8.在分层数据流图中,父图中某个加工的输入输出数据流必须与子图的输入输出数据流保持一致。
对
错
9.E-R图转换关系模式时,多对多关系需要单独创建一个关系表来表示。
对
错
10.在结构化设计中,事务分析适用于处理具有多个分支事务的系统,如根据用户输入类型执行不同操作。
对
错
11.软件设计应遵循模块化原则,每个模块独立且职责单一。
对
错
12.软件设计中模块之间的耦合度越低越好,内部的内聚度越高越好。
对
错
13.高耦合、低内聚是好的模块设计原则。
对
错
14.变换分析将数据流图转换为结构图时,需要识别输入流、变换中心和输出流。
对
错
15.软件实现阶段,只要程序能正确运行,代码的可维护性可以不考虑。
对
错
16.软件实现阶段可以为了开发效率而适当放宽统一的命名规范要求。
对
错
17.开发人员主动对代码进行重构,以提高软件未来的可维护性,这属于预防性维护。
对
错
18.逆向工程是从源代码还原设计文档的过程。
对
错
19.再工程是在逆向工程基础上进一步改进系统。
对
错
20.代码复用只能通过继承实现。
对
错
21.软件维护中的完善性维护是指修复Bug。
对
错
22.在UML中,类图用于描述系统的动态行为。
对
错
23.面向对象分析的核心任务是识别问题域中的对象、类以及它们之间的关系,建立对象模型。
对
错
填空题
44. 1.螺旋模型特点是引入________分析,在每个阶段对项目进行评估和控制。
45. 2.在结构化设计方法中,从数据流图导出结构图时,常用的两种分析方法是变换分析和________
46. 3.结构化设计中,衡量模块独立性的两个指标是耦合度和________
47. 4.软件设计阶段通常分为总体设计和________两个阶段。
48. 5.软件设计的原则包括________、抽象、逐步求精、信息隐藏、复用性设计和灵活性设计。
49. 6.时序图中,垂直虚线代表对象的生命线,矩形条代表对象处于________状态。
50. 7.工厂模式的核心思想是将对象的________与使用分离,客户端不直接使用操作符创建对象,而是通过工厂来获取。
51. 8.用例图中,表示一个用例可以被另一个用例引用的关系称为________关系。
52. 9.建造者模式包含产品角色、抽象建造者、具体建造者和________
53. 10.在结构化分析方法中,描述数据组成和关系的工具是________
54. 11.软件生命周期中,可行性研究之后的活动是________
55. 12.软件维护分为纠正性维护、适应性维护、完善性维护和________
关闭
更多问卷
复制此问卷