隨筆-314  評(píng)論-209  文章-0  trackbacks-0

          統(tǒng)一建模語(yǔ)言(Unified Modeling LanguageUML

          一些術(shù)語(yǔ):

          系統(tǒng)(system)指的是硬件和軟件的結(jié)合體,它能提供業(yè)務(wù)問(wèn)題的解決方案。

          系統(tǒng)開(kāi)發(fā)(system development)是為客戶(hù)建立一個(gè)系統(tǒng)的過(guò)程。

          客戶(hù)(client)是需要解決問(wèn)題的人。

          系統(tǒng)分析員(analyst)將客戶(hù)所要解決的問(wèn)題編制成文檔,并將該文檔轉(zhuǎn)交給開(kāi)發(fā)人員。

          開(kāi)發(fā)人員(developer)是為了及決客戶(hù)的問(wèn)題而構(gòu)造軟件并在計(jì)算機(jī)硬件上實(shí)施該軟件的程序員。

          UML的組成

          UML包括了一些可以相互組合圖表的圖形元素。

          1.類(lèi)圖

          一個(gè)類(lèi)(class)是一類(lèi)或一組具有類(lèi)似屬性和共同行為的事物。

          矩形方框代表類(lèi)的圖標(biāo),它被分成3個(gè)區(qū)域。最上面的區(qū)域中是類(lèi)名,中間區(qū)域是類(lèi)的屬性,最下面區(qū)域里列的是類(lèi)的操作。

          舉一個(gè)例子,屬于洗衣機(jī)(washing machine)類(lèi)的事物都具有諸如品牌(brand name)、型號(hào)(model name)、序列號(hào)(serial number)和容量(capacity)等屬性。這類(lèi)事物的行為包括“加衣物(add clothes)”、“加洗滌劑(add detergent)”、“開(kāi)機(jī)(turn on)”和“取出衣物(remove clothes)”等操作。

          2.對(duì)象圖

          對(duì)象(object)是一個(gè)類(lèi)的實(shí)例,是具有具體屬性值和行為的一個(gè)具體事物。例如,洗衣機(jī)的品牌可能是“Laundatorium”,型號(hào)為“Washmeister”,序列號(hào)為“GL57774”,一次最多可以洗滌重量為16的衣物。

          對(duì)象的圖標(biāo)也是一個(gè)矩形,和類(lèi)的圖標(biāo)一樣,但是對(duì)象名下面要帶下劃線(xiàn)。具體實(shí)例的名字位于冒號(hào)的左邊而該實(shí)例所屬的類(lèi)名位于冒號(hào)的右邊。

          3.用例圖

          用例(use case)是從用戶(hù)的觀(guān)點(diǎn)對(duì)系統(tǒng)行為的一個(gè)描述。

          例,一個(gè)人使用一臺(tái)洗衣機(jī),顯然是為了洗衣服(wash clothes)。

          代表洗衣機(jī)用戶(hù)的智力小人形被稱(chēng)為參與者(actor)。橢圓形代表用例。

          參與者(它是發(fā)起用例的實(shí)體)可以是一個(gè)人也可以是另一個(gè)系統(tǒng)。

          4.狀態(tài)圖

          一臺(tái)洗衣機(jī)可以處于浸泡(soak)、洗滌(Wash)、漂洗(Rinse)、脫水(Spin)或者關(guān)機(jī)(off)狀態(tài)。

          最頂端的符號(hào)代表起始狀態(tài),最底端的符號(hào)表示終止?fàn)顟B(tài)。

          5.順序圖

          類(lèi)圖和對(duì)象圖標(biāo)大的實(shí)系統(tǒng)的靜態(tài)結(jié)構(gòu)。在一個(gè)運(yùn)行的系統(tǒng)中,對(duì)象之間要發(fā)生交互,并且這些交互要經(jīng)歷一定的時(shí)間。UML順序圖所表達(dá)的正式這種基于時(shí)間的動(dòng)態(tài)交互。

          例,洗衣機(jī)的構(gòu)件包括一個(gè)注水的進(jìn)水管(Water Pipe)、一個(gè)用來(lái)裝衣物的洗滌缸(Drum)以一個(gè)排水管(Drain)。假設(shè)已經(jīng)完成了“加衣物”、“加洗滌劑”和“開(kāi)機(jī)”操作。洗衣服這個(gè)用例被執(zhí)行時(shí)按照如下順序進(jìn)行:

          1通過(guò)進(jìn)水管想洗滌缸中注水。

          2洗滌缸保持5分鐘靜止?fàn)顟B(tài)。

          3水注滿(mǎn),停止注水。

          4洗滌缸往返旋轉(zhuǎn)15分鐘。

          5通過(guò)排水管排掉洗滌后的臟水。

          6重新開(kāi)始注水。

          7洗滌缸繼續(xù)往返旋轉(zhuǎn)洗滌。

          8停止向洗衣機(jī)中注水。

          9通過(guò)排水管排掉漂洗衣物的水。

          10洗滌缸加快速度單方向旋轉(zhuǎn)5分鐘。

          11洗滌缸停止旋轉(zhuǎn),洗衣過(guò)程結(jié)束。

          圖中,對(duì)象之間發(fā)送的消息有:注入新水(Send fresh water)、保持靜止(Remain stationary)、停止注水(Stop)、往返旋轉(zhuǎn)(Ratate back and forth)、排掉洗滌后的臟水(Send soapy water)、排掉漂洗過(guò)的水(Send rinse water)等。

          6.活動(dòng)圖

          用例和對(duì)象的行為中的各個(gè)活動(dòng)之間通常具有時(shí)間順序。


          7.協(xié)作圖

          系統(tǒng)的工作目標(biāo)是由系統(tǒng)中各組成元素相互協(xié)作完成的。例子中洗衣機(jī)構(gòu)件的類(lèi)集中又增加了一個(gè)內(nèi)部計(jì)時(shí)器(Internal Timer)。在經(jīng)過(guò)一段時(shí)間后,定時(shí)器停止注水,然后啟動(dòng)洗滌缸往返旋轉(zhuǎn)。圖中的序號(hào)代表命令消息的發(fā)送順序。

          8.構(gòu)件圖

          構(gòu)件圖和部署圖和整個(gè)計(jì)算機(jī)系統(tǒng)密切相關(guān)。

          9.部署圖

          UML部署圖顯示了基于計(jì)算機(jī)系統(tǒng)的物理體系結(jié)構(gòu)。它可以描述計(jì)算機(jī)和設(shè)備,展示它們之間的連接,以及駐留在每臺(tái)機(jī)器中的軟件。每臺(tái)計(jì)算機(jī)用一個(gè)立方體來(lái)表示,立方體之間的連線(xiàn)表示這些計(jì)算機(jī)之間的通信關(guān)系。

           

          如果需要將圖中的組織元素分組,或者在圖中說(shuō)明一些類(lèi)或構(gòu)件是某個(gè)特定子系統(tǒng)的一部分,可以通過(guò)將這些元素組織成包(package)來(lái)達(dá)到此目的。包用一邊突起的公文夾形圖標(biāo)來(lái)表示。

          注釋?zhuān)?/span>note)的圖標(biāo)是一個(gè)帶折角的矩形,矩形框中是解釋性文字。注釋和被注釋的圖元素之間用一條虛線(xiàn)連接。

          構(gòu)造型(stereotype)能夠使用現(xiàn)有的UML元素來(lái)定制新的元素。構(gòu)造型用尖對(duì)括號(hào)括起來(lái)的一個(gè)名稱(chēng)來(lái)表示,這個(gè)括號(hào)叫雙尖括號(hào)(guillemets)。

           

          v
          posted on 2008-05-30 21:03 xzc 閱讀(422) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): UML

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 平乡县| 饶河县| 安陆市| 汝州市| 临桂县| 吴川市| 临汾市| 阿拉善左旗| 叙永县| 久治县| 舟山市| 济源市| 恩施市| 灵武市| 垫江县| 张北县| 溧水县| 澜沧| 海原县| 保山市| 西平县| 宁化县| 土默特右旗| 龙泉市| 金秀| 英山县| 兴和县| 罗田县| 麻阳| 桑植县| 崇礼县| 阳新县| 绥阳县| 富锦市| 阳西县| 正宁县| 阿鲁科尔沁旗| 昌宁县| 册亨县| 得荣县| 珠海市|