『软件工程10』结构化系统分析:数据流图和字典案例分析

简介: 该文章通过具体案例分析了在软件工程中如何运用数据流图和数据字典来进行结构化系统分析,帮助明确系统的信息流程和数据定义。

上一篇文章的内容,我们挑选出几个案例来对数据流图和数据字典进行分析。

一、数据流图案例分析

1、案例1:商店业务管理系统

(1)某商店业务管理系统的顶层数据流图如下:

商店业务管理系统

以上数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能。

(2)该管理系统的数据流图绘制步骤为:

  • 首先确定系统的输入输出
  • 根据商店的业务,画出顶层数据流图,以反映最主要业务的处理流程;
  • 经过分析,商店业务处理的主要功能应当有销售采购会计三大项。主要数据流的输入源点和输出终点是顾客和供应商;
  • 然后从输入端开始,根据商店业务的工作流程,画出数据流流经的各个加工框,逐步画到输出端,得到第0层数据流图

(3)根据步骤分别画出第0层和第1层数据流图。具体图形如下:

  • 第0层数据流图如下图所示:

第0层数据流图

  • 细化第0层数据流图的每一个加工项,得到第1层数据流图,其中包括销售采购会计三大项功能。具体数据流图如下:

第1层数据流图—销售细化
第1层数据流图—采购细化
第1层数据流图—会计细化

2、案例2:学籍管理系统

(1)某学籍管理系统的顶层数据流图如下:

学籍管理系统顶层流程图

(2)该管理系统的数据流图绘制步骤为:

  • 首先确定系统的输入输出
  • 根据学籍管理系统的业务,画出顶层数据流图,以反映最主要业务的处理流程;
  • 经过分析,据学籍管理系统的主要功能应当有注册成绩管理资格管理奖励管理四大项。主要数据流的输入源点和输出终点是学生和老师;
  • 然后从输入端开始,根据学籍管理系统相关业务的工作流程,画出数据流流经的各个加工框,逐步画到输出端,得到第0层数据流图

(3)根据步骤画出第0层数据流图。具体图形如下:

  • 第0层数据流图如下图所示:

学籍管理系统第0层流程图

3、案例3:大型企业数据中心

某大型企业的数据中心为了集中管理、控制用户对数据的访问并支持大量的连接需求,欲构建数据管理中间件,其主要功能如下:

(1)数据管理员可通过中间件进行用户管理、操作管理和权限管理用户管理维护用户信息(用户名、密码),存储在用户表中;操作管理维护数据实体的标准操作及其所属的后端数据库信息,存放在操作表中;权限管理维护权限表,该表存储用户可执行的操作信息。

(2)中间件验证前端应用提供的用户信息。若验证不通过,返回非法用户信息;若验证通过,中间件将等待前端应用提交操作请求。

(3)前端应用提交操作请求后,中间件先对请求进行格式检查。如果格式不正确,返回格式错误信息;如果格式正确,则进行权限验证(验证用户是否有权执行请求的操作),若用户无权执行该操作,则返回权限不足信息,否则进行连接管理

(4)连接管理连接相应的后端数据库并提交操作。连接管理先检查是否存在空闲的数据库连接,如果不存在,新建连接;如果存在,则重用连接

(5)后端数据库执行操作并将结果传输给中间件,中间件对收到的操作结果进行处理后,将其返回给前端应用。

现采用结构化方法对系统进行分析与设计,获得如下图所示的顶层数据流图0层数据流图

数据管理中间件顶层数据流图

数据管理中间件0层数据流图

回答以下问题:

  1. E1、 E2 和 E3 分别指哪三个实体?E1:前端应用;E2:数据管理层;E3:后端数据库。
  2. D1 、D2 和 D3 分别指哪三个数据存储?D1:用户表;D2:操作表;D3:权限表。
  3. 加工P指什么?并指出0层数据流图丢失的两条数据流,包括数据流的起点、终点及数据流名称。
    加工p表示数据管理中间件。0层数据流图丢失的两条数据如4和5所示。
  4. 丢失的数据流1中,其起点、终点和名称分别是什么。→起点为P,终点为E1,名称为处理后的操作结果
  5. 丢失的数据流2中,其起点、终点和名称分别是什么。→起点为E3,终点为P,名称为操作结果

二、数据字典案例分析

1、案例1:学籍管理系统

某学籍管理系统的第0层数据流图如下所示。

学籍管理系统第0层流程图

Question:
根据以上第0层数据流图,请写出该学籍管理系统的五个条目。

Answer:

条目一:数据流

条目一:数据流

条目二:数据元素

条目二:数据元素

条目三:数据存储

条目三:数据存储

条目四:数据加工

条目四:数据加工

条目五:外部项

条目五:外部项

三、写在最后

关于数据流图和数据字典的案例分析就讲到这里啦!大家可以根据上一篇文章和这一篇文章连在一起结合学习。

同时,有不理解或有误的地方也欢迎评论区评论或私信我交流~

  • 关注公众号 星期一研究室 ,不定期分享学习干货,学习路上不迷路~
  • 如果这篇文章对你有用,记得点个赞加个关注再走哦~
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
相关文章
|
存储 测试技术 开发工具
软考中的UML图、数据流图等二十余种示例
软考中的UML图、数据流图等二十余种示例
2163 0
|
自然语言处理 算法 测试技术
|
存储 自然语言处理 安全
『软件工程9』结构化系统分析——解决软件“做什么”问题
该文章深入讲解了结构化系统分析方法,用于明确软件需求和解决软件“做什么”的问题,并介绍了在此过程中使用的工具和技术。
『软件工程9』结构化系统分析——解决软件“做什么”问题
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
2967 1
如何绘制PAD图和N-S图(详细步骤)
如何绘制PAD图和N-S图(详细步骤)
2102 0
|
自然语言处理 算法 JavaScript
『软件工程11』结构化系统设计:解决软件“怎么做”问题
该文章讲述了结构化系统设计的核心理念与实践方法,旨在解决软件开发过程中“怎么做”的问题,并涵盖了设计原则、模块化、信息隐藏、耦合与内聚等关键概念。
『软件工程11』结构化系统设计:解决软件“怎么做”问题
|
存储 程序员 数据处理
【软件设计师】程序猿需掌握的技能——数据流图
【软件设计师】程序猿需掌握的技能——数据流图
|
SQL 设计模式 算法
软件体系结构 - 架构风格(8)解释器架构风格
【4月更文挑战第21天】软件体系结构 - 架构风格(8)解释器架构风格
1918 0
|
数据建模 测试技术 uml
【软件工程】期末复习总结(通俗易懂,学不会来打我)
【软件工程】期末复习总结(通俗易懂,学不会来打我)
|
存储 数据处理
一篇文章彻底学会画数据流图
一篇文章彻底学会画数据流图
11129 0