1.3 面向對象設計

1.3 面向對象設計


返回目錄 1 面向對象技術
上一節 1.2 面向對象分析
下一節 1.4 cpp編程基礎算法


面向對象設計(Object-Oriented Design,OOD)是將OOA所建立的分析模型轉化爲設計模型,其目標是定義 系統構造藍圖

在模型到執行環境的轉換中,須要考慮實現問題加以調整和增補,經過編程語言特性等因素調整好比類結構等具體的結構。編程

OOD與OOA一致,一樣應遵循抽象、信息隱蔽、功能獨立、模塊化等設計準則。segmentfault

感受理論比較枯燥的,能夠直接跳轉到1.4開始實際操做。編程語言


面向對象設計

  • 面向對象設計的活動

    • OOD在複用OOA模型的基礎上,包含與OOA對應以下五個活動:模塊化

      • 識別類及對象;
      • 定義屬性;
      • 定義服務;
      • 識別關係;
      • 識別包。
    • 設計期必須充分考慮系統的穩定性,如目標環境所需的最大存儲空間、可靠性和響應時間等,全部這些都會影響系統的結構;
    • OOD應該儘量隔離實現條件對系統的影響,對不可隔離的因素按實現條件調整OOA模型。
  • 面向對象設計的原則

    • 五大原則:單元測試

      • 單一責任原則(Single Responsibility Principle,SRP);
      • 開放-封閉原則(Open&Close Principle,OCP);
      • 里氏替換原則(Liskov Substitution Principle,LSP);
      • 依賴倒置原則(Dependence Inversion Principle,DIP);
      • 接口分離原則(Interface Segregation Principle,ISP)。
    • 其它原則測試

      • 重用發佈等價原則(Release Reuse Equivalency Principle,REP);
      • 共同封閉原則(Common Closure Principle,CCP);
      • 共同重用原則(Common Reuse Principle,CRP);
      • 無環依賴原則(Acyclic Dependencies Principle,ADP);
      • 穩定依賴原則(Stable Dependencies Principle,SDP);
      • 穩定抽象原則(Stable Abstractions Principle,SAP)。

面向對象程序設計

面向對象程序設計(Object-Oriented Programming,OOP)的實質是選用一種面向對象程序設計語言(Object-Oriented Programming Language,OOPL)。

OOP採用對象、類及其相關概念所進行的程序設計。它的關鍵在於加入了類和繼承性,從而進一步提升了抽象程度。ui

特定的OOP概念通常是經過OOPL中特定的語言機制來體現的。設計

  • 繼承和類層次結構
  • 對象、消息傳遞和方法
  • 對象自身引用
  • 重置
  • 類屬類
  • 無實例的類

面向對象測試

在全部開發系統中都是根據規範說明來驗證系統設計的正確性。程序驗證應 儘量早地開始。

程序調試步驟是從最底層開始,從單元測試、綜合測試到系統測試。調試

  • 單元測試是系統構件的分體測試;
  • 綜合測試即將測試好的系統構件接起來看它們之間相互做用的正確性;
  • 系統測試是對整個系統的測試,包括軟件系統所在相關環境的測試。

綜合測試儘量在早期階段處理,由於通訊是系統開發的實質。

通常來講,對面向對象軟件的測試可分爲下列4個層次進行:

  • 算法層;

    • 測試類中定義的每一個方法,基本上至關於傳統軟件測試中的單元測試。
  • 類層;

    • 測試封裝在同一個類中的全部方法與屬性之間的相互做用;
    • 在面向對象軟件中類是基本模塊,所以能夠認爲這是面向對象測試中所特有的模塊測試。
  • 模板層;

    • 測試一組協同工做的類之間的相互做用,大致上至關於傳統軟件測試中的集成測試,可是也有面向對象軟件的特色(例如,對象之間經過發送消息相互做用)。
  • 系統層。

    • 把各個子系統組裝成完整的面向對象軟件系統,在組裝過程當中同時進行測試。

返回目錄 1 面向對象技術
上一節 1.2 面向對象分析
下一節 1.4 cpp編程基礎


參考資料:

  • 《軟件設計師教程》第五版
  • 百度百科
相關文章
相關標籤/搜索