面向對象分析與設計(修訂第3版)

面向對象分析與設計(修訂第3版)
定價:654
NT $ 654
  • 作者:(美)GRADY BOOCH
  • 出版社:電子工業出版社
  • 出版日期:2016-05-01
  • 語言:簡體中文
  • ISBN10:7121286661
  • ISBN13:9787121286667
  • 裝訂:575頁 / 普通級 / 2-1
 

內容簡介

本書是UML創始人Grady Booch的代表作之一。全書分為理論和應用兩部分。理論部分深刻剖析了面向對象分析與設計(OOAD)的概念和方法。應用部分連續列出了5個不同類型、不同領域的應用,描述如何從初始階段到交付階段,將OOAD理論和方法應用到項目中。應用部分所涉及的領域包括系統架構、數據獲取、密碼分析、控制系統和Web開發,還給出了一些關於重要問題的有效建議,包括分類、實現策略和高性價比的項目管理。書中介紹的概念都基於牢固的理論基礎。同時,作者十分注重實效,基於其豐富的經驗,面向軟件工程實踐者的實際需要,提出了改進的對象開發方法,用於解決系統和軟件開發者面臨的復雜問題;運用大量例子說明了基本概念,解釋了方法,並展示了在不同領域的成功應用。書中的表示法采用最新的UML 2.0,因此本書是學習UML 2.0不可多得的參考書。本書非常適合實際系統和軟件的開發者、系統分析師或架構師、項目經理閱讀,也可以作為高等院校軟件工程和高級編程課程的教材使用。

本書是UML創始人Grady Booch的代表作之一。全書分為理論和應用兩部分。理論部分深刻剖析了面向對象分析與設計(OOAD)的概念和方法。應用部分連續列出了5個不同類型、不同領域的應用,描述如何從初始階段到交付階段,將OOAD理論和方法應用到項目中。應用部分所涉及的領域包括系統架構、數據獲取、密碼分析、控制系統和Web開發,還給出了一些關於重要問題的有效建議,包括分類、實現策略和高性價比的項目管理。書中介紹的概念都基於牢固的理論基礎。同時,作者十分注重實效,基於其豐富的經驗,面向軟件工程實踐者的實際需要,提出了改進的對象開發方法,用於解決系統和軟件開發者面臨的復雜問題;運用大量例子說明了基本概念,解釋了方法,並展示了在不同領域的成功應用。書中的表示法采用最新的UML 2.0,因此本書是學習UML 2.0不可多得的參考書。本書非常適合實際系統和軟件的開發者、系統分析師或架構師、項目經理閱讀,也可以作為高等院校軟件工程和高級編程課程的教材使用。

Grady Booch在軟件架構、軟件工程和建模領域的創新工作是世界知名的。從1981年Rational公司創建開始,他就一直擔任該公司的首席科學家。Grady於2003年3月成為了IBM院士(IBM Fellow)。

Grady是統一建模語言(UML)最早的開發者之一,也是幾個Rational產品的最早開發者之一。Grady曾擔任世界各地一些復雜的軟件密集型項目的架構師和架構指導者。

Grady是6本暢銷書的作者,包括UML Users Guide和Object-Oriented Analysis with Applications。Grady發表了幾百篇有關軟件工程的技術文章,其中包括在20世紀80年代早期發表的文章,這些文章先提出了面向對象設計的術語和實踐。他曾在世界各地演講和咨詢。

Grady是美國計算機協會(ACM)、美國電氣電子工程師學會(IEEE)、美國科學促進會(AAAS)、有社會責任的計算機專家協會(CPSR)的成員。他是IBM院士、ACM院士、世界技術網絡院士,也是軟件開發論壇夢想家。Grady是敏捷聯盟、Hillside集團和軟件架構師世界學院的創始委員會成員,也是Northface大學的顧問委員會成員。

Grady於1977年從美國空軍學院獲得學士學位,於1979年從加州大學聖巴巴拉分校獲得電子工程科學碩士學位。

Grady與他的妻子和他的貓生活在科羅拉多。他的興趣包括閱讀、旅行、唱歌和彈奏豎琴。
 

目錄

第1篇 概念

第1章 復雜性
1.1復雜系統的結構
1.1.1個人計算機的結構
1.1.2植物和動物的結構
1.1.3物質的結構
1.1.4社會機構的結構
1.2軟件固有的復雜性
1.2.1定義軟件復雜性
1.2.2為什麽軟件在本質上是復雜的
1.3復雜系統的5個屬性
1.3.1層次結構
1.3.2相對本原
1.3.3關注點分離
1.3.4共同模式
1.3.5穩定的中間形式
1.4有組織和無組織的復雜性
1.4.1復雜系統的規范形式
1.4.2人在處理復雜性時的能力局限
1.5從混沌到有序
1.5.1分解的作用
1.5.2抽象的作用
1.5.3層次結構的作用
1.6復雜系統的設計
1.6.1作為科學和藝術的工程
1.6.2設計的含義
1.7小結

第2章 對象模型
2.1對象模型的演進
2.1.1程序設計語言的換代
2.1.2第一代和第二代早期程序設計語言的拓撲結構
2.1.3第二代後期和第三代早期程序設計語言的結構
2.1.4第三代後期程序設計語言的結構
2.1.5基於對象和面向對象的程序設計語言的結構
2.2對象模型基礎
2.2.1面向對象編程
2.2.2面向對象設計
2.2.3面向對象分析
2.3對象模型要素
2.3.1抽象的意義
2.3.2封裝的意義
2.3.3模塊化的意義
2.3.4層次結構的意義
2.3.5類型的意義
2.3.6並發的意義
2.3.7持久的意義
2.4應用對象模型
2.4.1對象模型的好處
2.4.2開放式問題
2.5小結

第3章 類與對象
3.1對象的本質
3.1.1什麽是對象,什麽不是對象
3.1.2狀態
3.1.3行為
3.1.4標識符
3.2對象之間的關系
3.2.1鏈接
3.2.2聚合
3.3類的本質
3.3.1什麽是類,什麽不是類
3.3.2接口和實現
3.3.3類的生命周期
3.4類之間的關系
3.4.1關聯
3.4.2繼承
3.4.3聚合
3.4.4依賴關系
3.5類與對象的互動
3.5.1類與對象的關系
3.5.2類與對象在分析和設計中的角色
3.6創建高品質的類與對象
3.6.1評判一種抽象的品質
3.6.2選擇操作
3.6.3選擇關系
3.6.4選擇實現
3.7小結

第4章 分類
4.1正確分類的重要性
4.1.1分類的困難
4.1.2分類的增量和迭代本質
4.2確定類和對象
4.2.1經典方法和現代方法
4.2.2面向對象分析
4.3關鍵抽象與機制
4.3.1確定關鍵抽象
4.3.2識別機制
4.4小結

第2篇 方法

第5章 表示法
5.1統一建模語言
5.1.1簡單歷史回顧
5.1.2模型與多重視圖
5.1.3圖分類
5.1.4在實踐中使用圖
5.1.5概念模型、邏輯模型和物理模型
5.1.6工具的角色
5.1.7面向對象開發的產品
5.1.8規模上的伸縮
5.1.9UML的語法和語義
5.1.10UML 2.0信息資源
5.2包圖
5.2.1基本概念:包表示法
5.2.2基本概念:元素的可見性
5.2.3基本概念:依賴關系
5.2.4基本概念:包圖
5.2.5高級概念:導入和訪問
5.3組件圖
5.3.1基本概念:組件表示法
5.3.2基本概念:組件圖
5.3.3基本概念:組件接口
5.3.4基本概念:組件實現
5.3.5高級概念:組件的內部結構
5.4部署圖
5.4.1基本概念:工件表示法
5.4.2基本概念:節點表示法
5.4.3基本概念:部署圖
5.5用例圖
5.5.1基本概念:執行者
5.5.2基本概念:用例
5.5.3基本概念:用例圖
5.5.4高級概念:《include》和《extend》關系
5.5.5高級概念:泛化
5.6活動圖
5.6.1基本概念:動作
5.6.2基本概念:開始和停止
5.6.3基本概念:判斷節點和合並節點
5.6.4基本概念:分區
5.6.5高級概念:分叉、結合和並發
5.6.6高級概念:對象流
5.6.7高級概念:其他元素
5.7類圖
5.7.1基本概念:類表示法
5.7.2基本概念:類關系
5.7.3高級概念:模板(參數化)類
5.7.4高級概念:可見性
5.7.5高級概念:關聯端名稱和限定符
5.7.6高級概念:約束
5.7.7高級概念:關聯類和注解
5.8序列圖
5.8.1基本概念:對象與交互
5.8.2基本概念:生命線與消息
5.8.3高級概念:銷毀事件
5.8.4高級概念:執行說明
5.8.5高級概念:交互使用
5.8.6高級概念:控制結構
5.9交互概述圖
5.9.1基本概念:框
5.9.2基本概念:控制流元素
5.9.3基本概念:交互圖元素
5.10組合結構圖
5.10.1基本概念:組合結構的部分
5.10.2基本概念:組合結構的部分與接口
5.10.3基本概念:組合結構連接器
5.10.4高級概念:協作
5.11狀態機圖
5.11.1基本概念:初始狀態、最終狀態和簡單狀態
5.11.2基本概念:轉換與事件
5.11.3高級概念:狀態活動(入口活動、執行活動和出口活動)
5.11.4高級概念:控制轉換
5.11.5高級概念:復合狀態與嵌套狀態
5.11.6高級概念:並發與控制
5.11.7高級概念:子狀態機狀態
5.11.8高級概念:其他狀態機圖元素
5.12時間圖
5.12.1基本概念:更多相同之處
5.12.2基本概念:布局
5.12.3基本概念:事件
5.12.4基本概念:約束
5.12.5高級概念:另一種表示形式
5.12.6高級概念:事件與消息
5.13對象圖
5.13.1基本概念:對象
5.13.2基本概念:對象關系
5.13.3高級概念:端點名稱和限定符
5.14通信圖
5.14.1基本概念:對象、鏈接和消息
5.14.2基本概念:順序表達式
5.14.3高級概念:消息與同步
5.14.4高級概念:迭代子句和約束條件
5.15小結

第6章 過程
6.1首要原則
6.1.1成功項目的特征
6.1.2追求理性的開發過程
6.2宏觀過程:軟件開發生命周期
6.2.1概述
6.2.2宏觀過程的內容維:科目
6.2.3宏觀過程的時間維:里程碑和階段
6.2.4宏觀過程的時間維:迭代
6.2.5發行計划
6.3微觀過程:分析與設計過程
6.3.1概述
6.3.2抽象層次
6.3.3活動
6.3.4產品
6.3.5微觀過程與抽象層次
6.3.6識別元素
6.3.7確定元素間的協作
6.3.8確定元素間的關系
6.3.9詳細確定元素的語義
6.4小結

第7章 實戰
7.1管理和計划
7.1.1風險管理
7.1.2任務計划
7.1.3開發復查
7.2人員配備
7.2.1資源配置
7.2.2開發團隊角色
7.3發布版本管理
7.3.1配置管理和版本控制
7.3.2集成
7.3.3測試
7.4復用
7.4.1復用的元素
7.4.2建立復用制度
7.5質量保證和測量指標
7.5.1軟件質量
7.5.2面向對象測量指標
7.6文檔化
7.6.1開發遺產
7.6.2文檔化的內容
7.7工具
7.7.1工具種類
7.7.2組織上的意義
7.8特殊主題
7.8.1領域特定問題
7.8.2采納面向對象技術
7.9面向對象開發的好處和風險
7.9.1面向對象開發的好處
7.9.2面向對象開發的風險
7.10小結
┅┅
第3篇 應用
附錄A 面向對象編程語言
附錄B 進一步閱讀
注解
術語表
網路書店 類別 折扣 價格
  1. 新書
    $654