第一篇:(用例圖)Use Cases總結(jié)
用例圖主要用來描述“用戶、需求、系統(tǒng)功能單元”之間的關系。它展示了一個外部用戶能夠觀察到的系統(tǒng)功能模型圖。
【用途】:幫助開發(fā)團隊以一種可視化的方式理解系統(tǒng)的功能需求。
用例圖所包含的元素如下:
1.參與者(Actor)
表示與您的應用程序或系統(tǒng)進行交互的用戶、組織或外部系統(tǒng)。用一個小人表示。
2.用例(Use Case)
用例就是外部可見的系統(tǒng)功能,對系統(tǒng)提供的服務進行描述。用橢圓表示。
3.子系統(tǒng)(Subsystem)
用來展示系統(tǒng)的一部分功能,這部分功能聯(lián)系緊密。
4.關系
用例圖中涉及的關系有:關聯(lián)、泛化、包含、擴展。
如下表所示:
a.關聯(lián)(Association)
表示參與者與用例之間的通信,任何一方都可發(fā)送或接受消息。
【箭頭指向】:指向消息接收方
b.泛化(Inheritance)
就是通常理解的繼承關系,子用例和父用例相似,但表現(xiàn)出更特別的行為;子用例將繼承父用例的所有結(jié)構(gòu)、行為和關系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。
【箭頭指向】:指向父用例
c.包含(Include)
包含關系用來把一個較復雜用例所表示的功能分解成較小的步驟。
【箭頭指向】:指向分解出來的功能用例
d.擴展(Extend)
擴展關系是指用例功能的延伸,相當于為基礎用例提供一個附加功能。
【箭頭指向】:指向基礎用例
e.依賴(Dependency)
以上4種關系,是UML定義的標準關系。但VS2010的用例模型圖中,添加了依賴關系,用帶箭頭的虛線表示,表示源用例依賴于目標用例。
【箭頭指向】:指向被依賴項
5.項目(Artifact)
用例圖雖然是用來幫助人們形象地理解功能需求,但卻沒多少人能夠通看懂它。很多時候跟用戶交流甚至用Excel都比用例圖強,VS2010中引入了“項目”這樣一個元素,以便讓開發(fā)人員能夠在用例圖中鏈接一個普通文檔。
用依賴關系把某個用例依賴到項目上:
然后把項目-》屬性 的Hyperlink設置到你的文檔上;
這樣當你在用例圖上雙擊項目時,就會打開相關聯(lián)的文檔。
6.注釋(Comment)
包含(include)、擴展(extend)、泛化(Inheritance)的區(qū)別:
條件性:泛化中的子用例和include中的被包含的用例會無條件發(fā)生,而extend中的延伸用例的發(fā)生是有條件的;
直接性:泛化中的子用例和extend中的延伸用例為參與者提供直接服務,而include中被包含的用例為參與者提供間接服務。
對extend而言,延伸用例并不包含基礎用例的內(nèi)容,基礎用例也不包含延伸用例的內(nèi)容。
對Inheritance而言,子用例包含基礎用例的所有內(nèi)容及其和其他用例或參與者之間的關系;
一個用例圖示例:
牢騷:
感覺用例圖還不成熟,并不能很好地表達系統(tǒng)的需求,沒有UML背景的用戶幾乎不知道畫的是些什么。
其次,包含關系、擴展關系的箭頭符號竟然是同樣的箭頭,僅靠上方寫個文字來加以區(qū)別,翻譯成其他語言的話,幾乎就不知道代表什么意思。擴展關系的箭頭朝向也很難理解,為何要指向基用例,而不指向擴展用例。
VS2010添加的“項目”元素,是個很好的創(chuàng)新,能夠在用例圖中關聯(lián)word, excel這些文檔。但為什么不把這些功能直接集成到用例里面,雙擊用例就彈出一份文檔豈不更容易理解,非要畫蛇添足地加一個元件,僅僅為了提供個鏈接功能。
用例描述表:
鑒于用列圖并不能清楚地表達功能需求,開發(fā)中大家通常用描述表來補充某些不易表達的用例,下圖的表給大家提供一個參考:
第二篇:UML用例圖總結(jié)
UML用例圖
用例圖主要用來圖示化系統(tǒng)的主事件流程,它主要用來描述客戶的需求,即用戶希望系統(tǒng)具備的完成一定功能的動作,通俗地理解用例就是軟件的功能模塊,所以是設計系統(tǒng)分析階段的起點,設計人員根據(jù)客戶的需求來創(chuàng)建和解釋用例圖,用來描述軟件應具備哪些功能模塊以及這些模塊之間的調(diào)用關系,用例圖包含了用例和參與者,用例之間用關聯(lián)來連接以求把系統(tǒng)的整個結(jié)構(gòu)和功能反映給非技術人員(通常是軟件的用戶),對應的是軟件的結(jié)構(gòu)和功能分解。
用例是從系統(tǒng)外部可見的行為,是系統(tǒng)為某一個或幾個參與者(Actor)提供的一段完整的服務。從原則上來講,用例之間都是獨立、并列的,它們之間并不存在著包含從屬關系。但是為了體現(xiàn)一些用例之間的業(yè)務關系,提高可維護性和一致性,用例之間可以抽象出包含(include)、擴展(extend)和泛(generalization)幾種關系。
共性:都是從現(xiàn)有的用例中抽取出公共的那部分信息,作為一個單獨的用例,然后通后過不同的方法來重用這個公共的用例,以減少模型維護的工作量。
1、包含(include)
包含關系:使用包含(Inclusion)用例來封裝一組跨越多個用例的相似動作(行為片斷),以便多個基(Base)用例復用。基用例控制與包含用例的關系,以及被包含用例的事件流是否會插入到基用例的事件流中?;美梢砸蕾嚢美龍?zhí)行的結(jié)果,但是雙方都不能訪問對方的屬性。
包含關系對典型的應用就是復用,也就是定義中說的情景。但是有時當某用例的事件流過于復雜時,為了簡化用例的描述,我們也可以把某一段事件流抽象成為一個被包含的用例;相反,用例劃分太細時,也可以抽象出一個基用例,來包含這些細顆粒的用例。這種情況類似于在過程設計語言中,將程序的某一段算法封裝成一個子過程,然后再從主程序中調(diào)用這一子過程。
例如:業(yè)務中,總是存在著維護某某信息的功能,如果將它作為一個用例,那新建、編輯以及修改都要在用例詳述中描述,過于復雜;如果分成新建用例、編輯用例和刪除用例,則劃分太細。這時包含關系可以用來理清關系。
2、擴展(extend)擴展關系:將基用例中一段相對獨立并且可選的動作,用擴展(Extension)用例加以封裝,再讓它從基用例中聲明的擴展點(Extension Point)上進行擴展,從而使基用例行為更簡練和目標更集中。擴展用例為基用例添加新的行為。擴展用例可以訪問基用例的屬性,因此它能根據(jù)基用例中擴展點的當前狀態(tài)來判斷是否執(zhí)行自己。但是擴展用例對基用例不可見。對于一個擴展用例,可以在基用例上有幾個擴展點。
例如,系統(tǒng)中允許用戶對查詢的結(jié)果進行導出、打印。對于查詢而言,能不能導出、打印查詢都是一樣的,導出、打印是不可見的。導入、打印和查詢相對獨立,而且為查詢添加了新行為。因此可以采用擴展關系來描述:
4、泛化(generalization)泛化關系:子用例和父用例相似,但表現(xiàn)出更特別的行為;子用例將繼承父用例的所有結(jié)構(gòu)、行為和關系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。在實際應用中很少使用泛化關系,子用例中的特殊行為都可以作為父用例中的備選流存在。
例如,業(yè)務中可能存在許多需要部門領導審批的事情,但是領導審批的流程是很相似的,這時可以做成泛化關系表示:
上面是我參考的一篇文章,覺得將三種關系的區(qū)別講得很清晰,在此基礎上結(jié)合自己的系統(tǒng),對項目(在線購物系統(tǒng))的用例做了整體的描繪。
*****************************************************************
(1)系統(tǒng)整體用例圖
(商品用例圖)
(購買信息用例)
(用戶資料用例)
按照先整體用例,后子系統(tǒng)用例來進行描繪的,歡迎大家提出好的建議!
轉(zhuǎn):UML中擴展和泛化的區(qū)別
泛化表示類似于OO術語“繼承”或“多態(tài)”。UML中的Use Case泛化過程是將不同Use Case之間的可合并部分抽象成獨立的父Use Case,并將不可合并部分單獨成各自的子Use Case;包含以及擴展過程與泛化過程類似,但三者對用例關系的優(yōu)化側(cè)重點是不同的。如下:
●泛化側(cè)重表示子用例間的互斥性;
●包含側(cè)重表示被包含用例對Actor提供服務的間接性;
●擴展側(cè)重表示擴展用例的觸發(fā)不定性;詳述如下:
既然用例是系統(tǒng)提供服務的UML表述,那么服務這個過程在所有用例場景中是必然發(fā)生的,但發(fā)生按照發(fā)生條件可分為如下兩種情況:
⒈無條件發(fā)生:肯定發(fā)生的;
⒉有條件發(fā)生:未必發(fā)生,發(fā)生與否取決于系統(tǒng)狀態(tài);
因此,針對用例的三種關系結(jié)合系統(tǒng)狀態(tài)考慮,泛化與包含用例屬于無條件發(fā)生的用例,而擴展屬于有條件發(fā)生的用例。進一步,用例的存在是為Actor提供服務,但用例提供服務的方式可分為間接和直接兩種,依據(jù)于此,泛化中的子用例提供的是直接服務,而包含中的被包含用例提供的是間接服務。同樣,擴展用例提供的也是直接服務,但擴展用例的發(fā)生是有條件的。
另外一點需要提及的是:泛化中的子用例和擴展中的擴展用例均可以作為基本用例事件的備選擇流而存在。
第三篇:Uml用例圖心得(精選)
Uml用例圖心得
序言:用例圖主要用來描述“用戶、需求、系統(tǒng)功能單元”之間的關系。它展示了一個外部用戶能夠觀察到的系統(tǒng)功能模型圖。
【用途】:幫助開發(fā)團隊以一種可視化的方式理解系統(tǒng)的功能需求。
用例圖所包含的元素如下:
1.參與者(Actor)
表示與您的應用程序或系統(tǒng)進行交互的用戶、組織或外部系統(tǒng)。用一個小人表示。
2.用例(Use Case)
用例就是外部可見的系統(tǒng)功能,對系統(tǒng)提供的服務進行描述。用橢圓表示。
3.子系統(tǒng)(Subsystem)
用來展示系統(tǒng)的一部分功能,這部分功能聯(lián)系緊密。
4.關系
用例圖中涉及的關系有:關聯(lián)、泛化、包含、擴展。
如下表所示:
a.關聯(lián)(Association)
表示參與者與用例之間的通信,任何一方都可發(fā)送或接受消息。
【箭頭指向】:指向消息接收方
b.泛化(Inheritance)
就是通常理解的繼承關系,子用例和父用例相似,但表現(xiàn)出更特別的行為;子用例將繼承父用例的所有結(jié)構(gòu)、行為和關系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。
【箭頭指向】:指向父用例
c.包含(Include)
包含關系用來把一個較復雜用例所表示的功能分解成較小的步驟。
【箭頭指向】:指向分解出來的功能用例
d.擴展(Extend)
擴展關系是指用例功能的延伸,相當于為基礎用例提供一個附加功能。
【箭頭指向】:指向基礎用例
e.依賴(Dependency)
以上4種關系,是UML定義的標準關系。但VS2010的用例模型圖中,添加了依賴關系,用帶箭頭的虛線表示,表示源用例依賴于目標用例。
【箭頭指向】:指向被依賴項
5.項目(Artifact)
用例圖雖然是用來幫助人們形象地理解功能需求,但卻沒多少人能夠通看懂它。很多時候跟用戶交流甚至用Excel都比用例圖強,VS2010中引入了“項目”這樣一個元素,以便讓開發(fā)人員能夠在用例圖中鏈接一個普通文檔。
用依賴關系把某個用例依賴到項目上:
然后把項目-》屬性 的Hyperlink設置到你的文檔上;
這樣當你在用例圖上雙擊項目時,就會打開相關聯(lián)的文檔。
6.注釋(Comment)
包含(include)、擴展(extend)、泛化(Inheritance)的區(qū)別:
條件性:泛化中的子用例和include中的被包含的用例會無條件發(fā)生,而extend中的延伸用例的發(fā)生是有條件的;
直接性:泛化中的子用例和extend中的延伸用例為參與者提供直接服務,而include中被包含的用例為參與者提供間接服務。
對extend而言,延伸用例并不包含基礎用例的內(nèi)容,基礎用例也不包含延伸用例的內(nèi)容。
對Inheritance而言,子用例包含基礎用例的所有內(nèi)容及其和其他用例或參與者之間的關系;
一個用例圖示例:
第四篇:會議管理系統(tǒng)用例圖
會議管理系統(tǒng)類圖
審批會議安排信息審批會議成本信息部門經(jīng)理審批用戶角色變更申請信息審批會議室變更信息審批會議設備變更信息
用例名稱: 參與者: 主事件流:(1)(2)(3)(4)
了解會議信息了解會議邀請信息了解部門會議成本信息與會者了解當前角色信息申請成為會議組織者
了解與會者提案信息了解會議室預訂信息了解會議成本信息預訂會議設備會議組織者取消會議組織者角色了解會議設備預訂信息預訂會議室創(chuàng)建會議信息
管理用戶角色信息管理會議設備信息統(tǒng)計會議成本會議室管理員管理會議室信息審批會議室預訂信息
了解會議信息部門經(jīng)理了解會議邀請信息<
管理用戶角色信息了解會議成本審批信息<
第五篇:圖書管理系統(tǒng)用例圖
圖書管理系統(tǒng) UML建模與設計模式
實驗報告
計算機與信息工程學院
一、實驗目的
在熟悉用例概念與應用的基礎上,掌握用例模型的建立,包括: 1.掌握用例圖的建立。
2.掌握用例描述文檔的編寫。3.掌握建模工具的使用。
二、實驗內(nèi)容
根據(jù)以下需求設計一個圖書館管理系統(tǒng)的用例圖模型,包括:用例圖和主要用例的描述文檔。
基本功能要求:
圖書管理:新書登記,圖書查詢,圖書注銷; 借閱管理:借書,還書,查詢今日到期讀者;
讀者管理:增加讀者、刪除讀者、查詢讀者、讀者類別管理(可以設置不同類的讀者,并使不同類讀者對應不同類的圖書流通參數(shù),如可借冊數(shù),可借天數(shù),可續(xù)借次數(shù),可續(xù)借天數(shù)等);
報表管理:包括圖書借閱統(tǒng)計報表,被注銷圖書統(tǒng)計報表等;報表可以有多種格式可供選擇;可以把報表輸出到文件中,可以預覽報表、打印報表等。
系統(tǒng)管理:系統(tǒng)管理員使用,包括用戶權限管理(增加用戶,刪除用戶,密碼修改等),數(shù)據(jù)管理(提供數(shù)據(jù)修改、備份、恢復等多種數(shù)據(jù)維護工具),系統(tǒng)運行日志,系統(tǒng)設置等功能。
三、實驗思想
(1)分析系統(tǒng)需求;
(2)確定系統(tǒng)參與者:讀者、圖書管理員、圖書管理系統(tǒng);(3)確定系統(tǒng)用例;
四、實驗結(jié)果 借閱人用例圖:
圖書系統(tǒng)管理員用例圖: 圖書管理員用例圖:
1.用例名稱: 登錄
用例描述:根據(jù)用戶輸入的用戶名和密碼判斷用戶的身份,賦予相應的權限。前置條件:無
后置條件:根據(jù)用戶所有的權限進入相應的操作界面。基本操作流程: 輸入用戶名 2 輸入密碼 校驗密碼是否正確。根據(jù)用戶身份進入相應的操作界面。
可選流程:如果密碼不正確,提示重新輸入密碼;
如果用戶名不正確,提示沒有此用戶。2.用例名稱:查詢圖書
用例描述:由讀者進行操作,查詢圖書館中有沒有需要圖書,如果有,顯示該圖書編號、書名、作者、出版日期、當前借閱狀態(tài)等信息。前置條件:以顧客身份登錄 后置條件:無 基本流程: 以讀者身份登錄。輸入圖書的名稱或作者名稱。顯示相關圖書的信息。
可選流程:如果沒有該圖書,返回提示信息:“沒有找到圖書”。3.用例名稱:借書
用例描述: 由圖書管理員把讀者的借書卡的條碼讀入計算機,再將讀者所選圖書的條碼讀入計算機,在不超過讀者允許借書的情況下,累計該讀者所借的書;否則提示超過借書數(shù)量。
前置條件:以圖書管理員的身份登錄系統(tǒng)。后置條件:圖書信息中相應記錄的還書日期值做改變;將借書明細加入借書記錄中。
基本操作流程: 以圖書管理員身份登錄系統(tǒng)。2 進入借書功能。錄入讀者的借書卡條碼。4 識別讀者類別,提示讀者可以借閱圖書的數(shù)量及借閱時間
等。如果允許借閱,繼續(xù)4,否則提示已達到借書數(shù)量。5 錄入圖書的條碼,顯示該圖書的信息。6 還有其他圖書,重復步驟3。7 保存操作。
可選流程 在保存之前,可以取消操作。4.用例名稱:續(xù)借
用例描述: 由圖書管理員把讀者的借書卡的條碼讀入計算機,計算機顯示讀者所借圖書及狀態(tài),選定需要續(xù)借的圖書,系統(tǒng)提示還書時間,保存操作。前置條件:以圖書管理員的身份登錄系統(tǒng)。后置條件:圖書信息中相應記錄的還書日期值做改變;將續(xù)借明細加入借書記錄中。
基本操作流程: 以圖書管理員身份登錄系統(tǒng)。2 進入續(xù)借功能。錄入讀者的借書卡條碼。計算機顯示讀者所借圖書及狀態(tài)。如可以續(xù)借則選定需要續(xù)借的圖書;否則提示無法續(xù)借。6 系統(tǒng)提示還書時間。7 保存操作。
可選流程:在保存之前,可以取消操作。
5.用例名稱:還書
用例描述: 由圖書管理員把圖書的條碼讀入計算機,系統(tǒng)顯示該書的讀者資料,提示是否超出借閱期限。如未超出則顯示還書成功;如超出則計算罰金。前置條件:以圖書管理員的身份登錄系統(tǒng)。
后置條件:圖書信息中相應記錄的狀態(tài)值做改變;將還書明細加入還書記錄中。基本操作流程: 以圖書管理員身份登錄系統(tǒng)。2 進入還書功能。3 錄入讀者的借書卡條碼。系統(tǒng)顯示該書的讀者資料,提示是否超出借閱期限。5 如未超出則顯示還書成功;如超出則計算罰金。
可選流程: 在保存之前,可以取消操作。
6.用例名稱:新書登記
用例描述:由圖書管理員將新書的信息錄入計算機中,進行保存。前置條件:以圖書管理員的身份登錄系統(tǒng)。后置條件:圖書信息中增加一條記錄?;静僮髁鞒蹋?以圖書管理員的身份登錄系統(tǒng)。2 進入新書登記功能。3 輸入新書的相應信息。4 保存操作。
可選流程:在保存之前,可以取消操作。
7.用例名稱:修改或注銷圖書
用例描述:由圖書管理員修改圖書的信息或注銷圖書,進行保存。前置條件:以圖書管理員的身份登錄系統(tǒng)。后置條件:圖書信息中相應記錄更新或刪除。基本操作流程: 以圖書管理員的身份登錄系統(tǒng)。2 進入圖書管理功能。選定需要修改或刪除的圖書。4 修改圖書的相應信息或刪除圖書。5 保存操作。
可選流程:在保存之前,可以取消操作。
8.用例名稱:增加讀者
用例描述:由圖書管理員將新讀者的信息錄入計算機中,進行保存。前置條件:以圖書管理員的身份登錄系統(tǒng)。后置條件:讀者信息中增加一條記錄?;静僮髁鞒蹋?以圖書管理員的身份登錄系統(tǒng)。2 進入讀者管理功能。輸入新讀者的相應信息,設置讀者類別。4 保存操作。
可選流程:在保存之前,可以取消操作。
9.用例名稱:修改或刪除讀者 用例描述:由圖書管理員修改讀者的信息或刪除讀者,進行保存。前置條件:以圖書管理員的身份登錄系統(tǒng)。后置條件:讀者信息中相應記錄更新或刪除。基本操作流程: 以圖書管理員的身份登錄系統(tǒng)。2 進入讀者管理功能。3 錄入讀者的借書卡條碼,查詢讀者,確定需要修改或刪
除的讀者。修改讀者的相應信息或刪除讀者。5 保存操作。
可選流程:在保存之前,可以取消操作。
五、實驗心得
完成用例圖之后,給我最大的感受就是一定要把課堂上學到的知識用到實踐中。以前總覺得老師在上課講的東西很簡單,當真正操作起來的時候,才發(fā)現(xiàn)沒那么容易,將課堂知識運用到實踐中才是真正掌握了知識。