软考笔记--结构化分析方法

结构化分析(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.mzph.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 第二关…