配套课件-UML统一建模语言.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《配套课件-UML统一建模语言.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 配套 课件 UML 统一 建模 语言
- 资源描述:
-
1、重点内容:重点内容:l面向对象思想的基本概念面向对象思想的基本概念 l面向对象的三大要素面向对象的三大要素 l面向对象与项目设计面向对象与项目设计 l用面向对象思想建立系统模型用面向对象思想建立系统模型 面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。从程序设计方法上来讲,它是一种自下而上的程序设计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。对象(object)是面向对象(Object-Oriented,OO)系统的基本构造块,是一些相关的变量和方法的软件集。可以利用
2、对象来代表现实世界中的对象:可用一个飞行试驾程序来代表现实世界中的正在飞行的飞机,或者用机床数控程序来代表现实世界的运行的机床。同样可以使用对象来造型抽象的概念,比如,点击按钮事件就是一个用在GUI窗口系统的公共对象,它可以代表用户点击程序界面中的一个确定按钮的动作。类(Class)是具有相同属性和操作的一组对象的组合,也就是说,抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。例如名为“学生”的类被用于描述为被学生管理系统管理的学生对象。类的定义要包含以下的要素 第一,定义该类对象的数据结构(属性的名称和类型)第二,定义对象所要执行的操作,也就是类的对
3、象要被调用执行那些操作,以及这些操作时对象要执行那些操作,比如数据库操作等等。所谓消息(Message)是指描述事件发生的信息,是对象间相互联系和相互作用的方式。一个消息主要由5部分组成:消息的发送对象、消息的接收对象、消息传递方式、消息内容(参数)、消息的返回。传入的消息内容的目的有两个,一个是让接受请求的对象获取执行任务的相关信息,另一个是行为指令。所谓事件通常是指一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。对象通过对外提供的方法在系统中发挥自己的作用,当系统中的其它对象请求这个对象执行某个方法时,就向该对象发送一个消息,对象响应这个请求,完成指
4、定的操作。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。封装(Encapsulation)是把对象的状态和行为绑到一起的机制,把对象形成一个独立的整体,并且尽可能的隐藏对象的内部细节。封装有两个含义:一是把对象的全部状态和行为结合一起,形成一个不可分割的整体。对象的私有属性只能够由对象的行为来修改和读取。二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。封装的信息屏蔽作用反映了事物的相对独立性,我们可以只关心它对外所提供的接口,即能够提供什么样的服务,而不用去关注其内部的细节问题。比如说使用手机,我们关注的通常是这个手机能实现什么功能,而不太会去关心这个手
5、机的是怎么一步步制造出来的。继承(Inheritance)是一种连接类与类的之间的层次模型。继承是指特殊类的对象拥有其一般类的属性和行为。继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中所定义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属性和行为。继承对类的重用性,提供了一种明确表述共性的方法。即一个特殊类既有自己定义的属性和行为,又有继承下来的属性和行为。多态性(Polymorphism)是指在两个或多个属于不同类中同一函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数。面向对象设计的准则包括模块化、抽象、信息隐藏、低
6、耦合和高内聚等特征。系统设计是问题求解及建立解答的高级策略。必须制定解决问题的基本方法,系统的高层结构形式包括子系统的分解、它的固有并发性、子系统分配给硬软件、数据存储管理、资源协调、软件控制实现、人机交互接口等等。系统设计一般是先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。瀑布模型也被称为生存周期模型,其核心思想是按照相应的工序将问题进行简化,将系统功能的实现与系统的设计工作分开,便于项目之间的分工与协作。瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这6个阶段。喷泉模型是一种以对
7、象为驱动、以用户需求为动力的模型,主要用于描述面向对象的软件开发过程。该模型认为软件开发过程自下而上周期的各阶段是相互重叠和多次反复的,就像水喷上去又可以落下来,类似一个喷泉。基于构件的开发模型利用模块化方法将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。敏捷方法强调适应性而非预测性、强调以人为中心,而不以流程为中心,以及对变化的适应和对人性的关注,其特点是轻载、基于时间、紧凑、并行并基于构件的软件过程。在所有的敏捷方法中,XP(eXtreme Programming)方法是最引人注目的一种轻型开发方法。它规定了一
8、组核心价值和方法,消除了大多数重量型开发过程中的不必要产物,建立了一个渐进型开发过程。重点内容:重点内容:l UMLUML概述概述 l常用的常用的UMLUML元素分析元素分析 lUMLUML的通用机制的通用机制 lUMLUML的扩展机制的扩展机制 UML能够在尽可能简单的同时能够满足对实际开发需要,进行系统的各个方面建模。UML拥有足够的表达能力以便可以处理现代软件开发中出现的所有概念。UML是一个通用语言,不仅仅和一种通用程序设计语言一样,也是一个庞大的标准符号体系,提供了多种模型。UML是用模型来描述系统的结构或静态特征以及行为或动态特征的,它从不同的视角为系统的架构建模形成系统的不同视图
9、(view)。在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。视图视图 静态视图是对在应用领域中的各种概念以及与系统实现相关的各种内部概念进行的建模。由于这种视图不描述与时间有关的系统行为所以我们称之为是静态的,描述与时间相关的系统行为我们在其他视图中进行描述。静态视图主要是由类与类之间的关系构成。这些关系包括:关联、泛化和依赖关系,我们又把依赖关系具体可以再分为使用和实现关系。静态图视静态图视 用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。一个用例是系统的一个功能单元,是系统参与者与
10、系统之间进行的一次交互作用。用例视图用例视图 交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,是描绘系统中各种角色或功能交互的模型。交互视图显示了跨越多个对象的系统控制流程。我们通过不同对象间的相互作用来描述系统的行为,是通过两种方式进行的,一种是以独立的对象为中心进行描述,另外一种方式是以相互作用的一组对象为中心进行描述。交互视图可运使用两种图的形式来表示:序列图和协作图。交互视图交互视图 状态机视图是通过对象的各种状态来建立模型来描述对象随时间变化的动态行为。状态机视图也是通过不同对象间的相互作用来描述系统的行为的,不同的它是以独立的对象为中心进行描述。状态机视图中,每一个
11、对象都拥有自己的状态,这些状态之间的变化是通过事件进行触发的。对象被看成为通过事件进行触发并做出相应的动作来与外界的其他对象进行通信的独立实体。事件表达了对象可以被使用操作,同时反映了对象状态的变化。状态机视图状态机视图 活动视图是一种特殊形式的状态机视图,是状态机的一个变体,用来描述执行算法的工作流程中涉及的活动。通常活动视图用于对计算流程和工作流程建模。活动视图中的状态表示计算过程中所处的各种状态。活动视图是在假定整个计算处理的过程中没有外部事件引起的中断的条件下进行描述的,否则普通的状态机更加适合于描述这种情况。活动视图活动视图 物理视图是对应用自身的实现结构建模,例如系统的构件组织情况
12、以及运行节点的配置等等。物理视图提供了将系统中的类映射成物理构件和节点的机制。物理视图提供了将系统中的类映射成物理构件和节点的机制。系统模型的大部分内容反映了系统的逻辑和设计方面的信息,并且独立于系统的最终实现单元。物理视图物理视图 模型管理视图是对模型自身组织进行的建模,是由自身的一系列模型元素(如类、状态机和用例)构成的包所组成的模型。模型是从某一观点以一定的精确程度对系统所进行的完整描述。从不同的视角出发,对同一系统可能会建立多个模型,例如有系统分析模型和系统设计模型等等。模型是一种特殊的包。一个包(package)还可以包含其他的包。整个系统的静态模型实际上可看成是系统最大的包,它直接
13、或间接包含了模型中的所有元素内容。模型管理视图模型管理视图 用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系。使用用例图可以表示出用例的组织关系,这种组织关系包括整个系统的全部用例或者是完成相关功能的一组用例。在用例图中画出某个用例方式是在用例图中绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。用例图用例图 类图显示了系统的静态结构,表示了不同的实体(人、事物和数据)是如何彼此相关联起来。类图可用于表示逻辑类,逻辑类通常就是用户的业务所谈及的事物,比如说学生、学校等
14、。类图还可用于表示实现类,实现类就是程序员处理的实体。类图类图 序列图显示了一个具体用例或者用例的一部分的一个详细流程。它几乎是自描述的,序列图不仅可以显示了流程中不同对象之间的调用关系,还可以很详细地显示对不同对象的不同调用。序列图有两个维度:垂直维度,也称时间维度,以发生的时间顺序显示消息或调用的序列;水平维度显示消息被发送到的对象实例。序列图序列图 状态图表示某个类所处的不同状态及该类在这些状态中的转换过程。状态图的符号集包含了下列五个基本的元素:初始起点,状态之间的转换,状态,判断点,一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。状态图状态图 活动图是用来表示两个或者更多的对象
15、之间在处理某个活动时的过程控制流程。活动图能够在业务单元的级别上,对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。活动图活动图 是要指出某些功能实际存在哪些地方,还需要构件图来进行表示。构件图提供系统的物理视图,它是根据系统的代码构件显示了系统代码的整个物理结构。构件图最经常用于实际的编程工作中。在以构件为基础的开发(CBD)中,构件图为系统架构师提供了一个为解决方案进行建模的自然形式。构件图构件图 部署图是用于表示该软件系统如何部署到硬件环境中,它是显示在系统中的不同的构件在何处物理地运行,以及如何进行彼此的通信。部署图对系统的物理运行情况进行了建模,因此系统的生产人员就能够
16、很好地利用这种图来部署实际的系统。部署图部署图 在UML中,图作为一种可视化的方式聚集了相关需要表达的事物,并且表达了这些事物之间的关系。事物是对模型中最具有代表性的成分的抽象,关系描述了事物之间如何彼此关联、相互依赖或作用的。正是关系把构成系统的诸多事物结合成一个有机的整体。事物是UML模型中面向对象基本的模块,它们在模型中属于静态部分。事物作为对模型中最具有代表性的成分的抽象,在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。事物事物 UML模型是由各种事物以及这些事物之间的各种关系构成的。关系是指支配、协调各种模型元素存在并相互使用的规则。UML
17、中主要包含四种关系,分别是依赖、关联、泛化和实现。关系关系 依赖关系:依赖关系指的是两个事物之间的一种语义关系,当其中一个事物(独立事物)发生变化就会影响另外一个事物(依赖事物)的语义。关系关系 关联关系:关联关系是一种事物之间的结构关系,我们用它来描述一组链,链是对象之间的连接。泛化关系:泛化关系是事物之间的一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,也就是我们在面向对象学中常常提起的继承。关系关系 实现关系:实现关系也是UML元素之间的一种语义关系,它描述了一组操作的规约和一组对操作的具体实现之间的语义关系。如果把模型元素当成一个对象来看待,那么模型元素本身
18、也应该具有很多的属性,这些属性用于维护属于该模型元素的数据值。属性是使用名称和标记值(Tagged Value)的值来定义的。标记值指的是一种特定的类型,可以是布尔型、整型或字符型,也可以是某个类或接口的类型。在UML的图形表示中,每一个模型元素都有一个基本符号,这个基本符号可视化地表达了模型元素最重要的信息。用户也可以把各种修饰细节加到这个符号上以扩展其含义。这种添加修饰细节的做法可以为图中的模型元素在一些视觉上的效果上发生一些变化。在UML的图形表示中,每一个模型元素都有一个基本符号,这个基本符号可视化地表达了模型元素最重要的信息。用户也可以把各种修饰细节加到这个符号上以扩展其含义。这种添
19、加修饰细节的做法可以为图中的模型元素在一些视觉上的效果上发生一些变化。通用划分是一种保证不同抽象概念层次的机制。通常我们可以采用两种方式进行通用划分,一种是对类和对象的划分,另外一种是对接口和实现的分离。类和对象的划分是指类是一个抽象而对象是这种抽象的一个实例化。接口和实现的分离是指接口声明了一个操作接口,但是却不实现其内容,而实现则表示了对该操作接口的具体实现,它负责如实地实现接口的完整语义。类和对象的划分保证了实例及其抽象的划分,从而使得对一组实例对象的公共静态和动态特征无需一一管理和实现,只需要抽象成一个类,通过类的实例化实现对对象实体的管理。简而言之,构造型扩展机制的目的就是基于一个已
20、存在的模型元素再重新定义一个新的模型元素。构造型的一般表现形式为使用“”包含构造型的名称在里面,例如、等。标记值是由一对字符串构成,这对字符串包含一个标记字符串和一个值字符串,用来存储着有关模型元素或表达元素的一些相关信息。标记值,可以被我们用来扩展UML构造块的特性,可以根据我们的需要来创建详述元素的新元素。标记值可以与任何独立元素相关,包括模型元素和表达元素。标记值是当我们需要对一些特性进行记录的时候而给定元素的值。约束机制用于扩展UML构造块的语义,允许建模者和设计人员可以增加新的规则和修改现有的规则。约束可以表示在 UML 的规范表示中不能表示的语义关系,特别是当陈述全局条件或影响许多
21、元素的条件时,约束特别有用。约束使用大括号和大括号内的字符串表达式表示,即约束的表现形式为约束的内容。约束可以附加在表元素、依赖关系,或注释上。重点内容:重点内容:l 什么叫统一过程什么叫统一过程 l 统一过程的结构统一过程的结构l配置和实现配置和实现RationalRational统一过程统一过程 Rational统一过程,从字面的意思来讲,其包含有三层含义。首先,作为“Rational”统一过程,它是由Rational软件开发公司开发并维护的,它可以被看成是Rational软件开发公司的一款软件产品,并且和Rational软件开发公司开发的一系列软件开发工具进行了紧密的集成。其次是它的“统
22、一”的含义,Rational统一过程拥有自己的一套架构,并且这套架构是以一种大多数项目和开发组织都能够接受的形式存在的。其采用了现代软件工程开发的六项最佳实践。最后是它的“过程”上,Rational统一过程不管是如何解释,其最终仍然是一种软件开发过程,提供了如何对软件开发组织进行管理的方式,并且拥有自己的目标和方法。在各种书籍以及参考资料中,将Rational统一过程的开发过程使用一种二维结构来表达,即使用沿着横轴和纵轴两个坐标轴来表达该过程。Rational统一过程的静态结构是通过对其模型元素的定义来进行描述的。在Rational统一过程的开发流程中定义了“谁”“何时”“如何”做“某事”,并
23、分别使用四种主要的建模元素来进行表达,它们是:第一,角色(Workers),代表了“谁”来做?第二,活动(Activities),代表了“如何”去做?第三,产物(Artifacts),代表了要做“某事”?第四,工作流(Workflows),代表了“何时”做?角色定义了个人或由若干人所组成小组的行为和责任,它是统一过程的中心概念,很多事物和活动都是围绕角色进行的。角色举例:架构师(Architect)架构师在整个项目中领导和协调技术活动和产物。架构师为每一个架构视图建立整体结构:视图分解、元素分组以及在这些主要分组之间的接口。系统分析员(System Analyst)系统分析员通过描述系统功能的
24、纲要和约束,领导和协调系统需求的抽取和用例建模活动。角色角色 角色所执行的行为使用活动表示,每一个角色都与一组相关的活动相联系,活动定义了他们执行的工作。某个角色的活动是可能要求该角色中的个体执行的工作单元。活动通常具有明确的目的,将在项目语境中产生有意义的结果,通 常表现为一些产物,如模型、类、计划等。活动举例:第一,计划一个迭代过程,对应角色:项目经理。第二,寻找用例(use cases)和参与者(actors):对应角色:系统分析员。第三,审核设计:对应角色:设计审核人员。第四,执行性能测试:对应角色:性能测试人员。活动活动 产物物是被过程产生的、修改,或为过程所使用的一段信息。产物是项
25、目的有形产品:项目最终产生的事物,或者向最终产品迈进过程中使用的事物。产物用作角色执行某个活动的输入,同时也是该活动的输出。在面向对象的设计术语中,如活动是活动对象(角色)上的操作一样,产物是这些活动的参数。产物可以具有不同的形式:模型,模型组成元素,文档,源代码和可执行文件。产物产物 仅依靠角色、活动和产物的列举并不能组成一个过程。需要一种方法来描述能产生若干有价值的有意义结果的活动序列,显示角色之间的交互作用,这就是工作流。Rational统一过程中包含了九个核心过程工作流(core process workflows),代表了所有角色和活动的逻辑分组情况。核心过程工作流可以被再分成六个核
展开阅读全文