如何评测软件工程知识技能水平?
Posted haorw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何评测软件工程知识技能水平?相关的知识,希望对你有一定的参考价值。
一、软件工程师的软件工程知识技能水平高低主要体现在哪些方面:
软件工程师必备的六大专业素质:
(1)良好的编程能力。编程能力直接决定了项目开发的效率。这要求软件工程师至少精通一门编程语言,熟悉它的基本语法、技术特点和 API( 应用程序接口 ) 。
(2)自觉的规范意识和团队精神。随着软件项目规模越来越大,仅仅依靠个人力量已经无法完成工作,因此,现代软件企业越来越重视团队精神。一般来讲,软件企业中的程序员可以分为两种,一种是 " 游击队员 " ,他们可能对编程工具很熟,能力很强,编写的程序简洁高效,但缺乏规范和合作的观念;另一种程序员个人能力不一定很强,但程序较为规范,合作意识良好。第二种人更适合现代软件企业发展的潮流。对于基础软件工程师来说,他们在企业中的角色决定了他们必须具有良好的规范意识和团队精神。
(3)认识和运用数据库的能力。信息以数据为中心,因此与数据库的交互是必不可少的,了解数据库的操作和编程是软件工程师需要具备的基本素质之一。
(4)较强的英语阅读和写作能力。程序世界的主导语言是英文,编写程序开发文档和开发工具帮助文件离不开英文,了解业界的最新动向、阅读技术文章离不开英文,与编程高手交流、发布请求帮助同样也离不开英文。作为一个软件工程师,具有一定的英语基础对于提升自身的学习和工作能力极有帮助。
(5)具有软件工程的概念。基础软件工程师从事的工作相对于系统分析师和高级程序员要单纯一些,但是 他们仍然是整个软件工程中重要的一环,他们同样需要具有软件工程的概念:从项目需求分析开始到安装调试完毕,软件工程师都必须能清楚地理解和把握这些过程,并能胜任各种环节的具体工作。
(6)求知欲和进取心。软件业是一个不断变化和不断创新的行业,面对层出不穷的新技术,软件人才的求知欲和进取心就显得尤为重要,它是在这个激烈竞争的行业中立足的基本条件。软件工程师应具有较强的学习总结能力、需求理解能力以及对新技术的敏感性。
除此之外,软件工程师还需要具备以下道德规范或基本素质:
(1)良好的团队协作能力。对于一个集体、公司乃至国家,团队精神都是非常关键的。尤其在软件开发行业,每个人在完成自己工作的同时,还要考虑整个项目的质量和工期,为其他人创造条件。没有高度统一的团队精神,没有参与者的默契与分工,便不可能很好地完成任务。
(2)良好的沟通能力。软件工程师是为用户开发软件,常常需要直执着面对用户。同时,软件工程师还要把自己对项目的理解和开发过程中遇到的问题向同事、用户告知,只有具备良好的沟通能力才能较好地把自己的观点和需求向他人清晰地表达。
(3)踏实敬业、认真负责、耐心细致的能力。软件的开发、测试和维护是一项周期性比较长的工作,只有细心负责才能把工作做好,从细节到全局考虑周全,才不会出现漏洞百出的情况。
(4)坚持诚实守信的原则。忠诚地履行自己承担的义务是每一个现代公民应有的职业品质;诚实守信是中华民族的传统美德,是一切职业道德的“立足点”,是社会主义新时期的需要,人人都应以诚实守信为荣。
(5)遵守职业道德规范,树立正确的技能观。要做到坚决不用自己的技能去从事危害他人和社会公共利益的活动,包括构造虚假信息、传播不良内容、制造电脑病毒、参与黑客活动等。软件工程师应具有良好的工作责任性,不能以追求个人利益为目的向他人泄露工作和客户机密。
(6)善于总结经验和教训,做到温故知新。一件工作无论是出色地完成了,还是没有完成,都需要我们对它作一个总结。所作的总结慢慢地就会成为我们将来做事的经验,在以后的工作中就会使我们尽量避免出现类似的错误。
二、软件工程知识技能水平的测评试题
1、选择题
(1)需求分析是分析员了解用户需求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出_____。(B)
A、模块说明书 B、软件规格说明书 C、项目开发计划 D、合同文档
(2)注释是提高程序可读性的手段,好的程序注释占到程序总量的_____。(D)
A、1/6 B、1/5 C、1/4 D、1/3
(3)软件测试中测试实例由输入数据和_____两部分组成。(C)
A、测试规则 B、测试计划 C、预期输出结果 D、以往测试记录分析
(4)软件设计包括_____和_____两个阶段。(D)
A、接口设计和结构设计 B、数据设计和概要设计 C、结构设计和过程设计 D、概要设计和详细设计
(5)在软件生命周期中,_____阶段所需工作了最大,约70%。(E)
A、分析 B、设计 C、编码 D、测试 E、维护
(6)60年代末,为了解决软件危机,人们提出了用_____的原理设计软件,这是软件工程诞生的基础。(B)
A、运筹学 B、工程系 C、软件学 D、数学
(7)结构化设计思想的核心是要求程序由顺序、循环和_____三种结构组成。(A)
A、分支 B、单入口 C、单出口 D、有规则goto
(8)程序流程图、N-S图和PAD图是_____阶段使用的算法表达工具。(B)
A、概要设计 B、详细设计 C、编码 D、测试
(9)Jackson程序设计方法是一种面向_____的设计方法。(A)
A、数据结构 B、数据流图 C、IPO图 D、系统流程图
(10)大型软件通常指源程序行数在_____行的软件。(B)
A、5-50k B、50-100k C、1M D、1-10M
2、填空题
(1)软件的维护性活动包括4种:_____、_____、_____、_____。(改正性维护、适应性维护、完善性维护、预防性维护)
(2)七种内聚中最强的是_____,最弱的是_____。(功能内聚,偶然内聚)
(3)统一过程的核心:_____、_____、_____、_____。(用力驱动、架构为中心、增量、迭代)
(4)软件测试方法按功能划分为_____、_____。(黑盒测试、白盒测试)
(5)对象实例关系间的关联类型有_____、_____、_____。(一对一联系、一对多联系、多对多联系)
3、简答题
(1)什么叫软件?
答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
(2)常用的软件开发模型有?
答:瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。
(3)软件生命周期有哪几个阶段和步骤?
答:三个阶段:定义、开发、维护;八个步骤:问题定义、可行性研究、需求分析、总体设计、详细设计、编码与单元测试、综合测试、运行维护。
(4)白盒测试、黑盒测试及其方法?
答:白盒测试对程序模块的所有的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假” 白盒测试的两种情况都至少测试一次。白盒测试也叫逻辑覆盖法,包括:语句覆盖,判定覆盖,条件覆盖。
黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据, 来检查程序是否都能产生正确的输出。黑盒测试有等价类法和边界值分析法。
(5)UML中的关系有哪些?
答:关系有六种:依赖,类属,关联,实现,聚合和组合。
以上是关于如何评测软件工程知识技能水平?的主要内容,如果未能解决你的问题,请参考以下文章