曾经在一个美国科教节目上看到:能充分解释当前规律或现象的理论就是科学,没有永远正确的科学,科学是不断的修正和发展的。类似牛顿力学对于经典物理学,E=MC2之相对论,所以我们还是认为牛顿的那些是科学而不是伪科学。 个人觉得《易经》也是一种智慧及大成者,至少能通过这里的一些理论解释一些现象,还是不要当成伪科学的好。毕竟对《易经》的研究也不是很透彻
本人长期从事管理软件开发,天天沉溺于所谓需求分析工作之中。由于时间和经验,即便不在第一线做了,也要天天review需求分析文档。
管理软件的需求,一般而言,有所谓的功能性需求和非功能需求之说,功能性需求,指完成一个具体功能的步骤、时间、操作人和操作对象,而非功能性需求,通常指的是性能、安全性等角度的要求。
如何分析一个具体的功能,无论是做软件开发还是从事管理咨询,都有各种流派、各种工具可用。这里我就不一一列举了,大凡和这个产业沾边的人,都能举出不少例子,虽然他们可能未必真的是一种东西,如UML、SAP业务蓝图、麦肯锡金字塔等……
这一段的忙碌和思考,让我产生一种应该不断还原的思考。譬如编程,无论你是用何种高级语言(java、C、C++… …)在写,最后都能还原成汇编语言,针对特定的计算体系架构,并进一步还原到机器语言(基于二进制代码的电路)。
所以,从这个角度上看功能性需求分析,其努力方向也应该是进一步将自然语言还原成程序语言。
程序语言的逻辑很简单:
1、顺序执行的指令
2、需要逻辑跳转的指令,最常见的就是If… Else…
3、需要循环执行的指令,最常见的写法 for(i=0;i<100;i++)
4、需要条件分支的指令,最常见的效果:
switch (X){
case 1: … …;
… …
case n: … …;
default: … …;
}
而进一步分析上述四种逻辑,其实会发现,只有1和2是必须,如果不考虑效率和麻烦,3、4都可以通过逻辑跳转实现。
于是,我们可以初步认定,对任何一项复杂到不能再复杂的功能,本质上都可以梳理为循序执行和逻辑跳转的表现方式。当然,人们普遍惧怕这种复杂度的还原,因为思维和自然写作的思路是不受任何前提限制的。但是,反过来思考,如果你真的希望通过系统来解决一个复杂的商业问题,因为编程语言的思考方式、编译器的原理、计算机硬件系统的工作方式,都要求你必须按照工具的方式去思考。因为,你已然选择了计算机这种既定的工具。
除非,你希望还有一些未知的方式,否则,不要进行跳跃性的思维。美国人的心理学教材,前半本都在讲细胞、神经、交感、副交感。这就是基于目前科技的一种正确的解释和思维定势。
如果真的陷到所谓天人合一、易经八卦,虽然我不能说那是伪科学,但至少,我们会陷入一个世界无解的黑洞中。每一天,我们面临的问题更多的不是哲学问题,而是利用现有工具如何解决商业问题。所以,抛弃灵性和跳跃,学会利用最基本的逻辑来思考并解决复杂性,应该不会有错。
个人思考,请踊跃拍砖,谢绝人身攻击。【蚊子132】