Java程序设计课程设计学生考勤系统

时间:2019-05-14 10:45:39下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Java程序设计课程设计学生考勤系统》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Java程序设计课程设计学生考勤系统》。

第一篇:Java程序设计课程设计学生考勤系统

信息与电子工程学院

课程设计报告

课程名称:

姓名: 学号: 班级: 指导老师: 完成时间:

2016年6月 Java程序设计课程设计

学生考勤系统

问题描述:

以班为单位,可以以日期为标识记录每个学生的考勤情况(正常、旷课、请假、迟到、早退)、可以查看某个学生的考勤情况、可以查看全班的考勤情况.1.需求分析(标题,黑体,小四,段前段后0.5行)

(1)用户需求描述:

学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。在线请假中,学生可以随时查看请假的进展情况。另外学生还可以修改本人的密码。

教师用户:任课老师对本系统的主要需求是查看班级信息,查看学生信息。并且在上课前进行点名,管理所教班级学生的上课出勤信息,查看学生上课出勤情况,对学生请假审请进行批准等。另外,教师还可以修改自己的密码。(2)系统功能划分: 根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块这两大模块。

在线请假模块:

该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。

考勤管理模块:

该模块主要由教师登录并进行操作,自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为E表格,最后方便统计整个学期本课程所有学生的考勤情况。

2.总体设计

功能结构图;

ER图:

数据库设计: 1 数据库需求分析

学生考勤管理系统要实现在线请假、随堂考勤两大子系统,需要了解学生用户、教师用户两类用户的功能模块。然后,据此分析出数据需求。学生表:学生流水号、学生学号、学生名字、性别、宿舍号、联系方式、密码。请假表:请假开始时间、请假结束时间、请假原因、请假天数、审批时间。考勤表:考勤流水号、考勤的学生ID、考勤的课程ID、考勤时间、考勤课次、考勤结果。

3.主要功能的实现

(1)设计的思路: 根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块这三大模块。

在线请假模块:

该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。

考勤管理模块:

该模块主要由教师登录并进行操作,自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为E表格,最后方便统计整个学期本课程所有学生的考勤情况。用户信息修改模块: 该模块主要操作用户是由学生和老师,由用户登录并进行操作。选择修改用户密码,验证旧的用户密码,输入新的用户密码,并且重复确认输入,点击确定之后,系统修改用户信息并保存。

(2)算法流程图:

(3)UML时序图:

学生输入用户名和密码,系统验证用户名和密码是否正确,如果正确,显示系统主页面。(4)活动图:

学生登陆系统点击请假申请,然后填写假条信息,填写完成后点击提交,老师审批假条并返回信息给申请者。(2)程序执行结果

4.小结

课程设计小结:该系统还有较多不完善之处,个人能力也有待进一步的提升。通过这次课程设计,重新掌握了一些以前掌握的不够牢固的知识和一些不懂的方法实现的思路及想法,让我们得到进一步的提高。

第二篇:《JAVA程序设计》课程设计

JAVA程序设计》课程设计

------Chatter即时聊天工具

班 级: 姓 名: 学 号: 指导老师: 日 期:

目录

1.引言.....................................................................................3 2.功能简介..............................................................................3 3.开发环境..............................................................................3 4.课程设计目的.......................................................................3 5.使用手册..............................................................................3 6.程序源代码...........................................................................4 4.1 serverJFrame.java...............................................................4

4.2 clientJFrame.java...............................................................9 7.程序运行效果图...................................................................14

8.心得体会.............................................................................16

1.引言

相信大家一想到基于TCP/IP协议的通信,都会想到利用Socket类对象建立一条可靠的连接,这样就客户机/服务器就在这条连接上可靠地传输数据。但是我是利用基于UDP协议的通信原理,制作了一个类似QQ游戏聊天室的聊天软件。虽然软件功能还不是很完善,不过,只要花点时间,参考一些书籍或类似的聊天软件的源代码,相信可以把这个聊天软件做得更好,功能更加齐全,给用户带来更多娱乐体验。

2.功能简介

1)利用AWT/Swing设计了软件界面,界面简洁美观,聊天记录界面形式是模仿QQ聊天记录格式的,即不管是服务器还是客户端发的信息,都会有时间显示。2)本软件还具有保存聊天记录的功能。

3)软件是不允许服务器或客户端发送空信息的。发送信息为空时,消息对话框给予信息提示。

4)软件显示聊天信息的文本区域添加了垂直滚动条,防止发送和接收的信息不能全部显示不出来。

5)实现了对不文明语言的过滤以及线程处理机制。

6)软件对IP格式进行了必要的设置,防止IP地址输入不正确导致程序出现假死 7)用户和服务器的昵称不能为空,当为空时不给予发送信息。8)当然也可以实现本地聊天。

3.开发环境

1)PC机

2)Windows 7系统 3)Internet连接 4)Eclipse软件

4.课程设计目的

1)理解多线程机制

2)学会利用AWT/Swing设计软件界面 3)掌握输入输出流的使用方法。4)懂得事件处理的方法及原理。

5)明白Java网络的基本知识,如UDP协议的通信原理。

5.使用手册

首先启动服务器,填写用户的IP地址,注意正确填写IP地址的格式,不要写错,输入完IP地址后,点击“确定”按钮进行验证;然后填写你喜欢的昵称,注意昵称不能为空,否则,将无法发送信息;发送的信息要文明化,如果你使用了不文明的语言,将会被屏蔽,不给予发送。如果你觉得想保存聊天记录,你可以点击“保存”按钮,将聊天记录保存为文本文件;如果你玩累了,你可以点击右上角的“关闭”按钮,退出聊天室。6.程序源代码

6.1 serverJFrame.java package server;import java.awt.event.*;

import java.awt.*;

import java.io.OutputStreamWriter;import javax.swing.*;

import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.net.*;import java.util.Date;import java.io.*;

public class serverJFrame extends JFrame implements ActionListener,Runnable{

JButton sendButton=null;JButton saveButton=null;JButton IPButton=null;JTextField nameSpace=null;JTextField IPField=null;JTextArea messageArea=null;JTextField sendField=null;java.util.Date date=null;String IP;public serverJFrame(){

date=new java.util.Date();

JPanel northPanel=new JPanel();

JPanel IPPanel=new JPanel();

JPanel southPanel=new JPanel();

JPanel namePanel=new JPanel(new FlowLayout());

JLabel sendLabel=new JLabel(“发送内容:”);

JLabel nameChangeLabel=new JLabel(“我的昵称:”);

JLabel IPLabel=new JLabel(“好友地址:”);

nameSpace=new JTextField(“",20);

IPField=new JTextField(”“,20);

messageArea=new JTextArea(”“,20,10);

messageArea.setLineWrap(true);

messageArea.setEditable(false);

sendField=new JTextField(20);

JScrollPane message=new JScrollPane(messageArea);//为文本区添加滚动条

sendButton=new JButton(”发送“);

saveButton=new JButton(”保存“);

IPButton=new JButton(”确定“);

Box centerBox=Box.createVerticalBox();

namePanel.add(nameChangeLabel);

namePanel.add(nameSpace);

namePanel.add(saveButton);

IPPanel.add(IPLabel);

IPPanel.add(IPField);

IPPanel.add(IPButton);

centerBox.add(namePanel);

centerBox.add(IPPanel);

centerBox.add(message);

JFrame frame=new JFrame(”服务器端“);

northPanel.add(sendLabel);

northPanel.add(sendField);

northPanel.add(sendButton);

frame.add(northPanel,”North“);

frame.add(southPanel,”South“);

frame.add(centerBox,”Center“);

frame.setBounds(150,300,380,400);

frame.setResizable(false);

sendButton.addActionListener(this);

IPButton.addActionListener(this);

saveButton.addActionListener(this);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

Thread thread=new Thread(this);//创建线程对象

thread.start();//线程负责接收数据包

frame.setVisible(true);}

public static class Protocol {

//定义三个静态常量,分别为错误信息,正常信息,还有快乐用语

public static final int ERROR_MSG = 0;

public static final int NOMAL_MSG = 1;

public static final int HAPPY_MSG = 2;

public static int processString(String str){

//对以下不文明用语进行过滤

if(str.indexOf(”TMD“)>= 0||str.indexOf(”mother fuck“)>= 0||str.indexOf(”去你的“)>= 0

||str.indexOf(”你妈的“)>= 0){

return ERROR_MSG;

}else if(str.indexOf(”FUCK“)>= 0||str.indexOf(”奶奶的“)>= 0||str.indexOf(”我得死你“)>= 0){

return ERROR_MSG;

}else if(str.indexOf(”他妈的“)>= 0||str.indexOf(”shit“)>= 0||str.indexOf(”got dam it“)>= 0

||str.indexOf(”我操“)>= 0||str.indexOf(”fuck you“)>= 0){

return ERROR_MSG;

}else if(str.indexOf(”哈哈“)>= 0||str.indexOf(”呵呵“)>= 0||str.indexOf(”嘿嘿“)>= 0){

return HAPPY_MSG;//对快乐用语进行返回

}

else{

return NOMAL_MSG;

}

}

}

public class Time {

Date date;//创建日期对象

String strTime;//创建字符串对象

Time(){date=new java.util.Date();

strTime=date.toString().substring(11,19);//获取时间为时:分:秒

} } //单击”发送“按钮从端口321发送数据包

public void actionPerformed(ActionEvent event){

if(event.getSource()==IPButton){

if(IPField.getText().trim().matches(”[0-9]*[.][0-9]*[.][0-9]*[.][0-9]*“)){

IP=IPField.getText();

IPField.setEditable(false);

}

else{

JOptionPane.showMessageDialog(this, ”IP地址格式错误!“,”警告“, JOptionPane.WARNING_MESSAGE);}

}

else if(event.getSource()==sendButton){

Time time=new Time();

if(IPField.getText().length()==0){

JOptionPane.showMessageDialog(this, ”IP地址不能为空!“,”警告“, JOptionPane.WARNING_MESSAGE);IPField.setText(”“);

}

else if(nameSpace.getText().length()==0){

JOptionPane.showMessageDialog(this, ”昵称不能为空!“,”警告“, JOptionPane.WARNING_MESSAGE);

}

else{

if(sendField.getText().length()==0){

JOptionPane.showMessageDialog(this, ”发送的信息不能为空!“,”警告“, JOptionPane.WARNING_MESSAGE);

}

else{

try{

String Sendmessage=nameSpace.getText()+” “+time.strTime+”rn

“+sendField.getText();//设置要发送的信息

if(Protocol.processString(Sendmessage)==Protocol.ERROR_MSG){

messageArea.append(”已被屏蔽“+”''“+sendField.getText()+”''。“+”注意文明用语!“+”rn“);

sendField.setText(”“);

}

else{

byte buffer[]=Sendmessage.getBytes();//将要发送的信息转化字节

InetAddress address=InetAddress.getByName(IP);//指定本地IP127.0.0.1

//创建发送数据据

DatagramPacket data=new DatagramPacket(buffer,buffer.length,address,321);

DatagramSocket dataSocket=new DatagramSocket();//数据报套接字,指定端口号为321

String s=nameSpace.getText();//获取昵称

String sendText=sendField.getText();//获得发送的信息

messageArea.append(s+” “+time.strTime+”rn

“+sendText+”rn“);//向文本区添加发送的信息

dataSocket.send(data);//正式发送数据

sendField.setText(”“);//数据发送完后,“发送的内容”处清空

nameSpace.setEditable(false);// 发送完信息“昵称”处不可以编辑

}

}

catch(Exception e){e.printStackTrace();}//异常处理

}

}

}

else if(event.getSource()==saveButton){

String path;

FileOutputStream fos;

OutputStreamWriter osw=null;

FileDialog filedialog_save=new FileDialog(this,”保存“,FileDialog.SAVE);

filedialog_save.setVisible(true);

path=filedialog_save.getDirectory()+filedialog_save.getFile()+”.txt“;

File txt=new File(path);

if(!txt.exists()){

try {

txt.createNewFile();

} catch(IOException e1){

e1.printStackTrace();

}

}

try {

fos = new FileOutputStream(txt);

osw=new OutputStreamWriter(fos,”UTF8“);

osw.write(messageArea.getText());

osw.flush();

fos.close();

} catch(FileNotFoundException e1){

e1.printStackTrace();

} catch(IOException ee){

}

}

else if(event.getSource()==saveButton){}

}

//从端口567接收数据包

public void run(){

DatagramPacket receive=null;

DatagramSocket receive_data=null;

byte data[]=new byte[5000];//字节数组大小为5000个

try{

receive=new DatagramPacket(data,data.length);//创建一个长度为5000的数据报对象

receive_data=new DatagramSocket(567);//为数据报套接字指定端口号为567的端口

}catch(Exception e){e.printStackTrace();}

while(true){

if(receive_data==null)break;

else

try{

receive_data.receive(receive);//接收数据到数据报

String message=new String(receive.getData(),0,receive.getLength());

//将数据报信息转换为字符串

// System.out.println(receive.getAddress());

messageArea.append(message+”rn“);//文本区添加接收到的信 息

}catch(Exception e){e.printStackTrace();}//异常处理

}

}

public static void main(String[] args)

{

serverJFrame server= new serverJFrame();//创建一个窗口对象,该窗口为JFrame类的子类对象

server.addWindowListener(new WindowAdapter(){//窗口添加适配器

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

server.validate();

}

}

6.2 clientJFrame.java package client;import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.net.*;import java.util.Date;import java.io.OutputStreamWriter;

public class clientJFrame extends JFrame implements ActionListener,Runnable{ JButton sendButton=null;JButton saveButton=null;JButton IPButton=null;JTextField IPField=null;JTextField nameSpace=null;JTextArea messageArea=null;JTextField sendField=null;java.util.Date date=null;String IP;public clientJFrame(){

date=new java.util.Date();

JPanel northPanel=new JPanel();

JPanel IPPanel=new JPanel();

JPanel southPanel=new JPanel();

JPanel namePanel=new JPanel(new FlowLayout());

JLabel sendLabel=new JLabel(”发送内容:“);

JLabel nameChangeLabel=new JLabel(”我的昵称:“);

JLabel IPLabel=new JLabel(”好友地址:“);

nameSpace=new JTextField(”“,20);

IPField=new JTextField(”“,20);

messageArea=new JTextArea(”“,20,10);

messageArea.setLineWrap(true);

messageArea.setEditable(false);

sendField=new JTextField(20);

JScrollPane message=new JScrollPane(messageArea);

sendButton=new JButton(”发送“);

saveButton=new JButton(”保存“);

IPButton=new JButton(”确定“);

Box centerBox=Box.createVerticalBox();

namePanel.add(nameChangeLabel);

namePanel.add(nameSpace);

namePanel.add(saveButton);

IPPanel.add(IPLabel);

IPPanel.add(IPField);

IPPanel.add(IPButton);

centerBox.add(namePanel);

centerBox.add(IPPanel);

centerBox.add(message);

JFrame frame=new JFrame(”客户端“);

northPanel.add(sendLabel);

northPanel.add(sendField);

northPanel.add(sendButton);

frame.add(northPanel,”North“);

frame.add(southPanel,”South“);

frame.add(centerBox,”Center“);

frame.setBounds(600,300,380,400);

frame.setResizable(false);

sendButton.addActionListener(this);

IPButton.addActionListener(this);

saveButton.addActionListener(this);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

Thread thread=new Thread(this);

thread.start();//线程负责接收数据包

frame.setVisible(true);}

public static class Protocol {

//定义三个静态常量,分别为错误信息,正常信息,还有快乐用语

public static final int ERROR_MSG = 0;

public static final int NOMAL_MSG = 1;

public static final int HAPPY_MSG = 2;

public static int processString(String str){

//对以下不文明用语进行过滤

if(str.indexOf(”TMD“)>= 0||str.indexOf(”mother fuck“)>= 0||str.indexOf(”去你的“)>= 0

||str.indexOf(”你妈的“)>= 0){

return ERROR_MSG;

}else if(str.indexOf(”FUCK“)>= 0||str.indexOf(”奶奶的“)>= 0||str.indexOf(”我得死你“)>= 0){

return ERROR_MSG;

}else if(str.indexOf(”他妈的“)>= 0||str.indexOf(”shit“)>= 0||str.indexOf(”got dam it“)>= 0

||str.indexOf(”我操“)>= 0||str.indexOf(”fuck you“)>= 0){

return ERROR_MSG;

}else if(str.indexOf(”哈哈“)>= 0||str.indexOf(”呵呵“)>= 0||str.indexOf(”嘿嘿“)>= 0){

return HAPPY_MSG;//对快乐用语进行返回

}

else{

return NOMAL_MSG;

}

}

}

public class Time {

Date date;//创建日期对象

String strTime;//创建字符串对象

Time(){date=new java.util.Date();

strTime=date.toString().substring(11,19);//获取时间为时:分:秒

} } //单击”发送“按钮从端口567发送数据包

public void actionPerformed(ActionEvent event){

if(event.getSource()==IPButton){

if(IPField.getText().trim().matches(”[0-9]*[.][0-9]*[.][0-9]*[.][0-9]*“)){

IP=IPField.getText();

IPField.setEditable(false);

}

else{

JOptionPane.showMessageDialog(this, ”IP地址格式错误!“,”警告“, JOptionPane.WARNING_MESSAGE);IPField.setText(”“);}

}

else if(event.getSource()==sendButton){

Time strTime=new Time();

if(IPField.getText().length()==0){

JOptionPane.showMessageDialog(this, ”IP地址不能为空!“,”警告“, JOptionPane.WARNING_MESSAGE);

}

else if(nameSpace.getText().length()==0){

JOptionPane.showMessageDialog(this, ”昵称不能为空!“,”警告“, JOptionPane.WARNING_MESSAGE);

}

else{

if(sendField.getText().length()==0){

JOptionPane.showMessageDialog(this, ”发送的信息不能为空!“,”警告“, JOptionPane.WARNING_MESSAGE);

}

else{

try{

String Sendmessage=nameSpace.getText()+” “+strTime.strTime+”rn

“+sendField.getText();//设置要发送的信息

if(Protocol.processString(Sendmessage)==Protocol.ERROR_MSG){

messageArea.append(”已被屏蔽“+”''“+sendField.getText()+”''。“+”注意文明用语!“+”rn“);

sendField.setText(”“);

}

else{

byte buffer[]=Sendmessage.getBytes();

InetAddress address=InetAddress.getByName(IP);//

DatagramPacket data=new DatagramPacket(buffer,buffer.length,address,567);

DatagramSocket dataSocket=new DatagramSocket();

String s=nameSpace.getText();

String sendText=sendField.getText();

messageArea.append(s+” “+strTime.strTime+”rn

“+sendText+”rn“);

dataSocket.send(data);

sendField.setText(”“);

nameSpace.setEditable(false);

}

}

catch(Exception e){e.printStackTrace();} }

}

}

else if(event.getSource()==saveButton){

String path;

FileOutputStream fos;

OutputStreamWriter osw=null;

FileDialog filedialog_save=new FileDialog(this,”保存“,FileDialog.SAVE);

filedialog_save.setVisible(true);

path=filedialog_save.getDirectory()+filedialog_save.getFile()+”.txt“;

File txt=new File(path);

if(!txt.exists()){

try {

txt.createNewFile();

} catch(IOException e1){

e1.printStackTrace();

}

}

try {

fos = new FileOutputStream(txt);

osw=new OutputStreamWriter(fos,”UTF8“);

osw.write(messageArea.getText());

osw.flush();

fos.close();

} catch(FileNotFoundException e1){

e1.printStackTrace();

} catch(IOException ee){

}

}

}

//从端口321接收数据包

public void run(){

DatagramPacket receive=null;

DatagramSocket receive_data=null;

byte data[]=new byte[5000];

try{

receive=new DatagramPacket(data,data.length);

receive_data=new DatagramSocket(321);

}catch(Exception e){}

while(true){

if(receive_data==null)break;

else

try{

receive_data.receive(receive);

String

message=new String(receive.getData(),0,receive.getLength());

messageArea.append(message+”rn");

}catch(Exception e){e.printStackTrace();}

}

}

public static void main(String[] args)

{

clientJFrame client= new clientJFrame();

client.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

client.validate();

}

}

7.程序运行效果图

注:由于只有一台PC,以下的程序效果图是本地IP运行的结果截图 1)IP地址输入的格式不正确。

2)昵称不能为空。

3)发送的信息不能为空。

4)发送的信息包含不文明语言给予屏蔽。

5)保存聊天记录后的效果图。

8.心得体会

通过这次课程设计,真的收获很大。如果只是考试的话,我觉得试卷的内容会是很基本的知识点,而这个课程设计可以把很多章的知识结合起来,知识点更具体,更有深度,可以进一步提高自己的编程能力。虽然这是个简易的聊天室,但是还可以进一步完善,提高界面的可视化效果,增加用户聊天的乐趣。

第三篇:课程设计《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%的时间完成课 程设计报告。

四.课程设计教学建议及要求

1.要求学生有一定的程序设计和数据库基础知识,由老师指定或学生自行组织形成项目小组,必 要时由多人开发一个项目, 其中需要指定负责项目的小组长控制项目进度。每个小组的项目开发过程应 该遵从项目管理规范。

2.严格要求每个学生按照规定时间进行设计,禁止无故迟到和旷课。3.要求学生有自我学习的能力,遇到问题要学会自我解决。

4.要求设计的界面美观、合理、便于操作等,功能与实际应用系统紧密联系,系统结构合理构思 巧妙、模块化程度高等。

五.课程设计成绩评定

课程设计成绩由学生的出勤情况和程序设计情况各分别占 10%和 90%组成。程序的考核从界面、功 能实现、创新性、问题回答和课程设计报告等几方面进行。

考核内容和比重表(参考

考核内容 出勤 界面 功能实现 创新 问题回答 设计报告 比重 10%15%30%15%10%20% 六.课程设计报告撰写与提交

1.课程设计报告格式见本文后面所附 “课程设计报告模板” , 课程设计报告最终以电子稿形式提交, 如需打印另行通知。在课程设计正文中使用图表时, 所有的图必须有图号和图题, 所有的表必须有表的 名称和编号。

2.对课程设计报告正文内容的提示说明如下:(1摘要(100-150个字: 主要包括设计内容、方法和结果,最后列出报告中用到关键字。(2课程设计介绍(要求 400-600个字: 对课程设计内容做综述,介绍课程设计的目的和要求等内容。同时对课程设计小组成员构成 进行介绍,并说明自己在整个课程设计中将承担的任务。

(3系统设计(要求 600-800个字: 主要介绍完成系统需求分析、总体设计和功能设计。必要时利用图表说明。(4数据库设计与实现: 主要介绍数据库的需求分析、数据库的概念结构设计和数据库的逻辑设计。数据库设计应利 用图表说明。

(5系统各功能模块设计(字数根据实际情况而定 : 主要介绍系统各功能模块的界面设计及相应的功能程序设计。对于界面设计应的描述界面中所

使用的相应的组件列表,包括组件类别、组件 ID 值、组件作用等。同时应附相应界面设计状 态的界面截图和相应的运行界面截图。如果涉及多个功能模块,则应分别描

述。

(6课程设计总结和体会

主要对课程设计所做的工作进行总结, 同时描述课程设计后的体会, 包括专业技术方面的体会 和职业能力和职业意识方面的体会。另外对课程设计内容中存在的不足和改进意见进行阐述。(7致谢

在课程设计过程中,如果得到他人的帮助,则不要忘记致谢。(8参考文献

要列出在课程设计过程中用到的主要参考文献和站点。虽然看过, 但没有用到的文献或站点则 不必列出。参考文献要与报告正文关联,要不少于 4项。

(9附录:带注释的程序清单

源程序清单只写关键程序要有注释。注释是功能性的注释,而不须要对语句或命令本身进行 注释。

Java 课程设计参考题目

1、编写一个记事本程序 要求:

用图形用户界面实现。

能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。

2、模拟龟兔赛跑 要求: 用图形用户界面实现。

能设置比赛时间,马匹的数量等等。在任意时间段内马匹的速度是随机的。开始比赛之后以动画显示赛马过程。提示:使用多线程

3、学生信息管理系统 要求: 使用图形用户界面

用数据库建立 1或 2个学生信息表。(可以使用 txt 文件代替数据库 能连接数据库并实现查询、增、删、改等功能。

4、聊天小程序 要求: 使用图形用户界面。

能实现一个聊天室中多人聊天。

可以两人私聊。提示:使用 socket 通信

5、ATM 柜员机模拟程序

要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为 123456 时, 系统能登录 ATM 柜员机系统,用户可以按照以下规则进行:

1、查询余额:初始余额为 10000元

2、ATM 取款:每次取款金额为 100的倍数,总额不超过 5000元,支取金额不允许透支。

3、ATM 存款:不能出现负存款。

4、修改密码:新密码长度不小于 6位,不允许出现 6位完全相同的情况,只有旧密码正确,新密码符 合要求,且两次输入相同的情况下才可以成功修改密码。

6、实现数据结构中二叉树的遍历演示过程 要求:使用图形用户界面

实现二叉树的前序遍历、中序遍历、后续遍历、按层遍历的算法的演示过程。动画演示尽量与程序执行 同步,人机交互、适于教学。

7、超市收银系统 要求:使用图形用户界面。

由收银员输入顾客的会员卡卡号(若有卡、所购商品的货号等。从数据库中取出有关价格信息,再把

这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情 况交数据库存储以供查询。

另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满 200元,可为其发放一张会员卡,以后在该商场购物可向 9折优惠。

8、万年历

要求:使用图形用户界面。

实现日期与星期的查询,其他功能自定义。

9、五子棋游戏 要求:使用图形用户界面 实现两人游戏,能够判断输赢

有 “ 开始 ” 按钮,当选择完棋盘大小后,按此按钮进入对战状态。当有胜利者(垂直、水平、对角线连续 5子 ,显示对话框,提示谁(黑还是白胜利了。若当棋盘满了还无胜利者,显示平局对话框。界面 上还要有 “ 复盘 ” 按钮,可对完成的棋局进行复盘,例如每 3秒走一步。

10、日历记事本

要求:带有日程提醒功能的日历。

1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。

2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时 间相吻合时,给出具有提示信息的对话框。

3、查询信息:用户可以查询到某个月的所有的提示信息。

11、电子英汉词典

要求: 能够编辑词典库中的信息

能够实现英译汉,汉译英。(要考虑一词多义

12、计算器小程序 要求:使用图形用户界面

能在键盘或鼠标上读入数据,并完成加。减。乘。除计算。在屏幕上显示一个主菜单。提示用户输入 相应的数字键,分辨执行加。减。乘。除计算功能和结束程序的功能。

13、图的最小生成树算法过程演示 要求:使用图形用户界面

使用菜单显示普利姆和克鲁斯卡尔最小生成树的动画实现过程, 动画与算法的实现尽量同步实现, 便于 人机交互和教学。

14、加密与解密 要求:采用图形用户界面

1、给定任意一个文本文件,进行加密,生成另一个文件。

2、对加密后的文件还原。

15、小游戏 要求:。

程序随机产生 20— 50根火柴,由人与计算机轮流拿,每次拿的数量不超过 3根,拿到最后一根为胜。(使用图形界面

16、敏感词汇分析 要求: 任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在 sentive.txt 文件中,每个词 占一行 ,报告每个词出现的次数。

17、基数排序过程动画演示 要求:使用图形用户界面

基数排序算法的实现过程参照《数据结构》教材,动画效果强。可以采用最高位优先算法实现,也可以 采用最低位优先算法实现,人机交互、便于教学。

课程设计时间安排 序 号

时 间 实习主要内容 实习地点 指导教师

1星期一 上午 概要设计:确定项目的实施方案、设 计程序模块连接图、完成模块功能描 述

实训室 刘延岭

2星期一 下午 总体设计:设计程序流程图,完成数 据库设计、方法设计

实训室 刘延岭 3星期二 上午 详细设计:实现系统功能 实训室 刘延岭 4星期二 下午 详细设计:实现系统功能 实训室 刘延岭 5星期三 上午 详细设计:实现系统功能

实训室 刘延岭 6星期三 下午 详细设计:实现系统功能 实训室 刘延岭 7星期四 上午 系统功能完善,整合测试 实训室 刘延岭 8星期四 下午 撰写设计文档 实训室 刘延岭 9星期五 上午 撰写设计文档 实训室 刘延岭 10星期五 下午 检查验收 实训室 刘延岭

计算机与信息工程系

《 JAVA 程序设计》课程设计(字为黑体四号粗 课程设计题目(黑体二号粗 专业 计算机 班级 1001班 学号 02 姓名;刘腾帅 E-Mail 电话 *** 时间

(字为黑体四号粗 承德石油高等专科学校(字为楷体四号粗

(报告正文为宋体,多倍行间距:1.25倍 摘要:(四号粗

内容(小四号字

关键字:(小四号粗 内容(小四号字 1.课程设计介绍(四号粗

对课程设计内容做综述,介绍课程设计的目的和要求等内容。同时对课程设计小组成 员构成进行介绍,并说明自己在整个课程设计中将承担的任务。2.系统设计(四号粗 内容(小四 2.1需求分析 2.2总体设计 2.3功能设计

3.系统各功能模块设计(四号粗(注:必要时应分模块(页面描述 内容(小四

4.1界面设计(必要时使用用户组件 4.2功能实现

4.课程设计总结和体会(小四号粗 内容(小四 5.致谢(四号粗 参考文献(四号粗

内容(小四内容如下例所示:

小四

([1]博彦科技.编程高手 J2EE.北京大学出版社,2000.94-97 [2]http://www.xiexiebang.com/learning/lesson/xinxi/20030401/lesson.asp 附录(注:另起一页

1.xx 功能模块(页面相关事件或方法程序清单(1 xx 事件或方法(2 xxxxxxxxxxxx 2.xx 功能模块(页面相关事件或方法程序清单(1xx 事件或方法(2 xxxxxxxxxxxx 成绩评定

出勤情况(10分 界面设计(15分 功能实现(30分 创新点(15分 答辩情况(10分 设计报告(20分 设计评语

指导教师

第四篇:《Java程序设计课程设计》教学大纲1

《Java程序设计课程设计》教学大纲

Java Programming Course Design

课程代码: I1101Y09

课程总周数:

2-4

分:

课程性质:

必修

课程类别:

集中实践环节

先修课程:

《 Java程序设计 》

面向专业:

信息管理与信息系统

开课单位 :

经济与管理学院

笔:

校:

一、课程设计的地位与任务

《Java程序设计课程设计》是信息管理与信息系统专业必做的集中实践性环节之一,是学习完《Java程序设计》课程后进行的一次全面的综合练习。其目的在于通过课程设计,使学生能够得到较系统的技能训练,从而巩固和加深对Java 编程的基础理论知识的理解,培养学生综合运用所学理论解决实际问题的能力,使学生成为具有扎实的计算机理论基础和较强的独立动手能力的复合型、应用型人才。

二、课程设计的内容和基本要求

1、内容:设计题目需要在老师课堂上演示的程序基础上增加1-9个功能。

2、要求:

(1)学生两到三人组成一组,每组必须独立完成设计任务,严禁抄袭或找人代做等行为,一经发现成绩以不及格计。

(2)课程设计期间要严格遵守学习纪律,遵守作息时间,不得迟到、早退和旷课,课程设计期间缺勤1/3以上者,成绩以不及格记。

(3)课程设计报告每组学生上交一份课程设计报告打印稿(A4双面打印)。每班以班级为单位交一张刻录光盘,并且将光盘内容每班学委打个压缩包发老师邮箱。

该光盘包括每组的文件夹,其中包括每组的设计报告内容以及每组独立开发的软件。每组的文件夹命名规则为“组长名字_组员1名字_组员2名字”)。注意:光盘要有封皮,注明班级、小组总数,一起上交。

三、教学安排与教学方法

依照教学计划,课程安排在2或4周内完成,共32学时。1.复习过去所学主要内容(8学时)

2.系统分析,主要核心功能及代码设计(8学时)3.剩余功能代码实现、编程调试(12学时)4.完成课程设计报告(4学时)

四、考核方法及成绩评定

1、考核类别:考查

2、考核形式:平时成绩(20%)、课程设计报告及软件验收(80%)。

3、成绩评定:百分制,100分满分,低于60分为不及格。

五、推荐教材与主要参考书 推荐教材

1、梁勇 :《Java语言程序设计 基础篇(原书第8版)》,机械工业出版社,2012;

2、梁勇 :《Java语言程序设计 进阶篇(原书第8版)》,机械工业出版社,2012。

主要参考书

1、[美]塞若,[美]贝茨:《Head First Java(中文版)》,中国电力出版社,2007;

2、[美]埃克尔:《Java编程思想(第4版)》,机械工业出版社,2007;

3、[美]史蒂芬.约翰.梅特斯克:《Java设计模式(第2版)》, 电子工业出版社,2012。

第五篇:《Java语言程序设计》课程设计指导书

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

一、教学目标

《Java语言程序设计》是计算机类专业和信息安全专业的专业课。Java语言是目前广为流行的面向对象程序设计语言,适用于网络编程,满足Internet上软件开发的需要。因此本课程是一门概念性和实践性都很强的专业课程。本课程从基本程序设计流程出发,逐步过渡到面向对象的程序设计方法,由浅入深地讲解面向对象的编程思想。

java课程设计是巩固所学理论知识、提高程序设计能力的重要实践环节。通过课程设计的训练,使学生能够综合应用Java的基础知识和基本方法,体会软件设计的全过程,编写出高效率的应用程序,培养学生的数据处理能力,提高软件设计能力,从而为今后进行系统软件和应用软件的开发研究打下坚实的基础,并倡导刻苦钻研的精神和严谨的治学作风。

二、教学要求

课程设计要求每位学生熟练运用Java语言,按照面向对象程序设计思想,独立编制一个略具规模、中等难度的应用程序。调试通过并写出课程设计报告,课程设计报告包括题目说明、题意分析、设计目的、设计特点、功能说明、主要功能程序段、运行结果及结果分析、编程经验、设计体会、存在问题及解决方法等。

三、课程设计题目

课程设计课题分推荐课题和其它课题:

推荐课题:javaweb开发的管理系统(图书查询系统、汽车租赁系统、仓库管理系统、人事管理系统等)

其它课题:javaswing开发的游戏、工具、管理系统 俄罗斯方块、5子棋游戏、扫雷、模拟考试系统

2、设计要求

⑴ 独立编制一个略具规模、中等难度的应用程序。

⑵ 调试通过并写出课程设计报告,课程设计报告包括题目说明、题意分析、设计目的、设计特点、功能说明、主要功能程序段、运行结果及结果分析、编程经验、设计体会、存在问题及解决方法等。

四、主要开发工具

Javaweb相关工具

五、课程设计报告要求

1.封面:按下面所给的格式填写 2.正文要求如下:(1)题目说明;(2)题意分析;(2)设计目的;(3)设计特点;(4)功能说明;(5)主要程序段;

(6)运行结果分析以及测试结果(7)存在问题解决方法

(8)结束语(设计收获体会)3.报告正文格式要求: ·大标题三号加粗 ·小标题四号加粗 ·正文宋体小四号字

·每个自然段开始空两格.·文中英文用新罗马(time new roman),四号

4.其他要求:字数5000字

六、提交的材料

(一)、程序(电子版)

(二)、程序设计说明书(打印)

七、课程设计成绩评定

平时出勤及表现: 10% 课程设计完成情况,难度等级60% 课程设计报告、文档资料:30%

1、期末成绩评定

实习成绩 = 实际操作、调试和测试(效果)+ 设计报告 +平时表现。

2、评定标准

(1)严格控制95分,其标准是有创意;(2)90分以上,必须全部正确;(3)有少许错误,可给80—89;(4)错误不多,可给60—79;

注:如甲、乙有拷贝、复印等抄袭现象,甲、乙均按0分处理。

下载Java程序设计课程设计学生考勤系统word格式文档
下载Java程序设计课程设计学生考勤系统.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    大学JAVA课程设计——学生信息管理系统

    沈阳理工大学课程设计 沈阳理工大学课程设计 摘要 Java语言是当前最为流行的程序设计语言之一,诸多优秀的的特性使其成为被业界广泛认可和采用的工具。本设计可以帮助同学掌......

    (骑士游历)JAVA程序设计课程设计报告

    目录 一 设计课题名称 .......................................................................... 1 二 设计目的与意义 ................................................

    人事管理系统Java课程设计报告

    湖南科技大学计算机科学与工程学院 数据库课程设计报告 题目:人事管理管理系统 学 号:1005030221 姓 名:艾向兵 指导教师:张黎 完成时间:2012年1月4日 组员:苏勇,成佳裕,艾向兵 企......

    JAVA课程设计员工信息管理系统

    JAVA员工管理系统 实验报告 姓名:张旭冉 学号:10105010117 班级:信10-1 北方工业大学理学院信息与计算科学系 2013年 12月 17日 员工管理系统 一、实验目的 通过该课程设计,使......

    人员信息管理系统 java课程设计

    大学人员信息管理系统 1 / 29 目录 目录 ................................................................................................................................

    Java课程设计

    统一要求: 设计成品 (按难度自选一个到两个完成) 可分组或单独完成,每组最多两人,19周前交 1设计报告 (1)本程序的功能描述 (2)程序设计思想(数据结构和各功能的实现办法)......

    JAVA课程设计

    JAVA程序设计课程设计报告 目 录 一、 项目背景及意义: ............................................... 2 二、 系统描述 ..................................................

    Java课程设计

    Java及J2EE课程设计题目 1、文件档案管理 文件档案管理系统主要对外来文件、下发文件和需要抄送的文件进行统一管理。划分为以下三个模块:收文管理、发文管理、抄送文件。 1......