[架構之路-249]:目標系統 - 設計方法 - 軟件工程 - 需求工程- 需求開發:如何用圖形表達需求,結構化方法的需求分析

目錄

一、概述

二、數據模型:E-R圖/實體關系圖(數據單元之間的結構關系)

三、功能模型:數據流圖DFD(邏輯運算,包括輸入和輸出,實體之間的關系):輸入=》處理 =》 輸出

四、行為模型:狀態轉化圖(系統狀態)


一、概述

結構化方法的需求分析是指通過一系列嚴謹而規范的步驟,對系統的需求進行清晰的描述和分析,以確定系統需要滿足的功能和性能要求,以及系統與人、物、環境等相關方面之間的交互關系。

二、數據模型:E-R圖/實體關系圖(數據單元之間的結構關系)

E-R圖(Entity-Relationship Diagram),也稱為實體關系圖,是一種數據建模工具,用于描述現實世界中實體(entity)之間的關系(relationship)。它是一種圖形化的表示方法,能夠清晰地展示數據模型中各個實體之間的關聯和屬性。

在E-R圖中:

  • 實體本身用矩形框表示,
  • 實體的屬性用橢圓形表示。
  • 實體與實體的關系用用菱形表示:數量關系通過在雙方一側標注數字來標識,行為關系通過在菱形中增加文本表示。

以下是E-R圖中常用的符號和概念:

  1. 實體(Entity):代表現實世界中具有獨立實體性質的對象,例如人、物、地點等。每個實體都有一些屬性,用于描述和區分實體之間的差異。

    實體是指現實世界中的某個具體、獨立的事物,它可以用實體名表示,并具有一些屬性和行為。在數據庫中,實體可以被認為是需要被存儲、處理、管理、查詢的信息或對象(object),比如商品、客戶、訂單、文章、作者等。

    在實體關系圖中,一個實體通常以一個矩形來表示,矩形中包含實體名和該實體的屬性。屬性是指實體的特征描述,比如商品實體的屬性可能包括名稱、價格、描述等。實體之間的關系可以用連線來表示,這些連線描述了實體之間發生的各種事情,比如商品被下單、客戶購買商品等等。

    繪制實體關系圖是數據庫設計的重要過程之一。通過分析現實世界中的業務流程、數據需求和數據結構,可以構建一個合理、可維護、易于擴展的實體關系圖。實體關系圖不僅能夠幫助開發者對數據進行良好的設計和管理,還可以作為協作與溝通的工具,幫助項目各方了解業務需求和數據結構。

  2. 屬性(Attribute):描述實體的特征和性質,例如人的姓名、年齡、身高等。屬性可以是簡單的,也可以是復雜的,可以包含多個值。

  3. 關系(Relationship):描述實體之間的聯系和交互。關系可以是一對一、一對多或多對多的關系。例如,學生和課程之間的關系可以是學習關系,一個學生可以選擇多門課程,一門課程可以由多個學生選修。

  4. 基本關系類型:包括一對一(1:1)、一對多(1:N)和多對多(M:N)關系。

E-R圖提供了一種直觀且易于理解的方式來描述數據模型,它是數據庫設計和系統分析中常用的工具之一。通過E-R圖的繪制和分析,可以幫助設計師和開發人員更好地理解系統的結構和數據流動,從而準確捕捉需求,設計出高質量、合理結構的數據庫模型。

三、功能模型:數據流圖DFD(邏輯運算,包括輸入和輸出,實體之間的關系):輸入=》處理 =》 輸出

功能模型中的數據流圖(Data Flow Diagram,簡稱DFD)是一種常用的建模工具,用來描述信息系統中的數據流動和處理過程,與計算機的系統架構要表述的內容是一致的.

它通過圖形化的方式展示了系統中數據的來源(輸入)、去向(輸出)、處理和存儲等過程,幫助開發人員在系統設計時更好地理解系統中的數據流動。

數據流圖 (Data Flow Diagram,簡稱DFD) 中包含以下幾個主要元素:

  1. 外部實體 (External Entity):表示與系統交互的外部對象,如用戶、其他系統或設備。通常用方框表示,并在方框內部標明實體的名稱

  2. 數據流 (Data Flow):表示數據在系統中的流動。數據流可以是輸入數據、輸出數據或在系統內部流動的中間數據。通常用箭頭表示,并在箭頭上方標明數據流或流動的信息名稱

  3. 進程 (Process):表示對數據進行處理和轉換的操作或功能模塊。通常使用圓角矩形或圓形表示,并在圖形內部標明進程的名稱

  4. 數據存儲 (Data Store):表示數據在系統中的存儲位置,如數據庫、文件或內存等。通常使用類長方形表示,并在類長方形內部標明數據存儲的數據名稱

這些元素通過連接線連接起來,形成數據流圖的結構。連接線表示數據的流動路徑和數據流向。

除了上述主要元素,數據流圖中還可以使用控制流 (Control Flow) 元素表示控制信號和決策的流動。控制流使用類似于數據流的箭頭表示。

數據流圖的結構和元素的使用可以根據具體的系統和分析目的進行適當的調整和擴展。

在DFD中:

  • 數據流用箭頭表示
  • 數據處理用方框表示
  • 數據存儲用平行四邊形表示
  • 源和目標用橢圓形表示

以下是DFD中常用的符號和概念:

  1. 數據流(Data Flow),即數據流動:代表信息系統中傳遞的路徑,它可以是從數據源到數據目標的傳輸,也可以是在系統內部不同處理模塊之間的數據傳遞。

  2. 處理(Process)即邏輯運算ALU:代表對數據進行處理、計算、轉換或轉發等操作的模塊,它可以是計算機程序、人工處理或自動化的業務流程等。

  3. 數據存儲(Data Store),即計算器、內存、cache、數據庫、硬盤、文件等:代表系統中數據的存儲位置,可以是數據庫、文件或其他數據存儲設備

  4. 源和目標(Source and Destination):代表數據流的起點和終點,可以是外部來源或者系統內部的其他模塊

  5. 方向箭頭:表示數據的流向,從源到目標或從處理模塊到數據存儲。

通過DFD的繪制和分析,可以幫助設計師和開發人員更好地理解系統中各個部分之間的數據流動,從而更好地分析系統的流程和邏輯。這樣可以更準確地捕捉系統需求,設計出更合理的系統架構和流程,提高系統的設計效率和實現質量。

四、行為模型:狀態轉化圖(系統狀態)

狀態轉換圖(State Transition Diagram)是一種描述系統行為圖形化模型。它主要由狀態、轉移和事件組成,用于表示一個系統在不同狀態之間的轉換以及觸發狀態轉換的外部事件。

在狀態轉換圖中,狀態表示系統所處的特定狀態或條件。轉移表示狀態之間的切換,通常用箭頭連接起來,箭頭上可以標注觸發轉換的事件或條件。事件是引起狀態轉換的外部觸發器,例如用戶輸入、信號到達等。

狀態轉換圖往往用于描述系統的行為流程、狀態機、協議或者算法等。它可以幫助開發人員理清系統的狀態變化路徑,從而更加清晰地分析和設計系統的邏輯。

請注意,行為模型的狀態轉化圖可能因具體應用場景而異,因此,如果您有具體的應用場景,可以向我提供更多細節,我將盡力為您提供更精確的幫助。

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

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

相關文章

【科技素養】藍橋杯STEMA 科技素養組模擬練習試卷5

1、隨著對新冠肺炎研究的深入,多個國家都已經開始了針對新冠肺炎病毒的疫苗的開發。以下關于疫苗的描述中,不正確的是 A、滅活疫苗的基本原理是將經過處理的病原體注射進入人體內 B、大規模接種疫苗可以幫助達成“群體免疫“,阻斷病毒傳播 …

【VSCode】VSCode 使用

目錄 文章目錄 目錄插件配置設置代碼不顯示 git 提示 "xxx months ago | 1 author"設置打開項目不自動選擇 CMakeLists 插件 以下插件為 C 開發偏好設置。 C/CCMakeCMake ToolsGitLensRemote DevelopmentRemote Explorer 配置 設置代碼不顯示 git 提示 “xxx mon…

絕地求生:PGC 2023 賽事直播期間最高可獲:2000萬G-Coins,你還不來嗎?

今年PGC直播期間將有最高2000萬G-Coin掉落,究竟花落誰家咱們拭目以待 公告原文:Watch PGC 2023 Live And Earn G-Coins! 如何賺取高額G-Coin? Throughout the PGC 2023, an astounding 20,000,000 G-Coins will be up for grabs as part of …

一致性 Hash 算法 Hash 環發生偏移怎么解決

本篇是對文章《一文徹底讀懂一致性哈希算法》的重寫,圖文并茂,篇幅較長,歡迎閱讀完提供寶貴的建議,一起提升文章質量。如果感覺不錯不要忘記點贊、關注、轉發哦。原文鏈接: 《一文徹底讀懂一致性Hash 算法》 通過閱讀本…

【OpenCV實現圖像:可視化目標檢測框】

文章目錄 概要畫框函數代碼實現標簽美化角點美化透明效果小結 概要 目標檢測框的可視化在計算機視覺和機器學習領域中是一項重要的任務,有助于直觀地理解和評估目標檢測算法的性能。通過使用Python和相關的圖像處理庫,可以輕松實現目標檢測框的可視化。…

C++二分算法:最多可以參加的會議數目 II

本文涉及的基礎知識點 二分查找算法合集 本題其它解法 C二分向量算法:最多可以參加的會議數目 II 題目 給你一個 events 數組,其中 events[i] [startDayi, endDayi, valuei] ,表示第 i 個會議在 startDayi 天開始,第 endDay…

如何在Ubuntu 20.04.6 LTS系統上運行Selenium自動化測試

文章目錄 寫在前面一、 環境準備1.1 安裝python31.1.1 使用APT安裝Python31.1.2 使用PPA安裝較新版本的Python31.1.3 從源代碼編譯安裝Python31.2 安裝pip31.3 安裝jdk1.4 安裝運行所需瀏覽器1.4 使用Git拉取自動化測試代碼/復制自動化測試代碼到Ubuntu 20.04.6 LTS二、安裝pip…

Let’s xrOS 一款讓你優先體驗社區創作者的 visionOS App工具

Let’s xrOS Apple Vision Pro 發布預示著空間計算時代的到來,讓科技愛好者和開發者開始思考如何在新的交互、系統和硬件上打造獨特的三維應用。 自 WWDC 2023 的發布會后,社交媒體上涌現了許多精美的 visionOS App 的效果圖和演示視頻,然而…

Rola詳解國外住宅IP代理選擇的8個方法,穩定的海外IP哪個靠譜?

一、國外住宅IP代理是什么? 代理服務器充當您和互聯網之間的網關。它是一個中間服務器,將最終用戶與他們瀏覽的網站分開。如果您使用國外代理IP,互聯網流量將通過國外代理服務器流向您請求的地址。然后,請求通過同一個代理服務器…

常見樹種(貴州省):014槭樹、梧桐、鵝掌楸、檫木、梓木、油桐、泡桐、川楝、麻楝

摘要:本專欄樹種介紹圖片來源于PPBC中國植物圖像庫(下附網址),本文整理僅做交流學習使用,同時便于查找,如有侵權請聯系刪除。 圖片網址:PPBC中國植物圖像庫——最大的植物分類圖片庫 一、色木槭…

java--繼承快速入門

1.什么是繼承 java中提供了一個關鍵字extends,用這個關鍵字,可以讓一個類和另一個類建立其父子關系。 2.繼承的特點 子類能繼承父類的非私有成員(成員變量,成員方法)。 3.繼承后對象的創建 子類的對象是由子類、父類共同完成的。 4.繼承的…

基于IDEA+HTML+SpringBoot前后端分離電子商城

基于springboot的電子商城 項目介紹💁🏻 ?B2C 商家對客戶 ?C2B2C 客戶對商家對客戶 1.1.1 B2C 平臺運營方即商品的賣家 小米商城 ?商品 ?用戶 1.1.2 C2B2C 平臺運營方不賣商品(也可以賣) 賣家是平臺的用戶 買家也是平臺用戶 ?…

『C++成長記』C++入門—— 函數重載引用

🔥博客主頁:小王又困了 📚系列專欄:C 🌟人之為學,不日近則日退 ??感謝大家點贊👍收藏?評論?? 目錄 一、函數重載 📒1.1函數重載的概念 📒1.2函數重載的種類 …

基于51單片機音樂盒設計( proteus仿真+程序+原理圖+PCB+報告+講解視頻)

音樂盒 主要功能:仿真原理圖PCB圖程序設計:設計報告實物圖資料清單(提供資料清單所有文件):資料下載鏈接: 基于51單片機音樂盒仿真設計( proteus仿真程序原理圖PCB報告講解視頻) 仿真圖proteus …

Python實現交易策略評價指標-收益率

1.收益率的定義 收益率幾乎是所有投資者都會關注的一個指標,收益率的高低決定了投資策略的賺錢能力,常見關于收益率的指標如下: 持有期收益率 持有期收益率 期末投資權益 ? 期初投資權益 期初投資權益 持有期收益率 \frac {期末投資權益…

GeoTrust SSL數字安全證書介紹

一、GeoTrust OV證書的介紹 GeoTrust OV證書是由GeoTrust公司提供的SSL證書,它是一種支持OpenSSL的數字證書,具有更高的安全性和可信度。GeoTrust是全球領先的網絡安全解決方案提供商,為各類用戶提供SSL證書和信任管理服務。GeoTrust OV證書…

docker國內鏡像加速

創建或修改 /etc/docker/daemon.json 文件,修改為如下形式 {"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"] } Docker中國區官方鏡像htt…

51單片機應用從零開始(八)·循環語句(for循環、while 語句、do‐while 語句)

51單片機應用從零開始(七)循環語句(if語句,swtich語句)-CSDN博客 目錄 1. 用for 語句控制蜂鳴器鳴笛次數 2. 用while 語句控制 LED 3. 用 do‐while 語句控制 P0 口 8 位 LED 流水點亮 1. 用for 語句控制蜂鳴器鳴笛…

Kafka 控制器(controller)

Kafka 控制器(controller) 在kafka集群中 會存在一個或者多個broker(一個服務器就是一個broker),其中有一個broker會被選舉為控制器 kafka controller ,負責管理整個集群中所有副本、分區的狀態&#xff0…

多語言快速排序算法

快速排序是一種高效的排序算法,使用分治法策略。它的基本思想是:選擇一個元素作為“基準”(pivot),重新排序數列,所有比基準值小的元素擺放在基準前面,所有比基準值大的擺在基準的后面。在這個分…