程序员应具备的技能

程序员应具备的技能

ID:8851210

大小:37.00 KB

页数:5页

时间:2018-04-09

程序员应具备的技能_第1页
程序员应具备的技能_第2页
程序员应具备的技能_第3页
程序员应具备的技能_第4页
程序员应具备的技能_第5页
资源描述:

《程序员应具备的技能》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、程序员应具备的技能:  有种说法,叫做“技多不压身”。多一项技能总不是坏事。也有一些谚语,说“学  会XXX,走遍天下都不怕”。然而,在知识爆炸、信息爆炸的年代,人的精力是有限的;  个人的时间消耗也应该做一个优先级管理。紧急且重要,重要且必要,有需要,可以要,按这样的顺序来做时间投资,才能有好的回报。    作为或即将作为一个程序员,应该怎样来管理自己的时间投资呢?我想,这应该先  探讨一下程序员应该具备什么样的技能。然后对比自己的现状,排出一个优先级顺序,  然后才是按图索骥,循序渐进地给自己充电。    一个程序员,应该把“创造”出完美的产品作为

2、自己的终极目标;而不是精通某某  技术。创造产品的道路是工程建设的道路,因此软件工程各阶段需要的能力都是程序员  应该具备的技能。而你的专长,则说明你可以在软件开发过程中所能从事的工种。一个  合格的程序员,应该能够胜任软件工程过程中的所有工种。因此一个合格的程序员,应  该具备软件工程工程各工序中的所需要的技能。由于软件工程过程中分工的日益精细,  很多程序员可能常年累月都在很小的领域中耕耘。这对于程序员个人的发展前景,以及  雇主的人力资源管理灵活性来说,都是不利的。    软件工程的流程有很多种,但本质都是围绕着软件开发内容,来调整操作实施的步骤

3、  和方法等等。而软件开发的内容,核心的不外乎四项:需求分析、设计建模、代码实现、  功能验证。    在需求分析上,需要的主要是对目标产品功能、业务的理解和描述能力。产品的功能  是客户最关心的部分,也是最容易产生变化的部分。根据软件产品针对的行业不同,需要  的知识背景也是最不同的。所以通常做需求分析的人,往往是“通才”或者目标产品行业  内的人士——而不单纯是计算机业内人士。这里面,能和程序员的专业技能产生联系的,  是要有严密的逻辑敏感度。在撰写和阅读需求分析相关的资料时,要理解“当且仅当”,  “必须”,“至少”,这些词语后面对产品所性能、

4、功能所提出的真实要求。而描述、分  析需求,除了文字之外,通常还会使用UML之类的建模工具来进行辅助。因此,如果有建模  相关的技能,肯定会为从事这类的工作加分。    设计建模,是在抽象逻辑层面上构建产品的框架模型。有两个方面的内容:首先是将  从产品功能、业务角度出发的需求分析转换成从产品实现角度出发的软件规格;其次是,  将产品功能业务的流程,转换成软件模型内部的交互。设计建模即是:根据分析出来的软  件需求,设计并建立符合目标产品功能和业务流程的软件模型。  设计建模要求程序员具备以下能力:设计建模的方法、原则;设计建模的表达;设计  建模的工

5、具。掌握方法,通过工具,用适当的方式表达记录下来,从而完成对现实产品的  软件化抽象。  设计建模的方法和原则,要满足两个功能。一是能构建满足需求规格的软件模型,二  是能够通过软件模型指导后续的实现。实现一个秋千的方法可以有无数种,设计建模的方  法论则是指导怎样建立出美观、结实、省钱、安全的秋千的方法。这个方法论,一是继承  前人的实践经验,总结出来的设计模式;另一个是在产品创造过程中或之后,持续改进,  得到的一些原则。设计模式和系统重构,这个是做设计、建模工作之前,应该了解的。后  来的程序员,总会抱怨早先的程序员设计的模型框架不好;而同时自己

6、往往也会因为时间  因为心情设计出并不完美的模型让后后人唾骂。这是很不完美的现象。  如何表达一个抽象的模型?建房子的,可以用小木片做出一个可感知的模型,做软件  用什么来取代小木片呢?计算机经过几十年的发展,已经有了这样的语言,UML。其实,  这是从业者约定俗成的用来沟通的一套表达方式。因此,表达模型的本质需求是,为了让  你的团队能够对软件模型、设计进行沟通交流。所以,不是简单地制造文档垃圾。基于UML  ,首先用UML来表达功能和业务需求流程,再分析设计静态视图、动态视图。由浅入深、  由表及里,逐步细化求精,及至最后完全明了设计框架结构,等待

7、填充code。  动态视图,完成业务语言到软件语言的转换,并设计内部结构关系。  静态视图,设计产出几个模块、一个模块几个文件,文件内几个结构、几个方法。  由静态视图组成骨骼,动态视图形成脉络,最终创造一个活的系统。  学习UML,就是学习一种语言。学会运用UML,就是学会在用语言进行交流、进行创作。  设计建模的工具,是和设计建模的语言相关的。流行的就是RationalRose和  MicroSoft的VISIO。个人感觉还是Rational的产品更专业,而且提供生成代码和从代码  反向工程生成模型的功能。  说到反向工程,又想到另一个方面。设计建

8、模的能力有两个应用场景,一个是建立新  的模型,一个是理解别人建立的模型并改进之。很多时候,由

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

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

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