答复: 如何在敏捷开发中进行数据库设计

前面各位讲了很多巧妙、聪明的办法来适应不断变化的需求,很好,都是不错的经验。
但是我想说,在上帝面前,在未来面前,人类永远不够聪明。

楼主之所以格外的担心数据库结构发生变化,主要是因为一处变化会导致表结构、建表脚本、领域模型至少3处修改。
这个问题的解决方式就是定义领域模型并自动生成关系模型,以后变化时只需维护领域模型。
反过来,定义关系模型并自动导出领域模型也可以,但实际使用中我倾向于前一种做法,原因有很多:领域模型表现力更强更自然、我不喜欢自动生成的java代码、自动生成的代码无法维护和增强(因为下次生成时会被覆盖)、我不喜欢使用SQL(至少不喜欢DDL)。
但是对于很多大型项目由于各种原因采用了以关系模型建模的方式,这招就不灵了。

另外一个担心可能是对已上线系统存在大量数据的情况下难以修改数据库结构。
解决这个问题除了采用前面那些聪明的办法以外,还有一个思路——在系统投产之前就把系统做的尽可能成熟:
系统投产前我们可以毫无顾及的改表结构,那些真正敏捷的团队会通过更多的短小迭代、频繁的用户演示、频繁的用户沟通和反馈、极高的开发质量和开发效率、各种类型高强度的测试,把系统现有范围的功能做的尽可能的成熟,极大的降低了系统上线后需要修改现有表结构的几率。
现有需求有了足够成熟的实现,上线后的修改基本都是全新的需求,而全新的需求应该不需要改动现有表。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值