軟體構造 課程提綱4

2021-09-24 16:44:09 字數 2165 閱讀 5460

第六章

可維護性的常見度量指標:圈複雜度、**行數、運算子/運算元的數目、可維護性指數(mi)、繼承深度、類耦合、單元測試覆蓋度

聚合度與耦合度

(1)耦合度:多個模組間的相互聯絡

(2)聚合度:模組內部語句或語句段之間的聯絡

solid

(1)s:單一責任原則,即引起類變化的原因只有乙個

(2)o:開放封閉原則,對擴充套件開放,對修改封閉,通過整合/組合改變/擴充套件功能

(3)l:即lsp

(4)i:介面隔離原則,即客戶端不應依賴於不使用的介面,令介面盡可能小

(5)d:依賴轉置原則,細節、模組都應依賴於抽象

設計模式

(1)構建模式

·factory method:將例項的生成交給子類,將**同物件建立解耦

·abstract factory:將關聯零件組裝成產品

·builder:將複雜物件的構造與其表示分開,以便相同的構建過程可以建立不同的表示

(2)結構模式

·bridge:將類的功能層次結構與實現層次結構分離

·proxy:只在必要時生成例項

- 遠端(remote):提供乙個物件在不同位址空間的區域性代表,即快取

- 虛擬(visual):根據需要建立開銷較大的物件,實現延遲載入

- 保護(protection):保護實際的物件

·復合(composite):將物件組合成樹形結構以表示「部分-整體」的層次結構。使得使用者對單個物件和組合物件的使用具有一致性

(3)行為模式

·觀察者(observer):建模物件之間的一對多依賴關係

- 保持冗餘狀態的一致性

- 優化一批更改以保持一致性

·中介者(mediator):定義乙個介面用於與各同事(colleague)物件通訊,如send -> receive

·訪客(visitor):將資料結構與其上的處理分離,允許在執行時對一組具有不同資料結構的物件執行統一操作

·狀態(state):允許乙個物件的內部狀態改變時改變它的行為,與策略結構相同,但各部分不可互換

·備忘錄(memento):儲存乙個物件的某個狀態,以便在適當的時候恢復物件,需要乙個memento和乙個caretaker

語法、正規表示式

(1)語法:可以幫助區分合法/非法序列,將序列解析為程式可以使用的資料結構(通常是遞迴資料型別)

·產生式:表示該變數根據其他變數,運算子和常量的定義

·非終結符:相當於變數,表示一組字串

·終結符:相當於常量,語法分析樹中的葉子

·運算子:ab,a*,a|b,[^ab],[ab],a+,a?

(2)正規表示式:許多字串處理任務中廣泛使用的工具,需要對字串進行反彙編,從中提取資訊或對其進行轉換

·通過用右手邊替換每個非終結符(除了根節點之外),可以將其減少為根的一次生產,只有終端和操作符在右側。

·特殊字元:.(單一字元)、\s(空白)、\w(字母)、\d(數字)……

·倘若根結點中包含的組成部分又可以生成根節點,則永遠無法遞迴到只剩終結符的時候,該語言不是遞迴的

軟體構造 課程提綱(1)

第一章 1.多維檢視 1 階段 構建 執行 2 動態 時刻 週期 3 級別 元件 2.階段劃分 各階段構造活動 1 構建階段 時刻 源 由基本程式塊及其依賴關係進行邏輯組織。週期 新增 修改 刪除從乙個版本到另乙個版本的檔案。元件 時刻 源 通過檔案,目錄,包,庫及其依賴關係進行物理組織。元件 週期...

軟體構造課程

課程目標 在高階語言程式設計的基礎上,認識軟體構造的質量標準與目標,學習軟體 構造的基本過程,從而具備面向質量目標的複雜軟體構造方法與能力 深入學習抽象資料型別 adt 與物件導向程式設計 oop 初步掌握面向關鍵質量目標 可理解性 可維護性 可復用性 健壯性 時 空效能 的軟體構造基本技術 了解軟...

軟體構造課程 ADT

abstract data types可簡單理解為乙個封裝的型別,它不需要提供各種詳細的資訊,但是可以有強大的功能。它具有一定的防禦性,只對外提供一些操作,但是內部可以是各種複雜的函式。對於乙個抽象類操作它的型別主要有4種 t非此型別的資料 t則為該資料型別。creators t t。比如對於int...