采用b站动力节点视频学习:

【动力节点】UML与Rational Rose

视频:

什么是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图之类图

什么是类图?

描述类的信息,以及类和类之间的关系信息。

打开IBM,canel
保存你会发现
他的文件的后缀是.md,即models类型


命名crm,保存

画一个类图

通常在Rational Rose工具的Logical View目录下实现类图,一般会创建一些目录用来组织这些类图,因为类可能会比较多。


右键——new——package——rename(类图)


类图——右键——new——class Diagram(类图)
这就是画图的

先来一个市场活动 的一个类图

双击就打开了一个画布

根据需求去设计:

点击右边的class,选中类——取名Activity


双击打开,属性和方法等

点到attributes——属性

把上面的属性加上
以id为例子:


这里是private
如果换成public会咋样?
会变成锁定状态:

不能更改数据

然后改回private

继续添加

也可以这样直接在下面enter,写

添加如下:

根据这个图会写代码

打开这个画布窗口就点击一下画布——市场活动就行了

UML图之泛化关系

类和类之间的关系包括 6 种情况:

先总结一下:

  • 泛化关系:(is a:Cat is an Animal——》继承)
  • 实现关系:(like a: Cooker like a FoodMenu)
  • 关联关系:(has a: Programmer has a Comper)
  • 聚合关系
  • 组合关系
  • 依赖关系

泛化关系

泛化关系(is a:Cat is a Animal→继承):类和类、接口和接口的继承。

打开Rational Rose,建立Cat类图和Animal类图


然后Cat类继承Animal类,所以空心箭头→指向Animal

选择左边工具栏——generalization


可以把代码写下:
选择左边——note

Cat继承Animal

选择左边项目锚注——association class

可以选中crtl+c粘贴到word中

UML图之实现关系

实现关系(like a:Cooker like a FoodMenu):类和接口的实现

定义一个接口FoodMenu

选择左边——interface


右键——Options——stereotype display——label
以label形式显示


定义个Cooker类

然后Cooker实现FoodMenu

左边——realize


代码实现——implements(实现)

选择左边项目锚注——association class

链接代码

UML图之关联关系

关联关系(has a:Programmer has a Computer)

定义一个程序员类Programmer 和一个电脑类 Computer

有一个方式描述,有联系

使用左边——undirectional association(不定向联系)

双击箭头打开——例子:
描述之间数量关系:
一个程序员·


一个电脑

还可以描述角色:

电脑——coder


箭头的方向不能乱变的

上面是通过程序员可以找到电脑的

实线箭头表示:通过Programmer可以找到Computer,
Programmer对象当中有一个Computer的属性。
public class Programmer{Computer coder;
}
public class Computer{
}

Programmer里面的定义的电脑必须是它的名字——coder
因为你前面定义过了

自关联

定义个人类Person类,《人类》

然后属性加一个名字name

然后选择undirectional association(不定向联系)
关联
自己

描述角色和定义数量



然后代码note

双向

定义人类类Human
属性定义好:名字和性别

先搞一个指向自己的单箭头
角色添加指向wife

但是你通过妻子也能找到你才对
所以应该是双向的
在Human上定义角色husband

如果要使用双向的话,把选项上的Navigable取消掉



补充上代码 定义类和属性

UML图之聚合关系

聚合关系描述的是整体和部分的关系,聚合关系是比较特殊的关联关系

比如:一个教室当中有多个学生,教室和学生之间的关系就是整体和部分的关系;

在聚合关系中,整体的生命周期不会决定部分的生命周期,例如:教室没了,学生还在,或者说学生走了,教室还在

例子:

定义一个ClassRoom类图和Student类图

然后关联undirectional association(不定向联系)

双击箭头改成聚合

先取消Navigable

在ClassRoom大的界面上勾选aggregate(集合的意思)


定义数量1对多
1个教师多个学生
定义1——0…n

这里还定义了角色students

最后把代码贴上:

UML图之组合关系

组合关系可以看做是一种特殊的聚合关系,整体的生命周期决定部分的生命周期,部分是依附在整体上面的,部分离开了整体是无法“存活的”。

例如:人和四肢的关系。

部分依赖整体,整体决定部分

例子:

先定义人Person类图和肢体类

然后关联undirectional association(不定向联系)
定义数量关系
1个人可能有四个到0个肢体,残疾人。。。。。
1对 0…4

先取消Navigable
整体是人,所以人那里的aggregate选中


然后再选中by value


表示组合关系

定义个角色


写代码:

UML图之依赖关系

依赖关系是所有关系中最弱的一种,这种关系通常体现在类和局部变量之间的关系。

例子:

定义一个类test和市场活动clue
这是泛化

定义的Clue是在方法里面的

如果挪出来

这是关联关系 has a

但是如果是在方法里面的,所以是依赖的,比较弱

用例图 use case diagram

什么是用例图 ?

站在系统用户(系统角色的角度分析系统存在哪些功能?

实现用例图的时候,需要先进行系统角色的抽取。

Rational Rose 工具当中一般会在 Use Case View 当中实现用例图。

怎么实现用例图?

定义角色

先新建一个包:package 命名:系统角色

再new——actor

用例图

新建个package 用例图

再新建一个package 部门管理

下面new——use case Diagram
画布

打开


把上面定义的管理员的角色拖过来

拖入用例 左边——useCase


定义这几个用例:

点击左边 关联undirectional association(不定向联系)

联系起来


这就是用例图

!UML图之时序图

最重要的!!!!! 写代码用

什么是时序图

时序图当中描述了方法的调用过程,程序的执行流程,以及方法执行结束的返回值情况。

怎么实现时序图呢?

时序图通常会在 Rational RoseLogical View 中实现。

用例图当中的一个用例会对应时序图当中的一个时序图

时序图描述的是一个功能具体是怎么实现的,流程是什么?

建包这样

新建一个画布 命名查看部门列表


建立存放系统类的包


要实现的是查看部门列表的时序图
那就是系统管理员实现
拖入

按照咱们设置的顺序

先是控制器,点击它的画布
定义类

然后拖进去

调用控制器的

使用左边——object mssage

调用的是里面的service方法


点击它右键new出来

这样控制器里面就有了


定义参数,返回void


会发送请求 代码

service点击调用自己





在调用

new出来dolist


属性一样的

控制器调用service

转到业务层service:

定义接口

拖进去


关联起来,定义方法getall

方法new出来


设置属性

Dept是部门,所以要转到领域模型创建

部门类Dept

回到主界面

会调用dao

在dao中定义接口


拖进去
然后

new 出来

dao里面

转到主界面
object用例
定义DB

关联

返回数据


在控制器这里自调用

转换格式



总结:

小人:动作的发起人
矩形/小圆圈:对象
实线箭头:调用
虚线箭头:返回
柱状:对象的生命周期,柱状不能断,在同一个流程当中不能断。
回折线:当前类的方法执行过程中调用自己当前类中的其它方法。

举个例子:

public class A{}
public class B{
public void m1(){}
}

这时候调用B中的m1

public class A{}
public class B{
public void m1(){
C c = new C();
c.m2();
}
}

public class A{}
public class B{
public void m1(){
C c = new C();
c.m2();
}
public void m4(){
......
}}


然后自己调用了

public class A{}
public class B{
public void m1(){
C c = new C();
c.m2();
m4();
}
public void m4(){
}
}

然后到c

public class A{
public void XXXX(){
B b = new B(); b.m1();
}
}
public class B{
public void m1(){
C c = new C(); c.m2();
m4();
}
public void m4(){
......
}
}
public class C{
public void m2(){
m3();
}
public void m3(){
....
}
}

UML与Rational Rose相关推荐

  1. Uml 与 Rational Rose( 类图 )

    Uml 与 Rational Rose( 类图 ) 分类: UML  2005-12-04 16:09 类之间的关系可以分为四种: 关联关系( Association ) 依赖关系( Dependan ...

  2. Uml 理解Rational Rose软件中四种视图和Uml 9类图之间的关系

    对于一个稍有规模的软件来说,列出系统内类之间的关系,对象之间的时序协作,有利于系统的梳理和扩展,使系统逻辑更有条理.下面这片文章对于四种视图的使用有提纲挈领而又不失详细的说明,可以一看. http:/ ...

  3. UML建模工具Visio、Rational Rose、PowerDesign,Visual Paradigm for UML

    UML建模工具Visio .Rational Rose.PowerDesign,Visual Paradigm for UML     ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对U ...

  4. UML总结(对九种图的认识和如何使用Rational Rose 画图)

    UML是一种建模语言,是系统建模的标准.我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题: 开发人员如何与用户进行沟通来了解系统的需求? 开发人员之间如何沟通 ...

  5. 三大UML建模工具Visio、Rational Rose、PowerDesign的区别

    三大UML建模工具Visio.Rational Rose.PowerDesign的区别 本文源自http://developer.51cto.com/art/201006/207993.htm UML ...

  6. Rational Rose画UML状态图

    我们都知道一个状态图标有如下细节:状态名和活动. 最常用的3个活动是入口活动(entry).出口活动(exit).动作(do).还可以增加其他 的动作或事件. ps. 这几句来自李虎译的<UML ...

  7. UML之教学管理系统——3、Rational Rose画顺序图

    一.实验内容 绘制顺序图,以"删除课程"(Delete Course)为例. 二.实验工具 Rational Rose 三.实验步骤 第一步,创建协作. Logic View中创建 ...

  8. UML之教学管理系统——5、Rational Rose画状态机图(一)

    一.实验内容 画针对学生的课程Course的状态机图. 二.实验工具 Rational Rose 三.实验步骤 1.选择对象. 针对学生的课程Course的状态机图. 2.列出对象的状态. 课程的状态 ...

  9. Rational Rose 下载安装

    转载自:http://www.uplei.cn/post/180.html Rose介绍:Rose是Rational公司的产品,有一系列.本文指的是Rose建模工具,它支持UML用来画用例图,序列图, ...

  10. rational rose 逆向工程

    这一节主要介绍用户如何使用Rose的逆向工程生成UML模型,并用来进行C++代码的结构分析. Rational Rose可以支持标准C++和Visual C++的模型到代码的转换以及逆向工程.下面将详 ...

最新文章

  1. portal商品展示功能逻辑
  2. 自动驾驶科普:一辆无人车到底是怎样工作的?
  3. c++ builder 中的 XMLDocument 类详解(2) - 记要
  4. 如何在 Linux 中快速地通过 HTTP 提供文件访问服务
  5. python的request请求401_Python模拟HTTPS请求返回HTTP 401 unauthorized错误
  6. 计算机的发展英语600词,程序员必备的600个英语词汇
  7. IDEA几款不错的基于Darcula的深色主题
  8. 计算机不支持此接口,Windows10提示不支持此接口的解决方法
  9. 计算机程序员 面试题库,计算机软考程序员面试题精选题2
  10. C# Revit二次开发
  11. Java面试相关问题以及解析
  12. TTW WYSIWYG Editors
  13. 游戏编程模式 - 观察者模式
  14. HDU-2017 多校训练赛9-1005-FFF at Valentine
  15. 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。建议向此网站的管理员反馈这个问题。
  16. P2713(罗马游戏 可并堆模板)
  17. SylixOS vutex
  18. Mac搭建stf教程-2023
  19. 2013-2014-2学期,综合实训概况
  20. 关于SICK公司的LMS511返回数据的数据结构说明

热门文章

  1. MATLAB中取整函数一览表
  2. Sodinokibi勒索病毒利用Flash漏洞强势来袭
  3. LaTeX及TeXstudio下载地址
  4. Arcface详解(通透、清晰)
  5. 嵌入式系统笔记之声音
  6. 信息学奥赛一本通 欧拉回路
  7. linux搜狗输入法16.04,Unbuntu16.04安装搜狗拼音输入法的图文教程
  8. 教你如何用java开发Alexa语音设备。全程详细介绍。
  9. 思岚科技RPlidar A3激光雷达ROS源码详解
  10. 使用DSP28335控制三相三电平PWM整流器-软启动