什么是设计?怎么进行设计?

1、什么是设计

    设计不是一个结果,而是一个过程。

    为什么这么说呢?如下:

2、软件开发的本质是:需求总是在变化的,而且还会一直变下去。

    将软件腐化、退变的原因归结于需求的变化,是一种推卸责任。---------------阅读 Copy程序的演化有感。

 

3、程序开发者,或者团队,不是从一开始设计该模块时,就试图预测程序将如何变化。相反,团队是以最简单的方法编写该模块。仅当需求最终确实变化时,才修改模块的设计,使之对这种变化具有弹性。这时敏捷软件开发的灵魂所在。

注意:(1)、“设计”这个行为介入的时机,不是从一开始,而是在需求发生变化的时候。

        (2)、还要说明的是,此次设计的目的,不仅是适应此次变化,团队还应根据此次需求变化,对后续的需求变化作出预期,以使此次程序的变更适应未来的需求变更。这才是设计要追究的本质。如果仅仅是修改程序,以响应此次需求变更,那么这称之为变更而非设计。

 

用一个Copier程序的演化,说明什么是设计,怎么进行设计,什么时间进行设计。

初始需求:设计一个copy程序,能够从键盘读取字符,并输出到打印机。

 

(第一种设计思路):

阶段一:代码实现如下(注:原书是用C# 实现的,这里用C++进行书写):

posted @ 2012-04-01 08:52  pjh123  阅读(822)  评论(0编辑  收藏  举报