【系統架構師】-案例篇(八)數據流圖

數據流:數據流是系統中數據的流動,它可以是輸入、輸出或存儲在系統中的數據。
數據處理過程:數據處理過程是對數據進行處理的單元,可以是一個物理設備或軟件模塊。
數據存儲:數據存儲是系統中存儲數據的單元,可以是一個文件、數據庫或內存中的變量。
外部實體:外部實體是與系統進行信息交流的外部機構或個人,它可以是一個用戶、另一個系統或傳感器等。

某公司擬開發一個商業情報處理系統,使公司能夠及時針對市場環境的變化及時調整發展戰略,以獲取最大的商業利益。項目組經過討論,決定采用結構化分析和設計方法。在系統分析階段,為了更好地對情報數據處理流程及其與外部角色的關聯進行建模,項目組成員分別給出了自己的設計思路:
(1) 小張提出先構建系統流程圖(System Flowcharts),以便更精確地反映系統的業務處理過程及數據的輸入和輸出。
(2) 小李提出先構建系統數據流圖(Data Flow Diagrams),來展現系統的處理過程和定義業務功能邊界,并給出了情報分類子系統的0層和1層數據流圖,后者如下圖所示。

項目組經討論確定以數據流圖作為本階段的建模手段。工程師老王詳細說明了流程圖和數據流圖之間的區別與聯系,并指出了上圖所示數據流圖中存在的錯誤。

問題1:

流程圖和數據流圖是軟件系統分析設計中常用的兩種手段,請用300字以內文字簡要說明流程圖與數據流圖的含義及其區別,并說明項目組為何確定采用數據流圖作為建模手段。

數據流圖作為一種圖形化工具,用來說明業務處理過程、系統邊界內所包含的功能和系統中的數據流。

流程圖以圖形化的方式展示應用程序從數據輸入開始到獲得輸出為止的邏輯過程,描述處理過程的控制流。

兩者的區別主要包括:

(1) 數據流圖中的處理過程可并行;流程圖在某個時間點只能處于一個處理過程。

(2) 數據流圖展現系統的數據流;流程圖展現系統的控制流。

(3) 數據流圖展現全局的處理過程,過程之間遵循不同的計時標準;流程圖中處理過程遵循一致的計時標準。

(4) 數據流圖適用于系統分析中的邏輯建模階段;流程圖適用于系統設計中的物理建模階段

本題項目組為了更好地對情報數據處理流程及其與外部角色的關聯進行建模,符合數據流圖的應用場景要求,因此,首先構建數據流圖以反映數據流向和系統邊界。

[問題2]

請分析指出上圖所示的數據流圖中存在的錯誤及其原因。

1.jpg

(1) “分類訓練”加工:只有輸入沒有輸出,產生數據黑洞;

(2) “分類處理”加工:只有輸出沒有輸入,無中生有;

(3) “規則文件”數據流:外部實體沒有經過加工處理,直接到數據存儲;

(4) “配置信息”數據流:外部實體之間沒有加工處理,存在直接數據流。

數據流圖中常見的錯誤分為兩種類型:

一類是語法錯誤,包括外部實體之間、數據存儲之間或外部實體與數據存儲之間不經過加工而存在直接數據流;

另一類是邏輯錯誤,包括數據黑洞(只有輸入沒有產生輸出)、灰洞(輸入不足以產生輸出)和無輸入。

對于復雜系統,一般采用分層數據流圖逐步細化系統的內部處理邏輯。0層數據流圖是1層數據流圖更高級別的抽象。

“分類訓練”和“分類處理”加工屬于內部加工,

“分類規則”數據流屬于內部數據流,抽象為“情報分類子系統”加工。

“樣本數據”、“規則文件”和“配置信息”為輸入數據流;

“分類結果”為輸出數據流。

[問題3]

高質量的數據流圖是可讀的、內部一致的并能夠準確表示系統需求。請用300字以內文字說明在設計高質量的數據流圖時應考慮的三個原則。

(1) 復雜性最小化原則。DFD分層結構就是把信息劃分為小的且相對獨立的一大批子集例子,這樣就可以單獨考查每一個DFD。如果要了解某個過程更加詳細的信息,可以跳轉到該過程的下一層;如果要知道一個DFD如何與其他DFD相關聯,跳轉到上一層的DFD進行考查。

(2) 接口最小化原則。接口最小化是復雜性最小化的一種具體規則,在設計模型時,應使得模型中各個元素之間的接口數或連接數最小化。

(3) 數據流一致性原則。一個過程和它的過程分解在數據流內容中是否有差別 是否存在有數據流出但沒有相應的數據流入的加工 是否存在有數據流入但沒有相應的數據流出的加工。

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

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

相關文章

焦作定制在線教育系統上線,小學英語教案怎么寫?教案要怎么下筆?

說到小學英語這也是當前,學生們的重點,那作為配套的輔導機構,要怎么寫教案?這也是需要關注的地方,因為教案關系著教學,有了它學生們上課才會更有效率,所以,會寫教案也是上課的第一步。 教案要怎…

小紅書·電商運營課:小紅書開店流程,小紅書電商如何運營(18節視頻課)

課程目錄 第1節課:學習流程以及后續實操流程注意事項 第2節課:小紅書店鋪類型解析以及開店細節 第3節課:小紅書電商運營兩種玩法之多品店鋪解析 第4節課:小紅書電商運營兩種玩法之單品店鋪解析 第5節課:選品課(多品類類目推薦) 第6節課:選品課(多品類類目推薦) 第7節課:…

百度GL地圖實現某一段路的路況(new BMapGL.DrivingRouteLine)

功能描述: 1.百度地圖實現點擊地圖出現起點,再次點擊出現終點(起點終點能拖動)繪制完終點后獲取該路的路況并且起點和終點可以拖動實現實時更新(新繪制的路段的)路況 2.地點搜索 效果如下: 關鍵…

Springboot+Vue項目-基于Java+MySQL的制造裝備物聯及生產管理ERP系統(附源碼+演示視頻+LW)

大家好!我是程序猿老A,感謝您閱讀本文,歡迎一鍵三連哦。 💞當前專欄:Java畢業設計 精彩專欄推薦👇🏻👇🏻👇🏻 🎀 Python畢業設計 &…

Web自動化-日志收集

目標 1. 理解日志的相關概念 2. 掌握日志的基本用法 3. 掌握日志的高級用法 一、日志相關概念 目標 1. 了解日志的概念 2. 理解日志的作用 3. 掌握常見的日志級別 1. 日志 概念:日志就是用于記錄系統運行時的信息,對一個事件的記錄&#xff1b…

ffmpeg解析rtsp流獲取視頻的寬高

要使用FFmpeg來解析RTSP流并獲取視頻的寬度和高度,你可以使用avformat_find_stream_info函數來獲取流的信息,然后從AVStream結構體中讀取視頻的寬度和高度。以下是一個簡單的示例代碼: #include <libavformat/avformat.h> int main(int argc, char *argv[]) {AVForm…

ppt轉pdf的java實現

一、實現方式 java采用jacob包的功能&#xff0c;把ppt演示文稿轉換為pdf。 支持文件格式&#xff1a;pptx,ppt 二、事先準備 1、依賴于office&#xff0c;需安裝office辦公軟件 2、需要下載一個jacob-1.20-x64.dll的文件&#xff0c;放到java的bin目錄下。 文件可以網上搜…

電影網站|基于SSM+vue的電影網站系統(源碼+數據庫+文檔)

電影網站 目錄 基于SSMvue的電影網站系統 一、前言 二、系統設計 三、系統功能設計 1 系統功能模塊 2 管理員功能模塊 四、數據庫設計 五、核心代碼 六、論文參考 七、最新計算機畢設選題推薦 八、源碼獲取&#xff1a; 博主介紹&#xff1a;??大廠碼農|畢設布道…

Linux sliplogin命令教程:如何使用sliplogin命令建立SLIP服務器(附實例詳解和注意事項)

Linux sliplogin命令介紹 sliplogin&#xff08;Serial Line Internet Protocol Login&#xff09;命令用于將SLIP接口加入標準輸入&#xff0c;把一般終端機的連線變成SLIP連線。通常可用來建立SLIP服務器&#xff0c;讓遠端電腦以SLIP連線到服務器。 Linux sliplogin命令適…

貪心算法-----檸檬水找零

今日題目&#xff1a;leetcode860 題目鏈接&#xff1a;點擊跳轉題目 分析&#xff1a; 顧客只會給三種面值&#xff1a;5、10、20&#xff0c;先分類討論 當收到5美元時&#xff1a;不用找零&#xff0c;面值5張數1當收到10美元時&#xff1a;找零5美元&#xff0c;面值5張數…

未授權訪問:JBoss未授權訪問漏洞

目錄 1、漏洞原理? 2、環境搭建 3、未授權訪問 4、利用jboss.deployment getshell 防御手段 今天繼續學習各種未授權訪問的知識和相關的實操實驗&#xff0c;一共有好多篇&#xff0c;內容主要是參考先知社區的一位大佬的關于未授權訪問的好文章&#xff0c;還有其他大佬…

【Ubuntu 安裝erlang】

apt-get 安裝 apt-get install erlang或 源碼安裝 git clone https://github.com/erlang/otp.git cd otp git checkout maint-25 # current latest stable version ./configure make make install安裝完后&#xff0c;驗證是否成功 # 命令行輸入 erl

7.用戶、角色、菜單表SQL

用戶與角色是 多對多的關系&#xff1b; 角色與菜單權限 多對多的關系&#xff1b; 菜單權限表 create table acl_permission (id char(19) not null DEFAULT COMMENT 編號,pid CHAR(19) not null DEFAULT COMMENT 所屬上級,name VARCHAR(20) not NULL DEFAULT COMMENT …

C語言經典例題-7

1.計算三角形的周長和面積 題目描述&#xff1a; 根據給出的三角形3條邊a, b, c&#xff08;0 < a, b, c < 100,000&#xff09;&#xff0c;計算三角形的周長和面積。 輸入描述: 一行&#xff0c;三角形3條邊&#xff08;能構成三角形&#xff09;&#xff0c;中間用…

【ARM 嵌入式 C 入門及漸進 12.3 -- 將數值的第 s 位到 e 位清零】

請閱讀【嵌入式開發學習必備專欄】 文章目錄 將數值的第 s 位到 e 位清零 將數值的第 s 位到 e 位清零 為了定義一個VAL_CLR_BITS(val, s, n)宏&#xff0c;該宏將變量val的第s位到第n位清零&#xff08;假設n > s&#xff09;&#xff0c;其余位的值保持不變&#xff0c;我…

系統集成項目管理工程師第4章思維導圖發布

2024年開年&#xff0c;軟考系統集成項目管理工程師官方教程&#xff0c;迎來了闊別7年的大改版&#xff0c;改版之后的軟考中項考試&#xff0c;離同宗兄弟高項考試漸行漸遠。 中項第3版教程&#xff0c;僅僅從教程來看&#xff0c;其難度已經不亞于高級的信息系統項目管理師&…

數據結構與算法學習筆記三---循環隊列的表示和實現(C語言)

目錄 前言 1.為啥要使用循環隊列 2.隊列的順序表示和實現 1.定義 2.初始化 3.銷毀 4.清空 5.空隊列 6.隊列長度 7.獲取隊頭 8.入隊 9.出隊 10.遍歷隊列 11.完整代碼 前言 本篇博客介紹棧和隊列的表示和實現。 1.為啥要使用循環隊列 上篇文章中我們知道了順序隊列…

Hive Transaction事務表(含實現原理)

Hive Transaction事務表 在Hive中&#xff0c;事務表&#xff08;Transactional Tables&#xff09;允許用戶執行事務性操作&#xff0c;包括ACID&#xff08;原子性、一致性、隔離性、持久性&#xff09;特性。事務表是在Hive 0.14版本引入的&#xff0c;并且在后續版本中不斷…

LabVIEW天然氣壓縮因子軟件設計

LabVIEW天然氣壓縮因子軟件設計 項目背景 天然氣作為一種重要的能源&#xff0c;其壓縮因子的準確計算對于流量的計量和輸送過程的優化具有關鍵意義。傳統的計算方法不僅步驟繁瑣&#xff0c;而且難以滿足現場快速響應的需求。因此&#xff0c;開發一款既能保證計算精度又便于…

使用Pandas對Data列進行基于順序的分組排列

目錄 一、引言 二、Pandas庫簡介 三、按照數據列中元素出現的先后順序進行分組排列 四、案例分析 五、技術細節探討與擴展應用 1. 技術細節 2. 擴展應用 3. 示例代碼&#xff1a;用戶行為分析 4. 進階應用&#xff1a;分組后的聚合操作 5. 分組后的數據篩選 6. 分組…