《UML用户指南》笔记(二)

原创 2006年06月13日 17:47:00

ξ 2.1 UML概述

 

UML可以完成的工作:

可视化、详述、构造和文档化。

 

ξ 2.2 UML的概念模型

 

构造块

 事物

  结构事物(structural thing)

⒈类(class):拾对一组具有相同属性、操作、关系和语义的对象的描述。

⒉接口(interface):描述一个类或者构件的一个服务的操作集合。

⒊协作(collaboration):定义了一个交互,他是由一组共同工作以提供某协作行为的角色和其他元素构成的一个群体。

⒋用例(use case):是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者有价值而且可观察的结果。

⒌主动类(active class):主动类的对象至少拥有一个进程或线程,因此他能够启动控制活动。

⒍构件(component):是系统中物理的、可替代的部件,他遵循且提供一组接口的实现。

⒎节点(node):是在运行时存在的物理元素,他表示了一种可计算的资源,他通常至少有一些记忆能力和处理能力。

  行为事物(behavioral thing)

⒈交互(interaction):是这样一种行为,它由在特定语境中共同完成一定任务的一组对象之间交换的消息组成。

⒉状态机(state machine):它描述了一个对象或者一个交互在生命周期内相应事件所经历的状态序列。

  分组事物(grouping thing)

⒈包(package):是把元素组织成组的机制,这种机制具有多种用途。

  注释事物(annotational thing)

⒈注释(note):是一个依附于一个元素或者一组元素之上,对它进行约束或者解释的简单符号。

 

关系

  关联(dependency):一种结构关系,它描述了一组链,链是对象之间的连接。聚合()是一种特殊类型的关联,它描述了整体和部分之间的结构关系。

  依赖(association):是两个事物之间的语义关系,其中一个独立事物发生变化会影响另外一个依赖事物的语义。

  泛化(generalization):是一种特殊/一般关系,特殊元素(即子元素)的对象可以替代一般元素(即父元素)的对象。

  实现(realization):是类之间的语义定义,其中一个类指定了由另外一个类保证执行的契约。在两种地方要用到实现:接口和实现他们的类或者构件之间;用例和实现他们的协作之间。

 

  类图(class diagram)

展现了一组对象、接口、协作和他们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统的静态设计视图。包含主动类的类图给出系统的静态进程视图。

Together名称:Class Diagram

Together对象:PackageClassInterfaceEnumClass By TemplateAssociation ClassGeneralization/Implementation LinkAssociation LinkLink By TemplateDependency LinkAssociation EndObjectNoteNote Link

 

  对象图(object diagram)

展现了一组对象以及他们之间的关系。对象图描述了在类图中所建立的事物的实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但他们是从真实的或原型案例的角度建立的。

Together名称:无。

Together对象:无。

 

  用例图(use case diagram)

展现了一组用例、参与者(一种特殊的类)以及他们之间的关系。用例图给出系统的静态用例视图。这些图对于系统的行为进行组织和建模是非常重要的。

Together名称:Use Case Diagram

Together对象:ActorUse CaseGeneralization LinkCommunicates LinkExtend LinkInclude LinkSystem BoundaryNoteNote Link

 

顺序图(sequence diagram)

是一种强调消息的时间顺序的交互图。

Together名称:Sequence Diagram

Together对象:ActorObjectMessageMessage with Delivery TimeSelf-MessageReturnNoteNote Link

 

  协作图(collaboration diagram)

强调收发消息的对象的结构组织的交互图。顺序图和协作图是同构的,这意味着他们是可以互相转换的。

Together名称:Collaboration Diagram

Together对象:ObjectActorMessageAssociation LinkAggregation LinkNoteNote Link

 

  状态图(statechart diagram)

展现了一个状态机,他由状态、转换、事件和活动组成。状态图专注于系统的动态视图。他对于接口、类或者协作的行为建模尤为重要,而且他强调对象行为的事件顺序,这非常有助于对反应式系统建模。

Together名称:State Diagram

Together对象:StateStart StateEnd StateHistoryObjectHorizontal Fork/JoinVertical Fork/JoinTransitionNoteNote Link

 

  活动图(activity diagram)

是一种特殊的状态图,他展现了在系统内从一个活动到另一个活动的流程。活动图专注于系统的动态视图。他对于系统的功能建模特别重要,并强调对象间的控制流程。

Together名称:Activity Diagram

Together对象:ActivityDecision/MergeSignal ReceiptSignal SendingStateHistory ObjectStart StateEnd StateHorizontal Fork/JoinVertical Fork/JoinSwimlaneTransitionObject FlowNoteNote Link

 

  构件图(component diagram)

展现了一组构件之间的组织和依赖。专注于静态视图,与类图相关,通常把构件图映射成一个或多个类、接口或者协作。

Together名称:Component Diagram

Together对象:SubsystemComponentInterfaceSupports LinkDependency LinkNoteNote Link

 

  实施图(deployment diagram)

展现了对运行时处理节点以及其中的构件的配置。他给出了系统的静态实施视图。与构件图相关,通常一个节点包含一个或多个构件。

Together名称:Deployment Diagram

Together对象:NodeComponentInterfaceSupports LinkAssociation LinkAggregation LinkObjectDependency LinkNoteNote Link

 

UML规则

 ① 命名        为事物、关系和图命名

② 范围        给一个名称以特定含义的语境

③ 可见性      怎样让其他人使用或者看见名称

④ 完整性      事物如何正确、一致地相互联系

⑤ 执行        运行或模拟动态模型的含义是什么

⑥ 省略        隐藏某些元素以简化视图

⑦ 不完全性    可以遗漏某些的元素

⑧ 不一致性    不保证模型的完整性

 

UML中的公共机制

  ① 规格说明

 ② 修饰

 ③ 通用划分

  ⑴ 对类和对象的划分。也就是抽象和实例的划分,比如类和对象、用例和用例实例;

⑵ 接口和实现的划分。例如用例和实现他们的协作、操作和实现他们的方法等。

 ④ 扩展机制,主要包括:

  ⑴ 构造型(stereotype)

⑵ 标记值(tagged value)

⑶ 约束(constraint)

 

ξ 2.3 体系结构

 

体系结构是一组有关下述内容的重要决策:

  ① 软件系统的组织;

 ② 对组成系统的结构元素及其接口的选择;

 ③ 如元素间的协作中说描述的那样的行为;

  ④ 将这些结构和行为元素组合到逐步增大的子系统;

 ⑤ 知道这种组织的体系结构风格:静态和动态元素及其他们的接口、协作和组成;

 ⑥ 用法、功能、性能、弹性、复用、可理解性、经济技术约束及其折衷、审美。

 

描述软件体系结构最佳实践,最好由以下五个视图组成:

  ① 系统的用例视图(use case view)

② 系统的设计视图(design view)

③ 系统的进程视图(process view)

④ 系统的实现视图(implementation view)

⑤ 系统的实施视图(deployment view)

 

ξ 2.4 软件开发生命周期

 

RUP简述

 ① 用例驱动(use case driven)

 ② 以体系结构为中心(architecture-centric)

 ③ 迭代过程(iterative process)

 

《UML用户指南》笔记

统一建模语言(UML)是一种用于对软件密集型系统进行可视化、详述、构造和文档化的图形语言。UML给出了一种描绘系统蓝图的标准方法,其中既包括概念性的事务(如业务过程和系统功能),也包括具体的事物(如用...
  • SevenGirl2017
  • SevenGirl2017
  • 2017年12月01日 18:06
  • 29

UML图详解(二)——用例图

用例图是从用户角度描述系统功能,并指各功能的操作者。
  • fanxiaobin577328725
  • fanxiaobin577328725
  • 2016年06月11日 15:13
  • 1703

hadoop权威指南阅读笔记(一)

第一章 一、对hadoop的诞生的原因: 问题: 硬盘的存储容量在迅速的增加,传输的速度并未有相同幅度的增加, 从驱动器上读取数据需要花费很长的时间 所以为了提高传输速度提出了一种解决方案是...
  • u013793732
  • u013793732
  • 2016年04月03日 12:32
  • 296

Hive编程指南学习笔记(1)

hive一次使用命令: $ hive -e "select * from mytable limit 1;" OK name1 1 name2 2 Time taken: 3.935 seconds ...
  • iAm333
  • iAm333
  • 2014年11月07日 19:15
  • 1792

UML边看边记 之 类(一)

MD,使用万恶的为知笔记,写好的东西都没有了!!又要重写!!最近在看Thrift源码,看到了TNonblockingServer,类与类之间的关系有点乱,打算使用UML类图来画一画,于是找了些资料,...
  • fan2012huan
  • fan2012huan
  • 2016年05月26日 21:57
  • 382

软件架构经典书籍

软件架构师书籍 收藏 突然一天,发现自己的软件结构有点复杂,淡定后觉得要对架构方面多一些了解。下面转载了一篇别人认为的好书,当然都没读过。觉得比较赞的是,文章最后还有读法心得,个人体会比...
  • jinshi20120101
  • jinshi20120101
  • 2015年02月12日 22:25
  • 528

java学习记录笔记--多态,接口,UML简介

多态对象的多种形态1.引用多态父类的引用可以指向本类的对象 父类的引用可以指向子类的对象2.方法多态创建本类对象时,调用的方法为本类方法; 创建子类对象时,调用的方法为子类重写的方法或者继承的方法...
  • Ice_Alone
  • Ice_Alone
  • 2015年08月19日 21:35
  • 766

UML软件期末复习

UML软件期末复习
  • qq_36411874
  • qq_36411874
  • 2017年05月25日 19:33
  • 302

Matplotlib 中文用户指南 1 简介

简介 原文:Introduction 译者:飞龙 协议:CC BY-NC-SA 4.0 Matplotlib 是一个用于在 Python 中绘制数组的 2D 图形库。虽然它起源...
  • wizardforcel
  • wizardforcel
  • 2017年01月30日 11:38
  • 553

hbase权威指南学习笔记

一、简介 1.列式存储数据库 以列为单位聚合数据,然后将列值顺序的存入磁盘,而传统数据库时为行式数据库,连续地存储整行 列式数据库:对于特定的查询,不需要所有的值,在分析型数据库最常见 1)关...
  • lvhuiyin
  • lvhuiyin
  • 2017年08月05日 10:46
  • 646
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《UML用户指南》笔记(二)
举报原因:
原因补充:

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