系统架构之-不要面向需求编程,勿忘设计本身!
2012-10-15 11:15
483 查看
我相信你看到这个标题是你肯定会反对,我们日常的开发不就是围绕需求去开发吗?
这个问题提的很好,其实我们日常的设计就走到了这个误区。我不保证所有的人跟我一样,
,我之前就没有意识到,只是一味的去根据需求开发。打个比方,现在公司有一个需求,
需要开发一个卖笔的销售系统,销售系统太大,就说订单系统好了。这时你所有的设计在卖笔,
某一天你的卖笔的订单系统做好了,确实也能正常使用,确实也完成了你的任务。
好了现在老板说我们发现买书也很赚钱,这个时候就会发现,系统根本就支持不了,没办法扩展。
相信到这里你还是没有发现问题所在.
再举一个例子,比如现在我们有一个需求,要记录一个字段的变化
前和变化后,需求很简单,你可能会想加两个字段,一个是变化前一个是变化后,查询语句非常简单。
好了这时候,需求变更了,需要记录两个字段的变化前后,好了这时候,发现之前的设计不支持了,
你可能会想,再加两个字段不就好了吗。
呵呵,确实加两个字段就可能满足这个需求。这个时候就应该好好想想了,是不是之前的设计就走入误区,一味的
根据需求去设计,而把本身的日志功能的部分给丢失了,我想表达的是,应该还原事实的真相,日志应该怎么设计。
应该是让把需求去应用到设计上,这才是真确的方法。就拿刚才的记录日志的例子,日志需要记录什么:需要记录时间,
地点,人物,事件,附加信息就可以了,那就不用管记录变化前变化后,日志本身就有这样的功能,只需要改变一下
查询的语句就满足这个需求,就是我刚才说,应该是需求应用了设计,而不是面向需求去设计。
如需转载请注明本文出处:http://www.cf17.com/html/article/180.html ,谢谢。
在http://www.cf17.com 中的技术文档中有我平时总结的一些经验,并在逐步更新中,也欢迎到这里来交流。
这个问题提的很好,其实我们日常的设计就走到了这个误区。我不保证所有的人跟我一样,
,我之前就没有意识到,只是一味的去根据需求开发。打个比方,现在公司有一个需求,
需要开发一个卖笔的销售系统,销售系统太大,就说订单系统好了。这时你所有的设计在卖笔,
某一天你的卖笔的订单系统做好了,确实也能正常使用,确实也完成了你的任务。
好了现在老板说我们发现买书也很赚钱,这个时候就会发现,系统根本就支持不了,没办法扩展。
相信到这里你还是没有发现问题所在.
再举一个例子,比如现在我们有一个需求,要记录一个字段的变化
前和变化后,需求很简单,你可能会想加两个字段,一个是变化前一个是变化后,查询语句非常简单。
好了这时候,需求变更了,需要记录两个字段的变化前后,好了这时候,发现之前的设计不支持了,
你可能会想,再加两个字段不就好了吗。
呵呵,确实加两个字段就可能满足这个需求。这个时候就应该好好想想了,是不是之前的设计就走入误区,一味的
根据需求去设计,而把本身的日志功能的部分给丢失了,我想表达的是,应该还原事实的真相,日志应该怎么设计。
应该是让把需求去应用到设计上,这才是真确的方法。就拿刚才的记录日志的例子,日志需要记录什么:需要记录时间,
地点,人物,事件,附加信息就可以了,那就不用管记录变化前变化后,日志本身就有这样的功能,只需要改变一下
查询的语句就满足这个需求,就是我刚才说,应该是需求应用了设计,而不是面向需求去设计。
如需转载请注明本文出处:http://www.cf17.com/html/article/180.html ,谢谢。
在http://www.cf17.com 中的技术文档中有我平时总结的一些经验,并在逐步更新中,也欢迎到这里来交流。
相关文章推荐
- 使用WCF实现SOA面向服务编程—— 架构设计
- 使用WCF实现SOA面向服务编程“.NET研究”—— 架构设计
- 使用WCF实现SOA面向服务编程—— 架构设计 推荐
- 系统架构逻辑参考图【强调了领域模型+面向服务编程理念】
- 学习笔记TF048:TensorFlow 系统架构、设计理念、编程模型、API、作用域、批标准化、神经元函数优化
- 系统架构逻辑参考图【强调了领域模型+面向服务编程理念】
- 使用WCF实现SOA面向服务编程—— 架构设计
- 使用WCF实现SOA面向服务编程—— 架构设计
- EJB编程及J2EE系统架构和设计
- Java高手真经.系统架构卷 : Java Web系统设计与架构 : UML建模+设计模式+面向服务架构
- 使用WCF实现SOA面向服务编程—— 架构设计
- SoC嵌入式软件架构设计之一:系统内存需求评估
- “.NET技术”使用WCF实现SOA面向服务编程—— 架构设计
- 使用WCF实现SOA面向服务编程—— 架构设计
- 系统架构逻辑参考图【强调了领域模型+面向服务编程理念】
- 面向海量数据的高并发高可用分层系统架构设计
- 使用WCF实现SOA面向服务编程—— 架构设计
- 面向对象系统分析与设计-----如何开展需求调查
- 系统架构逻辑参考图【强调了领域模型+面向服务编程理念】
- 架构设计:系统存储(19)——图片服务器:需求和技术选型(1)