功能强大的对象建模工具——uml

上传人:tian****1990 文档编号:74131867 上传时间:2019-01-27 格式:PPT 页数:95 大小:2.63MB
返回 下载 相关 举报
功能强大的对象建模工具——uml_第1页
第1页 / 共95页
功能强大的对象建模工具——uml_第2页
第2页 / 共95页
功能强大的对象建模工具——uml_第3页
第3页 / 共95页
功能强大的对象建模工具——uml_第4页
第4页 / 共95页
功能强大的对象建模工具——uml_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《功能强大的对象建模工具——uml》由会员分享,可在线阅读,更多相关《功能强大的对象建模工具——uml(95页珍藏版)》请在金锄头文库上搜索。

1、信息系统分析、设计与开发方法,第5章 功能强大的对象建模 工具UML,5.1 UM L历史 5.2 UM L包含的内容 5.3 UM L应用领域 5.4 案例分析,目录,5.1 UML的历史,统一建模语言(Unified Modeling Language,简称UML)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。,5.1 UML的历史,UML的背景 三个最流行的面向对象方法。OMT方法、Booch和OOSE。 Booch 方法,比较适合于系统的设计和构造,然而在分析方面比较弱。 OMT方法,分析是OMT方法的强项,但在

2、设计方面就比较弱。 OOSE方法,在行为分析方面强大,但是在其它方面比较弱。,5.1.1 UML的背景,5.1 UML的历史,UML的发展历程,5.1.2 UML发展,5.1 UML的历史,UML特点 面向对象。UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图形和方法,能简洁明了地表达面向对象的各种概念。 可视化,表示能力强。通过UML的模型图能清晰地表示系统的逻辑模型和实现模型。 独立于过程。UML是系统建模语言,独立于开发过程。 独立于程序设计语言。用UML建立的软件系统模型可以用Java、VC+、SmalltaIk等任何一种面向对象的程序设计来实现。 易于掌握使用。UM

3、L图形结构清晰,建模简洁明了,容易掌握使用。,5.1.3 UML特点,5.1 UML的历史,UML的面向对象分析设计过程 运用UML进行面向对象的系统分析设计,其过程通常由以下3个部份组成: 识别系统的用例和角色 进行系统分析,并抽取类 进行系统设计,并设计类及其行为,5.1.3 UML特点,5.1 UML的历史,UML的定义包括UML语义和UML表示法两个部分。 UML语义 描述基于UML的精确元模型定义。 UML表示法 定义UML符号的表示法。 UML由图和元模型组成,图是语法,元模型是语义。UML主要包括三个基本构造块:事物(Things)、关系(Relationships)和图 (Di

4、agrams)。 UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。,5.1.4 UML的组成,统一建模语言(Unified Modeling Language,简称UML)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。,5.2 UML包含的内容,关系是事物间的连接,在面向对象建模中,有4个很重要的关系:类属(Generalization)关系,关联(Association)

5、关系,依赖(Dependency)关系,实现(Realization)关系。 类属关系(Generalization) 类属关系描述了一般事物与该事物的特殊种类之间的关系。表示为类与类之间的继承关系,接口与接口之间的继承,类对接口的实现关系。类属关系用一条带空心的三角箭头的实线表示,箭先尾端连接子类,箭头指向父类。,5.2.1 关系,5.2 UML包含的内容,UML中,对类属关系有三个要求: (1) 特殊元素与一般元素完全一致。关联/属性/操作 (2) 特殊元素应包含额外信息。 (3) 特殊元素的应用场合包含一般元素的应用场合。,类属关系图,5.2 UML包含的内容,5.2.1 关系,关联关系

6、( Association ) 关联关系表示两个类之间存在某种语义上的联系。它是一种结构关系,规定了一种事物的对象可以与另一种事物的对象相连。,5.2 UML包含的内容,5.2.1 关系,关联关系又分为两种类型: 聚合关系(Aggregation Relationship) 聚合关系,聚合关系表示对象实例之间的整体与部分的关系,它代表了“has-a”(拥有)关系,即作为整体的对象拥有作为部分的对象,整体与部分可以分开。 组合关系(Composition Relationship) 组合关系,组合关系是聚合关系的一种特殊形式。在组合关系中,整体和部分之间有着很强所有关系和一致的生命周期,即整体与

7、部分是不可以分开的。,5.2 UML包含的内容,5.2.1 关系,聚合关系,组合关系,5.2 UML包含的内容,5.2.1 关系,依赖关系(Dependency) 依赖关系描述了两个模型元素间的语义联系,其中一个模型元素的变化一定会影响另一个模型元素(这种影响不必是可逆的)。 例如, 有两个类Customer类和Account类,如果Customer类的变化引起Account类的变化,则说明Account类依赖于Customer类。,5.2 UML包含的内容,5.2.1 关系,依赖关系有如下三种情况: (1) Customer类是Account类的一个成员变量; (2) Customer类是A

8、ccount类方法当中的一个参数; (3) Customer类向Account类发送消息,从而影响 Account类发生变化;,5.2 UML包含的内容,5.2.1 关系,实现关系(Realize Relationship) 实现关系是用来规定接口和实现接口的类或者构建结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。使用带空心箭头的虚线表示,箭头指向接口。,5.2 UML包含的内容,5.2.1 关系,视与图 对于一个软件系统来说,往往需要从不同的角度对它进行描述,由此产生了视的概念,不同的视描述了软件系统的不同方面。Kruchten 提出了一个“4+1”视图模型,从5个

9、不同的视角描述软件体系结构,它们是逻辑视、过程视、实现视、配置视和用例视。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。,5.2.2 视图,5.2 UML包含的内容,“4+1”视图模型,5.2 UML包含的内容,5.2.2 视图,用例(Use Case)模型主要用来描述客户的需求,即用户希望系统所具备的功能。用例图是用例模型的图形表示,能够准确地表达参与者以系统的交互情况和系统所提供的服务。Use Case图是后续的系统分析与设计工作依据。 用例图主要包括3各部分: 用例(Usesr CAse)。 参与者(Actor) 关系,5.2.3 用例图,5.2

10、 UML包含的内容,参与者(Actor)又可以称为活动者,是用户作用于系统的一个(Role)。活动者有自己的目标,通过与系统的交换到达目标。参与者是对系统边界之外的对象的描述。参与者可以是人,也可以是外部系统或其它设备。 图书管理员是图书借阅管理系统的用户, 是该系统的外部实体,而用例借书管理、还书管理是系统应该提供的功能,如下图所示。,5.2.3 用例图-参与者,5.2 UML包含的内容,图书借阅管理系统图书管理员用例图,5.2 UML包含的内容,5.2.3 用例图-参与者,用例是对系统行为的动态描述,促进设计人员、开发人员与用户的沟通,正确理解用户的需求;规划系统与外部实体的界限,是系统设

11、计的起点,是类、对象、操作的来源。 用例是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段完整的服务。,5.2.3 用例图-用例,5.2 UML包含的内容,用例之间关系有包含(include)、扩展(extend)和类属(generalization)三种关系。 包含(include) 包含关系:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动作,以便多个基(Base)用例复用。基用例控制与包含用例的关系,以及被包含用例的事件流是否会插入到基用例的事件流中。,5.2.3 用例图-用例关系,5.2 UML包含的内容,基于用例的需求分析 (1)用例图是用来收

12、集和描述用户需求的最好方法,明确系统的功能和参与者。需要强调的是用例图只是描述了系统做什么,而没有规定怎么做的。为了明确系统是怎么做的,为此引入了用例事件流描述。 (2)用例事件流描述完成用例规定行为所需要的事件。 (3)用例及用例事件流描述是系统动态建模依据之一,强调用例事件流描述的重要性。,5.2.3 用例图-用例事件流描述,5.2 UML包含的内容,用例事件流描述 用例图只能告诉我们系统应具有的功能及参与者,而没有说明用例的执行过程。因此,必须必须借助事件流描述用例的行为。 (1) 用例什么时候开始,如何开始 (2) 用例什么时候结束,如何结束 (3) 用例和参与者之间有什么样的交互作用

13、 (4) 用例需要什么数据 (5) 用例的标准的事件顺序 (6) 替代的或例外的事件流的描述,5.2.3 用例图-用例事件流描述,5.2 UML包含的内容,在一般信息系统中,总是存在着维护某某信息的功能,如果将它作为一个用例,那新建、编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、编辑用例和删除用例,则划分太细。这时包含关系可以用来理清关系,如下图所示。,5.2.3 用例图-用例包含关系,5.2 UML包含的内容,扩展(extend) 扩展关系:将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Poi

14、nt)上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。,5.2.3 用例图-用例扩展关系,5.2 UML包含的内容,系统中允许用户对查询的结果进行导出、打印。对于查询而言,能不能导出、打印查询都是一样的,导出、打印是不可见的。导出、打印和查询相对独立,而且为查询添加了新行为。因此可以采用扩展关系来描述,如下图所示。,5.2.3 用例图-用例扩展关系,5.2 UML包含的内容,类属(generalization) 类属关系:用例间的类属关系如同类间的类属关系。子用例继承父用例的行为和含义,但表现出更特别的行为。子用例可以使用父用例的一段行为,也可以重载它。父用例通常

15、是抽象的。,5.2.3 用例图-用例类属关系,5.2 UML包含的内容,例如,在办公自动化系统中,可能存在许多需要部门领导审批的事情,虽然审批的内容和类型不一样,但是领导审批的流程是很相似的,这时可以做成类属关系表示,如下图所示。,5.2.3 用例图-用例类属关系,5.2 UML包含的内容,类图(class)是面向对象模型的最基本的模型元素,描述对象模型的静态结构方面。表达了类集、接口集、协作以及它们之间的关系,是定义其它图的基础。 类图的组成部分包括: 类(class) 接口(Interface) 协作(Collaboration) 依赖(Dependency)、类属(Generalizat

16、ion)、实现(Realization)、关联(Association),5.2.4 类图与对象图,5.2 UML包含的内容,5.2 UML包含的内容,5.2.4 类图与对象图,对象图(Object Diagram)是类图的一个实例。对象图表示在某一时刻系统对象的状态、对象之间联系的状态以及对象行为静态方面的状态。 对象图的表示方法和类的表示方法相同。对象之间的连接(Link)是类之间的关联关系的实例。对象图中通常含有:对象、连接。,5.2 UML包含的内容,5.2.4 类图与对象图,交互图(Interaction Diagram)表达对象之间的交互,是描述一组对象如何合作完成每一个行为的模型化工具。交互图主要用于对Use Case中的控制流的建模。一般情况下一个交互图表达一个Use Case的行为,表示了该Use Case中若干个实例对象和对象之间所传递的消息。 UML1.X的交互图有两种即顺序图(Sequence Diagram)和协作图(Collaboration Diagram)。在UML2.0中,协作图改称为通信图(Commun

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号