统一建模语言(Unified Modeling Language,UML)<o:p></o:p>
一些术语:<o:p></o:p>
系统(system)指的是硬件和软件的结合体,它能提供业务问题的解决方案。<o:p></o:p>
系统开发(system development)是为客户建立一个系统的过程。<o:p></o:p>
客户(client)是需要解决问题的人。<o:p></o:p>
系统分析员(analyst)将客户所要解决的问题编制成文档,并将该文档转交给开发人员。<o:p></o:p>
开发人员(developer)是为了及决客户的问题而构造软件并在计算机硬件上实施该软件的程序员。<o:p></o:p>
<o:p> </o:p>
UML的组成<o:p></o:p>
UML包括了一些可以相互组合图表的图形元素。<o:p></o:p>
1.类图<o:p></o:p>
一个类(class)是一类或一组具有类似属性和共同行为的事物。<o:p></o:p>
矩形方框代表类的图标,它被分成3个区域。最上面的区域中是类名,中间区域是类的属性,最下面区域里列的是类的操作。<o:p></o:p>
举一个例子,属于洗衣机(washing machine)类的事物都具有诸如品牌(brand name)、型号(model name)、序列号(serial number)和容量(capacity)等属性。这类事物的行为包括“加衣物(add clothes)”、“加洗涤剂(add detergent)”、“开机(turn on)”和“取出衣物(remove clothes)”等操作。
<o:p></o:p>
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><o:p></o:p>
2.对象图<o:p></o:p>
对象(object)是一个类的实例,是具有具体属性值和行为的一个具体事物。例如,洗衣机的品牌可能是“Laundatorium”,型号为“Washmeister”,序列号为“GL57774”,一次最多可以洗涤重量为<st1:chmetcnv w:st="on" unitname="磅" sourcevalue="16" hasspace="False" negative="False" numbertype="1" tcsc="0">16磅</st1:chmetcnv>的衣物。<o:p></o:p>
对象的图标也是一个矩形,和类的图标一样,但是对象名下面要带下划线。具体实例的名字位于冒号的左边而该实例所属的类名位于冒号的右边。
<o:p></o:p>
3.用例图<o:p></o:p>
用例(use case)是从用户的观点对系统行为的一个描述。<o:p></o:p>
例,一个人使用一台洗衣机,显然是为了洗衣服(wash clothes)。<o:p></o:p>
代表洗衣机用户的智力小人形被称为参与者(actor)。椭圆形代表用例。<o:p></o:p>
参与者(它是发起用例的实体)可以是一个人也可以是另一个系统。
<o:p></o:p>
4.状态图<o:p></o:p>
一台洗衣机可以处于浸泡(soak)、洗涤(Wash)、漂洗(Rinse)、脱水(Spin)或者关机(off)状态。
<o:p></o:p>
最顶端的符号代表起始状态,最底端的符号表示终止状态。<o:p></o:p>
5.顺序图<o:p></o:p>
类图和对象图标大的实系统的静态结构。在一个运行的系统中,对象之间要发生交互,并且这些交互要经历一定的时间。UML顺序图所表达的正式这种基于时间的动态交互。<o:p></o:p>
例,洗衣机的构件包括一个注水的进水管(Water Pipe)、一个用来装衣物的洗涤缸(Drum)以一个排水管(Drain)。假设已经完成了“加衣物”、“加洗涤剂”和“开机”操作。洗衣服这个用例被执行时按照如下顺序进行:<o:p></o:p>
1通过进水管想洗涤缸中注水。<o:p></o:p>
2洗涤缸保持5分钟静止状态。<o:p></o:p>
3水注满,停止注水。<o:p></o:p>
4洗涤缸往返旋转15分钟。<o:p></o:p>
5通过排水管排掉洗涤后的脏水。<o:p></o:p>
6重新开始注水。<o:p></o:p>
7洗涤缸继续往返旋转洗涤。<o:p></o:p>
8停止向洗衣机中注水。<o:p></o:p>
9通过排水管排掉漂洗衣物的水。<o:p></o:p>
10洗涤缸加快速度单方向旋转5分钟。<o:p></o:p>
11洗涤缸停止旋转,洗衣过程结束。<o:p></o:p>
<o:p></o:p>
图中,对象之间发送的消息有:注入新水(Send fresh water)、保持静止(Remain stationary)、停止注水(Stop)、往返旋转(Ratate back and forth)、排掉洗涤后的脏水(Send soapy water)、排掉漂洗过的水(Send rinse water)等。
<o:p></o:p>
6.活动图
<o:p></o:p>
用例和对象的行为中的各个活动之间通常具有时间顺序。
<o:p></o:p>
<o:p></o:p>
7.协作图<o:p></o:p>
系统的工作目标是由系统中各组成元素相互协作完成的。例子中洗衣机构件的类集中又增加了一个内部计时器(Internal Timer)。在经过一段时间后,定时器停止注水,然后启动洗涤缸往返旋转。图中的序号代表命令消息的发送顺序。
<o:p></o:p>
<o:p></o:p>
8.构件图<o:p></o:p>
构件图和部署图和整个计算机系统密切相关。
<o:p></o:p>
<o:p></o:p>
9.部署图<o:p></o:p>
UML部署图显示了基于计算机系统的物理体系结构。它可以描述计算机和设备,展示它们之间的连接,以及驻留在每台机器中的软件。每台计算机用一个立方体来表示,立方体之间的连线表示这些计算机之间的通信关系。<o:p></o:p>
<o:p></o:p>
<o:p> </o:p>
如果需要将图中的组织元素分组,或者在图中说明一些类或构件是某个特定子系统的一部分,可以通过将这些元素组织成包(package)来达到此目的。包用一边突起的公文夹形图标来表示。
<o:p></o:p>
<o:p></o:p>
注释(note)的图标是一个带折角的矩形,矩形框中是解释性文字。注释和被注释的图元素之间用一条虚线连接。
<o:p></o:p>
<o:p></o:p>
构造型(stereotype)能够使用现有的UML元素来定制新的元素。构造型用尖对括号括起来的一个名称来表示,这个括号叫双尖括号(guillemets)。<o:p></o:p>
<o:p></o:p>
<o:p> </o:p>
分享到:
相关推荐
### UML学习笔记知识点 #### 一、UML概述与重要性 - **定义**: 统一建模语言(Unified Modeling Language, UML)是一种标准化的建模语言,用于描述和构建软件系统的结构和行为。它由一组图表、符号和规则构成,...
《尚学堂uml学习笔记 李腾飞讲解》是针对UML(统一建模语言)的一份详细学习资料,由知名讲师李腾飞主讲。这份笔记涵盖了UML的核心概念、图形表示和实际应用,旨在帮助学习者深入理解并掌握这一重要的软件设计工具。...
以下是对“个人UML学习读书笔记”中可能涵盖的知识点的详细阐述:** 1. **UML简介** - UML是由Grady Booch、Ivar Jacobson和James Rumbaugh共同开发的,目的是提供一个标准的图形化语言,使得软件开发者能够清晰地...
这个“UML学习笔记”压缩包包含了一系列关于UML的详细资料,涵盖了从基础概念到高级应用的多个方面。通过这些文档,我们可以深入理解UML在软件工程中的作用和使用方法。 1. **第一章_基于面向对象的UML** 这一部分...
### UML学习笔记:建模语言详解 #### 统一建模语言(UML)概述 统一建模语言(UML, Unified Modeling Language)是一种被广泛应用于软件开发领域的标准化建模语言,它为软件密集型系统的可视化建模提供了一种统一的...
《UML学习笔记——探索软件建模的利器》 UML,全称为统一建模语言,是软件开发中的一种重要工具,尤其在需求分析和设计阶段发挥着关键作用。它并非一种具体的分析或设计方法,而是图形化表示法,帮助我们清晰地表达...
大象学习笔记
### OOAD+UML 学习笔记 #### 面向对象的基本概念 面向对象(Object-Oriented Analysis and Design, OOAD)是一种软件工程方法论,它将面向对象的思想应用于软件开发过程中,以提高软件的灵活性、可复用性和可维护...
【UML学习笔记】 UML(Unified Modeling Language)是一种标准化的建模语言,主要用于软件和系统开发中的分析、设计和交流。它通过图形化的表示方式,帮助开发者与客户沟通需求,促进开发团队间的协作,避免在处理...
5. **聚合(Aggregation)**:一种特殊的关联,表示整体与部分的关系,如“班级”和“学生”。 6. **组合(Composition)**:比聚合更强的关系,表示整体对部分的拥有,如“家庭”和“成员”。 **序列图和协作图** ...
UML设计网上选课系统:本系统拟使用Java语言通过三层模型实现:数据核心层,业务逻辑层和接入层。其中,数据核心层包括对于数据库的操作;业务逻辑层作为中间层对用户输入进行逻辑处理、再映射到相应的数据层操作;...
**UML学习笔记** UML(Unified Modeling Language)是一种标准化的通用建模语言,用于软件开发的可视化建模。它是面向对象设计的核心工具,通过图形化的方式表达系统的设计和架构,便于团队之间的沟通和理解。以下...
对OOAD和UML指导思想的基本概述,欢迎大家下载学习,也希望各位继续完善
该压缩包文件提供了丰富的UML学习资源,包括两本CHM格式的电子书——"23种经典设计模式UML类图汇总"和"UML图例子",以及可能包含的学习笔记,帮助初学者和经验丰富的开发者深入理解和应用UML。 1. **23种经典设计...
"新建 Microsoft Office Word 文档.docx"可能是未命名或者暂时未详细描述的文档,它可能包含了对UML的其他方面,例如类图、对象图或协作图的学习笔记或实践案例。 通过阅读这本“UML学习手册”,读者将能全面了解...