分析(analysis)强调的是对问题和需求的调查研究,而不是解决方案。例如,如果需要一个新的在线交易系统,那么,应该如何使用它?它应该具有哪些功能?
“分析”一词含义广泛,最好加以限制,如需求分析(对需求的调查研究)或面向对象分析(对领域对象的调查研究)。
设计(design)强调的是满足需求的概念上的解决方案(在软件方面和硬件方面),而不是其实现。例如,对数据库方案和软件对象的描述。设计思想通常排斥底层或“显而易见”的细节(对于预期消费者来说是显而易见的)。最终,设计可以实现,而实现(如代码)则表达了真实和完整的设计。
与“分析”相同,对“设计”一词最好也加以限制,如面向对象设计或数据库设计。
有益的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计)。