軟件工程各種圖總結

目錄

1.數據流圖

2.N-S盒圖

3.程序流程圖

4.UML圖

UML用例圖

UML狀態圖

UML時序圖

5.E-R圖


首先要先了解整個軟件生命周期:

通常包含以下五個階段:需求分析-》設計-》編碼 -》測試-》運行和維護。

軟件工程中應用到的圖全部有:系統流程圖,數據流圖、數據字典、ER圖、狀態轉換圖、層次方框圖、Warnier圖、IPO圖、層次圖、HIPO圖、結構圖、程序流程圖、盒圖、PAD圖、判定表、判定樹、過程設計語言、jackson圖、流圖,甘特圖、工程網絡圖,UML圖。

在軟件工程中各階段所需要用到的圖如下:

下面重點介紹一下程序流程圖,N-S(盒圖),數據流圖,UML圖,主要是供大家分清各種圖以及幫助大家能簡單的畫出這些圖。

1.數據流圖

數據流圖(Data Flow Diagram,DFD)是一種圖形化技術,它描繪信息流和數據從輸入移動到輸出的過程中所經受的變換。

基本符號:

數據流圖中應該描繪所有可能的數據流向,而不應該描繪出現某個數據流的條件。

示例圖:

2.N-S盒圖

Nassi和Shneiderman提出了一種符合結構化程序設計原則的圖形描述工具,稱為盒圖,又稱為N-S圖(以兩個人的名字的第一個字母組成)。在N-S圖中,全部算法寫在一個大框圖內,這個大框圖由若干個小的基本框圖構成,可以表示順序、選擇和循環三種基本控制結構,如下圖所示三種圖形結構

3.程序流程圖

系統流程圖用圖形化的符號來記錄整個系統和系統各模塊的結構,描述了系統各子系統、相關文件和數據之間的關系。記錄了整個系統的體系結構。系統流程圖主要應用在系統架構階段,是系統分析員或系統設計師對將要構建系統的一種描述,這種描述以簡單圖形化的方式給出了系統的整體結構,涉及到系統將要使用的各種部件,如子系統、數據庫、磁盤、文件、用戶的輸入與輸出等。

基本符號:

示例圖:

4.UML圖

UML圖分為靜態圖和動態圖兩類:

靜態圖:用例圖,類圖,對象圖,組件圖,部署圖

動態圖:狀態圖,時序圖,協作圖,活動圖。

UML用例圖

用例圖的構成元素又四個:參與者(角色)用例、系統邊界、元素之間的關系

用例圖中的關系有四種:關聯、泛化、包含、擴展

示例如下:?

UML狀態圖

  • 初始狀態:用一個實心圓形表
  • 最終狀態:用一個圓圈內嵌實心圓點表示
  • 選擇狀態:用一個菱形表示,條件分支上方括號內的文字表示監護條件(guard conditions)

UML時序圖

時序圖的元素
我們在畫時序圖時會涉及7種元素:角色(Actor)、對象(Object)、生命線(LifeLine)、控制焦點(Activation)、消息(Message)、自關聯消息、組合片段。其中前6種是比較常用和重要的元素,剩余的一種組合片段元素不是很常用,但是比較復雜。我們先介紹前6種元素,在單獨介紹組合片段元素。

角色(Actor)
系統角色,可以是人或者其他系統,子系統。以一個小人圖標表示。
對象(Object)
對象位于時序圖的頂部,以一個矩形表示。對象的命名方式一般有三種:
? ? 1 對象名和類名。例如:華為手機:手機、loginServiceObject:LoginService。
? ? 2 只顯示類名,不顯示對象,即為一個匿名類。例如::手機、:LoginSservice。
? ? 3 只顯示對象名,不顯示類名。例如:華為手機:、loginServiceObject:。
生命線(LifeLine)
時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線(對象的時間線)。以一條垂直的虛線表。
控制焦點(Activation)
控制焦點代表時序圖中在對象時間線上某段時期執行的操作。以一個很窄的矩形表示。
消息(Message)
表現代表對象之間發送的信息。消息分為三種類型。
? ? 同步消息(Synchronous Message)
消息的發送者把控制傳遞給消息的接收者,然后停止活動,等待消息的接收者放棄或者返回控制。用來表示同步的意義。以一條實線+實心箭頭表示。
? ? 異步消息(Asynchronous Message)
消息發送者通過消息把信號傳遞給消息的接收者,然后繼續自己的活動,不等待接受者返回消息或者控制。異步消息的接收者和發送者是并發工作的。以一條實線+大于號表示。
? ? 返回消息(Return Message)
返回消息表示從過程調用返回。以小于號+虛線表示。
自關聯消息
表示方法的自身調用或者一個對象內的一個方法調用另外一個方法。以一個半閉合的長方形+下方實心剪頭表示。

5.E-R圖

基本元素如下:

  1. 實體(Entity):實體表示現實世界中的一個獨立對象,可以是人、物、地點、概念等。在E-R圖中,實體用矩形框表示,框內寫上實體的名稱。
  2. 屬性(Attribute):屬性是描述實體特征的信息。每個實體可以有多個屬性,例如一個人實體可以有姓名、年齡、性別等屬性。屬性以橢圓形狀表示,并與相應的實體相連。其中能夠唯一標識實體的屬性稱為主鍵。
  3. 關系(Relationship):關系表示實體之間的相互作用或聯系。關系可以是一對一、一對多或多對多的。在E-R圖中,關系用菱形表示,并與相關的實體相連。關系還可以具有屬性,用于描述與關系相關的信息。
  4. 主鍵(Primary Key):用于唯一標識實體的屬性,通常在實體框內用下劃線或加粗表示。主鍵屬性的值在整個實體集合中必須是唯一的,用于區分不同的實體。

?示例:

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

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

相關文章

王者榮耀游戲測試場景題

如何測試一個新英雄:方法論與實踐維度 測試一個新英雄不僅僅是“打打打”,而是一套完整的測試流程,包括設計文檔驗證、功能驗證、數值驗證、性能驗證、交互驗證等。可以從以下多個角度展開: 🔍 1. 方法論維度 ? 測試…

第四天的嘗試

目錄 一、每日一言 二、練習題 三、效果展示 四、下次題目 五、總結 一、每日一言 很抱歉的說一下,我昨天看白色巨塔電視劇,看的入迷了,同時也看出一些道理,學到東西; 但是把昨天的寫事情給忘記了,今天…

多模態大語言模型arxiv論文略讀(七十八)

AID: Adapting Image2Video Diffusion Models for Instruction-guided Video Prediction ?? 論文標題:AID: Adapting Image2Video Diffusion Models for Instruction-guided Video Prediction ?? 論文作者:Zhen Xing, Qi Dai, Zejia Weng, Zuxuan W…

優化 Spring Boot 應用啟動性能的實踐指南

1. 引言 Spring Boot 以其“開箱即用”的特性深受開發者喜愛,但隨著項目復雜度的增加,應用的啟動時間也可能會變得較長。對于云原生、Serverless 等場景而言,快速啟動是一個非常關鍵的指標。 2. 分析啟動過程 2.1 啟動階段概述 Spring Boot 的啟動流程主要包括以下幾個階…

Ubuntu下配置VScode出現#include錯誤請更新includePath的解決方法

首先Ubuntu新手小白一定要先安裝g,安裝方法是: 在桌面右鍵打開終端,輸入:sudo apt-get install g 安裝好g之后,在vscode終端輸入:g -v -E -x c - 輸出這些路徑,復制 如果還存在顯示cout不存在的…

【背包dp】小結

背包問題總結 一、什么是背包問題? 定義:給定一個容量為 W 的背包和 n 件物品,每件物品有一個重量 w[i] 和價值 v[i],要求選擇若干物品放入背包,在不超過容量的前提下,使總價值最大。 背包問題本質是&am…

濟南國網數字化培訓班學習筆記-第三組-1-電力通信傳輸網認知

電力通信傳輸網認知 電力通信基本情況 傳輸介質 傳輸介質類型(導引與非導引) 導引傳輸介質,如電纜、光纖; 非導引傳輸介質,如無線電波; 傳輸介質的選擇影響信號傳輸質量 信號傳輸模式(單工…

代碼隨想錄算法訓練營第六十四天| 圖論9—卡碼網47. 參加科學大會,94. 城市間貨物運輸 I

每日被新算法方式轟炸的一天,今天是dijkstra(堆優化版)以及Bellman_ford ,嘗試理解中,屬于是只能照著代碼大概說一下在干嘛。 47. 參加科學大會 https://kamacoder.com/problempage.php?pid1047 dijkstra&#xff08…

upload-labs通關筆記-第8關 文件上傳之點繞過

目錄 一、點繞過原理 二、deldot()函數 三、源碼分析 四、滲透實戰 1、構建腳本test8.php 2、打開靶場 3、bp開啟攔截 4、點擊上傳 5、bp攔截 6、后綴名增加點 7、發包并獲取腳本地址 8、訪問腳本 本文通過《upload-labs靶場通關筆記系列》來進行upload-labs靶場的滲…

Spring Web MVC————入門(3)

今天我們來一個大練習,我們要實現一個登錄界面,登錄進去了先獲取到登錄人信息,可以選擇計算器和留言板兩個功能,另外我們是學后端的,對于前端我們會些基礎的就行了,知道ajax怎么用,知道怎么關聯…

PhpStudy | PhpStudy 工具安裝 —— Windows 系統安裝 PhpStudy

🌟想了解這個工具的其它相關筆記?看看這個:[網安工具] 服務器環境配置工具 —— PhpStudy 使用手冊 筆者備注:Windows 中安裝 PhpStudy 屬于傻瓜式安裝,本文只是為了體系完善而發。 在前面的章節中,筆者簡…

K230 ISP:一種新的白平衡標定方法

第一次遇見需要利用光譜響應曲線進行白平衡標定的方法。很好奇是如何利用光譜響應曲線進行白平衡標定的。 參考資料參考:K230 ISP圖像調優指南 K230 介紹 嘉楠科技 Kendryte 系列 AIoT 芯片中的最新一代 AIoT SoC K230 芯片采用全新的多核異構單元加速計算架構&a…

通俗解釋Transformer在處理序列問題高效的原因(個人理解)

Transformer出現的背景 CNN 的全局關聯缺陷卷積神經網絡(CNN)通過多層堆疊擴大感受野,但在自然語言處理中存在本質局限: 局部操作的語義割裂:每個卷積核僅處理固定窗口(如 3-5 詞),…

Java 多線程基礎:Thread 類核心用法詳解

一、線程創建 1. 繼承 Thread 類(傳統寫法) class MyThread extends Thread { Override public void run() { System.out.println("線程執行"); } } // 使用示例 MyThread t new MyThread(); t.start(); 缺點:Java 單…

Django 中時區的理解

背景 設置時區為北京時間 TIME_ZONE ‘Asia/Shanghai’ # 啟用時區支持 USE_TZ True 這樣設置的作用 前端 (實際上前端el-date-picker 顯示的是當地時區的時間) Element組件轉換后,我們是東八區,前端傳給后端的時間為&…

C# 深入理解類(成員常量)

成員常量 成員常量類似前一章所述的局部常量,只是它們被聲明在類聲明中而不是方法內,如下面的 示例: 與局部常量類似,用于初始化成員肯量的值在編譯時必須是可計算的,而且通常是一個預定 義簡單類型或由它們組成的表達…

【深度學習】#12 計算機視覺

主要參考學習資料: 《動手學深度學習》阿斯頓張 等 著 【動手學深度學習 PyTorch版】嗶哩嗶哩跟李沐學AI 目錄 目標檢測錨框交并比(IoU)錨框標注真實邊界框分配偏移量計算損失函數 非極大值抑制預測 多尺度目標檢測單發多框檢測(S…

MCP實戰:在扣子空間用扣子工作流MCP,一句話生成兒童故事rap視頻

扣子最近迎來重要更新,支持將扣子工作流一鍵發布成MCP,在扣子空間里使用。 這個功能非常有用,因為我有很多業務工作流是在扣子平臺上做的,兩者打通之后,就可以在扣子空間里直接通過對話方式調用扣子工作流了&#xff0…

Redis學習打卡-Day3-分布式ID生成策略、分布式鎖

分布式 ID 當單機 MySQL 已經無法支撐系統的數據量時,就需要進行分庫分表(推薦 Sharding-JDBC)。在分庫之后, 數據遍布在不同服務器上的數據庫,數據庫的自增主鍵已經沒辦法滿足生成的主鍵全局唯一了。這個時候就需要生…

LabVIEW光譜信號仿真與數據處理

在光譜分析領域,LabVIEW 憑借其圖形化編程、豐富函數庫及強大數據處理能力,成為高效工具。本案例將介紹如何利用 LabVIEW 仿真光譜信號,并對實際采集的光譜數據進行處理,涵蓋信號生成、數據采集、濾波、分析及顯示等環節。 ? 一…