软件开发通常被应用到真实世界中已经存在的自动化流程,或者给真<br>实的业务问题提供解决方案,即要自动化的业务流程或者可以用软<br>件解决的现实问题。从一开始,我们就必需明白软件脱胎于领域,<br>并跟领域密切相关。<br>软件是由代码最终构成的。也许我们被代码所诱惑,在它上面花费<br>了太多的时间,将软件看作是简单的对象或者方法。<br>假设以汽车制造来类比。参与汽车制造的工人会专门负责汽车的某<br>个部件,但这样做的后果是工人们通常对整体的汽车制造流程缺乏<br>了解。他们可能将汽车视为一大堆需要固定在一起的零件的集合<br>体,但一辆汽车的意义远不只于此。一辆好车起源于一个好的创<br>意,开始于认真制定的规格说明,然后再交付给设计。经历若干道<br>设计工序,(历经岁月),用上几个月甚至几年的时间去设计、修<br>改、精化直至完美,直至它反映出最初的愿景。设计的过程也不全<br>然是在纸上进行的。许多的设计工作包括制模、在极端条件下对它<br>们进行测试,以验证它们是否能工作等。设计会根据测试的结果做<br>出修改。汽车最终被交付到生产线上,在那里,所有的部件已经就<br>绪,然后被组装到一起。<br>软件开发也是一样。我们不能直接坐下来敲代码。当然也可以这样<br>做,在开发价值不大的软件时。但我们不能用这种方法开发复杂的<br>软件。<br>为了创建一个好软件,你必须知道这个软件究竟是什么。在你充分<br>了解金融业务是什么之前,你是做不出一个好的银行业软件系统<br>的,你必须理解银行业的领域<br>。
- 1
- 2
- 3
- 4
- 5
- 6
前往页