logo资料库

清华大学 C++课程大作业.docx

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
超市内自助付款机软件开发
超市内自助付款机软件开发 一、 背景 北京某大型连锁超市实力雄厚,拥有西单、中关村、五道口、国贸、望京等多家门店。 现该超市欲推出自助付款机,取代人工收银,需要开发自助付款机的软件部分 Automatic Teller Machine(简称 ATM)。 ATM 应包括三个部分:前台可视化界面操作模块、逻辑处理模块、调取后台数据库的 接口。数据库包括会员信息数据库、商品信息(价格、折扣、赠品、类别等)数据库、商品 库存数据库、销售记录数据库。ATM 从可视化界面获取信息,在后台数据库调取数据,经 过逻辑处理并与前台交互后完成操作,最终将操作结果返回后台数据库。 二、 会员政策 该超市的会员分等级,其对应的服务及优惠如下。 普通会员 VIP 会员 学生会员 实付金额 5%积分 实付金额 10%积分 实付金额 10%积分 实付金额 5%积分 实付金额 5%积分 实付金额 5%积分 无积分 视是否折价或是否有 赠品商品情况确定积 正常优惠外,享受实 付金额 5%的额外积 分 分 免手续费 免手续费 正价且无赠品商品积 分规则 折价且无赠品商品积 分规则 含赠品商品 无积分 无积分 文化、体育类商品 无积分 信用卡交易手续费 30 元以下需要支付 3 元手续费;满 30 元免 手续费 代金券使用 不可换购烟酒、香水 等奢侈品;不找零; 无限制使用;找零等 额存入积分账户;积 不积分 分。 不可换购烟酒、香水 等奢侈品;不找零; 积分,但多倍积分商 品只享受单倍积分 使用积分支付 非会员顾客除不积分外,其余同普通会员。学生会员升级为 VIP 会员后,依旧享受文化、 无积分 无积分 无积分 体育类商品优惠。 使用 ATM 购物流程 三、 1. 顾客以散客或会员方式登录系统,ATM 从会员信息数据库调入会员信息并认证(散客 则跳过该步骤)。 2. 顾客选择“购物”,跳转到购物清单界面。顾客逐一扫描所购商品条形码,ATM 从商品 价格数据库调入商品类别、价格、折扣、积分倍数、赠品规则等信息,不断更新商品清 单;允许的顾客随时删除已有商品清单中的商品。 3. 确定购物清单后,转入支付界面。顾客可依次使用代金券、积分、现金、信用卡中的一 种或多种方式支付;每次支付操作后,实时更新仍需支付的金额及各项商品的返还积分
情况。 4. 一旦支付款项可覆盖商品价格,则前往结算找零界面。 5. 支付过程中,顾客可以随时返回清单界面重新编辑购物清单。 6. 支付完成后,更新会员信息数据库(积分数)、更新商品库存数据库、更新销售记录数 据库。 注意: 1. 友好的界面设计会更好地取悦用户。 2. 在生成的购物清单中,赠品商品应自动识别出;例如,某酸奶品牌“买 3 赠 2”促销, 当顾客在 ATM 上输入购买 7 盒酸奶的信息后,购物清单中应自动列出 5 盒正价商品、2 盒赠品。 3. 支付过程的推荐流程 1) 先让顾客选择是否使用代金券,代金券面额每张 100 元,放入代金券后,提示顾客 代金券的使用政策,确认后需退回多余的代金券。例如,使用 4 张代金券支付 250 元商品,应退回 1 张代金券,但无须找零 50 元。 2) 再让顾客选择使用积分支付部分剩余款项,输入使用多少积分。如顾客输入积分数 额等于或超过所需支付款项,则提示顾客结束支付及实际扣除的积分数并等待确认, 确认后完成交易。实际扣除的积分数并不一定等于顾客输入的积分数。例如,会员 A 输入 300 分积分,购买 250 元商品,交易结束后只应扣除 250 点积分。另外,应 提供一个“使用积分支付全部”的选项,使得顾客无须每次输入数字。若采用该选 项,应注意积分的最小单位是 1 元(分),需要向上取整。 3) 若积分支付环节后,应付款额仍未完全支付,由顾客放入现金(可接受 100 元至 1 角各种的纸币或硬币)。会员的找零可选择转入积分账号。 4) 若现金支付环节后,应付款额仍未完全支付,由顾客信用卡支付,应提示顾客手续 费,确认后跳转到第三方支付平台界面,支付完成后返回。 4. 不同支付手段可能对积分返回造成影响,此时应按照对顾客有利原则进行积分。例如, 某普通会客购买了 200 元正价商品和 200 元折价商品,他使用 300 元代金券和 100 元 现金进行支付,即 200 元代金券先覆盖 200 元折价商品后,剩余 100 元代金券及 100 元现金覆盖 200 元正价商品。 使用 ATM 办理会员业务 四、 1. 申请普通会员:一次性存入 500 元,填入个人信息 2. 申请学生会员:一次性存入 500 元,填入个人信息及学校信息 3. 升级为 VIP 会员:普通会员、学生会员积分满 1000 分可申请,学生会员申请为 VIP 后 依旧享受文化、体育类商品优惠。 五、 使用 ATM 查询交易记录 仅对会员开放此功能,仅限查询前一月的交易记录。 要求与提示 六、 1. 以 VC2010(2008 也可)为开发环境;前台可用 MFC 或 Dos 实现,后台可用 Access 或 文件实现。 2. 充分运用课程中所学 C++的面向对象的知识,如类、类的初始化方法、类的继承和组合、 虚函数和模板等,以单纯的 C 语言写出的面向过程的程序显然不能获得较高的分数。
3. 提交可以运行的源代码(含注释说明)、可执行程序、项目报告、数据测试文件(详见 七)。 5. 截止时间:9 月 17 日 24 时 6. 2 人一组,自由组合。单独组队无加分。 评分标准 七、 1. 可执行程序 20 分 功能实现的完善程度、容错设计、用户体验。 2. 源代码 20 分 逻辑处理模块对应源代码使用的技术(类的封装、继承、运算符重载等等)、可读性(变 量英文名的正确翻译、注释简洁易懂等)。 3. 数据库 10 分 数据库的实现方式;测试数据的数量足以支持对功能的测试。 4. 项目报告 50 分 a) 总体设计 10 分 前台可视化界面操作模块、逻辑处理模块、调取后台数据库的接口三层结构之间的 关系;逻辑处理模块内各流程与前台、后台的交互关系等等。 b) 详细设计 25 分 描述前台界面之间的跳转关系;5 分 描述逻辑处理模块内类的设计与对应数据库的数据格式;10 分 描述逻辑处理模块内各流程的逻辑处理结构;10 分 c) 操作实例(作为报告附件)5 分 d) 分工的真实性与合理性 10 分 项目报告中应有两人分工的详细描述,两人应分别描述自己某一个特定的局部设 计的思路和一个遇到的具体问题及解决方法。根据合作双方的贡献大小分别给出该项分 数,即合作双方的最大分差为 10 分。 5. 项目报告篇幅限定在 8 页以内(不含报告附件、封面等),最后 1 页为分工的详细描述, 5 号字,单倍行距。篇幅每多 1 页,扣 1 分。 6. 迟交作业每迟交 1 天,扣 1 分。 八、 购物清单的样例
购物清单也可参考紫荆 C 楼地下超市购物小票设计。 可以搜索关键词“关系数据库”,学习相关知识设计后台的数据库结。
分享到:
收藏