软件设计是一门艺术,像其他艺术一样,它不能通过定理和公式以 一门精确科学的方式被教授和学习。通过软件创建的过程,我们可 以发现有用的规律和技巧,但是我们也许永远不能提供一个准确的 方法,以满足从现实世界映射到代码模型的需要。如同一幅画或者 一个建筑,软件产品既包括设计和开发它的那些人的个人劳动,也 包括致力于它发端和成长的那些人的某些领导力和洞察力(或者没 有这个)。