软件工程 第3版 教学课件 PPT 作者 张海藩 倪宁 第15章

上传人:E**** 文档编号:89542419 上传时间:2019-05-27 格式:PPT 页数:197 大小:1.25MB
返回 下载 相关 举报
软件工程 第3版  教学课件 PPT 作者 张海藩 倪宁 第15章_第1页
第1页 / 共197页
软件工程 第3版  教学课件 PPT 作者 张海藩 倪宁 第15章_第2页
第2页 / 共197页
软件工程 第3版  教学课件 PPT 作者 张海藩 倪宁 第15章_第3页
第3页 / 共197页
软件工程 第3版  教学课件 PPT 作者 张海藩 倪宁 第15章_第4页
第4页 / 共197页
软件工程 第3版  教学课件 PPT 作者 张海藩 倪宁 第15章_第5页
第5页 / 共197页
点击查看更多>>
资源描述

《软件工程 第3版 教学课件 PPT 作者 张海藩 倪宁 第15章》由会员分享,可在线阅读,更多相关《软件工程 第3版 教学课件 PPT 作者 张海藩 倪宁 第15章(197页珍藏版)》请在金锄头文库上搜索。

1、第15章 统一建模语言UML,面向对象分析与设计方法的发展在20世纪80年代末到90年代中出现了一个高潮,统一建模语言UML就是这个高潮的产物。,UML是由面向对象方法领域的三位著名专家Grady Booch,James Rumbaugh和Ivar Jacobson提出的,不仅统一了他们三人的表示方法,而且融入了众多优秀的软件方法和思想,从而把面向对象方法提高到一个崭新的高度,标志着面向对象建模方法进入了第三代。,UML已得到许多世界知名公司的使用和支持,并于1997年11月17日被OMG组织采纳,成为面向对象建模的标准语言。目前,OMG已经把UML作为公共可得到的规格说明提交给国际标准化组织

2、进行国际标准化,这一进程在近期完成后UML将最终成为信息技术的正式国际标准。,四年来,UML已经迅速成长为一个事实上的工业标准。不论在计算机学术界、软件产业界还是在商业界,UML已经逐渐成为人们为各种系统建模、描述系统体系结构、商业体系结构和商业过程时使用的统一工具,而且在实践过程中人们还在不断扩展它的应用领域。,15.1 概述,15.1.1 UML的产生和发展 15.1.2 UML的结构,UML是一种标准的图形化(即可视化)建模语言,它由图和元模型组成。图是UML的语法,而元模型给出图的含义,是UML的语义。,1. UML的语义 UML的语义是定义在一个四层(四个抽象级别)建模概念框架中的,

3、这四层分别是:,(1) 元元模型(meta_metamodel)层 由UML最基本的元素“事物(thing)”组成,代表要定义的所有事物。,(2) 元模型(metamodel)层 由UML基本元素组成,包括面向对象和面向构件的概念。这一层的每个概念都是元元模型中“事物”概念的实例(通过版类化)。,(3) 模型(model)层 由UML模型组成,这一层的每个概念都是元模型层中概念的实例(通过版类化)。这一层的模型通常称为类模型或类型模型。,(4) 用户模型(user model)层 由UML模型的例子组成,这一层中的每个概念都是模型层的一个实例(通过分类),也是元模型层模型的一个实例(通过版类化

4、)。这一层的模型通常称为对象模型或实例模型。,2. UML的表示法 UML由视图(view)、图(diagram)、模型元素(model element)和通用机制(general mechanism)等几个部分组成。,(1) 视图 为了完整地描述一个系统,往往需要描述该系统的许多方面。用视图可以表示被建模系统的各个方面,也就是说,从不同目的出发可以为系统建立多个模型,这些模型都描述同一个系统,只是描述的角度不同,它们之间具有一致性。,(2) 图 图是用来表达一个视图的内容的,通常,一个视图由多张图组成。UML语言共定义了9种不同的图,把它们有机地结合起来就可以描述系统的所有视图。,(3) 模

5、型元素 可以在图中使用的概念(例如,用例、类、对象、消息和关系),统称为模型元素。模型元素在图中用相应的视图元素(图形符号)表示。一个模型元素可以用在多个不同的图中,不管怎样使用,它总是具有相同的含义和相同的符号表示。,(4) 通用机制 UML语言利用通用机制为图附加一些额外的信息,比如,可以在“笔记”中书写注释,或用“标签值”说明模型元素的性质等。此外,它还提供扩展机制(例如,版类、标签值、约束),使UML能够适应一种特殊方法或满足某些特殊用户的需要。,15.1.3 UML的图 1. 用例图(use-case diagram) 用例是对系统提供的功能(即系统的具体用法)的描述。用例图从用户的

6、角度描述系统功能,并指出各个功能的操作者。用例图定义了系统的功能需求。,2. 静态图(static diagram) 这类图描述系统的静态结构,属于这类图的有类图(class diagram)和对象图(object diagram)。类图不仅定义系统中的类,表示类与类之间的关系(例如,关联、依赖、泛化和细化等关系),也表示类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命期内都是有效的。,对象图是类图的实例,它使用几乎与类图完全相同的图示符号。两者之间的差别在于,对象图表示的是类的多个对象实例,而不是实际的类。由于对象有生命周期,因此对象图只能在系统的某个时间段内存在。

7、一般说来,对象图没有类图重要,它主要用来帮助对类图的理解,也可用在协作图中,表示一组对象之间的动态协作关系。,3. 行为图(behavior diagram) 这类图描述系统的动态行为和组成系统的对象间的交互关系,包括状态图(state diagram)和活动图(activity diagram)两种图形。状态图描述类的对象可能具有的所有状态,以及引起状态变化的事件,状态变化称作状态转换。,通常,状态图是对类图的补充。实际使用时,并不需要为每个类都画状态图,仅需要为那些有多个状态,且其行为在不同状态有所不同的类画状态图。,活动图描述为满足用例要求而进行的动作以及动作间的关系。活动图是状态图的一

8、个变种,它是另一种描述交互的方法。,4. 交互图(interactive diagram) 这类图描述对象间的交互关系,包括顺序图(sequence diagram)和协作图(collaboration diagram)两种图形。顺序图显示若干个对象间的动态协作关系,它强调对象之间发送消息的先后次序,描述对象之间的交互过程。,协作图与顺序图类似,也描述对象间的动态协作关系。除了显示对象间发送的消息之外,协作图还显示对象及它们之间的关系(称为上下文相关)。,由于顺序图和协作图都描述对象间的交互关系,所以建模者可以选择其中一种表示对象间的协作关系:如果需要强调时间和顺序,最好选用顺序图;如果需要强

9、调上下文相关,最好选择协作图。,5. 实现图(implementation diagram) 这类图提供关于系统实现方面的信息,构件图(component diagram)和配置图(deployment diagram)属于这类图。构件图描述代码构件的物理结构及各个构件之间的依赖关系。,构件可能是源代码、二进制文件或可执行文件。使用构件图有助于分析和理解构件之间的相互影响。,配置图定义系统中软件和硬件的物理体系结构。通常,配置图中显示实际的计算机和设备(用节点表示),以及各个节点之间的连接关系,也可以显示连接的类型及构件之间的依赖关系。在节点内部显示可执行的构件和对象,以清晰地表示出哪个软件单

10、元运行在哪个节点上。,15.1.4 UML的应用领域 UML是一种建模语言,是一种标准的表示方法,而不是一种完整的方法学。因此,人们可以用各种方法使用UML,无论采用何种方法,它们的基础都是UML的图,这就是UML的最终用途为不同领域的人提供统一的交流方法。,UML适用于系统开发的全过程,它的应用贯穿于从需求分析到系统建成后测试的各个阶段。, 需求分析:可以用用例来捕获用户的需求。通过用例建模,可以描述对系统感兴趣的外部角色及其对系统的功能要求(用例)。, 分析:分析阶段主要关心问题域中的基本概念(例如,抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,可以用UML的逻辑视图和动态

11、视图来描述。类图描述系统的静态结构,协作图、顺序图、活动图和状态图描述系统的动态行为。,在这个阶段只为问题域的类建模,而不定义软件系统的解决方案细节(例如,处理用户接口、数据库、通信和并行性等问题的类)。, 设计:把分析阶段的结果扩展成技术解决方案,加入新的类来定义软件系统的技术方案细节。设计阶段用和分析阶段类似的方式使用UML。, 构造(编码):这个阶段的任务是把来自设计阶段的类转换成某种面向对象程序设计语言的代码。, 测试:对系统的测试通常分为单元测试、集成测试、系统测试和验收测试等几个不同的步骤。UML模型可作为测试阶段的依据,不同测试小组使用不同的UML图作为他们工作的依据:,单元测试

12、使用类图和类规格说明;集成测试使用构件图和协作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,用与系统测试类似的方法,验证系统是否满足在分析阶段确定的所有需求。,总之,统一建模语言UML适用于以面向对象方法来描述任何类型的系统,而且适用于系统开发的全过程,从需求规格描述直到系统建成后的测试和维护阶段。,15.2 静态建模机制,任何建模语言都以静态建模机制为基础,UML也不例外。UML的静态建模机制包括用例图、类图、对象图和包等。,15.2.1用例图 1. 用例模型 用例模型描述的是外部执行者(actor)所理解的系统功能。用例模型用于需求分析阶段,它的建立是系统开发者和用户反复讨论

13、的结果,描述了开发者和用户对需求规格达成的共识。,首先,它描述了待开发系统的功能需求;其次,它把系统看作黑盒子,从外部执行者的角度来理解系统;第三,它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和UML的各个模型。,在UML中,一个用例模型由若干个用例图来描述,用例图的主要元素是用例和执行者。,2. 用例 一个用例实质上是用户与计算机系统之间的一次典型的交互作用,它代表的是系统的一个完整的功能。在UML中把用例定义成系统执行的一系列动作,动作的结果能被外部执行者察觉到。,在UML用例图中,用例表示为

14、一个椭圆。图15.1是自动售货机系统的用例图,其中“售货”、“供货”和“取货款”都是典型的用例。概括地说,用例有以下特点。, 用例代表某些用户可见的功能,实现一个具体的用户目标。 用例由执行者激活,并提供确切的值给执行者。 用例可大可小,但它必须是对一个具体的用户目标实现的完整描述。,图15.1 自动售货机系统用例图,3. 执行者 执行者是与系统交互的人或物,它代表外部实体,例如,用户、硬件设备或与本系统交互的另一个软件系统。使用用例并与系统交互的任何人或物都是执行者。,实践表明,执行者对确定用例是非常有用的。面对一个大型、复杂的系统,要列出用例清单往往很困难,这时可以先列出执行者清单,再针对

15、每个执行者列出它的用例。这样做可以使问题变得容易很多。,4. 用例之间的关系 用例之间可以有扩展、使用和组合三种关系。扩展和使用是继承关系(即泛化关系)的两种不同形式。组合则是把相关的用例打成包(参见15.2.2节),当作一个整体看待。,(1) 扩展关系 向一个用例中加入一些新的动作后构成了另一个用例,这两个用例之间的关系就是扩展关系,后者通过继承前者的一些行为得来,通常把后者称为扩展用例。,(2) 使用关系 当一个用例使用另一个用例时,这两个用例之间就构成了使用关系。,图15.2 含扩展和使用关系的用例图,5.建立用例模型 几乎在任何情况下都需要使用用例,通过用例可以获取用户需求,规划和控制

16、项目。获取用例是需求分析阶段的主要工作之一,而且是首先要做的工作。,大部分用例将在项目的需求分析阶段产生,并且随着开发工作的深入还会发现更多用例,这些新发现的用例都应及时补充进已有的用例集中。用例集中的每个用例都是对系统的一个潜在的需求。,(1) 发现执行者 为获取用例首先要找出系统的执行者,可以通过请系统的用户回答一些问题的办法来发现执行者。,(2) 获取用例 事实上,从识别执行者起获取用例的过程就已经开始了。一旦识别出了执行者,就可以对每个执行者提出问题以获取用例。,15.2.2 类图和对象图 1. 类图 类图描述类和类与类之间的静态关系,它是从静态角度表示系统的,因此类图属于一种静态模型。类图是构建其他图的基础,没有类图就没有状态图、协作图等其他图,也就无法表示系统其他方面的特性。,(1) 定义类 (2) 类的属性

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

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

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