第五題:系統順序圖
重要概念:
1.對象:
對象是特定行為與屬性的集合。
對象的表示方式有三種:
a.包括對象名和類名
b.只有類名。
c.只有對象名
2.消息表示形式:
消息用於描述對象間交互的方式及內容。
消息分為四種:同步消息、異步消息、返回消息、自關聯消息
a.同步消息:一個對象向另一個對象發出同步消息后,將處於阻塞狀態,一直等到另一個對象的回應。
表示方式:
b.異步消息:一個對象向另一個對象發出異步消息后,這個對象可以進行其他的操作,不需要等到另一個對象的響應。
表示方式:
c.返回消息:同步消息的返回消息
表示方式:
注意:創建對象的表示法也是用虛線箭頭表示!
d.自關聯消息:用來描述對象內部函數的互相調用。
表示方式:
3.復合片段
為了支持有條件和循環的構造(以區別於其他事物),UML使用了圖框。圖框是圖的區域或片段,在圖框中具有操作符或標簽(例如loop)和保護信息(條件子句)。
復合片段有多種,在此主要介紹一下幾種:條件判斷、可選、循環、同步
a.條件判斷:用於描述代碼中if…else…這種結構
標記為“alt”
例如:
b.可選:是一種特殊的“條件判斷”,它只是一個if,沒有else if或else
可選的標記為:opt
例如:
c.循環:是指代碼中的for、while之類的語句塊。
循環的標記為:loop
例如:下圖中[m,n]是指至少執行m次,最多執行n次
d.同步:用於描述多線程的情況。
同步的標記是:par
例如:
除此之外,順序圖中還包含一種特殊的形式,引用:
在一個順序圖中,可以引用另一個順序圖,其引用方式類似於復合片段,
標簽為:ref
例如:
4.系統順序圖:
UML沒有定義所謂的“系統順序圖”,而只是定義了“順序圖”。這一限定強調將系統的應用視為黑盒。
系統順序圖是為了闡述與討論系統相關的輸入和輸出事件而快速、簡單的創建新的制品。
通常,軟件系統主要對以下三種時間進行響應:
1)來自參與者(人或計算機)的外部事件
2)時間事件
3)錯誤或異常(通常源於外部)
繪制要點:
具體方法:http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html
http://blog.csdn.net/sunnylgz/article/details/8525287
兩篇文章,第一篇對主要內容進行簡單介紹,第二篇更為詳細。
如果只為畫出簡圖,第一篇就足夠了。想要深入了解更詳細的內容,推薦看第二篇。
注意事項:
通常用系統順序圖來畫一個用例場景(例如主場景或復雜的常用的場景)。
1、首先要畫一個system,前面要加個冒號,不寫system,扣全部分,不寫冒號扣1分,位置放錯扣1分。
因為要畫的是系統事件,沒有系統還畫什么
2、順序:最左邊是actor(前面也要加冒號),然后是system,然后就是用例的外部實體
3、通常只要求描述一個場景(主場景)。主場景是按照最理想的情況把事情做完就可以了,不需要考慮細節
4、系統順序圖通常只有3-5個事件,消息不應該超過5個!一定要仔細審題,如果某個事件操作很多,直接忽略后面那些細節,否則后面的很難做,越少越好
5、后置條件:直接用注釋寫在后面
6、后置條件只能寫這3句話中的一句或幾句:
創建什么對象或刪除什么對象,修改什么屬性,生成什么關聯
這是整個畫圖考試唯一需要文字的地方
7、操作契約:
操作、交叉引用(用例)、前置條件、后置條件
試題答案: