公认的面向对象建模语言出现于70年代中期,从80年代末以来,随着面向对象技术成为研究的热点出现了几十种支持软件开发的面向对象方法,
以及出现了许多面向对象的程序设计语言。Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。Booch 1993比较适
合于系统的设计和构造;Rumbaugh提出了面向对象的建模技术(OMT)方法,采用了面向对象的概念,并引入各种独立于语言的表示符。
这种方法用对象模型、动态模型、功能模型和用例模型。 OMT-2特别适用于分析和描述以数据为中心的信息系统;Jacobson于1994年提出了
OOSE方法,其最大特点是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武器,但
用例贯穿于整个开发过程,包括对系统的测试和验证。OOSE比较适合支持商业工程和需求分析。其中,Booch,,Coad/Yourdon, OMT, 和
Jacobson的方法在面向对象软件开发界得到了广泛的认可。天下大势,分久必合。Grady Booch,James Rumbaugh和Ivar Jacobson三个人
的方法各有所长,而用户有希望能够有一种标准出现,结束混乱的百家争鸣的现状。1994年10月,Grady Booch和Jim Rumbaugh开始致力于
这一工作。他们首先将Booch9 3和OMT-2 统一起来,并于1995年10月发布了第一个公开版本,称之为统一方法UM 0.8(Un ified 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的定义工作。
面向对象方法都支持三种基本的活动:识别对象和类,描述对象和类之间的关系,以及通过描述每个类的功能,定义对象的行为。为了发现对象
和类,开发人员要在系统需求和系统分析的文档中查找名词和名词短语,包括可感知的事物(汽车、压力、传感器);角色(母亲、教师、政治家);
事件(着陆、中断、