一名良好的软件工程师应具备以下能力:
1)具有扎实的计算机专业知识
这是软件工程理由能够从事软件一切工作最基本的前提,是软件工程最基本的素质,这要求软件工程师必须精通高等数学、离散数学、电子学、编程语言、数据结构等课程。
(2)良好的语言表达能力和沟通能力
这是软件工程师应该具备的一个很重要的素质,因为软件工程师是为用户开发软件,常常需要直执着面对用户。
(3)健康的心理素质
开发软件本身就是一项艰苦的脑力和体力劳动,软件工程师开发成功一个软件,要经过反复修改,要花费大量的进间和精力,这些都有要求软件工程师有较好的心理承受能力。
软件工程知识技能水平的测评试题如下:
一、填空题(共20分,每小题2分)
1. 在信息处理和计算机领域内,一般认为软件是程序、 数据 和 文档
2. 数据流图的基本组成部分有数据的源点与终点、 加工 、 数据的流向 和数据文件。
3. 数据流图和数据字典共同构成了系统的 逻辑 模型,是需求规
格说明书的主要组成部分。
4. 划分模块时尽量做到高内聚、 低耦合 ,保持模块的独立性,尽
量使用公共模块。
5. 类的实例化是 对象 。
6. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用
性,常用的度量软件可靠性的两个指标是 成功运行的概率 和平均故障时间。
7. 如果一个模块被n个模块调用,其中直接的上级模块的个数是m
个(m<二n)那么该模块的扇入数是 n 个。
8. 结构化设计以 数据流图 为基础,按一定的步骤映射成软件
结构。
9. 软件的风险分析可包括风险识别、风险预测 和风险驾驭(或
险管理)等3项活动。
10.软件著作权登记的3种主要类型:(1) 著作权登记 ;(2)著作
权延续登记;.(3)权利转移备案登记。
二、选择题(共30分,每小题2分)
1. 软件工程的概念是哪年提出的( B )。
A.1988 B.1968
C.1948 D.1928
2. 瀑布模型的关键不足在于( D )。
A.过于简单 B.各个阶段需要进行评审
C.过于灵活 D.不能适应需求的动态变更
3.以下哪一项不是软件危机的表现形式( C )。
A. 开发的软件不满足用户需要 D.开发的软件可维护性差
C.开发的软件价格便宜 D.开发的软件可靠性差
4.面向对象的主要特征除对象惟一性、封装、继承外,还有( A )。
A.多态性 B.完整性
C.可移植性 D.兼容性
5.软件详细设计的主要任务是确定每个模块的( A )
A、算法和使用的数据结构 B、外部接口
C、功能 D、编程
6.按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个
阶段的工作( A)
A、需求分析 B、程序设计
C、详细设计 D、软件维护
7.经过严密的软件测试后所提交给用户的软件产品中( B )
A、软件不再包含任何错误 B、还可能包含少量软件错误
C、所提交的可执行文件不会含有错误 D、文档中不会含有错误。
8.对象实现了数据和操作的结合, 使数据和操作( C )于对象的统
一体中。
A、结合 B、隐藏
C、封装 D、抽象
9.系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,
则把该软件称为(A )。
A、软件容错 B、系统软件
C、测试软件 D、恢复测试
10.软件项目计划一般不包括以下哪项内容( D )
A、培训计划 B、人员安排
C、进度安排 D、软件开发标准的选择和制定
11.下列关于效率的说法不正确的是(D )
丸效率是一个性能要求,其目标应该在需求分析时给出
B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算
法
C.效率主要指处理机时间和存储器容量两个方面
D.程序的效率与程序的简单性无关
12.数据字典是用来定义(D )中的各个成份的具体含义的。
A.流程图 B.功能结构图
C.系统结构图 D.数据流图
13.软件生命周期中所花费用最多的阶段是(D)
A.详细设计B.软件编码C.软件测试D.软件维护
14.程序的三种基本控制结构是(B)
A.过程、子程序和分程序
B.顺序、选择和重复 ’
C.递归、堆栈和队列
D.调用、返回和转移
15.单元测试阶段主要涉及( C)的文档。
A.需求设计 B.编码和详细设计
C.详细设计 n概要设计
三、判断题(共20分,每小题2分。对“√” ,错“X”)
1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
( T )
2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和
终点进行详细定义。 ( F )
3.软件是指用程序设计语言(女[1PASCAL,C,VISUALBASIC等)编写
的程序,软件开发实际上就是编写程序代码。 ( F )
4.软件模块之间的耦合性越弱越好。 ( T )
5.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是
对象的实例,对象是生成类的模板。 ( F )
6.过程描述语言可以用于描述软件的系统结构。 ( F )
7.如果通过软件测试没有发现错误,则说明软件是正确的。( F )
8.快速原型模型可以有效地适应用户需求的动态变化。 ( T )
9.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高
内聚,低耦合度的软件产品。 ( T )
10.集成测试主要由用户来完成。 ( F )
四、名词解释与简答题(共20分)
1、解释“内聚” (4分)
从功能的角度对模块内部聚合能力的量度。
2、解释“聚集关系” (4分)
表示类或对象之间的整体与部分的关系。
3、解释“数据词典” (5分)
是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。
4、说明结构化程序设计的主要思想是什么? (6分)
(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。(3分)
5、软件测试包括哪些步骤?说明这些步骤的测试目的是什么? (6分)
(1)单元测试,目的是代码达到模块说明书的要求
(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求
(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。
------摘自2011年华东理工软件工程期末试题