【教学课件】第2讲UML概述.ppt
《【教学课件】第2讲UML概述.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第2讲UML概述.ppt(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、上海交通大学计算机系上海交通大学计算机系第第2讲讲 UML概述概述1/9/20231上海交通大学计算机系上海交通大学计算机系内容内容wUML历史史w什么是什么是UMLwUML与与软件体系件体系结构构wUML构成构成1/9/20232上海交通大学计算机系上海交通大学计算机系1.UML历史历史上海交通大学计算机系上海交通大学计算机系1.1 UML产生与发展产生与发展w面向面向对象的分析与象的分析与设计(OOAD)方法的方法的发展在展在80年代末至年代末至90年代中出年代中出现了一个高潮了一个高潮.wUML是是这个高潮的个高潮的产物。它不物。它不仅统一了一了Booch、Rumbaugh和和Jacob
2、son的表示方法,而且的表示方法,而且对其其作了作了进一步的一步的发展,并最展,并最终统一一为大众所接受的大众所接受的标准建模准建模语言言。1/9/20234上海交通大学计算机系上海交通大学计算机系w70年代中期,公年代中期,公认的面向的面向对象象设计语言出言出现。w从从1989年到年到1994年,其数量从不到十种增加到年,其数量从不到十种增加到了五十多种。了五十多种。nBooch86,GOOD(Booch86,GOOD(通用面向通用面向对象的开象的开发),),HOOD(HOOD(层次式次式面向面向对象的象的设计)、)、OOSDOOSD(面向(面向对象的象的结构构设计)等)等一批一批OODOO
3、D(面向(面向对象的象的设计或面向或面向对象的开象的开发的的缩写)写)n截至截至1994年,公开年,公开发表并具有一定影响的表并具有一定影响的OOA&D方方法已达法已达50多种。多种。1/9/20235上海交通大学计算机系上海交通大学计算机系wRational公司的公司的G.Booch和和J.Rumbaugh决定将他决定将他们各各自的方法自的方法结合起来成合起来成为一种方法。一种方法。1995年年10月月发布了布了第一个版本,称作第一个版本,称作统一方法(一方法(UnifiedMethod0.8)wOOSE的作者的作者I.Jacobson也加入了公司,于是也加入了也加入了公司,于是也加入了统一
4、行一行动,发布了第二个版本布了第二个版本UML0.9w鉴于于统一行一行动的的产物是一种建模物是一种建模语言,而不是一种建模言,而不是一种建模方法,因此称方法,因此称为统一建模一建模语言言w在此在此过程中,程中,Rational公司公司发起成立了起成立了UML伙伴伙伴组织,开始开始时有有12家参加,共同推出了家参加,共同推出了UML1.0版,并在版,并在1997年年1月提交月提交给OMGw把其他几家分把其他几家分头向向OMG提交提案的公司提交提案的公司纳入入进来,推出来,推出了了UML1.1版,在版,在1997年年11月月4日被日被OMG采采纳1/9/20236上海交通大学计算机系上海交通大学计
5、算机系2.什么是什么是UML?上海交通大学计算机系上海交通大学计算机系2.1 概述概述wUML(统一建模一建模语言言)是是为软件系件系统的制品的制品进行行描描述述(specifying)、)、可可视化化(visualizing)、)、构构造造(constructing)、)、文档化文档化(documenting)的)的一种一种语言。言。w它同它同样适用于商适用于商业模模块和其他非和其他非软件系件系统。在大。在大型和复型和复杂系系统的建模中,的建模中,UML成功地描述一些成功地描述一些优秀秀的工程的工程实施。施。1/9/20238上海交通大学计算机系上海交通大学计算机系曹操孙权Environme
6、ntEnvironment 话说三国演义OOADOOAD 适用于社会组织法分析适用于社会组织法分析(Domain)西蜀1/9/20239上海交通大学计算机系上海交通大学计算机系曹操孙权EnvironmentEnvironment刘备关羽孔明张飞赤壁之战其它流程(Domain)西蜀曹操进兵引发西蜀的流程谁来执行流程呢?1/9/202310上海交通大学计算机系上海交通大学计算机系 OOAD OOAD 最关心最关心流程流程与元素与元素 1.描述流程(剧情)-分析 赤壁之战其它流程2.安排主/配角(元素)演出-设计刘备关羽孔明张飞1/9/202311上海交通大学计算机系上海交通大学计算机系 OOAD
7、OOAD 最主要的工具最主要的工具 UML(Unified Modeling Language)OMG 认可的世界标准 199719971/9/202312上海交通大学计算机系上海交通大学计算机系 为什么需要 UML 呢?贝多芬作曲时使用五线谱您设计软件时使用UML1/9/202313上海交通大学计算机系上海交通大学计算机系 为什么需要 UML 呢?五线谱有多种音符UML也有多种符号刘备孔明关羽曹操赤壁之战其它流程空城計退敵 Use Case 图 Sequence 图1/9/202314上海交通大学计算机系上海交通大学计算机系 Use Case 叙述 曹操举兵南下,西蜀就拟定策略,展开部署並联
8、络孙权,鼎力对抗曹操大军.曹操赤壁之战孙权西蜀 把西蜀看成黑箱!准备打开西蜀黑箱1/9/202315上海交通大学计算机系上海交通大学计算机系 Scenario 叙述 曹操赤壁之战孙权 把西蜀黑箱打开!刘备关羽孔明张飞1/9/202316上海交通大学计算机系上海交通大学计算机系 Scenario 叙述 曹操赤壁之战孙权刘备关羽孔明张飞 曹操曹操举举兵南下兵南下,刘备刘备请请孔明孔明拟拟定策略定策略.派遣派遣关关羽羽和和张飞张飞防守荆州防守荆州,同同时时请请孔明孔明联络联络孙权孙权,共同共同对抗对抗曹操曹操.孔明孔明联合联合孙权孙权,借借东风东风,火火烧烧曹曹军于军于赤壁赤壁.1/9/202317
9、上海交通大学计算机系上海交通大学计算机系 Scenario 叙述 使用UML 表示之1/9/202318上海交通大学计算机系上海交通大学计算机系 Scenario 叙述 刘备孔明关羽求战请拟定策略张飞请防守荆州请防守荆州前线孙权曹操请联络孙权请孙权领兵相助借东风火攻火攻曹军1/9/202319上海交通大学计算机系上海交通大学计算机系刘备的責任?刘备求战请拟定策略请防守荆州请联络孙权我必需 迎战曹操!1/9/202320上海交通大学计算机系上海交通大学计算机系使用UML表示-类图 刘备求战刘备迎战曹操迎战曹操迎战曹操迎战曹操迎战曹操迎战曹操1/9/202321上海交通大学计算机系上海交通大学计算
10、机系使用UML表示 孔明请拟定策略请联络孙权请孙权领兵相助借东风火攻火攻曹军孔明拟定策略联合孙权借东风火攻1/9/202322上海交通大学计算机系上海交通大学计算机系使用UML表示 关羽张飞请防守荆州请防守荆州前线关羽防守荆州张飞防守荆州前线1/9/202323上海交通大学计算机系上海交通大学计算机系 关羽防守荆州张飞防守荆州前线刘备迎战曹操孔明拟定策略联合孙权借东风火攻UML的Class图 您已熟悉Use CaseSequence图Class 图现在准备进入OOP 阶段1/9/202324上海交通大学计算机系上海交通大学计算机系3.认识 OOP OOP 阶段的任务 -衔接OOAD 的工作-从
11、UML 到 Visual Basic-从Visual Basic 到 COM 组件1/9/202325上海交通大学计算机系上海交通大学计算机系 使用Visual Basic 刘备迎战曹操写VB程序Class 刘备Sub 迎战曹操()End Sub1/9/202326上海交通大学计算机系上海交通大学计算机系 孔明拟定策略联合孙权借东风火攻使用Visual Basic 写VB程序Class 孔明Function 拟定策略()End FunctionSub 联合孙权()End SubSub 借东风火攻()End Sub1/9/202327上海交通大学计算机系上海交通大学计算机系Class 刘备Sub
12、 迎战曹操()End Sub使用Visual BasicClass 孔明Function 拟定策略()End FunctionSub 联合孙权()End SubSub 借东风火攻()End SubClass 关羽Sub 防守荆州()End SubClass 张飞Sub 防守前线()End Sub依樣畫葫蘆准备填写 Sub內容1/9/202328上海交通大学计算机系上海交通大学计算机系 写VB程序內容 刘备求战请拟定策略请防守荆州请联络孙权写VB程序Class 刘备Dim k As New 孔明Dim g as New 关羽Sub 迎战曹操()k.拟定策略 g.防守荆州 k.联合孙权End Su
13、b1/9/202329上海交通大学计算机系上海交通大学计算机系写VB程序內容 孔明请拟定策略请联络孙权请孙权领兵相助借东风火攻借东风火攻写VB程序Class 孔明Dim s As 孙权Function 拟定策略()End FunctionSub 联合孙权()s.请领兵相助 s.借东风火攻End SubSub 借东风火攻()End Sub1/9/202330上海交通大学计算机系上海交通大学计算机系 写VB代码 Class 刘备Dim k As New 孔明Dim g as New 关羽Sub 迎战曹操()k.拟定策略 g.防守荆州 k.联合孙权End SubClass 孔明Dim s As 孙权
14、Function 拟定策略()End FunctionSub 联合孙权()s.请领兵相助 s.借东风火攻End SubSub 借东风火攻()End Sub1/9/202331上海交通大学计算机系上海交通大学计算机系 写VB代码 把VB类编译为COM组件1/9/202332上海交通大学计算机系上海交通大学计算机系3.UML支持软件体系结构建模支持软件体系结构建模上海交通大学计算机系上海交通大学计算机系3.1 软件体系结构软件体系结构w为了表达不同的了表达不同的软件开件开发相关人相关人员在在软件开件开发周期的不同周期的不同时期看待期看待软件件产品的不同品的不同侧重面重面,需要需要对模型模型进行分行
15、分层。UML根据根据软件件产品品的体系的体系结构(构(architecture)对软件件进行分行分层w软件体系件体系结构由一系列的决定构由一系列的决定组成,成,这些决定定些决定定义了如下内容:了如下内容:软件系件系统的的组织;构成构成软件系件系统的的结构元素的构元素的结构及它构及它们之之间的接口;的接口;结构元素的行构元素的行为及元素之及元素之间的的协同(同(collaboration)结构元素的不断构元素的不断组合以构成日合以构成日渐完完备的子系的子系统的的过程程指指导软件建造件建造过程的程的软件构筑件构筑风格(格(architecturalstyle)静静态和和动态元素之元素之间的接口、的
16、接口、协同、构成(同、构成(composition)。)。1/9/202334上海交通大学计算机系上海交通大学计算机系w软件体系件体系结构不构不仅仅决定决定软件的件的结构和行构和行为,而且而且还决决定定软件的:件的:用途用途功能功能性能性能应变性性(resilience)可重用性可重用性经济和技和技术方面的限制和折衷方面的限制和折衷以及美学考以及美学考虑(aestheticconcern)1/9/202335上海交通大学计算机系上海交通大学计算机系3.2 体系结构的视图体系结构的视图wUML将将软件的体系件的体系结构分解构分解为五个不同的五个不同的侧面,称面,称为视图(view)。分。分别是:
17、是:用例用例视图(Usecaseview)设计视图(designview)进程程视图(processview)实现视图(implementationview)分布分布视图(deploymentview)设计视图和和进程程视图又可被又可被统一称一称为逻辑视图(logicalview)。1/9/202336上海交通大学计算机系上海交通大学计算机系设计视图实现视图进程程视图分布分布视图用例用例视图动态行行为设计词汇、功能描述、功能描述系系统组装装、配配置管理置管理性性能能、稳定定性性、吞吐率吞吐率系系统拓拓扑扑、分分布布、分分发、安安装装1/9/202337上海交通大学计算机系上海交通大学计算机系w
18、每个每个视图分分别关注关注软件开件开发的某一的某一侧面面w视图由一种或多种模型由一种或多种模型图(diagram)构成构成w模型模型图描述了描述了构成相构成相应视图的基本模型元素(的基本模型元素(element)及它及它们之之间的相互关系。的相互关系。1/9/202338上海交通大学计算机系上海交通大学计算机系3.3 用例视图(用例视图(use case view)w用例用例视图用来支持用来支持软件系件系统的需求分析,它定的需求分析,它定义系系统的的边界,关注的是系界,关注的是系统的外部功能的描述。的外部功能的描述。w它从系它从系统的使用者的角度,描述系的使用者的角度,描述系统的外部的的外部的
19、静静态的功能的功能动态行行为w系系统的的动态功能由功能由UML以下模型以下模型图描述:描述:交互交互图(interactiondiagram)状状态图(state-chartdiagram)活活动图(activitydiagram)1/9/202339上海交通大学计算机系上海交通大学计算机系3.4 逻辑视图(逻辑视图(Logical View)w逻辑视图定定义系系统的的实现逻辑,描述描述为实现用例用例图描述的功能描述的功能,在,在对软件系件系统进行行设计时,所所产生的生的设计概念,概念,设计概念又称概念又称为软件件系系统的的设计词汇(vocabulary)。w逻辑视图定定义了了:设计词汇的的逻
20、辑结构构存在于它存在于它们之之间的的语义联系系设计词汇包括系包括系统的的类/协同同/接口及其关系接口及其关系w对逻辑视图的描述在原的描述在原则上与上与软件系件系统的的实现平台无关。平台无关。它相当于它相当于电子子产品生品生产中的中的电原理原理图。逻辑视图包含的模型包含的模型图有:有:类图(classdiagrams)对象象图(objectdiagrams)交互交互图(interactiondiagrams)状状态图(state-chartdiagrams)活活动图(activitydiagrams)1/9/202340上海交通大学计算机系上海交通大学计算机系3.5 3.5 实现视图(实现视图(
21、实现视图(实现视图(implementation viewimplementation view)w当系当系统的的逻辑结构在构在逻辑视图里被定里被定义之后,之后,需要定需要定义逻辑结构的物理构的物理实现。这包括:包括:设计元素元素对应的源代的源代码文件文件各物理文件之各物理文件之间的关系、存放路径,等等的关系、存放路径,等等w实现视图就是定就是定义这些内容的地方,它当于些内容的地方,它当于电子子产品的印刷品的印刷电路板的布路板的布线图1/9/202341上海交通大学计算机系上海交通大学计算机系w实现视图描述描述组成一个成一个软件系件系统的各个物理部件,的各个物理部件,这些些部件以各种方式部件以
22、各种方式组合起来,(如:合起来,(如:不同的源代不同的源代码经过编译,构成一个可,构成一个可执行系行系统;或者不同的或者不同的软件件组件配置成件配置成为一个可一个可执行系行系统;以及不同的网;以及不同的网页文件,以特定的目文件,以特定的目录结构,构,组成一个网站,等等)成一个网站,等等)构成了一个可构成了一个可实际运行运行的系的系统。w实现视图包含的模型包含的模型图有有:部件部件图(Componentdiagram)交互交互图(InteractionDiagram)状状态图(state-chartdiagram)活活动图(activitydiagram)1/9/202342上海交通大学计算机系
23、上海交通大学计算机系3.6 3.6 分布视图(分布视图(分布视图(分布视图(Deployment ViewDeployment View)w软件件产品将运行在品将运行在计算机硬件系算机硬件系统上上,如果如果软件件产品是品是面向网面向网络的的应用系用系统,则有可能同有可能同时运行在多个运行在多个计算机算机上。上。w分布分布视图用来描述用来描述软件件产品在品在计算机硬件系算机硬件系统和网和网络上上的安装、分的安装、分发(delivery)、分布()、分布(distribution)w在分布在分布视图中,系中,系统的静的静态特性用分布特性用分布图(deploymentdiagram)描述)描述w动态
24、特性的特性的描述描述用用交互交互图(interactiondiagram)状状态图(state-chartdiagram)活活动图(activitydiagram)1/9/202343上海交通大学计算机系上海交通大学计算机系4.UML构成构成上海交通大学计算机系上海交通大学计算机系4.1 UML基本构成基本构成w从从软件的体系件的体系结构出构出发,UML把把软件模型分成了五个件模型分成了五个视图,每个,每个视图由不同的模型由不同的模型图构成:构成:模型模型图实际上就是上就是UML的基本成的基本成员之一之一作作为UML的完整的概念模型,的完整的概念模型,UML的构成的构成为:UML=UML成成员
25、+UML建模建模规则1/9/202345上海交通大学计算机系上海交通大学计算机系wUML建模建模规则:相当于建模:相当于建模语言的言的语法法wUML成成员(buildingblocksoftheUML)它是它是UML的基本的基本组成部分成部分UML成成员可可进一步划分一步划分为UML基本模型元素(基本模型元素(thingsinUML)关系(关系(relationship)模型模型图(diagram)UML成成员=UML基本模型元素基本模型元素+关系关系+模型模型图1/9/202346上海交通大学计算机系上海交通大学计算机系4.1.1 UML基本元素基本元素UML成成员=UML基本模型元素基本模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 UML 概述
限制150内