第5章 餐馆系统:分析分析经常看作是软件开发中的一个不同阶段或活动,但是,分析和设计的区分并不总是非常清晰的。在面向对象方法中尤其如此:因为开发从头到尾都使用相同的概念和表示法,分析和设计经常像是互相融合在一起。本章介绍的分析的观点来自于统一过程,但是应该指出,不同的作者和方法学会给出不同的解释,而且在有些情况下甚至认为分析不是一个独立的活动。5.1 分析的目的定义分析目的的一种方法是确定分析的是什么。在完整的开发语境中,对这个问题的一个看来合理的答案是“系统需求”。以用例描述的形式陈述的需求是定义系统外部行为非常有价值的工具,但是它们对系统的内部结构,或如何提出一组交互的对象来支持所要求的功能并没有给出任何指导。因此,可以把分析的任务描述为是构造一个模型,来说明这些交互的对象如何能够交付用例中规定的行为。用工作产品的词语来说,分析活动的典型输入是用例和领域模型。虽然这些模型描述了系统的结构和行为方面,但是这些描述不是非常完整的。用例描述通过用户与系统的交互来表示从外部看到的系统功能,而领域模型则定义了重要业务概念之间的关系。缺少的是对如何表示或者导出