【教学课件】第2讲UML概述.ppt
《【教学课件】第2讲UML概述.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第2讲UML概述.ppt(101页珍藏版)》请在三一办公上搜索。
1、2023/8/6,1,第2讲 UML概述,2023/8/6,2,内容,UML历史什么是UMLUML与软件体系结构UML构成,1.UML历史,2023/8/6,4,1.1 UML产生与发展,面向对象的分析与设计(OOAD)方法的发展在80年代末至90年代中出现了一个高潮.UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。,2023/8/6,5,70年代中期,公认的面向对象设计语言出现。从1989年到1994年,其数量从不到十种增加到了五十多种。Booch86,GOOD(通用面向对象的开发)
2、,HOOD(层次式面向对象的设计)、OOSD(面向对象的结构设计)等一批OOD(面向对象的设计或面向对象的开发的缩写)截至1994年,公开发表并具有一定影响的OOA&D方法已达50多种。,2023/8/6,6,Rational公司的G.Booch和J.Rumbaugh决定将他们各自的方法结合起来成为一种方法。1995年10月发布了第一个版本,称作统一方法(Unified Method 0.8)OOSE的作者I.Jacobson也加入了公司,于是也加入了统一行动,发布了第二个版本UML0.9鉴于统一行动的产物是一种建模语言,而不是一种建模方法,因此称为统一建模语言在此过程中,Rational公司
3、发起成立了UML伙伴组织,开始时有12家参加,共同推出了UML1.0版,并在1997年1月提交给OMG把其他几家分头向OMG提交提案的公司纳入进来,推出了UML1.1版,在1997年11月4日被OMG采纳,2.什么是UML?,2023/8/6,8,2.1 概述,UML(统一建模语言)是为软件系统的制品进行描述(specifying)、可视化(visualizing)、构造(constructing)、文档化(documenting)的一种语言。它同样适用于商业模块和其他非软件系统。在大型和复杂系统的建模中,UML成功地描述一些优秀的工程实施。,2023/8/6,9,曹操,孙权,Environm
4、ent,话说三国演义,OOAD 适用于社会组织法分析,(Domain)西蜀,2023/8/6,10,曹操,孙权,Environment,刘备,关羽,孔明,张飞,赤壁之战,其它流程,(Domain)西蜀,曹操进兵引发西蜀 的流程,谁来执行流程呢?,2023/8/6,11,OOAD 最关心流程与元素,1.描述流程(剧情)-分析,赤壁之战,其它流程,2.安排主/配角(元素)演出-设计,刘备,关羽,孔明,张飞,2023/8/6,12,OOAD 最主要的工具,UML,(Unified Modeling Language),OMG 认可的世界标准 1997,2023/8/6,13,为什么需要 UML 呢?
5、,贝多芬作曲时使用五线谱,您设计软件时使用UML,2023/8/6,14,为什么需要 UML 呢?,五线谱有多种音符,UML也有多种符号,刘备,孔明,关羽,曹操,赤壁之战,其它流程,空城計退敵,Use Case 图,Sequence 图,2023/8/6,15,Use Case 叙述,曹操举兵南下,西蜀就拟定策略,展开部署並联络孙权,鼎力对抗曹操大军.,曹操,赤壁之战,孙权,西蜀,把西蜀看成黑箱!,准备打开西蜀黑箱,2023/8/6,16,Scenario 叙述,曹操,赤壁之战,孙权,把西蜀黑箱打开!,刘备,关羽,孔明,张飞,2023/8/6,17,Scenario 叙述,曹操,赤壁之战,孙权
6、,刘备,关羽,孔明,张飞,曹操举兵南下,刘备请孔明拟定策略.派遣关羽和张飞防守荆州,同时请孔明联络孙权,共同对抗曹操.孔明联合孙权,借东风,火烧曹军于赤壁.,2023/8/6,18,Scenario 叙述,使用UML 表示之,2023/8/6,19,Scenario 叙述,刘备,孔明,关羽,求战,请拟定策略,张飞,请防守荆州,请防守荆州前线,孙权,曹操,请联络孙权,请孙权领兵相助,借东风火攻,火攻曹军,2023/8/6,20,刘备的責任?,刘备,求战,请拟定策略,请防守荆州,请联络孙权,我必需 迎战曹操!,2023/8/6,21,使用UML表示-类图,刘备,求战,刘备,迎战曹操,迎战曹操,迎战
7、曹操,迎战曹操,迎战曹操,迎战曹操,2023/8/6,22,使用UML表示,孔明,请拟定策略,请联络孙权,请孙权领兵相助,借东风火攻,火攻曹军,孔明,拟定策略,联合孙权,借东风火攻,2023/8/6,23,使用UML表示,关羽,张飞,请防守荆州,请防守荆州前线,关羽,防守荆州,张飞,防守荆州前线,2023/8/6,24,关羽,防守荆州,张飞,防守荆州前线,刘备,迎战曹操,孔明,拟定策略,联合孙权,借东风火攻,UML的Class图,您已熟悉Use CaseSequence图Class 图,现在准备进入OOP 阶段,2023/8/6,25,3.认识 OOP,OOP 阶段的任务,-衔接OOAD 的工
8、作,-从UML 到 Visual Basic,-从Visual Basic 到 COM 组件,2023/8/6,26,使用Visual Basic,刘备,迎战曹操,写VB程序,Class 刘备Sub 迎战曹操()End Sub,2023/8/6,27,孔明,拟定策略,联合孙权,借东风火攻,使用Visual Basic,写VB程序,Class 孔明Function 拟定策略()End FunctionSub 联合孙权()End SubSub 借东风火攻()End Sub,2023/8/6,28,Class 刘备Sub 迎战曹操()End Sub,使用Visual Basic,Class 孔明Fu
9、nction 拟定策略()End FunctionSub 联合孙权()End SubSub 借东风火攻()End Sub,Class 关羽Sub 防守荆州()End Sub,Class 张飞Sub 防守前线()End Sub,依樣畫葫蘆,准备填写 Sub內容,2023/8/6,29,写VB程序內容,刘备,求战,请拟定策略,请防守荆州,请联络孙权,写VB程序,Class 刘备Dim k As New 孔明Dim g as New 关羽Sub 迎战曹操()k.拟定策略 g.防守荆州 k.联合孙权End Sub,2023/8/6,30,写VB程序內容,孔明,请拟定策略,请联络孙权,请孙权领兵相助,借
10、东风火攻,借东风火攻,写VB程序,Class 孔明Dim s As 孙权Function 拟定策略()End FunctionSub 联合孙权()s.请领兵相助 s.借东风火攻End SubSub 借东风火攻()End Sub,2023/8/6,31,写VB代码,Class 刘备Dim k As New 孔明Dim g as New 关羽Sub 迎战曹操()k.拟定策略 g.防守荆州 k.联合孙权End Sub,Class 孔明Dim s As 孙权Function 拟定策略()End FunctionSub 联合孙权()s.请领兵相助 s.借东风火攻End SubSub 借东风火攻()End
11、 Sub,2023/8/6,32,写VB代码,把VB类编译为COM组件,3.UML支持软件体系结构建模,2023/8/6,34,3.1 软件体系结构,为了表达不同的软件开发相关人员在软件开发周期的不同时期看待软件产品的不同侧重面,需要对模型进行分层。UML根据软件产品的体系结构(architecture)对软件进行分层软件体系结构由一系列的决定组成,这些决定定义了如下内容:软件系统的组织;构成软件系统的结构元素的结构及它们之间的接口;结构元素的行为及元素之间的协同(collaboration)结构元素的不断组合以构成日渐完备的子系统的过程指导软件建造过程的软件构筑风格(architectura
12、l style)静态和动态元素之间的接口、协同、构成(composition)。,2023/8/6,35,软件体系结构不仅仅决定软件的结构和行为,而且还决定软件的:用途功能性能应变性(resilience)可重用性经济和技术方面的限制和折衷以及美学考虑(aesthetic concern),2023/8/6,36,3.2 体系结构的视图,UML将软件的体系结构分解为五个不同的侧面,称为视图(view)。分别是:用例视图(Use case view)设计视图(design view)进程视图(process view)实现视图(implementation view)分布视图(deploymen
13、t view)设计视图和进程视图又可被统一称为逻辑视图(logical view)。,2023/8/6,37,2023/8/6,38,每个视图分别关注软件开发的某一侧面视图由一种或多种模型图(diagram)构成模型图描述了构成相应视图的基本模型元素(element)及它们之间的相互关系。,2023/8/6,39,3.3 用例视图(use case view),用例视图用来支持软件系统的需求分析,它定义系统的边界,关注的是系统的外部功能的描述。它从系统的使用者的角度,描述系统的外部的静态的功能动态行为系统的动态功能由UML以下模型图描述:交互图(interaction diagram)状态图(
14、state-chart diagram)活动图(activity diagram),2023/8/6,40,3.4 逻辑视图(Logical View),逻辑视图定义系统的实现逻辑,描述为实现用例图描述的功能,在对软件系统进行设计时,所产生的设计概念,设计概念又称为软件系统的设计词汇(vocabulary)。逻辑视图定义了:设计词汇的逻辑结构存在于它们之间的语义联系设计词汇包括系统的类/协同/接口及其关系对逻辑视图的描述在原则上与软件系统的实现平台无关。它相当于电子产品生产中的电原理图。逻辑视图包含的模型图有:类图(class diagrams)对象图(object diagrams)交互图(
15、interaction diagrams)状态图(state-chart diagrams)活动图(activity diagrams),2023/8/6,41,3.5 实现视图(implementation view),当系统的逻辑结构在逻辑视图里被定义之后,需要定义逻辑结构的物理实现。这包括:设计元素对应的源代码文件各物理文件之间的关系、存放路径,等等实现视图就是定义这些内容的地方,它当于电子产品的印刷电路板的布线图,2023/8/6,42,实现视图描述组成一个软件系统的各个物理部件,这些部件以各种方式组合起来,(如:不同的源代码经过编译,构成一个可执行系统;或者不同的软件组件配置成为一个
16、可执行系统;以及不同的网页文件,以特定的目录结构,组成一个网站,等等)构成了一个可实际运行的系统。实现视图包含的模型图有:部件图(Component diagram)交互图(Interaction Diagram)状态图(state-chart diagram)活动图(activity diagram),2023/8/6,43,3.6 分布视图(Deployment View),软件产品将运行在计算机硬件系统上,如果软件产品是面向网络的应用系统,则有可能同时运行在多个计算机上。分布视图用来描述软件产品在计算机硬件系统和网络上的安装、分发(delivery)、分布(distribution)在分
17、布视图中,系统的静态特性用分布图(deployment diagram)描述动态特性的描述用交互图(interaction diagram)状态图(state-chart diagram)活动图(activity diagram),4.UML构成,2023/8/6,45,4.1 UML基本构成,从软件的体系结构出发,UML把软件模型分成了五个视图,每个视图由不同的模型图构成:模型图实际上就是UML的基本成员之一作为UML的完整的概念模型,UML的构成为:UML=UML成员+UML建模规则,2023/8/6,46,UML建模规则:相当于建模语言的语法 UML成员(building blocks
18、of the UML)它是UML的基本组成部分UML成员可进一步划分为UML 基本模型元素(things in UML)关系(relationship)模型图(diagram)UML成员=UML 基本模型元素+关系+模型图,4.1.1 UML基本元素,UML成员=UML 基本模型元素+关系+模型图,2023/8/6,48,4.1.1.1 概述,UML基本模型元素,类似于电子产品电原理图里的集成电路符号,是模型图上包含的基本符号基本模型元素可分为四类,它们是:结构模型元素(structural things)行为模型元素(behavioral things)分组模型元素(grouping thi
19、ngs)注解元素(annotational things)UML基本模型元素=结构模型元素+行为模型元素+成组元素+注解元素,2023/8/6,49,4.1.1.2 结构模型元素,结构模型元素(基础包)是UML模型里的名词(noun),是模型的静态组成部分,代表软件系统的概念的,或物理的存在。例如:类(class)是最常用的一个结构模型元素,代表一系列共享同样的属性(attributes),操作(operation),关系、语义的对象(object)。,2023/8/6,50,结构模型元素一共有七种,它们是:类接口(interface)协同用例(use case)主动类(active clas
20、s)组件(component)节点(node)在这些结构元素中,最常用的包括类、用例、接口、组件等,2023/8/6,51,4.1.1.3 行为模型元素,行为模型元素(behavioral things)(行为元素包)是UML模型的动态组成部分,它是模型的动词,代表软件系统在空间和时间上的行为行为模型元素包括两类:交互(interaction)状态机(state machine)行为模型元素=交互+状态机,2023/8/6,52,交互是系统内一系列的对象之间互相交换消息的行为。消息代表软件系统内两个对象中一个对象向另一个对象发出的执行某种操作的请求。交互描述了一系列的对象为完成某一项任务而联合
21、采取的一系列的行动,其中包括这些行动在时间上的顺序,以及为执行这些动作序列,对象之间所发生的语义上的联系。所以,消息是描述交互的一个重要手段。在模型图上,消息被表示为一个箭头,2023/8/6,53,状态机:状态机是描述一个对象的动态特性的有效手段它描述的是对象在其生命周期内,在响应外界的事件的过程中,自身的状态的变化过程。状态机包括:对象状态事件由事件引起的状态之间的变迁以及变迁发生的同时对象所执行的动作,2023/8/6,54,4.1.1.4 成组模型元素,分治的原则:在为复杂的软件系统建模的时候,将大的问题分解为多个子问题分别描述和解决。UML提供了支持分治原则的语言成份,成组模型元素(
22、grouping things)(模型管理包)成组模型元素只有一类,即模型包(package)。模型包一个通用的手段,用来组织多种语言成份,其中可包含:结构模型元素行为模型元素成组模型元素自身都可以置于模型包中。模型包是纯概念性的,只存在于软件系统的开发阶段,2023/8/6,55,4.1.1.5 注解模型元素,注解大量存在于机械图和电子线路图中,被用来标示产品的工艺要求,等等UML中,也存在着相似的语言成分,这就是:注解元素(annotation things)注解元素只有一种,即标注(note)标注用来描述施加于一个或多个模型元素的限制,或对模型元素的语义加以说明标注的图形表示:一个折了角
23、的长方形在长方形中写标注的内容。标注的内容可以是形式的文本,或非形式的文本也可以是图形。,4.1.2 关系,UML成员=UML 基本模型元素+关系+模型图,2023/8/6,57,结构模型元素是UML模型的静态组成部分,静态组成部分不是孤立存在的,它们被组合在一起互相协作以完成某项任务。因此,结构模型元素之间存在着某种语义上的联系。在UML中,这种联系是关系(relationship)UML中共有4种关系,它们是:关联关系(association)依赖关系(dependency)泛化关系(generalization)实现关系(realization),4.1.3 模型图,UML成员=UML
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 UML 概述

链接地址:https://www.31ppt.com/p-5658441.html