这是敏捷开发用户故事系列的第十篇。(栏目目录)
面对一张白纸的时候,如何才能迅速理清头绪写出一个结构相对完整、颗粒度适中的功能清单,而且程序员就知道了要写哪些类和函数?
下面是简单的八步走法,废话少说,上图:

如果你不知道什么是“业务数据”和下面提到的“业务操作”,请穿越一下这次线上活动的第一期几篇文章:http://blog.youkuaiyun.com/cheny_com/article/details/7692917
好了,到此为止所有主体用户故事都找到了……实际上,未必在项目的开始一次性找到,可以不断按照这八步进行迭代。
下面的四步,需要你和火星人一样使用MVC框架,无论是Java还是C#的都行。
很难说多大算是“子系统”或者“Area”,但总之最好两边的目录有一种对应关系。
图中左边子系统加了英文,就是为了好对应。
在火星人中,100%的业务数据都能找到一个Controller与之对应。
左边的有英文的业务数据,如果把名字后面加上Controller,就能找到他所在的文档。比如,Products就对应ProductsController.cs,里边自然有一个类叫做ProductsController
在火星人里边,90%的业务操作对应一个Controller的Action方法。比如左边的查看所有产品,对应右边Index;左边查看产品详情,对应右边Details……剩下的业务操作哪里去了?
在实际代码中可能有继承关系,比如ProductsController : ItemTreesController : ItemsController,而左边的增删改查操作,多数都在右边这个父类里边实现了。
好了,需求都写好了,函数名字都差不多写出来了,剩下的都是技术细节,可以试试开始编码了。