RationalRose使用
UML
概述
什么是 UML?
Unified Modeling Language (UML)又称统一建模语言或标准建 模语言,是始于 1997 年一个 OMG 标准,它是一个支持模型化 和软件系统开发的图形化语言,为软件开发的所有阶段提供模 型化和可视化支持,包括由需求分析到规格,到构造和配置。面 向对象的分析与设计(OOA&D,OOAD)方法的发展在 80 年代末 至 90 年代中出现了一个高潮,UML 是这个高潮的产物。它不 仅统一了 Booch、Rumbaugh 和 Jacobson 的表示方法,而且对 其作了进一步的发展,并最终统一为大众所接受的标准建模语 言。
软件开发的时候,系统设计师/系统架构师给出 UML 设计图, 程序员将来要根据 UML 设计图进行编码/开发。
能够实现 UML 图的建模工具有哪些?
- IBM Rational Rose
- StarUML
- MS Visio(比较在行的是流程图)
…..
常见的 UML 图包括哪些?
- 类图(Class Diagram):描述类的信息(包括属性、方法),以及 类和类之间的关系信息。
- 用例图(Use Case Diagram):站在系统用户(系统角色)的角度 分析系统存在哪些功能。
- 时序图(Sequence Diagram):描述程序的执行过程,方法的调用 过程,方法的返回值等信息。(程序是一步一步怎么执行的,怎么调 用的。)
- 状态图….
- 活动图….
关于 UML 中的类图
什么是类图?
描述类的信息,以及类和类之间的关系信息。
画一个类图
通常在 Rational Rose 工具的 Logical View 目录下实现类图,一般会创 建一些目录用来组织这些类图,因为类可能会比较多。
1.关闭直接保存,观察后缀为mdl:模型驱动语言
2.在logical view中创建包
3.在我们创建的类图中new 一个Class Diagram
4.例如我们可以根据市场活动来新建一个class
点击类新建一个类,起名写备注
添加名字类型备注
插入属性:
注意:
未改之前id的权限是private,在图上是一把小锁。
更改权限为public 之后,图上变为一个小正方形
类和类之间的关系
A.泛化关系(is a:Cat is a Animal->继承):类和类的继承,接口和接口的继承
最终效果:
B.实现关系(like a:Cooker like a FoodMenu->)**
更改接口的展示类型,把原点化为正方形️
添加方法:
显示方法的返回值:
最终效果:
多个类可以实现一个接口或者一个类可以实现多个接口
C.关联关系(has a:Programmer has a computer)
关联是实线箭头
双击箭头打开一个窗口,在这个窗口中描述程序员和笔记本之间的关系
可以看两个类之间的关系,这里的Role A Detial 是笔记本,Role B Detial 是程序员
写Role,一旦这个关系线上的Role写好了,那么代码之中就不能随便写
而且要看好箭头的方向,箭头指向谁,由程序员就可以找到电脑
朋友关系(自身关联):
首先要画一个实线箭头指向自身
设置数量
再设置Role为friend
这种关系叫做自关联
夫妻关系(双向图):
进行连线的时候可以设置Navigable这样可以变为双向的箭头
husband和wife是角色名称
D.聚合关系
聚合关系描述的是整体与部分的关系,聚合关系是比较特殊的关联关系,比如:一个教室当中有多个学生,教室和学生之间的关系就是整体
和部分的关系在聚合关系中,整体的生命周期不会决定部分的生命周期,例如:教室没了,学生还在,或者说学生走了,教室还在。
去掉对勾
勾选这个选项
ClassRoom勾选Aggregate选择数目1
Student那边选择数量为0..n
多个学生设置Student的Role为students
E.组合关系
组合关系可以看为是一种特殊的聚合关系,整体的生命周期决定部分的生命周期,部分是依附在整体上面的,部分离开了整体是无法"存活"的。例如:人和四肢的关系。
依赖关系
实体箭头线连接好两个人和四肢,然后分别设置好人的数量为1,肢体的数量为0..4,然后保存之后再次打开,把Navigable这个对勾去掉,然后勾选Aggregate选项
效果如下:
然后再次打开选项卡,把By value值选上,这个By value表示组合关系,效果如下:
F.依赖关系
依赖关系是所有关系中最弱的一种,这种关系通常体现在类和局部变量之间的关系。
这里的Clue随着Test的创建而创建,随着Test的消亡而消亡。
用例图use case diagram
什么是用例图
站在系统用户(系统角色)的角度分析系统存在哪些功能? 实现用例图的时候,需要先进行系统角色的抽取。
在 Rational Rose 工具当中一般会在 Use Case View 当中实现用例图。
画一个用例图
1.右键新建一个package
2.new一个角色
3.新建use case diagram
4.长按可以将其拖动到画布上
可以给他指定功能
时序图 sequence diagram
什么是时序图?
时序图当中描述了方法的调用过程,程序的执行流程,以及方法执行 结束的返回值情况。
怎么实现时序图呢?
时序图通常会在 Rational Rose 的 Logical View 中实现。
用例图当中的一个用例会对应时序图当中的一个时序图。时序图描述 的是一个功能具体是怎么实现的,流程是什么?
1.创建一个package时序图,时序图要对应用例图,用例图当中的用例对应一个时序。
需要一一对应起来
2.创建一个dao package
新建四个层,每个层都需要一个模型
进行连线
起名
确定之后就可以new出来。
然后回到控制层的类图里面查看方法,多了一个
传入参数,写上返回值,然后勾选展示返回值
右键将这个方法new出来
然后发现控制器层里面生成了一个方法,将这个方法写上注释
并设置参数类型与上面一致起来
设置业务层的接口
将刚才创建好的service接口拖拽到我们的图中来,进行连接命名,然后把这个方法new出来
在业务层进行编辑
在领域模型上创建
在dao层上创建接口
同上面一样,调用生成方法,返回然后编辑方法
小人:动作的发起人
矩形/小圆圈:对象
实线箭头:调用
虚线箭头:返回
柱状:对象的生命周期,柱状不能断,在同一个流程当中不能断。
回折线:当前类的方法执行过程中调用自己当前类中
RationalRose使用的更多相关文章
- RationalRose 安装过程中无法加载镜像的问题
前情提要:本文主要以提供关键问题的解决思路为目的,境况紧急的,在核对好所遇问题与博主是否一致后,可以直接跳到最后看解决办法即可. 另外,本文重要部分采用不同色文字,加以强调. 任务:安装Rationa ...
- window8家庭版上的RationalRose
来点儿小插曲儿,本是继续Java系列文章的续集的,但是最近要用到UML,在网上看了看,查了查推荐的到是不少,最终还是选择了rose,哈哈,一半是冲着名字去的,一半看看了与其它的UML的比较,最终中意r ...
- 安装RationalRose的问题解决
列出大问题:在这一步无法进行下一步,直接就只能退出. 翻译过来的意思是:IBM安装程序被完全下载之前就终止了,大概是这个意思. 然后我就直接进了IBM的官网看了一下产品支持,上面解释说是组件clear ...
- 开源UML工具推荐
1.StarUML StarUML是一个开源UML项目,可以开发快速,灵活,可扩展,多功能并且免费的UML/MDA平台.此项目运行在Win32平台之上.StarUML项目的目标是成为RationalR ...
- [转]表结构设计器EZDML介绍说明(包含修改配置文件,修改文本字段属性)
超轻量级的表结构设计工具,这是一个数据库建表的小软件,可快速的进行数据库表结构设计,建立数据模型.类似大家常用的数据库建模工具如PowerDesigner.ERWIN.ER-Studio和Ration ...
- Rational Rose 安装及破解方法
Rational Rose 的安装与破解: 所需材料: 1.“Rational rose 2003.rar”安装包压缩文件 2.“license.rar”压缩文件(一 ...
- java 知识结构
JAVA基础阶段 阶段 技术名称 技术内容 T线 JavaSE JAVA 开发基础知识 | Eclipse 开发环境 | JavaSE 7.0 API | JavaSE 8.0新特性 | 多线程技术 ...
- Rational rose下载,安装,破解
rationalrose是一个镜像文件,后缀名是bin 之前尝试过用虚拟光驱来打开,不知道为什么,在win10的环境下,虚拟光驱硬是不能加载bin文件,后来拷到虚拟机上,打开了bin镜像文件,得到了一 ...
- 新手必看:如何快速看懂VC++项目
1.在具备必需的编程基础知识后,试图理解一份完整的代码可以从以下几个方面入手: 1)首先运行以下程序,从外部角度感受一下有哪些功能. 2)了解代码中每个类的功能.看看文档,或者类的注释,那么仅仅 ...
随机推荐
- Linux云计算-04_Linux用户及权限管理
Linux是一个多用户的操作系统,引入用户,可以更加方便管理Linux服务器,系统默认需要以一个用户的身份登录,而且在系统上启动进程也需要以一个用户身份器运行,用户可以限制某些进程对特定资源的权限控制 ...
- win10 共享文件夹设置无需用户名密码访问
文件夹设置共享,添加Everyone 文件夹右键属性,选择共享,添加Everyone,添加后可设置读写权限. 权限添加Everyone,不然没有权限访问 设置安全策略 Win+R 打开运行,输入 se ...
- SpringBoot Cache 深入
这上一篇文章中我们熟悉了SpringBoot Cache的基本使用,接下来我们看下它的执行流程 CacheAutoConfiguration 自动装配类 根据图中标注,看到它引用了CachingCon ...
- Linux导出未越狱Iphone10.3-QQ聊天记录
起因 手机当中的聊天记录已经快两年没有备份了,生怕某天QQ版本升级中丢失掉这些聊天记录,所想将这两年的聊天记录保存下来 查找了好多资料,结果10.3以后,IOS改变了策略,貌似不允许通过以前方法导出了 ...
- Java实验项目四——多线程矩阵相乘算法的设计
Program:多线程矩阵相乘算法的设计 Description:利用多线程实现矩阵相乘,因为各个线程的运算互不影响, 所以不用使用锁,代码如下: thread.OperateMatrix类,实现矩阵 ...
- ADC采集电流相关知识
1.AD电流采样电路,是把电路中的电流用采样元件转换为电压信号,然后用ADC量化转换为相应的数字信号.需要你在被采集端串联一个采样电阻,然后采集采样电阻两端的电压,这样就可以把电流输出变换为电压输出. ...
- vuejs知识总结
1.Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.ViewModel是Vue.js的核心,它是一个Vue实例. <!DOCTYPE html& ...
- IBM刀箱服务器的SW
刀箱交换机说明: 1.刀箱交换机可以看到的24个口都是ext端口,其中因为授权原因,只激活了前10个端口. 2.交换机配置中的inta端口为服务器直接连接的端口,inta1-inta14,这些都是对应 ...
- Git submodule 拉取子模块
$ git clone https://code.Xcode.com.client.git Cloning into 'vipkid-pc-client'... Username for 'https ...
- 使用.net Core 3.1 多线程读取数据库
第一步:先创建一个DBhepler类,作为连接数据库中心,这个不过多说明,单纯作为数据库的连接........... 1 public static string Constr = "数据库 ...