今天开始学习UML与Rose建模,争取每学完一张就来写一篇博客更新总结学习到的内容,养成写技术博客的习惯!
简单介绍一下Rational Rose:
Rational Rose 这套软件是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。
Ration Rose的四种视图模型:
软件界面的组成部分不必多言,主要一开始令我比较困惑的是他的四种视图模型,这四种视图模型分别是用例视图,逻辑视图,构建视图和部署视图。
这每个视图都有其不同的功能和用处,一个个解释。
用例视图:
用例视图在软件中是Use Case View,这个视图的主要功能是包括了系统中的所有参与者、用例和用例图。用例视图不关心系统如何实现,他主要关心的是系统功能的高层抽象,适合于对系统进行分析和获取需求,必要的时候也可以添加顺序图协作图活动图和类图等等。
用例:用例用来表示在系统中的各种服务,定义了系统是如何被参与者所使用的,描述的是参与者为了使用系统提供的某一完整功能而与系统之间发生的一段对话。用例中还可以再创建各种图,包括顺序图协作图活动图和类图之类的,可以层层嵌套。
参与者:参与者是指存在于被定义系统外部并与该系统发生交互的人或其他系统,参与者代表了系统的使用者或者使用环境。
类:是对某个对象或者某些对象的定义,包含相关对象动作方面的信息,包括他的名称,方法属性和事件。
用例图:用例图在用例视图中显示了各个参与者、用例以及他们之间的交互。在用例图下可以连接用例图相关的文件和URL地址。
类图:在用例视图下也允许创建类图。类图提供了结构图类型的一个主要实例,并提供一组记号元素的初始集,以供其他结构图使用。
协作图:在用例视图下也允许创建协作图来表达各种参与者和用例之间的交互协作关系。
序列图:在用例视图下也允许创建序列图,序列图用于表达各种参与者和用例之间的交互序列关系。
状态图:在用例视图下,状态图主要表达各种参与者和类的状态之间的转换。
活动图:在用例视图下,活动图主要用来表达参与者的各种活动之间的转换。
总结:用例视图主要的功能是在项目开始的时候,项目开发小组可以选择用例视图来进行业务分析,确定业务功能模型、完成系统的用例模型。客户、系统分析人员和系统的管理人员根据系统的用例模型和相关文档来确定系统的高层视图。一旦客户同意了用例模型的分析,就可以确定系统的范围,然后在逻辑视图中继续开发。
逻辑视图:
逻辑视图的主要作用是关注与系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持,在逻辑视图中,用户将系统更加仔细的分解为一系列的关键抽象。
逻辑视图也包含类、用例类图用例图等等,用法和用例视图的完全一样,不在重复讲解,只对不重复的模型元素进行讲解。
工具类:其中工具类是逻辑视图所新增的,工具类是类的一种,是对公共机制或者服务的定义,通常存放一些静态的全局变量,从而方便其他类对这些信息进行访问。
接口:接口和类不同,类可以有他的真实实力,然而一个接口必须至少有一个类来实现它。
总结:在逻辑视图中关注的焦点是系统的逻辑结构。在逻辑视图中,不仅要认真抽象出各种类的信息和行为,还要描述类的组合关系等,尽量产生出能够重用的各种类和构件,这样就可以在以后的项目中方便的添加现有的类和构件,而不需要一切从头再开始一遍。一旦表示出各种类和对象并描绘出这些类和对象的各种动作和行为之后,就可以转入构件视图中,以构件为单位勾画出整个系统的物理结构。
构件视图:
构件视图用来描述系统中各个实现模块以及他们之间的依赖关系。构建视图包含模型代码库、执行文件、运行库和其他构件的信息,但是按照内容来划分构件视图时,其主要由包、构件和构件图构成。包是与构件相关的组,构件是不同类型的代码模块,他是构造应用的软件单元,构件可以包括源代码构件,二进制代码构件以及可执行构件等。
包:包在构件视图中仍然担当的是划分的功能。使用包可以将构件视图中的各种构件划分,不同功能的构件可以放置到不同的逻辑视图的包中。
构件:构件图中最重要的模型要素就是构件,构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。
构件图:构件图的主要目的是现实系统构件间的结构关系。
部署视图:
部署视图的作用就很简单了,主要就是用来显示系统的实际部署情况,是便于理解系统如何在一组处理节点上的物理分布而在分析和设计中使用的构架视图。部署视图考虑的是整个解决方案的实际部署情况,所描述的是在当前系统结构中所存在的设备,执行环节和软件运行时的体系结构,它是对系统拓扑结构的最终物理描述。
处理器:指有处理功能的节点。
设备:指没有处理功能的节点,例如打印机。
个人总结:本章的难点个人认为就是各个视图的作用以及在这些视图下所支持的各种功能和图。用例视图主要是进行一个高度抽象的业务分析,设计出系统的大致需求,而不要求进行系统实现,逻辑视图则是设计出系统的逻辑结构,以及确定各种类的信息和行为等等,然后再转入构件视图,勾画出整个系统的物理结构。最后,部署视图则关心具体的设备部署。可以看出Rose套件功能强大,是一款良好的UML工具。