面向对象分析与设计(第3版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 复杂系统的设计

每一种工程方法的实践,无论它是土木工程、机械工程、化学工程、电气工程还是软件工程,都涉及科学和艺术两方面的元素。正如Petroski曾雄辩地指出:“一个新结构的设计概念既包括想象力的跳跃,也包括经验和知识的融合,就像艺术家在他的画布或纸上创作作品一样。当作为艺术家的工程师想出这个设计之后,必须由作为科学家的工程师采用科学方法进行分析,像其他科学家所使用的方法一样”[40]。类似地,Dijkstra说:“程序设计任务是应用抽象的大规模练习,因此既需要正规数学家的能力,也需要称职工程师的态度”[41]