案例分析题

阅读下列说明,回答下列问题,将解答填入答题纸的对应栏内。
【说明】
某医疗护理机构为老年人或有护理需求者提供专业护理,现欲开发一基于Web的医疗管理系统,以改善医疗护理效率。该系统的主要功能如下:
(1)通用信息查询。客户提交通用信息查询请求,查询通用信息表,返回查询结果。
(2)医生聘用。医生提出应聘/辞职申请,交由主管进行聘用/解聘审批,更新医生表,并给医生反馈聘用/解聘结果;删除解聘医生的出诊安排。
(3)预约处理。医生安排出诊时间,存入医生出诊时间表;根据客户提交的预约查询请求,查询在职医生及其出诊时间等预约所需数据并返回;创建预约,提交预约请求,在预约表中新增预约记录,更新所约医生出诊时间并给医生发送预约通知;给客户反馈预约结果。
(4)药品管理。医生提交处方,根据药品名称从药品数据中查询相关药品库存信息,开出药品,更新对应药品的库存以及预约表中的治疗信息;给医生发送”药品已开出”反馈。
(5)报表创建。根据主管提交的报表查询请求(报表类型和时间段),从预约数据、通用信息、药品库存数据、医生以及医生出诊时间中进行查询,生成报表返回给主管。
现采用结构化方法对医疗管理系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

问答题

使用说明中的词语,给出图1-1中的实体E1~E3的名称。

【正确答案】

E1:客户
E2:医生
E3:主管

【答案解析】

需要填写外部实体, 外部实体为不属于软件本身但是又与当前软件有交互关系的外部的人、 软件、 硬件、 组织结构、 数据库系统等, 在作答时需要细心地对每一个阅读到的外部实体(一般为名词)高度重视;

问答题

使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。

【正确答案】

D1:通用信息表
D2:预约表
D3:医生列表
D4:出诊时间表
D5:药品库

【答案解析】

考察数据存储文件, 这需要对阅读到的“...文件”或“...表” 等能够存储数据的媒介词汇高度重视。

问答题

使用说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。

【正确答案】

起点                终点             名称
P2                   D4               删除解聘医生的出诊时间
P2                   D2               删除解聘医生的预约数据
D5                   P4               查询相关药品库存信息
P4                   D2               更新预约表
D3                   P5               医生或医生信息

【答案解析】

不仅仅通过阅读文字描述来作答, 同时也要使用父图与子图的数据守恒原则进行作答。 本题的文字描述中, 共阐述了(1)~(5)共 5 个系统必须要实现的功能模块, 这些功能(动词描述)对应数据流图中的加工 P1~P5。 由于需要找出图 1-2 中缺少的数据流, 故建议边阅读文字描述, 边对照图 1-2 以便找出其中缺少的数据流。从描述"(1)通用信息查询(对应加工 P1)。 客户提交通用信息查询请求(可知实体‘客户’有数据流‘通用信息查询请求’ 流向加工‘通用信息查询’ ), 查询通用信息表(可知存储文件‘通用信息表’ 有数据流‘通用信息’ 流向加工‘通用信息查询’ ), 返回查询结果(可知加工‘通用信息查询’ 有数据流‘查询结果’ 流向实体‘客户’ )。 ", 并对照图 1-2 中 P1 加工和 E1 实体处可知 E1 为实体"客户", D1 为“通用信息表”。 此处通过对比, 未发现缺少的数据流!
从描述“(2)医生聘用(对应加工 P2)。 医生提出应聘/辞职申请(可知实体‘医生’ 有数据流‘应聘/辞职请求’ 流向加工P2), 交由主管进行聘用/解聘审批(可知加工 P2 有数据流“聘用申请” 和“解聘申请” 流向实体‘主管’, 以便主管审批), 更新医生表(可知加工 P2 有数据流流向存储文件‘医生表’, 即 D3), 并给医生反馈聘用/解聘结果(可知加工 P2 有对应的数据流‘聘用反馈’ 和‘解聘反馈’ 流向实体‘医生’ );删除解聘医生的出诊安排(可知应该有一条数据流由 P2 流向类似‘出诊安排表’ 的存储文件, 此处缺少此数据流, 打个标记,待确定‘出诊安排表’ 类似的文件后再补上)”。 阅读到此, 可确定 E2 为“医生”, E3 为“主管”, D3 为“医生列表”, 且找到一条缺少的数据流。阅读描述“(3)预约处理(对应加工 P3)。 医生安排出诊时间(对应图中 E2 流向 P3 的数据流‘出诊时间’ ), 存入医生出诊时间表(对应图中 P3 流向 D4 的数据流‘新增出诊时间’,即 D4 为‘出诊时间表’ );根据客户提交的预约查询请求 (对应 E1 至 P3 的数据流‘预约查询请求’ ), 查询在职医生(对应 D3 至 P3 的数据流‘在职医生列表’ )及其出诊时间(对应 D4 至 P3 的数据流‘所需出诊时间’ )等预约所需数据并返回(对应 P3 至 E1 的数据流‘预约所需数据’ );创建预约, 提交预约请求(对应 E1 至 P3 的数据流‘预约请求’ ),在预约表中新增预约记录(对应 P3 至 D2 的数据流‘新预约’, 即 D2 为‘预约表’ ), 更新所约医生出诊时间(对应 P3 至 D4 的数据流‘新增出诊时间’ )并给医生发送预约通知(对应 P3 至 E2 的数据流‘预约通知’ );给客户反馈预约结果(对应 P3 至 E1 的数据流‘预约反馈’ )。”。 到此得出 D2 为预约表, D3 为 “医生表”, D4 为“出诊时间表”。 根据本段的分析加上之前标记缺少的数据流, 可分析出缺少的数据流有两条, 一条由 P2 流向 D4,名称为“删除解聘医生的出诊时间”, 另外一条由 P2 流向 D2, 名称为“删除解聘医生的预约数据”。
阅读描述“(4)药品管理(对应加工 P4)。 医生提交处方(对应 E2 至 P4 的数据流‘处方’ ),根据药品名称从药品数据中查询相关药品库存信息(可知存储文件‘药品库’ 应有数量流‘查询相关药品库存信息’ 流向 P4, 图中未发现), 开出药品, 更新对应药品的库存(对应 P4 至D5 的数据流‘更新的药品库存信息’, 知 D5 为‘药品库’ )以及预约表中的治疗信息(可分析出 P4 应有数据流‘更新预约表’ 流向 D2, 图中未发现);给医生发送“药品已开出”反馈(对应 P4 至 E2 的数据流‘药品已开出反馈’ 数据流)。”。 到此, 可分析出 D5 为“药品库”, 且缺少 P4 至 D2 的数据流“更新预约表” 和 D5 流向 P4 的数据流“查询相关药品库存信息”。
阅读描述“(5)报表创建(对应加工 P5)。 根据主管提交的报表查询请求(报表类型和时间段)(对应 E3 至 P4 的数据流 ‘报表查询请求’ ), 从预约数据(对应 D2 至 P5 的数据流‘预约数据’ )、 通用信息(对应 D1 至 P5 的数据流‘通用’ )、 药品库存数据(对应 D5 至P5 的数据流‘药品库存数据’ )、 医生(对应 D3 至 P5 的数据流‘医生信息’, 缺少)以及医生出诊时间(对应 D4 至 P5 的数据流‘出诊时间’ )中进行查询, 生成报表返回给主管(对应 P5 至 E3 的数据流‘报表’ )。”。 通过本段分析, 发现缺少 D3 至 P5 的一条数据流,名称为“医生信息”。 通过仔细阅读“(3)预约处理„„给客户反馈预约结果” 段落, 其中“医生安排出诊时间, 存入医生出诊时间表;” 完全属于医生使用的功能“安排出诊时间”, 而“根据客户提交的预约查询请求, 查询在职医生及其出诊时间等预约所需数据并返回;创建预约,提交预约请求, 在预约表中新增预约记录, 更新所约医生出诊时间并给医生发送预约通知;给客户反馈预约结果。” 属于客户的“就诊预约” 功能, 故“预约处理” 可以分解为“安排出诊时间” 和“就诊预约” 两个子加工。 在本题的分层数据流图中, 图 1-1 是父图, 图 1-2是子图, 在建模数据流图时应保持父图与子图的平衡, 即父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同, 但如果父图的一个输入(或输出) 数据流对应于子图中几个输入(或输出) 数据流, 而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流, 那么它们仍然算是平衡的。

问答题

使用说明中的词语,说明“预约处理”可以分解为哪些子加工,并说明建模图1-1和图1-2是如何保持数据流图平衡。

【正确答案】

“预约处理” 可以分解为子加工: 安排出诊时间、 就诊预约。
在建模数据流图时应保持父图(图 1-1)与子图(图 1-2)的平衡, 即父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同, 但如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流, 而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流, 那么它们仍然算是平衡的。

【答案解析】