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

本文记录了一位学生为期十天的数据库课程设计过程,详细描述了从环境配置、界面设计、数据库创建到功能实现的每一步。项目涉及JSwing、JDBC、数据库操作和图形界面开发,包括登录、注册、员工信息查询、人事变动等功能,并实现了MD5加密和部门查询。最终完成了完整的人事管理系统。

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

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


第一天:

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

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


第二天:

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

7801e0b5adff44fea50f1433aca28473.jpeg

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

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

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

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


第三天:

创建项目的数据库:

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

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

fa49ba07f2014c589710f4800e87319f.png

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

 f6105e87134b457cb3425dc763736f02.png

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

0caec71b25c4464ea65f48ad7e1467ca.png

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

bec1e3f1f55248d1b64e61746612e98e.png

学习JDBC:


第四天:

小小总结与反思:

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

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

实现登录设计:

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

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

af4551ce2060418c9b1805f4a7e31f70.png

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

d912d7b2b6b34b1a9699eeac275f4b0f.png

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

管理界面设计:

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

大体框架设计为:

343f565f6ac746dfb0ead9e51afbd729.png

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

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

89252a3505f749599c0edef993eb067c.png


第五天:

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

遇见的bug:

6ce6d85840184af5801a93ba427bd2ba.png


第六天:

更新两个选项卡界面:

5c8981784eb548e98091aafbfd56bc09.png

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

cf7bca1f67f0419e88a0efa850f4122a.png

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


第七天:

界面设计:

ede2492aed884bb2b728f1616f4294c6.png

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

功能设计:

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

3adb5789cbeb4efaaba04a56632e2663.png

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

9968a52bd9064804b0e8ec6002ddb421.png

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

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

3d941ff3f6a74d59a6bc6a25388b8bee.png

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


第八天:

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

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

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

7c99e08b888f419eb35ab805936e8a53.png

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

d9f09fb3991243f7820542ae94585914.png

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

983302c496da41b2beda78892ecf9bde.png

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

c97e97c5cf2a47cdae58d2f43fbd9a59.png

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

第九天:

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

6a787a17d276449db3f9b557b4e298bb.gif

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

22225790300d4bc688c643a72beb65f1.gif

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

6a43097d77264fca8ed9b31bf7c79a28.png

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


第十天:

加密设计:

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

新增部门查询:

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

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

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

细节补充:

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

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

额外设计:

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

(点赞图标来源:csdn)

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

代码链接  :jeazim/StaffSystem: 数据库课程设计-人事管理系统 (github.com)icon-default.png?t=N658https://github.com/jeazim/StaffSystem

制作不易,帮忙给个start吧 

郑州大学西亚斯国际学院 《数据库原理与应用》 课程设计报告 课程名称 数据库原理与应用 设计题目 人事管理系统 专业班级 软件工程1班 学生姓名 XXXX 学 号 2015XXXX44 指导教师 XXXX 2016年 12 月 14 日 前言 数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一.其在计算机设计,人 工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计 算机信息系统和应用的核心技术和重要基础。 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互 联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进 行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途 径. 校园网信息系统建设的重要性越来越为成人高校所重视。 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动 教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的 工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工 填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作, 不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息 进行统计,同时计算机具有手工管理所无法比拟的优点. 例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这 些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接 轨的件. 在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的 核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。本文主要介 绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的 叙述. 目录 —---———-——--——---——------------—————-----—————-——--——-———----——————-- ——------——----------—— 1. —-————-—————-------基本情况与需求分析 二、———---——-———---——-----——-—功能模块划分 三、——-----——————————---------概念结构设计 四、--——--———---——--——-------—逻辑结构设计 五、-----——---——----———课程设计的心得体会 ----———-----——---------—————--————----——--------------------—————- -----------——--—————-- 第一部分:基本情况与需求分析 1.基本情况 "题目 " 教学管理系统 " "同组队员信 "学号 "姓名 "专业 "课题负责部分 " "息 " " " " " "学生 " 01 "XXXXX "软件工程 "设计与实践 " 2。需求分析的任务 需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形 成需求分析说明书。重点是调查,收集与分析用户在数据管理中的信息要求,处理要求 ,数据的安全性与完整性要求. 为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作 概况,分析用户的各种需求,在此基础上确定新系统的功能。新系统必须考虑今后的扩 充和改变,不能仅仅按当前应用需求来设计数据库。 3. 需求分析的过程 (1)登录管理 (2)人员管理 (3)部门管理 ( 其中人员管理包括:添加,浏览,修改,撤销,删除,查询等:部门管理包括添加、修 改,删除) 4. 数据字典 经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图2.1 所 示。下面,结合该实例具体情况,给出教务处、后勤部和各个系各部门的具体需 求。 图2.1 某公司人事管理业务流程图 调查用户需求 企业部门需求 员工基本信息处理: 员工基本信息的录入 员工基本信息的处理包括插入,删除以及修改 员工基本信息的查询 统计功能: 按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息 分析用户需求 在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向 下的结构化分析方法(SA 方法)。首先,定义全局概念结构的框架。 经分析之后,本系统要用到九个基本表:系表,班级,学生表,课程表,选 课表、教室表、占用表、教师表,教授表。数据结构定义如表2.1 所示。 表2.1 数据结构定义 数据结构名 1. 员工基本情况。包括的数据项有员工号、员工姓名、性
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值