巧合的是,軟件這個虛擬世界也不例外。因此在我們設計軟件的時候,既要說明有哪些物質(如構件、對象、屬性等)存在,也不要忘了描述物質之間的運動(如交互、狀態變遷等),兩者是相輔相成的。
以下我們展現了參與“打印帳戶報告!”用例實現的主要對象之間,為了完成這一功能所結成的靜態關系(用UML類圖表示)和動態關系(我們選擇了UML協作圖)。
事實上,只有細致考慮了對象之間的靜態和動態關系(不管利用何種媒介,大腦抑或文檔),我們的軟件設計才算是完整的,編程才有正確的依據。不然,您的程序代碼從何而來?
逐步求精
軟件開發從軟件的需求(問題域)到可執行的高級程序設計語言源代碼(解決域),這中間究竟經歷了多少思考步驟和權衡過程?是一步到位嗎?
實際上宏觀地從軟件需求,到代碼實現;軟件設計中的從分析對象,到設計對象,再到實現對象,或者從設計模式到模式的編程實現,這些都是一個逐步求精的過程。
結束語
UML建模對于軟件設計的重要性,對于一名老練的OO程序員來說,是不言而喻的。
UML作為一種圖形化建模語言規范,凝聚了世界上許多大師級OO建模、設計專家多年來的寶貴經驗,它的表達手段異常靈活和豐富,面對UML 2.x十幾種圖符,希望我與Craig Larman大師合作的《太極建模詩》能給讀者朋友們帶來一些有效的幫助。
協作圖用于顯示組件及其交互關系的空間組織結構,它并不側重于交互的順序。協作圖顯示了交互中各個對象之間的組織交互關系以及對象彼此之間的鏈接。與序列圖不同,協作圖顯示的是對象之間的關系。
另一方面,協作圖沒有將時間作為一個單獨的維度,因此序列號就決定了消息及并發線程的順序。協作圖是一個介于符號圖和序列圖之間的交叉產物,它用帶有編號的箭頭來描述特定的腳本,以顯示在整個腳本過程中消息的移動情況。
用例圖(use case diagram)就是由主角、用例以及它們之間的關系構成的圖。該圖說明了用例模型中的關系?梢詫⒂美龍D組織到用例包中,并歸用例包所有,讓特定包中僅顯示互為關聯關系的內容。
用例圖由參與者(Actor)、用例(Use Case)、系統邊界、箭頭組成,用畫圖的方法來完成。
參與者不是特指人,是指系統以外的,在使用系統或與系統交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時間或其他系統等等。還有一點要注意的是,參與者不是指人或事物本身,而是表示人或事物當時所扮演的角色。
文章來源于領測軟件測試網 http://www.kjueaiud.com/