实验一 结构化分析与设计——数据流图DFD与模块结构图SC

news2024/10/1 5:28:21

一、实验目的:

掌握传统结构化分析方法中功能建模的基本思想,即数据流分析技术。数据流图DFD是软件系统的逻辑模型,描绘数据在系统中从输入到输出所经历的变换(即加工处理)。

同时,了解变换型和事务型数据流图的基本特征,掌握面向数据流的结构化设计方法,运用变换分析或事务分析将数据流图映射成模块结构图SC。

二、实验仪器及实验环境:

计算机,Windows 7,MS Office Visio

三、实验原理:

结构化分析方法中的功能模型与结构化设计方法中的模块结构。

四、实验内容及结果:

内容1:根据以下题目中的问题描述,使用数据流分析技术建立系统的功能模型。从问题描述中分析提取数据流图的四种基本成分,包括外部实体(即数据源点或终点)、数据加工、数据存储和数据流,然后依据“自顶向下,逐步细化”的基本原则进行功能分解,使用MS Office Visio绘制分层数据流图。

题目:某职业高中进行信息系统建设与维护。现在,财务科长提出一个建议:学校一直由会计人工计算工资并编制财务报表,随着学校规模逐渐扩大,目前,每个月都需要两名会计紧张工作半个月才能完成,不仅效率低,而且成本高。现在考虑并研究使用学校现有的计算机生成工资明细表和各种财务报表,实现一个基于计算机的自动化的“工资支付系统”。

通过访问具体处理工资事务的两名会计,得知处理工资事务的大致过程是:每月月末教师把他们当月实际授课时数登记课时表上,由各系汇总后交给财务科。职工把他们当月完成承包任务的情况登记在任务表上,汇总后交给财务科。两名会计根据这些原始数据计算每名教职工的工资,编制工资表和工资明细表。然后,把记有每名教职工工资总额的工资表报送银行,再由银行把钱打到每名教职工的工资存折上,同时把工资明细表发给每名教职工。

通过反复询问财务人员,得知现有的人工系统计算工资和编制报表的流程为:接到课时表和任务表之后,首先审核这些数据,然后把审核后的数据按教职工编号排序并抄写到专用的表格上,该表格预先印有教职工编号、姓名、职务、职称、基本工资、生活补贴等数据。接下来,根据当月课时数或完成承包任务的情况,计算课时费或岗位津贴。算出每个人的工资总额后,再计算应该扣除个人所得税应该交纳的住房公积金保险费,最后算出每个人当月的实发工资数。把算出的上述各项数据登记到前述的专用表格上,就得到了工资明细表。工资表只是简化的工资明细表,它只包含工资明细表中的教职工编号、姓名和实发工资这三项内容。如图1-1所示的系统流程图,描绘了现有的人工工资支付系统的业务流程。

 

图1-1  现有的人工工资支付系统的业务流程(系统流程图)

当前准备设计一个能完成与现有人工系统同样功能的基于计算机的工资支付系统,建议基本上复制现有人工系统的主要功能。课时表和任务表交到处理工资事务的专用机房,财务人员把这些数据通过计算机终端输入系统,系统接收并审核这些数据。然后,系统根据所存储的这些数据,计算工资,打印输出工资表、工资明细表。

假设,这里使用“事务数据”代表课时表和任务表中包含的所有数据信息,使用“处理工资事务”笼统地代表计算课时费或岗位津贴、工资总额、个人所得税、住房公积金、保险费、实发工资等一系列功能。

(1)根据当前的分析结果,描绘出工资支付系统的高层数据流图。

 

图1-2  工资支付系统的初始高层数据流图

通过对财务科长以及处理工资事务的两位会计进一步的调查走访,得知:通常,课时费或岗位津贴对于同一个人来说可能每个月都有所变化。但是,每位教职工的基本工资、生活补贴等数额,在一段时间内对于同一个人来说,是稳定不变的,会计说:“这些数据属于人事数据,所以我们不需要每次都从外面输入这些数据。”即事实上,输入的“事务数据”中并不包含这些数据信息,它们应该被保存在另外的某个数据存储中。后来,又经询问得知:这些数据的来源是人事科,一旦出现人事变动,或者某位教职工晋升,则这些数据将会被更新。

接下来,讨论计算课时费和岗位津贴的方法。会计告诉分析员:课时费等于教师当月的授课时数乘上每课时的课时费,再乘上职称系数和授课班数系数;岗位津贴由职工的职务和完成当月任务的情况决定。通过讨论还进一步了解到:应在每年年末计算超额课时费,即如果教师一年的累计授课时数超过学校规定的定额量,则超出部分每课时的课时费按正常值的1.2倍计算,并且算出的超额钱数将打到12月份的工资总额中。因此,为了计算超额课时费,还需要保存每位教师当年完成的累计授课时数。

接下来,在与会计讨论住房公积金的算法时了解到:根据国家制定的《住房公积金管理条例》的规定:职工住房公积金的月缴存额为职工本人上一年度月平均工资乘以职工住房公积金缴存比例。因此,还需要存储每位教职工的年度月平均工资。

(2)根据上述进一步的分析结果,对高层数据流图1-2进行修改完善(考虑是否需要再增添哪些外部实体、数据加工、数据存储、数据流等)。

 

图1-3  工资支付系统修改后的高层数据流图

(3)细化高层数据流图1-3,对其中的“处理工资事务”这个数据加工进行分解,形成子图。

 

图1-4  分解数据加工“处理工资事务”形成的子图

(4)画出工资支付系统的完整数据流图。

 

图1-5  工资支付系统的完整数据流图

(5)数据字典:

事务数据 = 教职工编号-姓名-[课时数-任务量]-年份-月份

人事数据 =教职工编号-姓名-性别-出生日期-岗位类型-岗位等级-职务

年度数据 =教职工编号-姓名-年份-本年度累计工资总额-本年度累计授课时数-本年度累计实发工资额-

工资明细表 =教职工编号-姓名-基本工资-生活补贴-[课时费 岗位津贴]-工资总额-个人所得税-住房公积金-保险费-实发工资额-发放日期

工资表 =教职工编号-姓名-实发工资额-银行账号-发放日期

内容2:结合内容1中的题目,在其数据流图的基础上,使用结构化设计方法,合理划分功能模块,并形成模块的层次结构,运用MS Office Visio完成结构图SC的绘制。

(1)确定数据流图的类型:根据所完成题目的数据流图,分析其数据流的基本特征(变换型或事务型)。

变换型

(2)标出流的边界:如果是变换型数据流图,在数据流图上用虚线标出输入部分、变换中心、输出部分之间的分界线;如果是事务型数据流图,在数据流图上用虚线标出输入部分、事务中心、发送部分之间的分界线。

 

图1-6  标有边界的数据流图

(3)根据变换分析或事务分析的映射过程,将数据流图映射成变换型结构或事务型结构,并绘制模块结构SC

 

图1-7  模块结构图SC

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

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

相关文章

Copernicus DEM 30 metre dataset now freely available01 December 2020

欧空局宣布,除2019年发布的哥白尼DEM 90米分辨率外,30米分辨率数据的访问权限现已延长,数据集对任何注册用户开放和免费。 自2019年以来,哥白尼方案配备了全球一致的高分辨率数字高程模型,供所有用户使用,以处理各种应用。 哥白尼DEM结合了平坦的水体、连贯的河流流、编…

外汇客户收支风险管理系统助力外汇业务便利化

外管局2019年开始发文推行跨境投资便利化政策,2023年商务部等17部门又发文支持贸易外汇收支便利化政策,从一个小范围试点政策,到各部委大力推广支持,银行业内重点推广,这3年间外汇业务便利化经历了什么? …

狂飙,ChatGPT 官方 iOS 版本应用上线

ChatGPT正式发布App,可在苹果应用商店下载,安卓版也不远了 在手机上也能玩ChatGPT了!当地时间周四(5月18日),人工智能研究公司OpenAI在官网宣布,其在美国推出了聊天机器人ChatGPT的iPhone应用&a…

写公开信可别等被喷,才发现其实可以这样

正文共 1022 字,阅读大约需要 4 分钟 公务员必备技巧,您将在4分钟后获得以下超能力: 快速生成公开信 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●图片由Le…

Unity A* Pathfinding Project

先下载免费版 https://arongranberg.com/astar/download# 教程首页 https://arongranberg.com/astar/docs/getstarted.html 创建一个plane 当地面 创建一个gameobject 添加组件 PathFinder 长这样 调整每个格子大小的 创建两个layer 一个是阻挡物的 一个是地面的 这里填入阻…

Helm方式部署 zookeeper+kafka 集群 ——2023.05

文章目录 一、添加helm仓库二、安装部署集群2.1 在线安装zookeeperkafka集群2.2 离线安装zookeeperkafka集群 三、验证kafka与zookeeper是否绑定四、测试集群附:可改善地方卸载应用 一、添加helm仓库 # 添加bitnami和官方helm仓库: helm repo add bitna…

独立版:云贝O2O-V2-2.6.3 优化区域代理登录刷新问题

独立版:v2云贝O2O平台版本、版本更新至2.6.3,微信小程序在线上传、后端可开源,即刻源码持续维护更新中,最新全插件(4个)包更新,包修复、这个是源码,独立版; 支持一键更新…

C++——模板(初阶) + string

作者:几冬雪来 时间:2023年5月19日 内容:C模板 string讲解 目录 前言: 1.模板: 1.函数模板的隐/显示实例化: 2.类模板: 2.STL: 1. 什么是STL: 2.STL六大组件…

【Java入门】Java的语言概述

前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Java入门篇系列,该专栏主要讲解:什么是java、java的数据类型与变…

JavaSE入门篇——类和对象(实例理解)

文章目录 一、面向对象简述二、类与对象的基本概念三、类的定义与使用四、this引用五、对象的构造及初始化六、static成员七、 代码块 一、面向对象简述 面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象…

DRMS全国服务中心第一期讲师特训会圆满召开

,时长01:00 近日,【DRMS】数字权益管理系统在美丽的泉城济南展开了为期两天一夜的“【DRMS】全国服务中心首期讲师特训”。此次特训主要针对服务中心的负责人和讲师进行的一场从认知到理念、从规划到执行、从机制到流程的全方位特训。特训中,…

麒麟信安操作系统里安装达梦数据库无法通过./DmServiceDMSERVER启动数据库实例服务的处理

问题现象如下: 但是通过./dmserver pathxxx/dm.ini又能正常启动 查看日志发现有生成日志:/home/dmdba/dmdbms/log/ dm_unknown_yyyymm.log。 日志内容如下: fail to load libpmem.so, libpmem.so: cannot open shared object file: No such …

Nexus私服搭建与使用

文章目录 1 私服简介2 私服安装步骤1:下载解压步骤2:启动Nexus步骤3:浏览器访问步骤4:首次登录重置密码 3 私服仓库分类4 本地仓库访问私服配置步骤1:私服上配置仓库步骤2:配置本地Maven对私服的访问权限步骤3:配置私服的访问路径 5 私服资源上传与下载步骤1:配置工程上传私服的…

css属性选择器、css3结构选择器、伪元素选择器、仿土豆网隐藏遮罩层案例、伪元素清除浮动

属性选择器 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>属性选择器</title><style>…

Kafka在Java项目中的应用

Kafka在Java项目中的应用 Docker 安装Kafka 一.首先需要安装docker,可看这篇文章安装docker 二.拉取zookeeper和KafKa镜像 docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafkaKafka组件需要向zookeeper进行注册,所以也需要安装zookeeper 三.启动zookeeper…

被00后卷的油尽灯枯了...

内卷的来源 内卷最早的“出处”是几张名校学霸的图片。 大学生们刷爆朋友圈的几张“内卷”图片是这样的&#xff1a;有的人骑在自行车上看书&#xff0c;有的人宿舍床上铺满了一摞摞的书&#xff0c;有的人甚至边骑车边端着电脑写论文。这些图片最早在清华北大的学霸之间流传。…

手机APP性能测试工具PerfDog安装教程及简单使用

一、下载PerfDog PerfDog下载安装传送带&#xff1a;PerfDog | 全平台性能测试分析专家 点击下载对应系统版本&#xff0c;Darren这里下载的是windows版本&#xff0c;苹果电脑可下Mac OS版本。 二、解压文件包 我们在想要存放PerfDog的文件路径先建立一个文件夹&#xff08;方…

远程桌面连接工具在哪里下载?

在市场上&#xff0c;有很多种不同的工具可用。一些远程桌面连接工具&#xff08;如RayLink&#xff09;具有高清流畅、操作简单和连接速度快的特点。而其他一些连接工具则更注重保护安全和数据保密性。不同的远程桌面连接工具各有特点&#xff0c;需要根据不同的需求进行选择。…

Linux将新硬盘挂载到指定目录

MBR分区最大2T&#xff0c;超过2T需用parted工具进行GPT分区 一、fdisk工具进行MBR分区&#xff08;2T以下&#xff09; 1. 查看当前所有硬盘 fdisk -l可以看到未分区的新硬盘/dev/sdd 2. 对新硬盘进行分区 fdisk /dev/sdd输入“n”&#xff0c;按“Enter”&#xff0c;开…

实验2 指令调度和延迟分支【计算机系统结构】

实验2 指令调度和延迟分支【计算机系统结构】 前言推荐代理服务器拒绝访问解决实验2 指令调度和延迟分支1 实验目的2 实验平台3 实验内容和步骤&#xff08;1&#xff09;启动MIPSsim。&#xff08;2&#xff09;进一步理解流水段的构成和各个流水寄存器的功能。&#xff08;3&…