面向對象的系統設計(第2版)(ISBN:9787302147985邵維忠、楊芙清編著,清華大學出版社出版)是介紹面向對象設計方法的著作,是我們的前一本著作《面向對象的系統分析》(第2版)的姊妹篇,兩本書可構成一個完整的面向對象的分析與設計方法體系。
面向對象的設計(OOD)是在面向對象的分析(OOA)基礎上繼續運用面向對象方法解決軟件生命周期中設計階段的問題,產生一個滿足用戶需求,并且完全可實現的系統模型,即OOD模型。
以往大部分關于面向對象分析與設計(OOAD)的著作都是以論述OOA為主,對OOD的論述則過于簡略。對軟件生命周期的設計階段需要解決的大量實際問題缺乏全面、深入的討論和切實可行的面向對象設計策略。作為在當前科學技術背景下出版的OOD著作,在學習和借鑒前人研究成果的基礎上,我們力求在以下方面取得進步:
1.系統地闡述00A與OOD的理論體系
本書從區別早期的00D和基于OOA的OOD入手,通過討論二者在內容和特點上的不同,在概念上澄清了關于什么是OOD的問題。把面向對象的觀點運用于整個軟件生命周期,在此前提下對什么是OOD給出更確切的定義。同時詳細地論述了OOA和OOD之間的關系。
2.充實和完善OOD的內容
在面向對象的軟件開發中,OOD是軟件生命周期中的一個大階段。在這個階段中有大量的技術問題需要解決,需要建立一個可實現的系統模型。本書的目標是向讀者提供一種內容比較完善、策略具體、可操作性強的OOD方法,其中包含了普通應用系統的設計階段需要解決的大部分問題,包括全局性設計決策和局部的模型細化兩個方面的問題。
3 充分運用OO基本概念解決設計問題
我們在《面向對象的系統分析》(第2版)中提出,在00A中應該充分運用面向對象的基本概念(即目前大部分面向對象編程語言能夠直接支持的概念)解決各種復雜的建模問題,限制擴充概念的引入。《面向對象的系統設計》(第2版)依然堅持這一宗旨,沒有采用比OOA更多的面向對象建模概念,更沒有采用諸如“模塊”、“塊,等非OO的建模元素。此外,本書對所有的設計問題都是運用面向對象的觀點給出設計策略,使讀者能夠在軟件開發中完全采用面向對象的概念和表示法來建立系統的設計模型。這意味著本書運用了盡可能少的建模概念解決了較多的設計問題。建模概念的簡練使本書提出的方法更容易學習、掌握和使用,并使得OOA、00D和OOP在概念上保持高度一致,使模型與實現后的程序具有良好的映射關系。當然,為了做到這一點,本書給出了更強的過程指導,告訴讀者如何運用一個精練的OO基本概念集合去解決各種復雜的建模問題。
4.適應當前計算機科學技術的新發展
目前,大量的新技術已被廣泛地運用到系統開發中。在這種形勢下,要求OOD方法做出相應的發展。我們的目標是力求在OOD方法中體現計算機科學技術的新發展。本書的OOD方法是根據當前的技術背景提出的。針對在當前軟件開發中被廣泛采用的幾種主要技術,分別給出相應的設計策略,并且用OO概念表達其設計決策。
5.解決工程實踐中提出的問題
在本書的寫作過程中,作者曾經以技術培訓、工程指導、項目合作等多種方式與軟件企業界的人士進行接觸和交流。他們在運用面向對象方法進行軟件開發時,常常在OOD階段遇到各種問題。其中有些問題在以往的著作中找不到現成的答案。這些來自工程實踐的問題對于OOD方法的研究和發展具有很強的促進作用。本書的許多內容是針對這些問題開展研究并總結提煉結果的。
本書的第1版于2003年2月出版,數年來已多次重印。這次再版主要有以下變化:
1.按照《面向對象的系統分析》從第1版到第2版的內容變化,對本書的內容做了相應的修改與調整。
2.根據UML2.0的最新版本和我國的“信息技術軟件工程術語”(GB/T11457—2006)國家標準等標準化文件,進一步規范了全書的術語和模型元素的表示法。
3.在第7章對UMLl.x的介紹和評論中,增加了引導讀者閱讀文獻\\[53\\]關于UML2.0相關內容的線索。
4.對全書的內容進行了全面的審核和訂正,在文字表述方面比第1版更為準確和精練。