当前位置:文档之家› Java课程设计说明书

Java课程设计说明书

Java课程设计说明书
Java课程设计说明书

1 需求分析

随着21世纪信息化的到来,计算机的应用日益广泛,计算机在代替体力、脑力劳动方面发挥着不可或缺的作用,在工业方面及日常工作中也越来越离不开它。在企业里,要处理大量的数据信息,为了提高员工管理的工作效率,降低操作出错的概率,因而开发出一套员工信息管理系统是很有必要的。员工信息管理系统,可实现了公司员工信息管理系统的电子化,减轻管理人员的工作负担,能够规范、高效地管理大量的劳动人事信息,减小管理成本,提高工作效率,避免人为操作错误和不规范行为。

该软件实现了员工对个人工资的查询以及管理人员对员工信息进行动态管理的功能,例如基本信息的查询,修改,添加,删除;员工工资的查询,修改,添加,删除等。

2 具体功能

(1)新员工注册功能。

(2)员工登陆功能。

(3)员工查看个人工资功能。

(4)管理人员登录功能。

(5)管理人员对员工基本资料的修改,添加,删除,查询功能。

(6)管理人员对员工工资信息的修改,添加,删除,查询功能。

3 系统设计

3.1、功能示意图

系统功能如图3-1所示:

图3-1系统功能图

3.2、数据库设计

本软件数据库类型为MYSQL,数据库“employee.mdb”,其中共包含三种表,其一是登录用户信息表 user(如表3-1),其二是员工基本信息表emps(如表3-2),其三是员工工资信息表salary(如表3-3)。对应的数据库截图分别为:登录用户信息表users 截图(如图3-2),员工基本信息表emps截图(如图3-3),员工工资信息表salary截图(如图3-4)。

表3-1 用户表

表3-2 员工基本信息表

表3-3 员工工资信息表

图3-2 登录用户信息表users截图

图 3-3 员工基本信息表emps截图

图 3-4 员工工资信息表salary截图

3.3、模块设计

本工程下包含三个包,分别是com.control;com.model;com.view.具体模块如表3-3。

表3-3模块功能表

4 系统实现员工信息管理

4.1、删除员工信息功能的实现

删除界面如图4-1所示,该类用于完成基本的数据库操作,包括加载数据库驱动,创建数据库连接,执行Sql语句等。通过构造方法加载数据库驱动程序和创建数据库连接(即打开数据库),通过Close()方法关闭数据库,另外还有四个方法分别为empAddFrm() 、empQueryFrm()、 empRewFrm()、empDelFrm()。通过这四种方法分别实现员工基本信息的添加、查询、修改、删除等操作。在调用方法之前如果没有打开数据库则先打开数据库。四种方法内容相似,以下为 empDelFrm()方法具体内容:

public void actionPerformed(ActionEvent e){

//退出本窗体

if(e.getSource()==btnQuit){dispose();}

if(e.getSource()==btnAdd){

Emp emp=new Emp();

emp.setEm_id(txtId.getText());

emp.setEm_name(txtName.getText());

emp.setEm_birth(txtBirth.getText());

emp.setEm_time(txtTime.getText());

if(cbm.getState())emp.setEm_sex("男");

else emp.setEm_sex("女");

emp.setEm_dep(choDep.getSelectedItem());

EmpHandle empHandle=new EmpHandle();

empHandle.AddToDb(emp);

}

}

图4-1 删除界面

4.2、修改员工信息功能的实现

该类定义了四个变量,其中login_user保存当前登陆用户的用户名,ID在查看联系人详细内容和修改联系人信息用来保存此联系人的ID。

此类为登陆模块,用于实现用户的登陆功能,也是进入系统的入口,其界面如图4-1

所示。修改界面如图4-2所示。

图 4-2 修改界面

如果是已注册的用户,输入用户名、密码后单击确定,则会调用相应方法检查用户名密码是否为空,是否正确。此方法具体代码如下:

public void actionPerformed(ActionEvent e){

//退出本窗体

if(e.getSource()==btnQuit){dispose();}

if(e.getSource()==btnUpdate){

Emp emp=new Emp();

emp.setEm_id(txtId.getText());

emp.setEm_birth(txtBirth.getText());

emp.setEm_time(txtTime.getText());

emp.setEm_dep(choDep.getSelectedItem());

EmpHandle empHandle=new EmpHandle();

empHandle.Update(emp);

}

}

如果登陆成功,则调用ShowMain并释放当前窗体。失败则弹出具体失败原因(帐号密码为空或帐号密码错误)并放回Login界面。

如果没有注册,点击注册,则调用Regist并释放当前窗体。

4.3、查询员工信息功能的实现

查询界面如图4-3所示。

图4-3 查询界面此方法具体代码如下:

public void actionPerformed(ActionEvent e){

//退出本窗体

if(e.getSource()==btnQuit){dispose();}

if(e.getSource()==btnQueryAll){

list.clear();

EmpHandle empHandle=new EmpHandle();

ArrayList al=new ArrayList();

al=empHandle.QueryAllFromDb();

for(int i=0;i

list.add(al.get(i).toString());

}

}

if(e.getSource()==btnQuery){

list.clear();

String em_id=txtId.getText();

EmpHandle empHandle=new EmpHandle();

ArrayList al=new ArrayList();

al=empHandle.QueryByIdFromDb(em_id);

for(int i=0;i

list.add(al.get(i).toString());

}

}

}

4.4、添加员工信息功能的实现

添加界面如图4-4所示。

图4-4 添加界面此方法具体代码如下:

public void actionPerformed(ActionEvent e){

//退出本窗体

if(e.getSource()==btnQuit){dispose();}

if(e.getSource()==btnAdd){

Emp emp=new Emp();

emp.setEm_id(txtId.getText());

emp.setEm_name(txtName.getText());

emp.setEm_birth(txtBirth.getText());

emp.setEm_time(txtTime.getText());

if(cbm.getState())emp.setEm_sex("男");

else emp.setEm_sex("女");

emp.setEm_dep(choDep.getSelectedItem());

EmpHandle empHandle=new EmpHandle();

empHandle.AddToDb(emp);

}

}

5 系统实现员工工资信息管理

5.1、删除员工工资信息功能的实现

删除界面如图5-1所示。

图5-1 删除界面

此方法具体代码如下:

public void actionPerformed(ActionEvent e) {

String Sa_Id=txt.getText();

SalaryHandle salaryHandle=new SalaryHandle();

if(e.getSource()==btnQuit){dispose();}

if(e.getSource()==btnDelId){

list.clear();

ArrayList al=new ArrayList();

al=salaryHandle.QuerySalaryByIdFromDb(Sa_Id);

for(int i=0;i

list.add(al.get(i).toString());

}}

if(e.getSource()==btnOk){

System.out.println(Sa_Id);

salaryHandle.DelSalaryByIdToDb(Sa_Id);

new msgFrm("删除成功");

list.clear();

}

}

5.2、修改员工工资信息功能的实现

修改界面如图5-2所示。

图5-2 修改界面

此方法具体代码如下:

public void actionPerformed(ActionEvent e) {

if(e.getSource()==btnQuit){dispose();}

if(e.getSource()==btnUpdate){

Salary salary=new Salary();

salary.setSa_Id(txtId.getText());

salary.setSa_Jiben(Integer.parseInt(txtJiben.getText()));

salary.setSa_Gangwei(Integer.parseInt(txtGangwei.getText()));

salary.setSa_Zhufang(Integer.parseInt(txtZhufang.getText()));

salary.setSa_Yanglao(Integer.parseInt(txtYanglao.getText()));

salary.setSa_Yingfa(Integer.parseInt(txtYingfa.getText()));

salary.setSa_Yingkou(Integer.parseInt(txtYingkou.getText()));

salary.setSa_Shifa(Integer.parseInt(txtShifa.getText()));

//int类型不能用getTexta()方法获得

SalaryHandle salaryHandle=new SalaryHandle();

salaryHandle.UpdateSalary(salary);

}

}

5.3、查询员工工资信息功能的实现

查询界面如图5-3所示。

图5-3 查询界面

此方法具体代码如下:

public void actionPerformed(ActionEvent e) {

if(e.getSource()==btnQuit){dispose();}

if(e.getSource()==btnQueryAll){

list.clear();

SalaryHandle salaryHandle=new SalaryHandle();

ArrayList al=new ArrayList();

al=salaryHandle.QuerySalaryAllFromDb();

for(int i=0;i

list.add(al.get(i).toString());

}

}

if(e.getSource()==btnQuery){

list.clear();

String sa_Id=txtId.getText();

SalaryHandle salaryHandle=new SalaryHandle();

ArrayList al=new ArrayList();

al=salaryHandle.QuerySalaryByIdFromDb(sa_Id);

for(int i=0;i

list.add(al.get(i).toString());

}

}

}

5.4、添加员工工资信息功能的实现

添加界面如图5-4。

图5-4 添加界面

输入信息后单击确定,则调用响应方法,检查用户名是否为空,如果为空则弹出“用户名不能为空”并返回当前界面。如果不为空则将响应信息添加到数据空中,添加成功后重新调用ShowMain并释放当前窗口,如果单击取消同样调用ShowMain并释放当前窗口。此方法具体代码如下:

public void actionPerformed(ActionEvent e) {

if(e.getSource()==btnQuit){dispose();}

if(e.getSource()==btnAdd){

Salary salary=new Salary();

salary.setSa_Id(txtId.getText());

salary.setSa_Jiben(Integer.parseInt(txtJiben.getText()));

salary.setSa_Gangwei(Integer.parseInt(txtGangwei.getText()));

salary.setSa_Zhufang(Integer.parseInt(txtZhufang.getText()));

salary.setSa_Yanglao(Integer.parseInt(txtYanglao.getText()));

salary.setSa_Yingfa(Integer.parseInt(txtYingfa.getText()));

salary.setSa_Yingkou(Integer.parseInt(txtYingkou.getText()));

salary.setSa_Shifa(Integer.parseInt(txtShifa.getText()));

//int类型不能用getTexta()方法获得

SalaryHandle salaryHandle=new SalaryHandle();

salaryHandle.AddSaToDb(salary);

}

}

6 总结

维期两周的Java课程设计接近尾声,这两周的学习短暂而充实,通过学习,我学会了简单的小型员工管理系统的开发,在这过程中查阅了一些资料,在程序的设计中,经过不断的反复修改,最后完成了该任务。同时对eclipse及数据库等也有了更进一部的了解。感觉收获颇多。

参考文献

[1] 印旻.Java与面向对象程序设计[M]. 北京:高等教育出版社,2005

[2] 王珊,萨日煊.数据库系统概论(第四版)[M]. 北京:高等教育出版社,2008

[3] 齐治昌,谭庆平,宁洪.软件工程(第二版)[M]. 北京:高等教育出版社,2007

[4] 严蔚敏,吴伟民.数据结构(C语言版)[M]. 北京:清华大学出版社,2007

Java语言程序设计课程设计指导书

《JAVA程序设计基础课程设计》指导书 课程名称:JAVA程序设计基础课程设计 设计题目:班级通信录电子万年历简单计算器聊天小程序 图书管理系统学生成绩管理系统英汉电子小字典 使用班级:通信151-2 指导教师:宫淑兰、张明玉 一、课程设计的目的和要求 1、通过面向对象程序设计课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,要求学生能够对现实生活中许多具体的事物抽象出来,并掌握继承与派生,基类、虚函数和多态性的概念。 2、通过这次课程设计掌握面向对象的编程思想,为后续课程打下基础。 3、培养学生实际操作能力和团结协作能力,为以后的工作打下坚实的基础。 二、课程设计内容 运用Java语言描述各种类,每一个类应包含数据成员和成员函数。设计基类和派生类,并运用多态性和虚函数的知识。注重面向对象程序设计理论知识的理解与实际的动手编程能力,要求学生设计具有继承与派生以及多态性的类,理解面向对象程序设计的核心的概念。 不得从网上下载或者抄袭别人的资料,一经发现,课程设计不及格。 三、课程设计进度表 时间为一周,大致划分如下: 第一天布置任务及分组,总体需求分析,编写相关文档,设计说明,查找资料第二天基类、各派生类设计及代码实现,各模块的编程设计 第三天各模块的调试与修改,系统组装,程序总调试,修改 第四天~第五天撰写课程设计说明书,课程设计检查与答辩 四、课程设计步骤与方法 1、需求分析:为提出的问题找出解决的办法和思路。用自顶向下的方法创建主程序和子程序,控制对象间的相互作用。 2、根据需求,设计系统功能模块,并设计相应的类结构。 3、根据基本思路,确定输入和输出,设计程序的算法。

JAVA课程设计打砖块(含代码)

Java程序课程设计任务书 一、主要容 打砖块游戏是一种动作电子游戏的名称。玩家操作一根萤幕上水平的“棒子”,让一颗不断弹来弹去的“球”在撞击作为过关目标消去的“砖块”的途中不会落到萤幕底下。球碰到砖块、棒子与底下以外的三边会反弹,落到底下会失去一颗球,把砖块全部消去就可以破关。 二、具体要求 通过图形用户界面(Graphics User Interface,GUI)和线程,使用户和程序之间可以方便地进行交互。运用Swing组件,编写小应用程序游戏,加深对Java语言的理解,深入地了解图形用户界面的设计,更加熟练地运用编程软件。 功能要求: (1)游戏运行需键盘的操作; (2)游戏可统计分数; (3)球落到底下会失去一颗,按ENTER可重新开始。 开发工具:JCreater软件; 开发技术:J2ME。 三、进度安排 12月28日:课程设计选题,查找参考资料 12月29日:完成打砖块游戏程序设计分析 12月30日~ 1月3日:完成程序代码的编写 1月4日~ 1月5日:游戏测试与完善 1月6日~ 1月7日:完成课程设计报告,准备答辩 四、主要参考文献 [1] (美)埃克尔著昊鹏,饶若楠等译. Java编程思想[J]. 机械工业,2005 [2](美)Gary J.Bronson著珑雅文译. Java编程原理[J]. 清华大学,2004 [3](美)Michael Morrison著徐刚,于健,薛雷译. 游戏编程入门[J]. 人民邮电,2005.9 [4](美)Wendy Stahler著冯宝坤,曹英译. 游戏编程中的数理应用[J]. 红旗,2005

[5](美)克罗夫特(David Wallace Croft)著彭晖译. Java游戏高级编程[J]. 清华大学,2005 [6](美)David Brackeen著邱仲潘译. Java游戏编程[J]. 科学,2004 [7] 聂庆亮编著. Java应用开发指南[J]. 清华大学,2010 [8] 耿祥义,跃平编著. Java面向对象程序设计[J]. 清华大学,2010 [9] 绍方编著. Java编程实用技术与案例[J]. 清华大学,2000.11 [10] 明日科技编著. Java编程全能词典[J]. 电子工业,2010 摘要 随着Java语言的不断发展和壮大,现在的Java已经广泛的应用于各个领域,

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

JAVA课程设计学籍管理系统

课程设计任务书题目:学籍管理系统 组员 学号 组员 学号 组员 学号 专业 课程JAVA 指导教师 完成时间:2011年9月——2011年12月 计算机科学系制

课程设计任务书及成绩评定

本学籍管理系统共有6个java源文件。类之间的主要关系如图所示。 该java文件的类负责创建学籍管理系统主窗口。该类含有main方法,程序从该类开始执行。 该文件的类负责创建学籍管理系统的学生信息录入界面。 该文件的类负责创建学籍管理系统的学生信息修改界面。 该文件的类负责创建学籍管理系统的学生信息查询界面。 该文件的类负责创建学籍管理系统的学生信息删除界面。 负责创建存放学生信息的对象。 1.具体设计 1.1主类StudentManager 1.成员变量(见下表) 主要成员变量(属性) 成员变量描述变量类型名称 基本信息录入界面StudentSituation 基本信息录入 基本信息修改界面ModifySituation 基本信息修改 基本信息查询界面Inquest 基本信息查询 基本信息删除界面Delete 基本信息删除 菜单选项JmenuItem 录入,修改,查询,删除存放基本信息的散列表Hashtable 基本信息 存放散列表的文件File file 2.方法(见下表) 主要方法 名称功能备注 StudentManager 创建程序主窗口构造方法actionPerformed 处理ActionEvent事件接口方法 main 程序开始运行 3.代码 import .*; import .*;

import .*; public class StudentManager extends JFrame implements ActionListener { StudentSituation 基本信息录入=null; ddActionListener(this); 修改.addActionListener(this); 查询.addActionListener(this); 删除.addActionListener(this); card=new CardLayout(); con=getContentPane(); pCenter=new JPanel(); (card); file=new File("基本信息.txt"); if(!()) { try{ FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); (基本信息); (); (); } catch(IOException e) { } } 基本信息录入=new StudentSituation(file); 基本信息修改=new ModifySituation(file); 基本信息查询=new Inquest(this,file); 基本信息删除=new Delete(file); ("欢迎语界面",label); ("录入界面",基本信息录入); ("修改界面",基本信息修改); ("删除界面",基本信息删除); (pCenter,; (); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { (0); } }); setVisible(true); setBounds(100,50,420,380); validate(); } public void actionPerformed(ActionEvent e) { if()==录入) { (pCenter,"录入界面"); } else if()==修改) { (pCenter,"修改界面"); } else if()==查询) { etVisible(true); }

java课程设计参考题目

参考题目 选题原则:所完成的系统应能够在生活、学习中使用,以实用性为主。模仿生活、学习中使用到的各种软件,做mini版本。开发的目标是自己、同学愿意使用你所开发的软件完成一些简单任务。从小功能着手,一点点的添加功能。添加一个功能就运行试试,减少越来越难于调试的可能。也可自选。jsp或java完成都可。 1.文件复制 完成一个程序,这个程序可以将指定文件夹中的内容复制到另一个文件夹中去。 设计要求: 1)实现文件夹复制; 2)程序中需要考虑输入输出异常处理; 3)用户可以指定不同的参数:用-ext指定要复制的文件的扩展名,可以 同时指定多个扩展名;用-empty指定不复制空目录;用-zip表示进行压缩; 还可以增加其它选项 4)在dos控制台窗口环境下,通过命令行参数运行程序,如: 2.图片浏览器 类似于ACDSEE的图片浏览器 设计要求: 1)可以对图片进行不同的分类,并能够按分类显示 2)备份功能,用压缩实现用户选定文件的备份,用户指定文件的方式 要多样,如在分类上、在实际文件夹上。 3)幻灯功能,通过分类、实际文件夹等多种方式指定要幻灯浏览的图 片; 3.压缩文件浏览器 仿照Winrar浏览压缩文件。 设计要求: 1)能够以图形方式显示zip、tar、jar压缩文件中的内容

2)能解压用户选定的文件到选定的目录,注意winrar中指定解压整个 目录的方式 3)能够对压缩文件增加注释 4.文件加密工具 能够对文件、文件夹进行加密,可以由用户选择加密算法。 设计要求: 1)图形界面选定加密、解密的文件。 5.提醒簿(使用数据库) 仿照雪狐提醒簿。 设计要求: 1)由用户定义时间及提醒的内容; 2)定时时间到弹出窗口提醒或使用其它方式; 3)用户可以更改、删除提醒; 4)提醒的方式中包括使用邮件; 5)可以浏览提醒,已完成和未完成使用不同的图标; 6)用户可以注册、登录,登录的显示属于自己的提醒事项; 7)可以导出、导入提醒。 6.部门员工管理系统(使用数据库) 图形界面实现对部门、员工的管理。部门可以增、删、改,员工可以增、删、改及在不同的部门间调动。部门放JComboBox中,所属员工信息用多个JTextField 或JTable显示都可。要用菜单实现不同的功能。 7.备忘录(使用数据库) 设计要求: 1)系统界面的左侧是日历,该日历可以按年份前后翻动,在某年内按 月可以前后翻动; 2)单击选定的日期,系统界面的右侧显示相应的记事,可增、删、改; 3)每日的记事可有多条。 8.学生成绩管理系统(使用数据库) 功能要求: 2

Java课程设计聊天室(含代码)

Java程序课程设计任务书 JAVA聊天室的系统的设计与开发 1.主要内容: 用JA V A实现基于C/S模式的聊天室系统。聊天室分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。 2.具体要求(包括技术要求等): 系统的功能要求: A.服务器端主要功能如下: 1.在特定端口上进行侦听,等待客户端连接。 2.用户可以配置服务器端的侦听端口,默认端口为8888。 3.向已经连接到服务器端的用户发送系统消息。 4.统计在线人数。 5.当停止服务时,断开所有的用户连接。 B.客户端的主要功能如下: 1.连接到已经开启聊天服务的服务器端。 2.用户可以配置要连接的服务器端的IP地址和端口号。 3.用户可以配置连接后显示的用户名。 4.当服务器端开启的话,用户可以随时登录和注销。 5.用户可以向所有人或某一个人发送消息。 学习并掌握一下技术:Java JavaBean 等 熟练使用一下开发工具:Eclipse,JCreator 等 实现系统上诉的功能。 3.进度安排: 12月28日~ 12月29日:课程设计选题,查找参考资料 12月30日~ 1月1日:完成系统设计 1月2日~ 1月5日:完成程序代码的编写 1月6日:系统测试与完善 1月7日:完成课程设计报告,准备答辩 4.主要参考文献: [1].张广彬孟红蕊张永宝.Java课程设计(案例精编)[M].清华大学出版社.2007年版

摘要 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。基于Java网络编程的强大功能,本次毕业设计使用Java编写一个聊天系统。 一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式通过Java提供的Soket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天,数据库管理系统用SQL Server2000完成并通过JDBC-ODBC桥访问数据库。 本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。使用JAVA语言编写,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。 聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。 关键词:多线程;客户机/服务器;JA V A ;Socket ;Eclipse ;TCP/IP

学生信息管理系统java课程设计含源代码完整版

学生信息管理系统j a v a 课程设计含源代码 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 1 2 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

java课程设计报告书

《Java程序设计》课程设计报告2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年7 月2 日

目录 1.JAVA程序设计书 3 1.1《简易连连看》 3 1.1.1具体要求 3 1.2本系统设计的知识点 3 2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

课程设计—java记事本

import javax.swing.*; import javax.swing.undo.*; import javax.swing.text.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; import java.awt.datatransfer.*; import java.awt.print.*; import java.io.*; public class Jishiben extends JFrame implements ActionListener { JPopupMenu pm ; JTextArea ta; boolean isNewFile=true; //是否新文件(未保存过的) File currentFile; //当前文件名 String oldValue; //存放编辑区原来的内容,用于比较文本是否有改动//protected UndoManager undo = new UndoManager(); //protected UndoableEditListener undoHandler = new UndoHandler(); JToolBar tbar = new JToolBar(); JCheckBoxMenuItem mt19; public Jishiben() { super("记事本"); //Container ct=getContentPane(); //以下三句是设置编辑区域及滚动条 ta = new JTextArea(); JScrollPane sp = new JScrollPane(ta); add(sp); JMenuBar mb = new JMenuBar(); //设置文件菜单 JMenu mu1 = new JMenu("文件(F)",true); mu1.setMnemonic('F');//设置快捷键按下ALT+F激活打开菜单 JMenuItem mt1 = new JMenuItem("新建(N)",'N'); mt1.setMnemonic('N'); //mt1.addActionListener(new new1()); JMenuItem mt2 = new JMenuItem("打开(O)...",'O'); mt2.setMnemonic('O'); mt2.addActionListener(this); JMenuItem mt3 = new JMenuItem("保存(S)",'S'); //mt3.addActionListener(new save()); mu1.add(mt3); JMenuItem mt4 = new JMenuItem("另存为(A)..."); JMenuItem mt5 = new JMenuItem("页面设置(A)..."); JMenuItem mt6 = new JMenuItem("打印(P)..."); JMenuItem mt7 = new JMenuItem("退出(X)",'X');

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

JAVA课程设计任务书 - 科学计算器

《高级语言程序设计(2)》课程设计报告 专业:班级:学号:姓名: 完成日期: 指导教师: 1、程序设计说明书 【设计题目】科学计算器 【问题描述】本程序为设计一个科学计算器,用于进行数值计算。可以进行数据的加减乘除,对数等计算。 【软件功能】 1 图形界面:应用AWT和Swing设计工作界面,按下数字时显示数字,按下“=”时显示结果。 2 计算器基本功能:加减乘除四则运算,倒数,开平方等。 3 附加运算功能:三角函数,对数,阶乘,度转化为弧度等。 4 计算器的存储功能:清除中间结果,使用中间结果,存储中间结果及累加中间结果 5 用不同颜色进行分区 【算法思想】 本程序设计一个主类和四个内部类。通过在主类中调用四个类来实现程序的各个功能。 【类的设计】 1主类SmartCalculator类,继承了JFrame类 ○1成员变量 tf是JTextField对象,单行文本框,用来显示数据。 panel1,panel2,panel3,panel4是JPanel对象,用来盛放按钮。Panel1盛放“←”,“CE”,“C”按钮,Panel2盛放功能区按钮,Panel3盛放记忆区按钮,Panel4盛放面板Panel1和Panel2 isResult,flag是布尔型变量 result是double型变量,存储结果 SpecialNumActionListener是SpecialNum类的对象,监听特殊数字按钮 df是DecimalFormat类的对象,控制输出格式 ○2方法 SmartCauculator是构造方法,完成面板的布局并调用init方法 init方法调用addButton方法向面板中增加按钮 addButtion方法统一设置按钮的使用方式,参数包括panel,name,action,color,每次完成向面板添加按钮,设置名字,添加键盘监听器和设置按钮颜色 getResult方法实现四则运算,并输出 main方法,程序入口 2内部类FunctionSigns,继承接口ActionListener,实现接口的actionProform抽象方法,完成开平方,求对数等操作 3内部类ClearArea,继承接口ActionListener,实现接口的actionProform抽象方法,对清除区三个按钮“←”,“CE”,“C”进行监听,实现删除功能。 4内部类SpecialNum,继承接口ActionListener,实现接口的actionProform抽象方法,对π,e,及数字键监听 5 Dot对小数点进行监听 【用户界面】

java课程设计要求与题目

《面向对象程序设计》综合实验指导书一.课程设计的目的和任务 《面向对象程序设计》课程设计是软件工程专业本科学生在学习完《面向对象程序设计》课程之后的一个重要的实践环节。要求学生在教师的指导下,综合运用在《面向对象程序设计》课程中学过的面向对象程序设计思想与Java编程技巧,独立完成一项较为完整、并具有一定难度的课程设计任务,加深对面向对象程序设计思想的理解,掌握利用Java语言编写具体的应用程序。培养学生的团队合作精神、良好的程序设计风格以及了解应用程序的设计开发过程和Java程序编程与测试的能力。二.总体要求: 1、每个班分若干个组,每组2-3人(自由组合)课程设计题目由任 课老师指定; 2、人员分工:组长1人、组员1到2人。组长可由小组人员自行选出 或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。 3、程序编码总体要求: 编程工具统一使用Eclipse。 统一使用Java的AWT组件进行GUI编程(或Applet编程), 必须有登录界面,登录的用户名和密码为组长的名字的全 拼;非Applet程序要求有一个框架窗口,关闭窗口时要注意 处理窗口事件退出程序。 程序编码时,必须严格遵守Java程序标识符的一般约定,并 要加适量的注释。 4、程序编码完成后,一定要进行严密的测试工作。 5、文档内容要求: 封面(见封面文件)。以下每个内容为一章; 项目计划(内容是:小组人员名单与所负责的工作)。 程序详细功能描述(描述你的程序能完成什么功能)。要求 200字左右。 程序使用说明(对程序的每个操作步骤的屏幕画面进行载 图,并加以文字说明)。 此次课程设计的编程心得。要求每人50字以上。 文档的字体与大小,统一采用“宋体五号字”;要将以上内容 合写成一篇完整的文档;文档头要加入标题和目录索引。 6、程序完成后,要提交文档与程序(包括源码,每组提交一份),

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

Java课程设计

武汉科技大学城市学院 课程设计报告 课程设计名称JAVA程序设计课程设计 题目 A C M 院系信息工程学部 专业软件工程 班级 姓名 指导教师 2017 年 6 月23 日

课程设计评分表

JA V A编程课程设计指导书 学时:1周,学分:1 1.课程设计目的:JAVA编程课程设计属于软件开发类课程设计。该课程设计培养学生熟练应用当前主流的JAVA软件开发语言,检验软件的设计、编码与测试,具备较强的JAVA语言软件开发能力。 2.课程设计方式: (1)JAVA编程课程设计方式采取ACM测试的方式,利用所学的面向对象程序设计(JAVA)知识,培养学生具有分析应用问题的能力,能够独立完成应用程序的编制与调试工作。 (3)每个同学必须完成8-12道题,每题写出解题报告,解题报告内容:○1.题目标题○2.题目描述○3.解题思路○4.源码○5.小结 3.课程设计平台: eclipse或Myeclipse 4.课程设计考核方式 (1)学生独立提交软件设计作品和“课程设计报告书”,指导教师根据学生组提交的软件设计作品和“课程设计报告书”的质量,为学生组评定“优”“良”“中”“及格”或“不及格”; (2)根据各组学生所选题目的难易程度以及验收结果,为学生评定“优”“良”“中”“及格”或“不及格”。 “课程设计报告书”包括:课程设计项目名称,课程设计任务, 课程设计任务(功能)说明及功能模块图,数据库设计,各模块功能说明,使用的算法描述(如果需使用算法),各模块界面设计,各模块中关键代码段功能说明与代码行注释,测试说明,参考文献等。 5.参考文献 [1] 张思民. Java语言程序设计(第2版)[M].北京:清华大学出版社,2012.1 [2] 姜华. Java项目实战教程[M]. 北京:清华大学出版社,2012.9 [3] 陈喧. Java程序设计教程[M]. 北京:清华大学出版社,2011.5 [4] [美]Echel,B .Java编程思想(第四版)[M].北京:机械工业出版社,2007 [5] Michael Main. 数据结构:Java语言描述(第二版)(国外经典计算机科学教材)[M]. 北京:中国电力出版社,2007

java课程设计-拼图游戏代码

package love; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.*; public class Games extends JFrame implements ActionListener { private JButton buttons[][];// 存储按键的数组 private Container container;// 一个容器 private GridLayout layout;// 布局方式为GridLayout private int count = 0, is[] = new int[8];// count的作用是计算按键移动的次数,is[]储存一个随机产生的1到8数字数组 public Games() { super("拼图游戏");// 设置标题 layout = new GridLayout(3, 3);// 3行3列 container = getContentPane();// 该容器的布局方式,及其重要,否则产生空引用异常 container.setLayout(layout);// 将该布局方式作用于容器 buttons = new JButton[3][3];// 给按键数组分配储存空间 int locate1, locate2;// locate1用来指示当前产生的元素 locate2用来指示locate1之前的元素 for (locate1 = 0; locate1 < 8; locate1++) {// 该方法作用是产生1到8这8个数,随机分配给数组,即无序排列 int g = new Random().nextInt(8) + 1;// 随机产生一个空白按键,即不显示的那个 is[locate1] = g; for (locate2 = locate1 - 1; 0 <= locate2; locate2--) { if (is[locate1] == is[locate2]) break; } if (locate2 != -1) locate1--; } int temp = 0; int r = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的行 int l = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的列 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) {

5_Java课程设计源代码

package zhouchuan; import java.applet.*; import java.awt.*; import java.awt.event.*; import https://www.doczj.com/doc/7812051165.html,.*; public class zhouchuan extends Applet implements ActionListener { AudioClip clip; Button buttonPlay, buttonLoop, buttonStop; public void init(){ try{ URL url=new URL("file:"+"F://ding.wav"); clip=getAudioClip(url);}catch(Exception e){ } buttonPlay=new Button("开始播放"); buttonLoop=new Button("循环播放"); buttonStop=new Button("停止播放"); buttonPlay.addActionListener(this); buttonStop.addActionListener(this); buttonLoop.addActionListener(this); add(buttonPlay); add(buttonLoop); add(buttonStop); } public void stop(){ clip.stop(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==buttonPlay) clip.play(); else if(e.getSource()==buttonLoop) clip.loop();

课程设计任务书JAVA课程设计

Java 面向对象程序设计课程设计》课程设计任务书 学年学期: 2014-2015学年第 1 学期 专业班级: 2014专升本 3 班 指导教师:朱薇 设计时间: 2015.1.12—2014.1.23 学时周数: 20学时/周,共计 40 学时 一、设计目的 通过该课程设计加深学生对面向对象概念、 JAVA 面向对象程序设计思想方法的理解和掌握;使学生熟悉开发一个小型的电子商务项目的基本过程,并能综合运用所学知识,初步应用软件工程方法进行软件开发;增强学生的动手能力。为后续学习和应用打下一定的基础。 二、设计任务及要求 以学过的Java程序设计,web编程基础为工具,完成一个小型电子商务系统的设计开发。要求学生 8-10 人一大组 , 大组中又分为 A,B 组,由 A, B 组分工配合实现前台及后台功能,最后组合成一完整的电子商务系统。详细要求如下: 1、针对给定的业务规划商务模型和商务系统,确定电子商务系统的具体组成部分,写出详细的规划说明书。 2、开发环境: Jsp(JavaBean+Servlet)+Mysql 3、开发一个小型的系统。每组最终提交一个电子商务系统软件和规范的课程设计说明书。 4、每大组设组长两名,(A组,B组)组内成员分工明确、各司其职。

三、设计时间进度安排

四、成绩考核 1、项目评分方法 为更好地体现实训成果,评定学生实训成绩,特制定本评分方法。具体评分细则如下: 项目完成后,应组织同学完成项目评审。评审时,项目经理应根据本小组项目 完成情况,制作PPT介绍本项目,并运行程序,进行演示,同时完成答辩老师 的提问。 根据学生项目的优良情况,评审老师给出项目的等级分。评分有如下等级: A/B/C/D/E/F/G,可根据情况打出A+或者B-等。 A-F 等级系数为:0.9/0.8/0.7/0.6/0.5/0.4/0.3 根据项目组的人数,考评项目的等级,打出学生项目的最后得分。 女口:该项目组等级为A (系数为0.9),项目组共4人,则该小组得分为: 4*100*0.9=360 女口:该项目组等级为D (系数为0.6),项目组共5人,则该小组得分为: 5*100*0.6=300 项目经理根据项目组中每个组员的实际完成情况,打出该组员在项目开发工 作中,所占的工作量比数,如: A完成约25%勺开发工作量,则A同学为25% 项目组中,所有成员开发工作量总和为 100% 根据项目小组中,项目经理打出的工作量比数和项目考核的实际分 数,计算项目组中每位同学的实际得分。若该分高于100分,则按

JAVA程序设计课程设计指导书

JA V A程序设计课程设计指导书 一、课程设计的目的与要求: 1.掌握JA V A语言中面向对象的概念,并能在程序中熟练运用。 2.了解面向对象程序设计(JA V A)的基本概念以及运用面向对象技术进行程序设计的基本思 想。 3.能正确编写和调试JA V A程序。 4.了解在JA V A环境下进行程序设计的基本思想和方法。 二、设计内容 2.1项目一:项目描述与设计要点(数据结构算法要求较高) 1.设计一个连连看的游戏程序。 2.在JAVA环境下,将上述程序使用GUI、数据结构等内容完成 3.设计思路: (1)界面设计 1)初始测试界面可以考虑使用简单的按钮来代表连连看游戏中的图标。 2)布局可以考虑使用GRID方式。 3)设计菜单选择连连看难度等内容,具体可参照QQ连连看,也可自定义。 4)考虑完善界面,例如图片、声音、动画等。 (2)代码设计 1)本设计的核心为练练看算法的设计,可以考虑数据结构中的图的遍历章节,合理设计 算法,将界面中各按钮的分布映射入数学矩阵进行路径规划。(可以上网搜索相关算法)。 2)完成连连看游戏的图形、算法等代码的设计。 3)有能力的同学可以考虑网络对战,设计SOCKET服务器,使得CLIENT之间通信是否已完 成游戏。 4.实验步骤(包括操作方法、数据处理) (1)界面设计 (2)算法设计 (3)代码设计 (4)网络通信设计 2.2项目二:项目描述与设计要点(计算机图形、网络编程要求较高) 1.一个类似于电子白板的“你画我猜”游戏设计(若不知道此游戏,请上网查找),游戏要求 一方绘图后通过网络将绘图内容显示于另外一方界面中,由另外一方猜测绘制的内容,并通过键盘输入告知绘图方。 2.在JAVA环境下,将上述内容设计成为应用程序。

相关主题
文本预览
相关文档 最新文档