首页>>技术前沿>>网站/软件行业动态
软件开发实战经验分享:软件开发人员如何提高问题解决能力?
作者:西安网站建设 | 原创 来源:西安软件公司 | 时间:2015年8月22日| 点击:0次 | 【评论】

软件开发工作从宏观还是微观上看都是问题解决的过程。从宏观上软件开发就是弄清楚客户的需求是什么,然后通过分析、设计、编码和测试等一系列活动解决如何将需求转换为代码的问题。从微观上软件开发人员的日常工作中也面临各式各样的问题。

作为软件开发人员,与其抱怨加班,不如去反思下自己的时间都去哪里了。我相信软件开发人员的大部分时间都花在解决各种各样的问题上了。不管是软件开发技术大牛、还是刚入行的菜鸟级程序员,在日常的工作中都会遇到各式各样的问题。所不同的是,软件开发技术大牛可以在几秒内解决的问题,菜鸟级程序员却可能要花上几个小时,甚至一两天的时间!可见,提高软件开发者的问题解决能力,无论对于个人还是对于团队都有着重要的意义。

软件开发

那么软件开发过程中,如何提高软件开发人员自身以及团队中的其他成员的问题解决能力。本文结合笔者多年来在软件开发过程的实际经历,并通过比较技术老鸟与菜鸟级程序员在解决问题时表现出的差异给出提高问题定位与解决能力的指导意见。

提高问题解决能力,首先要弄清楚究竟什么是“问题”,然后才能谈如何更有效率地去解决问题。解决问题就是克服“障碍”的过程,即寻找到一条从初始状态通往目标状态的通路的过程。提高问题解决的能力就是提高我们找到一条从初始状态通往目标状态的路径的能力。

心理学家一般把问题解决的过程分解为问题表征、设计解题计划、执行解题计划和监控这四个步骤。

问题表征指明确问题的初始状态、目标状态和允许的操作和必须满足的限制。设计解题计划指确定解题的步骤。问题解决者设计好解题计划后,就执行解题计划,并在执行过程中时刻进行自我检查当前的操作是否有助于解决问题、相关操作是否满足问题的限制,即执行监控。

下面看一个软件开发中的实际例子:我们要对网页上的一个表示文章关键字列表的字段的值进行合法性校验。校验的规则是该字段的值不能为空,若字段值不为空,则多个关键字间用英文分号分隔。显然,这个可以用正则表达式来校验。问题就转化为这个正则表达怎么写。

当我们在解决问题,尤其是一些比较困难的问题时,若没有什么进展,而又没有什么新的思路时,不妨回到问题的原点,重新去表征问题,换一种新的方式去表征问题。或许就会豁然开朗。软件行业中遇到的问题多数是定义模糊的问题,尤其是一些生产环境中出现的问题。对于这样的问题,专家能够通过自己的分析判断、进一步收集与问题有关的信息,使问题逐步转化为定义良好的问题,再通过适当的问题解决策略(如上述的比较法),从而解决问题。而刚入行的菜鸟级程序员往往不知所措。

此内容DOC下载 此内容PDF下载

【全文完】
关键词标签: 软件开发 
0 ([$-顶稿人数-$])
0 ([$-踩稿人数-$])

版权声明:

1、陕西弈聪网站内容中凡注明“来源:XXX(非陕西弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,网站优化,百度关键词优化,西安软件开发等技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“陕西弈聪”的作品系本站版权所有,任何人转载请署名来源,否则陕西弈聪将追究其相关法律责任。

2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。