UML学习笔记

转载 2006年06月01日 22:24:00

2006.06.01    

UML学习笔记

1.建模
  
  1.1 为什么要建模
  
  建立大厦和建立狗窝的区别是建设狗窝不需要设计。要生产合格的软件就要有一套关于体系结构、过程和工具的规范。
  
  建模的定义:建模是对现实的简化。
  
  建模的目标:
  1)模型帮助我们按照实际情况或按照我们所需要的样式对系统进行可视化。
  2)模型允许我们详细说明系统的结构和行为。
  3)模型给出一个知道我们构造系统的模板。
  4)模型对我们的决策进行文档化。
  
  建模就是把复杂的系统变成小的系统,采用“各个击破”的原则逐一解决。
  
  1.2 建模原理
  
  1)选择创建什么模型很重要,模型要反映你难于处理的开发问题。
  2)模型要在不同的精度级别上来表示。你可以根据观察的角色和观察的原因来选择精度。
  3)建造模型要和现实相连。
  4)重要的系统需要用一组独立的模型去处理。在面向对象的软件体系中,为了理解系统的体系结构,你需要几个互补和连锁的视图:用例图、设计视图、进程视图、实现视图和实施视图。
  
  1.3 面向对象的建模
  
  面向算法的建模在需求发生变化或者系统增长后就变得难以维护。
  
  面向对象的建模把对象和类作为其主要构造块。例如,在三层结构中,我们可以在用户接口层、中间层和数据库层中找到你想要的对象。
  
  
  2 UML介绍
  
  
  2.1 概述
  UML可以对软件密集型系统的制品进行可视化、详述、构造和文档化。最好把它用于以用况(用例)为驱动、以体系结构为中心、跌代及增量的过程中。
  
  UML是一种语言,它是一种可视化的语言,它是一组图形符号。它可用于详细描述。它又是一种构造语言,可以直接生成代码。用Rational XDE就可以实现从UML到C#,或者从C#到UML的双向工程。
  
  2.2 UML的概念模型
  学习建模的三个要素:UML的基本构造块、这些构造块放在一起的规则、一些运用于整个UML的公共机制。
  
  UML中由一些四种事物
  1)结构事物 --- 类、接口、协作(它是一个交互,它是由一组共同工作以提供某协作行为的角色和其它元素构成的一个群体。)、用例、主动类(至少拥有一个进程或者线程,其元素的行为可以和其它元素的行为并发)、构件(如COM+和Java Bean)、节点。
  2)行为事物 --- 交互、状态机(描述了一个对象或者一个交互在生命期内响应事件所经历的状态序列)。
  3)分组事物 --- 包
  4)注释事物 --- 注解
  
  UML中的四种关系
  1)依赖 --- 两个事物间的语义关系
  2)关联 --- 是一种结构关系,如聚合
  3)泛化 --- 一般/特殊关系
  4)实现 --- 用在两种地方:接口和实现他们之间的类和构件之间;用例和实现他们的协作之间。
  
  UML中的图
  1)类图 --- 系统的静态状态图,包含主动类的类图给除系统的静态进程视图。
  2)对象图
  3)用例图
  4)顺序图
  5)协作图
  6)状态图
  7)活动图 --- 强调对象间的控制流程
  8)构件图
  9)实施图
  
  2.3 体系结构
  
  我们用5个互联的视图来描述软件密集型系统的体系结构:
  
  1)系统的用例图
  2)系统的设计视图 --- 静态方面由类图和对象图描述,动态方面由交互图、状态图和活动图描述。
  3)系统的进程视图 --- 包含了形成系统并发和同步机制的线程和进程。
  4)系统的实现视图 --- 主要针对系统发布的配置管理。
  5)系统的实施视图
  
  2.4 软件开发生命周期
  
  用况驱动
  以体系结构为中心
  跌代过程 --- 涉及到一连串可执行发布的管理。
  
  软件开发生命周期的四个阶段:
  初始
  细化
  构造
  移交
 
3 Hello World
  
  4 类
  
  4.3.1 对系统的词汇建模
  
  需要做如下工作:
  1)识别用户用于描述问题或解决问题的事物。
  2)对于每个抽象,识别一个职责集。
  3)提供为实现每个类的职责所需的属性和操作。
  
  4.3.2 对系统中职责的分布建模
  
  抽象出来的类要适中,不要过大过小。
  
  需要如下工作:
  1) 识别一组为了完成某些行为而紧密协同工作的类。
  2) 对上面的每一个类识别出一组职责。
  3) 从整体上观察这些类,过大的分解,过小的合并。
  4) 考虑相映的协作方式,重新分配职责。
  
  5 关系
  
  面向对象建模中三种最重要的关系:
  
  依赖 --- 使用关系
  泛化 --- 一般/特殊关系
  关联 --- 结构关系
  
  当你开始建模是,特别是解决这些对象的动态协作时,你还会遇到两种其它的关系:链(可能发送消息的对象间的实例)和转换(状态机中不同状态的连接)
  
  
  对简单依赖建模 ---(如一个类作为另一个类的参数) 依赖从操作的类指向当作参数的类。
  对单继承建模
  对结构关系建模
  
  6 公共机制
  
  四个公共机制可以使UML简化:详述、修饰、公共划分和扩展
  
  构造型、标记值和约束使UML提供的用以增加新的构造块、创建新的特性以及描述新的语义的机制。
  
  
  
  7 图
  
  有5种最重要的互补视图:用例视图、设计视图、进程视图、实现视图和实施视图
  
  每一种视图包含结构建模(静态)和行为建模(动态)
  
  建图的两种方法:正向工程和逆向工程
  
  
  一些术语:
  系统:由子系统组成; 子系统:由元素组成; 模型:对现实的简化; 视图:对系统模型的组织和结构的投影,注重于系统的一个方面。
  
  结构图:类图、对象图、构件图、实施图。
  行为图: 用况图、顺序图、协作图、状态图、活动图。
  
  顺序图和协作图统称交互图。顺序图强调消息的时间次序,协作图强调收发消息的对象的结构组织。
  
  活动图强调对象之间的控制流。
  
  
  如何选择视图来建模?
  1)视图能够表达系统的体系结构,能够暴露项目的技术风险。
  2)决定用哪些制品来捕获视图的基本细节。
  3)作为你的过程策略的一部分,决定把那种视图至于某种形式或者半形式的控制之下。
  4)保留废弃的视图。
  
  两种系统建模的方法:
  1)针对同一模型,用不同层次上的细节描述图。
  2)在不同的抽象层次上,从一个模型跟踪到另一个模型的方法建模。
  
  8 类图
  
  类图包括如下内容:
  
  类
  接口
  协作
  依赖、泛化和关联关系。
  
  对系统的静态设计视图建模时使用类图的3种方式:
  1)对系统的词汇建模
  2)对简单协作建模 --- 协作提供的一些合作行为强于其所有元素行为之和。
  3)对逻辑数据库模式建模
  
  
  9 高级类
  
  在UML中更一般的构造块是类元,类元包括:类、接口、数据类型、信号、构件、节点、用况和子系统。他是描述结构特性和行为特性的机制。
原文blog来源:http://spaces.msn.com/treadstonestephen/

介绍一下UML的主要功能及其特点

UML?
  • jbjwpzyl3611421
  • jbjwpzyl3611421
  • 2014年06月13日 09:56
  • 5193

Java集合类学习UML图——ArrayList

Java集合类学习UML图——ArrayList ArrayList类的定义 public class ArrayList extends AbstractList implement...
  • embedclub_LYF
  • embedclub_LYF
  • 2016年06月02日 20:27
  • 1030

几款常用UML建模工具解析

本节向大家介绍几款常用UML建模工具,UML是个好东西,但是过分的依赖于UML也不是一件好事,因为有时候它会把简单的东西复杂化。请看下面详细介绍。 常用UML建模工具 UML不算是个新名词,但是实...
  • zxxSsdsd
  • zxxSsdsd
  • 2014年01月14日 15:18
  • 39673

UML的四种关系

UML中共有四种关系,分别为关联、依赖、泛化、实现,思维导图:
  • fightfaith
  • fightfaith
  • 2015年08月26日 17:43
  • 2741

如何画好UML图?

一般正规些的公司,都会让程序员在编码之前study一下某模块的功能,之后整理成文档,也就是软件工程中的需求分析和设计。此时UML图的好坏,直接可以看出你对该模块或系统的理解程度,因此,作为一名合格的程...
  • jptiancai
  • jptiancai
  • 2014年02月08日 10:21
  • 6405

uml的学习--书籍

http://maosea0125.blog.163.com/blog/static/212531242007422104241694/   uml真正有用的书5本足以,学习流程如下: 《UML...
  • imxiangzi
  • imxiangzi
  • 2016年03月11日 23:42
  • 1546

UML中的六大关系

类之间的关系种类:Realization(实现), Generalization(泛化),Dependency(依赖)、Association(关联)、Aggregation(聚合)、Composit...
  • u011399678
  • u011399678
  • 2016年09月19日 10:25
  • 624

UML各种线的含义

内容目录: 从一个示例开始类之间的关系时序图附录:《图说设计模式》 看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个...
  • jianfpeng241241
  • jianfpeng241241
  • 2015年11月03日 15:57
  • 4008

UML基础知识入门

本文来源很多,已不知来自何处,但是比较经典 1.1 UML基础知识扫盲 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一...
  • basycia
  • basycia
  • 2016年07月05日 19:48
  • 1076

UML简单介绍(三)——UML中的语法概述

1、UML的构成 UML的主要构成部分,是以下三种: 事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象 关系(Relationships):关系把事物紧密联系在一起 图(D...
  • ljtyzhr
  • ljtyzhr
  • 2015年05月18日 15:26
  • 1290
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UML学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)