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

news2024/9/30 7:21:58

目录

一、数据流图相关知识

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)安排好每次的实验时间后,经过汇总形成实验安排报表。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

模仿Activiti工作流自动建表机制,实现Springboot项目启动后自动创建多表关联的数据库与表的方案

文/朱季谦 熬夜写完,尚有不足,但仍在努力学习与总结中,而您的点赞与关注,是对我最大的鼓励! 在一些本地化项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时&…

【视频图像篇】模糊图像处理之车辆运动造成的字体模糊还原

【视频图像篇】模糊图像处理之车辆运动造成的字体模糊还原 处理车辆运动过程中造成字体模糊重影的图像处理过程—【蘇小沐】 0、目录 1、实验环境 2、路径 3、去运动模糊(有噪声) 4、其它参数 5、结果展示 1、实验环境 系统环境Windows 11 专业…

phpstudy面板Table ‘mysql.proc‘ doesn‘t exist解决办法

原因分析:误删了mysql数据库 解决办法如下: 1、停止服务 2、先把mysql文件夹下的data文件夹备份,因为data文件里存有数据库文件。然后再删除data文件。 3、cmd管理员命令进入到mysql中的bin目录下 ,执行mysqld --initialize-…

Window端口占用处理

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。 💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精…

K8S-应用访问

1 service对象定位 2 Service 实践 手工创建Service 根据应用部署资源对象,创建SVC对象 kubectl expose deployment nginx --port80 --typeNodePortyaml方式创建Service nginx-web的service资源清单文件 apiVersion: v1 kind: Service metadata:name: sswang-ngi…

OpenHarmony底座升级指南(3.2升级4.0)

前言 本文旨在帮助开发者完成底座升级,文中主要以OpenHarmony 3.2 release 升级至OpenHarmony 4.0 release为模板描述。 一、流程概览: 1.1 准备工作 在准备阶段,需要完整收集所有的定制化修改,明确修改人;并且要将…

如何选择最适合的采购付款 (P2P) 解决方案?

无论企业的业务流程执行得如何,流程中始终存在改进空间。更好的管理系统是获得更好结果的关键,尤其是当企业处于增长阶段时。强大的采购到付款(P2P)系统是加快采购流程,同时保持采购支出可见性的最有效方法之一。 什么…

qml的操作 -- VS2022开发qml,

在使用VS开发软件的时候一般大型软件都会使用模组的方式。每个模组之间独立开发,关于qml写的UI模组也不例外,如果所有的qml都挤在一个文件夹下也不利于管理,维护起来也比较吃力。比较好的管理方法就是按照功能分布存放在不同的文件夹下。还有…

关于“Python”的核心知识点整理大全65

目录 20.2.19 设置 SECRET_KEY 20.2.20 将项目从 Heroku 删除 注意 20.3 小结 附录 A 安装Python A.1.1 确定已安装的版本 A.1.2 在 Linux 系统中安装 Python 3 A.2 在 OS X 系统中安装 Python A.2.1 确定已安装的版本 A.2.2 使用 Homebrew 来安装 Python 3 注意 …

【Docker】docker 服务相关命令

目录 1. 启动docker 服务 2.查看docker 服务的状态 3. 停止docker 服务 4.重启 docker 服务 5.开机自启动命令 1. 启动docker 服务 systemctl start docker 2.查看docker 服务的状态 systemctl status docker 3. 停止docker 服务 systemctl stop docker 此时再使用 syst…

群晖NAS+DMS7.0以上版本+无docker机型安装zerotier

测试机型:群晖synology 218play / DSM版本为7.2.1 因218play无法安装docker,且NAS系统已升级为7.0以上版本,按zerotier官网说法无法安装zerotier, 不过还是可以通过ssh终端和命令方式安装zerotier。 1、在DSM新建文件夹 用于存放zerotier脚…

数据链路层(Data Link Layer)

数据链路层(Data Link Layer)是计算机网络体系结构中的一层,位于物理层和网络层之间。它的主要功能是在物理传输媒体上建立和管理数据链路。数据链路层的设计和实现对于网络通信的可靠性和效率至关重要。在本文中,我们将探讨数据链…

听GPT 讲Rust源代码--compiler(28)

File: rust/compiler/rustc_codegen_llvm/src/llvm/mod.rs 文件rust/compiler/rustc_codegen_llvm/src/llvm/mod.rs是Rust编译器的LLVM代码生成模块的一个文件。该文件定义了一些用于与LLVM交互的结构体、枚举和常量。 此文件的主要作用是: 定义编译器和LLVM之间的接…

电脑单机游戏推荐:嗜血印 BLOODY SPELL 中文版

《嗜血印》该游戏的故事发生在一个充满秘密和恐怖的江湖中。一伙自称为“灵虚教”的神秘组织闯入万法归宗门派,导致天下大乱。妹妹小鲤被掳为人质,同门师兄弟相继遭到毒手。当嗜血咒印打开的那一刻,重识自我的苏夜锦,为了守护自己…

理想L9自动驾驶域控制器拆解

理想L9自动驾驶域控制器拆解 目录 理想L9自动驾驶域控制器拆解简介:1、SOC-Orin2、MCU-TC3973、交换机4、GMSL解串芯片5、存储 printf("欢迎关注公众号:车载嵌入式探索者,博主建立了一个车规级开发交流群, 感兴趣的朋友可以关…

Linux习题6

解析:排序必须得是rwx,所以B不对 解析: /etc/resolv.conf:是DNS配置文件。在网卡配置文件中进行配置,默认情况下,网卡配置文件DNS优于/etc/resolv.conf。 /etc/hostname:在centos7,配置主机名…

axure rp9添加当前日期、表单添加到中继器

1.[[Now.toLocaleDateString()]] [[Now.toLocaleTimeString()]]当前日期:2024/1/6 13:19:47 2. 输入内容添加到表单; 3.中继器的序号显示; 4. 中继器中添加按钮以及其他的;在中继器中添加动态面板,放入需要添加的按…

【HarmonyOS】装饰器下的状态管理与页面路由跳转实现

从今天开始,博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”,对于刚接触这项技术的小伙伴在学习鸿蒙开发之前,有必要先了解一下鸿蒙,从你的角度来讲,你认为什么是鸿蒙呢?它出现的意义又是…

XML技术分析02

一、XML——树形结构 <?xml version"1.0" encoding"ISO-8859-1"?><note><to>George</to><from>John</from><heading>Reminder</heading><body>Dont forget the meeting!</body> </note…

VMware中删除虚拟机

虚拟机使用完成后&#xff0c;需要删除虚拟机如何操作呢&#xff1f; 1.首先进入VMware 2.选择需要删除的虚拟机&#xff0c;点击右键 3.直接选择“移除”&#xff1f; 当然不是&#xff0c;这只是从这么目录显示中去掉了&#xff0c;并非 “真正” 删除该虚拟机 注意&#x…