軟件工程(應試版)圖形工具總結(二)

遇到的問題,都有解決方案,希望我的博客能為你提供一點幫助。

教材參考《軟件工程導論(第六版)》

七、 層次圖(H圖)與HIPO圖

1、概述 

1.1、層次圖(Hierarchy Chart / H圖)

?核心定義
  • ?目的:描述軟件系統的層次結構,體現模塊的從屬關系。
  • ?適用階段:自頂向下設計(Top-Down Design)的核心工具。
  • ?形態特征
    • 樹狀結構,根節點為系統頂層模塊。
    • 每個父模塊分解為多個子模塊。
    • 不展示模塊間數據流或控制流。

1.2、HIPO圖(Hierarchy + Input-Process-Output)

核心組成
  • ?H圖(層次圖)?:模塊分解結構,附加追蹤編號。
  • ?IPO圖:為每個模塊定義輸入、處理邏輯、輸出三要素。
?關鍵特征
  • ?可追蹤性:模塊編號體系(如1.2.3)明確層級關系。
  • ?設計完整性:H圖描述結構,IPO圖補充行為。
  • ?IBM標準格式:常用于傳統結構化方法,與數據字典配合使用。

1.3、層次圖 vs. HIPO圖對比

維度層次圖HIPO圖
?核心目標模塊結構分解模塊結構+行為設計
?信息維度僅層次關系層次+輸入/處理/輸出細節
?可追溯性無編號體系嚴格編號支持模塊追蹤
?設計深度宏觀架構宏觀到微觀的完整設計
?適用階段初步設計詳細設計階段

2、符號 

H圖

 

HIPO圖 

3、例子

H圖

HIOP圖 

 

八、 結構圖

1、概述

步驟1:確定系統邊界。步驟2:構建模塊層次樹。步驟3:定義調用關系。步驟4:標注數據流。步驟5:處理特殊邏輯。步驟6:連接數據存儲。步驟7:驗證與優化

2、符號

圖形符號名稱含義說明應用場景示例
?模塊框表示獨立功能單元,通常以"動詞+名詞"命名用戶管理模塊
訂單處理模塊
────調用關系線表示模塊間的單向調用關系訂單模塊 → 支付模塊
?──→ (空心圓箭頭)數據流箭頭表示模塊間傳遞數據結構,通常伴隨數據元素說明傳遞訂單數據:
{訂單ID, 金額, 商品列表}
●──→ (實心圓箭頭)控制信息箭頭表示傳遞控制標志或狀態碼,影響程序執行流程傳遞支付驗證狀態:
{狀態碼: 200, 錯誤信息: null}

3、例子 

 

九、面向數據流的設計方法

 面向數據流的設計(Data Flow-Oriented Design)是一種基于數據流圖(DFD)的結構化設計方法,旨在將系統的數據流程轉換為模塊化的軟件結構。

1、步驟

1.1.繪制數據流圖(DFD)

使用加工(Process)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/75406.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/75406.shtml
英文地址,請注明出處:http://en.pswp.cn/web/75406.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java基礎 流(Stream)

Stream Stream 的核心概念核心特點 Stream 的操作分類中間操作(Intermediate Operations)終止操作(Terminal Operations) Stream 的流分類順序流(Sequential Stream)并行流(Parallel Stream&…

EAL4+ vs EAL7:高安全場景下的等級選擇策略

在數字化浪潮席卷全球的當下,信息安全已然成為各行各業穩健發展的基石。特別是在高安全需求場景中,選擇契合的安全等級成為保障信息資產安全的關鍵。EAL(Evaluation Assurance Level)評估保障級作為衡量信息技術產品安全保障能力的…

【Java集合】TreeSet、TreeMap源碼解讀

參考筆記:java TreeSet 和 TreeMap 源碼解讀-CSDN博客 目錄 1.前言 2.紅黑樹 2.1 紅黑樹的五大性質 2.2 節點顏色的初始設置 2.3 插入新節后的調整 2.4 刪除結構后的調整 2.5 排序規則 2.6 設計紅黑樹的原因 3.TreeSet簡介、底層實現 3.1 TreeSet簡介 3.…

【C++初學】C++核心編程技術詳解(二):類與繼承

函數提高 3.1 函數默認參數 函數的形參可以有默認值&#xff0c;調用時可以省略這些參數。 示例代碼&#xff1a; int func(int a, int b 10, int c 10) {return a b c; }int main() {cout << "ret " << func(20, 20) << endl;cout <<…

Next.js + Droplet:高并發視頻內容平臺部署與優化擴展實戰

在構建在線服務時&#xff0c;無論你是開發者還是企業技術負責人&#xff0c;擴展性和穩定性始終是繞不開的核心挑戰。尤其在涉及高并發訪問、大量數據傳輸和持續內容分發的場景中&#xff0c;系統架構的設計直接決定了用戶體驗與業務成效。 本文將以視頻點播&#xff08;Video…

Python爬蟲第13節-解析庫pyquery 的使用

目錄 前言 一、pyquery 初始化 1.1 字符串初始化 1.2 URL 初始化 1.3 文件初始化 二、基本 CSS 選擇器 三、pyquery 查找節點 3.1 子節點 3.2 父節點 3.3 兄弟節點 四、遍歷 五、獲取信息 5.1 獲取屬性 5.2 獲取文本 六、節點操作 6.1 addClass 和 removeClass…

【Hadoop入門】Hadoop生態之Pig簡介

1 什么是Pig&#xff1f; 在大數據分析領域&#xff0c;Apache Pig是一個不可忽視的重要工具。Pig是Apache Hadoop生態系統中的一個高級數據分析平臺&#xff0c;它提供了一種稱為Pig Latin的腳本語言&#xff0c;用于簡化大規模數據集的并行處理。Pig的核心思想是將復雜的數據…

python 語言 設計模式

python 語言 設計模式 設計模式是指在軟件開發過程中,針對反復出現的問題所總結歸納出的通用解決方案。以下是一些常見的Python語言設計模式: 目錄 python 語言 設計模式創建型模式結構型模式行為型模式創建型模式 單例模式 定義:保證一個類只有一個實例,并提供一個全局訪…

QT QML布局

一、?錨點布局(Anchors) 通過定義元素與其他元素或父容器的錨點關系實現定位,支持動態調整和邊距控制?。 Rectangle {anchors.left: parent.left // 左對齊父容器anchors.top: parent.top // 頂部對齊父容器anchors.margins: 10 // 統一設置四周邊距width: …

【力扣03】無重復字符的最長子串

題目 給定一個字符串 s &#xff0c;請你找出其中不含有重復字符的 最長 子串 的長度。 示例 1: 輸入: s "abcabcbb" 輸出: 3 解釋: 因為無重復字符的最長子串是 "abc"&#xff0c;所以其長度為 3。示例 2: 輸入: s "bbbbb" 輸出: 1 解釋:…

一文介紹阿里32B推理模型

什么是QwQ-32B&#xff1f; QwQ-32B并非普通的聊天機器人模型&#xff0c;而是推理模型。推理模型專注于邏輯拆解問題、分步推導&#xff0c;并輸出結構化答案。 通過下面的示例&#xff0c;我們可以直觀看到QwQ-32B的思考過程&#xff1a; qwq-32b思考過程 如果你需要寫作輔…

AutoGen深度解析:從核心架構到多智能體協作的完整指南

AutoGen是微軟推出的一個革命性多智能體(Multi-Agent)框架&#xff0c;它通過模塊化設計和靈活的對話機制&#xff0c;極大地簡化了基于大型語言模型(LLM)的智能體系統開發。本文將深入剖析AutoGen的兩個核心模塊——core基礎架構和agentchat多智能體對話系統&#xff0c;帶您全…

HTML的svg元素

<svg>元素 <svg>是一種用于描述二維矢量圖形的 XML 格式&#xff0c;可以直接嵌入 HTML 文檔中。 <svg>基本用法 <svg>的幾種基本用法,包括圓形&#xff0c;正方形&#xff0c;三角形&#xff0c;直線 &#xff0c;折線等 <body><svg widt…

Qt 子項目依賴管理:從原理到實踐的最佳分析:depends還是 CONFIG += ordered

1. 問題背景 在Qt項目開發中&#xff0c;當一個工程包含多個子項目&#xff08;如庫、插件、測試模塊&#xff09;時&#xff0c;如何正確管理它們的構建順序和依賴關系&#xff1f; 如&#xff1a; 在開發一個包含核心庫&#xff08;core&#xff09;、GUI模塊&#xff08;g…

業務冪等性技術架構體系-接口冪等

接口冪等 對于冪等的考慮&#xff0c;主要解決兩點前后端交互與服務間交互。這兩點有時都要考慮冪等性的實現。從前端的思路解決 的話&#xff0c;主要有三種&#xff1a;前端防重、PRG模式、Token機制。 前端防重 通過前端防重保證冪等是最簡單的實現方式&#xff0c;前端相關…

AI工具導航大全 | 2025精選版(持續更新)

&#x1f680; AI工具導航大全 | 2025精選版&#xff08;持續更新&#xff09; 更新日期&#xff1a;2025-04-11 | 適用場景&#xff1a;學術研究 | 辦公提效 | 創意設計 | 開發編程 數據來源&#xff1a;綜合高校實驗室、企業實踐及開發者社區推薦 &#x1f50d; 導航目錄 &…

驅動-內核空間和用戶空間數據交換

內核空間與用戶控件數據交換 前面了解的字符設備中對 file_operations 結構體的進行了填充&#xff0c; 該 結構體的每一個成員都對應著一個系統調用&#xff0c; 例如 read、 write 等&#xff0c; 在字符設備相關的文章中有實驗過對 調用函數進行了標志打印&#xff0c; 并沒…

5G_WiFi_CE_DFS

目錄 一、規范要求 1、法規目錄 2、定義 3、運行模式 4、主/從設備相關的運行行為及具體的動態頻率選擇&#xff08;DFS&#xff09;要求 5、產品角色確定測試項目 6、測試項目 測試項1&#xff1a;信道可用性檢查&#xff08;Channel Availability Check&#xff09; …

Devops之GitOps:什么是Gitops,以及它有什么優勢

GitOps 定義 GitOps 是一種基于版本控制系統&#xff08;如 Git&#xff09;的運維實踐&#xff0c;將 Git 作為基礎設施和應用程序的唯一事實來源。通過聲明式配置&#xff0c;系統自動同步 Git 倉庫中的期望狀態到實際運行環境&#xff0c;實現持續交付和自動化運維。其核心…

【藍橋杯】單片機設計與開發,第十二屆

/*頭文件聲明區*/ #include <STC15F2K60S2.H>//單片機寄存器頭文件 #include <init.h>//初始化底層驅動頭文件 #include <led.h>//led,蜂鳴器,繼電器底層驅動頭文件 #include <key.h>//按鍵底層驅動頭文件 #include <seg.h>//數碼管底層驅動頭…