收藏 分享(赏)

绪论 UML建模_UML.ppt

上传人:oil007 文档编号:3487220 上传时间:2018-11-04 格式:PPT 页数:63 大小:266.50KB
下载 相关 举报
绪论 UML建模_UML.ppt_第1页
第1页 / 共63页
绪论 UML建模_UML.ppt_第2页
第2页 / 共63页
绪论 UML建模_UML.ppt_第3页
第3页 / 共63页
绪论 UML建模_UML.ppt_第4页
第4页 / 共63页
绪论 UML建模_UML.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、标准建模语言UML,UML的设计目标: 运用面向对象概念来构造系统模型 建立起从概念模型直至可执行体之间明显的对应关系 着眼于那些有重大影响的问题 创建一种对人和机器都适用的建模语言,OMG (Object Management Group),OMG是世界上最大的计算机工业联盟,于1989年4月由8个公司发起,目前有800多家成员。,Who Are OMG?,AT&T BEA Borland Boeing CA Citigroup Compaq Ericsson Ford Fujitsu,Glaxo SmithKline Hewlett Packard Hitachi Hyperion IBM

2、 IONA io Software Kabira Kennedy Carter John Deere,Microsoft MITRE MSC.Software NASA NEC NetGenics NTT OASIS Oracle Pfizer,Rational SAGA Software SAP SAS Institute Secant Siemens Sprint Sun Unisys Vertel,标准建模语言UML,UML已得到许多世界知名公司的使用和支持,并于1997年11月17日被OMG组织采纳,成为面向对象建模的标准语言。目前,OMG已经把UML作为公共可得到的规格说明提交给国际

3、标准化组织进行国际标准化,这一进程在近期完成后UML将最终成为信息技术的正式国际标准。 近年来,UML已经迅速成长为一个事实上的工业标准。不论在计算机学术界、软件产业界还是在商业界,UML已经逐渐成为人们为各种系统建模、描述系统体系结构、商业体系结构和商业过程时使用的统一工具,而且在实践过程中人们还在不断扩展它的应用领域。,标准建模语言UML,UML概要 UML由OMG于1997年11月批准为标准建模语言。 UML建立在当今国际上最有代表性的三种面向对象方法(Booch方法,OMT方法,OOSE方法)的基础之上。 UML是一种建模语言而不是一种方法,UML本身是独立于过程的。,标准建模语言UM

4、L,UML为人们提供了从不同的角度去观察和展示系统的各种特征的一种标准表达方式。在UML中,从任何一个角度对系统所作的抽象都可能需要用几种模型图来描述,而这些来自不同角度的模型图最终组成了系统的完整模型。,标准建模语言UML,一般而言,我们可以从以下几种常用的视角来描述一个系统: 系统的使用实例:从系统外部的操作者的角度描述系统的功能。 系统的逻辑结构:描述系统内部的静态结构和动态行为,即从内部描述如何设计实现系统功能。 系统的构成:描述系统由哪些程序构件所组成。 系统的并发性:描述系统的并发性,强调并发系统中存在的各种通信和同步问题。 系统的配置:描述系统的软件和各种硬件设备之间的配置关系。

5、,标准建模语言UML,UML模型图(5类,10种): 用例图 静态图(类图,对象图,包图) 行为图(状态图,活动图) 交互图(顺序图,合作图) 实现图(构件图,配置图),标准建模语言UML,UML语义 元-元模型:元模型的基础体系结构,定义一种说明元模型的语言 元模型:元-元模型的一个实例,定义一种说明模型的语言 模型:元模型的一个实例,定义一种语言来描述信息领域 用户对象:模型的一个实例,定义一个特定的领域,标准建模语言UML,UML主要文件: UML概要(UML Summary) UML语义(UML Semantics) UML表示法指南(UML Notation Guide) 对象约束语

6、言规约(Object Contraint language Specification):该文件定义并介绍了一种对象约束语言(OCL),其用途是用来说明在图形化的系统模型中不能充分表达的建模信息。它是一种形式化语言。,标准建模语言UML (用例图),从本质上将,一个用例是用户与计算机之间为达到某个目的的一次典型交互作用: 用例描述了用户提出的一些可见的需求; 用例可大可小; 用例对应一个具体的用户目标,标准建模语言UML (用例图),用例图描述系统外部的执行者与系统的用例之间的某种联系。 所谓用例是指对系统提供的功能(或称系统的用途)的一种描述; 执行者是那些可能使用这些用例的人或外部系统;

7、用例和执行者之间的联系描述了“谁使用哪个用例”。,标准建模语言UML (用例图),用例图着重于从系统外部执行者的角度来描述系统需要提供哪些功能,并且指明了这些功能的执行者是谁; 用例图在UML方法中占有十分重要的地位,人们甚至称UML是一种用例图驱动的开发方法。,标准建模语言UML (用例图),用例图中的图符:用例执行者系统:用于界定系统功能范围,描述该系统功能的用例都置于其中,而描述外部实体的执行者都置于其外。关联:连接执行者和用例,表示执行者所代表的系统外部实体与该用例所描述的系统需求有关。,标准建模语言UML (用例图),用例图中的图符:使用:由用例A连向用例B,表示用例A中使用了用例B

8、中的行为或功能。扩展:由用例A连向用例B,表示用例B描述了一项基本需求,而用例A则描述了该基本需求的特殊情况。注释体:对UML实体进行文字描述注释连接:将注释体与要描述的实体连接,说明该注释体是针对该实体所进行的描述。,使用,扩展,标准建模语言UML (用例图),自动售货机系统用例图,标准建模语言UML (用例图),设置边界,风险分析,交易估计,进行交易,超越边界,更新帐目,评价,贸易经理,营销人员,记帐系统,销售人员,使用,使用,扩展,标准建模语言UML (用例图),用例模型的获取:获取执行者获取用例,标准建模语言UML (用例图),获取执行者: 谁使用系统的主要功能(主要使用者)? 谁需要

9、系统支持他们的日常工作? 谁来维护、管理系统使其能正常工作(辅助使用者)? 系统需要控制哪些硬件? 系统需要与其他哪些系统交互? 对系统产生的结果感兴趣的是哪些人?,标准建模语言UML (用例图),获取用例: 执行者要求系统提供哪些功能? 执行者需要读、产生、删除、修改或存储系统中的信息有哪些类型? 必须提醒执行者的系统事件有哪些? 执行者必须提醒系统事件有哪些?怎样把这些事件表示成用例中的功能?,标准建模语言UML (类图),在面向对象的建模技术中,类、对象和它们之间的关系是最基本的建模元素。对于一个想要描述的系统,其类模型、对象模型以及它们之间的关系揭示了系统的结构。 类图描述了系统中的类

10、及其相互之间的各种关系,其本质反映了系统中包含的各种对象的类型以及对象间的各种静态关系(关联,子类型)。,标准建模语言UML (类图),类图中的图符:类:表示一个类,其中第一栏是类的名,第二栏是类的属性,第三栏是类的操作。包:包是一种分组机制,表示一个类图集合。关联:用于表示类的对象之间的关系。其特殊形式有组成关联和聚集关联。,Operations,Attributes,Class,Package,标准建模语言UML (类图),类图中的图符:聚集关联:用于表示类的对象之间的关系是整体与部分的关系。组成关联:用于表示类的对象之间的关系:整体拥有各部分,部分与整体共存,如整体不存在了,部分也会随之

11、消失。泛化关联:泛化关系(继承关系)定义了类和包间的一般元素和特殊元素之间的分类关系。,标准建模语言UML (类图),类图中的图符:依赖关系:有两个类或包元素X、Y,修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖于元素X。对象:类的一个实例。链接:用于表示对象间的关联关系的一个实例。,Values,Object,标准建模语言UML (类图),在类图中还可以表示关联中的数量关系,即参与关联的对象的个数。在UML中用重数说明数量或数量范围,例如,01表示0到1个对象0*或*表示0到多个对象115表示1到15个对象3表示3个对象如果图中未明确标出关联的重数,则缺省重数是1。,标

12、准建模语言UML (类图),订单,DateReceived isPrepaid number:String prce:Money,Dispatch() close(),订单项,Quantity:Integer price:Money isSatisfied:Boolean,1,*,项,客户,Name address,CreditRating():String,团体客户,ContactName creditRating creditLimit,Remind() billforMonth(Intrger),雇员,产品,个人客户,CreditCard#,creditRating() =“poor”,

13、销售代表,1,*,01,1,*,*,标准建模语言UML (对象图),对象图 对象图是类图的一种变形。除了在对象名下面要加下划线以外,对象图中所使用的符号与类图基本相同。 对象图是类图的一种实例化。一张对象图表示的是与其对应的类图的一个具体实例,即系统在某一时期或者某一特定时刻可能存在的具体对象实例以及它们相互之间的具体关系。,标准建模语言UML (对象图),作者,计算机,名字:String 内存:Ineger,名字:String 年龄:Integer,01,Uses,1*,小王:作者,小王的工作PC: 计算机,名字 = “王小影” 年龄 = 32,小王的工作PC: 计算机,名字 = “Comp

14、aq X” 内存 = 32,名字 = “Dell486” 内存 = 64,类图,对象图,标准建模语言UML (对象图),对象图并不象类图那样具有重要的地位,但是利用它可以帮助我们通过具体的实例分析,更具体直观地了解复杂系统类图的丰富内涵。 对象图还常常被用作合作图的一部分,用以展示一组对象实例之间的动态协作关系。,标准建模语言UML (包图),包是类的集合。 包图所显示的是类的包以及这些包之间的依赖关系。 如果两个包中的任意两个类之间存在依赖关系,则这两个包之间存在依赖关系。 包的依赖是不传递的。,标准建模语言UML (包图),订单获取 界面,订单获取 应用,邮件发送 清单界面,邮件发送 清单

15、应用,订单,顾客,标准建模语言UML (包图),何时使用包图: 在大项目中,包图是一种重要工具(有专家建议,只要你不能将整个系统的类图压缩到一张A4纸上,你就应该使用包图); 依赖产生耦合,应该尽量将依赖性减少到最低程度; 包的概念对测试也是特别有用的。,标准建模语言UML (状态图),状态图 状态图是对类的一种补充描述,它展示了此类对象所具有的可能的状态以及某些事件发生时其状态的转移情况。 在状态图中,状态由圆角矩形表示。状态的改变称作转移,状态转移由箭头表示,箭头旁可以标出转移发生的条件。状态转移可以伴随有某个动作,它表明当转移发生时系统要做什么。,标准建模语言UML (状态图),下降状态

16、,在第一层,上升状态,向第一层下降,空闲状态,上升,到达,到达,上升,超时,下降,到达第一层,标准建模语言UML (顺序图),顺序图 顺序图描述了对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。 顺序图由一组对象构成,每个对象分别带有一条竖线,称作对象的生命线,它代表时间轴,时间沿竖线向下延伸。顺序图描述了这些对象随着时间的推移相互之间交换消息的过程。消息用从一条垂直的对象生命线指向另一个对象的生命线的水平箭头表示。图中还可以根据需要增加有关时间的说明和其他注释。,标准建模语言UML (顺序图),:计算机,:打印服务程序,:打印队列,:打印机,打印文件,打印文件打印机空闲,保存文件打

17、印机忙,标准建模语言UML (顺序图),P1,P2,P3,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,标准建模语言UML (顺序图),顺序图中的事件顺序: 因果性(Causality):对同一消息而言,发送事件先于接收事件。 可控性(Controlability):对同一对象而言,事件p出现在发送事件q的上方,则p先于q。 队列性(FIFO):对同一对象而言,接收事件p出现在接收事件q的上方,并且它们分别对应的发送事件也位于同一个对象,则p先于q。,标准建模语言UML (顺序图),e1,e2,e3,e4,e5,e6,e8,e7,e9,e10,e12,e11,P1,P2,P3,

18、P1,P2,P3,e1,e2,e3,e4,e6,e5,e7,e8,e9,e11,e10,e12,标准建模语言UML (合作图),合作图 与顺序图作用相同,合作图也是用来描述系统中对象之间的动态协作关系。合作图侧重于描述各个对象之间存在的消息收发关系(交互关系),而不专门突出这些消息发送的时间顺序。 在合作图中,对象同样是用一个对象图符来表示,箭头表示消息发送的方向,而消息执行的顺序则由消息的编号来表明。,标准建模语言UML (合作图),:计算机,:打印队列,:打印服务程序,:打印机,1. 打印文件,3. 保存文件打印机忙,2. 打印文件打印机空闲,标准建模语言UML (合作图),合作图的布局方

19、法能更清楚地表示出对象之间静态的连接关系。 顺序图突出执行的时序,能更方便地看出事情发生的次序。 如果要描述在一个用例中的几个对象协同工作的行为,交互图是一种有力的工具。交互图擅长显示对象之间的合作关系,尽管它并不对这些对象的行为进行精确的定义。 如果想要描述跨越多个用例的单个对象的行为,应当使用状态图;如果想要描述跨越多个用例或多个线程的多个对象的复杂行为,则需考虑使用活动图。,标准建模语言UML (活动图),活动图 活动图描述系统中各种活动的执行顺序,通常用于描述一个操作中所要进行的各项活动的执行流程。同时,它也常被用来描述一个用例的处理流程,或者某种交互流程。 活动图由一些活动组成,图中

20、同时包括了对这些活动的说明。当一个活动执行完毕之后,控制将沿着控制转移箭头转向下一个活动。活动图中还可以方便地描述控制转移的条件以及并行执行等要求。,标准建模语言UML (活动图),加水到容器中,将咖啡放到 过滤器中,点燃咖啡炉,取出咖啡杯,把过滤器放 到咖啡炉上,冲调咖啡,倒咖啡,找饮料,取一听 可口可乐,喝饮料,人,找到可口可乐,没有可口可乐,没有咖啡,找到咖啡,熄灭咖啡炉,标准建模语言UML (活动图),活动图最适合支持描述并行行为,这使之成为支持工作流建模的最好工具。活动图最大的缺点是很难清楚地描述动作与对象之间的关系。,标准建模语言UML (活动图),对于以下情况可以使用活动图: (

21、1)分析用例; (2)理解牵涉多个用例的工作流; (3)处理多线程应用。 在下列情况下,一般不要使用活动图: (1)显示对象间合作; (2)显示对象在其生命周期内的运转情况。,标准建模语言UML (构件图),构件图 构件图描述软件构件以及它们之间的依赖关系,从而便于人们分析和发现当修改某个构件时可能对那些构件产生影响,以便对它们做相应的修改或更新。构件可以是源代码构件、二进制目标码构件、可执行构件或文档构件。,标准建模语言UML (构件图),Whnd.cpp:窗口处理器,Graphic.dll: 图形库,Comhnd.cpp:命令处理器,Main.cpp: 主类,Whnd.obj:窗口处理器,

22、Comhnd.obj:命令处理器,Main.obj: 主类,client.exe:客户程序,标准建模语言UML (配置图),配置图 配置图描述系统中硬件和软件的物理配置情况和系统体系结构。 在配置图中,用结点表示实际的物理设备,如计算机和各种外部设备等,并根据它们之间的连接关系,将相应的结点连接起来,并说明其连接方式。在结点里面,说明分配给该结点上运行的可执行构件或对象,从而说明哪些软件单元被分配在哪些结点上运行。,标准建模语言UML (配置图),客户A: 个人电脑PC,客户B: 个人电脑PC,数据库服务器: VAX,服务器:02,TCP/IP协议,TCP/IP协议,DecNet协议,UML支

23、撑环境,Rational Rose基于UML的模型驱动的软件开发环境全面支持团队整体合作的开发形式集成了最新软件开发技术和思想,使用UML的准则,1、不要试图使用所有的图形和符号应该根据项目的特点,选用最适用的图形和符号。一般来说,应该优先选用简单的图形和符号,例如,用例、类、关联、属性和继承等概念是最常用的。 2、不要为每个事物都画一个模型应该把精力集中于关键的领域。最好只画几张关键的图,经常使用并不断更新、修改这几张图。,3、 应该分层次地画模型图根据项目进展的不同阶段,用正确的观点画模型图。如果处于分析阶段,应该画概念层模型图;当开始着手进行软件设计时,应该画说明层模型图;当考察某个特定

24、的实现方案时,则应画实现层模型图。使用UML的最大危险是过早地陷入实现细节。为了避免这一危险,应该把重点放在概念层和说明层。,使用UML的准则,4、 模型应该具有协调性模型必须在每个抽象层次内和不同的抽象层次之间协调。 ,使用UML的准则,5、模型和模型元素的大小应该适中过于复杂的模型和模型元素难于理解也难于使用,这样的模型和模型元素很难生存下去。如果要建模的问题相当复杂,则可以把该问题分解成若干个子问题,分别为每个子问题建模,每个子模型构成原模型中的一个包,以降低建模的难度和模型的复杂性。,使用UML的准则,UML的扩展,实时模型 UML-RT 可执行模型 企业计算 Enterprise D

25、istributed Object Computing (EDOC) Enterprise Application Integration (EAI) 软件过程 Rational Unified Process (RUP) 其他 Standard for Data WarehousingCORBA maps to UMLXMI format for the exchange of UMLmodels in text format,UML框架下的软件工程,我们已经有了统一的建模语言UML 我们正在拥有统一软件过程(RUP?) 下一步是什么? A Software Component Market

26、place Quality from the Beginning Give Soul to Software Process A Complete UML Based Software Platform,UML时间表,1997 - UML version 1.0, version 1.1 1998 - UML version 1.3 2000 - UML version 1.4 ? 2002 - UML version 2.0 ? 2004 - 一个稳定完善的UML version ? 2010 - 一个标准的UML version ?,UML的国际会议, 98 - The First Int

27、ernational Workshop on The Unified Modeling Language, 3 - 4 June, 1998, Mulhouse, France 99 - The Second International Conference on The Unified Modeling Language, 28 - 30 October, 1999, Fort Collins, Colorado, USA 2000 - The Third International Conference on the Unified Modeling Language, 2 - 6 Oct

28、ober, 2000, York, UK 2001 - The Fourth International Conference on the Unified Modeling Language, 1 - 5 October, 2001, Toronto, Canada 2002 - The Fifth International Conference on the Unified Modeling Language, 30 Sept. 4 Oct., 2002, Dresden, Germany. 2003 - The Sixth International Conference on the

29、 Unified Modeling Language, 20 24, Oct., 2003, USA.Lecture Notes in Computer Science, Springer,小结,统一建模语言UML的提出,标志着面向对象建模方法已经进入了第三代。1997年11月OMG组织采纳UML作为面向对象建模的标准语言,四年来,UML已经迅速成长为一个事实上的工业标准,并即将被国际标准化组织采纳作为信息技术的正式国际标准。,UML是一种标准的图形化建模语言,它用若干个视图构造系统的模型,每个视图描述系统的一个方面。视图用图描述,图用模型元素的图示符号表示。图中包含的模型元素可以有类、对象、

30、节点、包、构件、关系和消息等。UML的图包括:用例图、类图、对象图、状态图、活动图、顺序图、协作图、构件图和配置图。用例模型是描述系统基本功能的工具,它由一个或多个用例图描述。用例图主要由用例和执行者组成。一个用例代表系统的一个完整功能,执行中的用例是一个动作序列。执行者是与系统交互的人或物,它代表外部实体。,类图描述系统的静态结构,类图由类及它们之间的关系构成。类图是构建其他UML图的基础。类与类之间可以有关联、泛化(继承)、依赖和细化等4种关系。 所有系统都既有静态结构又有动态行为,动态行为描述静态结构内包含的元素是如何交互的。UML提供了下述4种图以支持动态建模:状态图描述对象的所有可能

31、状态及引起状态转换的事件;顺序图描述对象之间的动态交互关系,着重表现对象间传递消息的时间顺序;协作图描述相互协作的对象间的交互关系和链接关系,着重表现交互对象的静态链接关系;活动图是状态图的变种,主要描述动作及动作的结果对象状态的改变。,系统架构是对构成系统的各个部分的框架性描述,可分为逻辑架构和物理架构。逻辑架构完整地描述系统的功能;物理架构描述代码构件的结构和组成系统的硬件结构,它详细地描述逻辑架构中定义的概念的实现方案。软件构件和构件间的相关性在UML的构件图中显示。配置图描述硬件节点和节点间的连接。可以把可执行的构件分配给执行它们的节点,而且可以把对象分配给构件。 为使UML能适应某些方法、机构或用户的特殊需要,UML提供了扩展机制。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报