软件工程:数据流图相关知识和多实例分析

目录

一、数据流图相关知识

1. 基本介绍

2. 常用符号

3. 附加符号

二、数据流图实例分析

1. 活期存取款业务处理系统

2. 工资计算系统

3. 商业自动化系统

4. 学校人事管理系统

5. 教材征订系统

6. 高考录取统分子系统

7. 订货系统

8. 培训中心管理系统

9. 考务处理系统

10. 实验上机安排系统


一、数据流图相关知识

1. 基本介绍

数据流图(Data Flow Diagram),简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。

2. 常用符号

符号说明图例
数据源点/终点通常是人或部门,可重复表示 或 
处理一个处理框可以代表一系列程序、单个程序或程序的一个模块 或 
数据存储可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等,数据存储是处于静止状态的数据 或 
数据流描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件 ,数据流是处于运动中的数据

3. 附加符号

符号说明图例
*表示“与”关系 或 
+表示“或”关系 或 
表示互斥关系 或 

二、数据流图实例分析

1. 活期存取款业务处理系统

欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理。

(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;

(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;

(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。

顶层数据流图:

一层数据流图:

2. 工资计算系统

工资计算系统中的一个子系统有如下功能: 

(1)计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分; 
(2)计算奖金部分—根据职工的出勤情况计算出奖励金; 
(3)计算工资总额部分—根据输入的扣除额及奖金计算出总额; 
(4)计算税金部分—由工资总额中计算出应扣除各种税金; 
(5)生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。 

3. 商业自动化系统

建立一个简化的商业自动化系统,其中:
(1)营业员通过该系统记录每日销售的商品(商品名,商品编号,单价,数量,销售时间);
(2)收款员通过该系统记录收到的现金数额以及购物余额;
(3)商店经理每日统计销售额,并在必要时查看某种商品的销售情况(商品名,商品编码,金额)。

顶层数据流图:

一层数据流图:

4. 学校人事管理系统

在要建立的某学校人事管理信息系统中:
(1)人事科:负责在本地数据库录入本年度新进的每一教工的基本信息(姓名、工作证编号、职称、性别、出生年月、系别);并将这一信息传送该教务科。
(2)教务科:负责在本地数据库录入本年度每一教员的教学信息(姓名、年度、学科、学时、学生人数、缺课情况);
(3)人事科领导:①必要时,依据“工作证编号”、“年度”查询某一教员的教学工作量;②统计教员的职称结构,即产生每一等级职称的人数。 

顶层数据流图:

 一层数据流图:

二层数据流图:

5. 教材征订系统

教材征订系统设计如下:

(1)学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。

(2)各种资金往来通过学校的会计科办理。 

6. 高考录取统分子系统

高考录取统分子系统有如下功能:
(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

顶层数据流图:

一层数据流图:

7. 订货系统

订货系统设计如下:

(1)采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。

(2)对于每个需要再次定货的零件,应该列出:零件编号,零件名称,定货数量,目前价格,主要/次要供应者。

(3)零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。

(4)当某种零件的库存量少于库存量的临界值时,就应该再次定货。

顶层数据流图:

一层数据流图:

二层数据流图:

8. 培训中心管理系统

某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。

(1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

(3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

9. 考务处理系统

一个考务处理系统的要求如下,试画出该系统的数据流图。

(1)对考生送来的报名表进行检查;

(2) 对合格的报名表编好准考证号码后将准考证送给考生, 并将汇总后的考生名单送给
阅卷站;
(3)对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;
(4)填写考生通知单(内容包含考试成绩及合格 ∕不合格标志),送给考生;
(5)按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,
产生统计分析表。

顶层数据流图:

一层数据流图:

二层数据流图: 

10. 实验上机安排系统

学校拟开发一套实验上机安排系统,可以帮助教师的安排上机。

(1)教师安排实验时首先需要提交实验项目,然后选择有空闲的机房,再查询学生的空余时间。

(2)安排好每次的实验时间后,经过汇总形成实验安排报表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/297151.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【动态规划】【字符串】C++算法:140单词拆分

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 动态规划 字符串 LeetCode140:单词拆分 II 给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序 返回…

PyTorch|一次画一批图像

想想这样一个场景,我们训练了一个神经网络,输入一些信息,这个网络可以根据信息为我们生成相关图片。 这些图片并不是一张,而是多张,我们想把这些图片一次全部显示出来,而不是一张一张的显示(这…

【JAVA】异常体系

🍎个人博客:个人主页 🏆个人专栏: JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 Exception(异常): Error: 结语 我的其他博客 前言 在Java编程中,异常处理是一个至关…

什么?谁?w (who what)

文章目录 什么?谁?w (who & what)默认的显示不显示标题行简洁模式显示更多信息 什么?谁?w (who & what) w可以认为是加强版的who,果然越简洁越强大,就比如less比more是功能更多的。 w不仅可以显示…

leetcode:2451. 差值数组不同的字符串(python3解法)

难度&#xff1a;简单 给你一个字符串数组 words &#xff0c;每一个字符串长度都相同&#xff0c;令所有字符串的长度都为 n 。 每个字符串 words[i] 可以被转化为一个长度为 n - 1 的 差值整数数组 difference[i] &#xff0c;其中对于 0 < j < n - 2 有 difference[i]…

element-ui table height 属性导致界面卡死

问题: 项目上&#xff0c;有个点击按钮弹出抽屉的交互, 此时界面卡死 原因分析: 一些场景下(父组件使用动态单位/弹窗、抽屉中使用), element-ui 的 table 会循环计算高度值, 导致界面卡死 github 上的一些 issues 和解决方案: Issues ElemeFE/element GitHub 官方讲是升…

LLM之RAG实战(十三)| 利用MongoDB矢量搜索实现RAG高级检索

想象一下&#xff0c;你是一名侦探&#xff0c;身处庞大的信息世界&#xff0c;试图在堆积如山的数据中找到隐藏的一条重要线索&#xff0c;这就是检索增强生成&#xff08;RAG&#xff09;发挥作用的地方&#xff0c;它就像你在人工智能和语言模型世界中的可靠助手。但即使是最…

实战演练 | Navicat 中编辑器设置的配置

Navicat 是一款功能强大的数据库管理工具&#xff0c;为开发人员和数据库管理员提供稳健的环境。其中&#xff0c;一个重要功能是 SQL 编辑器&#xff0c;用户可以在 SQL 编辑器中编写和执行 SQL 查询。Navicat 的编辑器设置可让用户自定义编辑器环境&#xff0c;以满足特定的团…

MobaXterm SSH 免密登录配置

文章目录 1.简介2.SSH 免密登录配置第一步&#xff1a;点击 Session第二步&#xff1a;选择 SSH第三步&#xff1a;输入服务器地址与用户名第四步&#xff1a;设置会话名称第五步&#xff1a;点击 OK 并输入密码 3.密码管理4.小结参考文献 1.简介 MobaXterm 是一个功能强大的终…

如何科学地防范冬季流感

如何科学地防范冬季流感 加强对呼吸系统传染病预防的观念 在乘坐地铁、公交、火车、飞机等公共交通工具时&#xff0c;应科学佩戴口罩。要经常洗手&#xff0c;定期通风&#xff0c;咳嗽或打喷嚏时要用手捂住口鼻&#xff0c;不要随地吐痰。 羊大师建议积极接种含有XBB变异株…

基于树种算法优化的Elman神经网络数据预测 - 附代码

基于树种算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于树种算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于树种优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针…

实现网页跟随系统主题切换

如何实现网页跟随系统主题切换&#xff1f;想必大家都是用过媒体查询media (prefers-color-scheme: dark) 实现亮/暗主题的切换&#xff0c;那如何让其跟随系统自动切换呢&#xff1f;在window对象上&#xff0c;有matchMedia这个API可以帮助我们解决这个问题。它和css中的媒体…

微信小程序启用组件按需注入

微信小程序在预览或上传的时候会进行代码质量检测&#xff0c;有时候会提示‘组件需按需注入’&#xff0c;如下图所示&#xff1a; 这是只要加一句代码"lazyCodeLoading": "requiredComponents" 就行了 &#xff0c;添加的位置在app.json文件的里面&#…

开源协议简介和选择

软件国产化已经提到日程上了&#xff0c;先来研究一下开源协议。 引言 在追求“自由”的开源软件领域的同时不能忽视程序员的权益。为了激发程序员的创造力&#xff0c;现今世界上有超过60种的开源许可协议被开源促进组织&#xff08;Open Source Initiative&#xff09;所认可…

Vue2 实现内容拖拽或添加 HTML 到 Tinymce 富文本编辑器的高级功能详解

在 Web 开发中&#xff0c;Tinymce 被广泛应用作为富文本编辑器。除了基础的文本编辑功能&#xff0c;Tinymce 还提供了一系列高级功能&#xff0c;使得文本编辑更加灵活和便捷。本文将介绍如何在 Tinymce 中实现一些高级功能&#xff0c;并深入了解每个工具的使用。 Tinymce …

COMSOL 各版本安装指南

COMSOL下载链接 https://pan.baidu.com/s/1Z7kaOhyenAOsEqzG57PwhQ?pwd0531 1.鼠标右击【COMSOL6.2(64bit)】压缩包(win11及以上系统先点击“显示更多选项”&#xff09;选择【解压到 COMSOL6.2(64bit)】。 2.鼠标右击【setup】选择【以管理员身份运行】。 3.选择【简体中文…

J2 - ResNet-50v2实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 环境步骤环境设置数据准备图像信息查看 模型设计ResidualBlock块stack堆叠resnet50v2模型 模型训练模型效果展示 总结与心得体会 环境…

三叠云流程制造ERP:构建智慧工厂,实现高效生产管理

在数字化经济的浪潮下&#xff0c;新一代信息技术快速发展&#xff0c;深度整合&#xff0c;引领了工业的创新和变革&#xff0c;推动了企业向智能化发展。解决生产管理、销售管理和技术管理等难题的关键&#xff0c;在于管理者能否及时准确地掌握企业运营信息。三叠云流程制造…

【数据结构】八大排序之快速排序算法

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.快速排序简介及思路 二.快速排序代码实现的三种方式 &#x1f4cc;左右交换法 &#x1f4cc;挖坑填坑法 &#x1f4cc;前后指针法 三.快速排序的时间复杂度分析…

Python中通过字符串访问与修改局部变量

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 在Python中定义一个函数时&#xff0c;就会把变量空间划分为全局变量(global)与局部变量(local)&#xff0c;如果是定义在一个类的成员函数中&#xff0c;那么就还有额外的成员变量(self)空间。 那么&#xff0c;如果在实际操…