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

来源:互联网 发布:行知职高贴吧 编辑:程序博客网 时间:2024/05/17 22:54

ξ 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)

 

原创粉丝点击