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


第一天:

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

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


第二天:

在网上学习相关内容,初步掌握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!

数据库课程设计-人事管理系统相关推荐

  1. 数据库课程设计 人事管理系统

        一.JAVA与数据库的合作 此次开发语言为Java,所用的数据库驱动是mysql-connector-java-5.1.8-bin.jar 第一步   用Java连接MySQL数据库(驱动下载 ...

  2. 数据库课程设计--人事管理系统代码

    –人事管理系统 –创建数据库 create database personal_management_system on primary (name='pms_data',–逻辑名 filename= ...

  3. 数据库管理系统设计Java源代码_《数据库应用》课程设计人事管理系统(java源代码)...

    <数据库应用>课程设计人事管理系统(java源代码) <数据库应用>课程设计人事管理系统(java源代码) <数据库应用>课程设计--人事管理系统(java源代码) ...

  4. 人事管理java 课程设计_java课程设计人事管理系统

    <java课程设计人事管理系统>由会员分享,可在线阅读,更多相关<java课程设计人事管理系统(31页珍藏版)>请在人人文库网上搜索. 1.人事管理系统一. 系统需求分析: ( ...

  5. 教职工员工管理MySQL实训_数据库课程设计---教职工管理系统

    数据库课程设计---教职工管理系统 第 1 页目 录一.需求与功能分析 2二.系统总体框架 3三.功能设计 3四.类的设计与分析 4五.数据库表结构设计 4六.特色算法分析 5七.功能测试 6-10八 ...

  6. c语言课程设计人事管理,C语言课程设计-人事管理系统(65页).doc

    C语言课程设计-人事管理系统(65页) C语言课程设计 --人事管理系统 来自资料搜索网() 海量资料下载 人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员.教师.一般员工).退休人员 ...

  7. 宾馆客户管理系统数据库java_数据库课程设计+宾馆管理系统+Java+Sql

    [实例简介] 数据库课程设计+宾馆管理系统+Java+Sql [实例截图] [核心代码] elz76n └── 数据库课程设计 ├── sushe │   ├── build │   │   ├── ...

  8. c语言课程设计人事部门,C语言课程设计人事管理系统

    <C语言课程设计人事管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计人事管理系统(36页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计人事管理系统 题目要求:人 ...

  9. mysql数据库课程设计机房管理系统_基于web的机房管理(完整源码+论文全套+教学视频)...

    实现一个web的机房管理, 也就是说可以基于浏览器来进行各种数据信息的管理功能, 也可以认为是一个B/S架构的机房管理的系统,系统分为前后台,实现了能够进行线上操作, 进行机房管理各项功能,实现了诸如 ...

最新文章

  1. Java中final变量的初始化方式
  2. 332. 重新安排行程(回溯算法)
  3. Qt 从C ++定义QML类型(二)
  4. Shell按行读取文件的3种方法
  5. 【VMware vSAN 6.6】6.2.启用性能服务:vSAN硬件服务器解决方案
  6. 鲍捷 | 知识表示——面向实战的介绍
  7. 中序线索树和后序线索树
  8. Cisco 利用 802.1X、动态VLAN和DHCP技术实现方案
  9. C# static变量、const变量、readonly变量
  10. 589. N叉树的前序遍历
  11. lingo17.0软件工具
  12. PDF限制复制怎么办?怎么解决这个问题?
  13. swagger/knife4j小事记录(二)
  14. 英文网站建设应该如何做?如何建好一个英文网站?
  15. gcf,gca自己理解
  16. “No Problem”没问题,不客气的其他英语表达方式
  17. MySql版本号查看命令
  18. Android如何自定义服务器DynamicMockServer的使用
  19. DxO Analyzer的基本操作
  20. 非标资产与标准资产_资产商店行动新闻– 2011年6月

热门文章

  1. GNSS速度场简易MATLAB克里金插值
  2. 十五年工作经验的程序员,下面分享一篇职场经验的文章
  3. 谷歌浏览器打不开网址解决办法
  4. Marc DeBevoise加入Brightcove担任首席执行官
  5. 弹幕护体下的B站,走得越来越稳健了
  6. docker安装opengrok环境
  7. 爱普生Epson L3158 一体机驱动
  8. Word删除下划线上的文字
  9. 滑膜观测器物理意义_PMSM扩展状态滑模观测器和转子位置和速度估算.PDF
  10. 强化学习算法(一)————表格型方法