《Java课程设计指导书.doc》由会员分享,可在线阅读,更多相关《Java课程设计指导书.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java课程设计指 导 书计算机学院一.设计要求: 本课程设计是为了配合Java程序设计课程的开设,通过设计一个完整的程序,使学生掌握Java语言的应用,类的编写,类中成员方法的编写并用Java Development Kit和Eclipse上机调试的基本方法。要求如下:1.要充分认识课程设计对自己的重要性,认真做好课程设计前的各项准备工作。2.既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。3.独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。4.课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩
2、按不及格处理。5.在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。6.小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。二.适用专业 适用于2013级计算机应用技术专业。三.课程设计的一般步骤 1.选题与搜集资料: 4-5人为一小组进行选题,进行课程设计课题的资料搜集。 2.分析与概要设计:根据搜集的资料,进行程序功能与类分析,并在此基础上进行实现程序功能的设计。 3.程序设计:运用掌握Java语言编写程序,实现程序的各个模块功能。 4.调试与测试:自行调试程序,成员交叉测试程序,并记录测试情况。 5.课程设计
3、报告:编写课程设计报告。 6.验收与评分:指导教师对每个小组的开发的系统,及每个成员开发的模块进行综合验收。 7.结合设计报告,根据课程设计成绩的评定方法,评出成绩。 四.本课程设计内容与要求 掌握课程设计的每个步骤,在此基础上设计出所要求的类,功能模块和完整的主程序。 1. 问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么? 2. 逻辑设计:对问题描述中涉及的操作对象定义相应的类,并按照以类为中心的原则划分模块,定义主程序模块。逻辑设计的结果应写出每个类的定义(包括类的描述和每个类成员方法的功能说明),并画出类之间与成员方法之
4、间的关系图。 3.详细设计:定义相应的类并写出类的成员方法的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,类的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作做出进一步的求精,写出类的定义,写出类的成员方法的实现框架; 4.程序实现:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解,使程序中逻辑概念清楚;(具体实现)5.程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,
5、形成格式和风格良好的源程序清单和结果;6.结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。五.上机任务1.根据程序的功能定义类和类成员;2.根据程序所要完成的基本要求和程序实现提示,设计出完整的程序;六.课程设计报告内容包括:1.需求分析在该部分中叙述每个模块的功能要求。2.概要设计在此说明每个部分的类设计说明,每个类中成员变量和成员方法说明。3.详细设计各个类实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的类及其成员方法实现)。源程序要按照写程序的规则来编写。要结构清晰,重点功能部分要加上清晰的程序注释。4.调试分析 调试过程中
6、所做的工作,设计的测试用例,测试数据,测试输出的结果,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),程序的改进设想。5.测试结果 输入数据和输出结果示例6课程设计总结可以包括:课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对Java程序设计这门课程的思考、在课程设计过程中对Java程序设计课程的认识等内容。七.上交相关内容要求上交的成功内容必须由以下三个部分组成,缺一不可。1.上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);2上交程序的说明文件:在说明文档中应该写明上交程序所在的目录,上交程序的主程序文件名
7、,如果需要安装,要有程序的安装使用说明;3.课程设计报告:保存在word文档中,文件名要求按照“学号-姓名-课程设计题目”命名,课程设计报告需要上交打印档。八.考核方式与成绩评定设计报告与程序源码作为考核的内容,成绩计分按优,良,中,差4级评定.九.课程设计题目1. 记事本程序设计要求:使用图形用户界面。实现Windows记事本,能实现编辑、保存、另存为、查找替换等功能。基本功能:1)文件的新建、打开、保存、打印、另存;2)文件的编辑,如全选、复制、剪切、粘贴;3)文件的格式操作,如自动换行、字体设置;4)帮助,包括帮助主题、关于。实现提示:定义窗口类继承java.awt.Frame类并实现A
8、ctionListener接口,在窗口类中定义成员变量,用于表示窗口中菜单、文本区域、状态栏,定义成员方法actionPerformed,用于事件处理,定义成员方法用于读取磁盘文件和把文本区域中的内容写入文件;定义用于选择字体的对话框,对文本区域中的文字进行字体格式设置;定义用于设置字体颜色的对话框,对文本区域中的文字进行字体颜色设置。2. ATM柜员机模拟程序设计要求:使用图形用户界面,模拟ATM柜员机。基本功能:当输入给定的卡号和密码(初始卡号和密码为)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:1) 查询余额:初始余额为10000元。2) ATM取款:每次取款金额为100的
9、倍数,总额不超过5000元,支取金额不允许透支。3) ATM存款:不能出现负存款。4) 修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。实现提示:定义窗口类继承java.awt.Frame类并实现ActionListener接口,在窗口类中定义成员变量,用于表示窗口中菜单、文本框、按钮,定义成员方法actionPerformed,用于事件处理,利用容器类用于存储卡号和密码。3. 万年历程序设计要求:使用图形用户界面。实现万年历,日期与星期的查询。基本功能:(1)能以月历形式显示日期与星期。(2)提供年份的下
10、拉菜单选择年份,并提供月份的下拉菜单来选择月份。(3)通过点击“更新”来刷新日历。实现提示:定义日历类,用于判定所选择的的年份是否闰年,判定每月的天数,以及判断每月的起始星期。定义窗口类继承java.awt.Frame类并实现ActionListener接口,在窗口类中定义成员变量,用于表示窗口中菜单、下拉列表框、按钮,定义成员方法actionPerformed,用于事件处理。4. 日历记事本程序设计要求:使用图形用户界面。带有日程提醒功能的日历。基本功能:1) 显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。2) 定时提醒:用户可以针对某一天来添加,删除和编辑
11、这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。3) 查询信息:用户可以查询到某个月的所有的提示信息。实现提示:定义窗口类继承java.awt.Frame类并实现ActionListener接口,在窗口类中定义成员变量,用于表示窗口中菜单、下拉列表框、按钮,定义成员方法actionPerformed,用于事件处理。利用HashTable保存每天的日程信息,利用File保存日程文件信息。5. 电子英汉词典程序设计要求:使用图形用户界面,实现电子英汉词典。基本功能:1)在窗口中输入要查询的英语单词或者汉字,点击查询按钮后,若该词语存在于词库中,则显示所查询的词语的含义
12、,若该词语没有存在于词库中,则会弹出警告信息,说明“查无此词”。2)能够编辑词典库中的信息,能够增加、删除、修改词典库中的信息。实现提示:定义窗口类继承java.awt.Frame类并实现ActionListener接口,用来显示整个窗体。在窗口类中定义成员变量,用于表示窗口中菜单、下拉列表框、按钮,定义成员方法actionPerformed,用于事件处理。定义添加窗口类,用于增加新的词语及其解释到词典库。定义删除窗口类,用于从词典库删除词语及其解释。定义修改窗口类,用于词典库中词语及其解释。6. 加密与解密程序设计要求:采用图形用户界面,设计用于对文件进行加密和解密的程序。基本功能:1) 给
13、定任意一个文本文件,进行加密,生成另一个文件。2) 对加密后的文件还原。实现提示:定义窗口类继承java.awt.Frame类并实现ActionListener接口,用来显示整个窗体。在窗口类中定义成员变量,用于表示窗口中菜单、下拉列表框、按钮,定义成员方法actionPerformed,用于事件处理,在窗口类中定义用于加密的成员方法,实现对磁盘中指定文件进行加密,密码由0-F组成,使用48个字符,表示3个8位的密码;定义用于解密密的成员方法,实现对磁盘中指定已加密得文件进行解密。定义密码生成类,利用类MessageDigest随机产生密码。7. 聊天程序设计要求:采用图形用户界面,实现聊天程
14、序。基本功能:能实现一个聊天室中多人聊天。实现提示:使用Socket通信。8. 计算器程序设计要求:采用图形用户界面。界面模拟Windows中的计算器程序。基本功能:利用计算器程序实现基本数学运算:加、减、乘、除运算,并且能实现且有小数点、正负号、求倒数、退格和清零功能。实现提示:定义窗口类继承java.awt.Frame类并实现ActionListener接口,用来显示整个窗体。在窗口类中定义成员变量,用于表示窗口中菜单、下拉列表框、按钮,定义成员方法actionPerformed,用于事件处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”8”,”9”)、运算符按钮事件(”+
15、”,”“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”)、求倒按钮事件(”1/x”)、退格按钮事件(”退格”)、清楚按钮事件(“C”)。采用一个链表(LinkedList类)来存储数字或字符,最后运算时,可以一一取出来进行运算。9. 画图程序设计要求:采用图形用户界面,模拟Windows中的画图程序。基本功能:1)能够绘制各种基本图形(直线,曲线,矩形,椭圆,多边形等);2)能够把画好的图保存成文件;3)能够用颜色填充图形;4)能够用橡皮擦掉图形;5)能够调整画布大小;6)能够移动画布上图形的位置;实现提示:定义窗口类继承java.awt.
16、Frame类并实现ActionListener接口,用来显示整个窗体。在窗口类中定义成员变量,用于表示窗口中菜单、下拉列表框、按钮,定义成员方法actionPerformed,用于事件处理。定义Canvas类的子类,用于表示画板程序的画布。定义ToolKitBox类,用于表示画板旁面板,给Canvas中的成员方法传递参数,以控制当前所绘制的图形及颜色等。10. 时钟程序设计要求:采用图形用户界面,实现类Windows时钟程序。基本功能:通过多线程技术,重绘界面,界面包括表盘和指针。并用数字表显示时间。实现提示:11. 投票管理程序设计要求:采用图形用户界面,实现投票管理程序。基本功能:在窗口界
17、面中输入候选人名单后,点击确认按钮实现使用选择框代表候选人,计选择框的名字就是候选人的名字。点击取消按钮候选人输入框为空,重新输入候选人名单。选中候选人的选择框时,表示给该候选人投一票。点击确定按钮时表示产生一张选票。点击刷新按钮回到程序的初始界面重新设置候选人。根据选择框的状态变化统计出候选人的最后得票数,并可按票选取多少点击排序按钮对候选人进行排序。(其中,最多从候选人中选取3人,如果一张选票选取多于3人,该票就作废票处理。如果一个也没投票,就作弃权处理。程序能显示一共统计了多少选票,并能统计出废票和弃权票的票数。实现提示:定义几个类变量来记录投票相关记录如:Checkbox checkb
18、ox /选择框数组,代表候选人TextField personVote /文本条数组,显示每个人的得票情况int count /记录每个人的得票数int totalVote=0, /总票数int peopleNumber=0; /候选人个数int 有效人数=3,废票数=0,弃权票数=0; 在输入候选人名单时是输入一串名字,所以要从这一串名字中单个的提取出来并统计出候选人个数,在完成这项功能时要用到StringTokenizer类。点击确认按钮后,根据候选人个数添加单选按钮,并以候选人名字作为单选按钮的标签名。然后通过确定按钮事件分别给以上定义的各变量赋值。把结果显示出来,同时可以根据peopl
19、eNumber的值对各候选人文本框排序,即调整候选人文本框中的内容。 12. 超市收银程序设计要求:采用图形用户界面,实现超市收银程序。基本功能:由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况存储以供查询。另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。实现提示:定义窗口类继承java.awt.Frame类并实现ActionListener接口,用来显示整个窗体。在窗口类中定义成员变量,用于表示窗口中菜单、下拉列表框、按钮,定义成员方法actionPerformed,用于事件处理。指导老师还可以根据学生实际掌握程度以及知识技术的更新适当对题目进行调整。 八.注意事项1.素材可从以上给出的参考的实例中选做一题,如有选同样内容的同学, 课程设计报告不能雷同,否则以不及格计。2.最后要上交的内容有:Java程序设计课程设计报告(包含类和类成员的定义,核心的方法),程序。3.时间安排:第16周。
限制150内