第五节 结构化分析模型
结构化分析模型
- 1.基本术语
- 2.模型表达工具
- 2.1DFD图
- 2.2数据字典
- 2.3加工小说明
1.基本术语
2.模型表达工具
需求分析的首要任务是建立系统功能模型
2.1DFD图
1.数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
2.注意:
数据流图不是传统的流程图或框图,数据流也不是控制流。数据流图是从数据的角度来描述一个系统,而框图是从对数据进行加工的工作人员的角度来描述系统。
3.数据流:
数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。
在数据流图中加工用圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。
4.组成元素:
数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
数据源或宿(“宿”表示数据的终点)。代表系统之外的实体,可以是人、物或其他软件系统。
对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。
5.原则:
1).一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。
2).保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据。
3).每个加工必须既有输入数据流,又有输出数据流。
4).所有的数据流必须以一个外部实体开始,并以一个外部实体结束。
5).外部实体之间不应该存在数据流
6.画法:
2-软件工程-数据流图+ER图绘制
(一)确定系统的输入输出
由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。
(二)由外向里画系统的顶层数据流图
首先,将系统的输入数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。
(三)自顶向下逐层分解,绘出分层数据流图
对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示
7.举例:
(1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。下图为飞机机票预订系统的顶层图。
(2)画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。例如,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来,0层数据流图如图3-4。
(3)注意事项。
①命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
②画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
⑤编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
⑥父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
⑦局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
⑧提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性
2.2数据字典
例如:
2.3加工小说明
第五节 结构化分析模型相关推荐
- Web前端开发笔记——第三章 CSS语言 第五节 盒子模型
目录 一.CSS布局与定位 二.盒子模型 三.盒子模型的组成 四.设置边框的属性 五.设置外.内边距的属性 六.overflow 属性 结语 一.CSS布局与定位 在CSS中对一个网页进行布局与定位, ...
- 《如何搭建小微企业风控模型》第五节 特征工程(上)
<如何搭建小微企业风控模型>第五节 特征工程(上) 第一章 小微企业数据风控技术的框架 小微企业数据贷发展情况概述 搭建小微企业风控模型所需知识 风控模型概览 第二章 强相关变量:企业经营 ...
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第五节:模型的加载与渲染
<使用Cocos2d-x 开发3D游戏>系列在线课程 第五节:模型的加载与渲染. 视频地址:http://edu.csdn.net/course/detail/1330/20805?aut ...
- 聊聊 Linux 中的五种 IO 模型
聊聊 Linux 中的五种 IO 模型 2016/04/21 · IT技术 · 8 评论 · iO, 同步, 异步, 阻塞, 非阻塞 分享到:0 本文作者: 伯乐在线 - 陶邦仁 .未经作者许可,禁止 ...
- 详解Linux 五种IO模型
原文:https://www.jianshu.com/p/486b0965c296 上一篇 同步.异步.阻塞.非阻塞 已经通俗的讲解了,要理解同步.异步.阻塞与非阻塞重要的两个概念点了,没有看过的,建 ...
- Windows五种IO模型性能分析和Linux五种IO模型性能分析
Windows五种IO模型性能分析和Linux五种IO模型性能分析 http://blog.csdn.net/jay900323/article/details/18141217 http://blo ...
- Linux 五种IO模型
想快速了解,看文末总结. 1 概念说明# 在进行解释之前,首先要说明几个概念: 用户空间和内核空间 进程切换 进程的阻塞 文件描述符 缓存 IO 1.1 用户空间与内核空间## 现在操作系统都是采用虚 ...
- PyTorch学习笔记(五):模型定义、修改、保存
往期学习资料推荐: 1.Pytorch实战笔记_GoAI的博客-CSDN博客 2.Pytorch入门教程_GoAI的博客-CSDN博客 本系列目录: PyTorch学习笔记(一):PyTorch环境安 ...
- 【计导非课系列】 第五节 二进制 进制计算 编码
[计导非课系列] 第五节 二进制 进制计算 编码 对于计算机来说,数字只有两个--0和1. 数据对于计算机来说是相当重要的,而电路的通断两种状态决定了计算机只能通过1和0来进行一切事情的处理.所以,我 ...
- 向量图 正弦交流电路_第五节 正弦交流电路的相量(图)法求解.ppt
第五节 正弦交流电路的相量(图)法求解 第五节 正弦交流电路的相量(图)法求解 一. 用相量图分析电路的主要依据 (1)在任一线性电路中,各同频率的正弦量可以 (2)R.L.C元件的电压和电流相量关系 ...
最新文章
- 没有统计学基础可以学python-想入门数据分析,现在转行还来得及吗?
- dos 命令与 C++的联合作业,有点意思~
- .net中的SelectList在Html.DropdownList中的使用
- 工作110:地址里面返回参数
- 【LeetCode】【HOT】101. 对称二叉树(BFS+队列/递归)
- 关于科来网络分析系统的激活
- Solution Explorer 和 Source Control Explorer 的 View History 异同
- Vue 读取Excel数据
- Julia: MFDCCA和MFCCA算法代码
- 介绍两款代码自动生成器,帮助提升工作效率
- 计算机232接口接线图,RS485电缆(电脑和变频器的连线)如何接法!RS232接法知道的2-3 3-2 5-5-工业支持中心-西门子中国...
- macBook笔记本音乐播放器没声音
- 3.shell脚本的基础知识
- 嵌入式开发:优化嵌入式软件的7个技巧
- 敏捷 绩效_管理敏捷团队绩效的四个技巧
- 南卡的电容笔对比倍思哪个好?南卡和倍思电容笔测评
- shp、tif文件坐标系转换
- 浏览器被强制修改成 桔梗网—Google, Firefox
- ASP.NET.3.5揭秘
- db2 修改表空间自增长_db2 创建表空间、增大表空间以及增加临时表空间