說明:
《火球——UML大戰需求分析》是我撰寫的一本關于需求分析及UML方面的書,我將會在CSDN上為大家分享前面幾章的內容,總字數在幾萬以上,圖片有數十張。歡迎你按文章的序號順序閱讀,謝謝!本書已經在各大網上書城及書店銷售,歡迎你的關注。
------------------------------------------------------------------------------------------------------------------------------
?
?
?
?
第1章 大話UML
?
摘要:你只需要閱讀完本章,就能從宏觀上掌握UML的知識,在你的腦袋中形成一張UML的藍圖。你能全面了解UML的基本知識,UML的各種圖的用途和概況,你能和實際工作遇到的問題聯系起來,幫助你進一步規劃下一步的學習。
?
1.5 小結和練習
小結
本章的主要目標是讓你不需要閱讀全書的情況下,就可以了解到UML的全貌,大概知道UML各種圖的用途,同時給你說明學習UML的難點,為最終活用UML做好準備。
?
下面我們一起來復習一下本章的主要內容:
?
- UML是Unified Modeling Language的簡稱,是軟件開發界的一套標準,UML不僅可用于軟件設計,也可以用于軟件需求分析。但UML并不是強制標準,我們應該善用包括UML在內的各種標準來提高我們的水平。
- ?UML可分為兩類:結構型、行為型,結構性的UML有:類圖、對象圖、構件圖、部署圖、包圖,行為型的圖有活動圖、狀態機圖、順序圖、通信圖、用例圖、時間圖。
- 類圖是業務概念模型分析的有利武器,也是面向對象分析能力的強有力訓練工具。
- 對象圖在需求分析工作中并不常用。
- 構件圖、部署圖是分析IT基礎架構、軟件架構等方面需求的有利分析工具,但需要你具備IT基礎架構、軟件設計方面的知識和經驗。
- 包圖可用來組織類圖,在需求分析工作中應用的機會不是很大。
- 活動圖、狀態機圖、順序圖是分析業務流程的強力武器。活動圖的表達思路與流程圖很類似,很容易掌握,而且大部分情況下都可以使用活動圖來分析業務流程;某流程如果是圍繞某個物品進行,該物品在流程中轉換多種狀態,那么使用狀態機圖來分析是首選;用順序圖來分析的好處是能清晰表達整個過程所參與的角色,角色與角色之間的關系,各角色是如何被卷入這個過程當中的。
- 通信圖可以看作是順序圖的另外一種表達形式,順序圖更強調先后順序,通信圖更強調相互之間的關系。而從我的工作經驗看,順序圖更加實用一點。
- 有人會將用例圖稱作“公仔圖”,用例圖表達的是什么角色通過軟件系統能做什么事情,我們可以使用用例圖系統地表達軟件系統的絕大部分需求。
- 時間圖是表示某東西的狀態隨時間變化而變化的一種圖,我在實際工作中很少有機會能用到這種圖。
- 學UML之難,不在于學習語法,避免陷入UML的認識誤區,多練習、多實踐,培養良好的“think in UML”思想,鍛煉面向對象分析的能力,成為活用UML的需求分析高手不遠矣!
練習
1. 請你根據自己的實際情況,填寫“你的UML斤兩”調查表,此表能幫助你認識自己的UML水平。
選擇最接近你情況的選項填寫下表:
A. 還沒有聽說過該UML圖,就算聽說過也不了解具體情況。
B. 了解該UML圖,但還沒有在實際工作中應用過。
C. 在實際工作中能看懂這種UML圖。
D. 在實際工作中能畫出該UML圖。
E. 對該UML圖非常熟悉,能在工作中熟練運用。
F. 對該UML圖非常熟悉,能在工作中熟練運用,而且能指導別人在實際工作中活用此UML圖。
表 1.2 你的UML斤兩調查表
?
2. 根據上題的調查情況,請你為自己設定UML的學習目標。
3. 書面表達能力是很重要的一種能力,良好的書面表達能力能讓你更好地學習和應用UML,此題目訓練和測試你的書面表達能力。下面題目請至少選擇一題完成:
a) 選擇你最熟悉的一個項目,簡明扼要地描述出該系統能做什么事情。
b) 總結你最近一個月的主要工作,簡明扼要地表達出來。
c) 總結你最近一個月的學習情況,簡明扼要地表達出來。
將你的總結給至少一位不了解你總結內容的朋友看,你不要加任何解釋,看看你的朋友能不能讀懂你寫的內容。根據你朋友的反饋,思考如何改進你的書面表達能力。
?
?
請看下一章……
?
?
?
作者:張傳波
創新工場創業課堂講師
華為某團隊高級顧問
《火球——UML大戰需求分析》作者
www.umlonline.org 創辦人
?