统一建模语言

上传人:ta****u 文档编号:183359671 上传时间:2023-01-30 格式:DOCX 页数:15 大小:205.06KB
收藏 版权申诉 举报 下载
统一建模语言_第1页
第1页 / 共15页
统一建模语言_第2页
第2页 / 共15页
统一建模语言_第3页
第3页 / 共15页
资源描述:

《统一建模语言》由会员分享,可在线阅读,更多相关《统一建模语言(15页珍藏版)》请在装配图网上搜索。

1、UML统一建模语言(UML是Unified Modeling Language的缩写)是用来对软件密集系统进行 可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档 的一种标准语言。目录1 简要介绍2 语言出现3 语言内容4 主要特点5 应用领域统一建模语言(UML)是非专利的第三代建模和规约语言。UML是在开发阶段,说明,可 视化,构建和书写一个面向对象软件密集系统的制品的开放方法。UML展现了一系列最佳 工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经 被验证有效PrimaryUMLMndule InteractiansUML可以

2、贯穿软件开发周期中的每一个阶段。被OMG采纳作为业界的标准。UML最适于 数据建模,业务建模,对象建模,组件建模。UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程 序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。UML -简要介绍 回顾20世纪晚期-准确地说是1997年,OMG组织(Object Management Group对象管 理组织)发布了统一建模语言(Unified Modeling Language, UML)。UML的目标之一 就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专 业人

3、员期待多年的统一的标准建模符号。通过使用UML,这些人员能够阅读和交流系统架 构和设计规划-就像建筑工人多年来所使用的建筑设计图一样。到了 21世纪-准确地说是2003年,UML已经获得了业界的认同。在所见过的专业人员的 简历中,75%都声称具备UML的知识。然而,在同绝大多数求职人员面谈之后,可以明显 地看出他们并不真正了解UML。通常地,他们将UML用作一个术语,或对UML 知半解。 大家对UML缺乏理解的这种状况,促进我撰写这篇关于UML 1.4的快速入门文章。当阅 读完本文时,您还不具备足够的知识可以在简历上声称自己掌握了 UML,但是您已具有了 进一步钻研该语言的良好起点。一些背景知

4、识正如前面曾提到过的,UML的本意是要成为一种标准的统一语言,使得IT专业人员能够进 行计算机应用程序的建模。 UML 的主要创始人是 Jim Rumbaugh、Ivar Jacobson 和 Grad y Booch,他们最初都有自己的建模方法(OMT、OOSE和Booch),彼此之间存在着竞 争。最终,他们联合起来创造了一种开放的标准。(听起来是不是很熟悉?这个现象类似J 2EE、SOAP和Linux的诞生。)UML成为标准建模语言的原因之一在于,它与程序设计 语言无关。(IBM Rational的UML建模工具被广泛应用于J2EE和.NET开发。)而且,U ML符号集只是一种语言而不是一

5、种方法学。这点很重要,因为语言与方法学不同,它可以 在不做任何更改的情况下很容易地适应任何公司的业务运作方式。既然UML不是一种方法学,它就不需要任何正式的工作产品(即IBM Rational Unified P rocess?术语中所定义的工件”)。而且它还提供了多种类型的模型描述图(diagram),当 在某种给定的方法学中使用这些图时,它使得开发中的应用程序的更易理解。UML的内涵 远不只是这些模型描述图,但是对于入门来说,这些图对这门语言及其用法背后的基本原理 提供了很好的介绍。通过把标准的UML图放进您的工作产品中,精通UML的人员就更加 容易加入您的项目并迅速进入角色。最常用的UM

6、L图包括:用例图、类图、序列图、状态 图、活动图、组件图和部署图。用例图用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的 方式理解系统的功能需求,包括基于基本流程的角色(actors,也就是与系统交互的其他 实体)关系,以及系统内用例之间的关系。用例图一般表示出用例的组织关系-要么是整个 系统的全部用例,要么是完成具有功能(例如,所有安全管理相关的用例)的一组用例。要 在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面 的中间位置。要在用例图上绘制一个角色(表示一个系统用户),可绘制一个人形符号。角 色和用例之间的关系使用简单的线段

7、来描述,如图1 所示。aifl-LSU-HHJ F& 可 awfkDMfW&MtE S1AMK G PT&p19EMtosn _ ”_ ”_ 、5图1示例用例图RmMLilHHfiraQM 洌 岛as图字(从上到下):CD销售系统;查看乐队CD的销售统计;乐队经理;查看Billboard 200排行榜报告;唱片经理;查看特定CD的销售统计;检索最新的Billboard 200排行榜 报告;排行榜报告服务用例图通常用于表达系统或者系统范畴的高级功能。如图1 所示,可以很容易看出该系统所提供的功能。这个系统允许乐队经理查看乐队CD的销售统计报告以及Billboard 200排 行榜报告。它也允许唱

8、片经理查看特定CD的销售统计报告和这些CD在Billboard 200排 行榜的报告。这个图还告诉我们,系统将通过一个名为排行榜报告服务的外部系统提供B illboard 排行榜报告。此外,在用例图中,没有列出的用例表明了该系统尚未完成的功能。例如,它不能提供给乐 队经理收听Billboard 200上不同专辑歌曲的途径-也就是说,系统没有引用一个叫做收 听 Billboard 200 上的歌曲的用例。在用例图中提供清晰、简要的用例描述,项目赞助商或 是需求者就很容易看出系统是否提供了必须的功能。类图 类图表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结 构。类图可

9、用于表示逻辑类,逻辑类通常就是业务人员所谈及的事物种类-摇滚乐队、CD、 广播剧;或者贷款、住房抵押、汽车信贷以及利率。类图还可用于表示实现类,实现类就是 程序员处理的实体。实现类图或许会与逻辑类图显示一些相同的类。然而,实现类图不会使 用相同的属性来描述,因为它很可能具有对诸如Vector和HashMap这种事物的引用。类在类图上使用包含三个部分的矩形来描述,如图2所示。最上面的部分显示类的名称中间部分包含类的属性,最下面的部分包含类的操作(或者说方法)。CDSa : int: mt图2:类图中的示例类对象根据经验,几乎每个开发人员都知道这个类图是什么,但是我发现大多数程序员都不能正确 地描

10、述类的关系。对于像图 3 这样的类图,您应该使用带有顶点指向父类的箭头的线段来 绘制继承关系 1,并且箭头应该是一个完全的三角形。如果两个类都彼此知道对方,则应该 使用实线来表示关联关系;如果只有其中一个类知道该关联关系,则使用开箭头表示。图3:一个完整的类图,包括了图2所示的类对象在图3中,我们同时看到了继承关系和两个关联关系CDSalesReport类继承自Report类。 一个CDSalesReport类与一个CD类关联,但是CD类并不知道关于CDSalesReport类的 任何信息。CD类和Band类都彼此知道对方,两个类彼此都可以与一个或者多个对方类相 关联。序列图 序列图显示具体用

11、例(或者是用例的一部分)的详细流程。它几乎是自描述的,并且显示了 流程中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。序列图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息 被发送到的对象实例。序列图的绘制非常简单。横跨图的顶部,每个框(参见图4)表示每个类的实例(对象)。 在框中,类实例名称和类名称之间用空格/冒号/空格来分隔,例如, myReportGenerator :ReportGenerator。如果某个类实例向另一个类实例发送一条消息,贝1绘制一条具有指向接 收类实例的开箭头的连线,并把消息/方法的名称放在连线上面。对于某些特别重要的

12、消息, 您可以绘制一条具有指向发起类实例的开箭头的虚线,将返回值标注在虚线上。就我而言, 我总喜欢绘制出包括返回值的虚线,这些额外的信息可以使得序列图更易于阅读。阅读序列图也非常简单。从左上角启动序列的驱动类实例开始,然后顺着每条消息往下阅 读。记住:虽然图 4 所示的例子序列图显示了每条被发送消息的返回消息,但这只是可选 的。通过阅读图4中的示例序列图,您可以明白如何创建一个CD销售报告(CD Sales Report)。 其中的aServlet对象表示驱动类实例。aServlet向名为gen的ReportGenerator类实例发 送一条消息。该消息被标为generateCDSalesRe

13、port,表示ReportGenerator对象实现了 这个消息处理程序。进一步理解可发现,generateCDSalesReport消息标签在括号中包括 了一个cdld,表明aServlet随该消息传递一个名为cdld的参数。当gen实例接收到一条 gen erateCDSalesReport 消息时,它会接着调用 CDSalesReport 类,并返回一个 aCDReport 的实例。然后gen实例对返回的aCDReport实例进行调用,在每次消息调用时向它传递参 数。在该序列的结尾,gen实例向它的调用者aServlet返回一个aCDReport。请注意:图 4中的序列图相对于典型的序列

14、图来说太详细了。然而,我认为它才是足够易 于理解的,并且它显示了如何表示嵌套的调用。对于初级开发人员来说,有时把一个序列分 解到这种详细程度是很有必要的,这有助于他们理解相关的内容。状态图 状态图表示某个类所处的不同状态和该类的状态转换信息。有人可能会争论说每个类都有状 态,但不是每个类都应该有一个状态图。只对感兴趣的状态的类(也就是说,在系统活动 期间具有三个或更多潜在状态的类)才进行状态图描述。如图5 所示,状态图的符号集包括5个基本元素:初始起点,它使用实心圆来绘制;状态 之间的转换,它使用具有开箭头的线段来绘制;状态,它使用圆角矩形来绘制;判断点,它 使用空心圆来绘制;以及一个或者多个

15、终止点,它们使用内部包含实心圆的圆来绘制。要绘 制状态图,首先绘制起点和一条指向该类的初始状态的转换线段。状态本身可以在图上的任 意位置绘制,然后只需使用状态转换线条将它们连接起来。UML图5:显示类通过某个功能系统的各种状态的状态图图 5 中的状态图显示了它们可以表达的一些潜在信息。例如,从中可以看出贷款处理系统 最初处于Loan Application状态。当批准前(pre-approval)过程完成时,根据该过程的结 果,或者转到Loan Pre-approved状态,或者转到Loan Rejected状态。这个判断(它是 在转换过程期间做出的)使用一个判断点来表示-即转换线条间的空心圆

16、。通过该状态图可 知,如果没有经过Loan Closing状态,贷款不可能从Loan Pre-Approved状态进入Loan in Maintenance 状态。而且,所有贷款都将结束于 Loan Rejected 或者 Loan in Maintena nce 状态。活动图 活动图表示在处理某个活动时,两个或者更多类对象之间的过程控制流。活动图可用于在业 务单元的级别上对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。根 据我的经验,活动图最适合用于对较高级别的过程建模,比如公司当前在如何运作业务,或 者业务如何运作等。这是因为与序列图相比,活动图在表示上不够技术性的,但有业

17、务头 脑的人们往往能够更快速地理解它们。活动图的符号集与状态图中使用的符号集类似。像状态图一样,活动图也从一个连接到初始 活动的实心圆开始。活动是通过一个圆角矩形(活动的名称包含在其内)来表示的。活动可 以通过转换线段连接到其他活动,或者连接到判断点,这些判断点连接到由判断点的条件所 保护的不同活动。结束过程的活动连接到一个终止点(就像在状态图中一样)。作为一种选 择,活动可以分组为泳道(swimlane),泳道用于表示实际执行活动的对象,如图6所示。sartlih& 卩*讪;厂、竊闹币sir 谄甘匸口阻响f-Wb!FJ iJjll-lilE AllUMLl&lrajl Pe OzIr-. .

18、 Njnag.gr Wa na-g$ !图6:活动图,具有两个泳道,表示两个对象的活动控制:乐队经理,以及报告工具图字(沿箭头方向):乐队经理;报告工具;选择查看乐队的销售报告;检索该乐队经理所管理的乐队;显示报告条件选择屏幕;选择要查看其销售报告的乐队;从销售数据库检索 销售数据;显示销售报告。该活动图中有两个泳道,因为有两个对象控制着各自的活动:乐队经理和报告工具。整个过 程首先从乐队经理选择查看他的乐队销售报告开始。然后报告工具检索并显示他管理的所有 乐队,并要求他从中选择一个乐队。在乐队经理选择一个乐队之后,报告工具就检索销售信 息并显示销售报告。该活动图表明,显示报告是整个过程中的最

19、后一步。组件图组件图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件(例如,库函数) 的依赖关系。组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在 组件包层次2 上显示。组件图的建模最适合通过例子来描述。图7显示了 4个组件:Reporting Tool、BillboardService、Servlet 2.2 API 和 JDBC API。从 Reporting Tool 组件指向 Billboard Service、Servlet 2.2 API和JDBC API组件的带箭头的线段,表示Reporting Tool依赖于那三个组图7:组件图显示了系统中各种软

20、件组件的依赖关系部署图部署图表示该软件系统如何部署到硬件环境中。它的用途是显示该系统不同的组件将在何处 物理地运行,以及它们将如何彼此通信。因为部署图是对物理运行情况进行建模,系统的生 产人员就可以很好地利用这种图。部署图中的符号包括组件图中所使用的符号元素,另外还增加了几个符号,包括节点的概念。 一个节点可以代表一台物理机器,或代表一个虚拟机器节点(例如,一个大型机节点)。要 对节点进行建模,只需绘制一个三维立方体,节点的名称位于立方体的顶部。所使用的命名 约定与序列图中相同:实例名称:实例类型(例如, : Applicat ion Server)。图8:部署图。由于Reporting To

21、ol组件绘制在IBM WebSphere内部,后者又绘制在节 点 内部,因而我们知道,用户将通过运行在本地机器上的浏览器来 访问Reporting Tool,浏览器通过公司intranet上的HTTP协议与Reporting Tool建立连 接。图8中的部署图表明,用户使用运行在本地机器上的浏览器访问Reporting Tool,并通过 公司intranet上的HTTP协议连接到Reporting Tool组件。这个工具实际运行在名为w3re 的 Application Server 上。这个图还表明 Reporting Tool 组件绘制在 IB M WebSphere 内部,后者又绘制在

22、节点内部。Reporting Tool 使 用 Java 语言通过 IBM DB2 数据库的 JDBC 接口连接到它的报告数据库上,然后该接口又 使用本地DB2通信方式,与运行在名为的服务器上实际的DB2数据库通信。 除了与报告数据库通信外,Report Tool组件还通过HTTPS上的SOAP与Billboard Servi ce 进行通信。UML -语言出现公认的面向对象建模语言出现于70年代中期。从1 989年到1 994年,其数量从不到十种 增加到了五十多种。在众多的建模语言中,语言的创造者努力推崇自己的产品,并在实践中 不断完善。但是, OO 方法的用户并不了解不同建模语言的优缺点及

23、相互之间的差异,因而 很难根据应用特点选择合适的建模语言,于是爆发了一场“方法大战”。 90年代中,一批新方 法出现了,其中最引人注目的是Booch 1993、OOSE和OMT-2等。Booch 是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。 1991 年, 他将以前面向Ada的工作扩展到整个面向对象设计领域。Booch 1993比较适合于系统的 设计和构造。Rumbaugh等人提出了面向对象的建模技术(0MT)方法,采用了面向对象的概念,并引 入各种独立于语言的表示符。这种方法用对象模型、动态模型、功能模型和用例模型,共同 完成对整个系统的建模,所定义的概念和符号可用于软件

24、开发的分析、设计和实现的全过程, 软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。OMT-2特别适用于分析 和描述以数据为中心的信息系统。Jacobson于1994年提出了 OOSE方法,其最大特点是面向用例(Use-Case),并在用例的 描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武器,但用例贯穿于整个 开发过程,包括对系统的测试和验证。OOSE比较适合支持商业工程和需求分析。UML此外,还有Coad/Yourdon方法,即著名的OOA/OOD,它是最早的面向对象的分析和设计 方法之一。该方法简单、易学,适合于面向对象技术的初学者使用,但由于该方法在处理能 力方面的

25、局限,目前已很少使用。概括起来,首先,面对众多的建模语言,用户由于没有能力区别不同语言之间的差别,因此 很难找到一种比较适合其应用特点的语言;其次,众多的建模语言实际上各有千秋;第三, 虽然不同的建模语言大多雷同,但仍存在某些细微的差别,极大地妨碍了用户之间的交流。 因此在客观上,极有必要在精心比较不同的建模语言优缺点及总结面向对象技术应用实践的 基础上,组织联合设计小组,根据应用需求,取其精华,去其糟粕,求同存异,统一建模语、/言。1994年10月,Grady Booch和Jim Rumbaugh开始致力于这一工作。他们首先将Booch 93 和OMT-2统一起来,并于1995年10月发布了

26、第一个公开版本,称之为统一方法UM 0.8(Unitied Method)。1995年秋,OOSE的创始人Ivar Jacobson加盟到这一工作。经过 Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分别发布了两 个新的版本,即UML 0.9和UML 0.91,并将UM重新命名为UML (Unified Modeling Language)。1996年,一些机构将UML作为其商业策略已日趋明显。UML的开发者得到了来自公众的 正面反应,并倡议成立了 UML成员协会,以完善、加强和促进UML的定义工作。当时的 成员有 DEC、HP、I Logix、Itel

27、licorp、IBM、ICON Computing、MCI Systemhouse、 Microsoft、Oracle、Rational Software、TI 以及 Unisys。这一机构对 UML 1.0 (1997 年 1 月)及UML 1.1 (1997年11月17日)的定义和发布起了重要的促进作用。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领 域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需 求分析开始的软件开发的全过程。面向对象技术和UML的发展过程可用图形来表示,标准建模语言的出现是其重要成果。在 美国,截止19

28、96年10月,UML获得了工业界、科技界和应用界的广泛支持,已有700多 个公司表示支持采用UML作为建模语言。1996年底,UML已稳占面向对象技术市场的85%, 成为可视化建模语言事实上的工业标准。1997年11月17日,OMG采纳UML 1.1作为基 于面向对象技术的标准建模语言。UML代表了面向对象方法的软件开发技术的发展方向, 具有巨大的市场前景,也具有重大的经济价值和国防价值。UML是一个标准的图形表示法,它不是面向对象的分析和设计,也不是一种方法,它仅仅 是一组符号而已。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领 域的新思想、新方法和新技术。

29、它的作用域不限于支持面向对象的分析与设计,还支持从需 求分析开始的软件开发的全过程。面向对象技术和UML的发展过程可用上图来表示,标准建模语言的出现是其重要成果。在 美国,截止1996年10月,UML获得了工业界、科技界和应用界的广泛支持,已有700多 个公司表示支持采用UML作为建模语言。1996年底,UML已稳占面向对象技术市场的85%, 成为可视化建模语言事实上的工业标准。1997年11月17日,OMG采纳UML 1.1作为基 于面向对象技术的标准建模语言。UML代表了面向对象方法的软件开发技术的发展方向, 具有巨大的市场前景,也具有重大的经济价值和国防价值。UML -语言内容首先,UM

30、L融合了 Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他 面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用 者乐于采用的一种简单一致的建模语言;其次,UML不仅仅是上述方法的简单汇合,而是 在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方 法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用 必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发 过程。作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。(1) UML语义 描述基于UML

31、的精确元模型定义。元模型为UML的所有元素在语法和语义 上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异 的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。(2) UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本 语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是 UML 元模型的实例。标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。第二类是静态图(Static diagram),包括类图、对象图和包图。其中类

32、图描述系统中类的 静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内 部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效 的。对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的 多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。第三类是行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。 其中状态图描述类的对象所有可能的状态以及事件发生时状态

33、的转移条件。通常,状态图是对类图的补充。在实 用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生 改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活 动。第四类是交互图(Interactive diagram),描述对象间的交互关系。其中顺序图显示对象 之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图 描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交 换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果 强调上下级关系,则选择合作

34、图。这两种图合称为交互图。第五类是实现图 ( Implementation diagram )。其中构件图描述代码部件的物理结构及各 部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部 件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程 度。配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示) 以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可 执行部件和对象以显示节点跟可执行软件单元的对应关系。从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系 统

35、的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所 建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图 形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或 者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形, 是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳 为静态建模机制和动态建模机制两大类。UML -主要特点标准建模语言UML的主要特点可以归结为三点:(1) UML统一了 Booch、OMT和OOSE等方法中的基本概念。(2) UML还吸取了

36、面向对象技术领域中其他流派的长处,其中也包括非00方法的影响。 UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用 的符号,也添加了一些新符号。因此,在UML中汇入了面向对象领域中很多人的思想。这 些思想并不是UML的开发者们发明的,而是开发者们依据最优秀的00方法和丰富的计算 机科学实践经验综合提炼而成的。(3) UML在演变过程中还提出了一些新的概念。在UML标准中新加了模板(Stereotypes)、 职责(Responsibilities)、扩展机制(Extensibility mechanisms)、线程(Threads)、过程(Proc esses)、

37、分布式(Distributen)、并发(Concurrency)、模式(Patterns)、合作(Collaboratens)、 活动图(Activity diagram)等新概念,并清晰地区分类型(Type)、类(Class)和实例(Instan ce)、细化(Refinement)、接口(Interfaces)和组件(Components)等概念。因此可以认为,UML是一种先进实用的标准建模语言,但其中某些概念尚待实践来验证, UML 也必然存在一个进化过程。UML -应用领域UML 的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最 常用的是建立软件系统的模型,但

38、它同样可以用于描述非软件领域的系统,如机械系统、企 业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。 总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行 建模。此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求 分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其 对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等) 和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。为实现用例,类 之间需要协作,这可以用UML动态模型来描述。在

39、分析阶段,只对问题域的对象(现实世 界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯 和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更 详细的规格说明。编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成 实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的 编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十 分不利于建立简单正确的模型。UML模型还可作为软件测试阶段的依据。系统通常需要经过单元测试、集成测试、系统测 试和验收测试。不同的测试小组

40、使用不同的UML图作为测试依据:单元测试使用类图和类 规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为;验收测 试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统 开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。UML - UML建模软件UML建模软件是指实现UML建模语言建模功能的工具软件。最著名的UML建模工具是IBM Rational ROSE.另夕卜,TeleOffice也是一款常用的建模工具.还有很多开源的UM L建模工具,如StarUML,ArgoUML,Umbrello等对学习用途来说,选择开源的UML工 具是合适的.对于企业应用,应该选择商业的UML工具软件,因为有更好的技术支持.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!