新聞中心
本文和大家重點討論一下UMLUML用例圖,UML建模工具有很多值得學(xué)習(xí)的地方,你對UMLUML用例圖是否熟悉,這里就和大家分享一下,相信通過本文的學(xué)習(xí)你對UMLUML用例圖的概念一定會有深刻的理解。

目前創(chuàng)新互聯(lián)已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、君山網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
UML用例圖
在實際工作中,大部分程序員很少接觸到需求分析,即使有需求分析,也是草草了事,沒有用正規(guī)的方式來表達,所以一般程序員使用UML用例圖的機會是不多的。但是卻又常常在各種媒體上看見UML用例圖,于是對一種常常出現(xiàn),自己又不太熟悉的技術(shù),會產(chǎn)生恐懼。如果說對MDA或者CORBA這樣的技術(shù)產(chǎn)生恐懼還是值得的話,對UML用例圖產(chǎn)生恐懼是非常不值的。因為MDA和CORBA這樣的技術(shù)也許要花上半年的時間才能夠初步了解,而克服UML用例圖恐懼癥,則只要不到一天的時間。
UML用例圖初感
UML是一組圖示符號的標準。所謂圖示符號,就是一組定義好的圖示,它們可以表達定義好的各種意思。用UML進行軟件建模,就是用規(guī)定好的符號畫圖,這些圖表達了開發(fā)人員腦中的軟件系統(tǒng)。用UML進行軟件建模,其難度并不比我們小時候上的美術(shù)課更難。在美術(shù)課上,一個圓形加上四根線條表示太陽,一個三角形加上一個矩形表示房子;同理,在UML的用例圖中,一個橢圓表示用例,一個小人表示參與者。我并不認為它們之間有質(zhì)的區(qū)別,想到我對這種小學(xué)生畫圖課恐懼了幾年,不由得感到羞愧。
用例圖是UML的九個圖中較為重要和常用的一種圖。常常用于軟件開發(fā)的需求分析階段,也能用于軟件的系統(tǒng)測試階段。簡單的來說,用例圖是描述系統(tǒng)的外部視圖。
在開始設(shè)計一個軟件系統(tǒng)時(更廣義的情況下,可以用來設(shè)計任何系統(tǒng)),需要一種手段來發(fā)現(xiàn)系統(tǒng)的功能,用例圖雖然是圖示,但是這些圖示隱含了一種啟發(fā)系統(tǒng)功能的手段。其實所有的UML圖都只包含圖示和標準,并不包含方法,但是它們往往隱含了某種方法。UML和軟件開發(fā)方法的關(guān)系,很類似于漢字和語文的關(guān)系。
用例圖包含了三種基本的概念:用例、角色和系統(tǒng)。它們可以組合起來表達系統(tǒng)的外部視圖。而且這種表達方式是如此直觀和簡單。
第一張UML用例圖
畫用例圖是一件很簡單的事情,而且感覺還很舒適,因為用例圖簡潔、直觀。雖然用例圖不能像HelloWorld一樣運行,也不能生成代碼,不過畫一張清晰的用例圖還是很有成就感的。
我使用的工具是Eclipse+EclipseUML插件,功能不如Rose,但是是開源而且免費的(EclipseUML有free版也有企業(yè)版),而且效果也不錯。第一張用例圖如下:
色(客戶和保險銷售員)以及三個用例(簽訂保險單、銷售統(tǒng)計資料、客戶數(shù)據(jù)資料),另外還有四個連接線以及一個注釋。如果在紙上或者合適的工具中,畫這樣一張用例大概只需要五分鐘吧。不過僅僅畫出來是沒有意義的,需要弄清楚其背后真正的含義才行。
理解UML用例圖
可以這樣簡單的理解用例圖中的一些概念,系統(tǒng)(System)指的是軟件系統(tǒng),它可以包含一些用例,并界定系統(tǒng)的邊界,邊界之內(nèi)的屬于系統(tǒng)的功能和行為,邊界之外的則不是系統(tǒng)所關(guān)心的內(nèi)容。系統(tǒng)規(guī)定了一個具有某些功能的黑盒子,在系統(tǒng)之外看到的僅僅是這個系統(tǒng)的功能,而不能看到系統(tǒng)的內(nèi)部細節(jié)。這一點也是用例圖經(jīng)常被用來做系統(tǒng)測試的原因。當(dāng)然這些測試一般是黑盒測試。
◆角色(Actor)是與系統(tǒng)中的用例交互的一些實體,在實際情況中,角色可以是人,也可以是其他系統(tǒng)或者硬件設(shè)備。在畫用例圖的過程中,角色往往是第一個被確定的,因為系統(tǒng)或者用例在開始時是模糊的,但是參與系統(tǒng)的角色是最容易明晰的。有了角色之后,根據(jù)角色與系統(tǒng)的交互,以及角色要求的功能,可以進一步確定系統(tǒng)和用例。
◆用例(Usecase)指的是系統(tǒng)的功能,它是系統(tǒng)某個功能的所有執(zhí)行動作的集合。在UML圖示中它是一個橢圓,但是具體分析用例的時候需要給出這個用例的所有執(zhí)行動作的步驟。例如上圖中的“簽訂保險單”用例,就可以分為幾個步驟:第一,客戶發(fā)出保險單請求;第二,系統(tǒng)給出保險單樣式表;第三,用戶填寫保險單樣式表;第四,系統(tǒng)檢查用戶提交的保險單格式是否規(guī)范;第五,如果不規(guī)范則返回第二步,如果規(guī)范則給保險單銷售員發(fā)出消息;第六,保險單銷售員填寫保險單;第七,保險單銷售員將填寫好的保險單加入數(shù)據(jù)庫,并將客戶資料輸入客戶數(shù)據(jù)庫。當(dāng)然,以上步驟僅僅是我想象的,我還從來沒有見過什么“保險單”,這次過了一把癮。
◆連接(Assocation)是角色與用例的連接,表達此角色可以初始化此用例。
◆注釋(Note)可以添加到任何地方,對用例圖的不同部分加以說明。
網(wǎng)站名稱:新手指南UML用例圖初探
標題網(wǎng)址:http://www.dlmjj.cn/article/dhiooec.html


咨詢
建站咨詢
