IBM Rational Software Architect V7 是构建在 Eclipse 平台之上的一个集成设计和开发工具,是一个开放的和可扩展的,符合行业标准的开发平台。
创建一个类图
类图是系统的蓝图。 使用类图来对组成系统的对象建模,以显示对象之间的关系,并描述那些对象做什么,及它们提供的服务。
使用 Model-View-Controller (MVC) 架构模式设计简单的电话簿应用程序,如图 7所示。 (参见参考资料 来了解 MVC 的信息。 ) 对于电话号码簿应用程序,您将需要创建以下三个类:
PhoneBookModel —— 管理电话簿条目并获取应用程序状态的类。状态改变的时候,它通知 PhoneBookView,它之后将根据应用程序的状态刷新用户界面。
PhoneBookView —— 根据应用程序的状态管理面向用户的图形或文本界面,并在检索到输入时,通知 PhoneBookController 的类。
PhoneBookController 控制整个应用程序的操作。 它改变应用程序模型状态并更新基于用户输入的数据模型。
本练习的目的是显示设计应用程序时对 Rational Software Architect 的使用。 设计本身并不是焦点。 如果您愿意,您可以使用一个不同的设计来进行。
图 7. 电话号码簿应用程序的 MVC 设计
现在创建一个反映 图 7 中设计的类图。
1、在 Rational Software Architect 的 Model Explorer 视图中,右键单击 Phone Book UML Model 并选择Add Diagram > Class Diagram。
2、输入 Class Diagram 作为已生成图的名称,以替代默认名称 ClassDiagram1。
3、在 Palette 中选择 Class,然后在图中任何位置单击,生成一个类。 命名为 PhoneBookModel。
4、右键单击已生成的类 PhoneBookModel 并选择 Add UML > Operation 来创建该类的方法。 将其命名为 setState。
5、类似地,创建剩余的元素,如表 2 所示。操作名称的选择不假定所使用的编程语言。
表 2。
类信息 |
类操作 |
PhoneBookModeladdAnEntry |
searchPhoneNumber getSearchResult getState |
PhoneBookViewstateHasChanged |
changeView getUserInput |
PhoneBookControlleruserHasInput |
start |
6、下一步,您将创建一些关联关系来关联这三个类。 如图 8 中所示,在 Palette 中单击 Association] 旁边的箭头,并选择 Directed Association。
图 8. 从 Palette 中选择直接关联关系
7、画一条从类 PhoneBookController 到PhoneBookModel (顺序是重要的)的关联关系线,以开始这两个类之间的直接关联关系。 一个直接的关联关系意味着第一个类知道第二个类,但不是其它的方式。
8、将此直接的关联关系命名为 controllerHasModel。
9、现在,您以及完成了一次,创建了更多的关联关系。 这一次创建了关联关系 without direction,其意味着两个关联的类互相知道对方:
1) 在类 PhoneBookModel 和 PhoneBookView 之间创建一个关联,命名为 modelView。
2) 在类 PhoneBookView 和 PhoneBookController 之间创建一个关联,命名为 viewController。
10、完整的类图应当类似于图 9。选择 Ctrl-S 保存图。
图 9. 电话号码簿应用程序的一个完整类图