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

根据本课程的学习以及自身的知识和经验,您认为一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面,请您简要总结一下:

1.编程语言能力
作为一名专业的软件工程师,应该能够熟练掌握JAVA语言,并且能够深入理解OOP、OOA、OOD等编程思想。精通一门编程语言能为以后的软件开发打下坚实的基础。
2.编码能力
这里说的编码可不是照着书本敲代码,而是能够独立的运用代码,编写一个程序出来。有很多软件工程师,他们都是随意堆砌网上搜来的代码,根本不管可读性和可维护性,只要能实现功能就行了,缺乏最基本的职责素养。
3.学习能力
IT技术可谓是更新换代最快的了,从市面上的电脑和手机就可以看出来。所以,只依靠自己之前学到的知识,很快就会被这个时代所淘汰,软件工程师应具备的技能里很重要的一点就是学习能力。因为只有具备了学习能力,才能在离开学校之后仍然能够独立地学习最新的技术,同时能够自主的发现现在有什么新技术,市场上流行的技术元素与市场需求的变化。
4.设计能力
一个优秀的软件工程师不仅仅具备扎实的专业知识与技能,而且还要具备一定的设计能力。因为只有这样,才能使一个软件或者应用更加完美,更加容易受到人们的欢迎,从而获得更广阔的市场。
5.团队协作能力
软件开发并不是孤军奋战,很多时候一个软件需要几个人一起开发,这个时候就需要大家齐心协力,共同努力了。这时候,作为软件工程师就需要具备一定的团队协作能力了,来保证每个人都负责相应的方向,不能只为了突出自己而不顾整个团队。

试题来源:软件工程期末试卷(十套含答案)

                                                                                                                高级软件工程期末考试试卷

一、选择题(共10题)

1.瀑布模型的存在问题是(B

A.用户容易参与开发          B.缺乏灵活性

C.用户与开发者易沟通      D.适用可变需求

解析:瀑布模型的突出缺点是不适应用户需求的变化

2.软件测试的目的是(B

 A.评价软件的质量                      B.发现软件的错误

C.找出软件的所有错误               D.证明软件是正确的

 解析:软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性

3.以下说法错误的是(A

A.面向对象分析与面向对象设计的定义没有明显区别

B.从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程

C.在实际的软件开发过程中,面向对象分析与面向对象设计的界限是模糊的

D.面向对象分析和面向对象设计活动是一个多次反复迭代的过程

解析:软件开发的分析过程就是分析系统需求的过程,分析工作主要包括理解、表达和验证。面向对象分析的关键是识别问题域内的对象及其关系。分析的任务基本完成后,下一步则是将分析的成果用于设计中。就是根据成本与要求,规划出系统应如何实现的问题。所以A中“分析与设计的定义没有明显区别”的说法是不正确的。

4. 需求分析最终结果是产生( )

 A. 项目开发计划             B. 需求规格说明书

 C. 设计说明书                D. 可行性分析报告

 解析:需求分析最终结果是产生《需求规格说明书》

5.软件开发和维护过程中出现的一系列严重问题称为(D

A.软件工程

B.软件开发

C.软件开发

D.软件危机

解析:软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

6.可行性研究实质上是进行了一次(A

A.大大压缩简化了系统分析和设计过程

B.详尽的系统分析和设计过程

C.彻底的系统设计过程

D.深入的需求分析

解析:可行性研究实质上是进行了一次大大压缩建简化了的系统分析和设计过程

7.需求分析的主要任务是(B

A.确定系统怎样完成工作

B.确定系统必须完成哪些工作

C.研究系统的软件结构

D.确定软件开发费用

解析:需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。主要任务是确定系统必须完成哪些工作

8.在设计测试用例时,(A)是用得最多的一种黑盒测试方法。

A.等价类划分    B.边界值分析    

C.因果图           D.判定表

解析:等价类划分是一种典型的黑盒测试方法。等价类划分是指分步骤把海量的测试用例集减得很小但过程同样有效。也就是说,选取足够小测试用例,发现更多软件缺陷

9.下列哪个图是N-S图(盒图)的构件(C

A.                             B.

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

C.                                      D.

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

 

解析:A是PAD图,B是流程图,C是盒图,D是PAD图

 10.下列哪个阶段不属于软件生存周期的三大阶段(C

 A.计划阶段                      B.开发阶段

 C.编码阶段                      D.维护阶段

 解析:软件的生存周期包括:计划阶段、开发阶段、维护阶段。编码是开发阶段的一部分

二、判断题(共5题)

1.Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格。(      )

2.PAD图在设置了五种基本控制结构后,还允许递归调用。      (      )

3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。(      )

4.当验收测试通过,软件开发就完成了。(       )

5.完成测试作业后,为了缩短源程序的长度应删除程序中的注解。(       )

解析:1—5:√√×××

三、简答题(共3题)

1.什么是数据字典 简述数据字典与数据流图的关系。

解析:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。

2.什么是白盒测试?什么是黑盒测试?

解析:白盒测试又称为结构测试,它的前提条件是可以看成将程序放在一个透明的白盒子中,也就是完全了解了软件系统的结构和整个处理过程。黑盒测试又称为功能测试,它把程序看成是一个不透明的黑盒子,完全不去考虑程序的内部结构 和处理过程。

3.软件生命期各阶段的任务是什么?

解析:软件生命期分为7个阶段:(1)问题定义:要解决的问题是什么 (2)可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 (3)需求分析:系统必须做什么(4)总体设计:系统如何实现,包括系统设计和结构设计(5)详细设计:具体实现设计的系统(6)实现:编码和测试(7)运行维护:保证软件正常运行。

四、应用题(共3题)

 1.某一新闻管理系统主要用来发布新闻,管理员只需要一个,登录后可以 在后台发布新闻。任何人可以浏览新闻,浏览者可以注册成为系统会员,注册后 可对新闻进行评论。管理员在后台可以对新闻、评论、注册会员进行管理,如修改、删除。请画出该新闻管理系统的用例图:

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

 

2.某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法

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

3.猫大叫一声,所有老鼠都开始逃跑,主人被惊醒。问可能用到什么设计模式?画出类图(考察设计模式和UML)观察者模式,老鼠和主人的行为是被动的。

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

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