学术交流年会课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《学术交流年会课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学术交流 年会 课件
- 资源描述:
-
1、5.1 5.1 UM L历史历史 5.2 5.2 UM L包含的内容包含的内容 5.3 5.3 UM L应用领域应用领域 5.4 5.4 案例分析案例分析目录目录5.1 UML的历史的历史 统一建模语言(Unified Modeling Language,简称UML)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。5.1 UML的历史的历史 UML的背景的背景u三个最流行的面向对象方法。OMT方法、Booch和OOSE。uBooch 方法,比较适合于系统的设计和构造,然而在分析方面比较弱。uOMT方法,分析是OMT方法的强
2、项,但在设计方面就比较弱。uOOSE方法,在行为分析方面强大,但是在其它方面比较弱。5.1.1 UML UML的背景的背景 5.1 UML的历史的历史UML的发展历程 5.1.2 UML UML发展发展5.1 UML的历史的历史UMLUML特点特点 面向对象。UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图形和方法,能简洁明了地表达面向对象的各种概念。可视化,表示能力强。通过UML的模型图能清晰地表示系统的逻辑模型和实现模型。独立于过程。UML是系统建模语言,独立于开发过程。独立于程序设计语言。用UML建立的软件系统模型可以用Java、VC+、SmalltaIk等任何一种面向
3、对象的程序设计来实现。易于掌握使用。UML图形结构清晰,建模简洁明了,容易掌握使用。5.1.3 UML UML特点特点 5.1 UML的历史的历史UMLUML的面向对象分析设计过程的面向对象分析设计过程 运用UML进行面向对象的系统分析设计,其过程通常由以下3个部份组成:u识别系统的用例和角色u进行系统分析,并抽取类u进行系统设计,并设计类及其行为 5.1.3 UML UML特点特点 5.1 UML的历史的历史 UML的定义包括UML语义和UML表示法两个部分。uUML语义 描述基于UML的精确元模型定义。uUML表示法 定义UML符号的表示法。UML由图和元模型组成,图是语法,元模型是语义。
4、UML主要包括三个基本构造块:事物(Things)、关系(Relationships)和图(Diagrams)。UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。5.1.4 UML UML的组成的组成统一建模语言(Unified Modeling Language,简称UML)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。5.2 UML包含的内容包含的内容关系是事物间的连接,
5、在面向对象建模中,有4个很重要的关系:类属(Generalization)关系,关联(Association)关系,依赖(Dependency)关系,实现(Realization)关系。u类属关系(类属关系(GeneralizationGeneralization)类属关系描述了一般事物与该事物的特殊种类之间的关系。表示为类与类之间的继承关系,接口与接口之间的继承,类对接口的实现关系。类属关系用一条带空心的三角箭头的实线表示,箭先尾端连接子类,箭头指向父类。5.2.1 关系关系5.2 UML包含的内容包含的内容UML中,对类属关系有三个要求:(1)特殊元素与一般元素完全一致。关联/属性/操作(
6、2)特殊元素应包含额外信息。(3)特殊元素的应用场合包含一般元素的应用场合。类属关系图5.2 UML包含的内容包含的内容5.2.1 关系关系u关联关系(关联关系(Association Association)关联关系表示两个类之间存在某种语义上的联系。它是一种结构关系,规定了一种事物的对象可以与另一种事物的对象相连。5.2 UML包含的内容包含的内容5.2.1 关系关系u关联关系又分为两种类型:聚合关系(Aggregation Relationship)聚合关系,聚合关系表示对象实例之间的整体与部分的关系,它代表了“has-a”(拥有)关系,即作为整体的对象拥有作为部分的对象,整体与部分可以
7、分开。组合关系(Composition Relationship)组合关系,组合关系是聚合关系的一种特殊形式。在组合关系中,整体和部分之间有着很强所有关系和一致的生命周期,即整体与部分是不可以分开的。5.2 UML包含的内容包含的内容5.2.1 关系关系聚合关系组合关系5.2 UML包含的内容包含的内容5.2.1 关系关系u依赖关系(依赖关系(DependencyDependency)依赖关系描述了两个模型元素间的语义联系,其中一个模型元素的变化一定会影响另一个模型元素(这种影响不必是可逆的)。例如,有两个类Customer类和Account类,如果Customer类的变化引起Account类
8、的变化,则说明Account类依赖于Customer类。5.2 UML包含的内容包含的内容5.2.1 关系关系u依赖关系有如下三种情况:(1)Customer类是Account类的一个成员变量;(2)Customer类是Account类方法当中的一个参数;(3)Customer类向Account类发送消息,从而影响 Account类发生变化;5.2 UML包含的内容包含的内容5.2.1 关系关系u实现关系(实现关系(Realize RelationshipRealize Relationship)实现关系是用来规定接口和实现接口的类或者构建结构的关系,接口是操作的集合,而这些操作就用于规定类或
9、者构建的一种服务。使用带空心箭头的虚线表示,箭头指向接口。5.2 UML包含的内容包含的内容5.2.1 关系关系视与图视与图 对于一个软件系统来说,往往需要从不同的角度对它进行描述,由此产生了视的概念,不同的视描述了软件系统的不同方面。Kruchten 提出了一个“4+1”视图模型,从5个不同的视角描述软件体系结构,它们是逻辑视、过程视、实现视、配置视和用例视。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。5.2.2 视图视图5.2 UML包含的内容包含的内容“4+1”视图模型5.2 UML包含的内容包含的内容5.2.2 视图视图 用例(Use Cas
10、e)模型主要用来描述客户的需求,即用户希望系统所具备的功能。用例图是用例模型的图形表示,能够准确地表达参与者以系统的交互情况和系统所提供的服务。Use Case图是后续的系统分析与设计工作依据。用例图主要包括3各部分:u用例(Usesr CAse)。u参与者(Actor)u关系5.2.3 用例图用例图5.2 UML包含的内容包含的内容 参与者(Actor)又可以称为活动者,是用户作用于系统的一个(Role)。活动者有自己的目标,通过与系统的交换到达目标。参与者是对系统边界之外的对象的描述。参与者可以是人,也可以是外部系统或其它设备。图书管理员是图书借阅管理系统的用户,是该系统的外部实体,而用例
11、借书管理、还书管理是系统应该提供的功能,如下图所示。5.2.3 用例图用例图-参与者参与者5.2 UML包含的内容包含的内容图书借阅管理系统图书管理员用例图5.2 UML包含的内容包含的内容5.2.3 用例图用例图-参与者参与者 用例是对系统行为的动态描述,促进设计人员、开发人员与用户的沟通,正确理解用户的需求;规划系统与外部实体的界限,是系统设计的起点,是类、对象、操作的来源。用例是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段完整的服务。5.2.3 用例图用例图-用例用例5.2 UML包含的内容包含的内容用例之间关系有包含(include)、扩展(extend)和
12、类属(generalization)三种关系。包含包含(include)包含关系:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动作,以便多个基(Base)用例复用。基用例控制与包含用例的关系,以及被包含用例的事件流是否会插入到基用例的事件流中。5.2.3 用例图用例图-用例关系用例关系5.2 UML包含的内容包含的内容 基于用例的需求分析基于用例的需求分析 (1)(1)用例图是用来收集和描述用户需求的最好方法,明确用例图是用来收集和描述用户需求的最好方法,明确系统的功能和参与者。需要强调的是用例图只是描述了系系统的功能和参与者。需要强调的是用例图只是描述了系统做什么,而没有规
13、定怎么做的。为了明确系统是怎么做统做什么,而没有规定怎么做的。为了明确系统是怎么做的,为此引入了用例事件流描述。的,为此引入了用例事件流描述。(2)(2)用例事件流描述完成用例规定行为所需要的事件。用例事件流描述完成用例规定行为所需要的事件。(3)(3)用例及用例事件流描述是系统动态建模依据之一,强用例及用例事件流描述是系统动态建模依据之一,强调用例事件流描述的重要性。调用例事件流描述的重要性。5.2.3 用例图用例图-用例事件流描述用例事件流描述5.2 UML包含的内容包含的内容用例事件流描述用例事件流描述 用例图只能告诉我们系统应具有的功能及参与者,而没用例图只能告诉我们系统应具有的功能及
14、参与者,而没有说明用例的执行过程。因此,必须必须借助事件流描述用有说明用例的执行过程。因此,必须必须借助事件流描述用例的行为。例的行为。(1)(1)用例什么时候开始,如何开始用例什么时候开始,如何开始(2)(2)用例什么时候结束,如何结束用例什么时候结束,如何结束(3)(3)用例和参与者之间有什么样的交互作用用例和参与者之间有什么样的交互作用(4)(4)用例需要什么数据用例需要什么数据(5)(5)用例的标准的事件顺序用例的标准的事件顺序(6)(6)替代的或例外的事件流的描述替代的或例外的事件流的描述5.2.3 用例图用例图-用例事件流描述用例事件流描述5.2 UML包含的内容包含的内容 在一般
15、信息系统中,总是存在着维护某某信息的功能,如果将它作为一个用例,那新建、编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、编辑用例和删除用例,则划分太细。这时包含关系可以用来理清关系,如下图所示。5.2.3 用例图用例图-用例包含关系用例包含关系5.2 UML包含的内容包含的内容扩展扩展(extend)(extend)扩展关系:将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。5.2.3 用例图用例图-用例扩展关系
16、用例扩展关系5.2 UML包含的内容包含的内容系统中允许用户对查询的结果进行导出、打印。对于查询而言,能不能导出、打印查询都是一样的,导出、打印是不可见的。导出、打印和查询相对独立,而且为查询添加了新行为。因此可以采用扩展关系来描述,如下图所示。5.2.3 用例图用例图-用例扩展关系用例扩展关系5.2 UML包含的内容包含的内容类属类属(generalization)(generalization)类属关系:用例间的类属关系如同类间的类属关系。子用例继承父用例的行为和含义,但表现出更特别的行为。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。5.2.3 用例图用例图-用例类属
17、关系用例类属关系5.2 UML包含的内容包含的内容例如,在办公自动化系统中,可能存在许多需要部门领导审批的事情,虽然审批的内容和类型不一样,但是领导审批的流程是很相似的,这时可以做成类属关系表示,如下图所示。5.2.3 用例图用例图-用例类属关系用例类属关系5.2 UML包含的内容包含的内容 类图(class)是面向对象模型的最基本的模型元素,描述对象模型的静态结构方面。表达了类集、接口集、协作以及它们之间的关系,是定义其它图的基础。类图的组成部分包括:u类(class)u接口(Interface)u协作(Collaboration)u依赖(Dependency)、类属(Generalizat
18、ion)、实现(Realization)、关联(Association)5.2.4 类图与对象图类图与对象图5.2 UML包含的内容包含的内容C la ss2C la ss3C la ss1C la ss4 C o lla b o ra tio n依 赖聚 合关 联类 属5.2 UML包含的内容包含的内容5.2.4 类图与对象图类图与对象图 对象图(Object Diagram)是类图的一个实例。对象图表示在某一时刻系统对象的状态、对象之间联系的状态以及对象行为静态方面的状态。对象图的表示方法和类的表示方法相同。对象之间的连接(Link)是类之间的关联关系的实例。对象图中通常含有:对象、连接。
19、5.2 UML包含的内容包含的内容5.2.4 类图与对象图类图与对象图 交互图(Interaction Diagram)表达对象之间的交互,是描述一组对象如何合作完成每一个行为的模型化工具。交互图主要用于对Use Case中的控制流的建模。一般情况下一个交互图表达一个Use Case的行为,表示了该Use Case中若干个实例对象和对象之间所传递的消息。UML1.X的交互图有两种即顺序图(Sequence Diagram)和协作图(Collaboration Diagram)。在UML2.0中,协作图改称为通信图(Communication Diagram),并增加了交互概观图(Interac
20、tion Overview Diagram)和计时图(Timing Diagram)。5.2.5 交互作用图交互作用图5.2 UML包含的内容包含的内容l顺序图顺序图 顺序图是交互图的一种,重点在于完成每个行为的对象类和这些对象类之间所传递的消息的时间顺序。顺序图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。5.2 UML包含的内容包含的内容5.2
21、.5 交互作用图交互作用图5.2 UML包含的内容包含的内容l顺序图顺序图l 协作图协作图 协作图用于显示组件及其交互关系的空间组织结构,它并不侧重于交互的顺序。协作图显示了交互中各个对象之间的组织交互关系以及对象彼此之间的链接。协作图具有以下用途:u通过描述对象之间消息的移动情况来反映具体的脚本 u显示对象及其交互关系的空间组织结构,而非交互的顺序 5.2 UML包含的内容包含的内容5.2.5 交互作用图交互作用图Print Client:Paycheck:Em ployee:PaycheckPrinterIm age:PrinterInterface:PrintService1:print
22、(Paycheck,String)7:buildPrintIm age()4:getEm ployeeN am e()5:getEm ployeeID()2:create(Paycheck)8:print(theIm age):Printer9:print()3:getEm ployee()6:getA m ount()l协作图协作图5.2 UML包含的内容包含的内容5.2.5 交互作用图交互作用图l顺序图与协作图顺序图与协作图 协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同。顺序图清楚地表示了交互作用中的时间顺序,但没有明确表示对象间的关系。协作图清楚地表示了对象间的关系,但时
23、间顺序必须从顺序图获得。顺序图常常用于表示方案,而协作图用于过程的详细设计。另外,时序图与协作图在语义上是等价的,因而它们可以相互转换而不损失信息。5.2 UML包含的内容包含的内容5.2.5 交互作用图交互作用图 活动图主要是一个流图,描述从活动到活动的控制流。活动图的基本元素有:动作状态(或活动状态)、动作流、泳道和对象流。此外初始状态、终结状态、判定(分支)、合并、分叉和联结也是常用的图形元素和符号。5.2.6 活动图活动图5.2 UML包含的内容包含的内容 动作状态(Action State)描述了一个原子的或不可中断的动作或操作的执行。也就是说动作状态不能被分解。例如:图书管理系统中
24、的的借书与还书状态是动作状态。5.2.6 活动图活动图-动作状态动作状态5.2 UML包含的内容包含的内容 活动状态是非原子的,动作或操作的执行是可以分解并能够中断的。通常活动状态需要很长的时间才能完成。可以把活动状态看做是一个组合,该组合的控制流由其它的活动状态和动作状态构成。活动状态和动作状态的UML符号没有区别,但是活动状态可以有入口、出口动作和子状态的规定。入口动作和出口动作分别是进入或离开状态时要执行的动作。5.2.6 活动图活动图-活动状态活动状态5.2 UML包含的内容包含的内容例如,制定计划和添加图书是活动状态。5.2.6 活动图活动图-活动状态活动状态5.2 UML包含的内容
25、包含的内容 动作流(Action Flow)是一个实体的不同动作状态之间的联系,说明状态之间的控制流。在活动图中动作流用实箭线表示,箭线从一个动作状态出发指向另一个动作状态。动作流可以是无条件的,也可以是有条件的。5.2.6 活动图活动图-动作流动作流5.2 UML包含的内容包含的内容 活动图描述了从一个活动到另一个活动的控制流,但没有说明该项活动由谁来完成。泳道解决了这个问题。泳道(Swimlanes)说明活动由谁来完成,将活动图的逻辑描述与顺序图、合作图的责任描述结合起来。泳道用矩形框来表示,属于某个泳道的活动置于该矩形框中,将对象名置于举行框的顶部,表示泳道中的活动由该对象负责。5.2.
展开阅读全文