![](http://img3m7.ddimg.cn/78/14/29720967-1_u_1715144358.jpg)
開本:16開 紙張:膠版紙 包裝:平裝-膠訂 是否套裝:否 國際標準書號ISBN:9787111749493 作者:麻志毅 出版社:機械工業出版社 出版時間:2024年05月 
"編輯推薦 面向對像技術以其顯著的優勢已經成為計算機軟件領域的主流技術。本書是一本適合應用型人纔培養的關於面向對像分析與設計的教材。 進行面向對像分析與設計需要一套概念與表示法。本書所采用的概念和表示法與UML 2.4保持一致,但並不是全盤采用。本書提倡充分運用面向對像方法的基本概念,限制擴充概念的引入,通過加強過程指導而保持建模概念的簡練。 進行面向對像分析與設計需要一套過程指導。本書所采用的開發過程,是在借鋻了較為流行的多種面向對像開發方法的基礎上,根據青鳥工程的成果和作者參與的科研及工程實踐的經驗總結出來的,該過程指導具有實用性和廣泛的適應性。 內容簡介 本書是一本關於面向對像分析與設計的教材,講述了面向對像的基本思想、主要概念以及相應的表示法,並給出了詳細的建模過程指導。本書注重理論與實踐相結合,通過給出大量的例題、內容較為詳盡的案例分析以及對建模概念的詳細剖析,闡明了如何進行面向對像的分析與設計。 本書適合作為高等院校計算機學院(或信息學院等)和軟件學院的軟件工程專業、計算機專業和相關專業的高年級本科生、工程碩士的教材,也可作為培訓班師生以及從事軟件開發的工程技術人員的參考書。 作者簡介 麻志毅博士,北京大學信息技術高等研究院副院長、智能軟件中心主任。長期從事軟件工程方面的教學與科研工作。在國內外學報或會議上發表多篇學術論文,主持或參加國家高技術研究發展計劃(863)、國家重大基礎研究(973)、國家科技支撐計劃和國家自然科學基金等多項國家科研項目。主要研究領域為軟件工程支撐環境、面向對像技術和面向服務計算技術等。曾獲國家科技進步二等獎和國家科技攻關優秀成果獎等國家部委獎勵多項。 目錄 目錄 前言 教學建議 第一部分概述 第1章面向對像方法概論 1.1傳統軟件開發方法中存在的問題 1.2面向對像的基本思想 1.3面向對像的基本原則 1.4面向對像方法的主要優點 1.5面向對像方法的發展史及現狀簡介 1.6關於統一建模語言UML 習題 第二部分面向對像分析 第2章什麼是面向對像分析目錄 前言 教學建議 第一部分概述 第1章面向對像方法概論 1.1傳統軟件開發方法中存在的問題 1.2面向對像的基本思想 1.3面向對像的基本原則 1.4面向對像方法的主要優點 1.5面向對像方法的發展史及現狀簡介 1.6關於統一建模語言UML 習題 第二部分面向對像分析 第2章什麼是面向對像分析 2.1分析面臨的主要問題 2.2面向對像分析綜述 習題 第3章建立需求模型——用況圖 3.1繫統邊界 3.2參與者 3.2.1概念與表示法 3.2.2識別參與者 3.3用況 3.3.1概念與表示法 3.3.2用況與參與者之間的關繫 3.3.3用況之間的關繫 3.3.4捕獲用況 3.3.5用況模板 3.4用況圖 3.5檢查與調整 3.6用況模型與OOA模型 3.7例題 習題 第4章建立基本模型——類圖 4.1對像與類 4.1.1概念與表示法 4.1.2識別對像與類 4.1.3審查與篩選 4.1.4抽像出類並進行調整 4.1.5認識對像的主動行為並識別主動對像 4.1.6類的命名 4.1.7建立類圖的對像層 4.2屬性與操作 4.2.1屬性 4.2.2操作 4.3關繫 4.3.1繼承 4.3.2關聯 4.3.3聚合 4.3.4依賴 4.4接口 習題 第5章建立輔助模型 5.1順序圖 5.1.1概念與表示法 5.1.2順序圖中的結構化控制 5.1.3建立順序圖 5.2通信圖 5.2.1概念與表示法 5.2.2建立通信圖 5.3活動圖 5.3.1概念與表示法 5.3.2建立活動圖 5.4狀態機圖 5.4.1概念與表示法 5.4.2建立狀態機圖 5.5包圖 5.5.1概念與表示法 5.5.2如何劃分與組織包 習題 第三部分面向對像設計 第6章什麼是面向對像設計 6.1OOA與OOD的關繫 6.2面向對像設計模型和過程 習題 第7章問題域部分的設計 7.1復用類 7.2增加一般類以建立共同協議 7.3提高性能 7.4按編程語言調整繼承 7.5轉化復雜關聯並決定關聯的實現方式 7.6調整與完善屬性 7.7構造及優化算法 7.8決定對像間的可訪問性 7.9定義對像實例 7.10其他 習題 第8章人機交互部分的設計 8.1什麼是人機交互部分 8.2如何分析人機交互部分 8.3如何設計人機交互部分 8.3.1設計輸入與輸出 8.3.2命令的組織 8.3.3用OO概念表達所有的界面成分 8.3.4銜接界面模型和問題域模型 8.4人機交互部分的設計準則 習題 第9章控制驅動部分的設計 9.1什麼是控制驅動部分 9.2控制流 9.3如何設計控制驅動部分 9.3.1識別控制流 9.3.2審查 9.3.3定義控制流 9.3.4進程間和線程間的通信 9.3.5控制流間的同步 習題 第10章數據管理部分的設計 10.1什麼是數據管理部分 10.2數據庫和數據庫管理繫統 10.2.1關繫數據庫 10.2.2面向對像數據庫 10.3如何設計數據管理部分 10.3.1針對關繫數據庫繫統的數據存取設計 10.3.2針對面向對像數據庫繫統的數據存取設計 10.3.3針對文件繫統的數據存取設計 習題 第11章構件及部署部分的設計 11.1構件設計 11.1.1概念與表示法 11.1.2構件的內部結構 11.1.3對構件的行為建模 11.1.4對構件的實現建模 11.2部署設計 11.2.1概念與表示法 11.2.2對繫統的部署建模 習題 第12章若干典型的設計模式 12.1引言 12.2外觀模式 12.3適配器模式 12.4策略模式 12.5觀察者模式 12.6抽像工廠模式 12.7工廠方法模式 習題 第13章OOD的評價準則 13.1耦合 13.2內聚 13.3復用 13.4其他評價準則 習題 第四部分繫統與模型 第14章繫統與模型 14.1繫統與子繫統 14.1.1概念與表示法 14.1.2對體繫結構模式建模 14.1.3劃分子繫統 14.2模型 14.2.1模型的含義 14.2.2模型和視圖 14.2.3模型的抽像層次 14.2.4模型間的一致性檢查 習題 第五部分建模實例 第15章案例:教學管理繫統 15.1繫統的功能需求 15.2建立需求模型 15.2.1劃分子繫統 15.2.2識別參與者 15.2.3識別用況 15.2.4對需求進行捕獲與描述 15.3繫統分析 15.3.1尋找類 15.3.2建立狀態機圖 15.3.3建立類圖 15.3.4建立順序圖 15.4繫統設計 15.4.1問題域部分設計 15.4.2界面部分設計 15.4.3數據管理部分設計 習題 附錄 附錄A面向對像的軟件建模工具 附錄B文檔編制指南 參考文獻
前言 前言
在20世紀90年代,面向對像技術以其顯著的優勢成為計算機軟件領域的主流技術,隨後該技術在大多數發達國家的軟件開發中得到了相當廣泛的運用。在我國的軟件產業界,面向對像技術的學習與應用熱潮出現於20世紀90年代後期,如今面向對像分析與設計技術也已經得到了廣泛的應用。 當前,產業界需要大量掌握面向對像分析與設計技術的高級應用型開發人纔。很多計算機學院和軟件學院在軟件工程教學中開設了相應的課程,旨在使學生不僅會使用一種或者幾種面向對像編程語言來編程,更重要的是能運用面向對像方法進行繫統建模,即通過面向對像分析(ObjectOriented Analysis, OOA)和面向對像設計(ObjectOriented Design, OOD)建立繫統的分析模型和設計模型。前言
在20世紀90年代,面向對像技術以其顯著的優勢成為計算機軟件領域的主流技術,隨後該技術在大多數發達國家的軟件開發中得到了相當廣泛的運用。在我國的軟件產業界,面向對像技術的學習與應用熱潮出現於20世紀90年代後期,如今面向對像分析與設計技術也已經得到了廣泛的應用。 當前,產業界需要大量掌握面向對像分析與設計技術的高級應用型開發人纔。很多計算機學院和軟件學院在軟件工程教學中開設了相應的課程,旨在使學生不僅會使用一種或者幾種面向對像編程語言來編程,更重要的是能運用面向對像方法進行繫統建模,即通過面向對像分析(ObjectOriented Analysis, OOA)和面向對像設計(ObjectOriented Design, OOD)建立繫統的分析模型和設計模型。 邵維忠教授和楊芙清院士合著的兩本著作[17-18]在廣泛借鋻國際上各種OOA與OOD方法的同時,根據作者長期的研究與實踐形成了自己的方法特色。其中最主要的特色有三條:一是提倡充分運用面向對像方法的基本概念,限制擴充概念的引入,通過加強過程指導而保持建模概念的簡練;二是對UML(Unified Modeling Language, 統一建模語言)所采用的與面向對像有關的概念進行深入解析,給出了自己的見解;三是其OOD部分比以往的著作內容更為詳細,並且更強調用OO概念表達各種全局性的設計決策。這兩部學術專著作為教材適合於理論性強的研究生教學。 本書旨在提供一本更適合應用型人纔培養的教材。在思想體繫上,本書繼承了參考文獻[17]和[18]所提出的理論和方法。但是作為一本適合應用型人纔培養的教材,本書與它們相比有以下不同: 減少了理論闡述和對不同學術觀點的討論,增加了對如何運用概念的講解。 著重講述了面向對像的應用技術。 在各章的正文部分增加了例題,在各章之後給出了習題。 通過案例講述了如何運用面向對像方法進行分析與設計。 本書既是一本教材,也可作為從事軟件開發的工程技術人員的參考書。由於以上幾個特點,本書與參考文獻[17]和[18]相比具有更強的普及性,適用於更廣大的讀者群。 UML是一個由國際對像管理組織(Object Management Group, OMG)采納的建模語言規範,目前在軟件工業界已經被廣泛接受。但UML的內容過於龐大和復雜(這是UML本身的復雜性造成的),多數工程技術人員和讀者反映其學習難度很大。UML中的許多內容是用於構造模型的,對於大多數面向應用的軟件開發者來說,這些概念是用不著的。還有一些概念在軟件繫統的建模中很少使用,這是因為UML是各方面成果融合的產物,它要盡量地適合各領域。特別是UML不僅僅是用於面向對像開發的軟件建模語言,它還可用於其他方面的建模,例如建築業或機器制造業也可用它進行建模。基於上述因素,本書選用了UML中常用的概念來控制技術的復雜性。由於本書加強了運用基本概念解決各種復雜的分析與設計問題的過程指導,因此所選用的概念和表示法仍能保持表達能力的完整性。對本書而言,有些概念並非必不可少的,但為了方便讀者理解這些常見概念,本書也適當地進行了講解,同時也給出了一些運用基本的OO概念代替這些概念的方法。 本書所采用的概念和表示法與UML 24保持一致。在中文術語方面,本書與我國的行業規範《面向對像的軟件繫統建模規範》完全一致。作為該規範的主要起草者,本書作者曾經與國內很多專家、學者和企業界的專業人士進行過反復研究討論,從而對該規範達成共識。 進行軟件開發,應該遵循一定的過程指導。過程指導為完成軟件繫統開發的步驟提供詳細指導,其中包括模型、工具和技術。本書所講述的過程指導的思想來自參考文獻[17]和[18],即本書所采用的開發過程,是在借鋻了較為流行的多種開發過程的基礎上,根據青鳥工程的成果和作者的科研及工程實踐的經驗總結出來的。 像使用其他開發方法一樣,用面向對像方法進行軟件繫統建模的目的是要建立相應的模型。總的來講,本書把模型分為功能需求模型、分析模型和設計模型。針對建立各種模型所使用的圖以及其中的一些具體素,本書還給出了相應的規約。 對於面向對像的軟件建模,需要有建模工具的支持。本書對此類工具所應具有的主要功能進行了講述,並介紹了兩款面向對像的軟件建模工具。 與第1版相比,本版進行了如下改進: 對面向對像概念的定義更為準確,對概念的解釋更加豐富和深入,對建模指導方面的內容進行了充實。 第1版中的建模語言采用UML 20,然而至本版寫作時OMG發布了UML 24,其中模型圖的種素的表示法以及一些解釋都發生了變化,因此本版的建模語言采用了UML 24。 解決了作者和熱心的讀者在第1版的使用中發現的一些問題。 為了加強對分析與設計建模策略和技巧的理解,本版給出了更多的應用實例。 以下簡要地介紹本書的概貌,使讀者對它有一個提綱挈領的了解。 第1章集中介紹了面向對像方法的基本思想和原則,解釋了它的基本概念,論述了它的主要優點,並簡單介紹了它的發展歷史和現狀,以及與本書密切相關的UML 24。 第2章首先概述了面向對像分析所面臨的問題,然後對其進行了綜述,在綜述中闡述了面向對像分析模型和過程模型。 第3章全面地講解了建立功能需求模型所使用的概念與表示法,並詳述了如何使用它們來建立功能需求模型。 第4章詳細地講述了類圖中所使用的概念與表示法,並詳述了如何使用它們來建立類圖。 第5章講述了建立輔助模型所用到的幾種圖——順序圖、通信圖、活動圖、狀態機圖和包圖,其中詳細地講述了這些圖中所使用的概念與表示法。 第6章說明了面向對像分析與設計的關繫,並闡述了面向對像設計模型和過程模型。 第7章詳述了如何針對實現條件對分析模型進行補充與調整,完成問題域部分設計。 第8章詳述了進行人機交互設計所需要考慮的因素,並從分析和設計兩個方面詳述了如何進行人機交互設計。 第9章詳述了什麼是控制流,如何識別與定義控制流,以及如何協調控制流之間的同步。 第10章講述了數據管理部分的設計。本章首先對數據庫進行了簡介,然後詳細講解了如何使用關繫數據庫繫統對永久對像及它們之間的關繫進行存儲與檢索。 第11章介紹如何描述與構造繫統的構件,詳細講解了構件圖及其應用。本章還講述了制品圖和部署圖。 第12章講述了一些在面向對像設計中經常使用的設計模式。 第13章從耦合、內聚和復用等方面講述了如何評價面向對像的設計模型。 第14章首先講述如何把一個較為復雜的繫統劃分成一繫列子繫統,然後說明了如何對繫統或子繫統進行可視化建模,以及從那些方面建立繫統的模型,此外還闡述了如何保證模型的一致性。 第15章通過一個具體的案例分析,說明如何用面向對像方法進行建模。 最後本書給出了兩個附錄。附錄A講述了兩款面向對像的軟件建模工具。附錄B給出了對用面向對像方法進行軟件繫統建模時所生成的文檔的主要編制要求。 本書的研究工作和寫作得到了北京大學邵維忠教授的大力幫助。邵維忠教授對書稿提出了十分難得的寶貴修改意見,本書的很多內容也來自他作為第一作者的著作[17-18]。邵維忠教授具有嚴謹的治學態度、深厚的學術功底以及敏銳的洞察力,他的指導使我受益良多。在此致以衷心的感謝! 本書的研究工作和寫作得到了楊芙清院士和梅宏院士所領導的學術隊伍的支持,也得到了國家自然科學基金項目(61272159)、北京市自然科學基金資助項目(4122036)、國家重點基礎研究發展規劃項目(2011CB302604)和國家863高技術研究發展計劃項目(2012AA011202)的資助。在此謹向上述單位表示衷心的感謝! 對書中存在的錯誤和疏漏之處,懇請各位讀者給予批評指正,並通過電子郵件(mzy@seipkueducn)或其他方式進行更有意義的討論。 麻志毅 2013年1月於北京大學
|