织梦CMS - 轻松建站从此开始!

罗索

软件产品设计的五种境界

jackyhwei 发布于 2010-09-28 17:49 点击:次 
十几年软件研发的沧桑岁月,和一度险濒于破产的痛苦经历,让俺对软件产品开发有了更深层的体会。新年到来之际,写出来和大家作个交流。
TAG:

十几年软件研发的沧桑岁月,和一度险濒于破产的痛苦经历,让俺对软件产品开发有了更深层的体会。新年到来之际,写出来和大家作个交流。

一、农业境界

刚参加工作,朋友问我,你能用电脑干啥?我口出狂言,只要你想得出来的,我都能做得到。其实,我说这话相当无知。

柏拉图曾经说过,人的知识犹如一个圆,圆内是你已经知道的,圆外是你还不知道的,圆周就是你已经知道的还没解决的问题。你的知识越丰富,这个圆就越大,圆的周长也越长,也就是你知道的没解决的问题也越多。

如果你觉得自己没有啥问题,就说明你很无知。

无数年轻人就是凭自己的热情,初生牛犊不怕虎的冲劲,在完全没有经验和章法的情况下,投入了不会取得胜利的第一场战斗。通俗一点讲,就是试图用垒狗窝的技术建高楼大厦。

企业在这个阶段,充其量就是个手工作坊。有人说,我的研发团队上百号人呢。对不起,您是否出于这个阶段和企业人数没多大关系。

二、工业境界

了解到软件产品设计研发是一个复杂的系统工程,很多人会尝试运用一些必要的技术把复杂系统分解成简单子系统。在这个阶段,一些软件工程理论开始逐步被吸收。这包括:

面向对象的设计思想

UML、RUP、XP编程、设计模式等软件工程理论和工具

组件化系统设计——COM、DCOM、ActiveX、Corba、WebServices等技术开始进入产品设计

简单地讲,已经知道如何把高楼大厦拆解成多个狗窝,化繁为简;已经懂得遵循软件工业标准开发能重用的系统组件。

很多人以为已经到达软件研发的终点,掌握了终极的技术手段。然而,这只是软件产品研发的启蒙阶段,随着发现更多并解决深层次的问题,你需要更有效的理论提升你对软件产品开发的驾驭能力。

三、数学境界

工业化境界提供了化繁为简的技术支撑和思路,但是,好的工具并不能保证出现正确的设计。

我们学习解一元二次方程的时候,什么十字相乘法、配方法等等,开始会学习很多技巧性的解法。这类似工业化境界——让你把复杂问题分解转化成更简单的问题。但是,这些技巧不总是有效,最终的解决方案还是推导出求解公式,彻底解决此类问题。

软件产品设计是否存在从需求到代码的求解公式呢?这是一个已经被研究半个世纪的课题了,可惜国内99%的软件研发人员并不了解这方面的进展。等到洋人的坚船利炮打到你家门口的时候,你才发现人家用这么好的技术武装自己,那就为时太晚了。

在这个阶段,你会用数学方法保障软件系统设计的正确性。你可能会把下面这些理论引入你的设计过程:

在系统设计中自觉运行有限状态机、Petri网等数学模型去设计、分析系统结构。

引进诸如净室技术、B方法、Z语言等形式化软件工程技术,确保系统设计的正确性。

最后你会发现,软件产品设计真正是一件严格科学过程,如果以山野村夫的心态做这件事情,最终必然一塌糊涂。

四、艺术境界

人本质上是非理性的动物,我们为人类设计产品的最终目标不是为了正确,因此,数学境界并未把你带到最终目的地。

人类还没解决温饱问题的时候,就学会了在岩石上涂鸦,在脖子上挂项链,为人类设计产品,得满足他们这些貌似毫无价值的癖好。

因此,在能熟练驾驭正确设计产品的技能之后,软件产品设计将为艺术而战——我们不是在替客户设计干活的工具,相反,我们是在为他们设计一个吸引眼球的超级玩具,一件艺术品。

软件产品设计师——你不仅仅是工程师,更进一步,你应该是一名驾驭高科技技术的艺术家!

五、宗教境界

阿克毛被枪毙了,他不是为科学而来,亦不是为艺术而来,而是为夺取我们的心灵而来!

之所以被枪毙,是因为他采取了文明社会不认可的手段和产品——海洛因。

异曲同工,软件产品设计的最高境界亦是征服客户的心灵,让客户像崇拜上帝一样被您的软件所征服。似乎除了海洛因,能做到这一点的就是宗教了。

看看IBM、看看微软、看看Intel、看看苹果,这些超级商业巨人,为了让你把口袋的钱老老实实地掏出来,是不是一个个俨然一副布道者的模样?

(Dreamcode)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201009/10222.html]
本文出处:CSDN博客 作者:Dreamcode
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容