時序圖 分支_UML用例圖

UML用例圖

用例圖有以下東東:

用例

參與者

關聯

系統邊界

用例使用橢圓來表示,橢圓里邊寫上用例的名稱:

這里的用例可以理解為一個動作或行為,或者一個對象。

參與者用一個小人兒,在小人兒下面寫上參與者名稱,例如學生:

7c8e28d8e670145ce9e066b224ef4610.png

關聯用一條線表示:

把很多個用例放到一個大的矩形框里。

6e168964accc7234bf27259f658ec607.png

時序圖

時序圖里面包括以下內容:

1.對象

2.生命線

3.活動條

4.消息

5.控制流(包括順序,分支,循環)

對象在矩形里邊,左邊是對象名稱,右邊是對象類型,下方還有一條線.

beac5ae1d93f0610a6c3d32b21b0378a.png

用虛線代表的是對象的生命線:

2a957a4785fb3436d6601075f9aa4bcb.png

活動條是一個豎著的矩形,當接收到消息的時候,這個對象就會有活動條:

6008c5bad8fbe7c5ff93ad8b371c715f.png

消息用一根箭頭,箭頭上面寫上消息信息,例如一個登錄方法

login(userName,passWord):

3d8c747b467e556a3a6ef50ed772ecb9.png

控制流有3種,普通就是按照順序的一個流程,還有分支就相當于if else:

1caddc8bf3a97135df8af798ceded2b2.png

矩形里面有一條虛線,左上角用ALT表示,當C為true的時候,就執行虛線上方的內容,當C為false的時候就執行虛線下方的內容。

循環控制流:

0db62cad2309a7453013780e564c0ece.png

左上角有LOOP表示循環,當C為true的時候,就循環執行方框里邊的內容

ad0cc7dbfbf4a8656b9bcf7b7d86ac1c.png

可以看到,每個對象都有它們的生命線(虛線);

1. 一開始用戶給類型為GUI(界面)的Login對象發送一個登錄信息 「 login(userName,passWord)」 ;

2. Login這個對象接收到了就會產生活動條,這時候Login這個界面會給類型為Controller的loginController發送登錄信息「 login(userName,passWord)」 ;

3. 此時loginController接收到信息產生活動條,這時候loginController去找類型為DB的UserDao,給它發送了一個獲取用戶密碼的信息「getUserPassword(userName)」;

4. UserDao接收到信息后產生活動條,返回用戶的密碼;

5. 此時loginController接收到信息(用戶的密碼 userPassword),loginController此刻將信息發送給自己,通過verify去校驗密碼并且用result接收結果;

6. 校驗就產生了分支控制流,當resul為true的時候loginController會發送success給Login,當result為false的時候,loginController會發送failure給Login;

7. 最后Login最后給用戶發送messag信息。

類圖

類圖有以下幾個東西:

1.類名

2.屬性

3.方法

4.可見性

5.數據類型

6.關聯關系

7.依賴關系

8.繼承/實現關系

9.組合/聚合關系

類名,屬性,方法在一個矩形中,分為上中下:

類名,屬性,方法在一個矩形中,分為上中下:

d0bff3bd62ec4165faed131e3fd498d5.png

可見性:

private的時候在前方用-表示

public的時候在前方用+表示

protected的時候在前方用#表示

數據類型:

數據類型表現形式: 名字:類型

例如:

31068cf896693110c8049130cd07747d.png

userName和passWord這兩個屬性是protected修飾的,數據類型都是String;login()和register()這兩個方法是public修飾的,數據類型都是boolean;

關聯關系,用實現表示,例如A關聯B:

279455141ec678585bd3f04a53afb259.png

依賴關系,用虛線表示,例如A依賴B:

c2496fc4692edfb1dac7da8ae486e999.png

繼承關系,用一個△+一條實線表示,,例如A繼承B:

9899c038f00fa7cc21afbe150fc388b8.png

依賴關系,用一個△+一條虛線表示,例如A實現B:

8e39dd364c736674af84e870f9a213cc.png

組合關系:用一個?+一條虛線表示,例如A組合B:

9f46ac138b0dbdd0bdf6c8daedf9daf9.png

聚合關系,用一個◇ + 一條虛線表示,例如A組合B:

ca4c23d1ffde296052a632503ef95aca.png

聚合:表示兩個對象之間和整體和部分的弱關系,部分的生命周期可以超越整體。如電腦和鼠標。

組合:表示兩個對象之間是整體和部分的強關系,部分的生命周期不能超越整體,或者說不能脫離整體而存在,組合關系的部分,是不能在整體之間進行共享的。

類圖舉例子:

d9fd93f8554ab941813f0d3c7e23d1cb.png

可以看到,有User類,Customer類,Role類,Payment類,aliPay類,wechatPay類 。

其中Customer繼承User,User類的userName和passWord這兩個屬性是protected修飾的,數據類型是String;login()和register()這兩個方法是public修飾的,數據類型都是boolean;

3b548d960f3361bedb45efecf7c0541a.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455334.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455334.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455334.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python腳本實現漢子轉拼音

起步 中華文化博大精深,是中華民族的財富,吸收和繼承發揚中 華文化,是現代每個炎黃子孫無可推卸的天職。 今天小編就交大家用python寫一個腳本,實現漢子和拼音之間的轉換 pinyin.py 漢字轉拼音,With Python Example: from pinyin impor…

MySQL innodb_table_stats表不存在的解決方法

在做實驗時,使用mysqldump命令報錯[rootlinux-mysql02 3306]# mysqldump -uroot -p123456 -S /u02/data/3306/mysql.sock -A -B --events | gzip > /opt/rep.sql.gzmysqldump: Got error: 1146: Table mysql.innodb_index_stats doesnt exist when using LOCK TA…

自定義封裝 banner 組件

1. 效果圖預覽 2.基本功能 一個簡單方便的輪播圖組件,基于viewpager 基礎上進行的封裝。可設置 項目中圖片,網絡圖片, View;支持循環自動播放,手勢滑動切換,item點擊事件,可設置 點點的樣式寬高、顏色、大小…

vb.net服務器啟動后cpu占用了70_記一次服務器被異常程序占用的解決過程(懷疑黑客攻擊)...

最近在跑實驗,但是突然發現程序運行變慢,然后top命令查看程序運行情況,發現有異常進程,名字叫 bash,占用 2400% CPU計算資源。剛開始懷疑是挖礦程序,因實驗室網絡IP為教育網公網,懷疑被攻擊&…

3gp文件格式研究 (轉windcao的專欄)

序言 06我開始做3gp文件的播放器,但是關于3gp的文檔太少了也很難找,在網友luxh的幫助下,我終于有了第一份關于3gp文件格式的文檔《ISO/IEC 14496-12,ISO媒體文件格式》.在此真心感謝luxh的貢獻.當然了是英文版的,有文檔就不錯了.為了便于查閱和理解,我把之后陸續找…

Android開發必用工具及其進階途徑

三百六十行,行行出狀元,怎么樣才能在Android行業中當個狀元了,開發過程中的高效、自我能力的提升顯得至關重要,步入IT行業更是要時時刻刻學習,新技術更新快,今天將介紹一下Android開發中必用工具及其進階途…

MySQL遇到check the manual that corresponds to your MySQL server version for the right syntax錯誤

原來是MySQL表中不能包含關鍵字 轉載于:https://www.cnblogs.com/flycoding/p/7088465.html

Python腳本實現圖片加水印

起步 圖片是指由圖形、圖像等構成的平面媒體,有形式的事物,我們看到的,是圖畫、照片、拓片等的統稱。 為了保護一些原創圖片的版權,某些時候我們需要在圖片上面,加上水印,當然你可以用Photoshop來做,只不過如果圖片數量過多,亦或者圖片的動態生成的時候…

yarn 怎么查看有多個job在跑_flink on yarn 模式下提示yarn資源不足問題分析

背景在實時計算平臺上通過YarnClient向yarn上提交flink任務時一直卡在那里,并在client端一直輸出如下日志:(YarnClusterDescriptor.java:1036)- Deployment took more than 60 seconds. Please check if the requested resources are available in the Y…

MPEG-2TS碼流編輯的原理及其應用(轉載

[作者:遼寧電視臺 趙季偉] 在當今數字媒體不斷發展、新媒體業務不斷涌現 的前提下,實踐證明襁褓中的新媒體只有兩種經營方略可供選擇:或是購買并集成整套節目,或是低成本深加工新節目,再不可能去按照傳統生產模式…

Python中的yield詳解

閱讀別人的python源碼時碰到了這個yield這個關鍵字,各種搜索終于搞懂了,在此做一下總結: 通常的for…in…循環中,in后面是一個數組,這個數組就是一個可迭代對象,類似的還有鏈表,字符串&#xf…

shell循環結構之while循環

while循環 1) while CONDITION; dostatementstatement<改變循環條件真假的語句>done 編寫腳本&#xff0c;計算1---100的和 #!/bin/bash#sum0i1while [ $i -le 100 ]; dolet sum$sum$ilet i$i1doneecho $sum2) while true; do statementstatementdone #!/bin/bash#while …

python 管道隊列_關于python:Multiprocessing-管道與隊列

Python的多處理程序包中的隊列和管道之間的根本區別是什么&#xff1f;在什么情況下應該選擇一種&#xff1f; 什么時候使用Pipe()有優勢&#xff1f; 什么時候使用Queue()有優勢&#xff1f;Pipe()只能有兩個端點。Queue()可以有多個生產者和消費者。何時使用它們如果需要兩個…

pip默認使用國內鏡像地址

很多小伙伴在ubuntu系統下,使用pip安裝會很慢 以為安裝源在國外服務器上面 今天小編就教大家配置成讓pip默認從國內源中尋找安裝包 首先CtrlAltT打開終端 進入家目錄 cd ~在家目錄中創建一個文件夾,命名為.pip mkdir .pip進入目錄,并創建一個名為pip.conf的文件 cd .pip…

“大型票務系統”和“實物電商系統”的數據庫選型

討論請移步至&#xff1a;http://www.zhiliaotech.com/ideajam/idea/detail/423 相關文章&#xff1a; 《今天你買到票了嗎&#xff1f;——從鐵道部12306.cn站點漫談電子商務站點的“海量事務快速處理”系統》 不能簡單套用“實物電商系統”對“大型票務系統”做需求分析 “大…

FLV文件格式(Z)(轉載)

剛才在看一些關于demux的東西&#xff0c;在處理flv格式的文件的時候&#xff0c;由于自己對flv文件的格式不了解&#xff0c;所以就比較云頭轉向&#xff0c;正好看到了一篇講述flv文件格式的文章&#xff0c;寫的比較明白&#xff0c;所以就轉過來了。O(∩_∩)O~flv頭文件比較…

mysql-5.7中的innodb_buffer_pool_prefetching(read-ahead)詳解

一、innodb的read-ahead是什么&#xff1a; 所謂的read-ahead就是innodb根據你現在訪問的數據&#xff0c;推測出你接下來可能要訪問的數據&#xff0c;并把它們(可能要訪問的數據)讀入 內存。 二、read-ahead是怎么做到的&#xff1a; 1、總的來說read-ahead利用的是程序的局部…

python compare excel_python簡單操作excle的方法

Python操作Excle文件&#xff1a;使用xlwt庫將數據寫入Excel表格&#xff0c;使用xlrd 庫從Excel讀取數據。從excle讀取數據存入數據庫1、導入模塊&#xff1a;import xlrd2、打開excle文件&#xff1a;data xlrd.open_workbook(excel.xls)3、獲取表、行/列值、行/列數、單元值…

collections系列

class Counter(dict):  Counter類繼承dict類、繼承了dict的所有功能計數器&#xff1a; 例&#xff1a;import collections obj collections.Counter(sdkasdioasdjoasjdoasd) print(obj)得&#xff1a;Counter({s: 5, d: 5, a: 4, o: 3, j: 2, k: 1, i: 1}) 拿到前幾位&…

Python中的虛擬環境-virtualenv

更低層次: virtualenv virtualenv 是一個創建隔絕的Python環境的 工具。virtualenv創建一個包含所有必要的可執行文件的文件夾&#xff0c;用來使用Python工程所需的包。 它可以獨立使用&#xff0c;代替Pipenv。 通過pip安裝virtualenv&#xff1a; $ pip install virtual…