才子佳人博客

我的故事我讲述

读“用科学的思维方法指导软件的设计开发”
 
来源:xjh  编辑:xjh  2007-09-19

文章站到哲学的高度探讨软件的设计开发思想,深入浅出地讲述了“科学的探索需要科学的思维方法”,并且简述了“在我们的软件开发设计中,最重要的是要培养怎么样的科学思维方法”。

尤其是作者对“思维、抽象、领域建模、框架”的几个概念讲得很深刻,值得学习!

下面是文章的部分摘录:

其实从“思维”两个字中,我们也可以领悟到一些东西,“思”即是思考,比较容易理解,关键在“维”字,“维”其实是角度的意思,我们经常说的三维空间,就是从x,y,z三个轴的角度来看空间,再加上一个时间维的话就是我们所赖以生存的动态时空了。所以我们的思维一个很重要的元素就是要从多角度看问题,角度决定深度。映射到我们的科学思维方法的话就是其中的发散性思维方法,发散思维是非常重要的,是分析问题的一个利器,但是也要从哲学的高度加以辩证法来把握,那就是必须辅以收敛思维从顶端予以控制,没有收敛的无限发散就容易成为无边的空想幻想,杂乱,没有发散的收敛又将成为呆板僵硬的死脑筋。

抽象,就是抽取事物一些本质的东西,剔除次要的表面东西,但是千万别忘了后面那个象字,那就是抽取之后还得让事物象原来的事物,我们很多人在软件设计中抽取类的时候往往就是抽而不象,变了形,最终不能满足用户的需求。抽象也是一种重要的科学思维方法,同样,抽象也必须从哲学辨证法的高度辅以具体的科学思维方法,是一个感性具体到抽象再到理性具体的过程,感性具体到抽象是解决“抽”的问题,抽象到理性具体是解决“象”的问题。而我们的抽象往往只是抽而不象,就是缺少或者忽视了后一个环节的原因,而且我们的抽象也往往是孤立的,没有发散性地从多个角度进行抽象。

java编程的基础既不是java语法,API,也不是数据结构,也不是设计模式,而恰恰是“思维”,“抽象”,“领域模型”,“框架”等基本概念。

恩格斯说过,一个民族要想站在科学的最高峰,就一刻也不能没有理论思维的指导,这句话对于我们的软件开发也是同样适应的,所以,我们要培养科学的思维方法,哲学的方法,这是各种具体问题解决方法的本源,有了这样的思维武器,是要少走许多弯路的。

我在此引用文章的一条评论,觉得网友简言之理,总结的也很好:

“思维”是指从多角度看待分析问题的行为。“思维”过程中需遵循能收能放的原则。

“抽象”是指将对感性具体进行本质抽取的行为过程。需遵循“本质”反映“具体”的原则。

“领域建模”是指在特定领域下对已有系统或目标系统建立模型的行为。“模型”,顾名思义,是能反映客观现实的模具。

“框架”是指为解决某一类问题而制作的一种固定结构,“框架”是思维后的产物,能适应大部分问题。但绝对不是全部问题。

参考文章:用科学的思维方法指导软件的设计开发
http://www.jdon.com/article/32520.html


分类:编程开发| 查看评论
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: