面向數據流的設計方法

面向數據流的設計方法的目標是給出設計軟件結構的一個系統化的途徑。

在軟件工程的需求分析階段,信息流是一個關鍵考慮。通常用數據流圖描繪信息在系統中加工和流動的

情況。面向數據流的設計方法定義了一些不同的“映射”,利用這些映射可以把數據流圖變成軟件結構。

因為任何軟件系統都可以用數據流圖表示,所以面向數據流的設計方法理論上可以設計任何軟件的結構。

通常所說的結構化程序設計就是基于數據流的設計方法。

1.變換流

信息沿輸入通路進入系統,由外部形式變換成內部形式,進入系統的信息通過變換中心,經加工處理以

后再沿輸出通路變換成外部形式離開軟件系統。當數據流圖具有這些特征時,這種信息流就叫作變換流。

2.事務流

數據沿輸入通路到達一個處理T,這個處理根據輸入數據的類型在若干個動作序列中選出一個來執行。這

類數據流應該劃為一類特殊的數據流,稱為事務流。圖中的處理T稱為事務中心,它完成下述任務。
(1)接收輸入數據(輸入數據又稱為事務)。
(2) 分析每個事務以確定它的類型。
(3) 根據事務類型選取一條活動通路.


3.變換分析

第1步復查基本系統模型

第2步復查并精化數據流圖。

第3步確定數據流圖具有變換特性還是事務特性。

第4步確定輸入流和輸出流的邊界,從而孤立出變換中心。

第5步完成“第一級分解

軟件結構代表對控制的自頂向下的分配,所謂分解就是分配控制的過程。對于變換流的情況,數據流圖被映射成一個特殊的軟件結構,這個結構控制輸入、變換和輸出等信息處理過程。位于軟件結構最頂層的控制模塊Cm協調下述從屬的控制功能。輸入信息處理控制模塊Ca,協調對所有輸入數據的接收。變換中心控制模塊Ct,管理對內部形式的數據的所有操作。輸出信息處理控制模塊Ce,協調輸出信息的產生過程。

第6步完成“第二級分解”

第二級分解就是把數據流圖中的每個處理映射成軟件結構中一個適當的模塊。

第7步使用設計度量和啟發式規則對第一次分割得到的軟件結構進一步精化。

4.事物分析

數據流具有明顯的事務特點時采用事務分析方法。事務分析的設計步驟和變換分析的設計步驟大部分相同或類似,主要差別僅在于由數據流圖到軟件結構的映射方法不同。由事務流映射成的軟件結構包括一個接收分支和一個發送分支。

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

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

相關文章

AI研究的盲點:無解的神經網絡內在邏輯

論人工神經網絡內在邏輯的研究歷史及現狀。 伴隨著大數據,人工智能(AI)在沉寂了多年之后,又迎來了新的高潮。在這場涉及大部分科學的革命中,人工神經網絡釋放了人工智能(AI)。但科學家們發現&a…

Diango博客--9.歸檔、分類和標簽頁

文章目錄0.思路引導1.回顧2.歸檔頁面3.分類頁面4.標簽頁面0.思路引導 側邊欄已經正確地顯示了最新文章列表、歸檔、分類、標簽等信息,現在來完善歸檔、分類和標簽功能。 當用戶點擊歸檔下的某個日期、分類欄目下的某個分類或者標簽欄目下的某個標簽時,…

android studio1.2.6,1.2.2 使用Android Studio開發Android APP | 菜鳥教程

寫在前面本節將介紹如何使用Android Studio開發Android APP,和前面Eclipse ADT SDK搭建Android開發環境一樣,本節也只是介紹一些基本東西,深入的,比如快捷鍵,小技巧等會再另一篇文章中詳細地介紹!1.下載A…

軟件工程中的啟發規則

1.改進軟件結構提高模塊獨立性 2. 模塊規模應該適中 3.深度、寬度、扇出和扇入都應適當 4.模塊的作用域應該在控制域之內 5.力爭降低模塊接口的復雜程度 6.設計單入口單出口的模塊 7.模塊功能應該可以預測

C#指南,重溫基礎,展望遠方!(4)表達式

表達式是在操作數和運算符的基礎之上構造而成。 表達式的運算符指明了向操作數應用的運算。 運算符的示例包括 、-、*、/ 和 new。 操作數的示例包括文本、字段、局部變量和表達式。 如果表達式包含多個運算符,那么運算符的優先級決定了各個運算符的計算順序。 例如…

UPS開始嘗試“貨車+無人機”的投遞方式,不必再擔心快遞員離職了

繼亞馬遜“空中倉庫”,無人機送貨再現新形式。 作為世界上最大的快遞承運商與包裹遞送公司,UPS當然也沒有放過“送貨無人機”這一新穎業務。與亞馬遜推出“空中倉庫”的理念類似,UPS并沒有選擇讓無人機從倉庫直接起飛,而是將之與…

技術人員如何"正確"的浪費時間?

蘋果產品用戶要浪費時間,你就應該這樣做:買個有鎖的 iPhone ,每天刷幾百次威鋒網等待越獄或解鎖,看到新 App 就安裝,程序提示更新立刻升級;有新的固件(哪怕是 β 版)就壓制不住升級的欲望;每次 …

Diango博客--10.交流的橋梁“評論功能”

文章目錄0.思路引導1.創建"評論"應用2.設計"評論"的數據庫模型3.注冊"評論"模型到 admin4.設計“評論”表單5.展示評論表單6.“評論”視圖函數7.綁定 URL8.向讀者發送是否“評論”成功的狀態9.詳情頁底部顯示“評論”內容0.思路引導 本文將創建…

python與android交互,Android客戶端與Python服務器端的簡單通信

最近在做一個APP,需要與服務器通信,一點一點的嘗試,記錄一下。本文使用了OkHttp和Flask框架。Android客戶端:實現功能輸入完點擊OK按鈕后會toast成功的信息。Python服務端:各部分代碼如下:activity_main.xm…

結構程序設計

結構程序設計經典定義:如果一個程序的代碼塊僅僅通過順序、選擇和循環這3種基本控制結構進行連接,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結構化的。 結構程序設計更全面的定義:結構程序設計是盡可能少用GO TO語句…

Sql Server 開窗函數Over()的使用

利用over(),將統計信息計算出來,然后直接篩選結果集1 declare t table(2 ProductID int,3 ProductName varchar(20),4 ProductType varchar(20),5 Price int)6 7 insert t8 select 1,name1,P1,3 union all9 select 2,name2,P1,5 union all 10 select 3,…

云棲科技評論第48期:前沿科技對世界的改造 我們這代人只完成了1%

1、數字經濟版圖呈中美雙分趨勢 日本IT行業為前景擔憂 數字經濟版圖呈中美雙分趨勢 日本IT行業為前景擔憂 【新聞摘要】《日本經濟新聞》日前刊文稱,數字經濟的勢力版圖呈現中國和美國兩強雙分的趨勢明顯,這意味著日本可能不得不使用中美的技術&#xff…

程序員犯的非技術錯誤(Top 5)

對于程序開發者來說,有兩種技術需要我們掌握,一個是技術上的能力,另一個是非技術上的能力。不幸的是,許多程序員過多地關注了技術上的能力,而忽略了非技術上的能力的培養,因此,我們的程序員們經…

CentOS下添加Root權限用戶‘超級用戶’方法(xxx is not in the sudoers file.This incident will be reported.的解決方法)

文章目錄1.添加普通用戶2.添加sudo文件的寫權限3.編輯sudoers文件4.撤銷sudoers文件寫權限1.添加普通用戶 [rootserver ~]# useradd fxd //添加一個名為fxd的用戶 [rootserver ~]# passwd fxd //修改密碼 Changing password for user chenjiafa. New UNIX password: //在這里輸…

android打印intent flag,Android flag詳解

Android flag詳解Android flag詳解一.Flag標志位在閱讀源碼的時候經常發現有一些標志屬性使用一些位操作來判斷是否具有該標志,增加標志或者去除標志。如:二.addFlags (int flags)和setFlags (int flags)區別Public Intent addFlags (int flags)增加額外…

人機界面設計

1.系統響應時間 系統響應時間指從用戶完成某個控制動作(例如,按回車鍵或單擊鼠標),到軟件給出預期的響應(輸出信息或做動作)之間的這段時間。 系統響應時間有兩個重要屬性,分別是長度和易變性。 1)長度:時間過長&#…

GeoHash資料

geohash基本原理 轉載于:https://www.cnblogs.com/hyl8218/p/9111410.html

開啟市場新格局 且看新華三計算與存儲新品發布會

全球領先的新IT解決方案領導者新華三將于8月31日在北京釣魚臺國賓館舉辦“新IT 新動能 新格局 新華三下一代計算與存儲發布會”,重磅發布服務器和存儲的全線新品。 2017年初,新華三集團正式推出了“應用驅動 云領未來”的新IT戰略。在這一戰略指引下&…

Centos7更新 SQLite3至版本3.29.0

文章目錄1.創建 src 目錄并進到這個目錄2.下載 sqlite3 源碼并解壓安裝3.替換系統低版本 sqlite31.創建 src 目錄并進到這個目錄 fxd用戶下: mkdir -p ~/src cd ~/src 2.下載 sqlite3 源碼并解壓安裝 fxd用戶下: wget https://sqlite.org/2019/sqlite…

開發人員必學的5門課程

越來越多的Web開發人員通常都會問一些同樣的問題。比如:哪一種開發語言最重要?初級開發人員的薪金會是多少?公司提供的免費培訓有用嗎?如何評估一個新的項目?盡管這些問題都很重要,但是開發人員往往對其他人…