|
假设你是第一个发明自行车的人,你的设计和制造原型的过程会是怎样的?
1)你会去设想它应该有哪几个部件以及这些部件的衔接关系(静态结构设计).
2)你画出车身骨架,车龙头,座位,轮子和链条的草图,然后想象齿轮如何带动其他部件的情形(动态过程设计).
这个阶段你有可能会发现一下设计问题,例如:你发现骑车人无法把力传递给齿轮,于是你加上了一个脚踏板.
3)你把实际的零件制造出来,装配成一个原型自行车(编码实现).
4)你会尝试着去骑着它前进(调试测试).这个时候,你会发现很多的问题,例如你可能会发现链条老是"掉链",轮子没有弹性而使车子震动的很厉害.更槽糕的是,你发现骑起来之后没有恰当的方法停下!
5)于是你根据调试和测试的结果来改进设计,调整了链条长度,在轮子上包上有弹性的材料,加上了刹车.这就是"重构"啦.
总结:
静态结构设计--动态过程设计--编码实现--调试测试--重构
"静态结构设计"和"动态过程设计"这两个关键的步骤对经验的依赖性很强.因为你无把把现实中环境中的细节和状况来放到脑海中来推演.尽快把自己的软件放在现实中来调试是最有效的验证你的设计方案的途径.
所以,个人认为,如果你要开发的软件项目的创新成分很高,最好让每一个迭代周期短一些.这样可以尽早的验证你在这一个周期里所作的工作,尽早的改进设计中的缺陷.
|
|