【设计模式】UML、RUP、元素、关系、视图

UML是一种统一建模语言,让不同角色的项目成员能共享理解;RUP是统一过程,包含四个阶段和九个工作流程。UML的核心元素包括主角、业务主角、业务工人、用户、角色、用例等,其中用例是系统模型与实现间的桥梁。文章还提到了业务用例与系统用例的区别以及各种关系和核心视图的定义。
摘要由CSDN通过智能技术生成

1、UML

UML全称是Unified Modeling Language,直译是“统一建模语言”
统一:就像秦始皇统一语音和度量衡,为了让人人都能看懂。对于软件项目就是,无论是项目经理、QA、CM、程序员(又分C、C++、java、python等各种程序员)都能看懂的一种语言。还可以理解为,可以让人和机器都能读懂的一种语言。

2、RUP

RUP全称是Rational Unified Process,译为“统一过程”。
统一过程是一种采用面向对象思想、使用UML设计语言、并且结合项目管理、质量管理等等的软件方法。因此RUP包含了UML。

RUP包含了四个阶段和九个核心工作流程。

四个阶段:启动(初始)阶段、精化(细化)阶段、构建阶段、产品化阶段;
九个核心:业务建模、需求、分析设计、实施、测试、部署、配置和变更管理、项目管理、软件开发环境

3、UML核心元素

3.1 主角

主角,也叫参与者,注意并不是所有的“参与”了业务流程的都是参与者,只有处于系统边界之外的才是,为了防止混淆,最好称为主角,系统边界之内的人,可以视为“配角”。

3.2 业务主角

业务主角是一种特殊的主角,确定了业务范围(业务模型),就可以称为业务主角。

3.3 业务工人

系统边界之内的人,可以理解为配角,称为业务工人,他不主动向系统发起动作,是为主角服务。

3.4 用户

用户是主角之一,并不是所有的主角都是用户,但是一个用户可以代理多个主角。他是直接使用系统的主角,并不是所有的主角都会直接使用系统。

3.5 角色

角色是一个抽象的概念,它是从主角的职责中抽象出来相同的一部分,并命名为角色。一个角色代表系统中的一类职责。
角色、主角、用户的关系:

一个用户可以代理多个主角,因此一个用户可以拥有多个职责,也就是说可以被抽象成多个角色。

3.6 用例

用例:Use Case
用例必须有主角发起,做了一个有意义的、完整的事,一般用一个动宾短语描述。
比如:“人喝水”是一个完成的用例,“人喝”“喝水”都不是一个完成的用例。

用例的粒度:不同阶段,选择不同的粒度,随着项目的进展,粒度不断细化;
用例和功能的区别:描述功能时不需要主角参与,因此可以这个功能可能会和主角的愿景有差异,就是这个功能可能不是客户想要的。

3.7 业务用例

业务用例专用于业务建模,业务建模的一个关键点是,描述时可以没有计算机参与,比如不使用计算机,用笔算、打算盘也能输出结果。对应的是业务主角和业务边界,与系统建模(详细设计)的边界有区别。

3.8 系统用例

系统用例即我们平时所说的用例,可以直接称为用例。用例是连接系统模型和软件实现之间的桥梁。

3.9 边界

什么是边界?其实就是需求的集合,在需求没有整理出来之前,假定有这么一个边界。

3.10 业务实体

业务实体也是一种类的别称,具有类的所有性质,包括属性和方法。

3.11 包

包是一种容器,可以容纳其他元素,主要用途是为了分类元素

3.12 分析类

分析类用于从需求分析到系统实现的“第一步”;
分析类有三种:边界类、控制类、实体类;

边界类:用于系统内外的交互(例如接口,可以认为就是接口类);
控制类:用于分析用例的操作、行为、限制动词之类的;从架构角度来说,控制类位于业务逻辑层;
实体类:描述实体对象,从架构角度来说,实体类位于数据持久层;

分析类高于设计实现(不考虑设计方法)、高于语言实现(不考虑使用哪种编程语言)、高于实现方式(不考虑实现方式)

3.13 设计类

设计类是系统实施(代码实现)中一个或多个对象的抽象,直接使用于编程语言相同的语言来描述。

3.14 组件

组件是系统中一部分物理实施,表示软件的一组功能,有一套标准接口,可以被替代。

3.15 节点

一个服务器、工作站或客户机都可以称为一个节点。

4、关系

关联:用一条直线表示,静态关系,强关联关系;
依赖:用一条带箭头的虚线表示,临时性关系,弱关系,在一定场景下才成立,最终代码提现是类的构造或方法的传入参数;
扩展:用一条带箭头的虚线+<< extends>>表示,在基本用例上扩展,可选非必须;
包含:用一条带箭头的虚线+<< include>>表示,是基本用例必须的,没有它,基本用例将不完整;
实现:用一条带空心箭头的虚线表示,基本用例描述一个业务目标,该目标有多种实现的可能;
精化:用一条带箭头的虚线+<< refine>>表示,基本用例细化、精化而来的用例;
泛化:用一条带空心箭头的实线表示,继承关系;
聚合:用一条带空心菱形箭头的直线表示,表示整体和部分的关系,并且不是强依赖的,即整体不存在了,部分依然存在;
组合:用一条带实心菱形箭头的直线表示,表示整体和部分的关系,并且是强依赖的,即整体不存在了,部分也将不存在;

5、UML核心视图

元素是UML的基本词汇,视图是UML的基本语法,UML通过视图将基本元素组织在一起,形成有意义的句子。
核心视图包括:用例图、类图、包图、活动图、状态图、时序图、协作图

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭老二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值