统一建模语言
一:UML
统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。
统一建模语言能为软件开发的所有阶段提供模型化和可视化支持。而且融入了软件工程领域的新思想、新方法和新技术,使软件设计人员沟通更简明,进一步缩短了设计时间,减少开发成本。它的应用领域很宽,不仅适合于一般系统的开发,而且适合于并行与分布式系统的建模。
UML 从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图。
二:工具安装
建模工具Rational Rose安装配置参考博客:
https://blog.csdn.net/hdkvsyralkvv_hk/article/details/105330982
三: 常见的UML图
- 类图:类图(ClassDiagram)是用来显示系统中的类、接口、协作以及它们之间的静态结构和关系的一种静态模型。
- 用例图:用例图(User Case Diagram):站在系统用户(系统角色)的角度吻戏系统存在哪些功能.
- 时序图:(Sequence Diagram):描述程序的执行过程,方法的调用过程,方法的返回值等信息。
四:画图实操
-
(1)画一个类图:
-
1:打开软件--》选择javaee--》ctrl+s 选择保存类图案列的位置--》取名为crm
-
2:在rational Rose工具的Logical View目录下实现
一般来说会创建一些目录用来组织这些类图。
-
-
重命名为类图
-
创建画布:
修改画布名为市场活动
-
添加属性
-
(2)类和类之间的关系包括6种情况
-
泛化关系(is a:Cat is an Animal -->继承) 类和类的继承,接口和接口的继承
- 实现关系(like a:Cook likes a FoodMenu-->厨师像一个菜单)
- 关联关系(has a : I have a Computer)
一个类中,关联的属性(角色)要对应它的作用,比如电脑在程序员中就是coder工具,从玩游戏的人中看,电脑就是游戏机。
双向关联图如下:
- 聚合关系:描述的是整体和部分的关系,聚合关系是比较特殊的关联关系,比如一个教室当中有多个学生,教室和学生之间的关系就是整体和部分的关系,在聚合关系中,整体的生命周期不会觉得部分的生命周期:例如:教室没了,学生还在。
- 组合关系:是一种特殊的聚合关系,整体的生命周期决定了部分的生命周期,部分是依附在整体上面的,部分离开了整体是无法"存活的". 例如人和四肢
实心棱形:表示组合关系
- 依赖关系:是所有关系中最弱的一种,这种关系通常体现在类和局部变量之间的关系。
五:用例图(user case diagram)
站在系统用户(系统角色)的角度分许系统存在哪些功能?
实现用例图的时候,需要进行系统角色的抽取。
在rational Rose工具中在User Case View当中实现用例图。
- 步骤:User Case View --> new Actor
六:时序图 sequence diagram
-
什么是时序图?
时序图当中描述了方法的调用过程,程序的执行流程,以及方法执行结束的返回值情况。
-
怎么实现时序图?
-
实现步骤:在Rational Rose 的Logical View 中实现,用例图中一个案例--会对应--一个时序图当中的时序图
-
时序图描述的是一个功能具体是怎么实现的,流程是什么?
- 1:包要对应用例图的包路径
- 2:编写对应的dao,controller,service等等
- 3 打开时序图,打开查看部门列表,把用例图的----系统管理员-拖进画布
- 4:创建部门控制器---再把它拖进 时序图 中的 部门列表图 的画布中。
- 5 点击调用的箭头,右键--new operation-->service(),再到controller的类图中定义方法的参数
- 6:调用doList方法
调用service,service层应该有一个接口:
- 创建接口
- 把service的接口拖到 时序图的画布中
-
去service层修改方法的参数
-
Dept的实体类,需要在domain中定义
-
调用service实际是取调用dao
-
在dao中定义接口
最后:完整时序图
注解:
人:动作的发起人
矩形/小圆圈:对象
实线箭头:调用
虚线箭头:返回
柱状:对象的生命周期,同一个流程中柱状不能断。
回折线:当前对象中的方法执行过程中调用自己。