<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    靈魂-放水

    為學(xué)日益,為道日損。

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
    編者按:
    軟件工程領(lǐng)域在1995年至1997年取得了前所未有的進(jìn)展,其成果超過(guò)軟件工程領(lǐng)域過(guò)去15年來(lái)的成就總和。其中最重要的、具有劃時(shí)代重大意義的成果之一就是統(tǒng)一建模語(yǔ)言(UML:Unified Modeling Language)的出現(xiàn)。在世界范圍內(nèi),至少在近10年內(nèi),UML將是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語(yǔ)言。采用UML作為我國(guó)統(tǒng)一的建模語(yǔ)言是完全必要的:首先,過(guò)去數(shù)十種面向?qū)ο蟮慕UZ(yǔ)言都是相互獨(dú)立的,而UML可以消除一些潛在的不必要的差異,以免用戶混淆;其次,通過(guò)統(tǒng)一語(yǔ)義和符號(hào)表示,能夠穩(wěn)定我國(guó)的面向?qū)ο蠹夹g(shù)市場(chǎng),使項(xiàng)目根植于一個(gè)成熟的標(biāo)準(zhǔn)建模語(yǔ)言,從而可以大大拓寬所研制與開(kāi)發(fā)的軟件系統(tǒng)的適用范圍,并大大提高其靈活程度。為使讀者對(duì)UML語(yǔ)言及其支持環(huán)境有更深入、細(xì)致的了解,我們特邀北京航空航天大學(xué)軟件工程研究所的專家撰文介紹,本文共分五個(gè)部分:
    一、標(biāo)準(zhǔn)建模語(yǔ)言UML的概念 作者 張莉 周伯莊
    二、標(biāo)準(zhǔn)建模語(yǔ)言UML的靜態(tài)建模機(jī)制 作者 葛科楊順祥
    三、標(biāo)準(zhǔn)建模語(yǔ)言UML的動(dòng)態(tài)建模機(jī)制 作者 王云葛科
    四、標(biāo)準(zhǔn)建模語(yǔ)言UML支持環(huán)境 作者 周伯生 張莉
    五、標(biāo)準(zhǔn)建模語(yǔ)言UML的應(yīng)用實(shí)例 作者楊順祥 王云
    我們將以連載的形式分7次對(duì)上述內(nèi)容進(jìn)行介紹。


    一、標(biāo)準(zhǔn)建模語(yǔ)言UML概述


    面向?qū)ο蟮姆治雠c設(shè)計(jì)(OOA&D)方法的發(fā)展在80年代末至90年代中出現(xiàn)了一個(gè)高潮,UML是這個(gè)高潮的產(chǎn)物。它不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且對(duì)其作了進(jìn)一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標(biāo)準(zhǔn)建模語(yǔ)言。


    1. 標(biāo)準(zhǔn)建模語(yǔ)言UML的出現(xiàn)
    公認(rèn)的面向?qū)ο蠼UZ(yǔ)言出現(xiàn)于70年代中期。從1989年到1994年,其數(shù)量從不到十種增加到了五十多種。在眾多的建模語(yǔ)言中,語(yǔ)言的創(chuàng)造者努力推崇自己的產(chǎn)品,并在實(shí)踐中不斷完善。但是,OO方法的用戶并不了解不同建模語(yǔ)言的優(yōu)缺點(diǎn)及相互之間的差異,因而很難根據(jù)應(yīng)用特點(diǎn)選擇合適的建模語(yǔ)言,于是爆發(fā)了一場(chǎng)"方法大戰(zhàn)"。90年代中,一批新方法出現(xiàn)了,其中最引人注目的是Booch 1993、OOSE和OMT-2等。


    Booch是面向?qū)ο蠓椒ㄗ钤绲某珜?dǎo)者之一,他提出了面向?qū)ο筌浖こ痰母拍睢?991 年,他將以前面向Ada的工作擴(kuò)展到整個(gè)面向?qū)ο笤O(shè)計(jì)領(lǐng)域。Booch 1993比較適合于系統(tǒng)的設(shè)計(jì)和構(gòu)造。Rumbaugh等人提出了面向?qū)ο蟮慕<夹g(shù)(OMT)方法,采用了面向?qū)ο蟮母拍?并引入各種獨(dú)立于語(yǔ)言的表示符。這種方法用對(duì)象模型、動(dòng)態(tài)模型、功能模型和用例模型,共同完成對(duì)整個(gè)系統(tǒng)的建模,所定義的概念和符號(hào)可用于軟件開(kāi)發(fā)的分析、設(shè)計(jì)和實(shí)現(xiàn)的全過(guò)程,軟件開(kāi)發(fā)人員不必在開(kāi)發(fā)過(guò)程的不同階段進(jìn)行概念和符號(hào)的轉(zhuǎn)換。OMT-2特別適用于分析和描述以數(shù)據(jù)為中心的信息系統(tǒng)。Jacobson于1994年提出了OOSE方法,其最大特點(diǎn)是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。用例的概念是精確描述需求的重要武器,但用例貫穿于整個(gè)開(kāi)發(fā)過(guò)程,包括對(duì)系統(tǒng)的測(cè)試和驗(yàn)證。OOSE比較適合支持商業(yè)工程和需求分析。此外,還有Coad/Yourdon方法,即著名的OOA/OOD,它是最早的面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法之一。該方法簡(jiǎn)單、易學(xué),適合于面向?qū)ο蠹夹g(shù)的初學(xué)者使用,但由于該方法在處理能力方面的局限,目前已很少使用。


    概括起來(lái),首先,面對(duì)眾多的建模語(yǔ)言,用戶由于沒(méi)有能力區(qū)別不同語(yǔ)言之間的差別,因此很難找到一種比較適合其應(yīng)用特點(diǎn)的語(yǔ)言;其次,眾多的建模語(yǔ)言實(shí)際上各有千秋;第三,雖然不同的建模語(yǔ)言大多類同,但仍存在某些細(xì)微的差別,極大地妨礙了用戶之間的交流。因此在客觀上,極有必要在精心比較不同的建模語(yǔ)言優(yōu)缺點(diǎn)及總結(jié)面向?qū)ο蠹夹g(shù)應(yīng)用實(shí)踐的基礎(chǔ)上,組織聯(lián)合設(shè)計(jì)小組,根據(jù)應(yīng)用需求,取其精華,去其糟粕,求同存異,統(tǒng)一建模語(yǔ)言。


    1994年10月,Grady Booch和Jim Rumbaugh開(kāi)始致力于這一工作。他們首先將Booch9 3和OMT-2 統(tǒng)一起來(lái),并于1995年10月發(fā)布了第一個(gè)公開(kāi)版本,稱之為統(tǒng)一方法UM 0.8(Un itied Method)。1995年秋,OOSE 的創(chuàng)始人Ivar Jacobson加盟到這一工作。經(jīng)過(guò)Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分別發(fā)布了兩個(gè)新的版本,即UML 0.9和UML 0.91,并將UM重新命名為UML(Unified Modeling Language)。1996年,一些機(jī)構(gòu)將UML作為其商業(yè)策略已日趨明顯。UML的開(kāi)發(fā)者得到了來(lái)自公眾的正面反應(yīng),并倡議成立了UML成員協(xié)會(huì),以完善、加強(qiáng)和促進(jìn)UML的定義工作。當(dāng)時(shí)的成員有DEC、HP、I-Logix、 Itellicorp、 IBM、ICON Computing、MCI Systemhouse、Micr osoft、Oracle、Rational Software、TI以及Unisys。這一機(jī)構(gòu)對(duì)UML 1.0(1997年1月)及UML 1.1(1997年11月17日)的定義和發(fā)布起了重要的促進(jìn)作用。


    UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語(yǔ)言。它溶入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開(kāi)始的軟件開(kāi)發(fā)的全過(guò)程。

    圖1 UML的發(fā)展歷程


    面向?qū)ο蠹夹g(shù)和UML的發(fā)展過(guò)程可用上圖來(lái)表示,標(biāo)準(zhǔn)建模語(yǔ)言的出現(xiàn)是其重要成果。在美國(guó),截止1996年10月,UML獲得了工業(yè)界、科技界和應(yīng)用界的廣泛支持,已有700多個(gè)公司表示支持采用UML作為建模語(yǔ)言。1996年底,UML已穩(wěn)占面向?qū)ο蠹夹g(shù)市場(chǎng)的85%,成為可視化建模語(yǔ)言事實(shí)上的工業(yè)標(biāo)準(zhǔn)。1997年11月17日,OMG采納UML 1.1作為基于面向?qū)ο蠹夹g(shù)的標(biāo)準(zhǔn)建模語(yǔ)言。UML代表了面向?qū)ο蠓椒ǖ能浖_(kāi)發(fā)技術(shù)的發(fā)展方向,具有巨大的市場(chǎng)前景,也具有重大的經(jīng)濟(jì)價(jià)值和國(guó)防價(jià)值。


    2. 標(biāo)準(zhǔn)建模語(yǔ)言UML的內(nèi)容


    首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且這些基本概念與其他面向?qū)ο蠹夹g(shù)中的基本概念大多相同,因而,UML必然成為這些方法以及其他方法的使用者樂(lè)于采用的一種簡(jiǎn)單一致的建模語(yǔ)言;其次,UML不僅僅是上述方法的簡(jiǎn)單匯合,而是在這些方法的基礎(chǔ)上廣泛征求意見(jiàn),集眾家之長(zhǎng),幾經(jīng)修改而完成的,UML擴(kuò)展了現(xiàn)有方法的應(yīng)用范圍;第三,UML是標(biāo)準(zhǔn)的建模語(yǔ)言,而不是標(biāo)準(zhǔn)的開(kāi)發(fā)過(guò)程。盡管UML的應(yīng)用必然以系統(tǒng)的開(kāi)發(fā)過(guò)程為背景,但由于不同的組織和不同的應(yīng)用領(lǐng)域,需要采取不同的開(kāi)發(fā)過(guò)程。
    作為一種建模語(yǔ)言,UML的定義包括UML語(yǔ)義和UML表示法兩個(gè)部分

    (1) UML語(yǔ)義 描述基于UML的精確元模型定義。元模型為UML的所有元素在語(yǔ)法和語(yǔ)義上提供了簡(jiǎn)單、一致、通用的定義性說(shuō)明,使開(kāi)發(fā)者能在語(yǔ)義上取得一致,消除了因人而異的最佳表達(dá)方法所造成的影響。此外UML還支持對(duì)元模型的擴(kuò)展定義。
    (2) UML表示法 定義UML符號(hào)的表示法,為開(kāi)發(fā)者或開(kāi)發(fā)工具使用這些圖形符號(hào)和文本語(yǔ)法為系統(tǒng)建模提供了標(biāo)準(zhǔn)。這些圖形符號(hào)和文字所表達(dá)的是應(yīng)用級(jí)的模型,在語(yǔ)義上它是UML元模型的實(shí)例。
    標(biāo)準(zhǔn)建模語(yǔ)言UML的重要內(nèi)容可以由下列五類圖(共9種圖形)來(lái)定義:


    ·第一類是用例圖,從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。
    ·第二類是靜態(tài)圖(Static diagram),包括類圖、對(duì)象圖和包圖。其中類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個(gè)生命周期都是有效的。對(duì)象圖是類圖的實(shí)例,幾乎使用與類圖完全相同的標(biāo)識(shí)。他們的不同點(diǎn)在于對(duì)象圖顯示類的多個(gè)對(duì)象實(shí)例,而不是實(shí)際的類。一個(gè)對(duì)象圖是類圖的一個(gè)實(shí)例。由于對(duì)象存在生命周期,因此對(duì)象圖只能在系統(tǒng)某一時(shí)間段存在。包由包或類組成,表示包與包之間的關(guān)系。包圖用于描述系統(tǒng)的分層結(jié)構(gòu)。
    ·第三類是行為圖(Behavior diagram),描述系統(tǒng)的動(dòng)態(tài)模型和組成對(duì)象間的交互關(guān)系。其中狀態(tài)圖描述類的對(duì)象所有可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。通常,狀態(tài)圖是對(duì)類圖的補(bǔ)充。在實(shí)用上并不需要為所有的類畫狀態(tài)圖,僅為那些有多個(gè)狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫狀態(tài)圖。而活動(dòng)圖描述滿足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng)。
    ·第四類是交互圖(Interactive diagram),描述對(duì)象間的交互關(guān)系。其中順序圖顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系,它強(qiáng)調(diào)對(duì)象之間消息發(fā)送的順序,同時(shí)顯示對(duì)象之間的交互;合作圖描述對(duì)象間的協(xié)作關(guān)系,合作圖跟順序圖相似,顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。除顯示信息交換外,合作圖還顯示對(duì)象以及它們之間的關(guān)系。如果強(qiáng)調(diào)時(shí)間和順序,則使用順序圖;如果強(qiáng)調(diào)上下級(jí)關(guān)系,則選擇合作圖。這兩種圖合稱為交互圖。
    ·第五類是實(shí)現(xiàn)圖( Implementation diagram )。其中構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個(gè)部件可能是一個(gè)資源代碼部件、一個(gè)二進(jìn)制部件或一個(gè)可執(zhí)行部件。它包含邏輯類或?qū)崿F(xiàn)類的有關(guān)信息。部件圖有助于分析和理解部件之間的相互影響程度。
    配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。它可以顯示實(shí)際的計(jì)算機(jī)和設(shè)備(用節(jié)點(diǎn)表示)以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。在節(jié)點(diǎn)內(nèi)部,放置可執(zhí)行部件和對(duì)象以顯示節(jié)點(diǎn)跟可執(zhí)行軟件單元的對(duì)應(yīng)關(guān)系。


    從應(yīng)用的角度看,當(dāng)采用面向?qū)ο蠹夹g(shù)設(shè)計(jì)系統(tǒng)時(shí),首先是描述需求;其次根據(jù)需求建立系統(tǒng)的靜態(tài)模型,以構(gòu)造系統(tǒng)的結(jié)構(gòu);第三步是描述系統(tǒng)的行為。其中在第一步與第二步中所建立的模型都是靜態(tài)的,包括用例圖、類圖(包含包)、對(duì)象圖、組件圖和配置圖等五個(gè)圖形,是標(biāo)準(zhǔn)建模語(yǔ)言UML的靜態(tài)建模機(jī)制。其中第三步中所建立的模型或者可以執(zhí)行,或者表示執(zhí)行時(shí)的時(shí)序狀態(tài)或交互關(guān)系。它包括狀態(tài)圖、活動(dòng)圖、順序圖和合作圖等四個(gè)圖形,是標(biāo)準(zhǔn)建模語(yǔ)言UML的動(dòng)態(tài)建模機(jī)制。因此,標(biāo)準(zhǔn)建模語(yǔ)言UML的主要內(nèi)容也可以歸納為靜態(tài)建模機(jī)制和動(dòng)態(tài)建模機(jī)制兩大類。


    3. 標(biāo)準(zhǔn)建模語(yǔ)言UML的主要特點(diǎn)
    標(biāo)準(zhǔn)建模語(yǔ)言UML的主要特點(diǎn)可以歸結(jié)為三點(diǎn):
    (1) UML統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念。
    (2) UML還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長(zhǎng)處,其中也包括非OO方法的影響。UML符號(hào)表示考慮了各種方法的圖形表示,刪掉了大量易引起混亂的、多余的和極少使用的符號(hào),也添加了一些新符號(hào)。因此,在UML中匯入了面向?qū)ο箢I(lǐng)域中很多人的思想。這些思想并不是UML的開(kāi)發(fā)者們發(fā)明的,而是開(kāi)發(fā)者們依據(jù)最優(yōu)秀的OO方法和豐富的計(jì)算機(jī)科學(xué)實(shí)踐經(jīng)驗(yàn)綜合提煉而成的。
    (3) UML在演變過(guò)程中還提出了一些新的概念。在UML標(biāo)準(zhǔn)中新加了模板(Stereotyp es)、職責(zé)(Responsibilities)、擴(kuò)展機(jī)制(Extensibility mechanisms)、線程(Thread s)、過(guò)程(Processes)、分布式(Distribution)、并發(fā)(Concurrency)、模式(Patterns) 、合作(Collaborations)、活動(dòng)圖(Activity diagram)等新概念,并清晰地區(qū)分類型(Ty pe)、類(Class)和實(shí)例(Instance)、細(xì)化(Refinement)、接口(Interfaces)和組件(Com ponents)等概念。


    因此可以認(rèn)為,UML是一種先進(jìn)實(shí)用的標(biāo)準(zhǔn)建模語(yǔ)言,但其中某些概念尚待實(shí)踐來(lái)驗(yàn)證,UML也必然存在一個(gè)進(jìn)化過(guò)程(未完待續(xù))。



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2134

    posted on 2006-08-31 10:34 放水老倌 閱讀(275) 評(píng)論(0)  編輯  收藏 所屬分類: UML

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 在线精品免费视频| 亚洲午夜电影一区二区三区| 日韩毛片免费在线观看| 日韩视频在线精品视频免费观看| 久久久久久久国产免费看| 亚洲国产成人AV在线播放| 亚洲美女精品视频| 亚洲国产成人久久精品影视| 亚洲黄片手机免费观看| 在线视频免费观看www动漫| 免费观看黄色的网站| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 亚洲熟妇中文字幕五十中出| 国产91在线免费| 免费一级毛片正在播放| 免费在线观看日韩| 国产三级免费观看| 国产jizzjizz视频全部免费| 国产成人一区二区三区免费视频| 国产成人免费片在线观看| 深夜国产福利99亚洲视频| 国产中文字幕免费| 亚洲麻豆精品国偷自产在线91| 亚洲乱码国产一区网址| 国产AV无码专区亚洲A∨毛片| 亚洲国产精品福利片在线观看| 亚洲AV无一区二区三区久久| 亚洲大片在线观看| 亚洲网址在线观看| 亚洲欧洲精品成人久久曰| 四虎国产精品永免费| 国产成人免费视频| 青青青国产在线观看免费网站 | 亚洲影视自拍揄拍愉拍| 亚洲av午夜电影在线观看 | 亚洲人成人77777网站| 亚洲精品高清久久| 亚洲成AV人片高潮喷水| 国产一级a毛一级a看免费视频| 免费无遮挡无码永久视频| 午夜毛片不卡高清免费|