
譚火彬編著
分析和設計是軟件開發中至關重要的一環,面向對象的方法是主流的軟件開發方法,UML是用於面向對象分析設計的標準化建模語言。本書圍繞這3個方面展開,以論述分析設計建模過程爲最終目標,以面向對象方法作爲建模的理論基礎,以UML作爲建模支撐語言。全書從面向對象和UML的基本概念入手,循序漸進地講解業務建模、需求建模、需求分析、設計原則和模式、架構設計、構件設計和代碼生成等分析設計中的各個知識點,並通過多個貫穿全書的案例將各個知識點串聯起來,形成一套完整的面向對象分析設計方法論。本書是作者多年從事軟件工程教學和軟件項目開發實踐的總結,書中並沒有太多抽象的概念,主要關注實際軟件開發中所需要的知識和實踐技能,力求做到通俗易懂。
"枯藤老樹昏鴉,UML畫到眼花。斷腸人在天涯,類圖連線像亂麻!" 話說咱村裏那個大學生娃兒,前些天捎回來一本比老黃曆還厚的書,封皮上印着洋碼子字母"UML",翻開全是些方框圓圈三角箭頭的鬼畫符。咱老農一拍大腿:這不就是當年隔壁老王頭偷學瓦匠手藝時,在牆上畫的房屋結構圖麼? 第一回:種地要看天時,建模要懂面向對象 書裏說的啥"面向對象",我琢磨着就跟咱種地一個理兒。種水稻得先認清楚稻種(類)、分櫱(對象)、抽穗(方法),就跟書裏教人畫類圖似的——誰家公雞母雞(父類子類),哪隻下蛋哪隻打鳴(屬性方法),得用方框框排得明明白白。那作者譚老師還貼心加了200道練習題,好比教咱老農在田埂上練秧苗插針功,練多了保準能跟村口算命先生似的,掐指一算就知道哪塊田該施啥肥。(田要深耕,書要細啃) 第二回:畫圖如耕田,工具莫犯難 早些年聽說城裏有幫程序員,爲了畫這些框框線線,居然要偷摸搞什麼"破姐版"泡兒得贊(PowerDesigner諧音梗)。如今可好了!後生仔可用"潑肉絲昂"(ProcessOn)或"拽一歐"(Draw.io),跟咱用釘耙鋤頭一樣趁手^用戶補充。咱試了試,果然比當年用樹枝在沙地上畫豬圈結構圖方便多咧!(突然拍腿)哎呀!這不就是"畫圖曾識零陵郡,今日方知畫不如"嘛! 第三回:用例圖裏藏玄機,狀態圖裏有乾坤 最讓咱拍案叫絕的是那個"訂單狀態圖",活脫脫就是咱家養雞場的翻版——小雞崽(新建訂單)、下蛋雞(已付款)、瘟雞(取消訂單),連隔壁偷雞的黃鼠狼(異常流程)都給安排得明明白白。再看那個"旅店業務建模",不就是咱村招待驢友的升級版?從前臺阿花登記(用例圖),到二狗子收拾牀鋪(活動圖),連村長查房(狀態圖)都畫得栩栩如生! (突然壓低聲音)不過說句大實話,這書厚度能頂三塊青磚,剛翻開時看得咱老眼昏花,差點以爲是隔壁神婆的符咒大全。好在譚老師懂得"稻穀要曬,知識要篩",每章都配了實戰案例,就跟教咱醃酸菜似的,先理論後實操,還附贈練習題答案——比鎮上賣化肥的送試用裝還實在! 🤣 合上書頁咂摸滋味,忽想起"我是個蒸不爛、煮不熟、捶不匾、炒不爆、響璫璫一粒銅豌豆。"這學UML啊,就跟種銅豌豆似的,開始看着硌牙,琢磨透了竟能咂摸出甜味來。如今咱雖還是半文盲老登,但去鎮上趕集時,好歹能跟修電腦的後生吹牛:"知道啥叫構件圖不?就跟咱村修祠堂的樑柱圖紙一個樣!" 😇 昨夜夢見譚老師披着蓑衣來調研,咱掏出珍藏的糯米酒請教:"您書裏那個'組合結構圖',莫不是教人畫九宮格竈臺?"只見他仰天大笑,揮筆題詞—— "建模不用愁,農諺解千憂。 若遇UML,且看譚家樓!"
前面幾章理解的很好,從面向對象分析開始就看的有些喫力。跳過了了一些內容,用的來說還是學到了一些東西。特別是用例分析,順序圖的使用。
認真的看,講的很細,很好。建模其實很多時候就是概念的理解,例如業務參與者和業務工人。但是如果不理解這些概念區別,就很難去構造一個合適的模型出來。路漫漫其修遠兮,吾將上下而求索。還是值得的。
毋庸置疑,面向對象的方法已成爲現代軟件開發中最主流的方法,即便是SOA、雲計算等概念也均是建立在面向對象方法基礎之上的進一步抽象。
談到了面向對象的設計,以及結合uml進行實踐。用例分析的方法,也是領悟驅動設計提到的一種找到實體的方法。
2021.30 最近在項目中用到領域驅動的知識,之前讀UML覺得抽象,讀完領域驅動卻覺得他更抽象,在網上找到了大量的ddd實踐後,發現uml是基礎,要不然軟件分析沒有,設計也沒有,直接來代碼,問題很容易暴漏出來,bug也很多,所以前期的分析和設計很重要,而且屬於個人財產產出,此外學習uml對於逆向工程,源碼的學習起到了分析的作用,尤其是優秀的源碼,並且還可作擴充自己軟件開發的能力,提高架構師的素養
期末複習時讀完了(後半部分不在考試範圍內就沒看了👻)前半部分關於業務用例圖和順序圖講得很好很詳細,簡直是把知識點揉碎了講的
全面介紹UML 2.0中用例圖、類圖、對象圖、序列圖、協作圖、狀態機圖、活動圖、構件圖、部署圖、包圖、組合結構圖、交互概覽圖和時間圖等,並介紹了RUP過程開發模型。 採用理論結合實例的方法進行講解,理論講述清晰,技術講解細緻,案例豐富,圖文並茂。詳細地講解配合圖示,使得每個圖形的使用方法清晰易懂、方便應用。 讀者對象是軟件工程師、系統架構師、系統分析員以及其他IT人員,同時本書也適合高等院校軟件相關專業的師生學習UML系統建模參考使用。
前三章講解很好,但是對於普通用戶來說有點晦澀難懂,建議縮短前三章節篇幅,具體細節可以參看umlchange中針對普通用戶的
正好在學習用Rational Rose搞建模,同時用Enterprise Architect做分析。本書結合面向對象分析知識點介紹兩種工具使用,對軟件設計與架構方面的工作很有裨益