其他分享
首页 > 其他分享> > 【软件工程】软件工程需求分析——结构化分析

【软件工程】软件工程需求分析——结构化分析

作者:互联网

halo~我是bay_Tong桐小白
本文内容是桐小白个人对所学知识进行的总结和分享,知识点会不定期进行编辑更新和完善,了解最近更新内容可参看更新日志,欢迎各位大神留言、指点

软件工程需求分析——结构化分析

【更新日志】

最近更新:

结构化分析概述

传统的分析建模方法称为结构化分析(SA)方法,它用抽象的概念,按照软件内部的数据传递、变换的关系,自顶向下逐层分解的系统分析方法来定义系统的需求
在这里插入图片描述
该建模技术的核心是数据字典,包括了在目标系统中使用和生成的所有数据对象。围绕这个核心有3种图:数据流图、实体关系图、状态-迁移图:

功能建模(DFD数据流图)

功能模型: 是用抽象模型的概念按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型用数据流图来描述

数据流图(DFD图): 是用于表示软件系统逻辑模型(系统的功能模型)的一种图形刻画,一个基于计算机的信息处理系统由数据流和一系列的转换构成,这些转换将输入数据流变换为输出数据流。数据流图反映客观现实问题的工作过程。它用简单的图形记号分别表示数据流、加工、数据存储以及外部实体。数据流图中没有任何具体的物理元素,只是描述数据在系统中流动和处理的情况,具有直观、形象、容易理解的优点。

数据流图的基本图形符号:
在这里插入图片描述
多个数据流间的关系:
在这里插入图片描述
环境图(顶层数据流图): 仅包括一个数据处理过程,也就是要开发的目标系统,也称为零层数据流图

环境图的作用是确定系统在其环境中的位置,通过确定系统的输入和输出与外部实体的关系确定其边界
在这里插入图片描述

数据流图的分层: 一些较复杂的实际问题中,数据流图中出现十几个甚至几十个加工的数据流图不直观,不易理解,分层的数据流图按照系统的层次结构进行分解,能清楚的表达整个系统,也易理解

分层数据流图基本规则:自外向内、自顶向下、逐层细化,完善求精;上层为父图,下层为子图

各层数据流图之间应“保持平衡”,即父图有多少个输入输出,子图也要有同样多的输入数据流和输出数据流,才能符合子图细化的实际情况
在这里插入图片描述
(加工规格说明详见下文)

数据流图基本步骤:

eg:以银行储蓄系统为例

银行储蓄系统的业务流程:
储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存单给储户;如果是取款而且开户时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户
要求画出分层的数据流图,并细化到2层数据流图

1)识别外部实体及输入输出数据流

根据题意确定

2)画出环境图(顶层数据流图)

根据外部实体与输入输出数据流画出系统环境图
在这里插入图片描述
【为区分开输入源与输出源,可将储户这个外部实体分开画,实质表示仍然为同一个实体】

3)画出一层数据流图
在这里插入图片描述

4)画出二层数据流图

对一层数据流图的每个加工进行进一步分解
在这里插入图片描述
在这里插入图片描述
数据流图注意事项:

数据建模(E-R实体-关系图)

在结构化分析方法中,使用实体—关系建模技术来建立数据模型。这种技术是在较高的抽象层次(概念层)上对数据库结构进行建模的流行技术。实体—关系模型表示为可视化的实体—关系图,也称为ER图。

ER图中仅包含3种相互关联的元素:数据对象(实体)、描述数据对象的属性及数据对象彼此间相互连接的关系

eg:
在这里插入图片描述
(此部分相当于数据库原理中的概念模型,此处不做重点阐述)

行为建模(状态图)

需求分析过程中应建立起软件的行为模型。状态转换图(简称状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为
在这里插入图片描述
【详细后续更新……】

数据字典

概念: 数据字典以词条方式定义在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义,包括数据流、加工、数据文件、数据元素,以及数据源点、数据汇点等。 因此,数据字典成为把3种分析模型黏合在一起的“黏合剂”,是分析模型的“核心”

数据字典主要包含词条描述、数据结构描述

词条描述:对于在数据流图中每一个被命名的图形元素均加以定义,如

数据流词条
①数据流名:要求与数据流图中该图形元素的名字一致。
②简述:简要介绍它产生的原因和结果。
③组成:数据流的数据结构。
④来源:数据流来自哪个加工或作为哪个数据源的外部实体。
⑤去向:数据流流向哪个加工或作为哪个数据汇点的外部实体。
⑥流通量:单位时间数据的流通量。 ⑦峰值:流通量的极限值。

数据元素词条:数据流图中的每个数据结构都是由数据元素构成的,数据元素是数据处理中最小的、不可再分的单位,它直接反映事物的某一特征。
①类型:数据元素分为数字型与文字型。数字型又分为离散值和连续值,文字的类型用编码类型和长度区分。
②取值范围:离散值的取值或是枚举的(如3,17,21),或是介于上下界的一组数(如2…100);连续值一般是有取值范围的实数集(如0.0…100.0)。对于文字型,文字的取值需加以定义。
③ 相关的数据元素及数据结构

数据存储文件词条:数据存储文件是数据保存的地方。一个数据存储文件词条应有以下几项内容。
① 文件名:要求与数据流图中该图形元素的名字一致。
② 简述:简要介绍存放的是什么数据。
③ 组成:文件的数据结构。
④ 输入:从哪些加工获取数据。
⑤ 输出:由哪些加工使用数据。
⑥ 存取方式:分为顺序、直接、关键码等不同存取方式。
⑦ 存取频率:单位时间的存取次数。

数据结构描述:通过定义式或Warnier图等方式描述数据结构

1)定义式:类似描述高级语言结构的巴科斯-诺尔范式(BNF)

定义是可用符号列举:
在这里插入图片描述
2)Warnier图:用树形结构来描绘数据结构

【详细后续更新……】

加工规格说明

在对数据流图的分解中,位于层次树最底层的加工也称为基本加工或原子加工,对于每一个基本加工均需要进行进一步说明,称为加工规格说明

在需求分析阶段,可以直接写出基本加工的程序逻辑,即其处理的规则。基本加工的规格说明主要表达“做什么”,而不是“怎样做”,因此应满足如下要求:

加工规格说明的内容可以包括叙述性正文、数学方程、图表等多种形式,也可以使用决策表、决策树等

若加工规格说明设计很多算法细节,则可以用伪代码等进行描述(这一部分可放在系统设计的详细设计阶段进行)

【详细后续更新……】

持续更新中……
我是桐小白,一个摸爬滚打的计算机小白

标签:需求,加工,实体,系统,建模,软件工程,数据流,结构化分析,数据
来源: https://blog.csdn.net/bay_Tong/article/details/111832305