软考下午题第1题——数据流,题目分析与案例解析:

答题技巧-【11-12分】分必拿方法:

下午第一题肯定是数据流的题目,那么,数据流肯定要找到对应的实体、关系模式等内容,审题的时候一定要细致,下午时间也是相当够的,所以每句话记住,至少读3遍,肯定能找到关系和实体,缺少的步骤多读几次也能找个差不多。

数据流图绘制三原则:

既是查找DFD错误的依据,也是补充丢失的数据流的基础。

(1) 一个加工的输出数据流不与输入数据流同名,即使它们的组成成分相同。

(2)每个加工必须既有输入数据流,又有输出数据流。

(3)所有的数据流都必须以一个加工开始,或以一个加工结束。

除此之外,数据流平衡也是一种分析方法,再有,看加工是否需要读取或者写入存储文件。

数据字典:

(1)*+*组成。

(2) [*|*]: 分为。

关系模式:

(1) 1: 1联系。将一方的主码增加到另一方实体对应的关系中。

(2) 1: N或1: *联系。将一端实体的主码加入到N端实体对应的关系中。

(3) M: N或*: *联系。独立成- -个关系模式,取与该联系相关联的实体的码及联系自有的属性构成。

ER图外键:

这个很多时候在下午的第二个题上面会出现,第二题再说。

(1) 一方的主码。

(2) 一端实体的主码。

(3)与该联系相关联的实体的码。

除此之外,还可能包含其它关系模式的主码。

解析题目1:

阅读下列说明和图,回答问题1至问题4:

[说明]

某电子商务系统采用以数据库为中心的集成方式改进购物车的功能,详细需求如下:

(1)加入购物车。顾客浏览商品,点击加入购物车,根据商品标识从商品表中读取商品信息,并更新购物车表。

(2)浏览购物车.顾客提交浏览购物车请求后,显示出购物车表中的商品信息

(3)提交订单。顾客点击提交订单请求,后台计算购物车表中商品的总价(包括运费)加入订单表,将购物车表中的商品状态改为待付款,显示订单详情。若商家改变价格,则刷新后可看到更改后的价格

(4)改变价格。商家查看订购自家商品的订单信息,根据特殊优惠条件修改价格,更新订单表中的商品价格。

(5)付款。顾客点击付款后,系统先根据顾客表中关联的支付账户,将转账请求(验证码、价格等)提交给支付系统(如信用卡系统)进行转账;然后根据转账结果返回支付状态并更改购物车表中商品的
状态。

(6)物流跟踪。商家发货后,需按订单标识添加物流标识(物流公司、运单号) ; 然后可根据顾客或商家的标识以及订单标识,查询订单表中的物流标识,并从相应物流系统查询物流信息。

(7)生成报表。根据管理员和商家设置的报表选项,从订单表、商品表以及商品分类表中读取数据,调用第三方服务Crystal Reports生成相关报表。

(8)维护信息。管理员维护(增、删、改、查)顾客表、商品分类表和商品表中的信息。

现采用结构化方法实现上述需求,在系统分析阶段得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。

下图勉强能看清,填写个表还是没问题的。

图1-1 顶层数据流图
图1-2 0层数据流图

[问题1](4分)

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

答案:

以下4个答案都是在原文中给的,只要好好的多读几遍都能找出来。

E1、商家

E2、支付系统

E3、物流系统

E4、第三方服务Crystal Reports

这个E4的答案给的是【第三方服务】/【Crystal Reports】这个我认为是一句话。都写上不能扣分,可定给分。

[问题2](4分)

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

答案:

这个题需要看箭头,D1~D4都有一个箭头,看到了从哪里引入过来的就是那个的数据表。

D1:订单信息表

D2:商品信息表

D3:商品分类表

D4、购物车表

分析:

这里其实不太好分析,特别是D2和D3这里。

D2这了有3个箭头,一个入,两个出,在上下文中可以读出来是商品表,不太好分析。

D3这得看上一层级的入口信息才能分析出 商品分类、其实还有商品和新顾客两个做模糊,这个空不太容易对。

[问题3](4分)

图1-2中缺失了数据流,请用说明或图1-2中的词语,给出其起点和终点。

答案:

这个就得根据你读的次数慢慢找了,别急,你会找到的。

起点终点
付款D4/购物车表
D4/购物车表提交订单
顾客表付款
D1/订单表生成报表

[问题4](3分)

根据说明,给出数据流“转账请求”、“顾客订单物流查询请求” 和“商家订单物流查询请求”的各组成数据项。

答案:

转账请求:验证码、价格、账号信息。

顾客订单物流查询请求:客户标识、订单标识。

商家订单物流查询请求:商家标识、订单标识。

解析:

先把所有有关的信息在【草稿纸】上罗列出来,然后根据业务逻辑关系进行关联即可。

某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和试成绩,其主要功能描述如下:   1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末试,其成绩作为这门课程的试成绩。   2. 学生的平时成绩和试成绩均由每门课程的主讲教师上传给成绩管理系统。   3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。   4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。   5. 若一门课程的所有有效的平时成绩和试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交试委员会审查。   6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。   7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交试委员会进行审查。试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。 2. ......
<think>好的,用户需要关于医院系统的数据流图例案例分析。首先,我需要回忆数据流图(DFD)的基本概念和结构,确保回答准确。数据流图通常包括外部实体、数据流、处理过程和数据存储,用户可能需要一个具体的例子来理解这些组成部分。 接下来,我要查找是否有相关的引用内容可以支持回答。查看提供的引用,引用[1]提到做技巧,包括查看子图、实体对应的数据流关系以及加工名称,这可能适用于构建数据流图的步骤。引用[3]讨论了结构化设计分为概要设计和详细设计,这数据流图的层次结构有关,可能可以引用到如何分层次设计医院系统的DFD。 用户可能需要一个实际的案例,比如门诊挂号系统,这比较常见且容易举例。我需要构造一个分层的DFD示例,从顶层开始,展示外部实体(如患者、医生)系统的交互,然后分解到一级和二级子图,详细说明各个处理过程和数据存储。 同时,用户可能对如何分析数据流图感兴趣,比如如何识别数据流、处理过程等,这可以结合引用[1]中的技巧,指导用户如何逐步分解问。此外,需要确保使用正确的中文术语和结构,符合用户的要求。 最后,生成相关问时要虑用户可能的后续需求,比如如何优化数据流图、常见错误或应用场景等,帮助用户进一步学习。还要检查LaTeX格式是否正确,所有数学表达式或公式都用$...$或$$...$$包裹,避免格式错误。</think>### 医院系统数据流案例分析 以下以**门诊挂号系统**为例,说明数据流图的设计分析: #### 1. 顶层数据流图(Context Diagram) $$ \begin{array}{ccc} \text{患者} & \rightarrow & \boxed{\text{门诊挂号系统}} & \rightarrow & \text{医生/科室} \\ & \text{挂号请求} & & \text{挂号单} \\ \end{array} $$ 顶层图聚焦系统外部实体的交互,患者提交$挂号请求$,系统返回$挂号单$至医生或科室[^3]。 #### 2. 一级数据流图(Level 1 DFD) ``` 患者 → (1.提交挂号信息) → 挂号记录表 挂号记录表 → (2.分配科室) → 科室信息表 科室信息表 → (3.生成挂号单) → 患者/医生 ``` - **处理过程**: 1. 接收患者提供的$姓名/身份证号/科室选择$ 2. 验证科室$剩余号源$(访问科室信息表) 3. 生成包含$就诊时间/地点/编号$的挂号单 #### 3. 二级数据流图(挂号信息验证) 针对过程1的细化: ``` 患者 → [1.1 输入信息] → [1.2 校验身份] → 患者档案表 患者档案表 → [1.3 匹配历史数据] → 挂号记录表 ``` 此处涉及数据存储的级联访问,需注意箭头方向反映数据流动[^1]。 ### 关键分析技巧 1. **识别数据流**:如$挂号请求$必须包含哪些字段?需结合干中实体属性确定 2. **处理过程命名**:动词短语(如"验证号源")比名词更符合DFD规范 3. **数据存储定位**:输入输出包含相同表名时(如科室信息表),可能表示更新操作[^1] ### 典型例解析 **题目**:若挂号系统需要新增"线上支付"功能,应如何修改DFD? **解答**: - 新增外部实体:支付平台 - 增加数据流:$支付请求$(患者→系统)、$支付结果$(系统→患者) - 扩展处理过程:在生成挂号单前插入"处理支付"子过程
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红目香薰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值