自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全面解析UML靜態(tài)建模機(jī)制

開發(fā) 架構(gòu)
UML靜態(tài)建模你是否熟悉,本文就向大家介紹一下它的概念,任何建模語言都以靜態(tài)建模機(jī)制為基礎(chǔ),標(biāo)準(zhǔn)建模語言UML也不例外。

本文和大家重點(diǎn)討論一下UML靜態(tài)建模機(jī)制 ,主要包括:用例圖(Usecasediagram)、類圖(Classdiagram)、對(duì)象圖(Objectdiagram)、包(Package)、構(gòu)件圖(Componentdiagram)和配置圖(Deploymentdiagram)。

UML靜態(tài)建模機(jī)制

任何建模語言都以靜態(tài)建模機(jī)制為基礎(chǔ),標(biāo)準(zhǔn)建模語言UML也不例外。

  UML的靜態(tài)建模機(jī)制包括:用例圖(Usecasediagram)、類圖(Classdiagram)、對(duì)象圖(Objectdiagram)、包(Package)、構(gòu)件圖(Componentdiagram)和配置圖(Deploymentdiagram)。

  1.用例圖

  (1)用例模型(Usecasemodel)

  用例模型描述的是外部執(zhí)行者(Actor)所理解的系統(tǒng)功能。用例模型用于需求分析階段,它的建立是系統(tǒng)開發(fā)者和用戶反復(fù)討論的結(jié)果,表明了開發(fā)者和用戶對(duì)需求規(guī)格達(dá)成的共識(shí)。首先,它描述了待開發(fā)系統(tǒng)的功能需求;其次,它將系統(tǒng)看作黑盒,從外部執(zhí)行者的角度來理解系統(tǒng);第三,它驅(qū)動(dòng)了需求分析之后各階段的開發(fā)工作,不僅在開發(fā)過程中保證了系統(tǒng)所有功能的實(shí)現(xiàn),而且被用于驗(yàn)證和檢測(cè)所開發(fā)的系統(tǒng),從而影響到開發(fā)工作的各個(gè)階段和UML的各個(gè)模型。在UML中,一個(gè)用例模型由若干個(gè)用例圖描述,用例圖主要元素是用例和執(zhí)行者。

  (2)用例(usecase)

  從本質(zhì)上講,一個(gè)用例是用戶與計(jì)算機(jī)之間的一次典型交互作用。在UML靜態(tài)建模中,用例被定義成系統(tǒng)執(zhí)行的一系列動(dòng)作,動(dòng)作執(zhí)行的結(jié)果能被指定執(zhí)行者察覺到。在UML中,用例表示為一個(gè)橢圓。概括地說,用例有以下特點(diǎn):

  ·用例捕獲某些用戶可見的需求,實(shí)現(xiàn)一個(gè)具體的用戶目標(biāo)。

  ·用例由執(zhí)行者激活,并提供確切的值給執(zhí)行者。

  ·用例可大可小,但它必須是對(duì)一個(gè)具體的用戶目標(biāo)實(shí)現(xiàn)的完整描述。

  (3)執(zhí)行者(Actor)

  執(zhí)行者是指用戶在系統(tǒng)中所扮演的角色。其圖形化的表示是一個(gè)小人。不帶箭頭的線段將執(zhí)行者與用例連接到一起,表示兩者之間交換信息,稱之為通信聯(lián)系。執(zhí)行者觸發(fā)用例,并與用例進(jìn)行信息交換。單個(gè)執(zhí)行者可與多個(gè)用例聯(lián)系;反過來,一個(gè)用例可與多個(gè)執(zhí)行者聯(lián)系。對(duì)同一個(gè)用例而言,不同執(zhí)行者有著不同的作用:他們可以從用例中取值,也可以參與到用例中。

  需要注意的是執(zhí)行者在用例圖中是用類似人的圖形來表示,盡管執(zhí)行的,但執(zhí)行者未必是人。例如,執(zhí)行者也可以是一個(gè)外界系統(tǒng),該外界系統(tǒng)可能需要從當(dāng)前系統(tǒng)中獲取信息,與當(dāng)前系統(tǒng)有進(jìn)行交互。

  通過實(shí)踐,我們發(fā)現(xiàn)執(zhí)行者對(duì)提供用例是非常有用的。面對(duì)一個(gè)大系統(tǒng),要列出用例清單常常是十分困難。這時(shí)可先列出執(zhí)行者清單,再對(duì)每個(gè)執(zhí)行者列出它的用例,問題就會(huì)變得容易很多。

  (4)使用和擴(kuò)展(UseandExtend)

  UML靜態(tài)建模中使用和擴(kuò)展是兩種不同形式的繼承關(guān)系。

  當(dāng)一個(gè)用例與另一個(gè)用例相似,但所做的動(dòng)作多一些,就可以用到擴(kuò)展關(guān)系。

  當(dāng)有一大塊相似的動(dòng)作存在于幾個(gè)用例,又不想重復(fù)描述該動(dòng)作時(shí),就可以用到使用關(guān)系。

  (5)用例模型的獲取

  幾乎在任何情況下都會(huì)使用用例。用例用來獲取需求,規(guī)劃和控制項(xiàng)目。UML靜態(tài)建模中用例的獲取是需求分析階段的主要任務(wù)之一,

  而且是首先要做的工作。大部分用例將在項(xiàng)目的需求分析階段產(chǎn)生,并且隨著工作的深入會(huì)發(fā)現(xiàn)更多的用例,這些都應(yīng)及時(shí)增添到已有的用例集中。用例集中的每個(gè)用例都是一個(gè)潛在的需求。

  a.獲取執(zhí)行者

  獲取用例首先要找出系統(tǒng)的執(zhí)行者??梢酝ㄟ^用戶回答一些問題的答案來識(shí)別執(zhí)行者。以下問題可供參考:

  ·誰使用系統(tǒng)的主要功能(主要使用者)。

  ·誰需要系統(tǒng)支持他們的日常工作。

  ·誰來維護(hù)、管理使系統(tǒng)正常工作(輔助使用者)。

  ·系統(tǒng)需要操縱哪些硬件。

  ·系統(tǒng)需要與哪些其它系統(tǒng)交互,包含其它計(jì)算機(jī)系統(tǒng)和其它應(yīng)用程序。

  ·對(duì)系統(tǒng)產(chǎn)生的結(jié)果感興趣的人或事物。

  b.獲取用例

  一旦獲取了執(zhí)行者,就可以對(duì)每個(gè)執(zhí)行者提出問題以獲取用例。以下問題可供參考:

  ·執(zhí)行者要求系統(tǒng)提供哪些功能(執(zhí)行者需要做什么)?

  ·執(zhí)行者需要讀、產(chǎn)生、刪除、修改或存儲(chǔ)的信息有哪些類型。

  ·必須提醒執(zhí)行者的系統(tǒng)事件有哪些?

  或者執(zhí)行者必須提醒系統(tǒng)的事件有哪些?

  怎樣把這些事件表示成用例中的功能?

  ·為了完整地描述用例,還需要知道執(zhí)行者的某些典型功能能否被系統(tǒng)自動(dòng)實(shí)現(xiàn)?

  還有一些不針對(duì)具體執(zhí)行者問題(即針對(duì)整個(gè)系統(tǒng)的問題):

  ·系統(tǒng)需要何種輸入輸出?輸入從何處來?輸出到何處?

  ·當(dāng)前運(yùn)行系統(tǒng)(也許是一些手工操作而不是計(jì)算機(jī)系統(tǒng))的主要問題?

  需要注意,最后兩個(gè)問題并不是指沒有執(zhí)行者也可以有用例,只是獲取用例時(shí)尚不知道執(zhí)行者是什么。一個(gè)用例必須至少與一個(gè)執(zhí)行者關(guān)聯(lián)。還需要注意:不同的設(shè)計(jì)者對(duì)用例的利用程度也不同。#p#

  2.類圖、對(duì)象圖和包

  (1)類圖

  UML靜態(tài)建模中類圖(ClassDiagram)描述類和類之間的靜態(tài)關(guān)系。與數(shù)據(jù)模型不同,它不僅顯示了信息的結(jié)構(gòu),同時(shí)還描述了系統(tǒng)的行為。類圖是定義其它圖的基礎(chǔ)。在類圖的基礎(chǔ)上,狀態(tài)圖、合作圖等進(jìn)一步描述了系統(tǒng)其他方面的特性。

  (2)類和對(duì)象

  UML靜態(tài)建模中對(duì)象(Object)與我們對(duì)客觀世界的理解相關(guān)。我們通常用對(duì)象描述客觀世界中某個(gè)具體的實(shí)體。所謂類(Class)是對(duì)一類具有相同特征的對(duì)象的描述。而對(duì)象是類的實(shí)例(Instance)。建立類模型時(shí),我們應(yīng)盡量與應(yīng)用領(lǐng)域的概念保持一致,以使模型更符合客觀事實(shí),易修改、易理解和易交流。

  類描述一類對(duì)象的屬性(Attribute)和行為(Behavior)。在UML中,類的可視化表示為一個(gè)劃分成三個(gè)格子的長方形(下面兩個(gè)格子可省略)。

  (3)關(guān)聯(lián)關(guān)系

  UML靜態(tài)建模中關(guān)聯(lián)(Association)表示兩個(gè)類之間存在某種語義上的聯(lián)系。例如,一個(gè)人為一家公司工作,一家公司有許多辦公室。我們就認(rèn)為人和公司、公司和辦公室之間存在某種語義上的聯(lián)系。在分析設(shè)計(jì)的類圖模型中,則在對(duì)應(yīng)人類和公司類、公司類和辦公室類之間建立關(guān)聯(lián)關(guān)系。

  關(guān)聯(lián)的方向

  關(guān)聯(lián)可以有方向,表示該關(guān)聯(lián)單方向被使用。關(guān)聯(lián)上加上箭頭表示方向,在UML中稱為導(dǎo)航(Navigability)。我們將只在一個(gè)方向上存在導(dǎo)航表示的關(guān)聯(lián),稱作單向關(guān)聯(lián)(Uni-directionalAssociation),在兩個(gè)方向上都有導(dǎo)航表示的關(guān)聯(lián),稱作雙向關(guān)聯(lián)(Bi-directionalAssociation)。

  關(guān)聯(lián)的命名

  既然關(guān)聯(lián)可以是雙向的,最復(fù)雜的命名方法是每個(gè)方向上給出一個(gè)名字,這樣的關(guān)聯(lián)有兩個(gè)名字,可以用小黑三角表示名字的方向

  聚集(Aggregation)是一種特殊形式的關(guān)聯(lián)。UML靜態(tài)建模中聚集表示類之間的關(guān)系是整體與部分的關(guān)系。一輛轎車包含四個(gè)車輪、一個(gè)方向盤、一個(gè)發(fā)動(dòng)機(jī)和一個(gè)底盤,這是聚集的一個(gè)例子。在需求分析中,"包含"、"組成"、"分為……部分"等經(jīng)常設(shè)計(jì)成聚集關(guān)系。聚集可以進(jìn)一步劃分成共享聚集(SharedAggregation)和組成。例如,課題組包含許多成員,但是每個(gè)成員又可以是另一個(gè)課題組的成員,即部分可以參加多個(gè)整體,我們稱之為共享聚集。

  另一種情況是整體擁有各部分,部分與整體共存,如整體不存在了,部分也會(huì)隨之消失,這稱為組成(Composition)。例如,我們打開一個(gè)視窗口,它就由標(biāo)題、外框和顯示區(qū)所組成。一旦消亡則各部分同時(shí)消失。在UML中,聚集表示為空心菱形,組成表示為實(shí)心菱形。

【編輯推薦】

  1. UML輕松入門--UML靜態(tài)建模:用例
  2. 使用彩色UML建模 彰顯顏色的魅力
  3. 暢談UML靜態(tài)建模機(jī)制
  4. UML靜態(tài)建模:類和對(duì)象
  5. UML建模中繪制UML用例圖行之有效的辦法
責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-07-08 14:13:58

UML靜態(tài)建模

2010-06-17 10:05:35

UML動(dòng)態(tài)建模

2010-06-30 10:30:29

UML動(dòng)態(tài)建模

2010-07-09 13:16:46

UML動(dòng)態(tài)建模機(jī)制

2010-07-07 09:34:06

UML用戶指南

2010-07-07 10:35:40

UML軟件建模

2010-06-30 13:53:28

UML建模過程

2010-06-17 10:38:08

UML動(dòng)態(tài)建模機(jī)制

2010-07-12 14:47:53

UML建模

2010-06-30 15:26:33

UML靜態(tài)建模

2010-06-09 13:06:22

UML業(yè)務(wù)建模實(shí)例

2010-07-12 15:25:05

UML建模工具

2010-06-30 14:46:49

UML類圖

2010-06-30 15:40:08

2010-06-18 18:42:43

UML建模語言

2010-07-09 15:19:58

UML類圖建模

2010-06-18 16:35:32

UML建模

2010-06-28 09:44:48

UML建模工具Rose

2010-06-13 12:49:23

UML及建模

2010-06-17 15:54:24

UML總結(jié)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)