UML基础案例与应用第二章UML概述

UML基础案例与应用第二章UML概述

UML的发展

20世纪90年代三种最流行的方法

  • Booch:引入面向对象软件工程的概念;强设计,弱分析
  • OMT:采用面向对象的概念,并引入各种独立于语言的表示符,同时使用对象模型、动态模型、功能模型和用例模型供图完全对整个系统的建模;强分析,弱设计
  • OOSE:面向用例;强行为分析,弱其他

UML的定义

UML定义

UML是用来对软件系统进行可视化建模的语言。UML是为面向对象开发系统的产品进行说明、可视化、和编制文档的一种语言

UML语义

UML语义给出了基于UML的精确的元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的表示方法所造成的影响。UML还支持对元模型的扩充定义。

UML表示法

UML表示法定义了UML符号的表示方法,为开发者和开发工具使用这些图像符号和文本语法给系统建模提供了标准。这些图形符号和文字所表示的是应用级的模型,在语义上它是UML元模型的实例

UML的图

  • 结构图

    • 类图:类图是使用UML建模时最常用的图。它展示了系统中的静态事物、它们的结构以及它们之间的相互关系。这种图的典型用法是描述系统的逻辑设计和物理设计。

    • 对象图:对象图展示系统中的一组对象。它是系统在某一时刻的快照。对象图是类图在某一时刻的快照。

    • 构建图:构件图展示一组构件的组织和彼此间的依赖关系。构建图说明系统如何实现,软件系统内构件如何协同工作。

    • 部署图:部署图展示物理系统运行时的架构。部署图描述系统中的硬件和硬件上驻留的软件。

    • 包图:包图描绘包之间的依赖关系(包是一个用于组织其他模型元素的通用模型元素)。

  • 行为图

    • 用例图:用例描述了系统的工作方式,以及系统能提供的服务.用例图描述了系统外部参与者如何使用系统提供的服务。

    • 活动图:活动图显示系统内的活动流。通常需要使用活动图描述不同的业务过程。

    • 状态机图:状态图显示一个对象的状态和状态之间的转换。状态图中包括状态、转换、事件和活动。状态图是一个动态视图,对事件驱动的行为建模尤其重要。在UML2.0中,状态图被称作状态机图(state machine diagram)。

    • 协作图:协作图是动态图的另一种表现形式,强调参加交互的各对象结构的信息。协作图是一种类图,包含类元角色和关联角色,而不仅仅是类元和关联。协作图强调的是发送和接收消息的对象之间的组织结构。

    • 时序图:时序图是一种交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

    • 交互概述图:交互概观图是一种高层视图,用于从总体上显示交互序列之间的控制流。

什么是模型

模型是一个系统的完整的抽象。人们对某个领域特定问题的求解及解决方案,对它们的理解和认识都蕴涵在模型中。

什么建模

  • 业务建模:组织要解决什么问题

  • 需求:为了解决组织的问题,待开发系统应提供什么功能和性能

  • 分析:为了提供功能,系统内部应该有什么样的核心机制

  • 设计:为了满足性能,系统的核心机制如何用选定平台实现--

开发软件活动包括两个方面工作:

  • 对业务和业务规则的理解和表示;(对业务建模)
  • 规划和设计软件系统。(对要构造的软件建模)

建模的目的和原则

建模的目的

通过对业务和软件系统建模,以实现下面4个目标:

(1)对业务和软件进行可视化,便于对业务和软件系统的理解和交流。

(2)详细说明系统的组成、结构和系统交互的行为。便于开发人员对系统的宏观理解。

(3)用模型的方式为系统提供一个模板,开发人员依据该模板构造软件系统。

(4)将计划和决策文档化。

建模的原则

(1)仅当需要时,才为业务或软件系统构建模型。

(2)明确要建模的类型,问题的起因,以及解决方案是如何一步步形成的。

(3)任何一个模型可能有多种不同的表达程度,程度越深则越详细。但并不见得程度越深则越容易让人理解,没调整好的话,反而更容易让人迷惑。

(4)没有任何一个模型是可以完全完备的,每一个很好的系统都是由一系列独立的子模块联接起来的。

用UML可以建立的模型种类

  • 按产生模型的阶段性分类

    • 业务模型:
    • 需求模型:
    • 设计模型:
    • 实现模型:
    • 数据库模型:
  • 按模型的用途分类

    • 功能模型:从用户的角度展示系统的功能。
    • 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础。
    • 动态模型:展现系统的内部行为。
目录: 第一部分 基础知识 第1章 UML简介 3 1.1 在纷繁复杂中寻求解决问题的办法 3 1.2 UML的诞生 4 1.3 UML的组成 5 1.3.1 类图 5 1.3.2 对象图 6 1.3.3 用例图 7 1.3.4 状态图 7 1.3.5 顺序图 8 1.3.6 活动图 9 1.3.7 协作图 10 1.3.8 构件图 11 1.3.9 部署图 11 1.4 其他特征 12 1.4.1 注释 12 1.4.2 关键字和构造型 12 1.5 UML 2.0中的新图 13 1.5.1 组成结构图 13 1.5.2 交互纵览图 14 1.5.3 计时图 15 1.5.4 有创新也有保留的包图 15 1.6 为什么需要这么多种图 16 1.7 这不仅仅是一系列图 16 1.8 小结 17 1.9 常见问题解答 17 1.10 小测验和习题 18 1.10.1 小测验 18 1.10.2 习题 18 第2章 理解面向对象 20 2.1 无处不在的对象 20 2.2 一些面向对象的概念 22 2.2.1 抽象 22 2.2.2 继承 23 2.2.3 多态性 24 2.2.4 封装 24 2.2.5 消息传递 25 2.2.6 关联 26 2.2.7 聚集 27 2.3 意义 28 2.4 小结 29 2.5 常见问题解答 29 2.6 小测验和习题 30 第3章 运用面向对象 31 3.1 类的可视化表示 31 3.2 属性 32 3.3 操作 33 3.4 属性、操作和可视化表达 34 3.5 职责和约束 35 3.6 附加注释 36 3.7 类——应该做什么和如何识别它们 37 3.8 小结 39 3.9 常见问题解答 39 3.10 小测验和习题 39 3.10.1 小测验 39 3.10.2 习题 40 第4章 关系 41 4.1 关联 41 4.1.1 关联上的约束 42 4.1.2 关联类 43 4.1.3 链 43 4.2 多重性 43 4.3 限定关联 45 4.4 自身关联 45 4.5 继承和泛化 46 4.5.1 找出继承关系 47 4.5.2 抽象类 48 4.6 依赖 48 4.7 类图和对象图 49 4.8 小结 50 4.9 常见问题解答 51 4.10 小测验和习题 51 4.10.1 小测验 51 4.10.2 习题 51 第5章 聚集、组成、接口和实现 53 5.1 聚集 53 5.2 组成 54 5.3 组成结构图 54 5.4 接口和实现 55 5.5 接口和端口 58 5.5.1 可见性 58 5.5.2 作用域 59 5.6 小结 59 5.7 常见问题解答 60 5.8 小测验和习题 60 5.8.1 小测验 60 5.8.2 习题 60 第6章 介绍用例 61 6.1 什么是用例 61 6.2 用例的重要性 62 6.3 举例:饮料销售机 62 6.3.1 用例“买饮料” 62 6.3.2 其他用例 63 6.4 包含用例 64 6.5 扩展用例 65 6.6 开始用例分析 66 6.7 小结 66 6.8 常见问题解答 66 6.9 小测验和习题 67 6.9.1 小测验 67 6.9.2 习题 67 第7章 用例图 68 7.1 用例模型的表示法 68 7.1.1 回顾饮料销售机 69 7.1.2 跟踪场景中的步骤 69 7.2 用例之间关系的可视化表示 70 7.2.1 包含 70 7.2.2 扩展 71 7.2.3 泛化 72 7.2.4 分组 73 7.3 用例图在分析过程中的作用 73 7.4 运用用例模型:举例 73 7.4.1 理解领域 73 7.4.2 理解用户 74 7.4.3 理解用例 75 7.4.4 进一步深入 76 7.5 “清查存货” 77 7.5.1 结构元素 77 7.5.2 关系 77 7.5.3 分组 78 7.5.4 注释 78 7.5.5 扩展 78 7.5.6 其他 78 7.6 UML“大图” 78 7.7 小结 79 7.8 常见问题解答 79 7.9 小测验和习题 79 7.9.1 小测验 80 7.9.2 习题 80 第8章 状态图 81 8.1 什么是状态图 81 8.1.1 基本符号集 82 8.1.2 在状态图标中增加细节 82 8.1.3 增加转移的细节:事件和动作 83 8.1.4 增加转移的细节:保护条件 84 8.2 子状态 84 8.2.1 顺序子状态 84 8.2.2 并发子状态 85 8.3 历史状态 86 8.4 UML 2.0中的新变化 86 8.5 为什么状态图很重要 87 8.6 UML“大图” 87 8.7 小结 88 8.8 常见问题解答 89 8.9 小测验和习题 89
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Gowi_fly

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

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

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

打赏作者

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

抵扣说明:

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

余额充值