UML(一)-【概论】

前言

主要是对九个方面进行了概述:
1.面向对象技术
2.模型与可视化建模
3.什么是UML
4.UML发展历史
5.软件过程
6.UML工具
7.UML的构成
8.UML示例
9.UML在软件开发各个阶段的应用

面向对象技术

之前看软工的视频就学习过,这里再复习一遍。
面向对象技术出现于20世纪70年代末,是软件工程领域中的重要技术。
面向对象技术是一种程序设计方法。
面向对象技术是一种对现实世界中问题的抽象方式。
对面向对象建模技术的研究的主要成果就是统一建模语言UML。
软件质量衡量指标
分为两部分:外部、内部。
(1)外部:正确性、健壮性和可靠性、性能。
(2)内部:模块性、灵活性和可扩展性、可复用性、可兼容性。
面向对象技术提高了软件质量。

模型与可视化建模

1.什么是模型?
模型是对现实的简化。就是把复杂系统变成小的系统,采用”逐个击破“的原则逐一解决。
2.为什么要可视化建模?
一幅图顶的上千言万语。
3.模型的组成
模型是用来描述现实系统的,一般由下列几个部分组成:
系统:即描述的对象。
目标:系统的目标。
组分:构成系统的各种组分或子系统。
约束条件:系统所处的环境及约束条件。
变量:表述各组分的量的变化,它分内部变量、外部变量及状态变量。
关系:表述不同变量之间的数量关系。
4.模型的表示
模型可以用一个6元组表示:M{O,G,T,V,R,S},其中:
O:表示模型的对象集;
G:表示模型的目标集;
T:表示模型系统所处的环境及约束条件集;
V:表示模型的变量集,包括内部变量、外部变量及状态变量;
R:表示模型变量之间的关系集;
S:表示模型的状态集,从初态到终态。
5.建模的原理
(1)分解
(2)抽象
(3)泛化
(4)投影/视图
(5)构件化
(6)形式化

什么是UML

1.UML是一种可视化的面向对象建模语言。
2.UML描述了一个系统的静态结构和动态行为。
3.UML用图形方式表现典型的面向对象系统的整个结构。
4.UML从不同的角度为系统建模,并形成系统的不同视图。这些图包括:类图(它以继承结构、关联、组成和聚集为特色)、时序图、协作图和状态图等。
5.UML统一建模语言是用来设计软件蓝图的可视化建模语言。
它支持面向对象系统的分析、设计、实现和交付等各个环节,可以用于系统的理解、设计、浏览、维护和信息控制。
在著名的Booch方法、OMT方法、OOSE方法基础上,广泛民主的发展组成。
6.于1997年11月被OMG组织正式采纳。
7.UML不是一个程序设计语言。
8.UML不是一个形式化语言。

软件过程

1.软件危机的主要特征
(1).软件开发周期大大超过规定日期
(2).软件开发成本严重超标
(3).软件质量难于保证
2.软件开发面临的问题?
(1)不能满足用户或商业的要求
(2).不能很好的定位需求
(3).模块难于集成
(4).到最后才发现错误
(5).对于终端用户来说质量较差
(6).负载时性能差
(7).没有协调团队的努力
(8).不断地修改-发布问题
3.统一软件过程RUP
RUP是Rational公司开发和维护的过程产品,是目前影响较大的、面向对象的软件开发过程。
(1.)RUP的三个特点:用例驱动以架构为中心采用迭代和增量。
(2).统一软件过程框架
RUP认为:一个软件产品开发过程应该包括多次循环。
每个循环包含四个阶段:
初始
细化
构造
移交
每个阶段又包括多个迭代过程。

UML工具

1.主流UML工具
-Rational Rose
-Together
-Microsoft Visio
2.什么是Rational Rose?
Rational Rose是一种工具,它可以在Rose建模中提供建立、视图、修改和操作组件的能力

UML的构成

UML的基本构造块
一.UML中的事物
构成模型图的一些基本图示符号,它们表示一些面向对象的基本概念。
可以分为四大类:结构事物、行为事物、分组事物、注释事物。
1.结构事物:
(1)类:类是对一组具有相同属性、方法和语义的对象的描述。一个类实现一个或多个接口。
(2)接口:接口描述了一个类或构件的一个服务的操作集。接口仅仅是定义了一组操作的规范,它并没有给出这组操作的具体实现。
(3)协作:协作定义了一个交互,它是由一组共同工作以提供某协作的角色和其它元素构成的群体,这些协作行为大于所有元素的各自行为的总和。因此,协作有结构、行为和维度。一个给定的类可以参与几个协作。
(4)用例(use case ):用例是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者有价值且可观察的结果。
(5)主动类:是这样的类,其对象至少拥有一个进程或线图,因此它能启动控制活动。
(6)构件:构建是系统中物理的、可替代的部件,它遵循且提供一组接口的实现。
(7)节点(node):节点是在运行时存在的物理元素,它表示了一种可计算的资源,它通常至少有一些记忆能力处理能力。一个构建集可以驻留在一个节点内。也可以从一个节点迁移到另一个节点。

2.行为事物:
行为事物是UML模型的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为。共有两类主要的行为事物。
(1)交互:交互这样一种行为,他由在特定语境中共同完成一定特定任务的一组对象之间交换的消息组成。一个对象群体的行为或单个操作的行为可用一个交互来描述。
(2)状态机:状态机是这样一种行为,描述了一个对象或一个交互在生命期内响应事件所经历的状态序列。单个类或一组类之间协作的行为可以用状态机来描述。一个状态机到另一个状态的流事件或活动。

3.分组事物:
分组事物是UML模型的组织部分,最主要的分组是包(package).
(1)包是把元素组织成组的机制。
(2)包是UML中唯一的组织机制。
(3)包可以拥有其他元素,这些冤死可以是类、接口、构建、节点、协作、用例和图,甚至可以是其他包。
(4)一个包形成了一个命名空间。在一个包中同一种元素的名称必须是唯一的。不同种类的元素可以有相同的名称。
4.注释事物:
注释事物是UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素。有一种主要的注释事物,称为注解(note)
注解是一个依附于一个元素或一组元素之上,对它进行约束或解释的简单符号。
二.UML中的关系
一共有四种关系:关联、依赖、泛化、实现。
1.关联:描述了两个或多个类之间的结构性关系。
2.依赖:是一种使用的关系, 即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.
3.泛化:是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为。
4.实现:是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。

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

UML的规则
不能简单地把UML的构造块按随机的方式放在一起。像任何语言一样,UML有一套规则,这些规则描述了一个结构良好的模型看起来应该像什么。
UML有用于描述如下事物的语义规则:
命名为事物、关系和图起名范围给一个名称以特定含义的语境。
可见性怎样让其他人使用或看见名称。
完整性事物如何正确、一致地相互联系。
执行运行或模拟动态模型的含义是什么。

UML中的公共机制
一、规格说明
UML不只是一种图形语言。实际上,在它的图形表示法的每部分背后都有一个规格说明,这个规格说明提供了对构造块的语法和语义的文字叙述。
UML的图形表示法用来对系统进行可视化;UML的规格说明用来描述系统的细节。
UML的规格说明提供了一个语义底版,它包含了一个系统的各模型的所有部分,并且各部分相互联系,并保持一致。因此,UML图只不过是对底版的简单视觉投影,每一个图展现了系统的一个特定的方面。
二、修饰
UML表示法中的每一个元素都有一个基本符号,可以把各种修饰细节加到这个符号上。
三、通用划分
1.类/对象二分法
——类是一个抽象;对象是这种抽象的一个具体形式。
——UML的每一个构造块几乎都存在像类/对象这样的二分法。
例如:用例和用例实例(场景),构件和构件实例,节点和节点实例等。
2.接口/实现二分法
——接口声明了一个锲约,而实现则表示了对该契约的具体实施,它负责如实地实现接口的完整语义。
——几乎每一个UML的构造块都有像接口/实现这样的二分法。
例如:用例和实现它们的协作,操作和实现它们的方法。
四、扩展机制
对UML图示符号的扩展。

UML在软件开发各个阶段的应用

在软件开发各个阶段,使用不同的UML图对系统进行描述。
采用面向对象技术设计软件系统时,使用用例图来描述用户需求;使用类图、对象图、包图、构件图和部署图这五种静态图来描述系统的静态结构;使用顺序图、合作图、活动图和状态图这四种图描述系统行为。
1.需求:
——采用用例图来描述需求(角色、功能、外部交互)。
2.分析:明确解决问题的细节——采用类图来描述静态结构——采用顺序图、合作图、活动图、状态图来描述动态行为
3.设计:
给出解决方案
——采用类图、包,对类的接口进行设计
4.实现:
——将类用某面向对象语言实现
5.集成与交付:
——构件图、包、部署图
6.测试:
——单元测试使用类图和列的规格说明书。
——集成测试使用类图、包、构件图和合作图。
——系统测试使用用例图来测试系统功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值