在做软件项目过程,由于开发人员对项目所处的领域的不够了解和开发人员理解与客户描述存在偏差,导致在客户在试用软件过程中提出让开发人员很多郁闷的问题,甚至推翻开发人员的所有成果。这对开发人员的开发积极性是种沉重的打击。
引起上述问题有几个原因:一,开发人员对客户的需求理解有误;二,由于开发时间紧迫,在开发过程遇到的一些业务小问题,开发人员擅自揣测客户的需求,开发出可能客户不接受的代码;三,开发人员的代码过多依赖业务,若业务发生变化,则许多代码都要修改或重写。
[color=blue]客户----业务--><--代码----开发人员[/color]
从上面的图可以看出,业务和代码是开发人员与客户沟通的桥梁。如果这座桥没有搭好,那开发人员就很难满足客户的要求,客户可就不可能接受开发人员开发出来的系统。
[b]矛盾:[/b]客户的业务需求变化大,开发人员希望自己的代码修改量要少。而业务的实现与代码是紧密耦合的。
[b]问题:[/b]如何实现业务与代码之间有松耦合,业务发生变化,而代码修改工作尽量减少到最低?
[b]策略:[/b]封装变化
引起上述问题有几个原因:一,开发人员对客户的需求理解有误;二,由于开发时间紧迫,在开发过程遇到的一些业务小问题,开发人员擅自揣测客户的需求,开发出可能客户不接受的代码;三,开发人员的代码过多依赖业务,若业务发生变化,则许多代码都要修改或重写。
[color=blue]客户----业务--><--代码----开发人员[/color]
从上面的图可以看出,业务和代码是开发人员与客户沟通的桥梁。如果这座桥没有搭好,那开发人员就很难满足客户的要求,客户可就不可能接受开发人员开发出来的系统。
[b]矛盾:[/b]客户的业务需求变化大,开发人员希望自己的代码修改量要少。而业务的实现与代码是紧密耦合的。
[b]问题:[/b]如何实现业务与代码之间有松耦合,业务发生变化,而代码修改工作尽量减少到最低?
[b]策略:[/b]封装变化