- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序计的实训案例的设计
面向对象程序设计的实训案例的设计
一.引言
今天,面向对象编程技能作为应用软件设计人员的基本工作技能在软件业内已经深入人心:任何一个应用软件设计求职者如果敢于声称自己对面向对象编程一无所知,哪怕他其他方面再优秀,也会被公司拒绝;任何一家招聘应用软件设计职位的公司如果在招聘条件中没有列出“熟悉/精通面象对象编程”这个条件,该公司一定认为这是默认的条件,没有单独列出的必要。
遗憾的是,应届大学/大专毕业生动手能力不强已成为各软件用人单位的另一个共识,而把java,C#等面向对象语言仅仅当作开发网站快速上手的工具的初学者更是大有人在。面对大街上扑天盖地的各类“计算机职业教育广告”,身为一名计算机专业教师,我觉得有必要为提高学生们的面向对象程序设计水平做点什么了。
提高学生的程序设计水平,公认最佳的途径就是多动手实践。在不给学生加负的前提下,精心选择,设计有代表性的实训案例,切实提高实训的效果,就显得尤为重要。
二.案例的评价标准
一个针对初学者的面向对象程序设计的实训案例应由案例的现实原型,案例分析设计和参考代码三个部分组成。其评价标准大致如下:
案例的现实原型应是同学们熟悉的题材,规模和复杂度相对较小,初学者容易把握主题。
案例的分析应体现出面向对象的思维方式,让同学们感受到“万物皆对象”,用面向对象的方式构建软件是一件自然而然的事情。
案例的设计要结构清晰,具备一定的健壮性和扩展性;在不影响结构优雅的前提下,尽可能全面应用到抽象类,接口,继承,多态,重载,覆盖等面向对象基本特性,体现面向对象编程的特点。
案例的参考代码由源码实现,和伪代码相比,初学者对能编译运行的源代码更有好感。
三.案例的现实原型:
根据案例的评价标准,我选择了大家都比较熟悉的餐厅结账作为我们案例的现实原型,其功能要求如下:
程序功能:
这是一个餐厅计费的小程序;根据用户提供的消费清单和所应享受的折扣,算出最后用户的账单;根据用户选择,决定是否继续计算;
用户界面:
控制台命令行显示输出信息和接受用户输入信息;
折扣规定:
餐厅经营 普通食品,海鲜,酒水三大类食品,其享受的折扣不同;折扣分为 “进餐等待折扣”“ VIP折扣”“ 代金券折扣”三种。
A. 进餐等待折扣:普通食品8折,酒水9折,海鲜不打折;
B VIP折扣:菜单总价8折;
C 代金券折扣:总价每消费100,可使用50代金券,直接从总价中扣除;
D 补充说明:如果同时满足折扣A,折扣B,只能享受折扣B.
4.帐单规定:
显示消费的食品的每条记录和单价;显示总共应付费用;显示享受折扣的名称和折扣金额;显示用户实际应付费用;
5.用户在输入消费清单和享受折扣信息时,如果非法输入能够给以相应提示,同时程序正常执行下去。
四.案例的分析设计:
1.程序所要涉及到的实体:
从需求知道,问题的关注点是生成消费的帐单。经验告诉我们,要得到帐单,我们必须知道用户消费食品的份数和单价,以及用户所享受打折的价格。
食品的份数和单价就是个人消费清单,它需要菜单和用户输入来支持;而菜单则由餐厅所提供的食品来决定。用户所享受打折的价格细分一下,可以划分为同用户相关的用户折扣条件和同用户无关的打折规则两个实体。显然,用户的折扣条件由用户输入信息决定,折扣条件依赖于食品。
当个人消费清单和用户所享受的打折价格都知道了,我们还需要一个计算的实体来处理输入数据,最后通过输出实体将帐单打印出来。
那么,程序需要涉及的实体及其功能如下表:
实 体 功 能
计算: 根据消费清单和用户折扣条件打印消费帐单;
菜单: 打印菜单,供用户点菜时选择;
提供菜单的内容提供输入信息的依据;
个人消费清单: 提供消费的食品的种类和和单价;
折扣规则: 根据折扣条件,提供不同的折扣的计算方法;
折扣条件: 根据用户输入,提供用户享受的折扣信息;
食品: 是菜单和折扣规则的的依据,分为普通食品,海鲜,酒水三类。
信息输入: 输入食品消费信息;输入享受折扣信息等;
信息输出: 输出菜单信息;输出消费帐单;输出提示信息等;
表 1-1
2.实体的相互关系:
根据实体的功能和生命周期,我们可以推出实体间的相互关系如下:
计算 和 折扣规则的关系是 聚集;
计算 和 折扣条件,个人消费清单的 关系是依赖
个人消费清单 和 菜单的关系是 聚集;
菜单 和 食品间的关系是 依赖;
个人消费清单和食品间的关系是 间接依赖;
个人消费清单,折扣条件和信息输入的关系是聚集;
计算,菜单和信息输出的关系是聚集;
3.
原创力文档


文档评论(0)