【软件设计师真题】下午题第一大题---数据流图设计

解答数据流图的题目关键在于细心。
考试时一定要仔细阅读题目说明和给出的流程图。另外,解题时要懂得将说明和流程图进行对照,将父图和子图进行对照,切忌按照常识来猜测。同时应按照一定顺序考虑问题,以防遗漏,比如可以按说明的顺序,或是按数据流向的顺序逐个排除和分析。

一、真题一

1、题目

某会议中心提供举办会议的场地设施和各种设备,供公司与各类组织机构租用。场地包括一个大型报告厅、一个小型报告厅以及诸多会议室。这些报告厅和会议室可提供的设备有投影仪、白板、视频播放/回放设备、计算机等。为了加强管理,该中心欲开发会议预订系统,系统的主要功能如下。

(1)检查可用性。客户提交预订请求后,检查预订表,判定所申请的场地是否在申请日

期内可用:如果不可用,返回不可用信息。

(2)临时预订。会议中心管理员收到客户预订请求的通知之后,提交确认。系统生成新临时预订存入预订表,并对新客户创建一条客户信息记录加以保存。根据客户记录给客户发送临时预订确认信息和支付定金要求。

(3)分配设施与设备。根据临时预订或变更预订的设备和设施需求,分配所需设备(均能满足用户要求)和设施,更新相应的表和预订表。

(4)确认预订。管理员收到客户支付定金的通知后,检查确认,更新预订表,根据客户

记录给客户发送预订确认信息。

(5)变更预订。客户还可以在支付余款前提交变更预订请求,对变更的预订请求检查可用性,如果可用,分配设施和设备:如果不可用,返回不可用信息。管理员确认变更后,根据客户记录给客户发送确认信息。

(6)要求付款。管理员从预订表中查询距预订的会议时间两周内的预订,根据客户记录

给满足条件的客户发送支付余款要求。

(7)支付余款。管理员收到客户余款支付的通知后,检查确认,更新预订表中的己支付余款信息。

现采用结构化方法对会议预订系统进行分析与设计,获得如图 1-2所示的上下文数据流图和图 1-3 所示的 0层数据流图(不完整)。

【问题 1】(2 分)
使用说明中的词语,给出图1-2中的实体 E1~E2 的名称。

【问题 2】(4 分)
使用说明中的词语,给出图 1-3 中的数据存储 D1~D4 的名称。

【问题3】(6 分)
根据说明和图中的术语,补充图1-3中缺失的数据流及其起点和终点

【问题 4】(3 分)
如果发送给客户的确认信息是通过 E-mail 系统向客户信息中的电子邮件地址进行发送的,那么需要对图 1-2 和图 1-3 进行哪些修改?用 150 字以内文字加以说明。

2、解析

【问题 1】

根据 0层数据流中 E1 向系统发送预订请求数据流可知,E1 实体为客户;从预订请求通知到临时预订确认可知 E2 实体为管理员。

【问题2】

根据题目对功能的描述,结合0层数据流图,新临时预订提交、变更的预订请求提交等,可知 D1为预订表:新客户信息存入 D2 中,可知 D2 为客户信息记录表;根据分配设施和设备数据流,可以得到 D3、D4 分别为设施表和设备表。

【问题3】

由"确认预订"收到客户支付定金的通知后,检查确认更新预订表,同时要向客户发送预订确认信息,存在一个起点为 4(确认预订)到终点为 E1的数据流,即预订确认信息数据流;根据临时预订描述,首先要由客户发送预订请求,提交确认,系统生成新临时预订存入预订表,所以存在一个起点为客户即 E1,终点为 2(临时预订)的数据流,即客户临时预订信息数据流。

【问题 4】

略。

3、答案

【问题 1】

E1:客户

E2:管理员

【问题 2】

D1:预订表。

D2:客户信息记录表

D3:设施表。

D4:设备表

【问题3】

(1)数据流名称:预订确认信息。起点:4(确认预订)。终点:E1。

(2)数据流名称:客户信息。起点:E1。终点:2(临时预订)。

【问题 4】

图 1-2 中:增加外部实体"第三方 E-mail 系统",将临时预订/预订/变更确认信息终点均修改至"第三方 E-mail 系统"。

图 1-3 中:增加外部实体"第三方 E-mai 系统",增加加工"发送邮件",将临时预订/预订/变更确认信息终点均修改至"发送邮件"加工,并增加从 D2到"发送邮件"加工,再从发送邮件加工引出数据流 临时预订/预订/变更确认信息,的数据流"电子邮件地址"终点为"第三方 E-mail 系统"。

二、真题二

1、题目

某慕课教育平台欲添加在线作业批改系统,以实现高效的作业提交与批改,并进行统计。学生和讲师的基本信息已经初始化为数据库中的学生表和讲师表。系统的主要功

能如下。

(1)提交作业。验证学生标识后,学生将电子作业通过在线的方式提交,并进行存储系统给学生发送通知表明提交成功,通知中包含唯一编号;并通知讲师有作业提交。

(2)下载未批改作业。验证讲师标识后,讲师从系统中下载学生提交的作业。下载的作业将显示在屏幕上。

(3)批改作业。讲师按格式为每个题目进行批改打分,并进行整体评价。

(4)上传批改后的作业。将批改后的作业(包括分数和评价)返回给系统,进行存储。

(5)记录分数和评价。将批改后的作业的分数和评价记录在学生信息中,并通知学生作业已批改过。

(6)获取已批改作业。根据学生标识,给学生查看批改后的作业,包括提交的作业、分数和评价。

(7)作业抽检。根据教务人员标识抽取批改后的作业样本,给出抽检意见,然后形成抽检报告给讲师。

现采用结构化方法对在线作业批改系统进行分析与设计,获得如图 1-4 所示的上下文数据流图和图 1-5 所示的 0 层数据流图。


【问题1】(3 分)
使用说明中的词语,给出图 1-4 中的实体 E1~E3 的名称。

【问题 2】(4 分)
使用说明中的词语,给出图 1-5 中的数据存储 DI~D4 的名称。

【问题3】(6 分)
根据说明和图中术语,补充图1-5 中缺失的数据流及其起点和终点。

【问题 4】(2 分)
若发送给学生和讲师的通知是通过第三方 E-mail 系统进行的,则需要对图 1-4 和图 1-5进行哪些修改?用 100 字以内文字加以说明。

2、解析

【问题 1】

由系统功能说明知,学生将电子作业通过在线的方式提交系统,所以E1 实体为"学生":讲师从系统中下载学生提交的作业,进行批改打分并做整体评价,所以E2 实体为"讲师"教务人员抽取批改后的作业样本,给出抽检意见,所以E3实体为"教务人员"。

【问题2】

学生和讲师的基本信息已经初始化为数据库中的学生表和讲师表,所以数据存储D2、

D3 的名称分别为"学生表"和"讲师表"。学生将电子作业完成后通过在线的方式提交并存储,因此数据存储D1存储的是学生的作业,名称为"作业":讲师批改完学生作业后,需将批改后的作业(包括分数和评价)返回给系统并进行存储,所以数据存储 D4 的名称为"批改后的作业"。

【问题 3】

学生提交作业之后,系统要给学生发送通知消息,显然数据流图中缺少这样一条数据流;讲师批改完作业后,将批改后的作业的分数和评价记录在学生信息,并通知学生作业批改过,这里缺少两条数据流;最后教务人员抽检后将结果报告讲师,这条数据流也缺少。

【问题 4】

略。

3、答案

【问题 1】

E1:学生

E2:讲师

E3:教务人员

【问题 2】

D1:作业

D2:学生表

D3:讲师表

D4:批改后的作业

【问题 3】

(1)数据流名称:通知。起点:提交作业。终点:E1。

(2)数据流名称:抽检报告。起点:作业抽检。终点:E2.

(3)数据流名称:分数和评价。起点:记录分数和评价。终点:D2.

(4)数据流名称:通知。起点:记录分数和评价。终点:E1。

【问题 4】

增加外部实体"第三方 E-mail 系统"将原来的两条"通知"数据流合并为一条"通,知"数据流,终点为"第三方 E-mail系统"。

三、真题三

1、题目

某大学为进一步推进无纸化考试,欲开发一考试系统。系统管理员能够创建包括专业方向、课程编号、任课教师等相关考试基础信息,教师和学生进行考试相关的工作。系统与考试有关的主要功能如下。

(1)考试设置。教师制定试题(题目和答案),制定考试说明、考试时间和提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储。

(2)显示并接收解答。根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目,根据设定的考试提醒时间进行提醒,并接收学生的解答。

(3)处理解答。根据答案对接收到的解答数据进行处理,然后将解答结果进行存储。

(4)生成成绩报告。根据解答结果生成学生个人成绩报告,供学生查看。

(5)生成成绩单。对解答结果进行核算后生成课程成绩单供教师查看。

(6)发送通知。根据成绩报告数据,创建通知数据并将通知发送给学生;根据成绩单数据,创建通知数据并将通知发送给教师。

现采用结构化方法对考试系统进行分析与设计,获得如图1-6所示的上下文数据流图和图 1-7 所示的 0层数据流图。

【问题 1】(2 分)

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

【问题 2】(4 分)

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

【问题 3】(4 分)

根据说明和图中词语,补充图1-7 中缺失的数据流及其起点和终点。

【问题 4】(5 分)

图 1-7 所示的数据流图中,功能(6)发送通知包含创建通知并发送给学生或教师。请分

解图 1-7 中的加工(6),将分解出的加工和数据流填入答题纸的对应栏内。(注:数据流的起点和终点须使用加工的名称描述)

2、解析

【问题 1】

根据题目说明,教师指定试题、考试说明、考试时间和考试题型,并录入学生信息,系统将考试说明、题目显示给学生,由学生解答。显然 E1 实体为"教师",E2 实体为"学生"。

【问题2】

教师将考试信息、试题、学生信息录入系统,根据数据流,显然 D1为"试题",D2为"学生信息",D3 为"考试信息"。学生解答后,由系统处理解答结果,并保存学生的解答结果,同时根据解答结果生成学生个人成绩报告,显然D4为"解答结果"。

【问题3】

系统要向学生显示考试说明和题目,显然,缺少试题到加工2的数据流。学生做完题后,系统要根据答案对接收到的解答数据进行处理,这里缺少答案到处理3的数据流,根据题设知,答案包含在老师制定的试题中。

【问题 4】

根据题设,系统要根据成绩报告数据,创建通知数据并将通知发送给学生;根据成绩单数据,创建通知数据并将通知发送给教师。

3、答案

【问题1】

E1:教师

E2:学生

【问题 2】

D1:试题

D2:学生信息

D3:考试信息

D4:解答结果

【问题 3】

(1)数据流名称:题目。起点:D1。终点:2(显示并接收解答)。

(2)数据流名称:答案。起点:D1。终点:3(处理解答)。

【问题 4】

分解为:创建通知数据,发送通知给学生或老师,数据流名称:通知数据。起点:创建通知数据。终点:发送通知给学生或老师。

四、真题四

1、题目

某大型比萨加工和销售商为了有效管理生产和销售情况,欲开发一比萨信息系统。

其主要功能如下。

(1)销售。处理客户的订单信息,生成销售订单,并将其记录在销售订单表中。销售订单记录了订购者、所订购的比萨、期望的交付日期等信息。

(2)生产控制。根据销售订单以及库存的比萨数量,制订比萨生产计划(包括生产哪些比萨、生产顺序和生产量等),并将其保存在生产计划表中。

(3)生产。根据生产计划和配方表中的比萨配方,向库存发出原材料申领单,将制作好的比萨的信息存入库存表中,以便及时进行交付。

(4)采购。根据所需原材料及库存量,确定采购数量,向供应商发送采购订单,并将其记录在采购订单表中:得到供应商的供应量,将原材料数量记录在库存表中,在采购订单表中标记已完成采购的订单。

(5)运送。根据销售订单将比萨交付给客户,并记录在交付记录表中。

(6)财务管理。在比萨交付后,为客户开具费用清单,收款并出具收据;依据完成的采购订单给供应商支付原材料费用并出具支付细节;将收款和支付记录存入收支记录表中。

(7)存储。检查库存的原材料、比萨和未完成订单,确定所需原材料。

现采用结构化方法对比萨信息系统进行分析与设计,获得如图1-8所示的上下文数据流图和图 1-9 所示的 0层数据流图。

【问题 1】(4 分)

根据说明中的词语,给出图 1-8 中的实体 E1-E2 的名称。

【问题 2】(5 分)

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

【问题 3】(6 分)

根据说明中的词语,补充图1-9中缺失的数据流及其起点和终点。

2、解析

【问题1】

根据0层数据流中财务管理为客户开具费用清单数据流可知,E1实体为客户;从向供应商发送采购订单、得到供应商的供应量可知,E2实体为供应商。

【问题2】

根据题中对功能的描述,以及 0层数据流:生产控制,制订生产计划,并将其保存在生产计划表中可知,D3 为生产计划表;生产,将制作好的比萨的信息存入库存表中,可知D2 为库存表;采购,在采购订单表中标记已完成的订单,可知D5 为采购订单表;生产,由"根据生产计划和配方表中的比萨配方,向库存发出原料申请",可知D4为配方表;根据"处理客户的订单信息,生成销售订单,并将其记录在销售订单表中",可知 D1为销售订单表。

【问题3】

本题考查补充分层 DFD 中的数据流。在分层 DFD 中,需要保持父图和子图的平衡,即父图中某加工的输入输出数据流必须与其子图的输入输出数据流在数量和名字上相同,或者父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的一个数据流。

由"财务管理"段中"依据完成的采购订单给供应商支付原材料费用并出具支付细节"的描述,存在一个起点为财务管理,终点为供应商即E2的数据流,即支付细节数据流;由"运送"段中"根据销售订单将比萨交付给客户,并记录在交付记录表中",可知存在一个由"销售订单"指向"运送"的数据流,即销售订单数据流;由"采购"段中"根据所需原材料及库存量,确定采购数量",可知存在由"库存表"指向"采购"的数据流,数据流为库存量;根据"存储"段中"检查库存的原材料、比萨和未完成订单,确定所需原料"可知,存在一个由"订单表"指向"存储"的数据流,数据流为未完成的订单。

3、答案

【问题 1】

EI:客户

E2:供应商

【问题2】

D1:销售订单表

D2:库存表

D3:生产计划表

D4:配方表

D5:采购订单表

【问题 3】

(1)数据流名称:支付细节。起点:财务管理。终点:E2.

(2)数据流名称;销售订单。起点:销售订单表。终点:5(运送)

(3)数据流名称:生产计划。起点:D3。终点:3(生产)。

(4)数据流名称:库存量。起点:D2。终点:4(采购)。

(5)数据流名称:原材料数量。起点:4采购。终点:D2。

(6)数据流名称:未完成订单。起点:销售订单表。终点:7(存储)。

五、真题五

1、题目

某巴士维修连锁公司欲开发巴士维修系统,以维护与维修相关的信息,该系统的主要功能如下。

(1)记录巴士 D 和维修问题。巴士到车库进行维修,系统将巴士基本信息和 D 记录在

巴士列表文件中,将待维修机械问题记录在维修记录文件中,并生成维修订单。

(2)确定所需部件。根据维修订单确定维修所需部件,并在部件清单中进行标记。

(3)完成维修。机械师根据维修记录文件中的待维修机械问题,完成对巴士的维修,登记维修情况;将机械问题维修情况记录在维修记录文件中,将所用部件记录在部件清单中,并将所用部件清单发送给库存管理系统以对部件使用情况进行监控,巴士司机可查看已维修机械问题。

(4)记录维修工时。将机械师提供的维修工时记录在人事档案中,将维修总结发送给主

管进行绩效考核。

(5)计算维修总成本。计算部件清单中实际所用部件、人事档案中所用维修工时的总成本;将维修工时和所用部件成本详细信息给会计进行计费。

现采用结构化方法对巴士维修系统进行分析与设计,获得如图1-10所示的上下文数据流图和图 1-11 所示的 0层数据流图。

【问题 1】(5 分)

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

【问题 2】(4 分)

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

【问题 3】(3 分)

说明图 1-11 中所存在的问题。

【问题 4】(3 分)

根据说明和图中术语,采用补充数据流的方式,改正图1-11中的问题。要求给出所补充数据流的名称、起点和终点。

2、解析

本题考查数据流图(DFD)的应用,采用结构化方法进行系统分析与设计,是一道传统题目,要求考生细心分析题目中所描述的内容。DFD 是一种便于用户理解、分析系统数据流程的图形化建模工具,是系统逻辑模型的重要组成部分。

【问题 1】

本问题考查顶层 DFD。顶层 DFD 一般用来确定系统边界。结合图 1-10 上下文数据流图以及根据系统功能的描述(3)"巴士司机可查看已维修问题"可知,E1 为"巴士司机"根据系统功能描述(4)"机械师提供的维修工时记录在人事档案中"和"维修总结发送给主管进行考核"可知,E2为"机械师",E4 为"主管";根据系统功能描述(5)"维修工时和所用成本详细信息给会计进行计费"可知,E3为"会计师":由"所用部件清单发送给库存管理系统"可推断,E5 为"库存管理系统"。

【问题 2】

本问题考查 DFD 中数据存储的确定。本题涉及的数据存储有4个,即巴士列表文件维修记录文件、部件清单和人事档案。接下来需要结合图 1-11 所示的0层数据流进行确定D1与"记录巴士 Ⅲ 和维修问题"有关,根据题意,D1是"巴士列表文件";待维修机械问题记录在 D2 中,可知,D2 为"维修记录文件";所需部件记录在 D3 中,由题意可知D3 为"部件清单";D4 记录的是工时,由题意可知 D4 是"人事档案"。

【问题3】

本问题考査 DFD 中的数据流。在 DFD 中,需要保持父图和子图的平衡,即父图中某加工的输入/输出数据流必须与其子图的输入输出数据流在数量和名字上相同,或者父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的一个数据流。由功能(5)的描述"计算部件清单中实际所用部件、人事档案中所用维修工时的总成本"可知,缺少关于实际所用部件数据流,因此增加一个数据流"实际所用部件",起点为 D3,终点为 5(计算总成本)。根据"完成维修"功能中的描述,机械师可根据维修记录文件中的待维修机械问题,完成巴士维修,因此缺少数据流"待维修机械问题",起点为 D2,终点为 3(完成维修)。

【问题 4】

根据问题3解析,补充以下数据流:实际所用部件,起点:D3,终点:5(计算总成本);待维修机械问题,起点:D2,终点:3(完成维修)。

3、答案

【问题 1】

E1:巴士司机

E2:机械师

E3:会计师

E4:主管

E5:库存管理系统

【问题2】

D1:巴士列表文件

D2:维修记录文件

D3:部件清单

D4:人事档案

【问题 3】

缺失以下数据流

(1)数据流名称:待维修机械问题。起点:D2。终点:3(完成维修)

(2)数据流名称:实际所用部件。起点:D3。终点:5(计算总成本)

【问题 4】

补充以下数据流。

(1)数据流名称:待维修机械问题。起点:D2。终点:3(完成维修)

(2)数据流名称:实际所用部件。起点:D3。终点:5(计算总成本)


数据流图本身的特点使得考查的题型比较集中,常出考题有:找出遗漏的数据流;指出错误/多余的数据流;找出数据流图中的多余文件等。近几年把数据字典、数据库、面向对象设计等知识结合到了数据流图中考查,但一般难度都不大。

相关推荐
ifanatic38 分钟前
[面试]-golang基础面试题总结
面试·职场和发展·golang
jiao_mrswang3 小时前
leetcode-18-四数之和
算法·leetcode·职场和发展
Swift社区12 小时前
LeetCode - #139 单词拆分
算法·leetcode·职场和发展
Dong雨14 小时前
力扣hot100-->栈/单调栈
算法·leetcode·职场和发展
trueEve15 小时前
SQL,力扣题目1369,获取最近第二次的活动
算法·leetcode·职场和发展
召木20 小时前
C++小白实习日记——Day 2 TSCNS怎么读取当前时间
c++·职场和发展
程序员奇奥20 小时前
京东面试题目分享
面试·职场和发展
互联网杂货铺20 小时前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
理论最高的吻1 天前
98. 验证二叉搜索树【 力扣(LeetCode) 】
数据结构·c++·算法·leetcode·职场和发展·二叉树·c
沈小农学编程1 天前
【LeetCode面试150】——202快乐数
c++·python·算法·leetcode·面试·职场和发展