UML学习笔记

合集下载

UML学习心得耿庆博

UML学习心得耿庆博

UML学习心得(一) UML(Unified Modeling Language,统一建模语言)是一组用于描述OOAD过程的图形化表达方式。

UML为交流面向对象的设计中的需求,行为、体系结构的实现提供了一套综合的表示法。

(二) UML由9个不同类型的图组成:用例图:显示了系统的外部可视行为。

用例图描述了系统外的人员和系统的交互动作,以及系统的响应,该类型的图可以用于描述系统的功能需求。

活动图:显示系统行为的峡谷纳西描述。

活动图描述了单个功能需求内部的细节行为,包括基本的场景和一些可选的场景。

组件图:显示了系统的体系结构。

组件图描述了系统的可部署单元(可执行文件,组件,数据存储和其他一些内容)以及一些借口,可部署单元通过这些接口进行交互,该图可以用于研究系统的体系结构。

顺序图:显示了对象随着时间的交互。

顺序图描述了某个功能需求的路径或场景内相对时间的详细行为,该图可用于理解系统元素之间的消息流程。

协作图:显示了对象的交互,强调对象之间的关系。

(在UML2.0里面找不到了)类图:显示了类的定义和关系。

类图描述了系统设计中的类和接口,以及他们之间的关系。

该图可用于定义内部的,面向对象的代码结构。

状态图:显示了响应时间的状态改变。

状态图描述了系统如何改变状态以相应内部的和外部的事件,确保每个事件都被适当的处理。

部署图:显示了系统的物理体系结构。

部署图描述了系统的可部署单元(应用,组件,数据存储等)如何被赋予不同的节点,这些节点如何交互通信,用于系统映射和负载的研究。

包图:显示了设计的层次结构。

包图描述了设计的相关元素如何按组结合在一起,以及他们之间的关系。

(三) 各种图的作用1.用例图(UseCaseDiagram)它是UML中最简单也是最复杂的一种图。

说它简单是因为它采用了面向对象的思想,又是基于用户视角的,绘制非常容易,简单的图形表示让人一看就懂。

说它复杂是因为用例图往往不容易控制,要么过于复杂,要么过于简单。

UML复习知识要点

UML复习知识要点

UML 复习知识要点1.什么是UML ?用UML 进行建模的目的是什么?UML 的主要特点是什么?2.UML 中包含哪9 种图?每种图的用途是什么?3.什么是用例?什么是参与者?用例之间、参与者之间以及用例与参与者之间有分别什么关系?其表示符号是什么?根据需求分析要求能画出系统的用例图。

4.什么是交互图?什么是顺序图和协作图?二者有何异同?顺序图和协作图中分别包含哪些建模元素?5.怎么设计顺序图和协作图?会根据需求分析设计顺序图和协作图。

6.什么是类和类图?类之间的关系有哪几种?关联的命名方式?会判断类之间的各种关系。

会画类图。

7.一般可以把类图分为哪三个抽象层次?各有什么用途?8.类关联中聚集( aggregation )和组合( composition )两者之间有何区别?9.类和对象的关系?关联和链的关系?10.数据库设计可分为哪几个阶段?在Rose 中数据库设计的步骤是什么?何谓对象模型转换为数据模型?何谓数据模型转换为对象模型?11.什么是正向工程和逆向工程?12.什么是活动图和状态图?二者有何异同点?分别适用于什么场合?掌握状态图和活动图中的基本概念?会根据需求描述画系统的状态图和活动图。

13. 什么是构件图和部署图?二者有什么作用?构件有哪几种类型?熟悉部署图中的基本概念?考试题型:一、选择题(每题1分,共20分)二、填空题(每题2分,共20分)三、判断改错题(每题2分,共10分。

对的打“,错的打“X”并说明错误原因,只打“X”未说明错误原因记1分)四、简答题(约30分)五、案例分析与设计:(约20分)1、网络的普及带给了人们更多的学习途径,随之用来管理远程网络教学的“远程网络教学系统”也诞生了。

“远程网络教学系统”的功能需求包括:(a) .学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。

(b) .教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。

UML学习笔记

UML学习笔记

UML学习笔记 这个学期有幸选到章⽼师的UML精品课程,虽然到⽬前仅仅上课两周,但是收益匪浅。

尽管在本科接触过UML,却没有⾮常详细的对其进⾏深⼊的了解,只是对⼀些图的名称有所⽿闻,没有深究其功能。

就最近所学知识,谈⼀下我对uml统⼀建模语⾔的⼀个总体认识,软件⼯程作为⼀门⼯程类学科,如同建筑类学科⼀样,当我们需要搭建⼀所建筑时,我们都需要对其进⾏需求和设计,在施⼯的时候,我们就需要⼀些设计图纸,例如各个房间的具体设计、三维视图等,通过这些图纸进⾏施⼯。

软件⼯程也是如此,当我们拿到⼀个项⽬时,并不是直接开始编码,⽽是在此之前进⾏⼀系列的需求分析和详细设计,UML在详细设计中得到了⼴泛的应⽤,我们使⽤UML绘出的类图、⽤例图、时序图、部署图等作为依据,以及按照这些图表实现相应的编码,这些⽤UML语⾔绘制的图形就好⽐建筑⾏业中的设计图纸,以这些图纸为标准,进⾏coding。

UML绘图⼯具主要有 Visio 2007,开发⼯具主要有:Star UML,IBM Rational Rose,RSA等。

下⾯对⼀些⽐较常⽤的UML图进⾏⼀些详细的介绍(本次博⽂重点介绍⼀下类图):⼀、类图我们知道⾯向对象主要有三个特征:封装(抽象)、继承以及多态,对象作为类的实例化,这些特征⽤类图可以很好的表⽰出来,类图也是最常⽤的UML图,通常看到类图就能了解各类之间的关系以及每个类中所具有的属性,在⼀些软件中,可以通过类图⽣成⽣成相应的代码。

所以类图在软件⼯程中应⽤⾮常⼴泛。

下⾯介绍⼀些类图的基本⽤法,1、类如图所⽰,⼀个类主要由三部分组成:类名、属性、⽅法组成。

其中属性和⽅法都有⼀定的作⽤域,public⽤+表⽰,private⽤-表⽰,protect⽤#表⽰,package⽤~表⽰。

2、类与类之间的关系1) Association(关联关系)通常⽤直线(相互关联)或者(直接关联)表⽰,相互关联和直接关联有⼀定的区别,⽐如A B 可以表⽰A类知道B类的属性和⽅法,同时B类也可以知道A类的属性和⽅法,但是直接关联AB 中A可以知道B类的属性和⽅法,但是通过B不能知道A的属性和⽅法,是单向关联,相互关联的实现可能需要使⽤指针来实现。

UML各章知识点小结

UML各章知识点小结

UML各章知识点小结第一章面向对象分析和设计在OO开发中,至关重要的能力是什么?为软件对象分配职责什么是分析?▪强调的是对问题和需求的调查研究,而不是解决方案▪澄清两个概念:需求分析:对需求的调查研究面向对象分析:对领域对象的调查研究什么是设计?▪强调的是满足需求的概念上的解决方案(在软件方面和硬件方面),而不是其实现。

面向对象分析(做正确地事)▪强调的是在问题领域内发现和描述对象(或概念)面向对象设计(正确地做事)▪强调的是定义软件对象以及它们如何协作以实现需求。

OOAD 最关心流程与元件1. 描述流程(剧情) ---- 分析2. 安排主/配角(元件)演出---- 设计OOAD 最主要的工具UML (Unified Modeling Language)第一章思维导图第二章迭代、进化和敏捷动机:迭代和进化式瀑布生命周期▪在编程之前就预先完成需求和设计步骤▪软件项目的高失效率迭代和进化式开发▪及早地引入编程和测试,并重复这一循环▪会在还没有详细定义所有需求的情况下假设开发开始▪使用反馈来明确和改进演化中的规格说明▪依赖于短时快速的开发步骤、反馈和改写来不断明确需求和设计▪软件项目的较高成功率什么是迭代和进化式开发如何在迭代项目中处理变更抱以接受变更和改写的态度,是迭代和进化式开发真正本质的驱动力!!迭代反馈和进化向预期系统的方向发展。

需求和设计的不稳定性随着时间逐步下降迭代开发的优点⏹减少项目失败可能性,提高生产率、降低缺陷率⏹在早期缓解高风险⏹早期可见的进展⏹早期反馈、用户参与和调整,会产生更接近涉众真实需求的精华系统⏹可控复杂性⏹一次迭代中的经验可以被系统地用于改进开发过程本身UP的阶段第三章案例研究案例研究中涵盖的内容☐一个应用程序通常包括:✓UI元素✓核心应用逻辑✓数据库访问✓与外部软硬件的协作用户界面应用逻辑层其它层或构件较少关注讨论如何与其它层连接案例研究主要关注讨论如何设计对象次要关注UP 思维导图敏捷开发 思维导图第四章初始不是需求阶段初始阶段是建立项目共同愿景和基本范围的比较简短的起始步骤它包括:▪10%的用例进行分析▪关键的非功能需求的分析▪业务案例创建▪开发环境的准备▪初始阶段需解决的问题:本项目的愿景(vision)和业务案例(business case)?可行性(Feasible)?购买/开发(Buy and/or build)?粗略估计成本(cost): 1万-10万,还是百万?项目是进行下去还是停止?什么是初始阶段用一句话来概括初始阶段:预见项目的范围、愿景和业务案例用一句话来概括初始阶段要解决的主要问题:涉众是否就项目愿景基本达成一致,项目是否值得继续进行认真研究。

UML学习笔记

UML学习笔记

UML(统一建模语言)学习笔记面向对象的问题的处理的关键是建模问题。

建模可以把在复杂世界的许多重要的细节给抽象出来。

许多建模工具封装了UML(也就是Unified Modeling Language),即统一建模语言。

学习UML ,必须熟悉面向对象解决问题的根本原则――从模型的建造开始的。

一个模型model 就是根本问题的抽象。

域domain 就是问题所处的真实世界。

模型是由对象objects 组成的,它们之间通过相互发送消息messages 来相互作用。

对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations)。

对象的属性的值决定了它的状态state。

类Classes 是对象的“蓝图”。

一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数)。

对象是类的实例instances。

UML 中有九种建模的图标,即:用例图,类图,对象图,顺序图,协作图,状态图,活动图,组件图和配置图。

最主要的两种图为:类图和顺序图。

通过学习,简单总结如下:一、用例图(Use case diagrams)1、用例图描述了作为一个外部的观察者的视角对系统的印象。

强调这个系统是什么而不是这个系统怎么工作。

简例和解释如图一:图一一个门诊部Make Appointment 用例2、角色是人状的图标,用例是一个椭圆,通讯是连接角色和用例的线。

一个用例图是角色,用例,和它们之间的联系的集合。

3、一个单独的用例可以有多个角色。

4、应用领域:①决定特征(需求)。

当系统已经分析好并且设计成型时,新的用例产生新的需求②客户通讯。

使用用例图很容易表示开发者与客户之间的联系。

③产生测试用例。

一个用例的情节可能产生这些情节的一批测试用例。

二、类图(Class diagram)1、类图通过显示出系统的类以及这些类之间的关系来表示系统。

类图是静态的——它显示出什么可以产生影响但不会告诉我们什么时候产生影响。

第2章 UML通用知识点概述

第2章 UML通用知识点概述

2、图
序 列 图
序列图显示了一个具体用例或者用例的一部分的一个详细流程。它几 乎是自描述的,序列图不仅可以显示了流程中不同对象之间的调用关系, 还可以很详细地显示对不同对象的不同调用。 序列图有两个维度:垂直维度,也称时间维度,以发生的时间顺序显 示消息或调用的序列;水平维度显示消息被发送到的对象实例。
UML统一建模语言
二、常用的UML元素分析
1、视图
活 动 视 图
活动视图是一种特殊形式的状态机视图,是状态机的一个变体,用 来描述执行算法的工作流程中涉及的活动。 通常活动视图用于对计算流程和工作流程建模。活动视图中的状态 表示计算过程中所处的各种状态。 活动视图是在假定整个计算处理的过程中没有外部事件引起的中断 的条件下进行描述的,否则普通的状态机更加适合于描述这种情况。
UML统一建模语言
二、常用的UML元素分析
2、图
用 例 图
用例图描述了系统提供的一 个功能单元。用例图的主要目的 是帮助开发团队以一种可视化的 方式理解系统的功能需求,包括 基于基本流程的“角色”关系, 以及系统内用例之间的关系。 使用用例图可以表示出用例 的组织关系,这种组织关系包括 整个系统的全部用例或者是完成 相关功能的一组用例。 在用例图中画出某个用例方 式是在用例图中绘制一个椭圆, 然后将用例的名称放在椭圆的中 心或椭圆下面的中间位置。
三、UML的通用机制
2、修饰
在UML的图形表示中,每一个模型元素都有一个基本符号,这个基本 符号可视化地表达了模型元素最重要的信息。 用户也可以把各种修饰细节加到这个符号上以扩展其含义。这种添加 修饰细节的做法可以为图中的模型元素在一些视觉上的效果上发生一些 变化。
UML统一建模语言
三、UML的通用机制

UML学习笔记

UML学习笔记

UML(统一建模语言)
课程目录
◆面向对象分析和设计(OOA/D)
◆UP过程与“瀑布”模型
◆UML概念
◆需求分析与用例(用例图)
◆类图
◆领域模型(分析模型)
◆交互图(顺序图和协作图)
◆UML活动图
◆UML状态图
◆GRASP与GOF(设计模型)
面向对象分析和设计
◆课程目标:
◆介绍如何将UML应用于UP过程
◆介绍如何应用UML进行OOA/D
◆UML不是OOA/D,也不是方法,它仅仅只是一种图形表示法
◆如果不掌握面向对象思想,那么UML或者任何case工具(如Rose)将毫无意义
◆我们需要一种用于OOA/D的语言,这既是一种思考的工具,也是一种沟通的形式。


此,我们将在OOA/D中应用UML。

◆分析(analysis)-对问题和需求的调查研究
◆设计(design)-满足需求的概念上的解决方案
◆面向对象分析(object-oriented analysis)-在问题域内发现和描述对象
◆面向对象设计(object-oriented designe)-如何定义软件对象以及他们之间如何协作以实
现需求。

UML书上整理的知识点

UML书上整理的知识点

第一章:1:Uml:中文名为统一建模语言。

(已纳入OMG标准,成为业务,应用和系统架构的标准可视化建模语言)2:uml的三大特性:UML是一种Language(语言);UML是一种Modeling(建模)Language;UML是Unified(统一)Modeling Language。

3:uml的发展现状:(1)已进入全面应用阶段的事实标准(2)应用领域正在逐渐扩展,包括嵌入式系统建模、业务建模、流程建模等多个领域(3)成为“生产式编程”的重要支持技术:MDA、可执行UML等4:模型是对现实的简化:常见的模型:生活相关:气象图、道路交通图、交通标志…:展示相关:建筑物模型、沙盘、公司总部的3D复制品…;数据分析相关:条形图、饼状图…;业务分析相关:组织结构图、跨职能流程图……;设计相关:建筑平面图、管线图、电路板设计图5:对于软件系统而言,涉及的模型主要是描述业务,业务规则,系统使用,运用程序,系统架构以及系统内交互的一种可视化表示方式。

6:建模的最大好处在于:更好的理解正在开发的系统。

7:建模的目的(1)帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化;(2)仅当需要模型时,才构建它建模的原则:选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型是不充分的。

对每个重要的系统最好用一组几乎独立的模型去处理8:为什么使用UML建模,可以建立什么模型:(1)UML是一种统一的、标准化的建模语言(2)UML是一种应用面很广泛的建模语言10:草图与蓝图:蓝图一般是指采用CASE工具绘制的、正式的、规范的UML模型;草图则通常是指手工绘制的、规范度较低的在纸张的UML模型11:选择蓝图和草图的原则:大胆地绘制草图,尽可能基于草图进行讨论。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章为什么要建模这一章的内容或许在应用过建模技术后才能有所领悟,对于我这种初学者而言感觉象是政治课本。

①为什么要建模?人对复杂问题的理解能力是有限的,通过建模我们可以将复杂的问题分解成一系列的小问题,解决了这些小问题,最终就可以解决整个复杂的问题。

建模是为了使我们更好的理解正在开发的系统。

②建模要达到的目的⑴模型帮助我们按照实际情况或按照我们所需要的样式对系统进行可视化。

⑵模型允许我们详细说明系统的结构或行为。

⑶模型给出一个指导我们构造系统的模板。

⑷模型对我们作出的决策进行文档化。

③建模的四项基本原理⑴选择创建正确的模型。

⑵根据需要用不同精度级别来表示模型。

⑶模型要与现实相联系。

⑷单个模型是不充分的,对重要系统应用一组独立的模型去处理。

第二章 UML介绍UML(Unified Modeling Languag)统一建模语言①UML概述⑴UML用于对软件进行可视化、详述、构造和文档化。

⑵UML是一种图形化语言。

⑶UML是一种标准语言,可以精确的、无歧义的、完整的描述模型。

一个开发者用UML绘制了一个模型,另一个开发者可以无歧义的理解这个模型。

⑷UML绘制的图形可以用于制作文档。

⑸UML不限于对软件建模,也可以用于非软件系统建模。

②UML的概念模型学习建模的三个主要要素:⑴UML的基本构造块。

⑵支配这些构造块放在一起的规则。

⑶运用于整个UML语言的公共机制。

下面分别对三个要素进行介绍:⑴UML的基本构造块UML的基本构造块有3种:Ⅰ、事物(thing)Ⅱ、关系(relationship)Ⅲ、图(diagram)UML中包含4类事物,以下列出这些事物类别以及组成它们的具体事物:Ⅰ、结构事物(structural thing):类(class)、接口(interface)、协作(collaboration)、用况(use case)、主动类(active class)、构件(component)、节点(node)Ⅱ、行为事物(behavioral thing):交互(interaction)、状态机(state machine)Ⅲ、分组事物(grouping thing):包(package)Ⅳ、注释事物(annotational thing):注释(note)UML包含4种关系:Ⅰ、依赖(dependency)Ⅱ、关联(association)Ⅲ、泛化(generalization)Ⅳ、实现(realization)UML包含9种图:Ⅰ、类图(class diagram)Ⅱ、对象图(object diagram)Ⅲ、用况图(use case diagram)Ⅳ、顺序图(sequence diagram)Ⅴ、协作图(collaboration diagram)Ⅵ、活动图(activity diagram)Ⅶ、状态图(statechart diagram)Ⅷ、构件图(component diagram)Ⅸ、部署图(deployment diagram)⑵UML的规则(没看懂什么意思)⑶UML中的公共机制UML中包含4种公共机制:Ⅰ、规格说明也就是每种图形所代表的语义的文字叙述。

Ⅱ、修饰UML中大多数元素都可以用图形对其最重要部分进行可视化表示,而修饰用于描述这些元素的其他细节。

例如描述一个类的某个操作的性质(公共操作、保护操作或私有操作)。

Ⅲ、通用划分通用划分有两种:对类和对象的划分、对接口和实现的分离。

UML的每一个构造块几乎都存在这两种划分法,因此称为通用划分。

Ⅳ、扩展机制UML是可以以受控方式扩展的语言,它的扩展机制包括:㈠构造型(stereotype)用于扩展UML的词汇,创建新的构造块。

新构造块可以从现有构造块派生,用构造型来标记。

㈡标记值(togged value)用于扩展UML构造块的特性,创建元素的新信息。

㈢约束(constraint)用于扩展UML构造块的语义,增加新的规则或修改现有的规则。

③体系结构建议采用5个互连的视图来描述一个软件的体系结构:⑴系统的用况视图(use case view)⑵系统的设计视图(design view)⑶系统的进程视图(process view)⑷系统的实现视图(implementation view)⑸系统的实施视图(deployment view)注意:这里的视图并非前面提到的UML的基本构造块中的图(diagram),可以理解为从多个角度来观察系统的体系结构,每个视图包含多个图(diagram)。

第四章类(class)这里的类的概念和面向对象中类的概念是一致的,代表的是一种类型的对象,而不是个体对象(实例)。

对类的描述可以从下面几个方面来进行:⑴名称(name)为类定义一个有别于其他类的名称,简单的名称叫Simple Name,带有包名的名称叫Path Name。

⑵属性(attribute)属性是类的一些特性,是对类的一种数据或状态的抽象。

在程序中体现为方法,是对类能做的事情的抽象。

可以通过操作的特征标记(参数的名称、类型、缺省值、返回类型)来详细描述操作。

⑷对属性和操作的组织一个类可能包含众多的属性和操作,在画一个类时不必把每个属性和操作都显示出来,可以只显示一些与当前的图(diagram)相关的属性和操作。

当属性和操作的列表很长时,也可以利用构造型对属性和操作进行分类,使得列表更容易被浏览。

⑸职责职责就是对类的功能的描述,详细描述一个类的职责是对类建模的一个好的开始点。

⑹其他特征一般来说属性、操作和职责基本可以描述一个类的特征了,但有一些特殊类还需要其他的方式来描述它的特性,例如对异常的描述,这些被列为类的高级概念,在第9章讨论。

在UML中以上的特征都用图形的方式表现出来,在编程中我们也用程序代码来描述了这些特征,例如这里的属性对应程序中的属性,操作对应程序中的方法),职责对应对类的总描述(在Java中就是每个类的描述,写在public class ...之前的注释),因此很多建模工具都可以通过UML图来直接生成程序代码。

类在建模技术中通常应用于:⑴对系统词汇建模也就是把系统中的对象抽象出来用类来描述。

⑵对系统中职责的分布建模将系统的职责均衡的分布到各个类中,大概是用于设计控制类时。

⑶对非软件事物建模通常是系统外部的事物,但参与系统内部的运作。

⑷对简单类型建模例如自定义的枚举类型。

第五章关系(relationship)这一章讲述了三种最重要的关系:⑴依赖(dependency)依赖用来表示类之间的使用关系,包括精化、跟踪、绑定。

通常当A类的某个操作中使用B类作为参数,那么称A依赖B。

此外对A事物进行了B注释时,A事物依赖B 注释。

A类中如果引用(import)了B包(package)中的类,也称A类依赖B包。

可以为依赖定义一个名称来区别不同的依赖,通常是不需要的,我们可以使用构造型来区别依赖的不同含义。

(构造型是UML公共机制中扩展机制下的一种机制)关联用来表示对象之间的结构关系,它指明一个事物的对象与另一个事物的对象之间的联系。

书中强调关联是对象之间而非类之间的关系,面向对象中对象就是类的实例,所以它是表示实例之间的结构关系的。

关联相比依赖和泛化要复杂一些,可以用4种修饰来描述一个关联:Ⅰ、名称可以为关联定义一个名称,用来描述该关系的性质,同时该名称还可以定义一个方向,表明是从谁指向谁。

Ⅱ、角色角色是关联中一端的对象对另一端的对象所呈现的职责。

如果有角色的修饰,通常就不需要名称的修饰了。

Ⅲ、多重性这里的多重性指的是关联的另一端的类的每个对象要求在本端的类必须有多少个对象。

也就是通常的数量对应关系,1对1,1对多,多对1等等。

Ⅳ、聚合聚合是一种特殊的关联,它描述的是整体/部分的关系。

⑶泛化(generalization)泛化用来表示一般类/特殊类之间的关系。

它在编程中体现为继承,父类与子类的关系就是一种泛化关系。

依赖和关联是可以自连接(由自己连接到自己)的,而泛化不可以。

第六章公共机制第二章的UML介绍中,提到了UML的公共机制,分别是规格说明、修饰、通用划分和扩展机制。

这一章针对修饰和扩展机制进行更详细的说明。

①注解(note)注解是附加在元素或元素集上用来表示约束或注释的图形符号。

注解可以含有文字或图解或者URL。

使用原则:⑴应放置在对应元素附件,并使用依赖关系连接注解和对应元素。

⑵只在需要的时候显示注解。

⑶如果注解很长,可以考虑放置在外部文本中,使用链接指定位置。

⑷适当的舍弃无保留价值的注解。

②其他修饰例如用于修饰关联的角色、多重性等。

对于类、构件、节点等事物,也可以在图形底部增加分隔栏,以填写修饰信息。

③构造型(stereotype)用于对UML的词汇的扩展,可以把构造型看作元类型,因为每一个构造型会创建一个相当于UML元模型中新类的等价物。

新构造块可以有自己的具体特性、语义和表示法。

最简单的构造型可以是在UML的事物图形上增加一个《name》。

使用原则:⑴确认用基本的UML无法表达你要描述的事物。

⑵应从UML基本事物中选取最相似的图形来构造新构造块。

⑶通过定义一组标记值和约束来详述新构造块的特性和语义。

⑷为了更清晰的标出新构造块,可以对其使用新图标。

④标记值(togged value)最简单的标记值是在UML的事物图形的名称下增加一个用{ 内容 }的标记。

例如指定枚举类型的值。

使用原则:⑴确认用基本的UML无法表达你要描述的特性。

⑵泛化的应用规则是:为一种元素定义的标记值可应用到它的子孙事物。

⑤约束使用约束,可以增加新的语义或改变已存在的规则。

一个约束可以用{ 内容 }标记起来放在相关元素的附近。

使用原则:⑴确认用基本的UML无法表达你要描述的语义。

⑵将约束放到对应元素的附件,并使用依赖关系连接起来。

⑶如果需要把新语义描述得更精确和更形式化,可用OCL书写新语义。

(OCL不知道什么意思)总的说来,使用基本的UML可以描述你的系统,在某些情况下可能不能完全满足你的需求,那么就可以使用扩展机制来弥补。

应该尽可能的使用UML定义好的基本元素,这样才能保证你的UML能被他人理解。

第七章图这里再次提到对软件体系结构进行可视化、详述、构造和文档化,有5种最重要的互补视图:用况视图(use case view)、设计视图(design view)、进程视图(process view)、实现视图(implementation view)、实施视图(deployment view)。

每一种视图都包含结构建模(对静态事物建模)和行为建模(对动态事物建模)。

UML中包含9种图,这在第二章已经介绍过。

可以将这9种图分为两类,一类用于结构建模,称为结构图;一类用于行为建模,称为行为图。

①结构图结构图有4种,分别是:⑴类图(class diagram)类图显示一组类、接口、协作以及它们之间的关系。

相关文档
最新文档