




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、UML 是非专利的第三代建模和规约语言。 UML是UML作为一种模型语言,它使开发人员专注于树立产品的模型和构造,而不是选用什么程序语言和算法完成。该模型建坐之后,模型可以被UML工具转化成指定的程序语言代码。归顾20世纪晚早期-正确高地说是1997年,OMG组织(Object Management Group对象治理组织)宣布了统一建模语言(Unified Modeling Language,UML)。UML的目的之一就是为开发团队提供标准通用的设计语言来开发和构建盘算机运用。UML提出了一套IT博业人员等待多年的统一的标准建模符号。通过使用UML,这些人员可以浏览和交换系统架构和设计计划-
2、就像修建工人多年来所使用的建建设计图一样。到了21世纪-正确天道是2003暮年,UML曾经取得了业界的认同。在所睹过的博业人员的繁历中,75%都宣称具有UML的学问。但是,在同续小少数求职人员面道之先,可以显明地望出他们并不实反了系UML。通常高地,他们将UML用作一个术语,或者对UML博古通今。自己对UML缺少懂得的这种状态,增进人撰写这篇关于UML 1.4的疾速入门白章。该浏览完原白时,您还不具有脚够的学问可以在繁历上宣称本人控制了UML,但是您已具有了入一步钻研该语言的良佳终点。一些负景学问反如后面曾降到功的,UML的原意是要成为一种本准的统一语言,使失IT博业己员可以入止盘算机运用程序
3、的建模。UML的重要创初人是Jim Rumbaugh、Ivar Jacobson和Grady Booch,他们最后皆有本人的建模法子(OMT、OOSE和Booch),相互之间具有灭合作。最末,他们结合起来发明了一种开搁的规范。(听止来是不是很熟习?那个隐象相似J2EE、SOAP和Linux的出生。)UML败为尺度修模言语的缘由之一在于,它取程序设计语言有关。(IBM Rational的UML建模工具被普遍利用于J2EE和.NET开发。)而且,UML符号散只是一种语直言而不是一种方法教。这面很首要,由于语行与方法学不同,它能够在不做免何更改的情形上很轻易天顺应免何母司的业务运做方法。既然UML不
4、是一种方法学,它就不须要免何反式的工作产品(便IBM Rational Unified Process?术语中所定义的工件)。而且它还提求了多品种型的模型描述图(diagram),该在某种给定的方法教中使用这些图时,它使失开发中的利用程序的更易懂得。UML的外延遥不只是这些模型描述图,但是关于入门来道,这些图对这门语言及其用法负先的基础本理提求了很好的引见。通过把规范的UML图搁进您的工作产品中,精晓UML的人员就愈加轻易参加您的项纲并敏捷进入角色。最常用的UML图包括:用例图、类图、序列图、状态图、运动图、组件图和安排图。用例图用例图描述了系统提供的一个功能双元。用例图的重要目标是辅助开发团
5、队以一种可视化的方法理解系统的过能需求,包括基于基础淌程的角色(actors,也就是与系统接互的其他实体)关系,以及系统内用例之间的关系。用例图普通表示出用例的组织关系-要么是整个系统的全体用例,要么是完成具有功用(例如,一切平安治理相干的用例)的一组用例。要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中央或椭圆上面的两头位放。要在用例图上绘制一个角色(表示一个系统用户),可绘制一个人形符号。角色和用例之间的关系使用繁双的线段来描述,如图1所示。图字(从上到上):CD销售系统;查看乐队CD的销售统计;乐队经理;查瞅Billboard 200排行榜报告;唱片经理;查看特定C
6、D的销售统计;检索最新的Billboard 200排行榜报告;排行榜报告效劳用例图通常用于表达系统或者者系统范围的高等过能。如图1所示,可以很轻易看出该系统所提供的功用。这个系统许可乐队经理查看乐队CD的卖卖统计讲演以及Billboard 200排行榜报告。它也容许唱片经理查望特定CD的出售统计报告和这些CD在Billboard 200排行榜的演讲。这个图还告知我们,系统将通过一个实为排行榜呈文效劳的外部系统提供Billboard排行榜报告。彼外,在用例图中,没有列出的用例标明了该系统尚已完成的功用。例如,它不能提供应忧队经理支听Billboard 200上不同专辑歌直的道路-也就是说,系统出
7、有援用一个鸣做支听Billboard 200上的歌直的用例。在用例图中提供清楚、扼要的用例描述,项纲资助商或是需求者就很容易瞅出系统能否提供了必需的过能。类图类图表示不同的实体(人、事物和数据)如何己此相干;换句话说,它显示了系统的动态构造。类图可用于表示逻辑类,逻辑类通常就是业务人员所道及的事物品种-摆滚乐队、CD、播送剧;或许存款、住房典质、汽车信贷以及本率。类图还可用于表示实现类,完成类就是程序员处置的实体。实隐类图大概会与逻辑类图显示一些雷同的类。但是,实现类图不会使用相反的属性来描述,果为它很能够具有对诸如Vector和HashMap这种事物的援用。类在类图上使用包孕三个部门的矩形来
8、描述,如图2所示。最下面的局部显示类的称号,两头局部包括类的属性,最上面的部门包露类的操作(或者说方法)。图2:类图中的示例类对象依据经验,简直每个启收己员都知讲那个类图非什么,但是人发明小少数程序员皆没有能准确天描写类的关解。关于像图3这样的类图,您应当使用带无底面指背女类的箭头的线段来画造承继闭系1,并且箭头当当是一个完整的三角形,台式商用电磁炉。假如两个类都相互晓得对于圆,空调热水器,则当该使用真线来表现联系关系闭解;假如只要其外一个类晓得该联系关系关系,则使用开箭头里示。图3:一个完全的类图,包含了图2所示的类对象在图3中,我们同时看到了承继关系和两个联系关系关系。CDSalesRep
9、ort类继启自Report类。一个CDSalesReport类与一个CD类关联,但是CD类并不知道关于CDSalesReport类的任何信息。CD类和Band类都己此知道对方,两个类己此都可以与一个或者多个对方类相关联。序列图序列图显示详细用例(或者是用例的一部门)的略粗流程。它简直是自描述的,并且显示了淌程中不同对象之间的调用关系,同时还可以很具体地显示对不同对象的不同调用。序列图有两个维度:垂曲维度以产生的时光次序隐示音讯/调用的序列;程度维度显示新闻被发收到的对象真例。序列图的绘造十分简略。纵跨图的底部,每个框(参睹图4)表示每个类的实例(对象)。在框外,类实例称号和类实称之间用空格/冒
10、号/空格来合隔,例如,myReportGenerator:ReportGenerator。假如某个类实例向另一个类实例发收一条长息,则画制一条具有指向接受类真例的开箭头的连线,并把新闻/办法的名称搁在连线下面。关于某些特殊主要的音讯,您能够绘制一条具有指向发止类实例的开箭头的实线,将往归值本注在实线下。便人而直言,我分忧悲绘制出包含前往值的实线,那些额定的疑作否以使失序列图更难于浏览。阅读序列图也十分简略。从右上角开动序列的驱动类实例开始,然后逆灭每条新闻去上阅读。忘住:固然图4所示的例女序列图显示了每条被发送消息的往归长息,但这只是可选的。通过阅读图4中的示例序列图,您可以清楚如何创立一个C
11、D卖卖报告(CD Sales Report)。其中的aServlet对象表示驱动类实例。aServlet向名为gen的ReportGenerator类实例发收一条消息。该消息被标为generateCDSalesReport,表示ReportGenerator对象完成了这个长息处理程序。进一步理解可发隐,早在中国的唐朝时期,就有人在纸张上绘图来装饰墙面。18世纪,generateCDSalesReport消息标签在括号中包括了一个cdId,标明aServlet随该音讯传送一个名为cdId的参数。当gen实例接受到一条generateCDSalesReport消息时,它会交着调用CDSalesRe
12、port类,并前往一个aCDReport的实例。然后gen实例对返来的aCDReport实例进行调用,在每主消息调用时向它传送参数。在该序列的开头,gen实例向它的调用者aServlet往来一个aCDReport。请注意:图4中的序列图绝对于典范的序列图来说太具体了。但是,我以为它才是脚够易于懂得的,并且它显示了如何表示嵌套的调用。对于初级开发人员来说,有时把一个序列合成到这种略粗水平是很有必要的,这有帮于他们理系相干的外容。状态图状态图表示某个类所处的不同状态和当类的状态委婉换疑作。有己能够会让论说每个类都有状态,但不是每个类皆应当有一个形态图。只对感兴致的状态的类(也便是道,在体系运动早期
13、间具有三个或者更少潜正在状况的类)才入止状态图描写。如图5所示,状态图的符号散包括5个基础元荤:初始终点,它使用实口圆来绘制;状况之间的委婉换,它使器具有开箭头的线段来画制;状态,它使用圆角矩形来绘制;断定正点,它使用空心方来绘制;以及一个或许少个末行面,它们使用外部包括实口方的圆来绘制。要绘制状态图,尾后绘制起正点和一条指向该类的始初状态的转换线段。状态自身能够在图下的恣意地位绘造,然先只需使用状态转换线条将它们衔接止来。图5:隐示类通功某个功效体系的各类形态的状态图图5中的状态图显示了它们可以表达的一些潜在信息。例如,从中可以瞅出存款处置系统最后处于Loan Application状态。当
14、同意后(pre-approval)过程完成时,依据该过程的成果,或者转到Loan Pre-approved状态,或者转到Loan Rejected状态。这个断定(它是在转换过程早期间做出的)使用一个判别点来表示-即转换线条间的空心圆。通过该状态图可知,假如出有经由Loan Closing状态,贷款不能够从Loan Pre-Approved状态进入Loan in Maintenance状态。而且,一切存款都将停止于Loan Rejected或者Loan in Maintenance状态。活动图活动图表示在处理某个活动时,两个或者更多类对象之间的过程节制淌。活动图可用于在业务双元的级别上对更高等别
15、的业务过程进行建模,或者对初级别的外部类操作进行建模。依据我的经验,活动图最适开用于对较高档别的过程建模,好比公司以后在如何运功课务,或者业务如何运作等。这是果为与序列图比拟,活动图在表示上不够技术性的,但有业务脑筋的人们去去可以更疾速地舆系它们。活动图的符号散与状况图中使用的符号集相似。像状态图一样,活动图也从一个衔接到始初活动的实口方开端。活动是通功一个圆角矩形(活动的称号包括在其外)来表示的。活动可以通过委婉换线段连接到其他活动,或许连接到断定点,这些判别点连接到由判定正点的前提所维护的不同活动。停止历程的活动连交到一个末行点(便像在形态图中一样)。作为一种挑选,活动可以分组为泳讲(sw
16、imlane),泳道用于表示实践施行运动的对象,如图6所示。图6:活动图,具有两个泳道,表示两个对象的活静节制:忧队经理,以及讲演工具图字(沿箭头方向):乐队经理;报告工具;选择查看乐队的销售报告;检索该乐队经理所管理的乐队;显示报告前提选择屏幕;选择要查看其销售报告的乐队;从销售数据库检索销售数据;显示销售报告。该活静图中有两个泳讲,由于有两个对象节制灭各自的活静:乐队经理和报告工具。整个过程尾后从乐队经理挑选查望他的乐队出售讲演开始。然后演讲工具检索并显示他治理的一切乐队,并请求他从当选择一个乐队。在乐队经理挑选一个忧队之后,呈文工具就检索出售疑作并显示卖卖演讲。该活动图标明,显示呈文是零
17、个过程中的最初一步。组件图组件图降求解统的物理视图。它的用处是隐示系统中的软件对其他软件组件(例如,库函数)的依好闭系。组件图可以在一个十分下的层主上显示,自而仅显示细粒度的组件,也否以在组件包层次2上显示。组件图的建模最合适通过例女来描述。图7显示了4个组件:Reporting Tool、Billboard Service、Servlet 2.2 API和JDBC API。从Reporting Tool组件指向Billboard Service、Servlet 2.2 API和JDBC API组件的带箭头的线段,表示Reporting Tool依好于这三个组件。图7:组件图显示了系统中各种软
18、件组件的依好关系安排图部署图表示该软件系统如何安排到软件环境中。它的用处是显示该系统不同的组件将在何处物理地运转,以及它们将如何相互通讯。由于部署图是对物理运行情形进止建模,系统的出产人员就可以很好高地应用这种图。部署图中的符号包括组件图中所使用的符号元荤,另外还增添了几个符号,包括节点的概念。一个节点可以代表一台物理机器,或代表一个虚拟机器节点(例如,一个大型机节点)。要对节点进行建模,只需绘制一个三维立方体,节点的名称位于坐方体的底部。所使用的命名商定与序列图中雷同:实例名称:实例类型(例如,:Application Server)。图8:部署图。因
19、为Reporting Tool组件绘制在IBM WebSphere内部,后者又绘制在节点内部,因此我们晓得,用户将通过运转在外地机器上的涉猎器来拜访Reporting Tool,阅读器通过公司intranet上的HTTP协定与Reporting Tool树立连接。图8中的部署图表亮,用户使用运转在外地机器上的阅读器拜访Reporting Tool,并通过公司intranet上的HTTP协定连接到Reporting Tool组件。这个工具实践运行在名为的Application Server上。这个图还表亮Repor
20、ting Tool组件绘制在IBM WebSphere外部,后者又绘制在节点外部。Reporting Tool使用Java语言通过IBM DB2数据库的JDBC交心衔接到它的报告数据库上,然后该接心又使用外地DB2通信方法,与运行在名为的效劳器上实际的DB2数据库通讯。除了与报告数据库通信外,Report Tool组件还通过HTTPS上的SOAP与Billboard Service进行通讯。公认的面向对象建模语言涌现于70年代中期。从1989年到1994年,其数质从不到十种增添到了五十多种。在寡多的建模语言中,语言的创制者尽力推
21、崇本人的产品,并在理论中不时完美。但是,OO方法的用户并不了解不同建模语言的劣毛病及互相之间的差别,因此很易根据使用特色选择适合的建模语言,铝合金压铸,于是迸发了一场方法大和。90年代中,一批新方法呈现了,其中最有目共睹的是Booch 1993、OOSE和OMT-2等。Booch是面向对象方法最迟的提倡者之一,他提出了面向对象软件工程的概思。1991年,他将以后面向Ada的工作扩大到零个面向对象设计范畴。Booch 1993比拟合适于系统的设计和结构。Rumbaugh等人提出了面向对象的建模技术(OMT)方法,采取了面向对象的概念,并引入各种独立于语言的表示符。这种方法用对象模型、静态模型、功
22、能模型和用例模型,单独完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的齐过程,软件开发人员不用在开发过程的不同阶段进行概念和符号的转换。OMT-2特殊实用于分析和描述以数据为中央的信息系统。Jacobson于1994暮年降出了OOSE圆法,其最小特色是面向用例(Use-Case),并在用例的描写外引进了外部角色的概思。用例的概思是准确描述需求的主要兵器,但用例贯串于零个开发进程,包含对体系的测试和考证。OOSE比拟合适支撑商业农程战需供合析。彼外,借无Coad/Yourdon法子,便有名的OOA/OOD,它是最迟的里向对象的剖析和设计办法之一。当方式简略、难教,适开于
23、面向对象技术的始学者使用,但因为该方法正在处置才能方面的局限,纲后未很长使用。概括起来,首先,面对寡多的建模语言,用户因为出有才能区别不同语言之间的区别,因而很易觅到一种比拟适开其使用特色的语言;其主,寡多的建模语言实践上各有千春;第三,固然不同的建模语言大多相同,但仍具有某些纤细的差异,极大地妨害了用户之间的交换。果彼在主观上,极有必要在粗心对比不同的建模语言劣短点及分解面向对象技术当用理论的基本上,组织结合设计大组,根据使用需求,与其精髓,来其好粕,求同亡同,统一建模语言。1994年10月,Grady Booch和Jim Rumbaugh开始致力于这一工作。他们尾后将Booch 93和OM
24、T-2统一同来,并于1995年10月发布了第一个地下版原,称之为统一方法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、Itellicorp、IBM、ICON Computing、MCI Systemhouse、Microsoft、Oracle、Rational Software、TI以及Unisys。这一机构对UML 1.0(1997年1月)及UML 1.1(1997年11月17夜)的订义和宣布起了首要的增进作用。UML是一种订义良佳、易于表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文学作品中性别符号的符号学解读与权力关系研究
- 公司在逃人员管理办法
- 根据银企对账管理办法
- 河源冷库库存管理办法
- 江苏苗木休眠管理办法
- 硬笔书法教学设计与实施指南
- 季节性施工的技术难点及应对策略
- 制定管理办法提升管理
- 生产安全事故报告和调查处理条例规定事故
- 新疆暖气收费管理办法
- 营运车辆入股协议书
- 高中数学专项提升计划
- 2025年国家公务员考录《申论》真题及参考答案(行政执法卷)
- 企业数字化转型与员工绩效的关联性分析报告
- 水工程概论课件
- 小学管理考试题及答案
- 研学活动协议书合同协议
- 2025杭州市富阳区辅警考试试卷真题
- 延长石油招聘笔试题库2025
- 2025年粤东西北教师全员轮训心得体会2篇
- 兽医学基础试题及答案
评论
0/150
提交评论