疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

UML(统一建模语言)介绍


 

UML(统一建模语言)介绍
        面向对象软件开发需要经过OOA面向对象分析、OOD(面向对象设计)和OOP(面向对象编程)三个阶段,OOA对目标系统进行分析并建立分析模型,并将之文档化,OOD用面向对象的思想将OOA的结果进行细化,得出设计模型。OOA和OOD的分析、设计结果需要统一的符号的描述、交流并记录,UML就是这种用于描述、记录OOA和OOD结果的符号表示法。
        面向对象的分析与设计方法在20世纪80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。在此期间出现了三种具有代表性的表示方法。
        Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。Booch 1993表示法(由Booch提出)比较适合于系统的设计和构造。
        Rumbaugh等人提出了面向对象的建模技术(OMT)方法,采用了面向对象的概念,并引入各种独立于语言的表示符。这种方法用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。OMT2特别适用于分析和描述以数据为中心的信息系统。
        Jacobson于1994年提出了OOSE方法,其最大特点是面向用例(Use-Case,并在用例的描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武器,但用例贯穿于整个开发过程,包括对系统的测试和验证。OOSE比较适合支持商业工程和需求分析。
UML统一了Booch, Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。   
截至1996年10月,UML获得了工业界、禾衬支界和应用界的广泛支持,已有700多个公司表示支持采用UML作为建模语言。1996年底,UML己稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。1997年底,OMG组织(Object Management Group,即对象管理组织)采纳UML 1.1作为基于面向对象技术的标准建模语言。UML代表了面向对象方法的软件开发技术的发展方向,目前UML的最新版本是2.0, UML的大致发展过程如图2.8所示:
        图2.8中的UMLL1和UML2.0是UML历史上两个具有里程碑意义的版本,其中,UMLL1是OMG正式发布的第一个标准版本,而UML2.0是目前最成熟、稳定的UML版本。
UML图大致上可分为静态图和动态图两种,UML2.0的各种UML图如图2.9所示:
从图2.9中可以看出,UML2.0一共包括十三种正式图形:活动图(activity diagram)、类图(class diagram)、通信图(communication diagram,对应于UML1.x中的协作图)、组件图(component diagram),复合结构图(composite structure diagram, UML2.0新增)、部署图(deployment)、交互概观图(interactive overview diagram, UML2.0新增)、对象图(object diagram)、包图(package diagram), 顺序图(sequence diagram)、状态机图(state machine diagram). 定时图(timing diagram, UML2.0新增)、用例图(use case diagram).
        当读者看到如图2.9所示的十三种UML图形时,可能会对UML产生恐惧的感觉,实际上正如大家所想:很少有一个软件系统在分析、设计阶段把每个细节都使用十三种图形来表现。永远记住一点:不用把UML表示法当成一种负担,而应该把它当成一种工具,一种用于描述、记录软件分析设计的工具。最常用的UML图包括:用例图、类图、组件图、部署图、顺序图、活动图和状态机图等。(摘自[疯狂JAVA讲义].李刚)