第一部分 基本概念
一.UML定义:UML(Unified Modeling Language)统一建模语言,是一种面向对象的建模语言,它的主要作用是帮助用户对软件系统进行面向对象的描述和建模(建模是通过将用户的业务需求映射为代码,保证代码满足这些需求,并能方便地回溯需求的过程),它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。
二.软件工程生命周期:
需求捕获 → 系统分析与设计 → 系统实现 → 测试 → 维护
需求分析步骤:
获取需求---- >>分析需求---- >>描述需求---- >>验证需求
三
UML的统一:
根据应用需求→对不同建模语言对比→取其精华去其糟粕→求同存异→统一建模语言UML
四.UML的内容结构 :
UML中的五种视图:
视图名称 | 视图内容 | 静态表现 | 动态表现 | 观察角度 | |
1 | 用户模型视图 (用例视图) | 系统行为,动力 | 用例图 | 交互图、状态图、活动图 | 用户、 分析员、 测试员 |
2 | 结构模型视图 (设计视图) | 问题及解决方案 | 类图、 对象图 | 交互图、状态图、活动图 | 类、 接口、 协作 |
3 | 行为模型视图 (进程视图) | 性能、可伸缩性,吞吐量 | 类图、 对象图 | 交互图、状态图、活动图 | 线程、 进程 |
4 | 实现模型视图 (实现视图) | 构件、文件 | 构件图 | 交互图、状态图、活动图 | 配置、 发布 |
5 | 环境模型视图 (实施视图) | 部件的发布、 交付、安装 | 配置图 (实施图) | 交互图、状态图、活动图 | 拓扑结构 的节点 |
五.UML中的关系:
关系 | 功能 | 表示法 |
关联 | 类实例之间连接的描述 | |
依赖 | 两个模型元素间的关系,对一个元素(提供者)的改变可能影响或提供信息给其他元素 | --------------------------→ |
泛化 | 更概括的描述和更具体的种类间的关系,适用于继承 | |
实现 | 说明和实现间的关系 | |
依赖:依赖是指一个类使用了另一个类,它是一种使用关系,描述了一个事物的规格说明的变化可能会影响到使用它的另一个事物(反之不一定)。最常见的依赖关系是一个类的内部使用到了另一个类的定义。
关联:关联关系是一种结构化的关系,指一种对象和另一种对象有联系。给定关联的两个类可以从其中的一个类的对象访问到另一个类的相关对象。
泛化:是一个较广泛的元素和一个较特殊元素之间的类元关系。较特殊的元素完整地包含了较广泛元素,并含有更多的信息。
实现:实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来
第二部分 UML的几种基本图
一.类图: (Class Diagram)
类图是描述类、接口、协作以及它们之间的关系的图。用来显示系统中各个类的静态结构。
类包括:类名,属性,方法
类图包括:类,接口,协作(关系)
类图的建模过程:确定对象与类---- >>确定类的属性---- >>确定类的关系
二.对象图:(Object Diagram)
对象图表示在某一时刻一组对象以及他们之间的关系的图。
三.包图:(Package)
由包和包之间的关系构成,它是维护和控制系统总体结构的重要建模工具。
包:是一种分组机制,表示一个类图集合。
四.用例图:(Use Case Diagram)
用例图表述了一组用例、参与者以及他们之间的关系
用例模型包括:用例图和用例规约
用例规约包括:基本流和备选流
用例图包含:用例(Use Case) 参与者(Actor) 参与者之间的关系(泛化、包含、扩展)
参与者:系统外部的一个实体(可以是任何事物或人),它以某种方式参与了用例的执行过程
用例:是对一个系统或一个应用的一种单一的使用方式所做的描述,是关于单个活动者在与系统对话中所执行的处理行为的陈述序列。
用例模型中的关系:
1.包含:表示基础用例会用到被包含的用例
2.扩展:基础用例中定义了一个到多个扩展用例
3.泛化:多个用例共同拥有一种类似的结构和行为时,我们可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。
4.关联
对象模型是什么泛化关系
包含关系
扩展关系
三种关系的区别:
✓ 泛化侧重表示子用例间的互斥性;
✓ 包含侧重表示被包含用例对Actor提供服务的间接性;
✓ 扩展侧重表示扩展用例的触发不定性
用例图的建模步骤:
1.寻参与者2.确定用例 3.分析关系4.细化用例规约 5.精化细化用例模型
五.时序图:(Sequence Diagram)
时序图包括:对象(Object)生命线 (Lifeline) 激活(Activation)消息(Message)
对象:对象代表时序图中的对象在交互中所扮演的角
生命线:一条垂直的虚线,代表时序图中的对象在一段时期内的存在
激活:生命线拓宽成为矩形,代表时序图中的对象执行一项操作的时期
消息:定义交互和协作中交换信息的类,信息用于在实体间传递信息
时序图的建模步骤:
1 设置交互的语境。
2 通过识别对象在交互中扮演的角,设置交互的场景。
3 为每个对象设置生命线。
4 从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显示每个消息的特性(如参数)。
5 如果需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个对象的生命期。
6 如果需要说明时间或空间的约束,可以用时间标记修饰每个消息,并附上合适的时间和空间约束。
7 如果需要更形式化的说明某控制流,可以为每个消息附上前置和后置条件。
六.协作图:(Collaboration Diagram)
协作图包括:对象(Object)链(Link)消息(Message)
协作图的建模步骤:
1 设置交互的语境。
2 通过识别对象在交互中扮演的角,设置交互的场景。
3 对每个对象设置初始特性。
4 描述对象之间可能有信息沿着它传递的链。
5 从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。
6 如果需要说明时间或空间约束,可以用时间标记修饰这个消息,并附上合适的时间和空间约束。
7 如果需要更形式化地说明这个控制流,可以为每个消息附上前置和后置条件。
时序图与协作图的比较:
1. 相同点:规定责任,支持消息,衡量工具
2. 不同点:时序图描述了交互过程中的时间顺序,但没有明确地表达对象之间的关系。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论