- 系統分析與設計教程
- 系統分析與設計 - 首頁
- 系統分析與設計 - 概述
- 系統分析和系統設計之間的區別
- 系統分析與設計 - 通訊協議
- 系統設計中的水平和垂直擴充套件
- 系統設計中的容量估算
- Web伺服器和代理在系統設計中的作用
- 叢集和負載均衡
- 系統開發生命週期
- 系統開發生命週期
- 系統分析與設計 - 需求確定
- 系統分析與設計 - 系統實施
- 系統分析與設計 - 系統規劃
- 系統分析與設計 - 結構化分析
- 系統設計
- 系統分析與設計 - 設計策略
- 系統分析與設計 - 軟體部署
- 使用Docker的軟體部署示例
- 功能性需求與非功能性需求
- 資料流圖(DFD)
- 資料流圖 - 它是什麼?
- 資料流圖 - 型別和組成部分
- 資料流圖 - 開發
- 資料流圖 - 平衡
- 資料流圖 - 分解
- 系統設計中的資料庫
- 系統設計 - 資料庫
- 低階設計(LLD)
- 系統設計 - 身份驗證與授權
- 系統實施
- 輸入/輸出和表單設計
- 測試和質量保證
- 實施與維護
- 系統安全與審計
- 面向物件方法
設計策略
自頂向下策略
自頂向下策略使用模組化方法來開發系統設計。之所以這樣稱呼它,是因為它從頂部或最高級別的模組開始,並向下移動到最低級別的模組。
在這種技術中,識別用於開發軟體的最高級別模組或主模組。主模組根據每個模組執行的任務劃分為幾個更小、更簡單的子模組或段。然後,每個子模組進一步細分為下一級別的一些子模組。這個將每個模組細分為幾個子模組的過程持續進行,直到識別出無法進一步細分的最低級別模組。
自底向上策略
自底向上策略遵循模組化方法來開發系統設計。之所以這樣稱呼它,是因為它從底部或最基本的模組開始,並向上移動到最高級別的模組。
在這種技術中,
識別最基本或最低級別的模組。
然後,這些模組根據每個模組執行的功能組合在一起,以形成下一級別更高的模組。
然後,這些模組進一步組合以形成下一級別更高的模組。
這個將幾個更簡單的模組組合在一起以形成更高級別模組的過程持續進行,直到實現系統開發過程的主模組。
結構化設計
結構化設計是一種基於資料流的方法,有助於識別正在開發的系統的輸入和輸出。結構化設計的主要目標是最大程度地降低程式的複雜性並提高其模組化程度。結構化設計還有助於描述系統的功能方面。
在結構化設計中,系統規範作為圖形化表示軟體開發中涉及的資料流和過程式列的基礎,並藉助DFD來實現。在為軟體系統開發DFD後,下一步是開發結構圖。
模組化
結構化設計將程式劃分為小的獨立模組。這些模組以自頂向下的方式組織,詳細資訊顯示在底部。
因此,結構化設計使用稱為模組化或分解的方法來最大程度地降低複雜性,並透過將其細分為較小的片段來管理問題。
優點
- 首先測試關鍵介面。
- 它提供抽象。
- 它允許多個程式設計師同時工作。
- 它允許程式碼重用。
- 它提供控制並提高士氣。
- 它使識別結構更容易。
結構圖
結構圖是設計模組化、自頂向下系統的推薦工具,它定義了系統開發的各個模組以及每個模組之間的關係。它顯示了系統模組及其之間的關係。
它由包含表示模組的矩形框、連線箭頭或線的圖表組成。
控制模組 - 它是一個高階模組,它指導稱為下級模組的低階模組。
庫模組 - 它是一個可重用模組,可以從圖表中的多個點呼叫。
我們有兩種不同的方法來設計結構圖 -
變換中心結構圖 - 當所有事務遵循相同路徑時使用它們。
事務中心結構圖 - 當所有事務不遵循相同路徑時使用它們。
使用結構流程圖的目標
鼓勵自頂向下的設計。
支援模組的概念並識別合適的模組。
顯示系統的規模和複雜性。
識別每個功能中易於識別的功能和模組的數量。
描述每個可識別的功能是否是可管理的實體,或者是否應將其分解成更小的元件。
影響系統複雜性的因素
為了開發高質量的系統軟體,有必要開發良好的設計。因此,在開發系統設計時,主要關注的是軟體設計的質量。高質量的軟體設計是指最大程度地降低軟體開發中複雜性和成本支出的設計。
與系統開發相關的兩個重要概念有助於確定系統的複雜性,它們是耦合和內聚。
耦合
耦合是衡量元件獨立性的指標。它定義了系統開發的每個模組對其他模組的依賴程度。在實踐中,這意味著系統中模組之間的耦合越強,實現和維護系統就越困難。
每個模組都應與其他模組具有簡單、清晰的介面,並且模組之間共享的資料元素數量應最少。
高耦合
這些型別的系統與程式單元相互連線,彼此依賴。對一個子系統的更改會導致對另一個子系統產生重大影響。
低耦合
這些型別的系統由獨立或幾乎獨立的元件組成。一個子系統的更改不會影響任何其他子系統。
耦合度量
內容耦合 - 當一個元件實際修改另一個元件時,則被修改的元件完全依賴於修改的元件。
公共耦合 - 當透過組織系統設計以便可以從公共資料儲存訪問資料來在某種程度上減少耦合量時。
控制耦合 - 當一個元件傳遞引數以控制另一個元件的活動時。
標記耦合 - 當資料結構用於將資訊從一個元件傳遞到另一個元件時。
資料耦合 - 當僅傳遞資料時,元件透過這種耦合連線。
內聚
內聚是衡量其元件之間關係密切程度的指標。它定義了模組的元件彼此依賴的程度。在實踐中,這意味著系統設計人員必須確保 -
他們不會將基本流程拆分為碎片化的模組。
他們不會將表示為DFD上流程的無關流程組合到毫無意義的模組中。
最好的模組是功能內聚的模組。最差的模組是偶然內聚的模組。
最差的內聚程度
偶然內聚存在於其部分彼此無關的元件中。
邏輯內聚 - 將幾個邏輯相關的函式或資料元素放置在同一組件中。
時間內聚 - 當用於初始化系統或設定變數的元件按順序執行多個函式時,但這些函式透過所涉及的時間相關聯。
過程內聚 - 當將函式組合到一個元件中僅僅是為了確保此順序時。
順序內聚 - 當元件的一部分的輸出是其下一部分的輸入時。