<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      Unified Modeling Language
      (UML)又稱統(tǒng)一建模語(yǔ)言或標(biāo)準(zhǔn)建模語(yǔ)言,它是一個(gè)支持模型化和軟件系統(tǒng)開(kāi)發(fā)的圖形化語(yǔ)言,為軟件開(kāi)發(fā)的所有階段提供模型化和可視化支持,包括由需求分析到規(guī)格,到構(gòu)造和配置。

      * UML分類
      (1)靜態(tài)模型(系統(tǒng)結(jié)構(gòu)): 用例圖、類圖、對(duì)象圖、構(gòu)件圖、部署圖
      (2)動(dòng)態(tài)模型(系統(tǒng)行為):狀態(tài)圖、活動(dòng)圖、順序圖、協(xié)作圖
      * UML中有4種事務(wù):
      (1)結(jié)構(gòu)事務(wù):名詞、靜態(tài)部分、物理元素。


      *
      (2)行為事務(wù):動(dòng)詞、動(dòng)態(tài)部分、行為。


      *
      (3)分組事務(wù):包。


      *
      (4)注釋事務(wù):注解。


      用例圖:

      用例圖是指由參與者(Actor)、用例(Use Case),邊界以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的視圖。用例圖(User
      Case)是外部用戶(被稱為參與者)所能觀察到的系統(tǒng)功能的模型圖。用例圖是系統(tǒng)的藍(lán)圖,用于需求分析階段。用例圖呈現(xiàn)了一些參與者,一些用例,以及它們之間的關(guān)系,主要用于對(duì)系統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模。




      用例之間的關(guān)系
      (1)包含 (include) 關(guān)系
      父用例包含子用例,父用例執(zhí)行,子用例必然被執(zhí)行

      當(dāng)兩個(gè)或多個(gè)用例中共用一組相同的動(dòng)作,這時(shí)可以將這組相同的動(dòng)作抽出來(lái)作為一個(gè)獨(dú)立的子用例,供多個(gè)基用例所共享。因?yàn)樽佑美怀槌?,基用例并非一個(gè)完整的用例,所以include關(guān)系中的基用例必須和子用例一起使用才夠完整,子用例也必然被執(zhí)行。include關(guān)系在用例圖中使用帶箭頭的虛線表示(在線上標(biāo)注<
      >),箭頭從基用例指向子用例。



      (2)擴(kuò)展(extend)關(guān)系
      子用例擴(kuò)展父用例,復(fù)用執(zhí)行,子用例不一定執(zhí)行
      是對(duì)基用例的擴(kuò)展,基用例是一個(gè)完整的用例,即使沒(méi)有子用例的參與,也可以完成一個(gè)完整的功能。 extend關(guān)系在用例圖中使用帶箭頭的虛線表示(在線上標(biāo)注<
      >),箭頭從子用例指向基用例。



      圖例:用戶如果如期還書(shū),則還書(shū)業(yè)務(wù)就結(jié)束了,如果超期了,才會(huì)有罰款的業(yè)務(wù),罰款不是必須,所以是擴(kuò)展關(guān)系。

      類圖



      類圖(Class diagram)展現(xiàn)了一組對(duì)象、接口、協(xié)作和它們之間的關(guān)系。類圖是靜態(tài)視圖。
      類圖中包括:
      (1)類
      (2)接口
      (3)協(xié)作
      (4)依賴、泛化和關(guān)聯(lián)關(guān)系

      使用類圖的場(chǎng)景:
      (1)對(duì)系統(tǒng)的靜態(tài)設(shè)計(jì)建模
      (2)對(duì)簡(jiǎn)單的協(xié)作建模
      (3)對(duì)邏輯數(shù)據(jù)庫(kù)模式建模

      類的分類:

      (1)
      實(shí)體類:實(shí)體類對(duì)應(yīng)系統(tǒng)需求中的每個(gè)實(shí)體,它們通常需要保存在永久存儲(chǔ)體中,一般使用數(shù)據(jù)庫(kù)表或文件來(lái)記錄,實(shí)體類既包括存儲(chǔ)和傳遞數(shù)據(jù)的類,還包括操作數(shù)據(jù)的類。實(shí)體類來(lái)源于需求說(shuō)明中的名詞,如學(xué)生、商品等。

      (2)
      控制類:控制類用于體現(xiàn)應(yīng)用程序的執(zhí)行邏輯,提供相應(yīng)的業(yè)務(wù)操作,將控制類抽象出來(lái)可以降低界面和數(shù)據(jù)庫(kù)之間的耦合度??刂祁愑糜趯?duì)一個(gè)或幾個(gè)用例所特有的控制行為進(jìn)行建模??刂茖?duì)象(控制類的實(shí)例)通??刂破渌麑?duì)象,因此它們的行為具有協(xié)調(diào)性質(zhì)??刂祁悓⒂美奶赜行袨檫M(jìn)行封裝

      (3) 邊界類:邊界類用于對(duì)外部用戶與系統(tǒng)之間的交互對(duì)象進(jìn)行抽象,主要包括界面類,如對(duì)話框、窗口、菜單等。

      類圖中的關(guān)系:

      * 依賴(Dependency)



      是一種使用的關(guān)系, 即一個(gè)類的實(shí)現(xiàn)需要另一個(gè)類的協(xié)助,
      所以要盡量不使用雙向的互相依賴??梢院?jiǎn)單的理解,就是一個(gè)類A使用到了另一個(gè)類B,而這種使用關(guān)系是具有偶然性的、臨時(shí)性的、非常弱的,但是B類的變化會(huì)影響到A;比如某人要過(guò)河,需要借用一條船,此時(shí)人與船之間的關(guān)系就是依賴。在UML中,依賴關(guān)系用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方。

      * 泛化(Generalization)


      也就是繼承關(guān)系的反關(guān)系,用于描述父類與子類之間的關(guān)系,父類又稱作基類或超類,子類又稱作派生類。在UML中,泛化關(guān)系用帶空心三角形的直線來(lái)表示。
      子類繼承自父類,父類是子類的泛化。

      * 關(guān)聯(lián)(Association)


      是一種擁有的關(guān)系, 它使一個(gè)類知道另一個(gè)類的屬性和方法;如:老師與學(xué)生,丈夫與妻子。

      關(guān)聯(lián)是類之間的結(jié)構(gòu)關(guān)系,它描述了一組鏈,鏈?zhǔn)菍?duì)象之間的連接。兩個(gè)類之間可以有多個(gè)由不同角色標(biāo)識(shí)的關(guān)聯(lián)。關(guān)聯(lián)可以是雙向的,也可以是單向的。雙向的關(guān)聯(lián)可以有兩個(gè)箭頭或者沒(méi)有箭頭,單向的關(guān)聯(lián)有一個(gè)箭頭。

      (1) 雙向關(guān)聯(lián)。默認(rèn)情況下,關(guān)聯(lián)是雙向的。

      (2) 單向關(guān)聯(lián)
      (3)自關(guān)聯(lián)
      (4)多重關(guān)聯(lián)

      *
      聚合(Aggregation)



      聚合是關(guān)聯(lián)關(guān)系的一種特例,他體現(xiàn)的是整體與部分、擁有的關(guān)系,即has-a的關(guān)系,此時(shí)整體與部分之間是可分離的,他們可以具有各自的生命周期,部分可以屬于多個(gè)整體對(duì)象,也可以為多個(gè)整體對(duì)象共享在UML中,聚合關(guān)系用帶空心菱形的直線表示。例如:汽車發(fā)動(dòng)機(jī)(Engine)是汽車(Car)的組成部分,但是汽車發(fā)動(dòng)機(jī)可以獨(dú)立存在,因此,汽車和發(fā)動(dòng)機(jī)是聚合關(guān)系,如圖所示

      *
      組合(Composition)




      組合也是關(guān)聯(lián)關(guān)系的一種特例,他體現(xiàn)的是一種contains-a的關(guān)系,這種關(guān)系比聚合更強(qiáng),也稱為強(qiáng)聚合;他同樣體現(xiàn)整體與部分間的關(guān)系,但此時(shí)整體與部分是不可分的,整體的生命周期結(jié)束也就意味著部分的生命周期結(jié)束。在UML中,組合關(guān)系用帶實(shí)心菱形的直線表示。

      * 實(shí)現(xiàn)(Realization)


      是用來(lái)規(guī)定接口和實(shí)現(xiàn)接口的類或者構(gòu)建結(jié)構(gòu)的關(guān)系,接口是操作的集合,而這些操作就用于規(guī)定類或者構(gòu)建的一種服務(wù)。

      接口之間也可以有與類之間關(guān)系類似的繼承關(guān)系和依賴關(guān)系,但是接口和類之間還存在一種實(shí)現(xiàn)關(guān)系(Realization),在這種關(guān)系中,類實(shí)現(xiàn)了接口,類中的操作實(shí)現(xiàn)了接口中所
      聲明的操作。在UML中,類與接口之間的實(shí)現(xiàn)關(guān)系用帶空心三角形的虛線來(lái)表示。例如:定義了一個(gè)交通工具接口Vehicle,包含一個(gè)抽象操作move(),在類Ship和類Car中都實(shí)現(xiàn)了該move()操作,不過(guò)具體的實(shí)現(xiàn)細(xì)節(jié)將會(huì)不一樣,如圖所示:

      對(duì)象圖

      對(duì)象圖(ObjectDiagram) 展現(xiàn)了某一時(shí)刻一組對(duì)象以及它們之間的關(guān)系,描述了在類圖中所建立的事物的實(shí)例的靜態(tài)快照。


      交互圖

      交互圖表現(xiàn)為序列圖、通信圖、交互概覽圖和計(jì)時(shí)圖。用于動(dòng)態(tài)建模。

      序列圖

      序列圖強(qiáng)調(diào)消息時(shí)間順序的交互



      通信圖

      通信圖(協(xié)作圖)強(qiáng)調(diào)接收和發(fā)送信息的對(duì)象的結(jié)構(gòu)組織的交互
      對(duì)象:圖中的矩形元素即為對(duì)象,其中冒號(hào)前面部分為對(duì)象名,后面為類名,表示類的一個(gè)實(shí)例。
      鏈接:用兩個(gè)對(duì)象之間的單一線條表示,用來(lái)在通信圖中關(guān)聯(lián)對(duì)象,目的是讓消息在不同系統(tǒng)對(duì)象之間傳遞??梢岳斫怄溄邮枪?,消息是車。
      消息:通信圖中對(duì)象之間通信的方式。





      交互概覽圖

      交互概覽圖強(qiáng)調(diào)控制流的交互圖


      計(jì)時(shí)圖

      計(jì)時(shí)圖適合嵌入式系統(tǒng)建模的交互圖


      狀態(tài)圖

      用來(lái)描述一個(gè)特定的對(duì)象所有可能的狀態(tài),以及由于各種事件的發(fā)生而引起的狀態(tài)之間的轉(zhuǎn)移和變化。用于對(duì)系統(tǒng)的動(dòng)態(tài)方面建模。


      活動(dòng)圖


      將進(jìn)程或其他計(jì)算的結(jié)構(gòu)展示為計(jì)算內(nèi)部一步步的控制流和數(shù)據(jù)流,主要用來(lái)描述系統(tǒng)的動(dòng)態(tài)視圖?;顒?dòng)圖在本質(zhì)上是一種流程圖?;顒?dòng)圖著重表現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,是內(nèi)部處理驅(qū)動(dòng)的流程。
      活動(dòng)圖主要描述行為的動(dòng)作,
      狀態(tài)圖主要描述行為的結(jié)果。




      構(gòu)件圖


      使用構(gòu)件圖的思想是復(fù)用。就像是我們蓋房子,當(dāng)房子的大體框架建好之后,剩下的門(mén)和窗戶家具之類的直接拿來(lái)安裝上即可,不需要再?gòu)男轮谱?,直接拿?lái)復(fù)用的思想。這些門(mén)和窗戶就相當(dāng)于一個(gè)個(gè)的構(gòu)件。
      構(gòu)件有一下幾種類型:
      (1)部署構(gòu)件:dll文件、exe文件、com+對(duì)象、CORBA對(duì)象、EJB、動(dòng)態(tài)Web頁(yè)和數(shù)據(jù)庫(kù)表等。
      (2)工作產(chǎn)品構(gòu)件:源代碼文件、數(shù)據(jù)文件等
      (3)執(zhí)行構(gòu)件:系統(tǒng)執(zhí)行后得到的構(gòu)件。



      部署圖

      表示系統(tǒng)中軟件和硬件的物理架構(gòu)。

      從部署圖中,可以了解到軟件和硬件組件之間的物理關(guān)系以及處理節(jié)點(diǎn)的組件分布情況。使用部署圖可以顯示運(yùn)行時(shí)系統(tǒng)的結(jié)構(gòu),同時(shí)還傳達(dá)構(gòu)成應(yīng)用程序的硬件和軟件元素的配置和部署方式。


      包圖

      在 UML
      中用類似于文件夾的符號(hào)表示的模型元素的組合。包圖是一種維護(hù)和描述系統(tǒng)總體結(jié)構(gòu)的模型的重要建模工具,通過(guò)對(duì)包中各個(gè)包以及包之間關(guān)系的描述,展現(xiàn)出系統(tǒng)的模塊與模塊之間的依賴關(guān)系。
      包圖的作用:包圖可以描述需求,設(shè)計(jì)的高階概況;包圖通過(guò)合理規(guī)劃自身功能反應(yīng)系統(tǒng)的高層架構(gòu),在邏輯上將系統(tǒng)進(jìn)行模塊化分解;包圖最終是組織源碼的方式。
      一個(gè)包圖可以由任何一種UML圖組成,通常是UML用例圖或是UML類圖。
      包被描述成文件夾,可以用于UML任何一種的圖上。
      包圖只是把某些類放在一個(gè)包中,因此可以看做是類圖的一種。


      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問(wèn)題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          草草偷拍视频 | 国产精品国产a | 操日本美女b | 强伦轩一区二区三区四区 | 国产老年人性视频 | 蜜桃精品在线观看 | 内射逼逼 | 毛片3 | 中国xxxxxxxxx老师 | 欧美成人性爱视频 |