建模(Modeling)随想

文/王泽民(IT资深人协会理事)

建模(Modeling)是软件项目开发中主要的技术和环节。在开发过程管理方面,建模总是被当作一个核心过程,并被视为项目开发成功的重要因素之一。一个好的模型 (Model) 是一个软件项目成功的关键。

随着技术和各类开发工具的发展,程序的开发已经从完全的手工,向代码自动生成的方向发展。其结果就是软件开发周期的缩短。缩短并不是平均发生在每一个开发环节上,而是主要集中在过去最为耗时的环节:开发和编程。

在以往大多数的软件开发过程中,建模主要集中在设计环节。九十年代中期发展起来的,已被广泛接受和使用的设计模式(Design Pattern)就是这方面发展的主要表现。然而,根据过去十几年发展起来的模型驱动架构理论(MDA),设计环节的建模PSM (Platform Specific Model)很有可能会被自动生成工具所取代。那留给人类脑力劳动的建模就只剩下分析环节了。在MDA理论中被定义为PIM( Platform Independent Model)。这是一件好事,也是一件坏事。说是好事,机器已经在逐步替代人类的脑力劳动。我们终于可以实实在在地看到人类脑力劳动被机器替代之神话的真 实实现。说是坏事,所有软件开发的人类脑力劳动将被集中到分析环节。分析模型好坏对整个系统的影响,将给软件工作者带来更尖锐的挑战。

记得若干年前,曾有机会浏览了国内有关讨论UML技术的网站。当时看到很多关于分析模型的重要性和存在性以及与设计模型之间区别的讨论,感觉不是很到位。 在自己的工作实践中,也注意到因这方面的混淆而引起的各类问题,包括由此导致项目失败的例子。然而,这些问题并没有引起大多数人的注意。

在这里讲建模随想,我的主要意图是想通过和大家分享建模的实践和经验,引起大家对这方面的关注和兴趣,对建模在软件开发中的作用有进一步的认识。同时,也 希望有机会为在这方面有兴趣和造诣的同行提供一个平台, 对有关问题进行较深层次的探讨,并分享相关信息。欢迎大家积极参与。

Share