中级软件设计师试题.pdf

上传人:s****u 文档编号:12996620 上传时间:2020-06-04 格式:PDF 页数:9 大小:192.65KB
返回 下载 相关 举报
中级软件设计师试题.pdf_第1页
第1页 / 共9页
中级软件设计师试题.pdf_第2页
第2页 / 共9页
中级软件设计师试题.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述
中级软件设计师下午试题模拟 60 试题一 阅读以下说明和数据流图,根据要求回答下列问题。 说明 现准备为某银行开发一个信用卡管理系统 CCMS,该系统的基本功能如下。 1信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本 信息,提交 CCMS。如果信用卡申请被银行接受, CCMS将记录该客户的基本信息,并发送确认函给该 客户,告知客户信用卡的有效期及信贷限额;否则该客户将会收到一封拒绝函。非信用卡客户收到确 认函后成为信用卡客户。 2信用卡激 活 。信用卡客户 向 CCMS提交激 活 请求,用信用卡 号 和 密码 激 活 该信用卡。激 活操 作结束 后, CCMS将激 活通 知发送给客户,告知客户 其 信用卡 是 否被成功激 活 。 3信用卡客户信息管理。信用卡客户的个 人 信息 可 以 在 CCMS中进 行 在线 管理。 每位 信用卡客 户 可 以 在线查询 和 修改 个 人 信息。 4交 易 信息 查询 。信用卡客户 使 用信用卡 进 行的 每 一 笔 交 易都 会记录 在 CCMS中 。信用卡客户 可 以 通过 CCMS查询 并 核实其 交 易 信息 (包括 信用卡交 易 记录及交 易 额 )。 图 1和图 2分别 给 出了 该系统的 顶层 数据流图和 0层 数据流图的 初稿 。 图 1 图 2 1、 问题 1 根据 说明 ,将图 1中 的 E1 E3填 充完整 。 2、 问题 2 图 1中缺少 3条 数据流,根据 说明 , 分别指出这 3条 数据流的 起点 和 终点 。 (注: 数据流的 起点 和 终点均采 用图 中 的 符号 和 描述 。 ) 3、 问题 3 图 2中 有 两条 数据流 是错误 的,请 指出这两条 数据流的 名称 ,并 改正 。 (注: 数据流的 起点 和 终 点均采 用图 中 的 符号 和 描述 。 ) 4、 问题 4 根据 说明 ,将图 2中 P1 P4的 处 理 名称 填 充完整 。 试题二 5、 【 说明 】 学校中 有 若干 系, 每 个系有 若干班级 和 教研室 , 每 个 教研室 有 若干教员 , 其中 有的 教授 和 副教 授各带 有 若干研究生 ; 每 个 班 有 若干学生 , 每 个 学生选修若干课程 , 每门课可由若干学生选修 。 【 问题 1】 用 E-R图 画出此学校 的 概念模 型,用 文字 写 出各实 体 和 联 系的 属性 。 【 问题 2】 将 E-R图 转换 成 关 系 模 型。 【 问题 3】 指出各 关 系 模 型的 候 选 键 。 试题三 6、 【程 序 说明 】 定义 一个 多边形 结 构 : struct polygon实 现以下 内容 : (1)建立 该 结 构 的 链 表 : create函数 是 创建链 表, 每 输入 一个 结点 的数据, 就把 该 结点 加入 到 链 表 当 中 , 它返 回 创建 的 链 表的 头 指 针 。 (2) 显示链 表的 各 个 结点 数据 :结点 数据 包括: 多边形 顶点 数 、各顶点 的 纵横坐标 、 当多边形 顶点 数为 0 时 , 链 表 创建 结束 。 (3)编 写一个函数 disp, 删除链 表 中 的所有 结点 。 需 要 注 意 的 是: 要 先释放 结 点 数据 内存 , 再删除 结点 ,如果 在 释放 结点 数据 内存单元之前删除 结点 ,则 无法找 到 结点 数据 内存单 元 的 地址 , 也就无法释放 数据的 内存单元 。 【程 序 】 #include iomanip.h struct polygon int n; int* x; int *y; polygon * next; ; void Push(polygon * consr int ESPRESSO_PRICE = 25; const int DRAKROAST_PRICE = 20; const int MOCHA_PRICE = 10; const int WHIP_PRICE = 8; class Beverage /饮 料 _: string description; public: _() return description; _; class CondimentDecorator: public Beverage /配料 protected: _; class Espresso: public Beverage /蒸馏咖啡 public: Espresso () description=Espresso; int cost () return ESPRESSO_PRICE; ; class DarkRoast: public Beverage /深 度烘培 咖啡 public: DarkRoast() description = DardRoast; int cost() return DRAKROAST_PRICE; ; class Mocha: public CondimentDecorator /摩 卡 public: Mocha (Beverage*beverage) this- beverage=beverage; string getDescription() return beverage- getDescription()+,Mocha; int cost() return MOCHA_PRICE+beverage- cost(); ; class Whip: public CondimentDecorator /奶泡 public: Whip (Beverage*beverage) this- beverage=beverage; string getDescription() return beverage- getDescription()+,Whip; int cost() return WHIP_PRICE+beverage- cost(); int main() Beverage* beverage = new DarkRoast() ; beverage=new Mocha(_) ; beverage=new Whip (_) ; cout beverage- getDescription() ¥ beverage- cost() end1; return 0; 编 译运 行 上 述程 序 , 其 输 出结 果为 : DarkRoast, Mocha, Whip ¥ 38。 答 案 : 试题一 1、 E1: 非信用卡客户 E2: 信用卡客户 E3: 银行 由 题 干 关键 信息 “ 1信用卡申请。非信用卡客户填写信用卡申请表 CCMS将记录该客户的基本信息, 并发送确认函给该客户 否则该客户将会收到一封拒绝函 ” ,以及图 1中 数据流 “ 确认函 ” 、 “ 拒绝函 ” 等 信息 可 知, 外 部 实 体 E1的 名称是 “ 非信用卡客户 ” 。 由 题 干 关键 信息 “ 2 信用卡客户 向 CCMS提交激 活 请求 CCMS将激 活通 知发送给客户 ” 和图 1 中 数据流 “ 激 活通 知 ” ,题 干 信息 “ 3 每位 信用卡客户 可 以 在线查询 和 修改 个 人 信息 ” 和图 1中 数据 流 “ 查询 /修改 个 人 信息 ” 、 “ 个 人 信息 ” ,题 干 信息 “ 4 信用卡客户 可 以 通过 CCMS查询 并 核实其 交 易 信息 ” 和图 8-15中 数据流 “ 交 易 记录 查询 请求 ” 可 知, 外 部 实 体 E2的 名称是 “ 信用卡客户 ” 。 由 题 干 说明 中 “ 1信用卡申请。 如果信用卡申请被银行接受 ” 、 图 1中 数据流 “ 信用卡申请信 息 ” 、 “ 信用卡申请 验证 结 果 ” 和 常识等 关键 信息 可 知, 外 部 实 体 E3的 名称是 “ 银行 ” 。 2、起点 终点 名称 E1 P0 信用卡申请表 E2 P0 激 活 请求 P0或 信用卡管理系统 CCMS E2 信用卡交 易 信息 将 问题 1的 分 析 结 果填写到图 1中 , 由 题 干 关键 信息 “ 1 非信用卡客户填写信用卡申请表 提交 CCMS” ,图 1中 数据流 “ 确认函 ” 、 “ 拒绝函 ” 及 其 流 向 等综合 信息 可 知, 外 部 实 体 E1“ 非信用卡客户 ” 有一 条 输 出 数据流 “ 信用卡申请表 ” ,流 向 加 工 P0“ 信用卡管理系统 CCMS” 。 换 而言 之 ,图 1中缺少了 1条名称 为 “ 信用卡申请表 ” 的数据流, 其起点是 E1, 终点 为 P0。 同 理, 由 题 干 关键 信息 “ 2信用卡激 活 。信用卡客户 向 CCMS提交激 活 请求 ” 和图 1中 数据流 “ 激 活通 知 ” 及 其 流 向 等综合 信息 可 知, 外 部 实 体 E2“ 信用卡客户 ” 有一 条 输 出 数据流 “ 激 活 请求 ” ,流 向 加 工 P0“ 信用卡管理系统 CCMS” 。 换 而言 之 ,图 1中缺少了 一 条名称 为 “ 激 活 请求 ” 的数据流, 其起点 是 E2, 终点 为 P0。 由 题 干 关键 信息 “ 4交 易 信息 查询 信用卡客户 可 以 通过 CCMS查询 并 核实其 交 易 信息 ” 、 图 1 中 数据流 “ 交 易 记录 查询 请求 ” 及 其 流 向 和 生活 常识等综合 信息 可 知, 加 工 P0“ 信用卡管理系统 CCMS” 有一 条 输 出 数据流 “ 信用卡交 易 信息 ” ,流 向 外 部 实 体 E2“ 信用卡客户 ” 。 换 而言 之 ,图 1中缺少了 一 条名称 为 “ 信用卡交 易 信息 ” 的数据流, 其起点是 P0, 终点 为 E2。 3、错误 的数据流 名称: 激 活 请求和信用卡申请表 改正 后的数据流 : 数据流 名称 改正 后数据流 起点 改正 后数据流 终点 激 活 请求 E2 P3 信用卡申请表 E1 P4 将 问题 1和 问题 2的 分 析 结 果填写到图 1中 。题 干 说明 中 “ 信用卡申请 ” 、 “ 信用卡激 活 ” 、 “ 信用 卡客户信息管理 ” 和 “ 交 易 信息 查询 ” 是 典 型的 加 工 名称 。根据数据流图 父 图 与子 图数据 平衡原 则, 对 照 图 2和信息填 充 后的图 1可 以 直观 地 发现,图 2中 存 在 的一 条错误 数据流 是 “ 信用卡申请表 ” 。数据流 “ 信用卡申请表 ” 在 图 1中是 从 外 部 实 体 E1流 向 CCMS系统, 而 在 图 8-16中是 从 加 工 P4流 向 外 部 实 体 E1, 应 以 予更 正 。 根据题 干 说明 中 “ 1信用卡申请 ” 描述 信息, 结 合 图 2中 与 加 工 P4相 关 的 “ 信用卡申请表 ” 、 “ 信 用卡申请信息 ” 、 “ 信用卡申请 验证 结 果 ” 等 关键 数据流信息 可 得 , 加 工 P4的 名称是 “ 信用卡申请 ” 。 图 2中 数据流 “ 信用卡申请表 ” 的 起点 应 改正 为 E1, 终点 应 修改 为 P4。 同 理, 在 图 1中 数据流 “ 激 活 请求 ” 从 外 部 实 体 E2流 向 CCMS系统, 而 在 图 2中是 从 加 工 P4流 向 加 工 P3, 应 以 予更 正 。根据题 干 说明 中 “ 2信用卡激 活 ” 描述 信息, 结 合 图 2中 加 工 P3的 输 出 数据流 “ 激 活通 知 ” 等 信息 可 得 , 加 工 P3的 名称是 “ 信用卡激 活 ” 。图 2中 数据流 “ 激 活 请求 ” 的 起点 应 改正 为 E2, 终点 应 修改 为 P3。 4、 P1: 交 易 信息 查询 P2: (信用卡 )客户信息管理 P3: 信用卡激 活 P4: 信用卡申请 根据题 干 说明 中 “ 3信用卡客户信息管理 ” 描述 信息, 结 合 图 2中 与 加 工 P2相 关 的 “ 查询 /修改 个 人 信 息 ” 、 “ 个 人 信息 ” 等 关键 数据流信息 可 得 , 加 工 P2的 名称是 “ 信用卡客户信息管理 ” 。 根据题 干 说明 中 “ 4交 易 信息 查询 ” 描述 信息, 结 合 图 2中 与 加 工 P1相 关 的 “ 交 易 记录 查询 请求 ” 、 “ 交 易 信息 ” 等 关键 数据流信息 可 得 , 加 工 P1的 名称是 “ 交 易 信息 查询 ” 。 根据 问题 3的 分 析 结 果 可 知, 加 工 P3的 名称是 “ 信用卡激 活 ” , 加 工 P4的 名称是 “ 信用卡申请 ” 。 试题二 5、【 问题 1】 用 E-R图表 示 的 概念模 型如下所 示 。 各实 体 的 属性 如下所 述 。 系 : 系 编 号 ,系 名 。 班级:班级 编 号 , 班级名 。 教研室:教研室 编 号 , 教研室名 。 学生:学号 , 姓 名 , 学 历 。 课程:课程 编 号 , 课程名 。 教员: 职工 号 , 姓 名 , 职 称 。 各 联 系的 属性 为 : 选修课: 成 绩 。 其 他 联 系 无属性 。 【 问题 2】 其 关 系 模 型为 : 系 (系 编 号 ,系 名 , 学校名 ) 班级 (班级 编 号 , 班级名 ,系 编 号 ) 教研室 (教研室 编 号 , 教研室 ,系 编 号 ) 学生 (学号 , 姓 名 , 学 历 , 班级 编 号 , 导师职工 号 ) 课程 (课程 编 号 , 课程名 ) 选课 (学号 , 课程 编 号 ,成 绩 ) 【 问题 3】 各 关 系 模 型的 候 选 键 为 : 系 系 编 号 ; 班级 班级 编 号 , 教研室 教研室 编 号 , 学生 学号 ; 课程 课程 编 号 ; 教员 职工 号 ; 选课 学号 , 课程 编 号 。 解析 在画 E-R图 时 , 可 以 按照对 问题的 描述 一 步 一 步 画出每 一 句话 中 涉 及的 实 体 , 再 根据给 出 的 实 际语 义 , 画出实 体之间 的 联 系。 例 如, 每 个 教研室 有 若干教员 , 每 个 班 有 若干学生 , 可 以 画出教研 室 和 教员、班级 和 学生 之间 一 对 多 的 联 系。 再 比 如,有的 教授 和 副教授每人各带若干研究生 , 而 一个 研究生 一 般 指 定 一个 导师 , 这是通 常 的 规 则,所以 可 以 画出教员 和 学生 之间 一 对 多 的 关 系。 按照上 述 的 分 析方 法 , 从 题的说明 中 , 可 以 得 到如下 实 体 和 联 系。 实 体 :学校、 系 、教研室、班级、教员、学生、课程 。 联 系 :校 系 、 系 室、 系 班、室 教、班 生、指 导 、选修 。 具 体 说明 : 实 体 “ 学校 ” 和 实 体 “ 系 ” 是 “ 一 对 多 ” 的 “ 校 系 ” 联 系。 实 体 “ 系 ” 和 实 体 “ 班级 ” 是 “ 一 对 多 ” 的 “ 系 班 ” 联 系。 实 体 “ 系 ” 和 实 体 “ 教研室 ” 是 “ 一 对 多 ” 的 “ 系 室 ” 联 系。 实 体 “ 班级 ” 和 实 体 “ 学生 ” 是 “ 一 对 多 ” 的 “ 班 生 ” 联 系。 实 体 “ 教研室 ” 和 实 体 “ 教员 ” 是 “ 一 对 多 ” 的 “ 室 教 ” 联 系。 实 体 “ 学生 ” 和 实 体 “ 课程 ” 是 “ 多 对 多 ” 的 “ 选修 ” 联 系。 实 体 “ 教员 ” 和 实 体 “ 学生 ” 是 “ 一 对 多 ” 的 “ 指 导 ” 联 系。 试题三 6、 NULL (2)n (3)n-1 (4)newNode- next (5)head (6)n (7)n (8)No+ (9)head- next (10)head 解析 如果 掌握 了 链 表的 创建 、 遍历 和 删除 的 方 法 , 解决 本题 应 该并 不 困难 。要 显示链 表 各结点 的 数据, 就 是 要 把 各结点 找 到, 然 后 把 该 结点 的 每 一个 x、 y坐标 打印 出 来 。 不 过 , 与普 通 的 链 表 也 有 不 同 的 地 方 : 就 是 该 链 表的 结点 数据 是指 针 。要 在 链 表 结点中 存入 数据, 必须 先 动态 分 配存 储 数据的 内存单元 ;要 删除链 表 中 的 各 个 结点 , 必须 先释放 结点 数据的 内存单元 ,否则会 造 成 内存 泄露 。 试题四 7、 protected virtual string getDescription virtual int cost()=0 Beverage* beverage beverage beverage
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!