软件工程师是干什么的
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格.。
一般情况下.都是分4级软件技术员助理软件工程师软件工程师高级软件工程师目前国内软件测试工程师的来源主要有三方面:一是以前专业做软件开发的人员后来转行做软件测试,二是从大学招聘的本科或者研究生,三就是通过培训机构招聘的专业学员。据了解,在国外测试人才的供应方式多以第三种为主,而国内目前除少数培训机构外尚未形成足够的人才供应规模。以北京中关村为例,现有软件企业5000多家,仅对曰本软件外包领域的人才缺口就高达5000人,而对美软件外包人才缺口更大,可供量不足10%。中关村一位负责人介绍,未来5年北京将有至少200亿美元的外包订单,由此可推算出中关村将出现100万的软件人才缺口。巨大的产业前景和匮乏的人才现状,使越来越多的IT企业关注软件测试人才的储备工作。
软件构架师
什么是软件构架师?构架师是在分析设计阶段根据系统的主要功能和特性对软件总体蓝图做出规划的开发人员。请注意,这是一件风险很大的工作,设计出的构架要能够容纳主要的功能需求,还要有健壮的结构,还要有一定的扩展余地。这不是一件轻松的事,因为软件是十分精细的,简单的说,软件的开发过程就是不断给出逻辑判断的过程,这样的逻辑判断称为断言,当一个软件设计完毕,成千上万个断言就被建立起来,它们是隐含在程序和数据中的,一眼看上去,很难发现。如果存在自相矛盾的断言,那么这个软件系统的某些功能就肯定有问题。
很遗憾,恐怕没有一个软件不含有这样自相矛盾的断言。构架师的任务就是在设计构架时,尽量减少引入或者诱导产生自相矛盾的断言,才能最终保证软件质量,减少开发成本。构架设计就有点像下围棋开局的时候,凭经验判定该下哪几步,但这却是关系到成败的关键步骤。所以,训练构架师是很难的,经验很重要,这需要长时间的实践。只是看看那几本关于软件构架的书,学习到一些风格、模式这类的东西是远远不够的!
关于更加有效的训练构架师,我可以提供以下建议:
1、加强数理逻辑知识,掌握公理语义,能够通过逻辑演算找出构架的问题。
2、注重专业化,不要指望一个构架师什么类型的软件都能搞,既然主要靠经验,就要专业化。
3、学习开发案例,找到以前的设计文档来分析问题。从需求-〉构架-〉详细设计,一层一层找问题,从四个方面:(1)主要找别人的问题,要求构架师在尽量短的时间内发现别人的构架问题。(2)构架是否简单、易于理解?记住科学家说过“正确的必简单”。给出任意一个需求,构架师能不能找到相应的模块,还能改进吗?(3)构架容易扩展吗?在这个构架上增加一个合理的需求,引起的变更范围是哪些?能改进使变更范围缩小吗?(4)构架的其他方面——健壮性、稳定性、高可用性、负载均衡等等。