软件专业(Java)毕业设计任务书
- 格式:doc
- 大小:79.50 KB
- 文档页数:3
Java语言课程设计任务书及题目一、Java语言课程设计目的和要求1.目的:1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;3)培养学生在项目开发中团队合作精神、创新意识及能力。
2.要求:1、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2、系统设计要实用,编程简练,可用,功能全面3、说明书、流程图要清楚4、记录设计情况(备查,也为编写设计说明书作好准备);5、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。
6、设计上交内容:设计报告一份(按格式书写);源程序文件。
7、每人上传上述内容的压缩包,文件名形如“2008813018张三.rar”(学号加姓名组成)。
统一交给学习委员。
二、Java语言课程设计选题如下:1. 算术运算测试(2人)功能要求:该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。
界面要求:用字符界面实现、也可用图形界面实现。
2. 猜数游戏(2人)功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。
界面要示:用字符界面实现、也可用图形界面实现。
3. 学生成绩管理(3人)功能要求:1)输入十个同学的学号,姓名,四科成绩(应用数学、大学英语、Java程序设计、计算机应用基础)2)计算出平均成绩。
以平均成绩降序输出成绩表。
3)输出全组各科平均分,最高分和最低分。
4)输入姓名查询成绩界面要示:用字符界面实现、也可用图形界面实现。
5)能连接数据库并实现查询、增、删、改等功能(此项功能作为可选项,可以不要)。
《Java语言程序设计课程设计》任务书及题目一、J ava语言课程设计目的和要求1.课程目的1)总结、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握。
2)通过课程设计为学生提供了一个既动手又动脑,独立实践的机会,可以将课本上的理论知识和现实问题有机地结合起来,锻炼学生的分析、解决实际问题的能力。
3)培养学生在项目开发中团队合作精神、创新意识及综合能力。
2.课程要求1、对系统进行功能模块分析、模块分析要准确,符合课题要求,实现相应功能;可以另外加上其他功能或修饰,使程序更加美观、完善、合理。
2、系统设计要实用,编程要简练,功能要尽量全面,尽量具有实用功能。
3、要求采用面向对象程序设计方法,程序采用阶梯缩进书写格式,要求上机调试通过。
5、按要求撰写《Java语言程序设计课程设计》总结报告(模板另附),并及时上交。
二、Java语言课程设计课题课题一:学生成绩管理系统1.1 功能要求:1.1.1 创建数据库菜单1、用创建数据库菜单的创建库结构菜单项创建Access数据库的Student表单,其库结构为:学生编号(字符型10字符,其中年份(4字符)院系(2字符),编号(4字符))姓名(字符型15字符)出生日期(字符型10位,例如1999-02-15)数学(整型)英语(整型)2、用创建数据库菜单的录入记录菜单项录入5~6名学生的信息的Access数据库的Student表单中。
1.1.2 一般查询菜单1、用一般查询菜单的顺序查询菜单项执行对Student表单的顺序查询操作。
2、用一般查询菜单的条件查询菜单项执行对Student表单的条件查询操作。
1.1.3 高级查询菜单1、用高级程序菜单的排序查询菜单项执行对Student表单的排序查询操作。
2、用高级程序菜单的模糊查询菜单项执行对Student表单的模糊查询操作。
3、用高级程序菜单的随机查询菜单项执行对Student表单的随机查询操作。
1.1.4 记录操作菜单1、用记录操作菜单的修改记录菜单项执行对Student表单的修改记录操作。
课程设计《JAVA程序设计》任务书.《 JA V A 程序设计》课程设计任务书一.课程设计基本信息课程名称:《JAVA 程序设计》课程设计学时:1周学分:1学分二.课程设计目的与要求1.教学目的:本课程是学习《 Java 程序设计》后的综合实践课,使学生能够比较深入的理解Java 语言的特征及体系;熟练的掌握并会运用Java 语言与面向对象程序设计的思想和方法设计应用程序解决应用问题,积累程序设计的实践经验,为培养软件技术高技能人才奠定基础。
本课程是培养计划中综合性较强的实践教学环节之一, 帮助学生掌握教学内容、培养学生运用知识解决应用问题的实际动手能力、提高学生综合素质有很重要的意义。
2.教学要求:本课程设计以设计一个或多个实际应用系统为目的,通过课程设计让学生较全面的掌握 Java 语法基础知识、面向对象程序设计方法, 尤其是基于Java 的应用程序设计的方法与技术, 能够运用 J2SE 平台,结合相应的数据库系统开发应用程序,理论联系实际,达到培养实践操作技能的目的。
学生要了解 Java 程序开发的一般过程,特别掌握系统分析与设计的基本方法,写出系统分析与设计报告,并能设计真实可用的应用系统。
三.课程设计内容与安排根据老师提供的设计题目, 写出系统分析与设计报告, 并建立原型系统。
题目可以由教师与学生根据实际情况商定,可参考的题目:图书借阅管理系统、产品管理系统、学生成绩管理、学生信息管理、人事管理、人力资源管理系统、物流信息管理系统等。
1.主要设计内容如下:(1系统设计:包括系统需求分析、总体设计和功能设计,必要时使用图表说明。
(2数据库设计与实现:包括数据库的需求分析、数据库的概念结构设计和数据库的逻辑设计。
(3系统各模块设计:包括用户界面及相应功能算法等程序设计。
2.教学安排总课时 30课时,其中需求分析与系统设计、数据库设计与实现、系统各模块实现所以及系统集成调试运行用时间建议各占15%,15%,40%,20%的课时, 学生可根据具体情况调整, 利用 10%的时间完成课程设计报告。
Java语言课程设计任务书及题目总体要求:一.选题指导:1.在大作业的基础上进行完善改进。
与老师确认题目。
2.对生活、学习中可能出现的一些情况与问题,尝试使用信息化技术改进,提出解决方案并设计、完成。
也可选择一个感兴趣的题目,如游戏等。
要求:一定要和java相关。
开始课程设计前和老师确认题目与内容。
该类题目如果选择得当,可以适当加分。
与老师确认题目。
3.可以选择手机应用开发,与老师确认题目。
4.下面的指定题目。
二.完成形式:自由分组完成(最多不超过4人一组),也可个人完成。
分组完成推荐使用SVN,如果有使用该技术可额外加分。
三.课程设计具体要求1.必须要有图形、手机或Web界面,存储必须使用数据库或文件。
2.单机版程序要打包成jar文件或者.exe进行发布,只能用Eclipse演示,不予评分。
Web程序必须脱离Eclipse之类的IDE单独运行,不得在IDE中运行。
3.设计要体现面向对象思想。
4.禁止使用中文变量名!四. 所需提交材料1.演示PPT(文字尽量少、图尽量多、不要超过10页,能以最简明扼要的方式突出系统的亮点,功能截图演示部分一定要出现该功能模块的负责人,PPT结构:封面、功能简介(以模块图呈现)、设计简介(以设计图呈现)、各功能模块演示)-每组1份、电子版用于演示,不用上交。
2.J ava语言课程设计考核表格-每组1份、打印版,需上交。
3.课程设计报告(仿照模板)-每人1份、打印版,需上交,不上交无法评分。
五.课程设计流程及评分标准1.不同题目得分系数不同,分为ABCD四大类,请谨慎选择。
原则上,得分系数越高的题目,评分越高。
但涉嫌大部分抄袭,明显不是自己做的,不能参与考核。
2.流程:选题(自选与大作业改进类型的题目需与老师确认),学习委员收集分组名单(确定组长)提交给老师,组长组织设计并确定分工,做课程设计,提交“课程设计考核表”,演示PPT,同时进行程序演示,每个功能模块要由负责该模块的同学进行讲解并评分。
201 -201 年第学期《Java程序设计》课程设计任务书班级:指导老师:王海利201 年月日课程设计任务书一、设计题目:购物管理系统设计和实现二、设计目标1.使学生更深入地了解和掌握Java语言程序设计课程中相关基础概念,程序设计思想和方法。
2.培养学生综合利用所学知识独立完成课题能力。
3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应含有素质。
4.提升学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关基础素质。
5.培养学生从资料文件、科学试验中取得悉识能力,提升学生从她人经验中找四处理问题新路径悟性,初步培养工程意识和创新能力。
6.对学生掌握知识深度、利用理论去处理问题能力、试验能力、课程设计能力、书面及口头表示能力进行考评。
三、设计要求1.可组成设计小组,小组组员分工协作完成。
要求每个组员有自己相对独立模块,同时要了解其它组员完成内容。
2.查阅相关资料,自学具体课题中包含到新知识。
3.采取结构化、模块化程序设计方法,功效要完善,界面要美观。
4.所设计系统标准上要能够运行无误,结果正确。
5.按要求写出课程设计汇报,并于设计结束后一周内提交。
汇报一律用A4纸打印,汉字字体为宋体,西文字体用Time New Roman,一律用小四号字,行距采取“固定值”20磅,首行缩进2字符。
总体设计应配合软件总体模块结构图来说明软件应含有功效。
具体设计应用传统或N-S步骤图和屏幕抓图说明,调试叙述应配合犯错场景抓图来说明出现了哪些错误,怎样处理。
四、设计内容1.开发“我行我素”购物管理系统,完成以下功效:•制作系统登录菜单•制作系统主菜单•制作用户信息管理菜单程序各功效模块界面可参考以下界面:2.升级“我行我素”购物管理系统,完成以下功效:•购物结算•打印购物小票•计算会员积分•模拟幸运抽奖•计算职员工资3.升级“我行我素”购物管理系统,完成以下功效:•录入会员信息•模拟幸运抽奖•菜单切换•计算会员折扣4.升级“我行我素”购物管理系统,完成以下功效:•查询商品价格•升级购物结算•升级菜单切换•升级幸运抽奖5.升级“我行我素”购物管理系统,完成以下功效:•统计用户年纪层次•循环录入会员信息•登录时用户信息验证6. 升级“我行我素”购物管理系统,完成以下功效:•实现管理员类•实现礼品类•修改管理员密码•礼品馈赠7.升级“我行我素”购物管理系统,完成以下功效:•创建我行我素购物管理系统项目结构•系统入口程序•菜单类•菜单切换8.升级“我行我素”购物管理系统,完成以下功效:•实现会员信息、商品信息定义和初始化•显示目前全部会员信息•添加新会员•实现幸运大放送9.升级“我行我素”购物管理系统,完成以下功效:•系统数据传输•自动计算会员折扣•完善购物小票•信息有效性验证五、课程设计工作计划2 月日,指导老师讲课,学生依据题目准备资料;2 月日,设计小组进行总体方案设计和任务分工;201 年1月日~201 年月日,每人完成自己负担程序模块并经过独立编译;201 年月日~201 年月日,将各模块集成为一个完整系统,并录入足够数据进行调试运行;201 年月日,验收、撰写汇报;201 年月日,答辩及总结。
java毕业设计任务书题目:基于Java的学生信息管理系统设计与实现一、任务背景学生信息管理是学校管理的重要组成部分,对学校管理工作的高效、准确、便捷起着至关重要的作用。
为此,本设计要求实现一个基于Java语言的学生信息管理系统,用于方便学校对学生信息的管理和查询。
二、任务目标1.设计一个能够支持学生信息管理的数据库,包括学生姓名、学号、班级、专业等信息。
2.实现一个基于Java的学生信息管理系统,包括用户登录、学生信息录入、修改、删除、查询等功能。
3.实现学生信息的批量导入和导出功能,支持常见的数据格式,如Excel、CSV等。
4.实现学生信息的统计分析功能,包括学生总人数、男女比例、专业分布等。
5.实现学生信息的备份与恢复功能,保证学生信息的安全性。
三、技术要求1.前端采用Java Swing技术,实现界面友好、操作简单的界面。
2.后端采用Java Servlet技术,实现与前端界面的交互。
3.数据库采用MySQL或Oracle等关系型数据库,实现学生信息的存储、查询和管理。
四、具体要求1.系统应具有较高的安全性,用户需要进行登录验证,保证信息的安全。
2.系统应具有较高的可扩展性和可维护性,支持添加新的功能和修改现有功能。
3.系统应具有较高的稳定性和性能,能够支持大量数据的存储和查询。
4.系统应具有较高的易用性和人性化,操作简单、界面友好。
五、评分标准1.系统功能的实现情况,包括学生信息录入、修改、删除、查询等功能,以及批量导入、导出、统计分析、备份与恢复等功能。
(30分)2.系统的稳定性和性能,能够支持大量数据的存储和查询,操作流畅。
(20分)3.系统的易用性和人性化,操作简单、界面友好。
(20分)4.系统的安全性,用户需要进行登录验证,保证信息的安全。
(15分)5.系统的可扩展性和可维护性,支持添加新的功能和修改现有功能。
(15分)六、其他要求1.要求具有较高的创新性和实用性,符合实际应用需要。
课程设计(论文)任务书1.本课程设计的目的(1)使学生巩固和提高Java编程技术(2)培养学生掌握程序设计的基本思路和方法;(3)加强学生研发、调试程序的能力;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求(以制作一个图形编辑系统作为模板)1)任务:设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。
且有小数点、正负号、求倒数、退格和清零等功能。
用鼠标单击相应的数字键和运算符号键,然后单击=按钮,窗口上方的文本框将会显示计算出来的结果,要将文本编辑框清零,可单击清零按钮。
2)创新要求:在基本要求达到后,可进行创新设计,如:如何利用鼠标选取图形,删除。
3)课程设计论文编写要求(1)课程设计任务及要求(2)需求分析(3)设计思路--工作原理、功能规划(4)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。
(4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。
(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。
(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)(7) 报告按规定排版打印,要求装订平整,否则要求返工;(8) 课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录(代码及相关图片)(9)严禁抄袭,如有发现,按不及格处理。
一、课设任务及要求 (1)二、需求分析 (2)三、设计思路 (7)四、详细设计 (8)五、运行调试与分析讨论 (15)六、设计体会与小结 (24)七、参考文献 (25)八、源代码 (23)一、课设任务及要求设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。
设计一日历记事本1.设计内容设计GUI界面的日历记事本。
系统将日历、记事本功能结合在一起,用户可以方便地在任何日期记录下有关内容或者查看某个日期地记录内容。
2.设计要求1.系统界面的左侧是日历。
该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前日历的年份减一;当鼠标左键单击“下年”按钮,当前日历的年份加一。
2.该日历也可以在某年内按月份前后翻动。
鼠标左键单击“上月”按钮时,当前日历的月份减一;当鼠标左键单击“下月”按钮,当前日历的月份加一。
1.使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日已有记录内容,并询问用户是否用记事本显示该内容。
2.用户选择具体日期后,可以将记事本的当前内容保存起来,形成日志。
3.总体设计件。
类之间的主要关系如图所示。
CalendarPad.java该java文件生成的类负责创建本日历记事本程序主窗口。
该类含有main方法,程序从该类开始执行。
Year.java该文件负责创建管理年份的对象。
Month.java该文件负责创建管理月份的对象。
NotePad.java该文件负责创建记事本。
4.具体设计4.1主类CalendarPad1.成员变量(见下表)主要成员变量(属性)成员变量描述变量类型名称年、月、日int year, month, day 保存日志的散列表Hashtable hashtable存放散列表的文件File file显示日期JTextField[] showDay日历对象Calendar 日历记事本对象NotePad notepad月Month 负责改变年年Year 负责改变月2.方法(见下表)主要方法名称功能备注CalendarPad 创建程序主窗口构造方法设置日历牌设置日历的年份、月份排列号码排列月份中的号码mousePressed 处理MouseEvent事件接口方法main 程序开始运行3.代码CalendarPad.javaimport java.util.Calendar;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.Hashtable;public class CalendarPad extends JFrame implements MouseListener{int year,month,day;Hashtable hashtable; //用来保存日志的散列表File file; //保存散列表的文件JTextField showDay[]; //显示日期的文本条数组JLabel title[]; //日历牌的星期标题Calendar 日历;int 星期几;NotePad notepad=null; //记事本对象Month 负责改变月;Year 负责改变年;String 星期[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};JPanel leftPanel,rightPanel;public CalendarPad(int year,int month,int day){leftPanel=new JPanel();JPanel leftCenter=new JPanel();JPanel leftNorth=new JPanel();leftCenter.setLayout(new GridLayout(7,7)); //第一行显示星期标题的标签//后续6行显示日期的标签rightPanel=new JPanel();this.year=year;this.month=month;this.day=day;负责改变年=new Year(this);负责改变年.setYear(year);负责改变月=new Month(this);负责改变月.setMonth(month);title=new JLabel[7]; //负责显示星期标题的标签showDay=new JTextField[42]; //负责显示日期的标签for(int j=0;j<7;j++) //设置日历牌的第一行:星期标题{title[j]=new JLabel();title[j].setText(星期[j]);title[j].setBorder(BorderFactory.createRaisedBevelBorder());leftCenter.add(title[j]);}title[0].setForeground(Color.red);title[6].setForeground(Color.blue);for(int i=0;i<42;i++) //设置日历牌的日期标签{showDay[i]=new JTextField();showDay[i].addMouseListener(this);showDay[i].setEditable(false);leftCenter.add(showDay[i]);}日历=Calendar.getInstance();Box box=Box.createHorizontalBox(); //在日历牌最上方创建一个水平Box容//器,从左向右显示年份、月份box.add(负责改变年);box.add(负责改变月);leftNorth.add(box);leftPanel.setLayout(new BorderLayout());leftPanel.add(leftNorth,BorderLayout.NORTH);leftPanel.add(leftCenter,BorderLayout.CENTER);leftPanel.add(new Label("请在年份输入框输入所查年份(负数表示公元前),并回车确定"),BorderLayout.SOUTH) ;leftPanel.validate();Container con=getContentPane();JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPanel,rightPanel); con.add(split,BorderLayout.CENTER);con.validate();hashtable=new Hashtable();file=new File("日历记事本.txt");if(!file.exists()){try{FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(hashtable);objectOut.close();out.close();}catch(IOException e){}}notepad=new NotePad(this); //创建记事本对象rightPanel.add(notepad);设置日历牌(year,month);addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);}});setVisible(true);setBounds(100,50,524,285);validate();}public void 设置日历牌(int year,int month){日历.set(year,month-1,1);星期几=日历.get(Calendar.DAY_OF_WEEK)-1;if(month==1||month==2||month==3||month==5||month==7 //从当月1日开始依次||month==8||month==10||month==12) //排列日期{排列号码(星期几,31);}else if(month==4||month==6||month==9||month==11){排列号码(星期几,30);}else if(month==2){if((year%4==0&&year%100!=0)||(year%400==0)) //如果当年是闰年{排列号码(星期几,29);}else{排列号码(星期几,28);}}}public void 排列号码(int 星期几,int 月天数){for(int i=星期几,n=1;i<星期几+月天数;i++){showDay[i].setText(""+n);if(n==day){showDay[i].setForeground(Color.green); //将当前日期设成特殊颜色showDay[i].setFont(new Font("TimesRoman",Font.BOLD,20));}else{showDay[i].setFont(new Font("TimesRoman",Font.BOLD,12));showDay[i].setForeground(Color.black);}if(i%7==6){showDay[i].setForeground(Color.blue); //星期六显示为特殊颜色}if(i%7==0){showDay[i].setForeground(Color.red); //星期日显示为特殊颜色}n++;}for(int i=0;i<星期几;i++){showDay[i].setText("");}for(int i=星期几+月天数;i<42;i++){showDay[i].setText("");}}public int getYear(){return year;}public void setYear(int y){year=y;notepad.setYear(year);}public int getMonth(){return month;}public void setMonth(int m){month=m;notepad.setMonth(month);}public int getDay(){return day;}public void setDay(int d){day=d;notepad.setDay(day);}public Hashtable getHashtable(){return hashtable;}public File getFile(){return file;}public void mousePressed(MouseEvent e) //如果鼠标单击某个日期{JTextField source=(JTextField)e.getSource();try{day=Integer.parseInt(source.getText());notepad.setDay(day);notepad.设置信息条(year,month,day);notepad.设置文本区(null);notepad.获取日志内容(year,month,day);}catch(Exception ee){}}public void mouseClicked(MouseEvent e){}public void mouseReleased(MouseEvent e){}public void mouseEntered(MouseEvent e){}public void mouseExited(MouseEvent e){}public static void main(String args[]){Calendar calendar=Calendar.getInstance(); //获取当前机器时间int y=calendar.get(Calendar.YEAR); //获取当前机器时间的年份int m=calendar.get(Calendar.MONTH)+1; //获取当前机器时间的月份int d=calendar.get(Calendar.DAY_OF_MONTH);new CalendarPad(y,m,d); //显示当月的日历牌}}4.2记事本NotePad1.成员变量(见下表)主要成员变量(属性)描述变量类型名称文本输入区JtextArea text保存、删除日志的按钮Button 保存日志,删除日志保存日志的散列表Hashtable table保存散列表的文件File file记录日志的年、月、日int year, month, day 2.方法(见下表)主要方法名称功能备注NotePad 创建记事本对象构造方法setYear 设置年份getYear 获取年份setMonth 设置月份getMonth 获取月份setDay 设置日期getDay 获取日期获取日志内容获取日志内容保存日志保存日志删除日志删除日志actionPerformed 处理ActionEvent事件接口方法3.代码NotePad.javaimport java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.event.*;import java.io.*;public class NotePad extends JPanel implements ActionListener{JTextArea text; //记事本的文字输入区JButton 保存日志,删除日志;Hashtable table; //用来保存日志的散列表JLabel 信息条; //显示日志日期的信息条int year,month,day; //日志记录的日期File file; //保存散列表的文件CalendarPad calendar;public NotePad(CalendarPad calendar)this.calendar=calendar;year=calendar.getYear();month=calendar.getMonth();day=calendar.getDay();;table=calendar.getHashtable();file=calendar.getFile();信息条=new JLabel(""+year+"年"+month+"月"+day+"日",JLabel.CENTER);信息条.setFont(new Font("TimesRoman",Font.BOLD,16));信息条.setForeground(Color.blue);text=new JTextArea(10,10);保存日志=new JButton("保存日志") ;删除日志=new JButton("删除日志") ;保存日志.addActionListener(this);删除日志.addActionListener(this);setLayout(new BorderLayout());JPanel pSouth=new JPanel();add(信息条,BorderLayout.NORTH);pSouth.add(保存日志);pSouth.add(删除日志);add(pSouth,BorderLayout.SOUTH);add(new JScrollPane(text),BorderLayout.CENTER);}public void actionPerformed(ActionEvent e){if(e.getSource()==保存日志){保存日志(year,month,day);}else if(e.getSource()==删除日志){删除日志(year,month,day);}}public void setYear(int year){this.year=year;}public int getYear(){return year;}public void setMonth(int month){this.month=month;}public int getMonth(){return month;public void setDay(int day){this.day=day;}public int getDay(){return day;}public void 设置信息条(int year,int month,int day){信息条.setText(""+year+"年"+month+"月"+day+"日");}public void 设置文本区(String s){text.setText(s);}public void 获取日志内容(int year,int month,int day){String key=""+year+""+month+""+day;try{FileInputStream inOne=new FileInputStream(file);ObjectInputStream inTwo=new ObjectInputStream(inOne);table=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(table.containsKey(key)) //如果散列表中包含选中的日期项,则弹出询问对话框{String m=""+year+"年"+month+"月"+day+"这一天有日志记载,想看吗?";int ok=JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){text.setText((String)table.get(key));}else{text.setText("");}}else{text.setText("无记录");}}public void 保存日志(int year,int month,int day){String 日志内容=text.getText();String key=""+year+""+month+""+day;String m=""+year+"年"+month+"月"+day+"保存日志吗?";int ok=JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){try{FileInputStream inOne=new FileInputStream(file);ObjectInputStream inTwo=new ObjectInputStream(inOne);table=(Hashtable)inTwo.readObject();//首先到文件中去读取Hashtable对象inOne.close();inTwo.close();table.put(key,日志内容); //将该日志内容添加到散列表对象FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(table);objectOut.close();out.close();}catch(Exception ee){}}}public void 删除日志(int year,int month,int day){String key=""+year+""+month+""+day;if(table.containsKey(key)){ //弹出询问对话框String m="删除"+year+"年"+month+"月"+day+"日的日志吗?";int ok=JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){try{FileInputStream inOne=new FileInputStream(file);ObjectInputStream inTwo=new ObjectInputStream(inOne);table=(Hashtable)inTwo.readObject();//首先到文件中读取Hashtable对象inOne.close();inTwo.close();table.remove(key); //删除日志FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(table);objectOut.close();out.close();text.setText(null);}catch(Exception ee){}}}else{//弹出提示对话框String m=""+year+"年"+month+"月"+day+"无日志记录";JOptionPane.showMessageDialog(this,m,"提示",JOptionPane.W ARNING_MESSAGE);}}}4.3年Year1.成员变量(见下表)主要成员变量(属性)描述变量类型名称表示年份的整数(负数表示公元前)int year显示年份的文本条JTextField showYear负责增减年份的按钮JButton 明年,去年2.方法(见下表)主要方法名称功能备注Year 创建“年”对象构造方法setYear 设置年份getYear 获取年份actionPerformed 处理ActionEvent事件接口方法3.代码Year.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Year extends Box implements ActionListener{int year; //表述年份的整数(负数表述公元前)JTextField showYear=null; //显示年份的文本条JButton 明年,去年;CalendarPad 日历;public Year(CalendarPad 日历){super(BoxLayout.X_AXIS); //一个水平发布组件的Box容器showYear=new JTextField(4);showYear.setForeground(Color.blue);showYear.setFont(new Font("TimesRomn",Font.BOLD,14));this.日历=日历;year=日历.getYear();明年=new JButton("下年");去年=new JButton("上年");add(去年);add(showYear);add(明年);showYear.addActionListener(this);去年.addActionListener(this);明年.addActionListener(this);}public void setYear(int year){this.year=year;showYear.setText(""+year);}public int getYear(){return year;}public void actionPerformed(ActionEvent e){if(e.getSource()==去年){year=year-1;showYear.setText(""+year);日历.setYear(year);日历.设置日历牌(year,日历.getMonth());}else if(e.getSource()==明年){year=year+1;showYear.setText(""+year);日历.setYear(year);日历.设置日历牌(year,日历.getMonth());}else if(e.getSource()==showYear){try{year=Integer.parseInt(showYear.getText());showYear.setText(""+year);日历.setYear(year);日历.设置日历牌(year,日历.getMonth());}catch(NumberFormatException ee) //如果输入的年份不是整数,则恢复为此前{ //显示的年份showYear.setText(""+year);日历.setYear(year);日历.设置日历牌(year,日历.getMonth());}}}}4.4月Month1.成员变量(见下表)主要成员变量(属性)描述变量类型名称表示月份的整数(负数表示公元前)int month显示月份的文本条JTextField showMonth负责增减月份的按钮JButton 上月,下月2.方法(见下表)主要方法名称功能备注Month 创建“月”对象构造方法setMonth 设置月份getMonth 获取月份actionPerformed 处理ActionEvent事件接口方法3.代码Month.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Month extends Box implements ActionListener{int month; //表示月份的整数JTextField showMonth=null; //显示月份的文本条JButton 下月,上月;CalendarPad 日历;public Month(CalendarPad 日历){super(BoxLayout.X_AXIS); //一个水平分布组件的Box容器this.日历=日历;showMonth=new JTextField(2);month=日历.getMonth();showMonth.setEditable(false);showMonth.setForeground(Color.blue);showMonth.setFont(new Font("TimesRomn",Font.BOLD,16));下月=new JButton("下月");上月=new JButton("上月");add(上月);add(showMonth);add(下月);上月.addActionListener(this);下月.addActionListener(this);showMonth.setText(""+month);}public void setMonth(int month){if(month<=12&&month>=1){this.month=month;}else{this.month=1;}showMonth.setText(""+month);}public int getMonth(){return month;}public void actionPerformed(ActionEvent e){if(e.getSource()==上月){if(month>=2){month=month-1;日历.setMonth(month);日历.设置日历牌(日历.getYear(),month);}else if(month==1){month=12;日历.setMonth(month);日历.设置日历牌(日历.getYear(),month);}showMonth.setText(""+month);}else if(e.getSource()==下月){if(month<12){month=month+1;日历.setMonth(month);日历.设置日历牌(日历.getYear(),month);}else if(month==12){month=1;日历.setMonth(month);日历.设置日历牌(日历.getYear(),month);}showMonth.setText(""+month);}}}4.5运行效果5.课程设计作业在认真学习本章代码的基础上,进一步研究java.util,java.awt,java.awt.event,java.io,javax.swing等类包,改进本程序中的记事本模块,增加复制,粘贴,打印,查找等功能。
java 课程设计任务书一、课程目标知识目标:1. 掌握Java基本语法和编程结构,理解面向对象编程的基本概念;2. 学习使用Java进行简单程序设计,包括变量声明、数据类型、运算符、流程控制语句等;3. 了解Java异常处理机制,掌握基本的异常处理方法;4. 理解类的定义和对象创建,掌握封装、继承和多态等面向对象的基本特性。
技能目标:1. 能够独立编写简单的Java程序,具备基本的编程能力;2. 能够运用所学知识解决实际问题,进行基础算法的实现;3. 学会使用调试工具进行程序调试,提高解决问题的能力;4. 培养良好的编程习惯,编写结构清晰、可读性强的代码。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情,树立自信心;2. 培养学生的团队协作精神,学会与他人共同解决问题;3. 培养学生严谨、踏实的学术态度,注重细节,追求卓越;4. 培养学生具备创新意识和探索精神,敢于尝试新方法,勇于克服困难。
课程性质:本课程为Java编程入门课程,旨在让学生掌握Java基本语法和编程技巧,培养面向对象的编程思维。
学生特点:学生处于初中或高中年级,具备一定的逻辑思维能力,对计算机编程感兴趣,但可能缺乏实际编程经验。
教学要求:结合学生特点,注重理论与实践相结合,通过实例教学,让学生在实践中掌握知识,提高编程能力。
同时,关注学生的情感态度,激发学习兴趣,培养良好的编程习惯。
在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. Java概述与开发环境搭建- 了解Java发展史、特点与应用领域- 学习Java开发环境搭建,熟悉集成开发工具2. Java基本语法- 变量声明、数据类型与运算符- 流程控制语句(条件语句、循环语句)- 数组的使用3. 面向对象基础- 类的定义、构造方法与实例化- 封装、继承与多态- 抽象类与接口4. Java常用类库与工具- String类与字符串操作- 异常处理机制- 集合框架简介5. 简单的Java程序设计- 编写控制台输入输出程序- 实现基础算法(排序、查找等)- 文件读写操作6. 综合案例分析与实践- 案例分析:经典算法实现、小型项目开发- 实践项目:学生信息管理系统、简易计算器等教学内容安排与进度:第1周:Java概述与开发环境搭建第2-3周:Java基本语法第4-5周:面向对象基础第6周:Java常用类库与工具第7周:简单的Java程序设计第8周:综合案例分析与实践教材章节关联:《Java编程思想》第1-3章:Java概述、基本语法、流程控制《Java编程思想》第4-7章:面向对象基础、封装、继承与多态《Java核心技术》第1部分:Java基本语法、面向对象、异常处理等《Java核心技术》第2部分:Java常用类库、文件读写、集合框架等三、教学方法1. 讲授法:- 对于Java基本语法、面向对象基础等理论性较强的内容,采用讲授法进行教学,由教师系统地讲解知识点,帮助学生构建知识体系。
毕业设计任务书毕业设计课题:教务信息管理系统
学生姓名刘攀
学号************
系名称计算机工程系
专业及班级安博计软1202
指导教师雷刚跃
湖南信息职业技术学院软件开发专业12 届学生毕业设计任务书
学生姓名刘攀学号201230230405 专业软件开发班级安博计软1202 毕业设计题目教务信息管理系统
课题类型[1]产品设计类课题来源[2]生产实际
毕业设计时间 2014 年 09 月 09 日至 2015 年 01 月 12 日
课题简介
随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校的教务管理都受到了极大的挑战。
Internet技术持续迅猛的发展,也给传统的办学提出了新的模式。
通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。
以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。
课题任务要求
作为新型的办学模式,它们具有对于教务管理过程来说极为宝贵的特性,可以为教务管理的建构提供理想的环境。
所以为此开发的教务管理信息系统旨在探索一种以互联网为基础的办学模式。
通过这种新的模式,为学校营造一种新的办学环境,使管理突破时空限制,扩大教务管理规模,提高工作效率和办学水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行资源的共享与信息的交流。
[2] 课题来源:教学科研、生产实际、社会实际、模拟等。
[3] 期刊文献:作者,论文篇名,刊物名,出版年,卷(期),论文在刊物中的页码。
图书文献:作者,书名,出版地,出版社,出版日期,引用内容所在页。