UML统一建模语言.ppt

上传人:小飞机 文档编号:5451604 上传时间:2023-07-08 格式:PPT 页数:34 大小:221KB
返回 下载 相关 举报
UML统一建模语言.ppt_第1页
第1页 / 共34页
UML统一建模语言.ppt_第2页
第2页 / 共34页
UML统一建模语言.ppt_第3页
第3页 / 共34页
UML统一建模语言.ppt_第4页
第4页 / 共34页
UML统一建模语言.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《UML统一建模语言.ppt》由会员分享,可在线阅读,更多相关《UML统一建模语言.ppt(34页珍藏版)》请在三一办公上搜索。

1、UML统一建模语言,中国科学院研究生院武磊,背景,OO建模语言的发展始于20世纪70年代中和80年代末。从1989年到1994年,其数量由不到10种猛增加到50余种。但使用OO方法的用户却很难找到一种完全满意的语言。90年代中期,出现了一批较好的方法。其中令人关注的有Booch 1993(适用于工业设计和构造);Rumbaugh的OMT-2(特别适用于以数据为中心的信息系统的分析和描述中的应用);Jacobson的OOSE,即use-case方法(支持商业工程和需求分析)。它们都是完整的方法,但各有其特色。UML开始于1994年10月。先由Rational Software公司的G.Booch

2、和J.Rumbaugh将Booch和OMT(这两种方法被公认为是世界OO方法的先驱)统一起来,并于1995年10月推出了UM(Unified Method)草案0.8版;1995年秋,Jacobson参加,把OOSE也合并进来,这才称为UML。,UML是什么(Unified Modeling Language),是一种语言 用来获取某一主题的知识和表达关于该主题的知识,以便进行交流应用于建模和系统 理解(了解)一个主题(系统)基于面向对象规范是一种通用的、广泛适用的、得到工具支持和工业标准化的革命性的建模语言,UML不是什么,UML不是一种可视化的程序设计语音,而是一种可视化的建模语言UML不

3、是一种工具或库规范,而是一种建模语言规范UML不是一种过程,而是用于支持过程,UML的目标,易用、表达能力强、简单、可扩展具备扩展和特化机制无须修改核心概念即可进行扩展独立于实现(程序设计语言)独立于过程(开发)解决反复出现的体系结构复杂的问题通过组件技术,UML图,类图 class diagram对象图 object diagram用例图 use case diagram序列图 sequence diagram协作图 collaboration diagram状态图 statechart diagram活动图 activity diagram组件图 component diagram部署图

4、deployment diagram,类图 class diagram,描述系统的静态结构,而不是运行方式类(class)attributes and methods,类图 class diagram,关联(association),类图 class diagram,多重性,类图 class diagram,聚合(aggregation)与组合(composition),不同之处在于,在组合关系中,Part的对象任何时候只能从属于一个Whole对象,类图 class diagram,继承,第一个类是代表某种支付方式的Payment抽象类,另外两个类分别扩展Payment类,描述两种不同的支付方

5、式,对象图 object diagram,对象图描述系统在某个特定时间的静态结构。对象模型描述一种特定的情况,而类模型则描述所有可能的情况。对象(object),代表特定的实体,是类的实例链接(link),代表对象之间的特定关系,是关联的实例,对象图 object diagram,序列图 sequence diagram,要达到某个特定的目标,必然要执行一系列的方法调用。UML序列图的典型用途就是显示出方法调用过程。类角色(class role),代表对象在交互中的角色生命线(lifeline),代表对象在一段时期内存在激活期(activation),代表对象执行一项操作的时期消息(messa

6、ge),代表对象间的通信,序列图 sequence diagram,序列图 sequence diagram,/*属于Sale类:*从lineItem的单项金额计算交易总金额*return 交易总额*/public double calcTotal()total=0.0;Iterator i=lineItems.iterator();while(i.hasNext()total+=(LineItem)i.next().calcTotal();return total;/*属于LineItem类:计算当前项目的交易金额*return 交易金额*/public double calcTotal()

7、total=product.calcTotal(this);return total;/*属于Product类:计算指定数量的产品价值多少 return 金额*/public double calcTotal(LineItem li)return amount*li.getQuantity();,协作图 collaboration diagram,描述类和关联之间的交互,将这些交互建模为类之间通过其关联交换的消息。类角色(class role),代表对象在交互中扮演的角色。关联角色(association role),代表链接在交互中扮演的角色。消息流(message flow),代表对象间通

8、过链接发送的消息,协作图 collaboration diagram,协作图 collaboration diagram,状态图 state diagram,状态图(State Diagram)用来描述一个特定对象的所有可能状态及其引起状态转移的事件。大多数面向对象技术都用状态图表示单个对象在其生命周期中的行为。一个状态图包括一系列的状态以及状态之间的转移。状态(state),代表在对象生命期间的某种状态。包括初态、终态、中间状态、复合状态。其中,初态是状态图的起始点,而终态则是状态图的终点。一个状态图只能有一个初态,而终态则可以有多个。转换(transition),代表对象不同状态间的关系。

9、状态的变迁通常是由事件触发的,此时应在转移上标出触发转移的事件表达式。如果转移上未标明事件,则表示在源状态的内部活动执行完毕后自动触发转移。,状态图 state diagram,状态图 state diagram,状态图 state diagram,中间状态包括两个区域:名字域和内部转移域,如图2所示。图中内部转移域是可选的,其中所列的动作将在对象处于该状态时执行,且该动作的执行并不改变对象的状态。,状态图 state diagram,一个状态可以进一步地细化为多个子状态,我们将可以进一步细化的状态称作复合状态。,活动图 activity diagram,反映一个连续的运动流某个操作的执行时的

10、活动状况描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作)。描述对象内部的工作。显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。显示用例的实例是如何执行动作以及改变对象状态。说明一次商务活动中的工人(角色)、工作流、组织和对象是如何工作的。动作、转移、泳道、对象、信号,活动图 activity diagram,活动图 activity diagram,活动图 activity diagram,与状态图的区别 活动图描述类对内部处理过程的响应行为。状态图描述类对外部时间的响应行为。泳道 泳道是代表分区动作集合的图形构造。泳道用于对一个或多个对象为整个活动中的动作所承担

11、的职责建模。也就是说,泳道将活动状态划分为组,并把这些组分配给执行这些活动的对象。,组件图 component diagram,组件图用于展现系统的实现视图。这些图描述软件的实现组件之间的组织形式和依赖关系。组件包含逻辑类及逻辑类的实现信息用来反映代码的物理结构源组件、二进制组件、可执行组件,组件图 component diagram,链接时的组件、运行时的组件Main programs,主程序Packages,构件包Subprograms,子程序Tasks,独立线程EXE,可执行文件DLL,动态连接库,组件图 component diagram,虚线箭头表示依赖关系,部署图 deployment diagram,部署图用于展现系统的环境视图。这些图描述执行处理过程的资源元素的配置情况,以及软件实现组件到资源元素的映射。节点组件关联,部署图 deployment diagram,实例分析,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号