UML及软件建模.ppt
,UML及软件建模,胥林计算机科学学院软件工程教研室,UML基础,面向对象基础-面向对象基本概念-对象模型基本元素的标识UML建模语言介绍-UML简介-建模的定义及目标,【学习目标】,面向对象基础,1、面向对象基本概念,2)对象与类的概念 具有相同特征和行为的对象集合的抽象称为类(Class),每个类都由一组属性和一组方法来描述。属性(Attribute)描述类的个体(对象)具有的静态特征。方法(method)是对象所能提供的服务或可执行的操作,方法描述对象具有的动态特征。,1)面向对象基本思想 客观世界是由各种对象(Object)组成,复杂对象可以由简单对象组成。系统本身也是对象。系统的发展和进化过程都是由系统的内部对象和外部对象之间相互作用完成的。,3)对象的特性 对象继承了它所属类的所有属性与方法,并将其数据(属性)和操作代码(方法)封装在一个实体中,并以对象名标识它。外部访问对象只能通过对象名字及其公开的接口进行通信。对象之间的交互也只能通过其接口传递消息来实现。,继承是指类之间(或对象与类之间)的相似性重用机制。一个类可通过继承来重用其他类的属性与方法。,封装是指对象执行自己的操作时,对外界隐藏了操作的细节,此外它也可对外界屏蔽内部的属性数据。,消息是指对象之间交互时传递的数据或控制信息。,面向对象=Object+Class+Inheritance+Message,这个等式可以解释为应用对象去对问题领域的实例进行抽象,并应用分类技术来管理对象,应用继承机制管理对象之间的相似性,并且通过对象间的消息连接来实现对象间通信的方法称为面向对象。,4)面向对象的理解,1)类、属性、方法,类是具有相同属性和操作的对象集合的总称。它是面向对象的一个基本概念,类封装了客观世界中对象实体的特征与行为,即属性与方法。其表示法是一个矩形,由带有类名、属性和方法(操作)的分格框组成。如下图所示。,2、对象模型基本元素的标识,属性 属性是指类的特性,它描述类所具有的一系列特性值。一个类可以有多个属性,也可以没有属性。在类图中属性只要写上名字就可以了。如下图,也可以在属性名后跟上类型甚至缺省取值,如下图:,方法 方法是指类所能提供的服务或可执行的操作。它表现类的动态特征。,2)继承,继承,也称泛化,它是面向对象描述类之间相似性的一个重要机制。面向对象利用继承来表达这种相似性,这使得可以利用继承来管理类,同时也使得在定义一个相似类时能简化类的定义工作。,继承(泛化)关系,一个类可以继承其他类的属性和方法。继承了其它类属性和方法的类称为子类,被继承的类称为父类或超类。它们的关系如下图所示。子类复用父类属性和方法的过程,称为继承或泛化。,3)超类、父类、子类,一个类可能没有父类,这种没有父类的类被称为基类或根类;一个类也可以没有子类,没有子类的类被称为叶类。如果一个类恰好只有一个父类,这样的继承关系叫单继承。如果一个类有多个父类,这样的继承就是多继承。,4)多态,多态是指在不同类中具有相同名称的方法(操作)。,对象是类的具体实例,即类在某时刻的一个快照。,5)对象,6)消息,消息是从一个对象(发送者)向另一个或几个其他对象(接收者)发送的信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。,统一建模语言UML概述,统一建模语言(UML)是一个用于描述、可视化、构造和文档化软件系统的建模语言。它统一了Grady Booch、Jim Rumbangh、和Ivar Jacobson三位大师的面向对象建模描述语言(Booch,OMT、OOSE),并对其做了进一步的发展,最终成为广泛接受的面向对象建模语言。UML已被OMG所采用,目前成为业界的标准。,UML(Unified Modeling Language,统一建模语言)是一种可视化的建模语言,它能够让系统构造者用标准的、易于理解的方式建立起能够表达他们设计思想的系统蓝图,并且提供一种机制,以便于不同的人之间有效的共享和交流设计成果。,1、UML是一种语言,1.UML是什么?,2、UML是一种可视化的语言,3、UML是一种可以用于详细描述的语言,4、UML是一种构造语言,2.UML有什么用处?,一个成功的开发项目之所以成功,是因为功能的提出者(客户)和实现功能的开发人员(程序员)之间有一座可以很好沟通的桥梁。UML借助一套图形和符号,可以来完成这座桥梁的作用。,UML不是一门程序设计语言。但可以使用代码生成器工具将UML模型转换为多种程序设计语言代码,或使用反向生成器工具将程序源代码转换为UML。,3.UML用在系统设计的哪一个阶段?,软件设计几个主要的阶段:,需求分析,概要设计,详细设计,编 码,测 试,结构化的需求分析方式和设计方式例如:数据流图等,面向对象的需求分析方式和设计方式,结构化程序设计语言:C等,面向对象的程序设计语言:C,JAVA等,结构化测试方法,面向对象的测试方法,例如:UML,4.UML的历史,5.UML的组成,构造块,公共机制,构架,建模元素,关系,图,UML,修饰,公共分类,规格说明,扩展机制,五个系统视图,5.1UML构造块,物件这些是建模元素本身。关系这些把物件联系在一起,关系说明两个或多个物件是如何语义相关的。图这些是UML模型的视图,它们展现物件的集合。,1)UML物件,UML物件可以分成:结构物件UML模型的名词,如类、接口、协作、用例、活动类、组件、节点。行为物件UML模型的动词,如交互、状态机。分组物件包,它用于把语义上相关的建模元素分组为内聚的单元。注解物件注解,它附加到模型以捕获特殊信息。,2)UML关系,3)UML视图,5.2UML构架,标准建模语言UML的重要内容可以由下列五类视图(共9种图形)来定义:,第一类是用例视图(Use case View),强调从用户角度看到的或需要的系统功能,并指出各功能的操作者。包括用例图。,用例图用来描述系统功能。,第二类是静态视图(Static View),展现系统的静态或结构组成及特征。包括类图、对象图和包图。类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。不同点在于对象图显示类的多个对象实例,而不是实际的类。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。,第三类是行为视图(Behavior View),描述系统的动态模型和组成对象间的交互关系。包括状态图和活动图。,状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。,第四类是交互图(Interactive View),描述对象间的交互关系。包括顺序图和协作图。,顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择协作图。,第五类是实现图(Implementation VIew)。包括构件图和部署图。,构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。包含逻辑类或实现类的有关信息。构件图有助于分析和理解部件之间的相互影响程度。部署图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。,5.3视图和图的总结,用例视图(Use case View)。,动态视图(Dynamic View),也称行为视图(Behavior View)。,实现图(Implementation View),也称组件视图(Component View),交互视图(Interactive View)。,静态视图(Static View),也称逻辑视图(Logic View)。,5.4图的总结,用例图(Use Case Diagram),类图(Class Diagram),对象图(Object Diagram),组件图(Component Diagram),配置图(Deployment Diagram),也被称为部署图,实施图,静态视图,时序图(Sequence Diagram),也称顺序图,序列图,协作图(Collaboration Diagram),状态图(StateChart Diagram),活动图(Activity Diagram),动态视图,5.5UML视图和图,6.支持UML开发的常用工具,PowerDesigner(Sybase)Rose(Rational)Together(Borland)Visio(Microsoft)BridgePoint(Project Technology)Visual UML(Visual Object Modelers),7.建 模,建模的定义:建模是对现实的简化。是把复杂的系统变成小的系统,采用“各个击破”的原则逐一解决。建模的目标:1)模型帮助我们按照实际情况或按照我们所需要的样式对系 统进行可视化。2)模型允许我们详细说明系统的结构和行为。3)模型给出一个知道我们构造系统的模板。4)模型对我们的决策进行文档化。,