用户界面的UML建模05
4 抽象表示层建模(Abstract Presentation Modeling)
在进行应用程序建模时,很自然地会需要对UI 表示层进行建模。甚至是对于非常简单的场景(scenario)而言,UI 表示层部分的建模都是必不可少的。在这个阶段我们并不需要一个详细的UI 表示层模型,只要能够了解到UI 是由哪种组件(components)组成,共有多少组件,以及它们是如何分组的即可。我们还需要知道这些UI 元素具有哪些操作。因此,我们需要一个抽象表示层模型(abstract presentation model)。
可以通过对一个用户成功登录图书馆系统的建模,来举例说明如何使用一个抽象表示层模型。图4 所示的便是用例ConnectToSystem 在该场景下的序列图(sequence diagram)。根据图1 所示的用例图,ConnectToSystem 是与《actor》LibrarySystemUser 相关联的。因此,本次交互由LibrarySystemUser发起,然后发送一个消息(message)至Library System 实例,该实例代表的是整个图书馆系统。
图4:用例ConnetToSystem 的序列图
从实际的角度来说,比如在Windows 环境下鼠标双击图书管理系统的图标,将会产生request connection 消息。
系统会立刻创建一个ConnectionUI 类的《boundary》对象,该对象执行一个名为showForm()的操作。可以将对象的创建建模为一个对象向新建对象发送《create》消息。ConnectionUI 对象一经创建,便会向用户显示为一个建立连接的用户界面,并请求输入登录名称和密码。其类似的用户界面可参加图5 所示。图5 并非一个UML 图,这是因为在UML 中并没有规定任何关于UI 表示层设计的标记。事实上,我们并未要求UML 应该具有关于UI 模型的标记,从而提供UI 布局(layout)和组件选择方面的支持。但是,我们通过讨论认为UML 需要一种标记来更好地描述抽象用户界面的结构,而非类图和对象图。事实上,这样的标记可用在UI 设计的初期,甚至可通过使用活动图来支持任务的设计。
图5:ConnectionUI 的显示
关于ConnectToSystem 的序列图还需要进行一些辅助的定义,这将会在后续章节中予以说明。