⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 app-uml1.htm

📁 一些UML和软件工程导论的资料
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>

<body  text="#333399" link="#990033"
vlink="#009966" alink="#FF6600">


<table BORDER="0" CELLPADDING="3" WIDTH="100%" mstheme mstheme>
  <tr>
    <td ALIGN="RIGHT" VALIGN="TOP" WIDTH="8%"><!--mstheme--></font></td>
    <td VALIGN="TOP" WIDTH="100%"><p align="center"><font FACE="隶书">&nbsp;</font>  &nbsp; 
      </p>
    <blockquote>
      <b><font FACE="宋体" SIZE="5"><p ALIGN="center">统一的模型语言<font SIZE="5">UML</font>消灭对象建模的差别</p>
    </blockquote>
    <font FACE="宋体" SIZE="3"><p align="center"></font></font></b><font FACE="宋体"
    size="2">北京航空航天学院计算机科学与工程系</font><b><font FACE="宋体"
    size="4"> </font></b><font FACE="宋体" size="2">麦中凡</font><font FACE="宋体"
    SIZE="3"><b> </b><small>李庆如</small></font><font FACE="宋体" SIZE="5"><b></p>
    </b></font><font size="3"><p ALIGN="CENTER"> </p>
    <p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    此文分三次连载在</font><font size="3">1998</font><font FACE="宋体" SIZE="3">年</font><font
    size="3">4</font><font FACE="宋体" SIZE="3">月</font><font size="3">13</font><font
    FACE="宋体" SIZE="3">日、</font><font size="3">4</font><font FACE="宋体" SIZE="3">月</font><font
    size="3">20</font><font FACE="宋体" SIZE="3">日、</font><font size="3">4</font><font
    FACE="宋体" SIZE="3">月</font><font size="3">27</font><font FACE="宋体" SIZE="3">日<u><i><b>国际电子报</b></i></u>上。主要介绍了</font><font
    size="3">UML</font><font FACE="宋体" SIZE="3">的技术背景、</font><font size="3">UML</font><font
    FACE="宋体" SIZE="3">产生的技术背景、主要思想、应用特征和对</font><font
    size="3">OO</font><font FACE="宋体" SIZE="3">(面向对象)设计业界的意义。文章虽然对</font><font
    size="3">Rational</font><font FACE="宋体" SIZE="3">公司的背景谈的不多,对</font><font
    size="3">Rational</font><font FACE="宋体" SIZE="3">的三位面向对象大师</font><font
    size="3">Grady Booch</font><font FACE="宋体" SIZE="3">、</font><font size="3">Jim 
    Rumbaugh</font><font FACE="宋体" SIZE="3">和</font><font size="3">Ivar Jacobson</font><font
    FACE="宋体" SIZE="3">也以寥寥几句带过,但却着重指出是“</font><font
    size="3">Rational</font><font FACE="宋体" SIZE="3">把</font><font size="3">UML</font><font
    FACE="宋体" SIZE="3">带到一起,完成了工业标准语言的目标”。</p>
    <p ALIGN="JUSTIFY"> </p>
    <p ALIGN="JUSTIFY">一、引言</font><font size="3"></p>
    <p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    去年一月</font><font size="3">Rational</font><font FACE="宋体" SIZE="3">软件公司的三位学者</font><font
    size="3">,Grady Booch</font><font FACE="宋体" SIZE="3">、</font><font size="3"> Jim 
    Rumbaugh </font><font FACE="宋体" SIZE="3">和</font><font size="3">Ivar Jacobson</font><font
    FACE="宋体" SIZE="3">经过三年多的努力正式提出面向对象系统的通用的统一模型语言</font><font
    size="3">UML (Unified Modeling Language)1.0</font><font FACE="宋体" SIZE="3">版</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">并提交美国面向对象</font><font
    size="3">(OO)</font><font FACE="宋体" SIZE="3">行业的</font><font size="3">OMG</font><font
    FACE="宋体" SIZE="3">组审核。这是</font><font size="3">OO</font><font
    FACE="宋体" SIZE="3">行业中一件具有里程碑性质的新进展。</font><font
    size="3"></p>
    <p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    众所周知面向对象技术自</font><font size="3">80</font><font FACE="宋体"
    SIZE="3">年代初问世以来。由于它的模块性、封装性、继承性、多态性和动态束定能满足软件工程要求的局部化、易维护、可重用、易扩充以及当今多媒体和分布式计算的诸多要求</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">一时成为计算机各项领域争相采用的新技术焦点。整个</font><font
    size="3">80</font><font FACE="宋体" SIZE="3">年代到</font><font size="3">90</font><font
    FACE="宋体" SIZE="3">年代中期</font><font size="3">,</font><font FACE="宋体"
    SIZE="3">面向对象成为业界有口皆碑的技术。因为面向对象对它的专业有好处</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">人人都采用面向对象</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">但是每个人心中的面向对象不完全一样</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">致使面向对象数据库不能像关系数据库那样快地普及。软件可重用构件虽然可节约大量软件开发费用</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">但不是所有环境都可用。同一成分</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">即使是支持编程的类库</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">各语言系统也都不一致。</font><font
    size="3"></p>
    <p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">&nbsp;&nbsp;&nbsp;&nbsp; 美国</font><font
    size="3">OO</font><font FACE="宋体" SIZE="3">业界深深地理解到不统一对象模型</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">很难求得基于面向对象技术的产业发展。</font><font
    size="3">90</font><font FACE="宋体" SIZE="3">年代初由</font><font size="3">30</font><font
    FACE="宋体" SIZE="3">几位对</font><font size="3">OO</font><font FACE="宋体"
    SIZE="3">有兴趣的厂商和学者组成了对象管理小组</font><font size="3">OMG,</font><font
    FACE="宋体" SIZE="3">试图统一对象标准。</font><font size="3"></p>
    <p ALIGN="JUSTIFY">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UML</font><font FACE="宋体" SIZE="3">语言的出现是为建立统一的面向对象开发方法。它是在已有的三大</font><font
    size="3">OO</font><font FACE="宋体" SIZE="3">方法学的基础上</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">抽象出表示它们的模型语言</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">并吸取了其它</font><font size="3">OO</font><font
    FACE="宋体" SIZE="3">开发方法和近</font><font size="3">30</font><font
    FACE="宋体" SIZE="3">年软件工程的成果。它立足于实用</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">尽管目前还只能由资深的高级程序员、分析员、研究者使用。但它对</font><font
    size="3">OO</font><font FACE="宋体" SIZE="3">技术的发展有着深远的影响</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">这是毫无疑问的。读者可参阅网上的资料</font><font
    size="3">www.rational.com </font><font FACE="宋体" SIZE="3">及</font><font size="3">EdisonWesley</font><font
    FACE="宋体" SIZE="3">公司出版的有关</font><font size="3">Rational UML</font><font
    FACE="宋体" SIZE="3">系列书籍。</p>
    <p ALIGN="JUSTIFY"> </p>
    <p ALIGN="JUSTIFY">二、</font><font size="3">UML</font><font FACE="宋体" SIZE="3">产生的技术背景</font><font
    size="3"></p>
    <p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    如何开发</font><font size="3">OO</font><font FACE="宋体" SIZE="3">软件</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">人们也是有过弯路的。从不用作对象分析、对象俯拾即是到</font><font
    size="3">Booch</font><font FACE="宋体" SIZE="3">的早期工作</font><font size="3">:</font><font
    FACE="宋体" SIZE="3">用自然语言陈述一个解</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">名词是候选对象</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">动词是方法的候选</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">形容词可归为属性</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">副词列为条件。其开发步骤是</font><font size="3">:</font><font
    FACE="宋体" SIZE="3">确定对象、配齐属性、分析对象间关系、编码实现方法。但这种凑对象的方法不能体现。</font><font
    size="3">1988</font><font FACE="宋体" SIZE="3">年到</font><font size="3">1992</font><font
    FACE="宋体" SIZE="3">年是面向对象方法学蓬勃发展的时期</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">人们从各自的经历和软件开发的经验提出了各种面向对象的开发方法</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">代表的有</font><font size="3">: Sally 
    Shlaer </font><font FACE="宋体" SIZE="3">和</font><font size="3"> Steve Mellor</font><font
    FACE="宋体" SIZE="3">以信息模型化方法作为基础</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">并为目标系统增设了状态模型和过程模型</font><font
    size="3">; Peter Coad </font><font FACE="宋体" SIZE="3">和</font><font size="3"> Ed 
    Yourdon</font><font FACE="宋体" SIZE="3">则在信息模型化、面向对象的程序设计语言和基于知识的系统的基础上</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">建立了他们的</font><font size="3">OOA</font><font
    FACE="宋体" SIZE="3">、</font><font size="3">OOD,</font><font FACE="宋体" SIZE="3">主要工具是类与对象图、对象状态图和服务图</font><font
    size="3">Wirfs-Brock</font><font FACE="宋体" SIZE="3">的职责驱动设计</font><font
    size="3">(Responsibility-Driven Design),</font><font FACE="宋体" SIZE="3">也称类</font><font
    size="3">-</font><font FACE="宋体" SIZE="3">职责</font><font size="3">-</font><font
    FACE="宋体" SIZE="3">协作</font><font size="3">Class-Responsibility-Collaboration 
    (CRC) cards,</font><font FACE="宋体" SIZE="3">用类所承担的责任来描述系统</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">采用责任把封装的概念带到分析与设计活动中去</font><font
    size="3">; Grady Booch</font><font FACE="宋体" SIZE="3">在</font><font size="3">Rational</font><font
    FACE="宋体" SIZE="3">软件公司开发</font><font size="3">Ada</font><font
    FACE="宋体" SIZE="3">系统作了许多构件</font><font size="3">(Component),</font><font
    FACE="宋体" SIZE="3">并以此由底向上构筑大型软件系统</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">即</font><font size="3">OOD</font><font FACE="宋体" SIZE="3">方法</font><font
    size="3">; Jim Rumbaugh</font><font FACE="宋体" SIZE="3">在通用电子</font><font
    size="3">(General Electric)</font><font FACE="宋体" SIZE="3">领导一个研究小组</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">提出了对象建模技术</font><font
    size="3">(OMT)</font><font FACE="宋体" SIZE="3">方法</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">通过面向对象的三种模型</font><font size="3">:</font><font
    FACE="宋体" SIZE="3">对象模型、动态模型和功能模型</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">从不同角度对系统进行描述</font><font size="3">; </font><font
    FACE="宋体" SIZE="3">所有这些方法都不外乎经过分析抽象出对象</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">建立对象之间的关系。只是每一种方法都有其应用背景和侧重点</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">它们按照各自的表示法系统</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">被介绍到学术刊物或市场。经过几年实践</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">相对市场占有率较大的是</font><font
    size="3">:OMT,Booch </font><font FACE="宋体" SIZE="3">和</font><font size="3">OOSE</font><font
    FACE="宋体" SIZE="3">。</font><font size="3">OMT</font><font FACE="宋体" SIZE="3">在分析方面较强</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">设计领域较弱。</font><font size="3">Booch'91</font><font
    FACE="宋体" SIZE="3">则在设计领域较强</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">分析领域较弱。</font><font size="3">Jacobson</font><font
    FACE="宋体" SIZE="3">有很强的行为能力</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">适合于实时系统但其它方面较弱。九十年代中期</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">为使自己的方法学更全面地支持</font><font
    size="3">OO</font><font FACE="宋体" SIZE="3">软件开发</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">新的重复开始出现。最突出的是</font><font size="3">Booch93,</font><font
    FACE="宋体" SIZE="3">采用了许多</font><font size="3">Rumbaugh</font><font
    FACE="宋体" SIZE="3">和</font><font size="3">Jacobson</font><font FACE="宋体"
    SIZE="3">等人提倡的分析技术。</font><font size="3">Rumbaugh</font><font
    FACE="宋体" SIZE="3">出版了一系列文章</font><font size="3">,</font><font
    FACE="宋体" SIZE="3">也就是</font><font size="3">OMT-2,</font><font FACE="宋体"
    SIZE="3">采用了许多</font><font size="3">Booch</font><font FACE="宋体" SIZE="3">好的设计技术。这些方法开始交叠</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">但它们仍沿用各自的表示法系统。众多不同的表示法的使用带来了市场的混乱。例如</font><font
    size="3">,</font><font FACE="宋体" SIZE="3">一个实心圆在</font><font size="3">OMT</font><font
    FACE="宋体" SIZE="3">是多态的标识</font><font size="3">,</font><font FACE="宋体"
    SIZE="3">在</font><font size="3">Booch</font><font FACE="宋体" SIZE="3">则是聚集的符号。</font><font
    size="3"></p>
    <p ALIGN="JUSTIFY">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1994</font><font FACE="宋体" SIZE="3">年任职于</font><font
    size="3">Rational</font><font FACE="宋体" SIZE="3">公司的</font><font size="3">Grady 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -