UML基础与Rose建模实用教程(第三版)
上QQ阅读APP看书,第一时间看更新

3.3.2 逻辑视图(Logical View)

逻辑视图关注系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持。在逻辑视图中,用户将系统更加仔细地分解为一系列的关键抽象,将这些大多数来自于问题域的事物依据抽象、封装和继承的原理,使之表现为对象或对象类的形式,借助于类图和类模板等手段,提供系统的详细设计模型图。类图用来显示一个类的集合和它们的逻辑关系:关联、使用、组合、继承等。相似的类可以划分成为类集合。类模板关注于单个类,它们强调主要的类操作,并且识别关键的对象特征。如果需要定义对象的内部行为,则使用状态转换图或状态图来完成。公共机制或服务可以在工具类(Class Utilities)中定义。对于数据驱动程度高的应用程序,可以使用其他形式的逻辑视图,例如E-R图,来代替面向对象的方法(OO Approach)。

在逻辑视图下的模型元素可以包括类、类工具、用例、接口、类图、用例图、协作图、序列图、活动图和状态图等。充分利用这些细节元素,系统建模人员可以构造出系统的详细设计内容。在Rational Rose的浏览器中的逻辑视图如图3-15所示。

在逻辑视图中,同样可以创建一些模型元素。在浏览器中选择Logical View(逻辑视图)选项,单击鼠标右键,就可以看到在该视图中允许创建的模型元素,如图3-16所示。

图3-15 逻辑视图

图3-16 在逻辑视图中可以创建的模型元素

其中,类、用例、包、类图、用例图、协作图、序列图、状态图、活动图、文件和URL的含义和使用,与用例视图中的完全相同,所以这里不再重复这些内容,只对不重复的模型元素加以说明。

  • 工具类(Class Utility)。工具类仍然是类的一种,是对公共机制或服务的定义,通常存放一些静态的全局变量,便于其他类对这些信息进行访问。在工具类下可以像类一样创建工具类的属性(Attribute)、操作(Operation)、嵌套类(Nested Class)、状态图(Statechart Diagram)和活动图(Activity Diagram)等信息。在浏览器中选择某个工具类,单击鼠标右键,就可以看到在该工具类中允许创建的一些模型元素,如图3-17所示。
  • 接口(Interface)。接口和类不同,类可以有它的真实实例,然而接口必须至少有一个类来实现它。和类相同,在接口可以创建接口的属性(Attribute)、操作(Operation)、嵌套类(Nested Class)、状态图(Statechart Diagram)和活动图(Activity Diagram)等。在浏览器中选择某个接口,单击鼠标右键,就可以看到在该接口中允许创建的一些模型元素,如图3-18所示。

图3-17 工具类下可以创建的信息

图3-18 接口下可以创建的信息

在逻辑视图中关注的焦点是系统的逻辑结构。在逻辑视图中,不仅要认真抽象出各种类的信息和行为,还要描述类的组合关系等,尽量产生出能够重用的各种类和构件,这样就可以在以后的项目中方便地添加现有的类和构件,而不需要一切从头再开始一遍。一旦标识出各种类和对象并描绘出这些类和对象的各种动作和行为之后,就可以转入构件视图中,以构件为单位勾画出整个系统的物理结构。