结构化分析中,常用到数据模型为实体关系图,功能模型是数据流图 DFD

可以认为,一个基于计算机的信息处理系统由数据流和一系列的转换构成,这些转换将输入数据流变换为输出数据流。数据流图就是用来刻画数据流和转换的信息系统建模技术的。它用简单的图形记号分别表示数据流、转换、数据源以及外部实体。

数据对象由其属性刻画 实体-关系图是表示数据对象及其关系的图形语言机制  数据对象彼此之间相互连接的方式称为关系,也称为联系。可以是一对一联系(1∶1)、一对多联系(1∶N)、多对多联系(M∶N)联系也可能有属性。

数据流图的功能主要为(1)描绘数据在系统中各逻辑功能模块之间的流动和处理过程,是一种功能型模型 (2)主要刻画“功能的输入和输出数据”、“数据的源头和目的地” (3)在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。它与数据字典一起用来构成系统的逻辑模型。

数据流图中个个对象的表示一般来说源点与终点:通常指外部对象,用长方形或长方体表示。处理(加工):可以代表一系列程序、单个程序或者程序的一个模块,还可代表人工过程等,用圆形或圆角矩形表示。数据存储:指处于静止状态的数据,用平行线或开口 矩形表示。数据流:指处理运行中的数据,用箭头表示。

在数据流方法中,对数据的精化是伴随着对转换的精化而同步进行的。DFD是自顶向下分解的。顶层DFD图通过系统和尾部世界之间的联机来描述系统的范围,没有数据流图的雏形,只是一种思想的表达,所以也成为关联图。将顶层DFD的系统分解为若干个子系统,决定每个子系统间的数据接口和活动关系,得到0层DFD图,然后继续向下细化,得到1、2、3…DFD图。最后得到的那个叫做底层DFD图,底层的DFD图最为详细,操作也是基本操作。参照底层的DFD图来实施。

软件工程(四)数据流图DFD的更多相关文章

  1. 数据流图DFD画法

    数据流图(DFD- Data Flow Diagram)让系统分析者弄清楚"做什么"的问题,其重要性就不言而喻了.那么我们怎么画数据流图呢?数据流图与系统流程图又有什么区别呢? 步 ...

  2. 2. 软件数据流图(DFD)

    数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型. 下图是一个飞机机票预订系统 ...

  3. 数据流图——从软考真题中学画数据流图DFD

    文章目录 题目 画顶层图 画0层图 解题技巧 题目 建议将题目复制到word后与此文分屏查看.后面需要多次查看题目. 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩, ...

  4. 软件工程导论复习 如何画系统流程图和数据流图 part2

    数据流图(DFD)    数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型.下 ...

  5. 数据库设计--数据流图(DFD)

    1.数据流图的定义 数据流图(DFD)是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程, 因为它仅仅反映系统必须完毕的逻辑功能.所以它是一种功能模型. 在结构化开发方法中. ...

  6. 【软件工程1916|W(福州大学)_助教博客】2019年上学期期末问卷调查结果公示

    1.调查问卷概况 福州大学2019W班,收集到有效答卷44份 2. 调查问卷情况 Q1:请问你平均每周在课程上花费多少小时? 去除自估水平超过40小时的,平均16.6H Q2.软工实践的各次作业分别花 ...

  7. OO课程的完结,软件工程学习的开始

    目录 UML小结 阅读学习 大象:Thinking in UML UML精粹 UML和模式应用 本单元作业的架构设计 四个单元中架构设计及OO方法的演进 四个单元中测试与实践的演进 课程收获 三个具体 ...

  8. 二级C语言题集

    时间:2015-5-13 18:01 在131题之后是按考点分类的题集,有需要的朋友可以看一下 ---------------------------------------------------- ...

  9. [转]面向过程的分析(POA),和面向对象的分析(OOA)

    欢迎转载本文,转载地址: http://www.juliantec.info/articles/basic-concept/poa-and-ooa.html 软件开发方法论概述 在60年代的软件开发行 ...

随机推荐

  1. book118免费下载文档方法【转】

    需要用的工具: 1.360浏览器 2.点"全屏预览",然后把鼠标放在"下载该文档",右键"审查元素",找到 途中箭头指向的标签(如图) 3. ...

  2. SWFUpload多文件上传使用指南

    SWFUpload是一个flash和js相结合而成的文件上传插件,其功能非常强大.以前在项目中用过几次,但它的配置参数太多了,用过后就忘记怎么用了,到以后要用时又得到官网上看它的文档,真是太烦了.所以 ...

  3. IO流_演示键盘录入

    读取一个键盘录入的数据,打印到控制台上 键盘本身就是一个标准的输入设备,对于java而言,对于这种输入设备都有相应的对象在System类中 import java.io.IOException; im ...

  4. 控件_AnalogClock

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  5. MySQL基本教程(一)

    创建数据库 mysql -u root -p CREATE DATABASE Hank; 删除数据库 drop database Hank; 选择数据库 use Hank; MySQL 数据类型 My ...

  6. RelativeLayout 总结

    1)参考元素获取:id: 2)位置关系设置: 3)对齐关系设置:

  7. exit status 3221225477 npm run dev 报错

    Fatal error in , line 0 # Check failed: U_SUCCESS(status). # # # #FailureMessage Object: 000000B5882 ...

  8. 【转】同一个SQL查询语句,为什么使用到的索引不同?

    问: 同一个SQL查询语句,只是修改where条件中的一个值,为什么使用到的索引情况也会不同?谢谢! 1) explain执行结果,如下图: 2) 表中的数据如下图: 3) 表结构如下图: 4) 创建 ...

  9. ceph 问题处理

    1.三个ceph monitor节点clock skew时钟偏移问题?解决:(1)其他控制节点更改ntp.conf与controller01进行同步,如果ntpd不生效,使用date -s " ...

  10. tomcat8_java1.8 基础镜像

    需要解决的越来越多, 基础镜像中 添加 cronolog功能,用于切割catalina.out 日志. 思路是: cephfs 挂载在node节点, crontab 删除 几天的tomcaat 日志. ...