banq,谈谈你对专家系统的认识吧
如题。
现在感觉软件的核心是业务,业务需要什么,软件就做成什么,架构、思想、实践都是围绕着业务这个目标出发的。
SOA是顶层的东西,属于架构却超越了架构,主要通过服务完成对业务的封装、编排和优化,SOA强调异构系统的整合、协作,从而产生灵活的、可复用的业务流程,给企业带来价值。DDD在中间,是一种方法论,强调在架构和设计的过程中如何将业务无缝地融汇进来,包括沟通技巧和思考方法,DDD也是SOMA中需要运用的方法论。最底层是数据,业务离不开数据,数据中包含了业务的所有含义,有用的和无用的。因此,对数据的分析和挖掘是发现隐藏在数据中的业务价值的方法和途径。这个业务是隐性的,不易发现的,即使是专家也不清楚会发现什么,但经过组织后的数据呈现在业务专家面前,就会产生新的有价值的东西。专家系统将专家的思维、经验和方法转换成计算机能够识别和运行的程序,通过专家的领域知识对海量数据进行挖掘分析,淘出有价值的东西。专家的领域知识通过各种知识获取途径转变成知识库,供现实应用中推理和分析。知识库就是DDD中强调的业务,包括各种推理思路、规则、流程,经过专家系统分析出的数据和结论就是知识,知识来自数据,是数据中的精华所在。
这么看,一切的一切都是为了业务,SOA、DDD、DM、expertsys都是业务,都强调业务,只是方式不同而已,掌握了业务的核心,就抓住了软件的本质。
业务是什么-->行业中的规则、流程和分析思路
业务从何来-->和领域专家沟通、抽象出领域模型、机器学习
业务如何实现-->方法论、架构、算法
业务的价值所在-->有价值的数据,知识