Cohesion and coupling in programmatic design

程式模組化設計的內聚力與耦合力 

在程式模組化設計中,常以內聚力,耦合力來評量模組。

請定義內聚力(Cohesion)及耦合力(Coupling)。(10 分)

請 說 明 : 通 訊 內 聚 力 ( Communicational Cohesion ) 及 邏 輯 內 聚 力 ( Logical

Cohesion)。(10 分)

請說明:資料耦合(Data Coupling)及內容耦合(Content Coupling)。(1


**內聚力(Cohesion)**是評量模組內部元素(例如函數、類別、過程)彼此之間相互關聯程度的概念。內聚力描述了一個模組內元素彼此相關的程度,其目標是確保模組的內部元素具有相關性,以便提高模組的可讀性、可維護性和可重用性。

內聚力:評估模組內元素的相關性,確保其具相關性,以提高模組的唯讀蟲(維讀重)


耦合力:
評估模組間的相依或連接程度。低耦合相依低易修改維護。

**耦合力(Coupling)**是評量模組之間的相依性或連接程度的概念。耦合力描述了一個模組與其他模組之間的關聯程度,較低的耦合力通常表示模組間的相依性較低,模組可以更容易獨立地修改和維護。


在內聚力方面:


1. **通訊內聚力(Communicational Cohesion)**是指一個模組內的元素彼此相關,因為它們在執行某些通信或操作,例如,一個模組包含了所有與文件操作相關的功能。這種內聚力是基於元素之間的通信或互動。


2. **邏輯內聚力(Logical Cohesion)**是指一個模組內的元素彼此相關,因為它們在執行相似的邏輯操作。例如,一個模組內包含所有數學運算的功能,而不僅僅是特定類型的運算。這種內聚力是基於元素執行的邏輯操作的相似性。


在耦合力方面:


1. **資料耦合(Data Coupling)**是指兩個模組之間的耦合僅涉及數據交換。這表示兩個模組通常只通過參數或數據交換信息,而不依賴彼此的內部結構或算法。資料耦合力較低,模組之間的獨立性較高。


2. **內容耦合(Content Coupling)**是指兩個模組之間的耦合涉及訪問彼此的內部結構或內容,如變數、函數或類別。這使得兩個模組更加相依,因為它們需要了解對方的內部實現細節。內容耦合力較高,模組之間的獨立性較低。


內聚力和耦合力的良好平衡有助於建立易於維護和擴展的模組化系統。高內聚力和低耦合力是模組化設計的理想目標。


50二、資訊系統開發可以歸納出幾個基本而共同的階段。一般來說,資訊系統

開發可以分成 4 個階段,請試述是那 4 個階段?並請申論這 4 個階段的

主要工作與工作產出。(25 


資訊系統開發通常分為以下四個基本階段:


1. **計劃階段**:

   - 主要工作:在這個階段,確定系統的需求、目標和範圍。進行初步可行性分析,確保項目的可行性。制定專案計劃,明確定義專案的目標、範圍、時程和預算。也許包括風險評估和需求收集。

   - 工作產出:專案計劃、可行性研究報告、需求文件、範圍文件、預算評估。


2. **分析與設計階段**:

   - 主要工作:在這個階段,進一步細化系統需求,分析資料和流程,設計系統的架構和結構。確定系統的邏輯流程、資料庫設計、介面設計等。通常會建立用例、類別圖、活動圖、數據模型等。

   - 工作產出:用例文檔、類別圖、活動圖、數據庫設計、系統架構。


3. **實施階段**:

   - 主要工作:在這個階段,開始編碼和開發系統。實施設計階段的設計和規劃。進行單元測試、集成測試,並不斷修復錯誤。部署系統到生產環境,執行訓練和協助使用者過渡。

   - 工作產出:程式碼、測試報告、系統部署、使用者培訓材料。


4. **運營和維護階段**:

   - 主要工作:在系統上線後,持續監控和維護系統的正常運行。解決新問題和錯誤,進行升級和改進。與用戶互動以瞭解需求,定期更新系統。

   - 工作產出:錯誤修復、系統改進、維護文件、版本更新。


每個階段的主要工作和產出都有助於專案的順利進行,確保系統按照需求順利建立、交付和維護。這些階段通常以瀏覽器模型,如瀑布模型或敏捷模型等方式組織。


Comments

Popular posts from this blog

How to write data into a excel file using vbscript

Format date as yyyy-mm-dd using vbscript