现在的位置: 首页 > 综合 > 正文

关于软件开发、分析与设计

2013年12月03日 ⁄ 综合 ⁄ 共 1463字 ⁄ 字号 评论关闭

      在开发的过程中,你会不会经常有这样的感觉呢:以前开发的项目真烂!当时怎么没有想到应该如此这般呢?有这样感觉的开发人员,我相信不在少数,根本原因也很简单:每做一个项目,你的经验和技术水平就会进步一截,反过来观看以前做的项目,自然就是不值一提了。

      从一个项目的开发中,你想要获得的经验,就是:行业需求(了解一个行业的业务,了解软件如何去满足业务,了解软件做出来之后究竟是个什么样子的)、分析能力(如何从业务中提取出概念模型或对象模型)、设计能力(如何为了满足业务需求,在选定的技术平台上,充分运用各种设计模式、设计原则,给代表问题领域的对象以及各种虚构的对象分配职责)以及逻辑思维能力(利用开发语言实现业务需求的过程,就是要求你使用逻辑思维来思考的过程)。

逻辑思维能力是一个很有意思的话题,很多人在学习软件开发之前,可能都考虑过这样一个问题:“我是不是适合做软件开发呢?”。如果你只是想随便混口饭吃,我觉得没什么适合不适合的。但是如果你真的想要在这个行业有所发展,那就真的需要回答这个问题。人从大学毕业之后,可塑性是很强的,几年的摸爬滚打可能才会让自己意识到自己的强项在哪里。做自己的强项,才会让自己过得很快乐。

是否适合做软件开发这个问题,换句话来问就是是否具备较强的逻辑思维能力,再换一个简单的问题就是:你的数学学的如何?关于数学和逻辑思维能力之间的关系,我不用多说了,大家在网上随便都能找到长篇大论的。事实也是如此。数学学得好,在软件开发培训过程中掌握知识的速度就比较快,否则就会慢一些。

当然,话也不能说得太死,因为软件开发这个行业,普通的职位很多,除了程序员之外,还有项目经理、软件测试、售前、售后、美工等等,而且每个职位,不同的公司也都可能会有更多的细分。

学习软件开发,都想提高逻辑思维能力,我觉得一个比较靠谱的途径就是去学《数据结构》以及大量的编码。在做项目的过程中,你会有大量编码的机会。即时你现在还没有什么项目去做(比如你正在读书或者在项目的闲暇时刻),你也可以给自己找一些小项目来做。这些小项目,可以从自己的兴趣出发。比如你现在正在弄一个个人网站,正在网上到处找CMS系统,那么你是否考虑过自己写一个呢?即使功能不完善,你也可以在思考过程中得到很多有益的启示;你是不是在各大网站都有一个自己的博客?你希望每次写完一篇文章自动将它发布到自己的多个博客上面吗?那么你是否有兴趣自己写一个小程序来做这件事情呢?生活中的问题随处可见,你只要稍微留心一点,那么总是可以给自己找到很多代码去编的。

设计能力的培养,则需要大量读设计模式/原则方面的书籍,吸取别人的经验。而且要经常读反复读,读的时候把重点放在理解“问题”上,因为“模式”就是对某个“问题”的解决方案,理解问题就是理解应用的场景,读多了,自然到时候就会去运用。读书破万卷,下笔如有神嘛,用于软件开发,也是一样的。

分析能力,现在最流行的当然就是面向对象的分析方法了。面向对象,简简单单的四个字,包含的内容是非常丰富的。分析的主体就是业务领域(也称为问题域),抛开业务来讲分析的方法我觉得是很可笑的。我们分析的目的就是要理解问题是什么。一句话就是理解概念。分析的结果就是概念模型。所以分析与业务需求是紧密相关的。为了理解业务需求,你和客户之间必需建立起一个沟通的桥梁,这个沟通的桥梁就是“概念模型”,它正是分析阶段的终极目标。

欢迎大家以后和我一起探讨这些话题。我的e-mail是:tengfei.lee@qq.com1226369586@qq.com

抱歉!评论已关闭.