『软件工程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图、数据流图等二十余种示例
3213 0
|
自然语言处理 算法 测试技术
|
9月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
存储 自然语言处理 安全
『软件工程9』结构化系统分析——解决软件“做什么”问题
该文章深入讲解了结构化系统分析方法,用于明确软件需求和解决软件“做什么”的问题,并介绍了在此过程中使用的工具和技术。
『软件工程9』结构化系统分析——解决软件“做什么”问题
如何绘制PAD图和N-S图(详细步骤)
如何绘制PAD图和N-S图(详细步骤)
4007 0
|
存储 自然语言处理 算法
【北京大学 软件工程】四、结构化分析方法
结构化分析方法是一种系统化的软件开发方法学,旨在通过使用问题域术语建立系统的功能模型,以明确“系统必须做什么”。该方法包括结构化分析、设计和程序设计三个主要部分。其核心工具是数据流图(DFD),用于表达系统功能模型,并结合数据字典定义数据流和数据存储。此外,还使用加工小说明(如判定表或判定树)描述加工逻辑。 结构化分析过程遵循自顶向下、逐步求精的原则,首先建立系统环境图确定边界,然后通过分解加工、分派数据流和引入文件来细化模型。整个过程中需确保模型平衡和信息组织的复杂性控制。最终输出为需求规格说明书(SRS),确保需求的正确性、无二义性、完整性和可验证性等特性。
1618 1
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
自然语言处理 算法 JavaScript
『软件工程11』结构化系统设计:解决软件“怎么做”问题
该文章讲述了结构化系统设计的核心理念与实践方法,旨在解决软件开发过程中“怎么做”的问题,并涵盖了设计原则、模块化、信息隐藏、耦合与内聚等关键概念。
『软件工程11』结构化系统设计:解决软件“怎么做”问题
|
测试技术
软件复杂度量化:McCabe度量法及其环路复杂度的计算方法
McCabe度量法(McCabe's Cyclomatic Complexity)是一种经典的方法,用于度量软件程序的复杂度。通过计算程序中独立路径的数量,帮助开发人员评估代码的维护难度和测试覆盖率。本文详细介绍了McCabe度量法的原理、计算方法及其在实际应用中的作用。
3202 0
|
监控 数据可视化 安全
软件生命周期是什么?包括哪些阶段?各阶段的目标和任务是什么?
在数字化时代,软件如同空气般无处不在,其生命周期涵盖从需求分析到退役的多个阶段,如同生物的成长过程。本文详细介绍了软件生命周期各阶段的目标与任务,并探讨了瀑布模型、迭代模型和敏捷模型等常见生命周期模型。未来,随着技术和业务的不断演变,软件生命周期管理将面临更多挑战与机遇,需不断学习先进方法和技术,以满足用户需求。
7685 0