标签:
杂谈 |
软件工程四-统一建模语言( UML )
Wednesday, November 12th, 2008 星期三, 2008年11月12号Unified Modeling Language (UML) is a standardized general-purpose modeling language in the field of software engineering.统一建模语言( UML )是一个标准化的通用建模语言领域中的软件工程。 UML includes a set of graphical notation techniques to create abstract models of specific systems.基于UML包括一套图形符号技术创造抽象模型的具体制度。
TheUnified Modeling Language (UML) is a graphical language forvisualizing, specifying and constructing the artifacts of asoftware-intensive system.统一建模语言( UML )是一个图形化的语言形象化,具体和构建文物的软件密集型系统。 TheUnified Modeling Language offers a standard way to write a system’sblueprints, including conceptual things such as business processes andsystem functions as well as concrete things such as programminglanguage statements, database schemas, and reusable software components.统一建模语言提供了一个标准的方法写一个系统的蓝图,其中包括概念性的东西,如业务流程和系统功能以及具体的东西,如编程语言报表,数据库架构,以及可重复使用的软件组件。 UMLcombines the best practice from data modeling concepts such as entityrelationship diagrams, business modeling (work flow), object modelingand component modeling. UML的结合中的最佳做法数据建模的概念,如实体关系图表,业务建模(工作流) ,对象模型和组件模型。 Itcan be used with all processes, throughout the software developmentlife cycle, and across different implementation technologies.它可用于所有过程,在整个软件开发生命周期,并在不同的实施技术。
UML is officially defined by the Object Management Group (OMG) as the UML metamodel, a Meta-Object Facility metamodel (MOF). UML是正式界定的对象管理组( 03 ) ,作为基于UML元模型,一个元对象设施元模型(财政部) 。 Like other MOF-based specifications, UML has allowed software developers to concentrate more on design and architecture.像其他财政部的规格, UML的允许软件开发商更专注于设计和建筑。
UMLmodels may be automatically transformed to other representations (egJava) by means of QVT-like transformation languages, supported by theOMG. UML模型可自动转化为其他陈述(如爪哇)借QVT样转化语言,支持03 。
UML is extensible, offering the following mechanisms for customization: profiles and stereotype. UML是可扩展性,提供下列机制定制:概况和刻板印象。 The semantics of extension by profiles have been improved with the UML 1.0 major revision.的语义扩展的配置文件已得到改善的UML 1.0的重大修改。
AfterRational Software Corporation hired James Rumbaugh from GeneralElectric in 1994, the company became the source for the two mostpopular object-oriented modeling approaches of the day: Rumbaugh’s OMT,which was better for object-oriented analysis (OOA), and Grady Booch’sBooch method, which was better for object-oriented design (OOD).Rational软件公司后,聘请詹姆斯Rumbaugh由通用电气公司在1994年,该公司的来源,成为这两个最流行的面向对象建模方法的一天:Rumbaugh的对象建模技术,这是更好地为面向对象的分析(面向对象) ,和格雷迪布奇的布奇的方法,这是更好地为面向对象的设计(面向对象) 。 Together Rumbaugh and Booch attempted to reconcile their two approaches and started work on a Unified Method.一起Rumbaugh和布奇试图调和这两种方法,并开始工作的统一方法。
Theywere soon assisted in their efforts by Ivar Jacobson, the creator ofthe object-oriented software engineering (OOSE) method.他们尽快协助他们的努力,雅各布森的创立面向对象的软件工程( OOSE )方法。 Jacobson joined Rational in 1995, after his company, Objectory, was acquired by Rational.雅各布森在1995年加入理性,他的公司后,对象,被收购的合理性。 Thethree methodologists were collectively referred to as the Three Amigos,since they were well known to argue frequently with each otherregarding methodological preferences.这三个教学法被统称为三个好友,因为它们是众所周知的争论经常互相关于方法的偏好。
In1996 Rational concluded that the abundance of modeling languages wasslowing the adoption of object technology, so repositioning the work ona Unified Method, they tasked the Three Amigos with the development ofa non-proprietary Unified Modeling Language. 1996年,理性的结论是,丰富的建模语言是减缓通过对象技术,因此重新定位的工作的统一方法,他们的三个好友,负责与发展的非专有的统一建模语言。 Representativesof competing Object Technology companies were consulted during OOPSLA‘96, and chose boxes for representing classes over Grady Booch’s Boochmethod’s notation that used cloud symbols.代表的竞争对象技术公司进行了磋商期间OOPSLA '96 ,并选择方块代表班级超过格雷迪布奇的布奇方法的符号使用云符号。
Underthe technical leadership of the Three Amigos, an internationalconsortium called the UML Partners was organized in 1996 to completethe Unified Modeling Language (UML) specification, and propose it as aresponse to the OMG RFP.技术领导下的三个好友,一个国际财团称为UML的伙伴组织于1996年完成统一建模语言( UML )规范,并提出它作为回应03利福平。 The UML Partners’ UML 1.0 specification draft was proposed to the OMG in January 1997.基于UML的合作伙伴'的UML 1.0规范草案,建议在1997年1月03 。 Duringthe same month the UML Partners formed a Semantics Task Force, chairedby Cris Kobryn and administered by Ed Eykholt, to finalize thesemantics of the specification and integrate it with otherstandardization efforts.在同一个月的UML语义伙伴成立了一个专责小组,由克里斯Kobryn和管理教育Eykholt ,最后确定语义的规范,并把它与其他标准化工作。 The result of this work, UML 1.1, was submitted to the OMG in August 1997 and adopted by the OMG in November 1997.这项工作的结果,基于UML 1.1 ,已提交给于1997年8月03和03所通过的1997年11月。
As a modeling notation, the influence of the OMT notation dominates (eg, using rectangles for classes and objects).作为一种建模符号的影响,占主导地位的建模符号(例如,使用矩形的类和对象) 。 Though the Booch “cloud” notation was dropped, the Booch capability to specify lower-level design detail was embraced.虽然布奇“云”符号是下降,布奇能力指定低级别的设计细节拥抱。 Theuse case notation from Objectory and the component notation from Boochwere integrated with the rest of the notation, but the semanticintegration was relatively weak in UML 1.1, and was not really fixeduntil the UML 2.0 major revision.符号的使用情况由对象和组成部分乐谱由布奇被综合与其他符号,但语义一体化是相对薄弱的UML 1.1 ,而不是固定的,直到真正的UML 2.0重大修改。
Concepts from many other OO methods were also loosely integrated with UML with the intent that UML would support all OO methods.概念的许多其他面向对象的方法也松散结合UML的意图是将支持所有的UML的面向对象的方法。 For example CRC Cards (circa 1989 from Kent Beck and Ward Cunningham), and OORam were retained.例如华润卡(大约1989年由肯特贝克和沃德•坎宁安)和OORam被保留。 Manyothers contributed too with their approaches flavoring the many modelsof the day including: Tony Wasserman and Peter Pircher with the“Object-Oriented Structured Design (OOSD)” notation (not a method), RayBuhr’s “Systems Design with Ada”, Archie Bowen’s use case and timinganalysis, Paul Ward’s data analysis and David Harel’s “Statecharts”, asthe group tried to ensure broad coverage in the real-time systemsdomain.许多其他国家的贡献也与他们的做法调味许多型号的一天,其中包括:英国首相沃瑟曼和PeterPircher与“面向对象的结构化设计( OOSD ) ”符号(不是方法) ,雷Buhr的“系统设计与阿达”,阿尔奇鲍文的使用情况和时序分析,保罗沃德的数据分析和大卫哈雷尔的“ Statecharts ”,作为该集团试图确保广泛的覆盖面在实时系统的网域。 Asa result, UML is useful in a variety of engineering problems, fromsingle process, single user applications to concurrent, distributedsystems, making UML rich but large.其结果是, UML是有用的各种工程问题,从单一的过程中,单一用户应用并行,分布式系统,使UML的丰富,但大。
The Unified Modeling Language is an international standard:统一建模语言是一个国际标准:
ISO/IEC 19501:2005 Information technology — Open Distributed Processing — Unified Modeling Language (UML) Version 1.4.2.符合ISO / IEC 19501:2005信息技术-开放分布式处理-统一建模语言( UML )版本1.4.2 。
UML has matured significantly since UML 1.1.基于UML已经成熟以来显着的UML 1.1 。 Severalminor revisions (UML 1.3, 1.4, and 1.5) fixed shortcomings and bugswith the first version of UML, followed by the UML 2.0 major revisionthat was adopted by the OMG in 2003.一些小的修改(基于UML 1.3 , 1.4和1.5 )固定的缺点和错误的第一个版本的UML ,其次是基于UML 2.0的主要修订通过了2003年的03 。 Thereare four parts to the UML 2.x specification: the Superstructure thatdefines the notation and semantics for diagrams and their modelelements; the Infrastructure that defines the core metamodel on whichthe Superstructure is based; the Object Constraint Language (OCL) fordefining rules for model elements; and the UML Diagram Interchange thatdefines how UML 2 diagram layouts are exchanged.有四个部分的UML 2.x的规格:上层建筑中定义的符号和语义的图表和模型元素;界定的基础设施的核心元模型上的上层建筑的基础;的对象约束语言(八达通)确定规则的模型元素;和UML的图交汇处的定义的UML 2图布局交换。 Thecurrent versions of these standards follow: UML Superstructure version2.1.2, UML Infrastructure version 2.1.2, OCL version 2.0, and UMLDiagram Interchange version 1.0.当前版本的这些标准如下: UML的上层建筑2.1.2版, 2.1.2版的UML基础设施,八达通2.0版,和UML图交换1.0版。
Althoughmany UML tools support
some of the new features of UML 2.x, the OMGprovides no test suite
to objectively test compliance with
itsspecifications.虽然许多的UML工具,支持一些新功能的UML
2.x中,没有规定的03的测试套件,以客观测试遵守其规格。
UMLis not a
method by itself; however, it was designed to be compatiblewith the
leading object-oriented software development methods of itstime
(for example OMT, Booch method, Objectory).
UML是不是方法本身,但它的目的是要符合领导的面向对象软件开发方法的时间(例如建模,布奇方法,对象)
。 SinceUML has evolved, some of
these methods have been recast to takeadvantage of the new
notations (for example OMT), and new methods havebeen created based
on
UML.由于UML的演变,其中一些方法已被改写,以利用新的注释(例如建模)
,和新方法已建立了基于UML 。 The best known is IBM Rational
Unified Process (RUP).最有名的是IBM
Rational统一过程( RUP的) 。 Thereare many other UML-based
methods like Abstraction Method, DynamicSystems Development Method,
and others, designed to provide morespecific solutions, or achieve
different
objectives.还有许多其他基于UML的方法一样抽象方法,动态系统开发方法,和其他人,旨在提供更具体的解决办法,或实现不同的目标。
It is very important to distinguish between the UML model and the set of diagrams of a system.这是非常重要的区分UML模型和图表的一套系统。 A diagram is a partial graphical representation of a system’s model.图是一种部分图形代表一个系统的模型。 Themodel also contains a “semantic backplane” — documentation such aswritten use cases that drive the model elements and diagrams.该模型还包含一个“语义背板” -的书面文件,如用例驱动模型的内容和图表。
UML diagrams represent three different views of a system model:基于UML图表代表三种不同的观点,系统模型:
*
Functional requirements view: Emphasizes the functional
requirements of the system from the user’s point
of view.
*功能要求的看法:强调功能要求的系统从用户的观点。
And includes
use case diagrams.包括用例图。
* Static
structural view: Emphasizes the static structure of the system
using objects, attributes, operations and relationships.
*静态结构观:强调静态结构的系统使用的对象,属性,业务和关系。
And includes
class diagrams and composite structure
diagrams.包括类图和复合材料结构图表。
*Dynamic
behavior view: Emphasizes the dynamic behavior of the system
byshowing collaborations among objects and changes to the internal
statesof objects.
*动态行为的看法:强调动态特性对系统的显示对象之间的协作和变化的内部国家的物体。
And includes
sequence diagrams, activity diagrams and state machine
diagrams.包括序列图,活动图和状态机图。
UML models can be exchanged among UML tools by using the XMI interchange format. UML模型中可以交换的UML工具,通过使用XMI信息交换格式。
UML2.0 has
13 types of diagrams divided into three categories: Six
diagramtypes represent static application structure, three
represent generaltypes of behavior, and four represent different
aspects of interactions.基于UML
2.0有13个类型的图表分为三类:
6个图种代表静态应用结构,三是一般类型的行为,和4个代表不同方面的相互作用。
These
diagrams can be categorized hierarchically as shown in the
following Class
diagram:这些图表可分为等级所显示的类图如下:
Hierarchy of
UML 2.0 Diagrams, shown as a class diagram层次的UML
2.0图表,显示出作为一个类图