标签:评测 工程师 测试 优秀 软件工程 单例 软件 设计模式 技能
一、软件工程师应该具备的素质
通过对本课程的学习,加深了对软件工程的理解,对于软件工程师这一职业有一些新的认识,我认为下述内容是一个软件工程师应该具备的素质:
- 一个优秀的软件工程师应该具备出色的学习能力。在当今时代,IT技术迅猛发展,所以软件工程师一定要有较强的学习能力,优秀的学习能力是能够跟随时代发展的必要保证。
- 一个优秀的软件工程师应该具备扎实的基本功。在看得见的地方站得直,是因为在看不见的地方站的稳。作为一个软件工程师,扎实的基本功可以让我们更了解这个行业,更了解软件的内部逻辑,少走弯路。当然,扎实的基本功包括操作系统,计算机理论基础,C/C++和多种编程语言,实用算法,数据库等等计算机相关知识,虽然未必精通每一样东西,但是一定要能够理解基础的原理。
- 一个优秀的软件工程师应该掌握多种设计模式。因为我们开发的软件并非是消耗品,只用一次就扔掉了,我们开发的软件是需要长期迭代更新的。我们需要掌握较多的设计模式和方法来设计软件,让软件尽量保持较强的可维护和可维护性。这需要多看优秀的软件是如何诞生的,总结前人的经验,更需要我们不断地创新,用更好的方法实现。
- 一个优秀的软件工程师应该了解软件过程与生命周期。对软件开发流程的了解可以让我们了解我们在软件开发过程中做每一件事的意义和目的,从而能够更好的进行开发和工作。
- 一个优秀的软件工程师应该具备良好的沟通和交流能力。因为现在的软件大多属于团队协作,如何在团队中合作,产出更好的软件产品是一个永恒的话题。
- 一个优秀的软件工程师应该热爱生活。永远不要忘记技术的目的是为人类服务的,我们作为软件工程师的同时还是一个个的普通人。我们要尝试寻找生活中的繁杂的部分,学会作为一个用户去思考,尝试让我们的生活变得更好。
- 最后引用百度百科对于软件工程的目标的定义:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
二、测试题目
选择题:
1.(原创)Linux操作系统可以用来查找文件的命令是(B)
A. find B.locate C.man D.ipconfig
2.(百度文库)需求分析最终结果是产生(B)
A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告
3.(百度文库)软件测试的目的是(B)
A.评价软件的质量 B.发现软件的错误 C.找出软件的所有错误 D.证明软件是正确的
判断题:
1.(原创)在开发团队中,代码可以随便写,只要可以实现功能再糊也无所谓。(F)
解析:在开发团队中,需要多个人相互配合,所以代码要尽量有统一的规范,方便其他人理解和使用。
2.(概念)在设计需求分析的过程中,功能需求是主体,没有功能需求就没有非功能需求。(T)
3.(概念)软件可重用性(reusability),是指软部件可以在多种场合使用的程度。(T)
名词解释:
1.重载:一般是用于在一个类内实现若干重载的方法,这些方法的名称相同而参数形式不同。
2.重构:重构(Refactoring)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
3.工厂模式:工厂模式专门负责实例化有大量公共接口的类。
简答题:
1.(原创)请简述一下什么是设计模式?单例模式的目的是什么?
答案解析:设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。单例模式是一种设计模式,单例设计模式意味着使用单个对象,这样所有熟悉单例设计模式的开发人员都能使用单个对象,并且可以通过这种方式告诉对方,程序使用的是单例模式。使用单例模式的目的是减少实例,保证一个类只有一个实例,并提供一个全局访问点,这样这个类就不会被频繁的创建和销毁,同时还可以解决一部分线程安全的问题。
2.单元测试的作用?
答案解析:单元测试是一种软件测试方法,通过这种测试方法测试各个源代码单元,一个或者多个模块的集合,使用程序来测试程序,来保证它们的可用性。一般来说单元测试由开发人员自己来执行。
3.比较黑盒测试和白盒测试的优缺点
答案解析:黑盒测试的优点:适应于阶段测试,从产品功能角度测试,容易入手生成测试数据。
缺点:某些代码得不到测试,如果规格说明有误,可能无法发现,不易进行充分性测试。
标签:评测,工程师,测试,优秀,软件工程,单例,软件,设计模式,技能 来源: https://www.cnblogs.com/logan233/p/12156332.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。