软件开发的两个系统

软件开发其实有三个系统,另外一个是面向对象。但是它也不是向上的,只不过为向上提供一种很好的方法,像ONTOLOGY一样。所以它不是根本性的系统。这里只讨论根本性的两个系统。

第一个系统是UI>流程>内容。最终以内容为目标,流程为方法,UI为手段。在这个系统中工作最需要注意的就是,一定不能反客为主,将UI作为根本。在这个系统中,UI从属于流程,而流程的目的是为了提供内容。软件或网站最终用来打动用户或提供给用户的只有内容。用户从来不会将你的UI算作一回事,否则大家的网站都不用做了,163也不用做新闻,百度也不用做搜索了。但是内容为主并不意味着你可以忽略UI。因为内容的呈现是依赖UI的,酒香也怕巷子深。首先要找到或创建、提供好的内容,然后你还需要使用便利、直接的手段将它提供出去。否则它就是没有!这么想吧,你弄了个很好的东西,但是你没有发布。是吧!所以说,你要创造它,还要暴露它。而要暴露它,就要使用好的手段,但好的手段是依赖于内容本身的。这里也并不是说要重内容轻设计而是尝试说明三者之间的关系,以便于你知道到底要怎么做。因为被依赖者并不意味着不重要,你可以轻。这里面,一个东西都不能轻。但你要知道它们各自的地位。这是它的内部结构,这是第一个系统。它是编程工作的全部,是程序员能“做”的全部。或者说,是“程序”能做的全部。

第二个系统是行为>欲望系统。可以把它描述成需求,但是那样的话,就变成开发者的事情。但这里尝试从用户本身的角度来考虑用户使用一个软件的动机及行为模式。这个系统很简单,以前有人市场理论叫定位论,这个跟那个不同。定位论强调认知,强调静态化的市场,是一种静态逻辑。这个是动态逻辑,它包容变化。因为人的行为绝对是善变的。人的认知也是复杂 。欲望系统是稳定的,但是加上认知,最终的行为便变得不可测。但是你要知道它,因为这个是人行动的模型。欲望是一切之源,行为是达成欲望的手段,从属于欲望。所以一切的根源在于欲望。程序能做的就是尽量使用它的内容与这个欲望完成一个匹配,以满足这个欲望。

综合起来就是:一个内容系统,一个欲望系统。你有什么,人家要什么。这是你做一切事情的根基。你没有的你提供不了,人家不要的你做了也没用。这个世界就是这么运转的。软件开发并不能离开这个范围而存在。软件开发本身就是属于这个庞大的商业系统的一部分,满足这个规律也是很自然的。所以说,一定要记住这两个系统:一个是: 由UI+流程驱动的内容提供,一个是由欲望驱动的行为。

 

你可能感兴趣的:(软件开发的两个系统)