问答题 阅读以下说明和图,根据要求回答下面问题
[说明]
某大型企业的数据中心为了集中管理、控制用户对数据的访问并支持大量的连接需求,欲构建数据管理中间件,其主要功能如下。
1.数据管理员可通过中间件进行用户管理、操作管理和权限管理。用户管理维护用户信息,用户信息(用户名、密码)存储在用户表中;操作管理维护数据实体的标准操作及其所属的后端数据库信息,标准操作和后端数据库信息存放在操作表中;权限管理维护权限表,该表存储用户可执行的操作信息。
2.中间件验证前端应用提供的用户信息。若验证不通过,返回非法用户信息;若验证通过,中间件将等待前端应用提交操作请求。
3.前端应用提交操作请求后,中间件先对请求进行格式检查。如果格式不正确,返回格式错误信息;如果格式正确,则进行权限验证(验证用户是否有权执行请求的操作),若用户无权执行该操作,则返回权限不足信息,否则进行连接管理。
4.连接管理连接相应的后端数据库并提交操作。连接管理先检查是否存在空闲的数据库连接,如果不存在,新建连接;如果存在,则重用连接。
5.后端数据库执行操作并将结果传给中间件,中间件对收到的操作结果进行处理后,将其返回给前端应用。
现采用结构化方法对系统进行分析与设计,获得下图所示的顶层数据流图和第二个图所示的0层数据流图。

顶层数据流图

问答题 使用说明中的词语,给出第一个图中的实体E1~E3的名称。
【正确答案】E1:前端应用 E2:数据管理员 E3:后端数据库
【答案解析】[解析] 由题干关键信息“数据管理员可通过中间件进行用户管理、操作管理和权限管理。用户管理维护用户信息……;操作管理维护数据实体的标准操作及其所属的后端数据库信息……;权限管理维护权限表,该表存储用户可执行的操作信息”,结合图所示的顶层数据流图中“数据管理中间件”处理与外部实体E2之间的“用户信息”、“标准操作/后端数据库信息”、“操作权限”3条输入数据流可知,实体E2的名称是“数据管理员”。 由题干关键信息“中间件验证前端应用提供的用户信息。若验证不通过,返回非法用户信息……”、“前端应用提交操作请求后……如果格式不正确,返回格式错误信息……若用户无权执行该操作,则返回权限不足信息”和“……中间件对收到的操作结果进行处理后,将其返回给前端应用”,结合图中“数据管理中间件”处理与外部实体E1之间的“用户信息”、“操作请求”两条输入数据流和“非法用户信息”、“格式错误信息”、“权限不足信息”、“处理后的操作结果”4条输出数据流可知,实体E1的名称是“前端应用”。 由题干关键信息“连接管理连接相应的后端数据库并提交操作……”和“后端数据库执行操作并将结果传给中间件……”,结合图中“数据管理中间件”处理与外部实体E3之间的两条输出数据流“验证后的操作请求”、“连接请求”,以及输入数据流“操作结果”可知,实体E3的名称是“后端数据库”。
问答题 使用说明中的词语,给出第二个图中的数据存储D1~D3的名称。
【正确答案】D1:用户表 D2:操作表 D3:权限表
【答案解析】[解析] 结合上题的分析结果,由题干关键信息“用户管理维护用户信息,用户信息(用户名、密码)存储在用户表中”可知,对于实体E2(即数据管理员)输入的用户名、密码等用户信息将存储于用户表中,结合0层数据流图中数据存储D1与“用户管理”处理之间数据流方向的关系,因此数据存储D1的名称是“用户表”。 同理,由题干关键信息“操作管理维护数据实体的标准操作及其所属的后端数据库信息,标准操作和后端数据库信息存放在操作表中”和0层数据流图中数据存储D2与“操作管理”处理之间数据流方向的关系可知,数据存储D2的名称是“操作表”。 由题干关键信息“权限管理维护权限表,该表存储用户可执行的操作信息”和0层数据流图中数据存储D3与“权限管理”处理之间数据流方向的关系可知,数据存储D3的名称是“权限表”。
问答题 给出第二个图中加工P的名称及其输入流、输出流,并填入下表中。
{{B}}加工P的相关数据流{{/B}}
类型 名称 起点 终点
输入流      
输出流
除加工P的输入流与输出流外,第一个图还缺失了两条数据流,请给出这两条数据流的起点和终点,并填入下表中。
【正确答案】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)。
问答题 在绘制数据流图时,需要注意加工的绘制。请给出3种在绘制加工的输入、输出时可能出现的错误。
【正确答案】只有输入而无输出(或数据黑洞) 只有输出而无输入(或数据奇迹) 输入的数据流无法通过加工产生输出的数据流(或数据灰洞) 输入的数据流与输出的数据流名称相同
【答案解析】[解析] 数据流图(DFD)描述数据处理过程,是软件系统分析阶段用于描述系统逻辑模型的图形描述工具,用于回答软件系统“做什么”的问题。它从数据传递和加工的角度,以图形的方式描述数据在系统流程中流动和处理的移动变换过程。在DFD中,加工处理是对输入数据进行相关处理并生成输出数据的过程,因此,对于DFD中的每个加工处理至少要有一个输入数据流和一个输出数据流,但一个加工的输入数据流不要与输出数据流同名。在绘制DFD的每个加工处理时,需要注意检查以下几种常见的逻辑错误: ①数据黑洞,即只有输入数据流,没有产生输出数据流; ②数据奇迹,即只有输出数据流,但没有数据流输入; ③数据灰洞,即输入的数据流无法通过加工产生相应的输出数据流; ④输入的数据流与输出的数据流名称相同。