第2讲 UML概述课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第2讲 UML概述课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2讲 UML概述课件 UML 概述 课件
- 资源描述:
-
1、上海交通大学计算机系上海交通大学计算机系2022-8-51上海交通大学计算机系上海交通大学计算机系2022-8-52wUML历史历史w什么是什么是UMLwUML与软件体系结构与软件体系结构wUML构成构成上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系2022-8-54w面向对象的分析与设计面向对象的分析与设计(OOAD)方法的发展在方法的发展在80年代末至年代末至90年代中出现了一个高潮年代中出现了一个高潮.wUML是这个高潮的产物。它不仅统一了是这个高潮的产物。它不仅统一了Booch、Rumbaugh和和Jacobson的表示方法,而且对其的表示方法,而且对
2、其作了进一步的发展,并最终统一为大众所接受的作了进一步的发展,并最终统一为大众所接受的标准建模语言标准建模语言。上海交通大学计算机系上海交通大学计算机系2022-8-55w70年代中期,公认的面向对象设计语言出现。年代中期,公认的面向对象设计语言出现。w从从1989年到年到1994年,其数量从不到十种增加年,其数量从不到十种增加到了五十多种。到了五十多种。nBooch86,GOOD(Booch86,GOOD(通用面向对象的开发),通用面向对象的开发),HOOD(HOOD(层次式层次式面向对象的设计)、面向对象的设计)、OOSDOOSD(面向对象的结构设计)等(面向对象的结构设计)等一批一批OO
3、DOOD(面向对象的设计或面向对象的开发的缩写)(面向对象的设计或面向对象的开发的缩写)n截至截至1994年,公开发表并具有一定影响的年,公开发表并具有一定影响的OOA&D方方法已达法已达50多种。多种。上海交通大学计算机系上海交通大学计算机系2022-8-56wRational公司的公司的G.Booch和和J.Rumbaugh决定将他们各决定将他们各自的方法结合起来成为一种方法。自的方法结合起来成为一种方法。1995年年10月发布了月发布了第一个版本,称作统一方法(第一个版本,称作统一方法(Unified Method 0.8)wOOSE的作者的作者I.Jacobson也加入了公司,于是也加
4、入了也加入了公司,于是也加入了统一行动,发布了第二个版本统一行动,发布了第二个版本UML0.9w鉴于统一行动的产物是一种建模语言,而不是一种建模鉴于统一行动的产物是一种建模语言,而不是一种建模方法,因此称为方法,因此称为统一建模语言统一建模语言w在此过程中,在此过程中,Rational公司发起成立了公司发起成立了UML伙伴组织,伙伴组织,开始时有开始时有12家参加,共同推出了家参加,共同推出了UML1.0版,并在版,并在1997年年1月提交给月提交给OMGw把其他几家分头向把其他几家分头向OMG提交提案的公司纳入进来,推出提交提案的公司纳入进来,推出了了UML1.1版,在版,在1997年年11
5、月月4日被日被OMG采纳采纳上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系2022-8-58wUML(统一建模语言统一建模语言)是为软件系统的制品进行是为软件系统的制品进行描描述述(specifying)、)、可视化可视化(visualizing)、)、构构造造(constructing)、)、文档化文档化(documenting)的一种语言。的一种语言。w它同样适用于商业模块和其他非软件系统。在大它同样适用于商业模块和其他非软件系统。在大型和复杂系统的建模中,型和复杂系统的建模中,UML成功地描述一些优秀成功地描述一些优秀的工程实施。的工程实施。上海交通大学
6、计算机系上海交通大学计算机系2022-8-59 OOAD OOAD 最关心最关心流程流程与元素与元素 1.描述流程(剧情)-分析 2.安排主/配角(元素)演出-设计上海交通大学计算机系上海交通大学计算机系2022-8-510 OOAD OOAD 最主要的工具最主要的工具 UML(Unified Modeling Language)认可的世界标准 19971997上海交通大学计算机系上海交通大学计算机系2022-8-511 为什么需要 UML 呢?贝多芬作曲时使用五线谱您设计软件时使用UML上海交通大学计算机系上海交通大学计算机系2022-8-512 Use Case 叙述 曹操举兵南下,西蜀就
7、拟定策略,展开部署並联络孙权,鼎力对抗曹操大军.曹操西蜀孙权西蜀 把西蜀看成黑箱!准备打开西蜀黑箱上海交通大学计算机系上海交通大学计算机系2022-8-513 Scenario 叙述 曹操赤壁之战孙权 把西蜀黑箱打开!刘备关羽孔明张飞上海交通大学计算机系上海交通大学计算机系2022-8-514 Scenario 叙述 曹操赤壁之战孙权刘备关羽孔明张飞 曹操曹操举举兵南下兵南下,刘备刘备请请孔明孔明拟拟定策略定策略.派遣派遣关羽关羽和和张飞张飞防守荆州防守荆州,同同时时请请孔明孔明联络联络孙权孙权,共同共同对抗对抗曹操曹操.孔明孔明联合联合孙权孙权,借借东风东风,火火烧烧曹曹军于军于赤壁赤壁.上
8、海交通大学计算机系上海交通大学计算机系2022-8-515 Scenario 叙述 使用 表示之上海交通大学计算机系上海交通大学计算机系2022-8-516 Scenario 叙述 刘备孔明关羽求战请拟定策略张飞请防守荆州请防守荆州前线孙权曹操请联络孙权请孙权领兵相助借东风火攻火攻曹军上海交通大学计算机系上海交通大学计算机系2022-8-517刘备的責任?刘备求战请拟定策略请防守荆州请联络孙权我必需 迎战曹操!上海交通大学计算机系上海交通大学计算机系2022-8-518使用UML表示-类图 刘备求战刘备迎战曹操迎战曹操迎战曹操迎战曹操迎战曹操迎战曹操上海交通大学计算机系上海交通大学计算机系20
9、22-8-519使用UML表示 孔明请拟定策略请联络孙权请孙权领兵相助借东风火攻火攻曹军孔明拟定策略联合孙权借东风火攻上海交通大学计算机系上海交通大学计算机系2022-8-520使用UML表示 关羽张飞请防守荆州请防守荆州前线关羽防守荆州张飞防守荆州前线上海交通大学计算机系上海交通大学计算机系2022-8-521 关羽防守荆州张飞防守荆州前线刘备迎战曹操孔明拟定策略联合孙权借东风火攻UML的Class图 上海交通大学计算机系上海交通大学计算机系2022-8-5223.认识 OOP OOP 阶段的任务 -衔接OOAD 的工作-从UML 到 Visual Basic-从Visual Basic 到
10、 COM 组件上海交通大学计算机系上海交通大学计算机系2022-8-523 使用Visual Basic 刘备迎战曹操写VB程序Class 刘备Sub 迎战曹操()End Sub上海交通大学计算机系上海交通大学计算机系2022-8-524 孔明拟定策略联合孙权借东风火攻使用Visual Basic 写VB程序Class 孔明Function 拟定策略()End FunctionSub 联合孙权()End SubSub 借东风火攻()End Sub上海交通大学计算机系上海交通大学计算机系2022-8-525Class 刘备Sub 迎战曹操()End Sub使用Visual BasicClass
11、孔明Function 拟定策略()End FunctionSub 联合孙权()End SubSub 借东风火攻()End SubClass 关羽Sub 防守荆州()End SubClass 张飞Sub 防守前线()End Sub上海交通大学计算机系上海交通大学计算机系2022-8-526 写VB程序內容 刘备求战请拟定策略请防守荆州请联络孙权写VB程序Class 刘备Dim k As New 孔明Dim g as New 关羽Sub 迎战曹操()k.拟定策略 g.防守荆州 k.联合孙权End Sub上海交通大学计算机系上海交通大学计算机系2022-8-527写VB程序內容 孔明请拟定策略请联络
12、孙权请孙权领兵相助借东风火攻借东风火攻写VB程序Class 孔明Dim s As 孙权Function 拟定策略()End FunctionSub 联合孙权()s.请领兵相助 s.借东风火攻End SubSub 借东风火攻()End Sub上海交通大学计算机系上海交通大学计算机系2022-8-528 写VB代码 Class 刘备Dim k As New 孔明Dim g as New 关羽Sub 迎战曹操()k.拟定策略 g.防守荆州 k.联合孙权End SubClass 孔明Dim s As 孙权Function 拟定策略()End FunctionSub 联合孙权()s.请领兵相助 s.借东
13、风火攻End SubSub 借东风火攻()End Sub上海交通大学计算机系上海交通大学计算机系2022-8-529 写VB代码 Windows DNA上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系2022-8-531w为了表达不同的软件开发相关人员在软件开发周期的不同时期看待为了表达不同的软件开发相关人员在软件开发周期的不同时期看待软件产品的不同侧重面软件产品的不同侧重面,需要对模型进行分层。需要对模型进行分层。UML根据软件产品根据软件产品的体系结构(的体系结构(architecture)对软件进行分层)对软件进行分层w软件体系结构由一系列的决定组成,软件
14、体系结构由一系列的决定组成,这些决定定义了如下内容:这些决定定义了如下内容:软件系统的组织;软件系统的组织;构成软件系统的结构元素的结构及它们之间的接口;构成软件系统的结构元素的结构及它们之间的接口;结构元素的行为及元素之间的协同(结构元素的行为及元素之间的协同(collaboration)结构元素的不断组合以构成日渐完备的子系统的过程结构元素的不断组合以构成日渐完备的子系统的过程指导软件建造过程的指导软件建造过程的软件构筑风格(软件构筑风格(architectural style)静态和动态元素之间的接口、协同、构成(静态和动态元素之间的接口、协同、构成(composition)。)。上海交
15、通大学计算机系上海交通大学计算机系2022-8-532w软件体系结构不仅仅决定软件的结构和行为,软件体系结构不仅仅决定软件的结构和行为,而且还决而且还决定软件的:定软件的:用途用途功能功能性能性能应变性应变性(resilience)可重用性可重用性经济和技术方面的限制和折衷经济和技术方面的限制和折衷以及美学考虑(以及美学考虑(aesthetic concern)上海交通大学计算机系上海交通大学计算机系2022-8-533wUML将软件的体系结构分解为五个不同的侧面,称为视将软件的体系结构分解为五个不同的侧面,称为视图图(view)。分别是:。分别是:用例视图(用例视图(Use case vie
16、w)设计视图设计视图(design view)进程视图(进程视图(process view)实现视图实现视图(implementation view)分布视图分布视图(deployment view)设计视图和进程视图又可被统一称为逻辑视图设计视图和进程视图又可被统一称为逻辑视图(logical view)。上海交通大学计算机系上海交通大学计算机系2022-8-534 设计视图设计视图实现视图实现视图进程视图进程视图分布视图分布视图用例视图用例视图动态行为动态行为设计词汇、功能描述设计词汇、功能描述系统组装、配系统组装、配置管理置管理性能、稳定性性能、稳定性、吞吐率、吞吐率系统拓扑、分系统拓扑
17、、分布、分发、安布、分发、安装装上海交通大学计算机系上海交通大学计算机系2022-8-535w每个视图分别关注软件开发的某一侧面每个视图分别关注软件开发的某一侧面w视图由一种或多种模型图视图由一种或多种模型图(diagram)构成构成w模型图描述了模型图描述了构成相应视图的基本模型元素(构成相应视图的基本模型元素(element)及它们之间的相互关系。及它们之间的相互关系。上海交通大学计算机系上海交通大学计算机系2022-8-536w用例视图用来支持软件系统的需求分析,它定义系统的用例视图用来支持软件系统的需求分析,它定义系统的边界,关注的是系统的外部功能的描述。边界,关注的是系统的外部功能的
18、描述。w它从系统的使用者的角度,描述系统的外部的它从系统的使用者的角度,描述系统的外部的静态的功能静态的功能动态行为动态行为w系统的动态功能由系统的动态功能由UML以下模型图描述:以下模型图描述:交互图交互图(interaction diagram)状态图状态图(state-chart diagram)活动图活动图(activity diagram)上海交通大学计算机系上海交通大学计算机系2022-8-537w逻辑视图定义系统的实现逻辑逻辑视图定义系统的实现逻辑,描述为描述为实现用例图描述的功能实现用例图描述的功能,在,在对软件系统进行设计时对软件系统进行设计时,所产生的设计概念,设计概念又称
19、为软件所产生的设计概念,设计概念又称为软件系统的设计词汇系统的设计词汇(vocabulary)。w逻辑视图定义了逻辑视图定义了:设计词汇的逻辑结构设计词汇的逻辑结构存在于它们之间的语义联系存在于它们之间的语义联系设计词汇包括系统的类设计词汇包括系统的类/协同协同/接口及其关系接口及其关系w对逻辑视图的描述在原则上与软件系统的实现平台无关。对逻辑视图的描述在原则上与软件系统的实现平台无关。它相当于它相当于电子产品生产中的电原理图。逻辑视图包含的模型图有:电子产品生产中的电原理图。逻辑视图包含的模型图有:类图(类图(class diagrams)对象图(对象图(object diagrams)交互
20、图(交互图(interaction diagrams)状态图(状态图(state-chart diagrams)活动图(活动图(activity diagrams)上海交通大学计算机系上海交通大学计算机系2022-8-538w当系统的逻辑结构在逻辑视图里被定义之后,当系统的逻辑结构在逻辑视图里被定义之后,需要定义逻辑结构的物理实现。这包括:需要定义逻辑结构的物理实现。这包括:设计元素对应的源代码文件设计元素对应的源代码文件各物理文件之间的关系、存放路径,等等各物理文件之间的关系、存放路径,等等w实现视图就是定义这些内容的地方,它当于电子实现视图就是定义这些内容的地方,它当于电子产品的印刷电路板
21、的布线图产品的印刷电路板的布线图上海交通大学计算机系上海交通大学计算机系2022-8-539w实现视图描述组成一个软件系统的各个物理部件,这些实现视图描述组成一个软件系统的各个物理部件,这些部件以各种方式组合起来,(如:部件以各种方式组合起来,(如:不同的源代码经过编不同的源代码经过编译,构成一个可执行系统;译,构成一个可执行系统;或者不同的软件组件配置成或者不同的软件组件配置成为一个可执行系统;以及不同的网页文件,以特定的目为一个可执行系统;以及不同的网页文件,以特定的目录结构,组成一个网站,等等)录结构,组成一个网站,等等)构成了一个可实际运行构成了一个可实际运行的系统。的系统。w实现视图
22、包含的模型图有实现视图包含的模型图有:部件图(部件图(Component diagram)交互图(交互图(Interaction Diagram)状态图(状态图(state-chart diagram)活动图(活动图(activity diagram)上海交通大学计算机系上海交通大学计算机系2022-8-540w软件产品将运行在计算机硬件系统上软件产品将运行在计算机硬件系统上,如果软件产品是面如果软件产品是面向网络的应用系统,则有可能同时运行在多个计算机上。向网络的应用系统,则有可能同时运行在多个计算机上。w分布视图用来描述软件产品在计算机硬件系统和网络上分布视图用来描述软件产品在计算机硬件系
23、统和网络上的安装、分发(的安装、分发(delivery)、分布()、分布(distribution)w在分布视图中,系统的静态特性用分布图在分布视图中,系统的静态特性用分布图(deployment diagram)描述)描述w动态特性的动态特性的描述描述用用交互图(交互图(interaction diagram)状态图(状态图(state-chart diagram)活动图(活动图(activity diagram)上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系2022-8-542w从软件的体系结构出发,从软件的体系结构出发,UML把软件模型分成了五个视把软件
24、模型分成了五个视图,每个视图由不同的模型图构成:图,每个视图由不同的模型图构成:模型图实际上就是模型图实际上就是UML的基本成员的基本成员之一之一作为作为UML的完整的概念模型,的完整的概念模型,UML的构成为:的构成为:UML=UML成员成员+UML建模规则建模规则上海交通大学计算机系上海交通大学计算机系2022-8-543wUML建模规则:相当于建模语言的语法建模规则:相当于建模语言的语法 wUML成员(成员(building blocks of the UML)它是它是UML的基本组成部分的基本组成部分UML成员可进一步划分为成员可进一步划分为UML 基本模型元素(基本模型元素(thin
25、gs in UML)关系(关系(relationship)模型图(模型图(diagram)UML成员成员=UML 基本模型元素基本模型元素+关系关系+模型图模型图 上海交通大学计算机系上海交通大学计算机系UML成员成员=UML 基本模型元素基本模型元素+关系关系+模型图模型图上海交通大学计算机系上海交通大学计算机系2022-8-545wUML基本模型元素,类似于电子产品电原理图里的集成基本模型元素,类似于电子产品电原理图里的集成电路符号,是模型图上包含的基本符号电路符号,是模型图上包含的基本符号w基本模型元素可分为四类,基本模型元素可分为四类,它们是:它们是:结构模型元素(结构模型元素(str
展开阅读全文