软件需求分析的基础:机构化分析方法。

结构化分析方法适用于数据处理类型软件的需求分析。它提供的主要建模工具包括 数据流图、数据字典、机构化英语、判定表、和判定树等。

在这里主要说明DFD图的使用和画法。

数据流图(DFD--Data Flow Diagram)作用

指明数据在系统中移动时如何被变换,描述对数据流进行交换的功能和子功能。

DFD图的特性。

   抽象性、概括性、层次性。

DFD图的用途。

1)系统分析员用这种工具可以自顶向下分析系统信息流程。

2)可在图上画出需要计算机处理的部分。

3)根据数据存贮,进一步作数据分析,向数据库库设计过渡。

4)根据数据流向,定出存取方式。

5)对应一个处理过程,用相应的语言、判定表等工具表达处理方法。

DFD图的优缺点。

1)总体概念强,每一层都明确签掉“干什么”,“需要什么”,“给出什么”

2)可以反映出数据的流向和处理过程。

3)由于自顶向下分析,容易及早发现系统各个部分的逻辑错误,也容易修正。

4)容易与计算机处理相对照。

5)不直观,一般都要咋作业流程分析的基础上加以概括、抽象、修正来得到。

6)如果没有计算机系统的帮助,人工绘制会太麻烦,工作量较大。

数据流图的画法。

1 组成符号

2、命名。

1)名字应代表整个数据流( 或是存储)内容。

2)不要使用空洞的、缺乏具体含义的名字。

3)如果某个数据流起名字时遇到了困难,可能是因为对数据流分解不恰当引起的,应重新分解。

4)名字要反映整个处理的功能,而不是一部分功能。

5)名字最好有一个及物动词加上一个具体的名词或是名次组组成。应该尽量避免使用“加工”,“处理“,等空洞笼统的动名词。

6)数据的源点和终点并不需要在系统中实现,它们代表着系统的外部环境。数据源采用他们习惯的名字,如”学生“,“管理员”。

分层数据流图。

画法:

第0层DFD称为系统基本模型,可以将整个软件系统表示为一个具有输入和输出的黑匣子。用一个圆圈表示。

上一层DFD中的每一个圆圈可以进一步扩展成一个独立的数据流图,以揭示系统中程序的细节部分。

这种循序渐进的习惯过程可以继续进行,直到最低层的图仅描述原子过程操作为止。

每一层数据流图必须与它上一层数据流图保持平衡和一致,因此,子图的所有输入输出流要与其父图相匹配。

概括的就是说:自外向内,自顶向下,逐层细化,完善求精。

确定系统的输入和输出,以反映系统关于外界环境的接口。第0层DFD将整个系统表述一个加工;它并未表达数据加工的要求,需要近一步细化。确定并标出主要的输入和输出,从输入端开始,根据业务工作流程,画出数据流经的个加工框,以反映数据的实际处理过程,逐步画出输出端,得到第一层数据流图。图中的加工分贝加以编号。细化每一个加工框。如果加工框内还有数据流,可将这个加工框再细分成为几个“子加工”并在各子加工框之间画出数据流。一次比一次细化加工。重复步骤,直到所有加工只重复一个简单的操作可以很容易的用程序来实现。

为了表达处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚和理解整个系统。

可以把系统分为三个子系统,一层 DFD/L1、 DFD/L2  、DFD/L3。再对第二层分层 DFD/1.1 DFD/1.2 ....等等。

eg:

这是以前画的图。首先说说这个图的缺点。一是,在这个图中没有画出数据存储的文件。二是,图中数据流起名有些问题吧。

下面是我曾经画过的餐厅点菜系统的DFD图。

还是在实践中学习吧,不断的改正和探索。

软工系列之--数据流图(DFD图)相关推荐

  1. 计算机学习入门指北——计科软工网络信安侧重图析、解读专业术语、岗位分类、未来规划

    申明:本博文偏技术向,主观性较强,其中部分理解必有偏差和误解,望指出改正! 计算机学习入门指北: 作为刚入学的计算机系学生,面对一片专业术语十分蒙.区块链?大数据?开源?数据库?嵌入式开发?前端后端? ...

  2. 软工——结构化分析(数据流图、ER图、状态转换图)(围绕例题有详细过程哟~)

    结构化分析方法 结构化分析是一种半形式化的建模技术,即抽取系统的本质要素,描述数据和行为的模型.注意:系统模型不是系统的代替表示,而是摈弃细节后的系统的抽象. 其要完成的主要目标:描述客户的需要:建立 ...

  3. 机房收费系统个人重构版:软工文档中那些图

    [前言]    图,提到这个字的时候脑海中就会出现许许多多的图像,它的重要性相信大家都明白,相比于文字来说它更生动形象正好符合人类大脑的记忆规律:很多人也知道动画片制作原理也是用一张张图片只不过转换的 ...

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

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

  5. 软工复习一万字资料大全总结超强无敌版稳过乱过

    学习通作业一 选择题 软件工程最基本的目标是保证质量 软件工程是一种层次化技术,3个层次一般指过程.方法和工具 瀑布模型属于一种线性模型 "软件危机"是指开发出的软件不能满足需求 ...

  6. [软工导论①]复习题库

    [软工导论②]TYUT太理真题题集 填空题 在信息处理和计算机领域内,一般认为软件是 _程序____._文档____ 和_数据____ . 数据流图的基本组成部分有 _数据的源点与终点____. 数据 ...

  7. 西北大学软工专硕专业课面试可能会问到的问题

    20届西北大学软工专硕刚刚上岸,本着上岸分享资料的想法, 把自己复试期间整理的一点东西(包括但不仅限于这些问题)分享出来,供大家参考,内容只代表我的观点,假如与标准答案有所不同,敬请谅解! Ps:今年 ...

  8. 【软件工程】之软工视频初印象

    最近在学习软工的视频,第三章到了结尾,就让我来说一下自己看视频的感受吧,顺便总结这三章. 首先,我看这个视频的前几集讲第一章的时候,就有一种特别熟悉的感觉,为什么呢?听完以后再一想,呦!这不是跟自考书 ...

  9. 论激情引领探索,探索产生成就感,成就感反馈激情之螺旋上升——大学阶段最酷的体验之软工实践

    这个作业属于哪个课程 2022年福大-软件工程W班 这个作业要求在哪里 软件工程实践总结&个人技术博客 这个作业的目标 总结回顾学习过程 其他参考文献 - 前言: 我承认,这个标题确实有点标题 ...

最新文章

  1. 论新时代软件测试人员的工作之道(一)之一个故事
  2. 压缩目录Linux常用的几种文件压缩解压方法
  3. html 文本强调,CSS Emphasis Marks 文本强调标记
  4. 在事务方法中调用另外一个事务方法,被调用方法的事务没起作用
  5. 计算机考到贴吧的试题,2014年全国计算机二级VB上机考试试题七
  6. solr后台登录验证
  7. 【华为云技术分享】解密如何使用昇腾AI计算解决方案构建业务引擎
  8. vim ,vi总是卡死,终于找到原因了。
  9. 模拟电路和数字电路区别
  10. Excel如何批量删除所有空格
  11. 爱五笔iWuBi for Mac(五笔练习工具)
  12. Codeforces Round #828 (Div. 3) E2. Divisible Numbers (hard version)
  13. 一篇文章轻松搞定SpringSecurity权限框架!
  14. Mifare S50与Mifare S70
  15. 局域网内即时通信软件 ZSCQ -工作进度记录表
  16. 模拟unity自带地形的grass
  17. (13)TranslateMessage函数
  18. js手机号中间四位_为什么手机号码会影响我们?一个适合自己的手机号码有多重要?...
  19. 2018红帽杯线上预选赛 wp---MISC
  20. 腾讯云基础认证是什么?多少分通过?

热门文章

  1. 一期每日一GO群分享-flag、viper、协程池、异常处理
  2. 素数总结(包含素数表)
  3. 【愚公系列】2021年12月 Redis数据库-集群的搭建
  4. git拆分子目录作为新仓库并保留log记录
  5. 根据手机号查询归属地以及制式信息
  6. 小百合海外站 lilybbs.us or woft.net 教育网 paradiso.cn:10078
  7. arm-linux-strip,arm-linux-strip
  8. “被裁员后,我领悟到的8个残酷真相”
  9. BFS - Dungeon Master
  10. MybatisPlus报错can not find lambda cache for this entity