【UML】——概述

面向对象技术

面向对象`

是一种程序设计方法
是一种对现象世界中问题的抽象方式
对面向对象建模技术的研究的主要成果就是统一建模语言UML

软件质量衡量指标

外部
1、正确性
2、健壮性和可靠性
3、性能
内部
1、模块性
2、灵活性和可扩展性
3、可复用性
4、可兼容性

建模与可视化建模

为什么要建模?

要生产合格的软件就要有一套关于体系结构、过程和工具的规范

模型:

对现实的简化。就是把复杂系统编程小的系统,采用“逐个击破”的原则逐一解决。

模型的组成:

系统:即描述的对象
目标:系统的目标
组分:构成系统的各种组分或子系统
约束条件:系统所处的环境及约束条件
变量:表述各组分的量的变化,它分内部变量、外部变量及状态变量。
关系:表述不同变量之间的数量关系

M={O,G,T,V,R,S}
O:表示模型的对象集
G:表示模型的目标集
T:表示模型系统所处的环境及约束条件集
V:表示模型的变量集,包括内部变量、外部变量及状态变量
S:表示模型的状态集,从初态到终态

建模的原理

分解:
抽象:提取相同部分
泛化:继承
投影/视图:
构件化:例如像大工厂
形式化:

软件过程

## 软件危机的主要特性

1、软件的开发周期大大超过规定周期
2、软件开发成本严重超标
3、软件质量难于保证。

软件开发面临的问题?

1、不能满足用户或商业的要求
2、不能很好的定位需求
3、模块难于集成
4、到最后才发现错误
5、对于终端用户来说质量较差
6、负载时性能差
7、没有协调团结的努力
8、不断地修改-发布问题

UML时一种建模语言,在实际软件项目中,要和具体的软件开发过程结合起来才能更好的发挥作用

在这里插入图片描述

UML构成

在这里插入图片描述

事物:构成模型图的一些基本图示符号,它们表示一些面向对象的基本概念
关系:表示基本图示符号之间的关系
图:特定的视角对系统所作的抽象描述

总结:事物是对模型中最具有代表性的成分的抽象,关系把事物结合在一起,图聚集了相关的事物。

事物

在这里插入图片描述

结构事物(静态部分)

类(Class)对一组具有相同属性、方法、关系和语义的对象的描述,一个类实现了一个或多个接口。在这里插入图片描述
接口(Interface)描述了一个类或构件的一个服务的操作集,接口仅仅是定义了一组操作的规范,它并没有给出这组操作的具体实现在这里插入图片描述
协作(collaboration)定义了一个交互,由一组共同工作以提供某协作的角色和其他元素构成的群体,这些协作行为大于所有的元素的各自行为的总和。因此,协作由结构、行为和维度。一个给定的类可以参与几个协作。在这里插入图片描述
用例(Use Case)对一组动作序列的描述,系统执行这些动作将产生一对特定的参与者有价值且可观察的结果。在这里插入图片描述
主动类(active class)其对象至少拥有一个进程或线程,因此它能启动控制活动在这里插入图片描述
构件(component)系统中物理的、可替代的部件,它遵循且提供一组接口的实现。在这里插入图片描述
节点(nodes)在运行时存在的物理元素,它表示了一种可计算的资源,它通常至少有一些记忆处理能力,一个构建集可以驻留一个节点内,也可以从一个节点迁移到另一个节点。在这里插入图片描述

行为事物(动态部分)

交互(interaction)由在特定语境中共同完成一定特定任务的一组对象之间交换的消息组成,一个对象群体的行为或单个操作的行为可用一个交互来描述。在这里插入图片描述
状态机(state machine)描述了一个对象或以恶搞交互在生命期内相应事件所经历的状态序列,单个类或一组类之间的协作的行为可以用状态机来描述,一个状态机涉及到一些其他的元素,包括状态、转换(从一个状态到另一个状态的流)、事件(发转换的事物)和活动(对一个转换的相应)。在这里插入图片描述

分组事物(组织部分)

包(package):把元素组织成组的机制。
唯一的组织机制。
拥有其他元素,这些元素可以是类、接口、构件、节点、协作、用例和图,甚至可以是其他包。
一个包形成了一个命名空间,在一个包中同一种元素的名称必须是唯一的,不同种类的元素可以由相同的名称。
在这里插入图片描述

注释事物(解释部分)

用来描述、说明和标注模型的任何元素。
1、注解(note)是一个依附于一个元素或一组元素之上,对它进行约束和解释的简单符号。

在这里插入图片描述

UML中的关系

在这里插入图片描述

关联描述了两个或多个类之间的结构性关系。在这里插入图片描述
泛化一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构行为。在这里插入图片描述
依赖在这里插入图片描述
实现类元之间的语义关系,在该关系中一个类元描述了另一个类员保证实现的契约。在这里插入图片描述

UML中的图

在这里插入图片描述

用例图:(use case diagrams)
用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。
静态图
1、类图(Class diagrams)用于定义系统中的类,包括描述类的内部结构和类之间的关系,类图主要用于描述系统的静态结构。
2、对象图(Object diagrams)是类图的一个实例,描述了系统在具体时间点上所包含的对象以及各个对象之间的关系。
行为图:用来描述系统的动态模型和对象之间的交互关系
1、状态图(Statechart diagrams):用来描述类的对象所有可能的状态以及事件发生时状态的转移条件。
2、活动图(Activity dragrams):用来描述满足用例要求所要进行的活动以及活动间的约束关系,使用活动图有利于识别系统的并行活动。
3、交互图:用来描述对象之间的交互关系,包括:
(1)、序列图(Sequence diagrams):描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序,强调对象之间消息的发送顺序,同时也显示对象之间的交互过程。
(2)、协作图(Collaboration diagrams):描述对象之间的合作关系,更侧重于说明哪些对象之间有消息的传递。
序列图和写作图可以相互交互。
4、实现图
(1)、构件图(Component diagrams):构件图用来描述代码构件的物理结构以及各构件之间的依赖关系。一个构件可以使一个资源文件、一个二进制文件或者一个可执行文件。
(2)、实施图(Deployment diagrams):部署图定义了系统中硬件的物理体系结构,用来描述实际的物理设备以及它们之间的连接关系。

UML中的规则

命名为事物、关系和图起名
范围给一个名称以特定含义的语境
可见性怎样让其他人使用或看见名称
完整性事物如何正确、一致地相互联系
执行运行或模拟动态模型的含义是什么

UML中的公共机制

规格说明:

UML不只是一种图形语言。实际上,在它的图形表示法的每部分背后都有一个规格说明,这个规格说明提供了对构造块的语法和语义的文字描述。
UML的图形表示法用来对系统进行可视化;UML的规格说明用来描述系统的细节。
UML的规格说明提供了一个语义底版,它包含了一个系统的各个模型的所有部分,并且各个部分相互联系,并保持一致,UML图只不过是对底版本的简单视觉投影,每一个图展现了系统的一个特定的方面。

修饰:

UML表示法中的每一个元素都有一个基本的符号,可以把各种修饰细节加到这个符号上
在这里插入图片描述

通用划分:

1、类/对象二分法
类是一个抽象;对象是这种抽象的一个具体形式。
UML的每一个构造块几乎都存在像类/对象这样的二分法。
2、接口/实现二分法
接口生命了一个契约,而实现则表示了对该契约的具体实施,它负责如实地实现接口的完整语义。
几乎每一个UML的构造块都有像接口/实现这样的二分法。

扩展机制:

对UML图示符号的扩展。
在这里插入图片描述

UML在应用

在这里插入图片描述

感谢您的阅读,如果有更好的指导,欢迎您的指导!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值