第2章 统一建模语言UML教学课件.pptx
《第2章 统一建模语言UML教学课件.pptx》由会员分享,可在线阅读,更多相关《第2章 统一建模语言UML教学课件.pptx(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 统一建模语言UML在线开放课程 SDUFE面向对象的系统分析与设计在线开放课程第2章 统一建模语言UML 2.1 UML概概述述 2.3 UML与与面向面向对象的系象的系统开开发统一一过程程 2.2 UML核心元素核心元素引言:面向引言:面向对象的困象的困难在线开放课程引言:面向对象引言:面向对象的困难的困难l面向对象尽管有这么一大堆的好处,它也有着其与生俱来的困难面向对象尽管有这么一大堆的好处,它也有着其与生俱来的困难。如果把构建一套系统比喻为组装一辆汽车,我们利用汽车零部件如果把构建一套系统比喻为组装一辆汽车,我们利用汽车零部件能够组装能够组装出我们需要的功能,但是出我们需要的功能
2、,但是,却,却没有告诉我们零件没有告诉我们零件是怎么是怎么来的来的?难道零件是从难道零件是从石头里蹦出来的孙悟空,突然出现的吗石头里蹦出来的孙悟空,突然出现的吗?符合规则的标准符合规则的标准零件零件 是如何设计是如何设计和制造出来的和制造出来的?l 上述疑问实质上体现了现实世界和对象世界的差距,上述疑问实质上体现了现实世界和对象世界的差距,在线开放课程引言:面向对象的困难引言:面向对象的困难l即使面对简单的传统商业模式,我们仍有如下困惑:即使面对简单的传统商业模式,我们仍有如下困惑:对象对象是怎么被抽象出来的是怎么被抽象出来的?现实世界和对象世界看上去差别是那么大,为现实世界和对象世界看上去差
3、别是那么大,为什么要这么抽象而不是那么抽象呢什么要这么抽象而不是那么抽象呢?(Why)对象世界由于其灵活性,可以任意组合,可是我们怎么知道某个组合就正对象世界由于其灵活性,可以任意组合,可是我们怎么知道某个组合就正好满足了现实世界的需求呢好满足了现实世界的需求呢?什么样的组合是好的,什么样的组合是差的什么样的组合是好的,什么样的组合是差的呢呢?(How)抛开现实世界,对象世界是如此的难以理解。如果只给我们一个对象组合,抛开现实世界,对象世界是如此的难以理解。如果只给我们一个对象组合,我们怎么才能理解它表达了怎样的含义呢?(我们怎么才能理解它表达了怎样的含义呢?(What)在线开放课程引言:引言
4、:面向对象的困难在线开放课程l现实世界和对象世界之间存在着一道鸿沟,这道鸿沟的名字就叫做现实世界和对象世界之间存在着一道鸿沟,这道鸿沟的名字就叫做抽象。抽象是面向对象的精髓所在,同时也是面向对象的困难所在。抽象。抽象是面向对象的精髓所在,同时也是面向对象的困难所在。实际上,要想跨越这道鸿沟,我们需要:实际上,要想跨越这道鸿沟,我们需要:一种把现实世界映射到对象世界的方法。一种把现实世界映射到对象世界的方法。一种从对象世界描述现实世界的方法。一种从对象世界描述现实世界的方法。一种验证对象世界行为是否正确反映了现实世界的方法一种验证对象世界行为是否正确反映了现实世界的方法。引言:面向对象的困难引言
5、:面向对象的困难在线开放课程l幸运的是,幸运的是,UMLUML,准确地说是,准确地说是UMLUML背后所代表的背后所代表的面向对象建模方法面向对象建模方法,正好架起了跨越这道鸿沟的桥梁。正好架起了跨越这道鸿沟的桥梁。面向对象的困难面向对象的困难在线开放课程OOM的基本思想在线开放课程l如果你的分析习惯是在调研需求时最先弄清楚有多少业务流程,如果你的分析习惯是在调研需求时最先弄清楚有多少业务流程,先画出业务流程图,然后顺藤摸瓜找出业务流程中每一步骤的参先画出业务流程图,然后顺藤摸瓜找出业务流程中每一步骤的参与部门或岗位,弄清楚在这一步参与者所做的事情和填写表单的与部门或岗位,弄清楚在这一步参与者
6、所做的事情和填写表单的结果,并关心用户是如何把这份表单传给到下一个环节的。结果,并关心用户是如何把这份表单传给到下一个环节的。那么那么很不幸,你还在做面向过程的事情很不幸,你还在做面向过程的事情。l如果你的分析习惯是在调研需求时最先弄清楚有多少部门,多少如果你的分析习惯是在调研需求时最先弄清楚有多少部门,多少岗位,然后找到每一个岗位的业务代表,问他们类似的问题:你岗位,然后找到每一个岗位的业务代表,问他们类似的问题:你平时都做什么平时都做什么?这件事是谁交办的这件事是谁交办的?做完了你需要通知或传达给谁做完了你需要通知或传达给谁吗吗?做这件事情你都需要填写些什么表格吗做这件事情你都需要填写些什
7、么表格吗?那么恭喜你,你已那么恭喜你,你已经经OO啦啦!闲话:今天你闲话:今天你OO了吗?了吗?在线开放课程2.1 UML概概述述l2.1.1 2.1.1 为什么要建模为什么要建模在线开放课程2.1 UML概概述述l2.1.1 2.1.1 为什么要建模为什么要建模要创建复杂的系统,开发人员必须抽象出系统不同的视图,使用准确的表示方要创建复杂的系统,开发人员必须抽象出系统不同的视图,使用准确的表示方法来构建系统的模型,检验模型是否满足用户对目标系统的需求,并在分析设法来构建系统的模型,检验模型是否满足用户对目标系统的需求,并在分析设计过程中逐步把与实现有关的细节添加至模型中,直至在实现阶段用程序
8、设计计过程中逐步把与实现有关的细节添加至模型中,直至在实现阶段用程序设计语言等开发环境将其转换为具体的实现。语言等开发环境将其转换为具体的实现。所以说,每一个失败的信息系统项目都有其特殊的原因,但是成功的项目在许所以说,每一个失败的信息系统项目都有其特殊的原因,但是成功的项目在许多方面都是类似的,信息系统开发获得成功的因素有很多,但是一个基本的因多方面都是类似的,信息系统开发获得成功的因素有很多,但是一个基本的因素就是对建模的使用。素就是对建模的使用。在线开放课程2.1.1 为什什么么要建模要建模l1.1.建模的目的建模的目的模型模型有助于按照所需的样式可视化(有助于按照所需的样式可视化(Vi
9、sualizeVisualize)目标系统)目标系统。模型模型能够描述(能够描述(SpecifySpecify)目标系统的结构和行为)目标系统的结构和行为。模型模型提供构造(提供构造(ConstructConstruct)目标系统的依据)目标系统的依据。模型模型可以使目标系统文档化(可以使目标系统文档化(DocumentDocument)。在线开放课程2.1.1 为什什么么要建模要建模l2.2.建模的原则建模的原则准确准确原则:原则:模型必须准确地反映软件系统的真实情况。如果模型不能真实的反映模型必须准确地反映软件系统的真实情况。如果模型不能真实的反映系统的真实情况,就使模型失去了应有的价值。
10、在系统开发的整个过程,模型必系统的真实情况,就使模型失去了应有的价值。在系统开发的整个过程,模型必须与目标系统保持一致。须与目标系统保持一致。标准原则:标准原则:模型必须在某种程度上是统一的、标准的。建模的一个基本目的就是模型必须在某种程度上是统一的、标准的。建模的一个基本目的就是进行交流,如果开发团队在建模时采用统一的建模方法和符号,成员之间的交流进行交流,如果开发团队在建模时采用统一的建模方法和符号,成员之间的交流才会高效地进行。否则,交流的时候就会发生困难,就会影响系统开发的成败。才会高效地进行。否则,交流的时候就会发生困难,就会影响系统开发的成败。多视角原则:多视角原则:需要从多个视角
11、创建不同的模型,单一的模型是不够的。为了更好需要从多个视角创建不同的模型,单一的模型是不够的。为了更好地理解问题域和目标系统,在建模过程中,需要创建多个互补的视图,例如用例地理解问题域和目标系统,在建模过程中,需要创建多个互补的视图,例如用例视图用来揭示系统需求,逻辑视图用来揭示系统内部逻辑。这些视图从整体上描视图用来揭示系统需求,逻辑视图用来揭示系统内部逻辑。这些视图从整体上描述了系统的开发蓝图述了系统的开发蓝图。在线开放课程2.1.2 什什么么是是UMLl统一建模语言(统一建模语言(Unified Modeling Language,UML)是一种支)是一种支持模型化和信息系统开发的图形化
12、语言。它不是系统设计的方法,持模型化和信息系统开发的图形化语言。它不是系统设计的方法,而是系统建模的标准。而是系统建模的标准。UMLUML经历了多年的研究、发展并不断完善,经历了多年的研究、发展并不断完善,成为现在诸多领域内建模的首选标准。信息系统开发人员主要使成为现在诸多领域内建模的首选标准。信息系统开发人员主要使用用UMLUML来构造各种模型,以便描述系统需求和进行系统分析与设来构造各种模型,以便描述系统需求和进行系统分析与设计。计。在线开放课程 为什么需要 UML?在线开放课程 为什么为什么需要需要 UML?貝多芬作曲時使用貝多芬作曲時使用五五线谱线谱我们设计软件时我们设计软件时使用使用
13、UMLUML!在线开放课程2.1.3 UML的的发展展过程程三位三位UML 创始人,创始人,合力提出合力提出UML统一统一建模语言及工具,建模语言及工具,并使其成为全球公并使其成为全球公认标准认标准在线开放课程2.1.3 UML的的发展展过程程在线开放课程l统一标准统一标准:UML中的中文含义为统一建模语言,中的中文含义为统一建模语言,“统一统一”在在UML中具有特殊中具有特殊的作用和含义,的作用和含义,统一的目一的目标就是就是标准,就是要人和机器都能准,就是要人和机器都能读懂。懂。UML合并了合并了许多面向多面向对象方法中被普遍接受的概念,象方法中被普遍接受的概念,对每一种概念每一种概念UM
14、L都都给出出了清晰的定了清晰的定义、表示法和有关、表示法和有关术语,使用,使用UML可以可以对已有的各种方法建立的模已有的各种方法建立的模型型进行描述,并比原来的方法描述得更好。行描述,并比原来的方法描述得更好。在在软件开件开发的生命周期方面,的生命周期方面,UML对于开于开发的要求具有无的要求具有无缝性,开性,开发过程中的程中的不同不同阶段可以采用相同的一整套概念和表示法,在同一个模型中它段可以采用相同的一整套概念和表示法,在同一个模型中它们可以混合可以混合使用,而不必去使用,而不必去转换概念和表示法。概念和表示法。这种无种无缝性性对选代的增量式代的增量式软件开件开发至关至关重要。重要。2.
15、1.4 UML的特点的特点在线开放课程l面向面向对象与可象与可视化:化:UML还吸取了面向吸取了面向对象技象技术领域中其他流派的域中其他流派的长处。UML符号表示考符号表示考虑了各种方法的了各种方法的图形表示,形表示,删掉了大量易引起混乱的、多余掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号;系的和极少使用的符号,也添加了一些新符号;系统的分析与的分析与设计模型都可以用模型都可以用UML模型清晰地表示,可用于复模型清晰地表示,可用于复杂软件系件系统的建模。的建模。l独立于开独立于开发过程:程:UML是一种建模是一种建模语言言,不依,不依赖于特定的于特定的编程程语言,言,UML
16、可可应用于运行各种不同的用于运行各种不同的编程程实现话言和开言和开发平台的系平台的系统。l应用用领域广:域广:UML适用于各种适用于各种领域的建模,包括大型的、复域的建模,包括大型的、复杂的、的、实时的、的、分布的、集中式数据或分布的、集中式数据或计算的、嵌入式的系算的、嵌入式的系统等。等。2.1.4 UML的特点的特点在线开放课程l至此,已经对UML的发展过程有了一定的了解,并且认识了建模流程和工具。除了上述所了解的UML基本概述之外,还需要了解一下UML的视图、图、事物、关系、通用机制等核心元素。2.2 UML的核心元素的核心元素在线开放课程l在对复杂的工程进行建模时,系统可由单一的图形来
17、描述,该图在对复杂的工程进行建模时,系统可由单一的图形来描述,该图形精确地定义了整个系统。但是,单一的图形不可能包含系统所形精确地定义了整个系统。但是,单一的图形不可能包含系统所需的所有信息,更不可能描述系统的整体结构功能。需的所有信息,更不可能描述系统的整体结构功能。UMLUML中使用视中使用视图来划分系统各个方面,每种视图描述系统某一方面的特性。完图来划分系统各个方面,每种视图描述系统某一方面的特性。完整的系统由不同的视图从不同的角度共同描述,这样系统才可能整的系统由不同的视图从不同的角度共同描述,这样系统才可能被精确定义。被精确定义。UMLUML中具有多种视图,细分起来共有中具有多种视图
18、,细分起来共有5 5种:用例视图、种:用例视图、逻辑视图、逻辑视图、进程进程视图、实现视图和部署视图。视图、实现视图和部署视图。2.2.1 UML视图在线开放课程2.2.1 UML视图在线开放课程l用例视图强调从系统的外部参与者用例视图强调从系统的外部参与者(主要是用户主要是用户)角度需要的功能,描述系角度需要的功能,描述系统应该具有的功能。用例是系统中的一个功能单元,可以被描述为参与者统应该具有的功能。用例是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用。用户对系统要求的功能被当作多个用例在用与系统之间的一次交互作用。用户对系统要求的功能被当作多个用例在用例视图中进行描述,
19、一个用例就是对系统的一个用法的通用描述。例视图中进行描述,一个用例就是对系统的一个用法的通用描述。l用例视图是其他视图的核心,它的内容直接驱动其他视图的开发。系统要用例视图是其他视图的核心,它的内容直接驱动其他视图的开发。系统要提供的功能都在用例视图中描述,用例视图的修改会对所有其他的视图产提供的功能都在用例视图中描述,用例视图的修改会对所有其他的视图产生影响。此外,通过测试用例视图还可以检验最终系统。生影响。此外,通过测试用例视图还可以检验最终系统。l描述用例视图的图:用例图和活动图描述用例视图的图:用例图和活动图1.用例用例视图在线开放课程l逻辑视图的使用者主要是设计人员和开发人员,它描述
20、如何实现用逻辑视图的使用者主要是设计人员和开发人员,它描述如何实现用例视图所提出的系统内部的功能。例视图所提出的系统内部的功能。l与用例视图相比,逻辑视图主要关注系统内部,它既描述系统的静与用例视图相比,逻辑视图主要关注系统内部,它既描述系统的静态结构,如类、对象及它们之间的关系,又描述系统内部的动态协态结构,如类、对象及它们之间的关系,又描述系统内部的动态协作关系,如顺序图、协作图、状态图。作关系,如顺序图、协作图、状态图。2.逻辑视图在线开放课程l也称为并发视图,进程视图的使用者主要是开发人员和系统集成人也称为并发视图,进程视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用
21、、代码的并行执行以及系统环境中员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。异步事件的处理。l描述描述进程进程视图主要使用状态图、协作图和活动图。视图主要使用状态图、协作图和活动图。l重要性:除了将系统重要性:除了将系统划分为并发执行的控制以外,并发视图还需要划分为并发执行的控制以外,并发视图还需要处理线程之间的通信和同步。处理线程之间的通信和同步。3.进程程视图在线开放课程l也成为组件视图,实现视图用来说明代码的结构,描述的是组成一也成为组件视图,实现视图用来说明代码的结构,描述的是组成一个信息系统的各个物理部件,这些物理部件以各种方式(例如,不个信息系统的各个物
22、理部件,这些物理部件以各种方式(例如,不同的源代码经过编译,构成一个可执行系统;或者不同的网页文件,同的源代码经过编译,构成一个可执行系统;或者不同的网页文件,以特定的目录结构,组成一个网站等)组合起来,构成一个可实际以特定的目录结构,组成一个网站等)组合起来,构成一个可实际执行的系统。执行的系统。l描述实现视图的主要是构件图(组件图),它的使用者主要是设计描述实现视图的主要是构件图(组件图),它的使用者主要是设计者、开发者。者、开发者。l重要性:描述系统如何划分为软件构件,如何进行编程。重要性:描述系统如何划分为软件构件,如何进行编程。4.实现视图在线开放课程l部署视图描述信息系统在计算机硬
23、件系统和网络上的安装、分发和部署视图描述信息系统在计算机硬件系统和网络上的安装、分发和分布情况分布情况。例如,一个程序或对象在哪台计算机上执行,执行程序。例如,一个程序或对象在哪台计算机上执行,执行程序的各结点设备之间是如何连接的。的各结点设备之间是如何连接的。l使用者主要是开发人员、系统集成人员和测试人员,它显示系统的使用者主要是开发人员、系统集成人员和测试人员,它显示系统的物理部署,它描述位于结点上的运行实例的部署情况,还允许评估物理部署,它描述位于结点上的运行实例的部署情况,还允许评估分配结果和资源分配。分配结果和资源分配。l部署视图一般使用部署图来描述。部署视图一般使用部署图来描述。5
24、.部署部署视图在线开放课程l每一种每一种UMLUML的视图都是由一个或多个图组成的,图就是系统架构在某的视图都是由一个或多个图组成的,图就是系统架构在某个侧面的表示,所有的图一起组成了系统的完整视图。个侧面的表示,所有的图一起组成了系统的完整视图。UML1.xUML1.x提供提供了了9 9种不同的图,可以分为三大类:第一类是静态图,包括类图、对种不同的图,可以分为三大类:第一类是静态图,包括类图、对象图、构件图和部署图;第二类是动态图,包括顺序图、协作图和象图、构件图和部署图;第二类是动态图,包括顺序图、协作图和状态图;第三类是活动图和用例图。状态图;第三类是活动图和用例图。2.2.2 UML
25、图在线开放课程l类图类图(Class Diagram)(Class Diagram)以类为中心,图中的其他元素或属于某个类,以类为中心,图中的其他元素或属于某个类,或与类相关联。或与类相关联。l在类图中,类可以有多种方式相互连接:关联、继承、聚合、组合、在类图中,类可以有多种方式相互连接:关联、继承、聚合、组合、依赖等,这些连接称为类之间的关系。依赖等,这些连接称为类之间的关系。l所有的关系连同每个类内部结构都在类图中显示。所有的关系连同每个类内部结构都在类图中显示。1.类图在线开放课程l对象图对象图(Object Diagram)(Object Diagram)是类图的变体,它使用与类图相类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 统一建模语言UML教学课件 统一 建模 语言 UML 教学 课件
限制150内