UML简介
这里只对UML作简单的介绍,通过对UML中七种图(用例图、类图、序列图、状态图、活动图、组件图和部署图)的介绍讲述他们的用途。如果您对UML已经十分熟悉,您可以跳过这部分。
用例图 用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括\"角色\"(也就是将与系统交互的人类)与基本流程的关系,以及不同用例之间的关系。用例图一般给出了用例组--或者是整个系统的全部用例,或者是一组分开的具有相关功能(例如,所有用户管理相关的用例)的特定用例组。
类图 类图显示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。类图可用于显示逻辑类,逻辑类通常就是公司业务人员所谈及的事物种类。类图还可以用来显示实现类,实现类就是程序员通常处理的事物。实现类图或许会与逻辑类图显示一些相同的类。然而,实现类图不会使用相同的属性来绘制,因为它很可能具有对诸如Vector和HashMap这种事物的引用。
序列图 序列图显示特定用例(甚至特定用例的某一部分)的详细流程。它们几乎是自描述的,并且显示了它们的序列中不同对象之间的调用关系,同时可以在很详细的级别上显示对不同对象的不同调用。序列图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例。
状态图 状态图对某个类可能所处的不同状态和该类从一个状态转换到另一个状态进行建模。有人可能会争论说每个类都有状态,但不是每个类都应该有一个状态图。只有哪些有受关注的状态的类(也就是说,在系统活动期间具有三个或更多潜在状态的类)才应该建模。
活动图 活动图显示在处理某个活动时,两个或者更多类对象之间的过程控制流。活动图可用于在业务单元的级别上对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。根据我的经验,活动图最适合用于对较高级别的过程建模,比如公司当前在如何运作业务,或者业务运作看起来如何。这
是因为与序列图相比,活动图在表面上是非技术性的,而有商业头脑的人们往往能够更快速地理解它们。
组件图 组件图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件(例如,软件库)的依赖关系。组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次上显示。
部署图 部署图显示系统将如何物理地部署到硬件环境中。它的用途是显示系统的不同组件将在何处物理地运行,以及它们将如何彼此通信。既然部署图对物理运行情况进行建模,系统的生产人员就可以很好地利用这种图。
前面介绍了UML有9种视图,Rational Rose支持其中的大部分(7种)视图,包括:
Use Case、Sequence、Collaboration、Class、State Transition、Component、Deployment框图
Rational Rose是分析和设计面向对象软件系统的强大工具,可以帮助先建模系统再编写代码,从而一开始就保证系统结构合理。利用模型可以更方便地捕获设计缺陷,从而以较低的成本修正这些缺陷。Rational Rose有助于系统分析,可以先设计使用案例和Use Case框图,显示系统的功能。可以用Interaction框图显示对象如何配合,提供所需功能。类和Class框图可以显示系统中的对象及其相互关系。Component框图可以演示类如何映射到实现组件。最后,Deployment框图可以显示系统的网络设计。
Rational Rose模型分四个视图,分别是Use Case、Logical、Component、Deployment。以下分别介绍这四个视图。
一、Use Case
Use Case视图包括系统中的所有角色,使用案例和Use Case框图,还可能包括一些Sequence或Collaboration框图。Use Case视图是系统中与实现无关的视图,关注系统功能的高层形状,而不关注系
统的具体实现方法。
一般Use Case视图用于确定系统的范围,确认系统需要实现的功能。
二、Logical
Logical视图关注系统如何实现使用案例中提出的功能。它提供系统的详细图形,描述组件间如何关联。
Logical视图关注的焦点是系统的逻辑结构。在这个视图中,要标识系统组件,检查系统的信息和功能,检查组件之间的关系。一旦标识类并画出框图后,就可以装入Component视图,了解物理结构。
三、Component视图
Component视图包含模型代码库、执行文件、运行库和其他组件的信息。组件是代码的实际模块。
Component视图的主要用户是负责控制代码和编译部署应用程序的人。有些组件是代码库,有些是运行组件,如exe或dll。开发人员也用Component视图显示已经生成的代码库和每个代码库中包含的类。
四、Deployment视图
Deployment视图关注系统的实际部署,可能与系统的逻辑结构有所不同。是物理上的部署,如客户端组件放在一个机器上,服务器组件放在另一台机器上。还处理包括容错、网络带宽、故障恢复和响应时间等问题。
因篇幅问题不能全部显示,请点此查看更多更全内容