有效建模的因素:
1) 模型与实现绑定
通常需要一种面向对象的语言来表示模型的概念。尽管许多开发人员仅仅受益于应用对象技术来组织程序代码,然而,对象设计的真正突破在于用代码来表示模型。
模型代表了领域专家和开发人员对业务知识的共同理解,那么,如果有人没有理解模型,那么它所做的知识减弱模型的作用而不是增强,所以---------负责建模的人必须花时间接触代码,每个开发人员都必须参与建设模型,讨论并与领域专家接触。
2) 基于模型生成了一种语言
开发人员和领域专家对各自的行话理解都非常有限,甚至在开发人员彼此之间的信息也需要转换。这中间就可能导致模糊概念的效果。这也正式要将模型作为语言骨干的原因。
在一个项目中要将模型作为语言的骨干,在专家和技术人员的反复讨论以后,我们对模型越来越熟悉,逐渐成为一种新的语言。当我们使用领域模型的通用语言时,特别是在开发人员和领域人员仔细推敲场景和需求的讨论中----------我们逐渐对语言越来越熟悉,使用越来越流利。
下图显示了这种通用语言的构成:
3) 开发了一个包含丰富只是的模型
对象都具有一些强制性的规则。模型并不仅仅是一个数据方案,它是解决一个复杂问题必不可缺的。它捕获了各种类型的知识。
通常意义上来说,模型是一张图,那么您也许会马上想到UML。在交流的时候,使用UML也许会让讨论更加高效。可是当需要用UML表示整个模型或设计的时候,麻烦就多了起来,所有东西过于细化,只见树木不见森林。
所以模型其实也是一种文档,里面用经过挑选的简化的图作为示例。
另外一般还会有说明性模型,它最好与对象模型不同才好,也避免使用UML,它可以帮助团队成员理解类图的实际意义。
4) 提炼模型
在模型变得完善的过程中,一些重要概念被加入。同样重要的是,如果概念被证明没有用处或者不重要,则应该丢弃。如果一个不必要的概念与一个需要的概念结合在一起,新的模型将会分离出有用的概念而丢弃另一个。
5) 头脑风暴与实验