新聞中心
本節(jié)向大家介紹一下UML建模語(yǔ)言,在軟件開(kāi)發(fā)過(guò)程中UML建模語(yǔ)言經(jīng)常用來(lái)建立模型,這里和大家分享一下UML建模語(yǔ)言的有關(guān)知識(shí),希望通過(guò)本節(jié)的介紹你UML建模語(yǔ)言有全面的認(rèn)識(shí)。

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的鶴城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
新一代建模語(yǔ)言-UML慨述
UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語(yǔ)言。它溶入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。UML將是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語(yǔ)言,目前UML獲得了工業(yè)界、科技界和應(yīng)用界的廣泛支持,成為可視化建模語(yǔ)言事實(shí)上的工業(yè)標(biāo)準(zhǔn)。UML代表了面向?qū)ο蠓椒ǖ能浖_(kāi)發(fā)技術(shù)的發(fā)展方向,具有巨大的市場(chǎng)前景,也具有重大的經(jīng)濟(jì)價(jià)值。
UML建模語(yǔ)言的誕生
目前人們普遍開(kāi)始采用面向?qū)ο蟮姆治雠c設(shè)計(jì),但是很少有開(kāi)發(fā)人員使用形象化的設(shè)計(jì)方法,其主要原因就是缺乏統(tǒng)一的語(yǔ)言語(yǔ)義來(lái)為復(fù)雜軟件系統(tǒng)的組件定義、可視化、構(gòu)建和編制文檔。而UML的出現(xiàn)徹底的改變了這一現(xiàn)狀,并成為了面向?qū)ο蠼5臉?biāo)準(zhǔn)語(yǔ)言。
UML建模語(yǔ)言的行業(yè)特性
UML在各個(gè)行業(yè)都得到了廣泛的應(yīng)用,并迅速成為了一個(gè)事實(shí)上的工業(yè)標(biāo)準(zhǔn),它成為人們用來(lái)為各種系統(tǒng)建模、描述系統(tǒng)架構(gòu)、商業(yè)架構(gòu)和商業(yè)過(guò)程的統(tǒng)一工具。
UML之所以得到普及的主要原因不外乎以下幾點(diǎn):
1UML是國(guó)際統(tǒng)一的標(biāo)準(zhǔn),用它表示的產(chǎn)品符合國(guó)際標(biāo)準(zhǔn),產(chǎn)品能夠得到廣泛的認(rèn)可。
2作為國(guó)際標(biāo)準(zhǔn),國(guó)際軟件業(yè)和商業(yè)對(duì)UML的支持也相當(dāng)普遍因而采用它將可以得到最廣泛的技術(shù)支持和工具支持。
3UML采用圖的形式來(lái)表述系統(tǒng)的視圖,圖形化易于理解的優(yōu)勢(shì)使得不同知識(shí)背景的客戶(hù)用戶(hù)、領(lǐng)域?qū)<?、系統(tǒng)分析以及開(kāi)發(fā)人員可以方便的交流。
4UMl是一種標(biāo)準(zhǔn)的表示方法,任何方或者過(guò)程都可以采用UML,它與具體的方法和過(guò)程無(wú)關(guān),具有通用性。
5UML具有良好的可擴(kuò)展性,可適用到不同的領(lǐng)域,在具有通用性的同時(shí)還具有使自身專(zhuān)用化的能力。
6UML與最好的軟件實(shí)踐經(jīng)驗(yàn)集成,其自身雖然沒(méi)有表述任何方法或過(guò)程,但是卻要求使用它的過(guò)程具有以下的特征:以架構(gòu)為中心、用例驅(qū)動(dòng)、支持迭代和遞增地開(kāi)發(fā)。這些特征體現(xiàn)了軟件開(kāi)發(fā)的成功經(jīng)驗(yàn)。
7UML對(duì)軟件設(shè)計(jì)和分析實(shí)踐中涌現(xiàn)出來(lái)的新思想和新方法提供了很好的支持,它支持模式、框架和組件等概念,提供從“概念模型到現(xiàn)時(shí)代碼”的可跟蹤性。
什么是UML建模語(yǔ)言?
UML(UnifiedModelingLanguage)是一種標(biāo)準(zhǔn)的圖形化建模語(yǔ)言,它是面向?qū)ο蠓治雠c設(shè)計(jì)的一種標(biāo)準(zhǔn)表示。UML不是一種可視化的程序設(shè)計(jì)語(yǔ)言,而是一種可視化的建模語(yǔ)言;UML不是工具或者是知識(shí)庫(kù)的規(guī)格說(shuō)明,而是一種語(yǔ)言規(guī)格說(shuō)明,是一種表示的標(biāo)準(zhǔn);UML不是過(guò)程和方法,但是允許任何一種過(guò)程和方法使用它。
UML建模語(yǔ)言的使用目的
1UML易于使用,能夠進(jìn)行可視化建模;
2與具體的實(shí)現(xiàn)無(wú)關(guān),可應(yīng)用于任何語(yǔ)言平臺(tái)和工具平臺(tái);
3與具體的過(guò)程無(wú)關(guān),可應(yīng)用于任何軟件開(kāi)發(fā)的過(guò)程;
4簡(jiǎn)單并且可擴(kuò)展,具有擴(kuò)展和專(zhuān)有化機(jī)制,便于擴(kuò)展,無(wú)須對(duì)核心概念進(jìn)行修改;
5為面相對(duì)象的設(shè)計(jì)與開(kāi)發(fā)中涌現(xiàn)出的高級(jí)概念提供支持,強(qiáng)調(diào)軟件在開(kāi)發(fā)過(guò)程中對(duì)架構(gòu)、框架、模式和組件的重用;
6與最好的軟件工程實(shí)踐經(jīng)驗(yàn)集成;
7有利于面對(duì)對(duì)象工具的市場(chǎng)成長(zhǎng);
UML建模語(yǔ)言的架構(gòu)
UML是由圖和元模型組成的。圖是UML的語(yǔ)法,而元模型則給出圖的意思,是UML的語(yǔ)義。UML的語(yǔ)義是定義在一個(gè)四層建模概念框架中的,其層結(jié)構(gòu)如下:
1元元模型層,組成UML的基本元素“事物”,代表要定義的所有事物;
2元模型層,組成了UML的基本元素,包括面向?qū)ο蠛兔嫦蚪M件的概念。這一層的每一個(gè)概念都是元元模型中“事物”概念的實(shí)例;
3模型層,組成了UML的模型,這一層的每個(gè)概念都是元模型中概念的一個(gè)實(shí)例,這一層的模型通常叫做類(lèi)模型或者類(lèi)型模型;
4用戶(hù)模型層,這個(gè)層中的所有所有元素都是UML模型的例子。這一層中的每個(gè)概念都是模型層的一個(gè)實(shí)例,也是元模型的一個(gè)實(shí)例。這一層的模型通常叫做對(duì)象模型或?qū)嵗P汀?/p>
UML建模語(yǔ)言的主要內(nèi)容
客觀世界是一個(gè)復(fù)雜巨系統(tǒng),需要從不同的角度來(lái)考察,才能真正理解這個(gè)系統(tǒng)。為了能支持從不同角度來(lái)考察系統(tǒng),標(biāo)準(zhǔn)建模語(yǔ)言UML定義了下列5類(lèi)、共10種模型圖:
第一類(lèi)是用例圖,從用戶(hù)角度描述系統(tǒng)功能,并指出各功能的操作者。
第二類(lèi)是靜態(tài)圖(Staticdiagram),包括類(lèi)圖、對(duì)象圖和包圖。
UML建模語(yǔ)言中類(lèi)圖描述系統(tǒng)中類(lèi)的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類(lèi),表示類(lèi)之間的聯(lián)系如關(guān)聯(lián)、依賴(lài)、聚合等,也包括類(lèi)的內(nèi)部結(jié)構(gòu)(類(lèi)的屬性和操作)。類(lèi)圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個(gè)生命周期都是有效的。
對(duì)象圖是類(lèi)圖的實(shí)例,幾乎使用與類(lèi)圖完全相同的標(biāo)識(shí)。他們的不同點(diǎn)在于對(duì)象圖顯示類(lèi)的多個(gè)對(duì)象實(shí)例,而不是實(shí)際的類(lèi)。一個(gè)對(duì)象圖是類(lèi)圖的一個(gè)實(shí)例。由于對(duì)象存在生命周期,因此對(duì)象圖只能在系統(tǒng)某一時(shí)間段存在。
包由包或類(lèi)組成,表示包與包之間的關(guān)系。包圖用于描述系統(tǒng)的分層結(jié)構(gòu)。
第三類(lèi)是行為圖(Behaviordiagram),描述系統(tǒng)的動(dòng)態(tài)模型和組成對(duì)象間的交互關(guān)系。
其中狀態(tài)圖描述類(lèi)的對(duì)象所有可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。通常,狀態(tài)圖是對(duì)類(lèi)圖的補(bǔ)充。在實(shí)用上并不需要為所有的類(lèi)畫(huà)狀態(tài)圖,僅為那些有多個(gè)狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類(lèi)畫(huà)狀態(tài)圖。而活動(dòng)圖描述滿(mǎn)足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng)。
第四類(lèi)是交互圖(Interactivediagram),描述對(duì)象間的交互關(guān)系。
UML建模語(yǔ)言中順序圖顯示對(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)系,則選擇合作圖。這兩種圖合稱(chēng)為交互圖。
第五類(lèi)是實(shí)現(xiàn)圖(Implementationdiagram)。
其中構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴(lài)關(guān)系。一個(gè)部件可能是一個(gè)資源代碼部件、一個(gè)二進(jìn)制部件或一個(gè)可執(zhí)行部件。它包含邏輯類(lèi)或?qū)崿F(xiàn)類(lèi)的有關(guān)信息。部件圖有助于分析和理解部件之間的相互影響程度。
配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。它可以顯示實(shí)際的計(jì)算機(jī)和設(shè)備(用節(jié)點(diǎn)表示)以及它們之間的連接關(guān)系,也可顯示連接的類(lèi)型及部件之間的依賴(lài)性。在節(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)的,包括用例圖、類(lè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ī)制兩大類(lèi)。#p#
UML建模語(yǔ)言的應(yīng)用領(lǐng)域
1在不同類(lèi)型系統(tǒng)中應(yīng)用
UML的目標(biāo)是以面向?qū)ο髨D的方式來(lái)描述任何類(lèi)型的系統(tǒng),具有很寬的應(yīng)用領(lǐng)域。其中最常用的是建立軟件系統(tǒng)的模型,但它同樣可以用于描述非軟件領(lǐng)域的系統(tǒng),如機(jī)械系統(tǒng)、企業(yè)機(jī)構(gòu)或業(yè)務(wù)過(guò)程,以及處理復(fù)雜數(shù)據(jù)的信息系統(tǒng)、具有實(shí)時(shí)要求的工業(yè)系統(tǒng)或工業(yè)過(guò)程等??傊?UML是一個(gè)通用的標(biāo)準(zhǔn)建模語(yǔ)言,可以對(duì)任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)進(jìn)行建模。
以下是常見(jiàn)的UML應(yīng)用:
系統(tǒng)信息--向用戶(hù)提供信息的存儲(chǔ)、檢索、交換和提交。處理存放在關(guān)系或?qū)ο髷?shù)據(jù)庫(kù)中大量具有復(fù)雜關(guān)系的數(shù)據(jù);
技術(shù)系統(tǒng)--處理和控制技術(shù)設(shè)備,它們必須處理設(shè)計(jì)的特殊接口,標(biāo)準(zhǔn)軟件相對(duì)較少,技術(shù)系統(tǒng)通常是實(shí)時(shí)系統(tǒng);
嵌入式實(shí)時(shí)系統(tǒng)--在嵌入到其它設(shè)備硬件上執(zhí)行的系統(tǒng)。通常是通過(guò)低級(jí)程序設(shè)計(jì)進(jìn)行的,需要實(shí)時(shí)支持;
分布式系統(tǒng)--分布在一組機(jī)器上運(yùn)行的系統(tǒng),數(shù)據(jù)很容易從一臺(tái)機(jī)器傳到另一臺(tái)計(jì)其。需要同步通信機(jī)制來(lái)確定數(shù)據(jù)完整性,通常是建立在對(duì)象機(jī)制上的。
2在軟件開(kāi)發(fā)過(guò)程中的應(yīng)用
UML建模語(yǔ)言適用于系統(tǒng)開(kāi)發(fā)過(guò)程中從需求規(guī)格描述到系統(tǒng)完成后測(cè)試的不同階段。在需求分析階段,可以用用例來(lái)捕獲用戶(hù)需求。通過(guò)用例建模,描述對(duì)系統(tǒng)感興趣的外部角色及其對(duì)系統(tǒng)(用例)的功能要求。分析階段主要關(guān)心問(wèn)題域中的主要概念(如抽象、類(lèi)和對(duì)象等)和機(jī)制,需要識(shí)別這些類(lèi)以及它們相互間的關(guān)系,并用UML類(lèi)圖來(lái)描述。為實(shí)現(xiàn)用例,類(lèi)之間需要協(xié)作,這可以用UML動(dòng)態(tài)模型來(lái)描述。在分析階段,只對(duì)問(wèn)題域的對(duì)象(現(xiàn)實(shí)世界的概念)建模,而不考慮定義軟件系統(tǒng)中技術(shù)細(xì)節(jié)的類(lèi)(如處理用戶(hù)接口、數(shù)據(jù)庫(kù)、通訊和并行性等問(wèn)題的類(lèi))。這些技術(shù)細(xì)節(jié)將在設(shè)計(jì)階段引入,因此設(shè)計(jì)階段為構(gòu)造階段提供更詳細(xì)的規(guī)格說(shuō)明。
編程(構(gòu)造)是一個(gè)獨(dú)立的階段,其任務(wù)是用面向?qū)ο缶幊陶Z(yǔ)言將來(lái)自設(shè)計(jì)階段的類(lèi)轉(zhuǎn)換成實(shí)際的代碼。在用UML建立分析和設(shè)計(jì)模型時(shí),應(yīng)盡量避免考慮把模型轉(zhuǎn)換成某種特定的編程語(yǔ)言。因?yàn)樵谠缙陔A段,模型僅僅是理解和分析系統(tǒng)結(jié)構(gòu)的工具,過(guò)早考慮編碼問(wèn)題十分不利于建立簡(jiǎn)單正確的模型。
UML模型還可作為測(cè)試階段的依據(jù)。系統(tǒng)通常需要經(jīng)過(guò)單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。不同的測(cè)試小組使用不同的UML圖作為測(cè)試依據(jù);單元測(cè)試使用類(lèi)圖和類(lèi)規(guī)格說(shuō)明;集成測(cè)試使用部件圖和合作圖;系統(tǒng)測(cè)試使用用例圖來(lái)驗(yàn)證系統(tǒng)的行為;驗(yàn)收測(cè)試由用戶(hù)進(jìn)行,以驗(yàn)證系統(tǒng)測(cè)試的結(jié)果是否滿(mǎn)足在分析階段確定的需求。
總之,標(biāo)準(zhǔn)建模語(yǔ)言UML適用于以面向?qū)ο蠹夹g(shù)來(lái)描述任何類(lèi)型的系統(tǒng),而且適用于系統(tǒng)開(kāi)發(fā)的不同階段,從需求規(guī)格描述直至系統(tǒng)完成后的測(cè)試和維護(hù)。
分享題目:UML建模語(yǔ)言入門(mén)教程
URL網(wǎng)址:http://fisionsoft.com.cn/article/dpgecec.html


咨詢(xún)
建站咨詢(xún)
