问题 问答题

阅读以下说明和图,根据要求回答下面问题

[说明]

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

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

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

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

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

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

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

顶层数据流图

0层数据流图

给出第二个图中加工P的名称及其输入流、输出流,并填入下表中。

加工P的相关数据流
类型名称起点终点
输入流   
输出流   

除加工P的输入流与输出流外,第一个图还缺失了两条数据流,请给出这两条数据流的起点和终点,并填入下表中。

补充的数据流
序号起点终点
1  
2  

注:名称使用说明中的词汇,起点和终点均使用第一个图中的符号或词汇。

答案

参考答案:

P名称:处理操作结果

输入流:操作结果 E3 P

输出流:处理后的操作结果 P E1

缺失的数据流:

D2 权限验证

D3 权限验证

解析:

结合前两个题的分析结果,由题干关键信息“前端应用提交操作请求后……如果格式正确,则进行权限验证(验证用户是否有权执行请求的操作),若用户无权执行该操作,则返回权限不足信息……”可知,“权限验证”处理需要依据数据存储D3(权限表)所存储的用户可执行的操作信息,来验证用户是否有权执行所请求的操作。因此0层数据流图中“权限验证”处理与数据存储D3(权限表)之间应补充一条“操作权限”的输入数据流(即D3为起点,终点至“权限验证”处理)。

同理,由题干关键信息“前端应用提交操作请求后……进行权限验证,若用户无权执行该操作,则返回权限不足信息,否则进行连接管理”可知,用户拥有执行所请求的操作权限时,需要依据数据存储D2(操作表)中所存储的后端数据库信息,来与相应的“后端数据库”实体建立连接并进入“连接管理”处理。因此0层数据流图中“权限验证”处理与数据存储D2(操作表)之间应补充一条“标准操作/后端数据库信息”的输入数据流(即D2为起点,终点至“权限验证”处理)。

根据分层数据流图(DFD)父图与子图平衡原则和每张数据流图中输入/输出平衡原则,在图顶层数据流图中与外部实体E1(前端应用)相关的输入/输出数据共有6条(即用户信息、操作请求、非法用户信息、格式错误信息、权限不足信息、处理后的操作结果),而在0层数据流图中与外部实体E1(前端应用)相关的输入/输出数据仅画出了5条(即用户信息、操作请求、非法用户信息、格式错误信息、权限不足信息),缺少了“处理后的操作结果”这一条数据流。

同理,在顶层数据流图中与外部实体E3(后端数据库)相关的输入/输出数据共有3条(即验证后的操作请求、连接请求、操作结果),而在0层数据流图中与外部实体E3(后端数据库)相关的输入/输出数据仅画出了两条(即验证后的操作请求、连接请求),缺少了“操作结果”这一条数据流。

结合题干关键信息“……中间件对收到的(后端数据库)操作结果进行处理后,将其返回给前端应用”可知,处理P的名称是“处理操作结果”,其输入流名称为“操作结果”(即E3为起点,终点至处理P),输出流名称为“处理后的操作结果”(即处理P为起点,终点至E1)。

单项选择题
单项选择题