深入淺出物件導向分析與設計 (Head First Object-Oriented Analysis and Design) | 拾書所

深入淺出物件導向分析與設計 (Head First Object-Oriented Analysis and Design)

$ 695 元 原價 880

本書特色

對坊間那些只有在成為專家以後,讀起來才有感覺的 OOA&D 書籍,你是否早已感到厭倦?你可能早就聽說過 OOA&D 書籍能幫你寫出偉大的軟體 — 讓老闆高興、客戶滿意的軟體。

但如何辦到呢?

《深入淺出物件導向分析與設計》將告訴你如何分析、設計、以及撰寫真正物件導向的軟體:容易重利用、好維護、可擴展的軟體;不再使你心碎的軟體;讓你增添新功能而不會破壞舊機制的軟體。在本書裡,你將學到如何:

  • 使用像是封裝與委派的 OO 原則,建立有彈性的應用程式。
  • 使用開閉原則(Open-Closed Principle)與單一責任原則(Single-Responsibility Principle),提升程式的重利用性。
  • 學習如何將 OO 原則、設計模式、及各種開發方法,通通整合到 OOA&D 專案的生命週期裡。
  • 運用 UML、使用案例、及使用案例圖,確保所有利害關係人都能清楚地進行溝通,協助你交付正確的軟體,符合每個人的需求。

透過一連串的腦力開發,《深入淺出物件導向分析與設計》壓縮了學習與獲取複雜資訊所需的時間。可預期地,這將是一段充滿樂趣的學習之旅。相信,在讀完本書之時,你將能夠一貫地寫出偉大的軟體。

「《深入淺出物件導向分析與設計》對 OOA&D 這個主題的探討,令人耳目一新。讓這本書與眾不同之處,在於它將焦點擺在學習上,本書的諸位作者讓從業人員,對 OOA&D 的內涵不再感到遙不可及,而且在實務上確實有用。」

— Ivar Jacobson Ivar Jacobson 顧問、UML 之父

「隱匿在詼諧圖片與逗趣文字背後的,是對 OOA&D 這個主題認真、睿智、且極度精心鋪陳的闡述。閱讀本書時,感覺就像站在專家設計者的肩膀上,環顧四方,聆聽他對我一步步,細心傾訴著那些重要的議題,並且告訴我為什麼」

— Edward Sciore 波士頓學院電腦科學系副教授

「剛讀完這本書,我深深愛上它!我最喜歡的一件事,就是本書把焦點放在為什麼要實踐 OOA&D 的原因 — 寫出偉大的軟體!」

— Kyle Brown IBM 傑出工程師

 

本書內容

目錄

誰適合讀這本書?

我們知道你在想什麼

後設認知

讓你的腦袋順從你

讀我

技術審閱小組

誌謝

1 偉大軟體由此開始:良好應用程式之基石

永遠的搖滾樂
Rick 金光閃閃的新應用程式
什麼是你要改變的第一件事
偉大軟體是⋯
偉大軟體三步驟
先聚焦在功能性
測試驅動
尋找問題
分析
應用基礎的 OO 原則
設計一次,設計二次
改變你的應用程式有多簡單?
封裝變化之物
委派
最後的偉大軟體(就現在而言)
OOA&D 關乎撰寫偉大軟體
要點

2 給客戶所需之物:收集需求

大顯身手的機會來了
測試驅動
不正確的使用(有一點)
什麼是需求
建立需求清單
為錯誤預作規劃
替代路徑處理系統的疑難問題
介紹使用案例
一個使用案例,三個部分
按照使用案例檢查需求
你的系統必須運作在現實世界裡
認識快樂路徑
OOA&D 工具箱

3 山可移,此情永不渝⋯現在,情況有變:需求變更

英雄!
犧牲品?
軟體分析與設計的不變真理
是選擇性路徑?是替代路徑?誰能分得清?
使用案例對你必須合理
從開始到完成:單一使用情節
替代路徑的真心話
完成需求清單
重複程式碼,遜!
最後的測試驅動
撰寫你自己的設計原則
OOA&D 工具箱

4 將你的軟體帶進現實的世界:分析

一隻狗,二隻狗,三隻狗,四隻⋯
你的軟體有其情境
識別問題
規劃解法
兩個程式人員的故事
委派繞道
鬆弛耦合應用程式的威力
注意使用案例裡的名詞
從好分析到好類別
類別圖剖析
類別圖不是一切
要點

5 第一部:諸行無常:良好的設計

Rick 的吉他事業蒸蒸日上
抽象類別
類別圖剖析(再一次)
UML 小抄
設計原則秘辛
通往偉大軟體的三步驟(重訪)
插曲:OO 大災難

第二部:給你的軟體 30 分鐘的伸展操:彈性的軟體

回到 Rick 的搜尋工具
仔細瞧瞧 search() 方法
分析的好處
類別與行為有關
設計之死(決策)
將壞的設計決策轉變成好的
Rick 軟體裡的「雙封裝」
千萬不要怕犯錯
瞧!Rick 具有彈性的應用程式
測試驅動「設計良好的軟體」
改變 Rick 的軟體有多容易?
「變更容易性」的大挑戰
具有內聚力的類別善於處理單一事情
設計/內聚力生命週期
偉大軟體是「夠好」
OOA&D 工具箱

6 「假如我是真的」:解決真正的大問題

解決大問題
關鍵在於你如何看待大問題
需求與使用案例是個好起點
共通性與變化性
整理功能
功能與需求的差別
使用案例不總是幫你看出整體概廓
使用案例圖
小小行為者
行為者也是人(好吧,不全然)
做點領域分析吧
化整為零,個個擊破
別忘了真正的客戶是誰
何謂設計模式?
OOA&D 的威力(以及一點基本常識)
OOA&D 工具箱

7 為混沌帶來次序:架構

感覺有點頭昏嗎?
我們需要架構
從功能性開始
什麼是架構上重要?
架構三問
減少風險
使用情節有助於減少風險
一次把焦點放在一個功能上
架構是你的設計結構
再訪共通性
共通性分析:通往彈性軟體之路
什麼意思?問客戶吧
減少風險有助於偉大軟體的撰寫
要點

Brand Slider