UML:面向对象的建模技术

        1991年继Booch将面向Ada的工作扩展到整个面向对象设计领域;Runmbaugh提出了面向对象的建模技术方法,采用面向对象的概念,并引入各种独立于语言的标识符。

一、UML的概述

        UML是一种定义良好、易于表达、功能强大、普遍适用的建模语言。 作为大众所接受的标准建模语言,UML融入了软件工程领域的新思想、新方法、新技术。

        UML的作用域,不仅支持面向对象的分析与设计,而且支持从需求分析开始的软件开发的全过程。

二、UML的特点和用途

UML对系统的逻辑模型和实现模型都能清晰表示,可用于复杂软件系统建模

        统一标准:UML统一了Booch、OMT、OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示。

        面向对象:UML还吸取了面向对象技术领域中其它流派的长处,其中。也包括非面向对象方法的影响。UML符号表示,考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的、极少使用的符号,添加了一些新符号。

        新版增加:在UML标准中,新加了模板(Stereotypes)、职责(Responsibilities)、扩展机制(Extensibility mechanisms)、线程(Threads)、过程(Processes)、分布式(Distribution)、并发(Concurrency)、模式(Patterns)、合作(Collaborations)、活动图(Activity diagram)等新概念,并清晰地区分类型(Type)、类(Class)和实例(Instance)、细化(Refinement)、接口(Interfaces)和组件(Components)等概念。

        立于过程:UML作为建模语言,不依赖特定的程序设计,独立于开发过程。

三、UML结构的划分     (View视图)

  1. 用户视图:以用户的观点表示系统的目标,它是所有视图的核心,该视图描述系统的需求 ;
  2. 结构视图:表示系统的静态行为,描述系统的静态元素,如包、类与对象,以及它们之间的关系;
  3. 行为视图:表示系统的动态行为,描述系统的组成元素如对象在系统运行时的交互关系 ;
  4. 实现视图:表示系统中逻辑元素的分布,描述系统中的文件以及它们之间的关系;
  5. 环境视图:表示系统中物理元素的分布,描述系统中的硬件设备以及它们之间的关系;

四、UML的14种图术语和解释

五、UML常用的建模元素

 

 

 

六、结构建模——UML中的结构建模包括类、接口、数据类型、组件

(1)结构建模的类型:

         1、类图:

                类(Class)是来描述具有相同特征、约束、语义的一类对象,这些对象具有共同的属性和操作。在大多数UML模型中,这些类型包括类,接口、数据类型、组件。 类图中的一个类。可以简单地只给出类名,也可以具体列出该类拥有的成员变量和方法,甚至更详细地描述可见性、方法参数、变量类型、缺省值、操作返回值的类型等信息。;类图是UML中最基本也是最重要的一种视图,用来刻画软件中类等元素的静态结构和关系。

属性与方法的写法:按照Java语言的命名规范,属性名中的第一个单词全小写,之后每个单词首字母大写(驼峰命名法)

                 2、抽象类:

                 3、接口:

(2)建模之间的关系:

                1.关联关系:描述了类的结构之间的关系;具有方向、名字、角色和多重性等信息。当关联是双向的,可用无向连线表示。一般的关联关系语义较弱,也有两种语义较强,分别是聚合与组合。        定义出他类的成员变量作为类的引用;

 类与类之间的关联介绍:  单向关联、双向关联、自关联;多重关联可以定义出一个集合对象。

表示方式

多重性说明

1..1

表示另一个类的一个对象只与该类的一个对象有关系

0..*

表示另一个类的一个对象与该类的零个或多个对象有关系

1..*

表示另一个类的一个对象与该类的一个或多个对象有关系

0..1

表示另一个类的一个对象没有或只与该类的一个对象有关系

m..n

表示另一个类的一个对象与该类最少m,最多n个对象有关系 (m≤n)

                1.1 聚合关联 聚合(Aggregation)关系表示整体与部分的关系 在聚合关系中,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在 在UML中,聚合关系用带空心菱形的直线表示。        两个类的实例之间存在拥有或属于关系。

                 1.2 组合关联 组合(Composition)关系也表示类之间整体和部分的关系,但是在组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在 成员对象与整体对象之间具有同生共死的关系 在UML中,组合关系用带实心菱形的直线表示;类对象作为属性或方法参数。

                 2.依赖关系:依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系; 大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数 在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。   某个类的方法使用了另一个类的对象。

       在系统实现阶段,依赖关系通常通过三种方式来实现: 将一个类的对象作为另一个类中方法的参数; 在一个类的方法中将另一个类的对象作为其局部变量; 在一个类的方法中调用另一个类的静态方法。               

                 3、泛化关系:也就是继承关系,用于描述父类与子类之间的关系,父类又称为基类或超类,子类又称为派生类 在UML中,泛化关系用带空心三角形的直线来表示 在代码实现时,使用面向对象的继承机制来实现泛化关系,在Java语言中使用extends关键字、在C++/C#中使用冒号“:”来实现。

                4、接口与实现关系:接口之间也可以有与类之间关系类似的继承关系和依赖关系; 接口和类之间存在一种实现(Realization)关系,在这种关系中,类实现了接口,类中的操作实现了接口中声明的操作; 在UML中,类与接口之间的实现关系用带空心三角形的虚线来表示。 

                

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值