1、软件工程,2,第9章课程回顾知识点回顾:对象1具有相同状态的一组操作的集合。对象2对问题域中某个东西的抽象,这种抽象反映了系统保存有这个东西的信息或与它交互的能力。对象是对属性值和操作的封装。类:对具有相同属性和行为的一个或多个对象的描述。实例:由某个特定的类所描述的一个具体的对,象。,3,第9章课程回顾,消息:要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。,方法:对象所能够执行的操作。也就是类中所定义的服务。,属性:类中所定义的数据,它是对客观世界实体所具有的性质的抽象。,封装:在面向对象的程序中,把数据和实现操作的代码集中起来放在对象的内部,称之为封装。,4,第9章课程回顾
2、继承:指能够直接获得已有的性质和特征,而不必重复定义它们。多态性:子类对象可以象父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。函数重载:在同一个作用域内的若干个参数特征不同的函数可以使用相同的函数名字。运算符重载:同一个运算符可以施加于不同类型,的操作数上面。,5,第9章课程回顾,面向对象方法学的优点是什么?,(1)与人类习惯的思维方式一致。(2)稳定性好,(3)可重用性好,(4)较易开发大型软件产品(5)可维护性好,6,第9章课程回顾,对象的特点是什么?,(1)以数据为中心(2)对象是主动的,(3)实现的数据封装,(4)本质上具有并行性(5)模块独立性好,7,第9章课
3、程回顾,用面向对象方法开发软件通常需要建立哪3种,形式的模型?,对象模型:描述系统数据结构动态模型:描述系统控制结构功能模型:描述系统功能,类与类之间通常存在哪4种关系?,类与类之间通常存在关联、泛化(继承)、依赖和细化4种关系。,8,第9章课程回顾类图性质具有哪些性质?描述类及类与类之间的静止关系;是一种静态模型;一个系统可以由多张类图来描述;一个类也可以出现在几张类图中。一幅用例图包含的模型元素有哪些?一幅用例图包含的模型元素有:系统、行为者、,用例及用例之间的关系。,9,第9章课程回顾,创建用例模型的工作主要包括哪些?,定义系统;,寻找行为者和用例;描述用例;,定义用例之间的关系;确定模
4、型。,10,第10章 统一建模语言UML简介,10.1 UML概述,10.2 UML的构成,10.3 一个UML的例子,11,10.1 UML概述,UML是一个通用的可视化建模语言,是用于对软件进行描述、可视化处理、构造和建立软件系统支配的文档。,制品:指软件开发过程中产生的各种产物,,如模型、源代码、测试用例等。,UML适用于各种软件开发方法、软件生命周期的各阶段、各种应用领域及各种开发工具。,12,10.1 UML概述1、UML的产生背景80年代末90年代中期,各种建模方法如雨后春笋,多达50多种。1994年Rational软件公司的Rumbaugh与Booch合作,1995年Jacobs
5、on加入。1996年,OMG(Object Management Group)发布征集面向对象建模标准方法的消息。1997年,UML三位创始人向OMG提交UML方法。,1997年11月,UML通过并被采纳为标准。,13,10.1 UML概述2、什么是UML,作为一种语言,UML定义了一系列的图形符号来 描述软件系统。,图形符号有严格的语义和清晰的语法。,图形符号及其背后的语义和语法组成了一个标 准。,UML描述了一个系统的静态结构和动态行为。通过静态结构定义系统中对象的属性和操作以及 这些对象之间的相互关系。,14,10.1 UML概述,动态行为定义了对象的时间特性和对象为完成目标而相互进行通
6、信的机制。,UML标准没有定义一个标准的开发过程。它支持面向对象开发过程而设计的。,UML不是一门程序设计语言,但可以利用代码生成器工具将UML模型转换为多种程序设计语言代码。,15,10.1 UML概述,UML特点,(1)统一的标准(2)面向对象,(3)概念明确,建模表示法简洁,图形结构清晰,可视,化、表达能力强,容易掌握和使用,(4)独立于过程,16,10.1 UML概述,3、UML中的视图,17,10.1 UML概述,(1)用例视图,用来支持软件系统的需求分析,定义边界,关注功能,从系统参与者的角度描述系统的外部行为和静态功能,该图使用者是客户、开发人员及测试人员,一个用例就是系统的一个
7、用法的通用描述,用例图是核心。,通过用例图可以检验和最终校验系统。,18,10.1 UML概述,(2)逻辑视图,定义系统的实现逻辑。,它描述了在对软件系统进行设计时产生的设计概念。,它的使用者主要是开发人员和设计者。,描述系统的静态结构,也描述系统内部的动态协作关,系。,原则上与软件系统的实现平台无关。,它的图形模型包括:类图、对象图、状态图、顺序图、,协作图及活动图等。,19,10.1 UML概述,(3)组件视图,描述系统的实现模块及它们之间的依赖关系。,它的使用者主要是开发人员。,组件是不同类型的代码模块,通过代码模块的结构和依,赖关系来表示。,组件视图中也可以添加组件的其他附加的信息。,
8、(4)实现视图,描述的是组成一个软件系统的各个物理部件,这些部件已各种方式组合起来,构成一个可实际运行的系统。,20,10.1 UML概述,实现视图的使用者主要是开发人员和系统集成人员。该视图有动态图(状态图、协作图以及活动图)和实现图,(组件图和部署图)组成。,(5)部署视图,描述软件系统在计算机硬件系统和网络上的安装、分发,和分布情况。,它的使用者是开发人员、系统集成人员和测试人员。,该视图由部署图表示。,21,10.2 UML的构成,1、UML的体系结构,基本构造块规则,公用机制,22,10.2 UML的构成2、 UML的模型元素UML把可以在图中使用的概念统称为模型元素。图形符号隐含表
9、示了模型元素的语法和语义。模型元素描述了系统结构(静态特征)和行为(动态特征)。UML定义了两类模型元素:一类模型元素用于表示模型中的某个概念(图3-3)。另一类模型元素用户表示模型元素之间相互连接关系,(图3-4)。,23,10.2 UML的构成,24,10.2 UML的构成,3、 UML的模型结构,4个抽象层次,即:元元模型、元模型、模型层和用户模型。,下一层是上一层的基础,上一层是下一层的实例,25,10.2 UML的构成4、UML的模型图,26,10.2 UML的构成5、 UML建模规则,(1)名字:任何一个UML成员都必须包含一个名字。,(2)作用域:UML成员所定义的内容起作用的上
10、下文环境。,(3)可见性:UML成员被其他成员引用的方式。(4)完整性:UML成员之间相互连接的合法性和一致性。,27,10.2 UML的构成,(5)运行属性:UML成员在运行时的特性。,一个完备的UML模型必须对以上内容给出完整的解释。,UML模型在不同的视图中出现时,出于不同的交流侧重点,其表达式可以是不完备的。在系统开发过程中,模型可以:,被省略,即模型本身是完备的,但在图上某些属性被隐,藏起来,以简化表达。,28,10.2 UML的构成,不完全,即在设计过程中某些元素可以暂时不存在。不一致,即在设计过程中暂时不保证设计的完整性。,6、UML的公用机制,在UML模型图上使用UML成员进行
11、建模时,需要 对UML成员进行描述。,UML使用公用机制为图附加一些信息,这些信息通常无法用基本的模型元素表示。,UML对不同的UML成员使用共同的描述方式,这些方式称之为公用机制。,29,10.2 UML的构成,(1)规范说明:模型的完整的或完备的信息被保存在模型的规范说明中。,(2)修饰:添加修饰,可为模型元素附加一定的语义。,(3)公共划分:许多事物可以划分为抽象的描述和具体的实例这两种存在形式。,(4)扩展机制:为UML提供了扩充其表达内容的范围的能力。包括构造型、标记值及约束。,30,10.2 UML的构成,构造型是对类的进一步的分类;,标记值用来扩充UML成员的规范说明。约束用来扩
12、充UML成员的语义。,31,10.3 一个UML的例子,1、用例图,用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。图形表示法:,椭圆表示用例,用例是系统中的一个功能单元,可以别,描述为参与者与系统之间的一次交互作用。,线条人/稻草人表示参与者,是系统的各种用户。,32,10.3 一个UML的例子,用例图实例:,10.3 一个UML的例子,2、活动图,活动图描述了活动发生的顺序。图形表示法:,圆角矩形表示方框中的活动;矩形表示工作流影响的对象;实心圆表示工作流的开始状态;双层圆表示工作流的结束状态;菱形表示决策点;,垂直泳道表示工作流中的不同参与者及相关活动。33,34,10.3
13、一个UML的例子,活动图实例,35,10.3 一个UML的例子,3、顺序图,顺序图表示对象之间传送消息的时间顺序。图形表示法:,垂直线,即生命线,表示在整个交互过程中一个对象的,生命周期。,生命线之间的箭头连线表示消息。,箭头连线上的文字表示相关的事件。,36,10.3 一个UML的例子,顺序图实例,37,10.3 一个UML的例子,4、协作图,协作图对在一次交互中有意义的对象和对象间的链建模。,图形表示法:,直线表示对象之间直接通信关系。,附在直线上箭头表示消息传送方向。,箭头旁文字表示消息及消息编号。,38,10.3 一个UML的例子,协作图实例,39,10.3 一个UML的例子,5、类图
14、,以类为中心组织起来的图形,用以表示软件系统中各类之间的相互关系。图形表示法:,矩形框表示类图中的类。,连线表示类之间的关系。,类之间的关系有关联、 聚集、泛化和依赖,40,10.3 一个UML的例子,类图实例,10.3 一个UML的例子,6、状态图,状态图是一个类对象所经历的所有历程的模型图。状态图有对象的各个状态和连接这些状态的变迁组成。,图形表示法:,圆角矩形表示状态;,带箭头的直线表示对象从一种状态变迁到另一种状态的,过程。,附在直线上的信息表示触发对象状态变迁的条件。41,42,10.3 一个UML的例子,状态图实例,43,10.3 一个UML的例子,7、组件图,组件图表示了系统中的
15、各种组建。,组件可以是源代码、二进制文件或可执行文件。逻辑视图与组件视图之间存在着映射关系。组件可以与公开的任何接口一起显示。,44,10.3 一个UML的例子,组件图实例,45,10.3 一个UML的例子,8、部署图,用来描述位于节点实例上的运行组件的安排,描述系统的实际物理结构。图形表示法:,立方体表示节点,节点可以是一组运行的资源,如计算,机、设备或存取器等。,直线表示节点之间连接方式。,46,10.3 一个UML的例子,部署图实例,47,本章总结1了解统一建模语言的基本概念;2了解UML中的视图概念、体系结构、模型元素和建模规则。3. 知识点总结:什么是UML?作为一种语言,UML定义
16、了一系列的图形符号来描述软件系统。UML特点是什么?,(1)统一的标准,48,本章总结(2)面向对象(3)概念明确,建模表示法简洁,图形结构清晰,可视化、表达能力强,容易掌握和使用(4)独立于过程UML中的视图有哪几种?(1)用例视图(2)逻辑视图(3)组件视图(4)实现视图,(5)部署视图,(4)完整性:UML成员之间相互连接的合法性和一致性,49,本章总结,UML的体系结构包括哪3部分?,基本构造块规则,公用机制,UML建模规则主要包括哪些内容?,(1)名字:任何一个UML成员都必须包含一个名字。(2)作用域:UML成员所定义的内容起作用的上下文环,境。,(3)可见性:UML成员被其他成员饮用的方式。,50,本章总结,(5)运行属性:UML成员在运行时的特性。,UML的公用机制包括哪些内容?,(1)规范说明:模型的完整的或完备的信息被保存在模,型的规范说明中。,(2)修饰:添加修饰,可为模型元素附加一定的语义。(3)公共划分:许多事物可以划分为抽象的描述和具体,的实例这两种存在形式。,(4)扩展机制:为UML提供了扩充其表达内容的范围的,能力。包括构造型、标记值及约束。,