java课设要分小组吗_Java团队课程设计-学生成绩管理

一、课题要求:

课题任务及要求:

cf154aee25b040b871c16471184a1bd4.png

小组成员:

涉及技术:

GUI编程

数据库MySql

JDBCTemplate

POI

Excel

项目git提交记录截图:

fe86934632dd2cec1fac0292fb66f0eb.png

二、前期调查:

三、项目功能架构图、主要功能流程图:

功能架构图:

9c8f9207a0928cff49cdbaff0e3d2733.png

主要功能流程图:

5bfe9e161cfc61b37bc6973af0367eff.png

四、面向对象设计包图、类图:

包图:

0b19bb79f3249aeaf23f4b4d13e93a81.png

五、项目运行截图或屏幕录制:

6f9cf61bfa8c069a85753c18e3fa728f.gif

605a69c839de86370792e8415e0e6593.gif

生成的成绩报表:

ed086dec2bcebdb0aa19514a2cc0affc.png

7e63ae676009c52275ba0bc0e7f6af5b.png

数据库更新的数据:

bab43d4a83709ef2a604307dbcdfa2cd.png

六、项目关键代码分模块描述:

登录/注册模块:

LoginJFrame.java:对用户输入的用户名密码与数据库内用户名密码比较,若存在用户,则登录成功,否则登录失败;用户也可以在用户名框输入使用者姓名,在密码框输入密码,点击注册即可自动生成用户名并将用户名、加密后的密码保存到数据库,然后方可登录。

public static String code(String str){

try {

MessageDigest md = MessageDigest.getInstance("MD5");//获取md5实例

md.update(str.getBytes()); //传入要加密的byte类型值

byte[]byteDigest = md.digest();

int i;

StringBuffer buf = new StringBuffer("");

for (int offset = 0; offset < byteDigest.length; offset++) {

i = byteDigest[offset];

if (i < 0)

i += 256;

if (i < 16)

buf.append("0");

buf.append(Integer.toHexString(i));

}

//32位加密

return buf.toString();

// 16位的加密

//return buf.toString().substring(8, 24);

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

return null;

}

}

随机生成十万条以内测试学生信息:

要在URL中加入rewriteBatchedStatements=true语句,否则就算使用batchUpdate方法,实际上也没有起到批量添加的效果;对于添加10万条数据而言,若使用update方法一条条添加,效率十分低需要等待非常久的时间。

68e8df36abe1b2c02a7a4599b5903b12.png

随机生成成绩时,使用nextGaussian()方法生成N(0,1)标准正太分布,逆用正太分布标准化公式将其乘标准差8再加期望80,得到N(80,64)正态分布。需要控制成绩小于100.0。使用Calendar类获得当前系统时间,再将其减去若干天,获得一个大概区间内的时间范围,如图将区间约控制在[1998,2001]。

0315ac25d7297cb92727b30e12576233.png

生成成绩报表并将其导入excel表格中

poi技术所需jar包:

ad578e7ac316884f6e57f8b28fd5bf12.png

关键代码:

2dc35787cb6095f1e317c92a8ef5e25e.png

62ce4596285102e121ea7e99a18d4ef4.png

添加单个学生信息:

be36af65992860696d6274c45138f63c.png

7cb1b8e369e6cacef02c737f04577282.png

查找学生信息:

通过学号精准查找学生信息:

a4004fa316a89f334c9db5f04d1663d6.png

通过姓名模糊查找学生信息:

77a6287dab66bfdbe220abbf66b1ba6e.png

修改学生信息:

6c2d2ee56a01a64cf10b738d02ae0e8d.png

七、项目代码扫描结果及改正:

八、项目总结:

不足:

没有做到共享一个数据库。尝试了各种方法远程访问数据库,但都没法访问位于不同网段的远程数据库。

将项目打包成jar后,登录注册操作无法进行。目前还未找到原因所在。

DAO模式仍未完善。

图形界面不太美观。

展望:希望以后我们团队能继续将这个项目进行下去,继续完善这个项目。

想要进一步完成的任务

DAO模式

打包成jar包后的注册登录功能

远程访问数据库,实现一个程序共享一个数据库。

原文:https://www.cnblogs.com/Kevin2001/p/14339777.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值