第08章UML基础-1.课件电子教案_第1页
第08章UML基础-1.课件电子教案_第2页
第08章UML基础-1.课件电子教案_第3页
第08章UML基础-1.课件电子教案_第4页
第08章UML基础-1.课件电子教案_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章 UML基础徐 天 宇第8章 内容lUML概述概述 l用例图用例图l类图与对象图类图与对象图l状态图状态图l活动图活动图l交互图交互图l包图包图l构件图构件图l配置图配置图lUML的扩展的扩展面向对象的主要概念l1 1对象对象l对象(对象(Object)是系统中一个用来描述客观事)是系统中一个用来描述客观事物的实体。物的实体。l对象是构成系统的基本单元对象是构成系统的基本单元l对象具有惟一的标识名对象具有惟一的标识名l对象具有自己的静态特征和动态特征。对象具有自己的静态特征和动态特征。2类l类(类(ClassClass)是一组具有相同属性和相同操作的)是一组具有相同属性和相同操作的对象的

2、抽象集合。对象的抽象集合。l类有一个惟一的标识名。类有一个惟一的标识名。l一个具体的对象只是类的一个实例一个具体的对象只是类的一个实例3封装l封装(封装(EncapsulationEncapsulation)是指把对象内部)是指把对象内部信息对外界是隐蔽的,不允许外界直接存信息对外界是隐蔽的,不允许外界直接存取对象的属性,而只能通过有限的接口与取对象的属性,而只能通过有限的接口与对象发生联系。对象发生联系。l封装体现了面向对象方法的封装体现了面向对象方法的“信息隐蔽与信息隐蔽与局部化局部化”原则。原则。4继承l继承(继承(InheritanceInheritance)是指子类(特化类、)是指子

3、类(特化类、派生类)可以自动拥有父类(基类、泛化派生类)可以自动拥有父类(基类、泛化类、超类)的全部属性与操作。类、超类)的全部属性与操作。4继承ReservationdateExpiresdiscountCategoryPurchaseproductSetstoredateIDTransaction多继承l在有些情况下,一个类可能需要同时使用在有些情况下,一个类可能需要同时使用两个以上的父类的属性和操作,或者一个两个以上的父类的属性和操作,或者一个类包含在两个以上的父类的交集之中,则类包含在两个以上的父类的交集之中,则该类将从两个以上的父类中继承属性和操该类将从两个以上的父类中继承属性和操作

4、,这称为作,这称为多继承多继承(Multiple Multiple InhentanceInhentance)。)。多继承陆上交通工具水上交通工具两栖交通工具5消息l消息(消息(MessageMessage)是指对象之间在交互中)是指对象之间在交互中所传送的通信信息。所传送的通信信息。l一个消息应当含有以下信息:一个消息应当含有以下信息:l消息名、消息名、l接收消息的对象的标识、接收消息的对象的标识、l调用操作的标识、调用操作的标识、l参数、参数、l返回数据。返回数据。多态性l多态性(多态性(PolymorphismPolymorphism)是指在基类中定)是指在基类中定义的属性和操作为其子类

5、继承后,可以具义的属性和操作为其子类继承后,可以具有不同的数据类型或表现出不同的行为。有不同的数据类型或表现出不同的行为。多态性8.1 UML8.1 UML概述概述l统一建模语言(统一建模语言(Unified Modeling Unified Modeling LanguageLanguage, UMLUML)是一个通用的可视化建)是一个通用的可视化建模语言,用于对软件进行描述、可视化处模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。理、构造和建立软件系统制品的文档。8.1.1 UML8.1.1 UML简史简史8.1.2 UML8.1.2 UML的特点的特点lUMLUML

6、的主要特点有:的主要特点有:l面向对象面向对象l统一标准统一标准l可视化、表示能力强大可视化、表示能力强大l独立于过程独立于过程l容易掌握使用容易掌握使用8.1.3 UML8.1.3 UML语言内容语言内容lUMLUML语言包含以下三方面内容。语言包含以下三方面内容。l(1 1)UMLUML基本图素。它是构成基本图素。它是构成UMLUML模型图模型图的基本元素。的基本元素。l(2 2)UMLUML模型图及建模规则。模型图及建模规则。UMLUML基本图基本图素按特定的规则有机地组合而成模型图,素按特定的规则有机地组合而成模型图,从而构成一个有机的、完整的从而构成一个有机的、完整的 UMLUML模

7、型图。模型图。l(3 3)UMLUML的扩展机制的扩展机制8.1.4 UML8.1.4 UML的应用领域的应用领域lUMLUML具有很广的应用领域,其中最常用的具有很广的应用领域,其中最常用的是为软件系统建模,是为软件系统建模,lUMLUML可以对下面这些领域的软件系统建模:可以对下面这些领域的软件系统建模:企业信息系统、银行金融服务、电信、交企业信息系统、银行金融服务、电信、交通、国防航空、零售领域、科学计算、通、国防航空、零售领域、科学计算、基于基于WebWeb的系统。的系统。lUMLUML还可用来描述其他非软件系统,如一还可用来描述其他非软件系统,如一个机构的组成或机构中的工作流程等。个

8、机构的组成或机构中的工作流程等。8.1.5 8.1.5 支持支持 UMLUML的工具的工具l目前有很多支持目前有很多支持 UMLUML的工具,例如的工具,例如 lRational RoselEnterprise ArchitectlTogether DesignerlPowerDesignerlVisual UML RoseRose简介简介 为何使用为何使用 Rational RoseRational RoselUMLUML只是一套可视化的面向对象系统分析只是一套可视化的面向对象系统分析与设计的与设计的语言,是理论。是标准。它一定语言,是理论。是标准。它一定要与一套工具搭配使用。要与一套工具搭

9、配使用。l与与UMLUML搭配最密切的工具就是搭配最密切的工具就是 Rational Rational RoseRose。1.Rational Rose1.Rational Rose特点特点lRoseRose具有建立、浏览、修改和保存模型的能具有建立、浏览、修改和保存模型的能力力l它具有支持正反向建模的能力。它具有支持正反向建模的能力。2.Rational Rose2.Rational Rose有多种版本有多种版本lRose ModelerRose Modeler:提供建模功能,但不支持代码生:提供建模功能,但不支持代码生成和由代码逆向生成模型(逆向工程)。成和由代码逆向生成模型(逆向工程)。

10、lRose ProfessinnalRose Professinnal:支持生成一种语言的代码。:支持生成一种语言的代码。lRose EnterpriseRose Enterprise:支持:支持 VCVC,JavaJava,AdaAda,CORBACORBA,Visual BasicVisual Basic,COMCOM,OraclesOracles与与 XMLXML架构下生成架构下生成代码,模型的组件可以用不同语言生成代码。代码,模型的组件可以用不同语言生成代码。l近来推出的近来推出的Rose 2000Rose 2000,Rose 2002Rose 2002,Rose 2003Rose 2

11、003可可以支持以支持JavaJava,VBVB,VC+VC+等架构的代码生成和逆向等架构的代码生成和逆向工程。工程。3.Rose3.Rose开发环境开发环境l启动启动 RoseRosel单击开始单击开始程序程序Rational suite Rational suite Enterprise Enterprise Rational Rose Rational Rose Enterprise Enterprise EditionEdition,出现如,出现如图所示的界面。图所示的界面。RoseRose图形界面构成图形界面构成l菜单栏;菜单栏;l浏览窗口(浏览窗口(BrowerBrower););

12、l标准工具栏(标准工具栏(standard Toolbarstandard Toolbar););l图素工具栏(图素工具栏(Diagram ToolbarDiagram Toolbar););l模型图窗口(模型图窗口(Diagram WindowsDiagram Windows););l文档窗口(文档窗口(Document window Document window ););l日志栏(日志栏(LogLog););l状态栏(状态栏(StatusStatus););l规范对话框(规范对话框(SpecificationSpecification)。)。RoseRose界面界面1 1莱单栏莱单栏2

13、2浏览框浏览框l浏览框利用树型结构把模型中的一切全部浏览框利用树型结构把模型中的一切全部组织起来。组织起来。l利用浏览框,可以浏览、移动和编辑每种利用浏览框,可以浏览、移动和编辑每种视图中的模型成分,增加新的模型成分。视图中的模型成分,增加新的模型成分。右击浏览框中模型成分,可以访问模型成右击浏览框中模型成分,可以访问模型成分的详细规范、删除模型成分和更名模型分的详细规范、删除模型成分和更名模型成分。成分。浏览框浏览框3 3标准工具栏标准工具栏lRoseRose中有两种工具栏:标准工具栏和图素中有两种工具栏:标准工具栏和图素工具栏。标准工具栏的图标表示任何模型工具栏。标准工具栏的图标表示任何模

14、型图都可以使用的公共功能选项。图都可以使用的公共功能选项。标准工具栏标准工具栏4 4图素工具栏图素工具栏l图素工具栏的图标则随着选择的图素工具栏的图标则随着选择的UMLUML模型模型图的改变而改变。图的改变而改变。图素工具栏图素工具栏5 5模型图窗口模型图窗口l模型图窗口中可以建立、浏览、修改模型模型图窗口中可以建立、浏览、修改模型中的一个或几个中的一个或几个UMLUML模型图。模型图。6 6文档窗口文档窗口l文档窗口为所选择的模型成分提供建立、文档窗口为所选择的模型成分提供建立、浏览或修改文档的能力,浏览或修改文档的能力,l文档框的内容一般是描述模型成分的简要文档框的内容一般是描述模型成分的

15、简要定义。定义。7 7日志栏日志栏l在在RoseRose建模中,日志用于查看错误消息和建模中,日志用于查看错误消息和报告各个命令的结果。报告各个命令的结果。l单击日志栏最大化图标,日志内容才能显单击日志栏最大化图标,日志内容才能显示。示。l日志像语言编译提示语法错误一样,可以日志像语言编译提示语法错误一样,可以提示提示UMLUML图的语法错误,图的语法错误, 8 8状态栏状态栏l状态栏也叫提示栏。状态栏也叫提示栏。9 9规范对话框规范对话框l选择浏览框任意一个模型图素,右击出现选择浏览框任意一个模型图素,右击出现浮动对话框,选择【浮动对话框,选择【SpecificationSpecificat

16、ion】,】,出现对话框。利用规范对话框可以设置图出现对话框。利用规范对话框可以设置图素的各种属性。素的各种属性。RoseRose的四种视图的四种视图lRoseRose创建一个新的系统模型时自动生成下创建一个新的系统模型时自动生成下列四种视图:列四种视图:l用例视图、用例视图、l逻辑视图、逻辑视图、l组件视图组件视图l部署视图,部署视图,lRoseRose把视图看成是模型结构中的第一层次。把视图看成是模型结构中的第一层次。8.1.3 公共机制l修饰与扩展是修饰与扩展是UMLUML语言中有两个重要机制。语言中有两个重要机制。l注解是一种最重要的能单独存在的修饰,注解是一种最重要的能单独存在的修饰

17、,l扩展集则包括构造型、标记值和约束。扩展集则包括构造型、标记值和约束。注解l注解(注解(notenote)是附加在元素或元素集上用)是附加在元素或元素集上用来表示约束或注释的图形符号。来表示约束或注释的图形符号。l在图形上,把注解画成带有折角的矩形,在图形上,把注解画成带有折角的矩形,在矩形中填写文字或图形注释。在矩形中填写文字或图形注释。注解8.2 用例图l用例图用例图(Use Case Diagrams)描述了一)描述了一组用例,使用者以及它们之间的关系。组用例,使用者以及它们之间的关系。l用例图是其它模型的核心和基础。其它模用例图是其它模型的核心和基础。其它模型的构造依赖于用例图中所描

18、述的内容。型的构造依赖于用例图中所描述的内容。 用例图搜索商品客户下订单支付过程提供帮助客户支持8.2.1.1用例l用例用例(Use Case(Use Case) )是对系统的用户需求(主是对系统的用户需求(主要是功能需求)的描述。要是功能需求)的描述。l用例也称案例,用况等用例也称案例,用况等l用例在图形上用椭圆来表示,椭圆下(或用例在图形上用椭圆来表示,椭圆下(或椭圆中)附上用例的名称。椭圆中)附上用例的名称。 获取用例l获取用例的最简单的途经是与典型用户进行获取用例的最简单的途经是与典型用户进行交谈,交谈,l软件开发人员工作是用简短的文字描述用户软件开发人员工作是用简短的文字描述用户的想

19、法,并为之取个名称。一系列用例的集的想法,并为之取个名称。一系列用例的集合,就组成了整个系统的需求。合,就组成了整个系统的需求。8.2.1.2使用者使用者l使用者(使用者(ActorActor)是指处于系统边界之外的,与是指处于系统边界之外的,与系统发生交互作用的外部用户、系统发生交互作用的外部用户、设备设备或其他系或其他系统。统。l在用例图中,使用者用一个名称写在下面的小在用例图中,使用者用一个名称写在下面的小人表示,人表示,l也可以用带有构造型也可以用带有构造型actoractor的对象图来表示。的对象图来表示。l使用者都必须有唯一的名称或标识。使用者都必须有唯一的名称或标识。用例图的图形

20、符号图形符号图形符号名称名称描述描述用例用例角色(使用者)角色(使用者)通信关系通信关系网上商店客户使用者与用例与用例l使用者运行用例。一个使用者可运行多个使用者运行用例。一个使用者可运行多个用例;反过来,一个用例也可由多个使用用例;反过来,一个用例也可由多个使用者所运行。者所运行。使用者与用例与用例随堂考试单元考试模拟考试自我考试错题集查询录入考试试题评阅学生试卷录入课程教学资源成绩查询考试考试历史查询在线学习课程登陆论坛和博客网站信息维护用户信息维护课程信息维护登陆/退出订单信息维护论坛管理选课信息维护系统管理员选修课程学生订阅网站商品老师查询学生选课情况8.2.1.3用例图中的关系用例图

21、中的关系 l用例除了与使用者有联系以外,用例之间用例除了与使用者有联系以外,用例之间还存在着一定的关系。这些关系有:泛化还存在着一定的关系。这些关系有:泛化关系、包含关系和扩展关系等。关系、包含关系和扩展关系等。泛化关系l泛化泛化关系关系(Generalization AssociationGeneralization Association)是是表示一般与特殊的关系。表示一般与特殊的关系。l子子用例可以继承父用例的含义和行为,也用例可以继承父用例的含义和行为,也可以对父用例的行为进行增加和修改。可以对父用例的行为进行增加和修改。1.关联关系l关联关系(关联关系(Association)用于表

22、示使用)用于表示使用者和用例之间的对应通讯关系,它表示使者和用例之间的对应通讯关系,它表示使用者使用了系统中的哪些用例(或者说系用者使用了系统中的哪些用例(或者说系统所提供的用例被哪些使用者使用)。统所提供的用例被哪些使用者使用)。l关联关系以箭线或实线表示。关联关系以箭线或实线表示。2.泛化关系l泛化泛化关系关系(Generalization Association)表示一般与特殊的关系,即表示用例之间表示一般与特殊的关系,即表示用例之间或使用者之间的或使用者之间的“is a”关系。泛化关系。泛化关系分关系分为为用例泛化和使用者泛化。用例泛化和使用者泛化。 l泛化关系用带空心三角箭头的实线表

23、示。泛化关系用带空心三角箭头的实线表示。对于对于用例泛化,用例泛化,从子用例发出,指向父用从子用例发出,指向父用例。例。用例泛化做交易债卷交易股票交易期货交易使用者泛化泛化l使用者也有泛化关系,在这种泛化关系中,使用者也有泛化关系,在这种泛化关系中,一个使用者的抽象描述可以被一个或多个一个使用者的抽象描述可以被一个或多个具体的使用者所共享。具体的使用者所共享。泛化泛化关系3.包含关系l包含关系(包含关系(Include Association)把几个用)把几个用例的公共步骤分离成一个单独的被包含用例,例的公共步骤分离成一个单独的被包含用例,被包含的用例通常作为某些包含它的更大的基被包含的用例通

24、常作为某些包含它的更大的基本用例的一部分。即表示用例之间的本用例的一部分。即表示用例之间的“has a”关系。关系。l被包含用例不能单独存在。被包含用例不能单独存在。l在图在图形上,形上,用一条从基本用例指向被包含的用用一条从基本用例指向被包含的用例的虚箭线表示,并在箭线上标有构造型例的虚箭线表示,并在箭线上标有构造型Include。包含关系4.扩展关系l扩展关系扩展关系(Extension Association)允许允许一个用例扩展另一个用例所提供的功能。一个用例扩展另一个用例所提供的功能。l扩展关系表示的是用例之间的扩展关系表示的是用例之间的“is a”关系关系。l扩展关系(扩展关系(E

25、xtend AssociationExtend Association)表明扩)表明扩展用例的行为相对于基本用例是在一个给展用例的行为相对于基本用例是在一个给定延伸点上的延伸关系。定延伸点上的延伸关系。扩展关系l在图在图形上,形上,扩展关系用一条从扩展用扩展关系用一条从扩展用例指向基本用例的虚箭线表示,并在例指向基本用例的虚箭线表示,并在箭线上标有构造型箭线上标有构造型Extend。带有扩展点的订购货物用例订购货物用例扩展用例-每季度销售价格扩展用例-老顾客打折带有扩展用例的订购货物用例图订购货物会员折扣计算跟踪订单登录用例的包含关系与扩展关系表表 使用者使用者、用例间的关系类型、用例间的关系

26、类型 关系类型关系类型说明说明表示符号表示符号关联关联(association)(association)ActorActor和和user caseuser case之间的之间的关系关系泛化泛化(generalization)(generalization)ActorActor之间或之间或user caseuser case之之间的关系间的关系包含包含(include)(include)User caseUser case之间的关系之间的关系includeinclude扩展扩展(extend)(extend)User caseUser case之间的关系之间的关系extendextend以下规

27、则用来判断应使用哪种关系l当处理一般行为的某种变化时,采用泛化当处理一般行为的某种变化时,采用泛化关系。关系。l当处理一般行为的某种异常情况,且希望当处理一般行为的某种异常情况,且希望通过基本用例中的扩展点来加强控制时,通过基本用例中的扩展点来加强控制时,则应采用扩展关系。则应采用扩展关系。l当为了避免在两个或多个用例中出现重复当为了避免在两个或多个用例中出现重复描述时,则采用包含关系。描述时,则采用包含关系。8.2.1.4用例图建立步骤l用例图的一般建立步骤如下:用例图的一般建立步骤如下:l找出系统外部的使用者和外部系统,确定系找出系统外部的使用者和外部系统,确定系统的边界和范围。统的边界和

28、范围。l确定每一个使用者所希望的系统功能。确定每一个使用者所希望的系统功能。l把这些系统功能命名为用例。把这些系统功能命名为用例。l把一些公共的系统功能分解为一批新的用例,把一些公共的系统功能分解为一批新的用例,供其它的用例引用。把一些特殊情况的功能处供其它的用例引用。把一些特殊情况的功能处理分解为扩展用例。理分解为扩展用例。l绘制用例图。绘制用例图。l精化用例图,解决用例中重复与冲突问题。精化用例图,解决用例中重复与冲突问题。8.2.2用例的描述用例的描述l用例描述是使用者与系统如何进行交互的用例描述是使用者与系统如何进行交互的规范性的说明。规范性的说明。l可说明不同的场景,可说明不同的场景

29、,l是个结构化叙述的文本是个结构化叙述的文本 。场景l场景场景(Use-Case Scenario) 指贯穿用例的指贯穿用例的一条单一路径,用来显示用例中的一种情一条单一路径,用来显示用例中的一种情况。况。 事件l事件(事件(Event)是对一个在时间和空间上)是对一个在时间和空间上占有一定位置的有意义的事情的规格说明。占有一定位置的有意义的事情的规格说明。 l对于每个用例,都可以用事件流来规定用对于每个用例,都可以用事件流来规定用例的行为。例的行为。2.2.用例的描述用例的描述l在描述事件流时,应该包括下列内容:在描述事件流时,应该包括下列内容:l用例什么时候开始,怎样开始。用例什么时候开始,怎样开始。l用例什么时候结束,怎样结束。用例什么时候结束,怎样结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论