软件产品设计的五种境界(转载)

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

一、农业境界

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

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

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

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

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

二、工业境界

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

  面向对象的设计思想

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

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

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

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

三、数学境界

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

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

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

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

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

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

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

四、艺术境界

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

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

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

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

五、宗教境界

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

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

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

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件设计方案 用户界面设计规范 用户界面:又称人机界面,实现用户与计算机之间的通信,以控制计算机或进行用户与计算机之间的数据传送的系统部件。 GUI:即图形用户界面,一种可视化的用户界面,它使用图形界面代替正文界面。 本系统坚持图形用户界面(GUI)设计原则,界面直观、对用户透明。用户接触软件后对界面上对应的功能一目了然、不需要多少培训就可以方便地使用本应用系统。 1、界面设计介绍 界面设计是为了满足软件专业化标准化的需求而产生的对软件的使用界面进行美化优化规范化的设计分支。 1)软件启动封面设计 应使软件启动封面最终为高清晰度的图像,选用的色彩不宜超过256色,大小多为主流显示器分辨率的1/6大。启动封面上应该醒目地标注制作或支持的公司标志、产品商标、软件名称、版本号、网址、版权声明、序列号等信息,以树立软件形象,方便使用者或购买者在软件启动的时候得到提示。插图宜使用具有独立版权的、象征性强的、识别性高的、视觉传达效果好的图形,若使用摄影也应该进行数位处理,以形成该软件的个性化特征。如果是系列软件还将考虑整体设计的统一和延续性。 2)软件框架设计 软件的框架设计要复杂得多。软件框架设计应该简洁明快,尽量少用无谓的装饰,应该考虑节省屏幕空间,各种分辨率的大小,缩放时的状态和原则,并且为将来设计的按钮、菜单、标签、滚动条及状态栏预留位置。设计中将整体色彩组合进行合理搭配,将软件商标放在显著位置,主菜单应放在左边或上边,滚动条放在右边,状态栏放在下边,以符合视觉流程和用户使用心理。 3)软件按钮设计 软件按钮设计应该具有交互性,即应该有3到6种状态效果:点击前鼠标未放在上面时的状态;鼠标放在上面但未点击的状态;点击时状态;点击后鼠标未放在上面时的状态;不能点击时状态;独立自动变化的状态。按钮应具备简洁的图示效果,名称易懂,用词准确,能望文知意最好,让使用者产生功能关联反应,群组内按钮应该风格统一,功能差异大的按钮应该有所区别。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值