2025年上半年软件设计师下午试题及答案.docxVIP

2025年上半年软件设计师下午试题及答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2025年上半年软件设计师下午试题及答案

一、数据流图题(共15分)

1.背景说明

某在线教育平台拟开发一套智能选课系统,支持学生在线浏览课程、选择课程、退选课程及生成个性化课表。系统主要功能如下:-学生登录后可查询课程库中所有可选课程(包括课程名称、学分、教师、剩余名额等信息);-学生提交选课申请后,系统验证课程时间是否冲突、是否已达选课上限(每学期最多选5门),验证通过则更新选课记录并减少课程剩余名额;-学生可查看已选课程列表,支持退选操作(退选后恢复课程剩余名额);-系统根据学生已选课程生成周度课表(包含课程时间、教室、教师信息),并提供导出PDF功能。

图1-1为当前绘制的顶层数据流图,图1-2为0层数据流图(部分内容缺失)。

2.问题

问题1(5分):图1-1顶层数据流图中,外部实体E1、E2分别是什么?图1-2中数据存储D1、D2分别是什么?

问题2(5分):图1-2中缺失了哪些数据流?请指出每条数据流的起点、终点及内容。

问题3(5分):说明加工“2.3生成个性化课表”的具体功能。

3.答案与解析

问题1答案:

-E1:学生;E2:课程管理教师(或教务管理人员);D1:学生信息表;D2:课程信息表

解析:顶层数据流图的外部实体应包含系统的主要交互对象,学生是选课的主体(E1),课程管理教师负责维护课程信息(E2)。数据存储需支持核心功能,学生信息表(D1)存储学生基本信息及选课限制,课程信息表(D2)存储课程详情及剩余名额。

问题2答案:

-数据流1:起点“学生”,终点“1.2退选课程”,内容“退选申请”;

-数据流2:起点“2.3生成个性化课表”,终点“学生”,内容“周度课表数据”;

-数据流3:起点“课程信息表(D2)”,终点“1.1查询课程”,内容“课程详情(名称/学分/教师/剩余名额)”

解析:退选操作需学生提交退选申请(补充学生到退选课程的数据流);生成的课表需反馈给学生(补充生成课表到学生的数据流);查询课程时需从课程信息表读取数据(补充课程信息表到查询课程的数据流)。

问题3答案:

-(1).从学生信息表(D1)获取学生已选课程ID;

-(2).从课程信息表(D2)关联查询每门课程的时间、教室、教师信息;

-(3).按周几、节次排序生成时间轴;

-(4).检查是否存在时间冲突(如同一时间多门课程)并标记警告;

-(5).输出结构化课表数据,支持PDF导出。

二、数据库设计题(共15分)

1.背景说明

某医院拟开发电子病历管理系统,核心实体及关系如下:

-医生(编号、姓名、性别、科室编号、职称);

-患者(病历号、姓名、性别、出生日期、联系方式);

-诊疗记录(记录ID、就诊时间、诊断结果、处方);

-科室(科室编号、科室名称、负责人编号)。

其中:

-每个医生属于且仅属于一个科室;

-每个诊疗记录由一名医生负责,对应一名患者;

-科室负责人必须是该科室的医生。

2.问题

问题1(5分):根据背景说明补充E-R图中的联系(需标注联系类型),并指出诊疗记录的弱实体特性。

问题2(5分):将E-R图转换为关系模式(需标注主码和外码)。

问题3(5分):若需保证“科室负责人必须是该科室医生”,应采用什么数据库约束?并设计验证该约束的触发器逻辑(伪代码)。

3.答案与解析

问题1答案:

-联系1:医生-科室,联系类型1:1(每个医生属于1个科室,每个科室有多个医生);

-联系2:医生-诊疗记录,联系类型1:N(每个医生负责多个诊疗记录,每个记录由1个医生负责);

-联系3:患者-诊疗记录,联系类型1:N(每个患者有多个诊疗记录,每个记录对应1个患者);

-弱实体特性:诊疗记录的主码需依赖患者病历号(或记录ID+病历号),无法独立存在。

解析:医生与科室是所属关系(1:N),医生与诊疗记录是负责关系(1:N),患者与诊疗记录是就诊关系(1:N)。诊疗记录的存在依赖于患者和医生,因此是弱实体。

问题2答案:

-医生(医生编号,姓名,性别,科室编号,职称)

主码:医生编号;外码:科室编号(参照科室的科室编号)

-患者(病历号,姓名,性别,出生日期,联系方式)

主码:病历号

-科室(科室编号,科室名称,负责人编号)

主码:科室编号;外码:负责人编号(参照医生的医生编号)

-诊疗记录(记录ID,病历号,医生编号,就诊时间,诊断结果,处方)

主码:记录ID;外码:病历号(参照患者的病历号),医生编号(参照医生的医生编号)

解析:关系模式需包含所有实体属性,外码用于关联实体间的联系。科室负责人需关联医生表的医生编号,确保负责人是医生。

问题3答案:

-采用“检查约束(CHECK)”或“外码约束”;

-触发器逻辑(伪代码):

s

您可能关注的文档

文档评论(0)

155****9258 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档