UML 实践案例 1 分析模型简介 Rose分析模型(Analysis Model)推进用例的实现,在子系统划分上,它一方面以系统用例模型、业务对象模型为参考,又把各个子系统公用的成分分离出来,形成需要的子系统。超市进销存系统的分析模型把身份验证的功能独立出来,形成身份验证子系统,结构如图9所示。 图9描述了超市进销存系统分析模型结构 Rose的系统分析模型把逻辑对象模型向实现推进了一步,它更多地接近逻辑对象模型。 1.分析模型基本概念 对于一个用例,一般可以通过三种类来实现:边界类(Boundary Classes)、实体类(Entity classes)和控制类(Control classes)。 为了把用例和用例实现区分开来,Rose引入新的图素“用例实现”。用例通过“用例实现”来完成相应用例的功能。用例实现就是 UML的协作(Cooperation),意思是通过对象(或类)的协作完成用例的实现。 分析模型涉及边界类、控制类、实体类和用例实现(Use-case realizations)等基本图素,如图10所示,它们都是类的变体。 图10 分析模型基本图素 Rose分析模型涉及下列图素: (1)分析模型的基本类 一个用例一般通过三种类协同实现其功能:边界类、控制类、实体类。这些类又叫分析类变体(Analysis class stereotypes)。 图11销售管理子系统分析模型类图。它通过这三种类协同实现“处理销售”用例。 图11和图8(销售管理业务对象模型类图)作比较,可以看出这两种图之间的关系。 图11销售管理子系统分析类图 1)边界类 边界类位于系统和外界角色的交界处,边界类实现业务角色、业务员工与用例的交互,它可以是窗体、报表、与打印机、扫描仪、磁卡等硬件的接口。 图11所示的销售管理子系统的边界类是销售管理窗体。通过它售货员输入购物数量,通过它把商品条形码转变成商品标识等等。 边界类可以从用例中去寻找,每个“角色—用例”之间至少有一个边界类,有可能和别的“角色—用例”共用。 应用不同,边界类可以是软件接口或其他。边界类接收角色的交互信息,有时它还承担交互信息的转换任务,边界类是类的变体。 2)实体类(Entity classes) 实体类负责存储、加工信息,是对用户最有意义的类,通常用业务领域的术语命名。一般利用数据库对这种实体类建立相应表格。实体类是业务实体的计算机描述。 图11所示的销售管理子系统的实体类是销售表和商品档案表。销售表用于存储、加工销售清单,销售清单就是图8销售管理的业务实体。商品档案表用于存储...