【IT168 分析评论】
在现在的工作中,比较重视理论模型的使用,以下是本人对理论模型的一些认识,希望大家多拍拍砖:)
之所以出现理论模型这个概念,是因为在出现一个特别的需求,而开发者没有实现它的经验时,需要有由专门人员进行技术调查,制定出一种或多种可行性方案,然后协同各方面进行评估以制定出最终确定解决方案的过程。可见过程中至少有三种角色:需求提出者,技术攻关者,和评估者。
这个过程的必要性如下:
1. 加强对需求的理解和设计。
技术有两个特点:1)实现某种需求总会有多种方法,而每种方法在细节上都会有不同,从而会影响对需求的实现程度;2)上条中的很多细节经常在需求提出时没有标注,而实际上会对这些细节有所要求。 所以在开发前对可能的方案进行评估,可以尽早地抛出这些技术实现对整体需求的细节影响,从而帮助更合理地设计业务。若没有这个过程,很多细节问题得到开发结束后才能发现,这可能会导致整个开发的失败。
比如:在讨论SSO理论模型时,随着讨论的进行,发现了诸如退出处理等问题,我们在讨论对这个问题进行了评估和处理。从而避免了将问题遗留到开发完成后再发现的风险。
2. 降低开发风险。
这个问题和第一条有点类似,但第一条注重的理解和完善需求方面(需求提出者和技术攻关者之间的关系),这一条注重对系统整体影响的方面(技术攻关者和评估者之间的关系)。往往一个理论模型要解决的问题只是整个系统的一个需求子集。而技术攻关者可能对整个系统的理解并不足够,那设计出来的东西就算能够完成它的需求,也可能会对系统整体(实施难度,可维护性,可扩展性)带来负面影响。所以,建立理论模型后,邀请对系统整体了解的人参与评估,可以很大降低该风险。
比如:在建立SSO理论模型时,若不考虑各个系统的特点,很可能会出来一个实施困难,维护性低的方案。
3. 团队整体的成长。
在理论模型设计的过程中,对于整个团队的业务设计能力,沟通表达能力,全局观和先期评估能力都会有提高。
综述:理论模型的建立,在整个开发过程中是非常有必要的。虽然它不能解决所有的问题(有些问题仍不可避免的要到后期才能发现),而且在实施初期会遇到很多困难(沟通,全局思维等因素带来的问题),但若坚持下去,这些问题都会逐渐改善,并将会对整体团队成长和项目开展带来促进作用。
以上是个人对理论模型的一些看法,分享出来以期指正不足之处。