軟考筆記--結構化分析方法

結構化分析(SA)方法的基本思想是自定向下,逐層分解,把一個大問題分解成若干個小問題,每一個小問題再分解成若干個更小的問題。經過逐層分解,每個最低層的問題都是足夠簡單、容易解決的。

SA方法分析模型的核心是數據字典,圍繞這個核心,有三個層次的模型,分別是數據模型,功能模型和行為模型。在實際工作中,一般使用E-R圖表示數據模型,用DFD表示功能模型,用狀態轉換圖STD表示行為模型。

一.數據流圖

DFD是SA方法中重要的工具,是表達系統內部數據的流動并通過數據流描述系統功能的一種方法,DFD還可以被認為是一個系統模型,在信息開發系統中,如果采用結構化方法,則一般將DFD作為需求規格說明書的一個組成部分。

1.DFD的主要作用

DFD從數據傳遞和加工的角度,利用圖形符號通過逐層細分描述系統內各個部件的功能和數據在它們之間的傳遞情況,來說明系統所完成的功能。主要作用如下:

(1)DFD是理解和表達用戶需求的工具,是需求分析的手段。

(2)DFD概括描述了系統的內部邏輯過程,是需求分析結果的表達工具,也是系統設計的重要參與資料,是系統設計的起點。

DFD作為一個存檔的文字材料,是進一步修改和充實開發計劃的依據。

2.DFD的基本符號

在DFD中,通常會出現4種基本符合,分別是數據流,加工,數據存儲和外部實體。數據流是具有名字和流向的數據,在DFD中用標有名字的箭頭表示。加工是對數據流的變換,一般用圓圈表示。數據存儲是可訪問的存儲信息,一般用直線表示。外部實體是位于建模的系統之外的信息生產者或消費者,是不能被計算機處理的成分。

3.DFD的層次

SA的方法的思路是依賴于DFD進行自上而下的分析。DFD提供一種表現系統高層和底層概念的機制,也就是先繪制一張教高層次的DFD,然后在次基礎上,對其中的加工進行分解,分解成若干個獨立的、低層次的、詳細的DFD,而且可以這樣逐個分解下去,直到系統被清晰描述出來。

(1)頂層圖

底層圖是是描述系統最高層結構的DFD,它的特點是將整個待開發的系統表示為一個加工,將所有的外部實體和進出系統的數據流都畫在一張圖中。

(2)逐層分解。當完成了頂層圖的建模之后,就可以在這個基礎上進一步分解。可以根據謠要對0 層圖上的加工進行類似的再分解,稱之為1層圖,在 1 層圖中引入的新加工,其編號規則就是1.1、1.2、…,以及 2.1、2.2、…,依次類推,直到完成分析工作。

4.如何畫DFD

DFD的繪制是一個自定向下、由外到里的過程,通過以下步驟進行:

(1)畫系統的輸入和輸出:在圖的邊緣標出系統的輸入數據流和輸出數據流。這一步其實是決定研究的內容和系統的范圍。

(2)畫DFD的內部:將系統的輸入輸出用用一系列的處理連接起來。

(3)為每一個數據流命名:命名的好壞與DFD的可理解性密切相關,應避免使用空洞的名字。

(4)為加工命名:使用動賓短語為每個加工命名

畫好DFD之后,需要進行檢查和修改,檢查和修改的原則如下:

(1)DFD中的所有圖形符號只限于前4種基本圖形元素,圖上每個元素必須有名字。

(2)每個加工至少有一個輸入數據流和一個輸出數據流,而且要保持數據守恒。

(3)在DFD中,需按層給員工加工編號。編號表明該加工處于那一層,以及上下層之間的關旭。

(4)規定任何一個DFD子圖必須與它上一層的加工對應,兩者的輸入數據流和輸出數據流必須一致。

(5)在整套DFD中,每個數據存儲必須啊喲既有讀的數據流,又有寫的數據流。

(6)可以在DFD中加入物質流,幫助用戶理解DFD,但不可夾帶控制流。

二.狀態轉換圖

STD通過描述系統的狀態和引起系統狀態轉換的事件,來表示系統的行為。此外,STD還指出作為特定事件的執行結果將執行哪些動作。狀態是任何可以被觀察到的系統行為模式,每個狀態代表系統的一種行為模式。在STD中,用圓形框或橢圓框表示狀態,通常在框內標上狀態名。狀態規定了系統對事件的響應方式。系統對事件的響應可以是做一個(或一系列)動作,也可以是僅僅改變系統本身的狀態。STD描述了系統如何在各種狀態之間移動。

在 STD 中,從一個狀態到另一個狀態的轉換用箭頭線表示,箭頭表明轉換方向,箭頭線上標上事件名。必要時可在事件名后面加一個方括號,括號內寫上狀態轉換的條件。也就是說,僅當方括號內所列出的條件為真時,該事件的發生才引起箭頭所示的狀態轉換。

STD 既可以表示循環運行過程,也可以表示單程生命期。當描述循環運行過程時, 通常不關心循環是怎樣啟動的。

三.數據字典

數據字典是在DFD的基礎上,對DFD中出現的所有命名元素都加以定義,使得每個圖形元素的名字都有一個確切的解釋。DFD和數據字典等工具配合,就可以從圖形和文字兩個方面對系統的邏輯模型進行完整的描述。

1.數據字典的條目

數據字典一般有六類條目,分別是數據元素、數據結構、數據存儲、加工邏輯和外部實體。不同類型的條目有不同的屬性需要描述。

(1)數據元素。數據元素也稱為數據項,是數據的最小組成單位。

(2)數據結構。數據結構用于描述某些數據元素之間的關系,是一個遞歸的概念,一個數據結構可以包含若干個數據元素或者數據結構。

(3)數據流。數據流有一個或一組數據元素組成,對數據流的描述應包括數據流的名稱、編號,簡要說明,來源,去處、組成和流通量。

(4)數據存儲。數據存儲的條目主要描寫改數據存儲的結構,以及有關的數據流和查詢要求。

(5)加工邏輯。需要描述加工的編號、名稱、功能的簡要說明,有關輸入輸出數據流。

(6)外部實體。外部實體是數據的來源和去向,對外部實體的描述應該包括外部實體的名稱、編號,簡要說明。

2.數據字典的作用

在整個系統開發過程和系統運行與維護階段,數據字典是所有人員工作的依據,統一的標準。數據字典可以確保數據在系統中的完整性和一致性。數據字典具有以下作用:

(1)按各種需求列表。可以根據數據字典,把所有數據條目按一定的順序列出,保證系統設計時不會遺漏。

(2)相互參照,便于系統修改。

(3)由描述內容檢索名稱。在一個稍微復雜的系統中,系統分析師可能沒有把握斷定某個數據元素在數據字典中是否已經被定義,或者記不清其確切名字時,可以由內容查找其名稱。

(4)一致性檢驗和完整性檢驗。

3.數據字典的管理

為了保證數據的一致性,數據字典必須由專人(數據管理員)管理。數據管理員的職責就是維護和管理數據字典,保證數據字典內容的完整性和一致性。任何人,包括系統分析師、軟件設計師、程序員,如果要修改數據字典的內容,都必須通過數據管理員。 數據管理員還要負責把數據字典的最新版本及時通知有關人員。

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

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

相關文章

78. 子集(力扣LeetCode)

文章目錄 78. 子集題目描述回溯算法 78. 子集 題目描述 給你一個整數數組 nums ,數組中的元素 互不相同 。返回該數組所有可能的子集(冪集)。 解集 不能 包含重復的子集。你可以按 任意順序 返回解集。 示例 1: 輸入&#xff…

selenium高亮元素

def set_high_light_elment(self, element): """高亮web元素。 Args: element: WebElement:web元素 """ element_styleelement.get_attribute(style) self.mark_dom_text(element_s…

【MySQL】表的約束——空屬性、默認值、列描述、zerofill、主鍵、自增長、唯一鍵、外鍵

文章目錄 MySQL表的約束1. 空屬性2. 默認值3. 列描述4. zerofill5. 主鍵6. 自增長7. 唯一鍵8. 外鍵 MySQL 表的約束 MySQL中的表的約束是一種規則,用于限制或保護表中數據的完整性和合法性。約束可以確保數據在插入、更新或刪除時滿足特定的條件,從而維護…

MySQL相關問題

MySQL相關問題 一、MySQL支持哪些存儲引擎?二、MySQL是如何執行一條SQL的?三、MySQL數據庫InnoDB存儲引擎是如何工作的?四、如果要對數據庫進行優化,該怎么優化?五、MySQL如何定位慢查詢?六、如何分析MySQL…

揭秘App訪問量背后的秘密:數據統計與分析

在移動互聯網時代,App已成為人們日常生活的重要組成部分。對于App運營者來說,了解用戶的訪問量、行為習慣等數據至關重要。本文將深入探討如何精準統計App訪問量,為運營者提供有價值的數據支持。 一、App訪問量統計的重要性 訪問量是衡量A…

計算機專業必看的十部電影

計算機專業必看的十部電影 1. 人工智能2. 黑客帝國3. 盜夢空間4. 社交網絡5. Her6. 模仿游戲7. 斯諾登8. 頭號玩家9. 暗網10. 網絡迷蹤 計算機專業必看的十部電影,就像一場精彩盛宴! 《黑客帝國》讓你穿越虛擬世界,感受高科技的魅力《模仿游戲…

公網IP怎么獲取?

公網IP是網絡中設備的唯一標識符,用于在Internet上進行通信和定位。對于普通用戶來說,了解如何獲取自己的公網IP是很有必要的,本文將介紹幾種獲取公網IP的方法。 方法一:通過路由器查詢 大多數家庭和辦公室使用的路由器都會有一個…

深入解析Mybatis-Plus框架:簡化Java持久層開發(七)

🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 簡介 本章節介紹如何通過Mybatis-Plus刪除數據庫中的數據。 本章節不需要前置準備,繼續使用之前的測試類,數據庫表進行操作。 &#x1f4…

一文詳解mysql 的鎖

MySQL鎖是用于管理數據庫中的并發操作的一種機制,它可以確保數據的一致性和完整性。 按范圍劃分:包括全局鎖、表級鎖、頁級鎖和行級鎖。 按類型劃分:包括間隙鎖、臨鍵鎖和記錄鎖。 按級別劃分:包括共享鎖(S鎖&#xff…

如何在Windows輕量應用服務器上安裝和配置SSH?

如何在Windows輕量應用服務器上安裝和配置SSH? 檢查OpenSSH的可用性:首先,需要以管理員身份打開PowerShell并運行命令Get-WindowsCapability - Online | Where-Object Name - like OpenSSH*來檢查OpenSSH服務是否可用。如果服務未啟動或不可…

day03_Vue_Element

文章目錄 01.Ajax1.1 Ajax 概述1.2 同步異步1.3 原生Ajax 2. Axios2.1 Axios的基本使用2.2 Axios快速入門2.3請求方法的別名2.4 案例 3 前后臺分離開發3.1 前后臺分離開發介紹 04 YAPI4.1 YAPI介紹4.2 接口文檔管理 05 前端工程化5.1 前端工程化介紹5.2 前端工程化入門5.2.1 環…

【Python】變量的引用

🚩 WRITE IN FRONT 🚩 🔎 介紹:"謓澤"正在路上朝著"攻城獅"方向"前進四" 🔎🏅 榮譽:2021|2022年度博客之星物聯網與嵌入式開發TOP5|TOP4、2021|2222年獲評…

2024.3.4 作業

1、流式域套接字 1>tcp服務端實現 #include<myhead.h> int main(int argc, const char *argv[]) {//1、創建套接字int sfd socket(AF_UNIX, SOCK_STREAM, 0);if(sfd -1){perror("socket error");return -1;}//2、判斷套接字文件是否存在&#xff0c;如果…

5G工業智能網關保障煤礦安全生產

隨著物聯網技術發展與煤礦需求的持續激增&#xff0c;礦山礦井的分布范圍廣泛、戶外環境惡劣等管理問題急需解決&#xff0c;而物聯網網關工業級設計能夠無懼惡劣環境干擾&#xff0c;輕松解決戶外網絡部署問題。 工業網關通過采集礦井內的各類傳感器數據對礦井進行遠程監控&a…

MySQL中的大表優化方案

當MySQL單表記錄數過大時&#xff0c;數據庫的CRUD性能會明顯下降&#xff0c;一些常見的優化措施如下&#xff1a; 1&#xff1a;限定數據的范圍 務必禁止不帶任何限制數據范圍條件的查詢語句。比如&#xff1a;我們當用戶在查詢訂單歷史的時候&#xff0c;我們可以控制在一個…

【NR 定位】3GPP NR Positioning 5G定位標準解讀(五)

前言 3GPP 標準網址&#xff1a;Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位標準解讀&#xff08;一&#xff09;-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位標準解讀&#xff08;二&#xff09;-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位…

[GYCTF2020]EasyThinking --不會編程的崽

看標題就知道&#xff0c;這大概率是關于thinkphp的題目。先嘗試錯誤目錄使其報錯查看版本號 thinkphp v6.0.0&#xff0c;在網上搜索一下&#xff0c;這個版本有一個任意文件上傳漏洞。參考以下文章。 https://blog.csdn.net/god_zzZ/article/details/104275241 先注冊一個賬…

VL53L8CX驅動開發(1)----驅動TOF進行區域檢測

VL53L8CX驅動開發----1.驅動TOF進行區域檢測 概述視頻教學樣品申請源碼下載主要特點硬件準備技術規格系統框圖應用示意圖區域映射生成STM32CUBEMX選擇MCU 串口配置IIC配置LPn 設置X-CUBE-TOF1串口重定向代碼配置Tera Term配置演示結果 概述 VL53L8CX是一款8x8多區域ToF測距傳感…

STM32(6)中斷

1.中斷 1.1 中斷的概念 STM32的中斷&#xff1a; 1.2 中斷優先級 用數字的大小表示中斷優先級的高低&#xff0c;數字的范圍&#xff1a;0000--1111&#xff08;二進制&#xff09;&#xff0c;即0-15&#xff0c;共16級優先級。 進一步對這4位二進制數進行劃分&#xff0c;可…

demo型xss初級靶場

一、環境 XSS Game - Ma Spaghet! | PwnFunction 二、開始闖關 第一關 看看代碼 試一下直接寫 明顯進來了為什么不執行看看官方文檔吧 你不執行那我就更改單標簽去使用唄 ?somebody<img%20src1%20onerror"alert(1)"> 防御&#xff1a; innerText 第二關…