軟體工程期末考試複習(四) 設計原理高內聚,低耦合的系統有什麼好處呢? 面向數據流的設計方法

  • 2019 年 10 月 5 日
  • 筆記

總體設計

總體設計的基本且的就是回答「概括地說,系統應該如何實現」這個問題。因此,總體設計又稱為概要設計或初步設計。通過這個階段的工作將劃分出組成系統的物理元素程式、文件、資料庫、人工過程和文檔等,但是每個物理元素仍然處於黑盒子級,這些黑盒子里的具體內容將在以後仔細設計。總體設計階段的另一項重要任務是設計軟體的結構,也就是要確定系統中每個程式是由哪些模組組成的,以及這些模組相互間的關係。

設計原理

1、模組化:模組是由邊界元素限定的相鄰程式元素(例如,數據說明,可執行的語句)的序列,而且有一個總體標識符代表它。模組是構成程式的基本構件。模組化就是把程式劃分成獨立命名且可獨立訪問的模組,每個模組完成一個子功能,把這些模組集成起來構成一個整體,可以完成指定的功能滿足用戶的需求。

2、抽象

3、逐步求精

4、資訊隱藏和局部化

5、模組獨立

  耦合是對一個軟體結構內不同模組之間互連程度的度量。耦合強弱取決於模組間介面的複雜程度,進入或訪問一個模組的點,以及通過介面的數據。

模組耦合分為數據耦合、控制耦合、特徵耦合、公共環境耦合和內容耦合

  1. 數據耦合:兩個模組彼此間通過參數交換資訊,而且交換的資訊僅僅是數據,那麼這種耦合稱為數據耦合。數據耦合是低耦合。系統中至少必須存在這種耦合。
  2. 控制耦合:傳遞的資訊中有控制資訊(儘管有時這種控制資訊以數據的形式出現),則這種耦合稱為控制耦合。控制耦合是中等程度的耦合。
  3. 特徵耦合:當把整個數據結構作為參數傳遞而被調用的模組只需要使用其中一部分數據元素時,就出現了特徵耦合。
  4. 公共環境耦合:當兩個或多個模組通過一個公共數據環境相互作用時,它們之間的耦合稱為公共環境耦合。公共環境可以是全程變數、共享的通訊區、記憶體的公共覆蓋區、任何存儲介質上的文件、物理設備等。公共環境耦合的複雜程度隨耦合的模組個數而變化,當耦合的模組個數增加時複雜程度顯著增加。

  內聚衡量一個模組內部各個元素彼此結合的緊密程度。內聚標誌著一個模組內各個元素彼此結合的緊密程度,它是資訊隱藏和局部化概念的自然擴展。簡單地說,理想內聚的模組只做一件事情。內聚和耦合是密切相關的,模組內的高內聚往往意味著模組間的松耦合。內聚分為三大類低內聚、中內聚和高內聚

高內聚,低耦合的系統有什麼好處呢?

事實上,短期來看,並沒有很明顯的好處,甚至短期內會影響系統的開發進度,因為高內聚,低耦合的系統對開發設計人員提出了更高的要求。 高內聚,低耦合的好處體現在系統持續發展的過程中,高內聚,低耦合的系統具有更好的重用性,維護性,擴展性,可以更高效的完成系統的維護開發,持續的支援業務的發展,而不會成為業務發展的障礙。

面向數據流的設計方法

1、面向數據流的設計方法把資訊流映射成軟體結構,資訊流的類型決定了映射的方法。資訊流有下述兩種類型。

  1. 變換流:資訊沿輸入通路進入系統,由外部形式變換成內部形式,進入系統的資訊通過變換中心,經加工處理以後再沿輸出通路變換成外部形式離開軟體系統。當數據流圖具有這些特徵時,這種資訊流就叫作變換流。
  2. 事務流:數據沿輸入通路到達一個處理T,這個處理根據輸入數據的類型在若干個動作序列中選出一個來執行。這類數據流應該劃為一類特殊的數據流,稱為事務流。圖中的處理T稱為事務中心,它完成下述任務。

2、常見的數據流圖:

Tags: