如何定义软件工程师.doc

如何定义软件工程师.doc

ID:27873130

大小:333.00 KB

页数:13页

时间:2018-12-06

如何定义软件工程师.doc_第1页
如何定义软件工程师.doc_第2页
如何定义软件工程师.doc_第3页
如何定义软件工程师.doc_第4页
如何定义软件工程师.doc_第5页
资源描述:

《如何定义软件工程师.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、如何定义软件工程师如何定义软件工程师如何定义软件工程师如何定义软件工程师如何定义软件工程师如何定义软件工程师如何定义软件工程师  软件产业发展到今天,分工越来越细。程序员做为一个通用的称谓已经无法确切定义各种工作的特点和分类。正因为软件开发中各种职责区分不清,无论是刚刚写代码的新手还是具有多年经验的老手,一概被扣上程序员的通用名称,这也使得很多进入这个领域的软件开发人员无法制定自己未来的技术职业发展之路。  实际上,软件公司也逐渐认识到了对程序员分类的重要性,开始将各种职位定义的更加准确。对于从事软件开发的程序员来说,更需要尽快明

2、确自己的发展方向,并在此方向上将专业知识积累的更深厚,这能让你尽快逃脱对未来发展方向的迷茫。为此,我们专门推出程序员成长系列的特别策划,将分别深入探讨软件设计师、测试工程师、文档工程师、项目经理、产品经理几种角色的成长之路。  程序员成长系列之一  软件设计师可以预先构建软件结构,如同建筑架构师一般。比尔·盖茨被称为微软公司的首席软件设计师,首先是因为他是一个优秀的架构设计师,中国同样需要这样的人才。-微软大中国区总经理黄存义从程序员到软件设计师  2000年1月13日下午,世界软件业巨人、美国微软公司突然在位于华盛顿州雷德蒙德市

3、的总部举行新闻发布会。比尔·盖茨把微软CEO宝座拱手让给长期伙伴史蒂夫-巴尔默,只保留董事局主席一职,但同时出任新职务“首席软件设计师”。比尔·盖茨说:“今后我将全力设计开发面向未来的新软件,同时研究制定微软的总体技术发展战略。”比尔·盖茨的这一举动将软件设计师的称谓蒙上了高贵的面纱。从程序员的技术方向发展来看,软件设计师无疑是职业生涯的顶峰。  拿破仑说过“不想当元帅的士兵不是好士兵”,我想不想当软件设计师的程序员也不是好程序员。但首先要了解什么是软件设计师,如何才能成为软件设计师。明了这些,就有可能向软件设计师发展,创造更辉煌

4、的程序人生。基于这些想法,我们采访了佳软CTO廖恒毅,用友软件副总工程师彭六三和U8产品总设计师邓适宜,这些中国软件产业技术带头人从他们的切身体会谈了对软件设计师的看法。软件设计师的定义  软件设计师包括软件系统设计师(SystemDesigner)和软件架构设计师(Architect)。系统设计师应对“系统结构”所使用的软件技术非常了解,自身具备良好编程技巧,才能成为优秀的系统设计师。系统设计师的职责是把结构模型对应到实现模型上,从概念到实现期间规划和组合模型的优劣是决定软件系统设计师好坏的标准。而软件架构设计师是程序员技术方向

5、的最终归属,也是成长链中最神圣的一环,架构设计师的贡献最大。架构设计师彻底摆脱了语言的束缚,知道软件发展趋势。他们会开发新一代产品或者制定新一代产品的方案。软件架构设计是面向未来的。全球大规模的软件公司并不多,很重要的一个原因是因为软件产品的发展都滞后于市场需求,即有需求后再研发产品,而不是预见需求,预先设计,因此往往软件设计局部是合理的,但从整体的角度看却不合理。要解决这些问题就要看软件架构设计师的能力了。  软件设计可以分三个层次。第一层属于标准层,像J2EE、.Net的框架设计;第二种属于系统层的设计,比如Delphi这样的

6、开发工具就是工具系统级的设计;而应用最广泛的是第三层:应用软件设计。基于中国软件产业发展的现状,大部分设计都是这个层次上的基于应用的架构设计,本文所非特殊标明,提到的软件设计师泛指应用软件系统设计师,当然有些也是架构设计师的能力所在。  从软件开发历史看,软件设计经历了很多阶段。最早是结构化设计,只是把复杂的问题逐层分解,通过流程图形式将任务逐级细化;后来出现面向对象设计,从底层进行对象封装、继承、多态,这时更多的是考虑代码重用,面向的主要是类和对象。接下来出现组件设计,这主要是面向应用方面。这三种都是面向功能的设计。  从EJB

7、、COBRA技术出现之后,人们开始基于框架进行设计,也就是架构设计。继续发展,就是基于规则的设计了,比如基于模块和工作流的设计,这时主要考虑客户化做的更详细以及产品的开放性、可扩展性、可靠性、效率方面的问题。软件设计师的工作  随着大型软件开发越来越多,整体把握软件架构变的越来越重要。尤其当用户需求并不明确的情况下,就要开始做软件,如何防止交付的软件产品和用户的要求差的很远,这就需要软件系统设计师进行恰当的设计。  在应用软件开发中,软件设计师担当承上启下的角色,也就是把用户的需求,基于应用的问题变成计算机系统中可以解决的问题。设

8、计可以分为功能上的设计和技术体系上的设计,但在实际工作中,这两者很难区分清晰。彭六三谈到,NC(用友大型ERP系统)是通过总体设计组这个团队共同完成软件设计的。首先要进行产品定义,规定产品要做什么,以及相关的市场、产品周期和前景等问题,产品所应用的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。