第八章 UML(上)

UML的产生和发展

  • UML Unified Modeling Language,统一建模语言,一种标准的图形化建模语言
  • 主要用于软件的分析和设计,用定义完善的符号来图形化地展现一个软件系统
  • Grady Booch、Jim Rumbaugh和Ivar Jacohson 三位专家共同开发
  • 基于面对对象技术的标准建模语言

UML的系统结构

设计原则
  • 模块化
       把强内聚低耦合原则应用到分组构建包和组织特征为元类metaclass
  • 分层化
       一是包结构分层将元语言核心构件与用到他们的高层构件区分开
       二是使用一个四层元模型构架模式来分离跨越层之间抽象的关注点
  • 可扩展
       一是为特定平台和特定领域定义一组新的方言
       二是重用基础架构库的包来定义新的语言
  • 可重用
       通过重用一组细化和弹性化的元模型库来定义UML元模型,同时还定义了其他架构相关的元模型
模型元素

在这里插入图片描述

视图
用例视图
实现视图
拓扑视图
UML九种图
用例图
设计图
类图
对象图
进程视图
序列图
协作图
状态图
活动图
构件图
部署图
现代软件开发过程RUP

用例驱动,以结构体系为中心,迭代增量的软件开发过程包括四个阶段:初始、精化、构建、交付。

UML的图

用例图
  • 用例: 文本形式的情节描述,描述的是外部行为者所理解的系统功能。
  • 用例建模 用于描述一个系统的功能需求,用用例图来描述
  • 用例图 把系统看做黑盒子,给出了用户所感受到的系统行为,但不描述系统如何实现该功能,驱动之后的开发工作
用例建模

在UML中,用例图的主要元素是系统、用例、行为者以及用例之间的关系

  • 系统边界、用例
  • 执行者(参与者)
  • 模型元素间关系:关联、扩展、包含、泛化等
用例图要素-系统
  • 系统被看做是一个提供用例的黑盒子
  • 代表系统的方框的变现表示系统的边界,用于划定系统的功能范围、定义了系统所具有的功能
  • 描述该系统功能的用例置于方框内,代表外部实体的行为都置于方框外
用例图要素-用例
  • 特征
       用例代表某些用户可见的功能,实现一个具体的用户目标
       用例总是被行为者启动的,并向行为者提供可知别值
       用例必须是完整的
  • 用例是一个类,代表一类功能而不是使用该功能的某个具体实例
  • 用例的实例是系统的一种实际使用方法,通常把用例的实例称为脚本
用例图要素-行为者
  • 行为者是指与系统交互的人或其他系统,代表外部实体
  • 行为者代表一种角色,而不是某个具体的人或物
  • 一个具体的人可以充当多种不同的角色
  • 通信联系:在用例图中,连接行为者和用例的直线,表示两者之间交互信息
  • 单个行为者可与多个用例联系,一个用例也可与多个行为者联系
  • 行为者对确定用例非常有用,可以先列出行为者清单,在针对每个行为者列出他的用例
用例图要素-用例之间的关系
  • 扩展关系
       向一个用例添加一些动作后构成另一个用例,其关系就是扩展关系
       后者继承前者的一些行为,后者称为扩展用例,用例之间的扩展关系图示为带构造型<< extend >>的关系
  • 包含关系
       当一个用例包含另一个用例的全部步骤时,两个用例之间就构成了包含关系,用带构造型<< include >>的关系表示
  • 泛化关系
       一般用况和更特殊的用况之间的关系,特色用况可继承一般用况的特征,用表示
    用况实例,使用系统的一个特定情节或用况的一条执行路径
    用况就是一系列可能的场景集合
类图

用户根据例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图
关系强弱:泛化=实现>组合>聚合>关联>依赖
在这里插入图片描述
在这里插入图片描述

泛化

一种继承关系,指定了子类如何继承父类的所有特征和行为。
例如:老虎是动物的一种,既有老虎的特性也有动物的特性

实现

一种类与接口的关系,表示类是接口所有特征和行为的实现。

聚合

整体与部分的关系,且部分可以离开整体而单独存在。
关联和聚合在语法上无法区分,必须考察具体的逻辑关系
代码体现:成员变量
例如:车和轮胎,轮胎离开车仍然存在。

组合

整体与部分的关系,但部分不能离开整体而单独存在。
组合是关联的一种,比聚合关系还要强。
代码体现:成员变量
带实心菱形的实线,菱形指向整体。
例如:公司和部门的关系,没有公司就没有部门。

关联

一种拥有关系,使一个类知道另一个类的属性和方法。
例如:老师与学生,丈夫与妻子,关联可以是单向的也可以是双向的。

依赖

一种使用关系,一个类的实现需要另一个类的协助
代码体现:局部变量、方法的参数或者对静态方法的调用
带箭头的虚线,指向被使用者

包是将类分组成更高层次的单位。 用于描述包中存在的类以及包与包之间的依赖关系和泛化关系。
包与包之间允许建立依赖、泛化、细化等关系

对象图
  • 类图的实例,二者的差别在于对象图的对象名字下面要加一条下划线
  • 对象图只有名称和属性,名称开头字母小写
状态图
  • 一种由状态、变迁、事件和活动组成的状态机,用来描述类的对象所有可能的状态以及时间发生时状态的转移条件
  • 状态变量:状态机图所显示的类的属性,也可是临时变量
  • 活动:列出了处于该状态时所要执行的事件和动作
    在这里插入图片描述
    entry事件,exit事件,do事件
    语法:事件名(参数列表)[警戒条件]/动作表达式
顺序图

交互图的一种

  • 描述对象之间消息发送的先后顺序,强调时间顺序
  • 主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达
  • 纵轴表示时间,向下的垂直虚线是对对象的生命线
  • 横轴表示不同的对象,用一个矩形框表示,可带下划线表示一个类的特定实例
  • 对象间的通信用对生命线之间的水平消息线表示,箭头以时间顺序从上到下排列
    在这里插入图片描述
    在这里插入图片描述
活动图
  • 本质是一种流程图,描述了活动到活动的控制流。
  • 交互图强调对象到对象的控制流,而活动图强调活动到活动的控制流。
  • 表述过程基理、业务过程以及工作流的技术。
    在这里插入图片描述
  • 泳道表明每个活动由那些人负责完成。
    在这里插入图片描述
  • 带对象流的活动图,对象流用带有箭头的虚线表示。
    在这里插入图片描述
  • 带选项的活动图。
    在这里插入图片描述
  • 带循环的活动图
    在这里插入图片描述
协作图
  • 描述了收发消息的对象的组织关系,强调对象之间的合作关系,时序图按照时间顺序布图,而协作图按照空间结构布图。
  • 在对象间的连接上标注带有消息标签的消息,来表示对象间的消息传递,规则:前缀[守卫条件] 序列表达式[返回值:=]消息名
    在这里插入图片描述
构件图

UML的模型和视图

Rose软件及应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值