最近工作一直比较忙,很多想法没时间写下来,最近回复了CSDN杂志社的一系列相关的建模问题,顺便贴在这里,欢迎大家讨论。
以下是我对建模的一些看法
1 你怎么看待建模?
作为一个程序员,可能每个人都经历过这样一个阶段,在需求分析完毕后,立刻开始建立数据模型,也就是把表结构设计出来,然后根据功能需求和表结构开始进行简单设计,大部分设计文档为Word和Excel,然后就着手进行编码。很多经验比较丰富的程序员用这种方法也可以很快把系统开发出来,这种方法的基本思想是使用数据库来表示业务模型,那么是否就不需要建模了呢?我们深入考虑一下,就我们广泛使用的关系数据库来说,它是否能确切的描述业务模型呢,显然答案是否定的。一个简单的二维表只能描述相对单一的对象,对于语义丰富的对象来说,显然就勉为其难了。基于面向对象设计和CBD(Component Based Design)设计方法,基于软件的高内聚,松耦合原则,基于提高软件生产率和可维护性的考虑,目前软件建模已经是商业软件开发过程中不可或缺的一部分部分了。
简单来说,建模就是使你能够逐层深入解决问题的办法,建模能够确认系统的功能需求并为业务系统建立模型,根据场景为系统提供相应的设计模式,根据需求划分出子系统。
说到这里,我们就不能不提UML了,UML(