IBM Rational Software Architect V7 是构建在 Eclipse 平台之上的一个集成设计和开发工具,是一个开放的和可扩展的,符合行业标准的开发平台。
创建一个序列图
UML 中的一个序列图显示交互实例之间消息的编排顺序。 它包括了一个交互,其由交互期间的生存线和它们所交互的消息来表示,也称作 消息线.
在此部分中,您将实现用例“Search for a phone number”并利用序列图显示相关的交互。 用例开始于角色 Any User,它利用了 PhoneBookView 所提供的界面来请求搜索。 PhoneBookView 通知 PhoneBookController 有关用户的请求。 PhoneBookController 更新存储在 PhoneBookModel 中的数据模型。 因为存在一个模型管理,PhoneBookModel 通知 PhoneBookView,它应该刷新用户界面来反映应用程序的最新状态。
在 Rational Software Architect 的 Model Explorer 视图中,右键单击 Phone Book UML Model 并选择Add Diagram > Sequence Diagram。
输入 Sequence Diagram 作为已生成图的名称,以替代默认名称 SequenceDiagram1。
将角色 Any User 从 Model Explorer 视图拖到图上以创建一个此角色的实例,如图 10 所示。类似地,通过拖拽,创建 PhoneBookView,PhoneBookController 和 PhoneBookModel 的实例。
图 10. 将模型单元拖拽到序列图中
在 Palette 中选择 Asynchronous Message 。 如图 11 所示,点击 any User: Any User,保持
鼠标点击状态,然后在 phoneBookView:PhoneBookView 行下释放鼠标。
图 11. 创建消息线
在下来菜单中选择操作 PhoneBookView::getUserInput()。
图 12. 为消息线选择操作
类似地,创建以下的异步消息线,如表 3 所示。要创建一个调用自身的异步消息,不用任何拖拽,只需要简单地点击实例条。
表 3。 序列图的异步消息线
源实例目的实例操作
phoneBookViewphoneBookControllerPhoneBookController::userHasInput()
phoneBookControllerphoneBookModelPhoneBookModel::searchPhoneNumber()
phoneBookControllerphoneBookModelPhoneBookModel::setState()
phoneBookModelphoneBookViewPhoneBookView::stateHasChanged()
phoneBookViewphoneBookModelPhoneBookModel::getSearchResult()
phoneBookViewphoneBookViewPhoneBookView::changeView()
完整的序列图应当如图 13 所示。选择 File > Save All 保存所有内容。
图 13. 完整的序列图