如何评测软件工程知识技能水平?

一、一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面

1)具备扎实的基本功,如:超快的打字速度、熟悉键盘快捷键的使用、熟练操作工具集和使用正则表达式。

2)代码书写符合规范且风格优良、能够对任务进行合理的分解、具有对代码进行单元测试的习惯。

3)对于业务有独到的理解与分析、熟悉需求工程。

4)可以根据任务的具体要求选择合适的代码结构、特性和描述方法。包括UML图的使用、模块的设计、架构风格、代码结构视图等。

5)熟悉软件工程的过程和项目管理。包括软件的生命周期、软件的开发过程、计划和管理项目、交付系统、维护系统等。

二、软件工程测试题

试题来源:https://www.doc88.com/p-076308260531.html

<1>选择题

1. 可行性分析研究的目的是(B )
A. 争取项目 B. 项目值得开发否 C. 开发项目 D. 规划项目
2. 具有风险分析的软件生存周期模型是(C )
A. 瀑布模型 B. 喷泉模型 C. 螺旋模型 D. 增量模型
3. 需求分析阶段的任务是确定( D)
A. 软件开发方法 B. 软件开发工具 C. 软件开发 D. 软件系统的功能
4. 数据字典是用来定义(D ) 中的各个成份的具体含义的。
A. 流程图 B. 功能结构图 C. 系统结构图 D. 数据流图
5. 程序的三种基本控制结构的共同特点是(C )
A. 只能用来描述简单程序 B. 不能嵌套使用
C. 单入口, 单出口 D. 仅用于自动控制系统
6. 软件设计的方法有多种, (A ) 方法不属于面向数据流的设计方法。
A. 基于 Jackson 图的设计 B. 基于 IDEF0 图的设计-结构化方法-数据流
C. 交换分析设计 D. 事务分析设计
7. 为高质量地开发软件项目, 在软件结构设计时, 必须遵循( A) 原则。
A. 信息隐蔽 B. 质量控制 C. 程序优化 D. 数据共享
8. 软件复杂性主要体现在(A )
A. 数据的复杂性 B. 程序的复杂性 C. 控制的复杂性 D. 问题的复杂性
9. 为了提高软件的可维护性, 在编码阶段应注意( B)
A. 保存测试用例和数据 B. 提高模块的独立性
C. 文档的副作用 D. 养成好的程序设计风格
10. 面向对象的特征之一是(D ) 对象唯一性、 分类性、 继承性、 多态性
A. 对象的唯一性 B. 抽象 C. 封装性 D. 共享性
11. 当一个模块直接使用另一个模块的内部数据, 这种模块之间的耦合为(D )
A. 数据耦合 B. 公共耦合 C. 标记耦合 D. 内容耦合
12. 需求规格说明书的作用不包括( C)
A. 软件验收的依据 B. 用户与开发人员对软件要做什么的共同理解
C. 软件可行性研究的依据 D. 软件设计的依据
13. 为使得开发人员对软件产品的各个阶段工作都进行周密的思考, 从而减少返工, 所以( C) 的编制是很
重要的。
A、 需求说明 B、 概要说明 C、 软件文档 D、 测试计划
14. 软件部件的内部实现与外部可访问性的分离, 是指软件的(C )。
A、 继承性 B、 共享性 C、 封装性 D、 抽象性
15. 单元测试是发现编码错误, 集成测试是发现模块的接口错误, 确认测试是为了发现功能错误, 那么系统
测试是为了发现( C) 的错误。
A、 接口错误 B、 编码错误 C、 性能、 质量不合要求 D、 功能错误
16. 软件工程管理是对软件项目的开发管理, 即对整个软件(B ) 的一切活动的管理。
A、 软件项目 B、 生存期 C、 软件开发计划 D、 软件开发
17. 软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种, 它们( D)
A. 前者属于静态测试, 后者属于动态测试 B. 都属于静态测试
C. 前者属于动态测试, 后者属于静态测试 D. 都属于动态测试
18. 软件工程管理的具体内容不包括对(D ) 管理。
A. 开发人员 B. 组织机构 C. 控制 D. 设备

19. 软件调试技术包括( C) 试探法、 回溯法、 对分查找法、 归纳法、 演绎法
A. 错误推断 B. 集成测试 C. 回溯法 D. 边界值分析

20. 从现存的程序代码中抽取有关数据、 体现结构和处理过程的设计信息, 以便恢复设计结果的过程, 称为( B)

A.代码重构 B.逆向工程 C.数据重构 D.正向工程

<2>简答题

1. 软件项目估算内容与步骤
软件估算一般是通过主观经验和客观分析两种方法进行, 包括有四个重要方面: 规模估算、 工作量估
算、 进度估算和成本估算。
(1) 规模估算前先制定良好的规划
(2) 确定软件项目的范围
(3) 制订各级别的估算表框架和模板
(4) 根据合适的估算表模板进行由底而上的估算
(5) 项目组根据项目的特点利用合适的估算表模板继续细化
2. 面向对象设计的准则是什么? 有哪 5 个层次和 4 个部分?
模型化; 抽象; 信息隐蔽; 低耦合; 高内聚(操作内聚、 类内聚、 一般――具
体内聚)
在面向对象方法中, 信息隐蔽通过对象的封装性来实现。 类结构分离了与实现, 从而支持了信息隐蔽。
3. 简述软件工程目标和面临的主要问题。
答: 软件工程是一门工程性的学科, 其目标主要是成功地建造一个大型软件系统. 包括: 付出较低的开发
成本; 达到要求的软件功能; 取得较好的软件性能; 开发的软件易于移植; 需要较低的维护费用; 能按时完成
开发任务, 及时交付使用;开发的软件可靠性高。
面临的主要问题是: 软件费用 软件可靠性 软件维护 软件生产率 软件重用。
4. 简述软件工程过程。
: 获取过程; 供应过程; 开发过程; 操作过程; 维护过程; 管理过程; 支持过程。
5. 简述模块独立性的原则。
模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能, 而和软件系统中其他的模块接口
是简单的
模块独立性的概念是模块化、 抽象、 信息隐蔽和局部话概念的直接结果
由耦合和内聚 2 个标准度量

<3>分析题

1. 根据下面给出的规格说明, 利用等价类划分的方法, 给出足够的测试用例。
“一个程序读入三个整数。 把此三个数值看成是一个三角形的三个边。 这个程序要打印出信息, 说明这个
三角形是三边不等的、 是等腰的、 还是等边的。 ”

如何评测软件工程知识技能水平?_第1张图片

 

 

 如何评测软件工程知识技能水平?_第2张图片

 

 如何评测软件工程知识技能水平?_第3张图片

 

 2. 图书馆的预定图书子系统有如下功能:
(1) 由供书部门提供书目给订购组;
(2) 订书组从各单位取得要订的书目;
(3) 根据供书目录和订书书目产生订书文档留底;
(4) 将订书信息(包括数目, 数量等) 反馈给供书单位;
(5) 将未订书目通知订书者;
(6) 对于重复订购的书目由系统自动检查, 并把结果反馈给订书者。
试根据要求画出该问题的数据流图, 并把其转换为软件结构图。

如何评测软件工程知识技能水平?_第4张图片

 

你可能感兴趣的:(如何评测软件工程知识技能水平?)