admin 管理员组

文章数量: 887019

学期就要结束了,要完成一个数据库的课程设计项目,想想自己一个学期下来啥也没学到,现在突然要独立完成一个小项目,不能偷懒,记录一下吧。

代码已经放在文章末尾 ^ v ^


第一天:

完成软件下载与环境配置,成功运行老师写好的学生管理系统。

 第一次实现用代码弹出具体的界面,虽然不是自己写的,但我真的感觉特别惊喜、满足。


第二天:

在网上学习相关内容,初步掌握JSwing,完成登录界面的设计。

一个小小的登录界面写了一百多行代码,键盘敲得就像是烤爆米花一样,特别是中途有一次删图片文件的时候不小心把java文件删掉了,差点就要重写,还好有备份。

AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT的Java程序,其运行速度比较慢;Swing是AWT的拓展延伸。

swing学习:Java Swing 图形界面开发

背景用的是绘图类:Java Graphics类的绘图方法; 使用Java的Graphics类进行绘图


第三天:

创建项目的数据库:

虽然是数据库的课设,但是创建数据库过程显然比其他的步骤简单,因为最抽象最难想的部分(比如需求分析、概念模型E-R图等)指导书已经完成的差不多了,只要用数据库语法把数据库建立好即可。

1. 老是打错一个字母或者忘记什么内容导致要重写,泪目

2. 成功的一刻是那么的让人兴奋

 

 3. 插入数据,数据库建立完成。

4. 插入数据的时候发现很多表格格式需要修改的地方,导致只能将原表格删除重新建立新的表格,这个时候Navicat确实是减轻了不少负担。

学习JDBC:

  • JDBC介绍
  • JDBC从入门到熟练使用——功能类详解、增删改查(CRUD)、sql注入、事务、连接池

第四天:

小小总结与反思:

这时我渐渐感受到了工程量的巨大,而且经过思考第二天设计的登录界面应该会有很大的改动:背景应该更加具有商务性质(原背景属于个人个性化背景);登录界面有管理员登录和普通员工登录;没有注册按钮,注册(即新增员工)应该是管理员在管理界面实现的功能。

为了不耽误进程,我还是打算先将整体框架建立好,最后再将系统进行完善处理。

实现登录设计:

实现一个登录功能思路还是比较简单的。增加一个监听器,内部功能就是首先通过用户输入的账号在数据库中进行查询,然后将查询到的密码与用户输入的密码对拍

如果一致则进入人事管理系统:

不一致则跳出报错消息对话框:

 按指导书上写的这里似乎要加一个用户密码加密的模块,我就先略过了。

管理界面设计:

我打算用一个选项卡面板做主体,做到能够快速切换功能,更加方便用户体验。

大体框架设计为:

运用的主要知识:JavaSwing_3.4: JTabbedPane(选项卡面板)

注册界面设计(出现一些bug):


第五天:

继续设计管理界面,预计如果正常工作还需要用两天时间设计界面,再留一个星期实现内部功能以及系统的完善处理。

遇见的bug:


第六天:

更新两个选项卡界面:

员工信息查询界面,提供查询特定人物信息、查询所有人物信息、查询详细信息、删除特定人物信息和删除所有人物信息的功能。

人事变动查询界面,表格记录所有人事变动的信息,也可以查询特定信息。


第七天:

界面设计:

将昨天的人事变动界面拓展了一下,同时完成修改密码界面。至此界面设计已基本完成,剩下的就是功能设计与数据库完善。

功能设计:

1. 完成员工信息查询界面的五个基本功能,由于人事管理系统的员工基本属性有15条,非常的多,直接用一个表格列出来并不方便查阅,这里的想法是只用表格列出比较重要信息:

2. 同时提供“详细信息”功能,点开能查看详细信息,该员工的所有信息会列在里面:

这里稍微偷了个懒,因为设计了太多界面不想再重新设计一个,就直接套用了原来的界面代码。 

3. 当然这里的密码是不能查看的(保护隐私):

4. 详细信息界面也提供修改功能,但这里只有修改基本信息的权限,比如不能修改员工号,有关人事变动的重要信息。


第八天:

完成注册新员工的功能设计:

1. 注册界面的员工号是系统根据当前的员工数(包括已经辞退的)自己填写上的,不能作出修改。

2. 完整性约束设计:如果没有填写完必要信息就直接注册,弹出对话框提示注册错误。

3.密码系统自动填写为123456,这里填写注册信息时可以修改。

4. 在注册界面输入带 * 的信息后,其它信息选填,点击注册可将员工信息记录数据库中:

 5. 可以发现,此时员工信息查询表已经可以看到新员工 小F:

 8. 存在问题:注册一个新员工后不能继续进行注册,后续考虑新增一个刷新按钮进行下一个员工注册。

第九天:

1. 注册员工的同时实现新增人事变动的设计(同时注册员工后页面自动刷新,员工号递增,解决昨天一次只能注册一个员工的问题):

2. 实现 新增人事变动 功能:

 可以看到此时小F的职位降到了员工:

 至此,功能设计已经基本完成。


第十天:

加密设计:

加密的方法有很多,这里使用MD5加密,据说是一种不能反推的加密方式:MD5加密

新增部门查询:

管理员可以在这里查询部门信息,可以快速知道对应部门的经理是谁,这里的部门经理会因为新增人事变动时员工升值或降职地同时发生改变:

也能在员工个人信息中看到他对应的经理:

 这里用到的主要是多表查询与修改。

细节补充:

辞退的员工没有登录权限:

所有删除功能以及修改密码功能加上确认对话框:

额外设计:

我喜欢整一些好玩的东西,所以这里弄一个更多界面,比如可以在更多这个界面设置一些休闲工具。这里是弄了一个点赞功能,点一下会变红,同时界面出现“Thank you!”(非弹窗):

(点赞图标来源:csdn)

课设到这里就结束了,完结撒花!Thank you!

代码链接  :jeazim/StaffSystem: 数据库课程设计-人事管理系统 (github)https://github/jeazim/StaffSystem

制作不易,帮忙给个start吧 

本文标签: 课程设计 数据库 人事管理系统