基于Java和Sql Server 2012实现的高校外聘教师课酬管理系统

学习是我快乐

发布日期: 2020-06-05 21:18:32 浏览量: 399
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

第一章 前言

1.1 高校外聘教师课酬管理系统介绍

本系统利用JAVA SWING处理数据库的功能,实现对外聘教师的增删改查、课酬工资的发放记录汇总、考勤签到情况记录等;本系统的结构分为登录模块、外聘教师信息管理模块、外聘教师薪酬管理、考勤签到模块、基本工资标准信息模块和查询汇总模块。

1.2 需管理信息

根据系统的需求,首先将要管理的信息分类,要管理的信息如下。

  • 教师信息:包括编号、姓名、身份证、政治面貌、职称级别、联系电话等

  • 考勤报酬:包括考勤类型、费用说明

  • 考勤情况:包括编号(教师)、考勤类型、开始时间、结束数据、总时间

  • 课酬标准:职称级别、课时报酬

  • 课酬发放记录:编号、任课学年、任课实数、总费用、增减情况、发放记录

  • 学院信息:学院编号、外聘教师数量、学院名

根据这些需要,本系统需要“教师信息”表,“考勤标准”表,“考勤情况”表,“课酬标准”表,“课酬发放记录”表和“学院信息”。

1.3 功能要求

经过实际考分析,外聘教师管理系统主要应该具有以下功能模块。

  • 外聘教师信息管理部分

    • 可以查看教师信息
    • 可以对教师信息进行维护,包括添加、修改及删除等基本操作
    • 可以查询对应学院的所有教师信息
  • 外聘教师薪酬管理部分

    • 可以按照各学院分类查询
    • 可以按照各职称分类查询
    • 可以学期对各教师薪酬查询
    • 可以汇总教师学年教师薪酬查询
  • 外聘教师基本工资查看部分

    • 可以查找各学年所有或某学院教师业绩明细
    • 可根据选择的学年以柱形图的形式展示所有院校的该学年的总业绩分数和平均分数
  • 考勤签到模块部分

    • 可以进行考勤请假、打卡、加班
  • 教师业绩管理和查询汇总管理部分

    • 可以对所有考勤情况按考勤类型分类查询
    • 可以查看考勤情况对总薪的影响

第二章 数据库设计

2.1 E-R模型设计

2.1.1 实体列表

实体 描述
教师 所有教师,由教工号标识
学院 所有学院信息,由学院名标识
考勤酬报 考勤标准信息,由考勤类型标识
考勤情况 所有教师的考勤信息,由编号、开始日期共同标识
管理员 课酬发放记录 薪酬标准 系统管理人员,由用户登录id标识 所有教师课酬发放的情况,由任课学年、编号共同标识 薪酬标准信息,由职称级别标识

2.1.2 系统的E-R模型

该外聘教师管理系统的E-R模型,如下图所示:

2.2 创建数据库

2.2.1 构建概念模型

  • 打开Power Designer,根据设计的E-R图来设计本数据库的概念模型(ConceptualDataModel)

  • 因为管理员表为独立表,因此在构建概念模型时不添加管理员表。外聘教师信息表、学院信息表、考勤薪酬表、课酬发放表、考勤情况表、薪酬标准表的基本属性、主键以及实体间的联系

2.2.2 生成逻辑模型和物理模型

在设计好概念模型后,点击“ToolsGenerate Logical Data Model”生成逻辑模型,如下图所示:

接着点击“ToolsGenerate Pysical Data Model”,生成Microsoft SQL Server 2012 数据库管理系统对应的物理模型,如下图所示:

2.2.3 创建数据表

在生成以上模型后,使用Power Designer自动生成对应的Sql脚本。而自动生成的Sql脚本中的外键的联级删除、更新都是默认无,所以需要根据实体联系来添加对应的联级更新、删除。

创建数据库后,为DataDesign数据库添加数据表,步骤如下。

  • 在服务器资源管理器中的DataDesign下执行生成的Sql脚本,因为对应的在生成物理摸时已选择数据库系统的版本,所以时执行即可

  • 各表数据结构如下表所示:

第三章 系统实现

3.1 连接数据库

连接数据库可以在配置文件中进行,但我们决定使用数据库通用类来进行数据库额连接,从而避免多次的连接操作。

首先设计一个数据库通用类,创建数据库开驱动的字符串:

  1. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  2. String uriString = "jdbc:sqlserver://localhost:1433;
  3. DatabaseName="+DBName; con= DriverManager.getConnection(uriString, id, p);

【uriString:为链接数据库字段 DBName:连接数据库名 id:登入名 p:登入密码】

然后在通用类中进行连接和关闭连接的操作,从而实现哪里使用哪里关闭的目的。该类中编写执行数据库操作的通用方法,对数据库数据进行增删改查操作。

3.2 登录窗体

创建一个新的“WindowBuilding”类型JAVA项目,名为“denglu”。将这denglu窗体作为系统的登录入口,以及注册新用户。

3.2.1 界面设计

设计登录界面,创建一个新的“JAVA Swing窗体”,名为“denglu”,作为本系统的登录界面.在登录窗体上添加四个Label控件,两个Button控件和两个JTextField控件,添加控件后的窗体如下图所示:

3.2.2 功能实现

在文本框中相应输入账号(用户ID)和密码,然后点击“登录”按钮,如果验证失败,会弹框提示失败的提示;如果验证成功,跳出登入成功窗口,并登录到菜单窗体,如下图所示:

3.3 菜单窗体

创建一个新的“JAVA SWING”类型的项目,名为“Main_View”。这个页面作为主窗体,来导航要执行的窗体页面。

3.3.1 界面设计

作为本系统的导航界面.在登录窗体上添加一个JPanel控件,添加八个JButton绑定控件,该面板采用GridLayout风格使用setVgap、setHgap设置按钮之间间隔使界面更美观 如下图所示。

3.3.2 功能实现

登入成功进入主窗体后,可以点击导航栏中相应的按钮,实现窗体的加入和现实,再次页面可以将所有窗体的功能再次页面实现。这里业绩标准表是以弹框显示所有标准表中的数据,其他都是将窗体加到主窗体下面的JPanel中来显示。

3.3.3 设计思路

当窗体加载完成后考勤、基本工资情况JPanel的不在重新加载而是设置可见和不可见,导航主页面主要注意按钮控件的页面显示机制。按下相应模块按钮后,不是以弹框形式显示,而是将模块加入到此页面的JPanel控件中。并且要不显示将加入的模块的边框,设置窗体不为顶层窗口,设置充满整个JPanel。为了可以点按钮显示相应模块,所以要将选模块放置最前,但不设置顶层。退出的话是跳转到登录页面。

3.4 外聘教师信息管理管理窗体

在当前项目中添加一个“Java Swing窗体”,名为“Manager”,这个页面作为外聘教师信息管理管理窗体。

3.4.1 界面设计

在窗体上添加三个JPanel,分别设置需要查看的档案类型,一个JPanel存放教师管理的JTree,一个JPanel存放需要查看各个院系教师信息,一个JPanel存放Jtable相关的数据汇总表; 汇总变下存在四个JButton、两个JcomboBox、一个textField实现对教师信息的更新操作;

3.4.2 功能实现

加载该窗体后,显示所有学院信息,点击相应的相应的院系,右方就可以显示该各个院系的教师情况,在表中双击某个教师可查看教师的详细信息,通过下方的按钮等实现对教师档案的增删改查。

3.4.3 设计思路

  • 通过访问SQL语句将教师的信息显示在JTable并刷新JTable中

  • 利用HashMap存放在教师信息,通过教师编号作为Map的KEY实现查看教师详细信息

  • 通过获取数据库的属性名存放JComboBox实现对任意教师信息属性查询

  • 通过点击添加按钮实现对教师的添加,修改对外聘教师的增改删

3.5 考勤管理汇总窗体与考勤窗体

在当前项目中添加一个“Java Swing窗体”,名为“Check_work_attendance_View”,这个页面作为外聘教师信息管理管理窗体。

3.5.1 界面设计

考勤窗体

在窗体上添加三个JTextField,第一个输入编号、第二、第三个添加JAR完成日期的选择使其更美观,天哥两个按钮完成考勤的确认、取消;一个JCombox对考勤类型的选择;

考勤汇总窗体

在窗体上添加三个JPanel,分别设置需要查看的档案类型,一个JPanel教师管理JTree,一个JPanel存放需要查看各类考勤的情况信息,一个JPanel存放Jtable相关的数据汇总表。

3.5.2 功能实现

考勤窗体,判断该编号是否存在,若编号存在则跳出提示完成考勤,当编号不存在时提示错误提示。考勤汇总窗体,显示各个院系的各类考勤的汇总情况。

3.5.3 设计思路

  • 考勤窗口通过访问数据库完成对于编号的验证,以及名字的提示输出

  • 通过HashMap存放来各个表中需要使用的信息,汇总在奖罚情况表中

3.6 外聘教师课酬统计管理

在当前项目中添加一个“JAVA SWING窗体”,名为“Salary_View”,这个页面作为教师业绩管理窗体。

3.6.1 界面设计

在窗体上添加两个JTree、一个lable、一个JTable、三个JComboBox、一个按钮。

3.6.2 功能实现

  • 通过学院奖外聘教师信息课酬汇总

  • 通过职称将外聘教师信息课酬汇总

  • 通过任课学年叫外聘教师信息进行汇总

  • 通过姓名、编号两个属性进行分类教师查找

3.6.3 设计思路

  • 通过点击JTree获得叶子节点,通过节点的信息作为返回数据的条件得到,结合HashMap设置计算总薪酬

  • 设置选择JComboBox的学年触发事件的到选择学年教师薪酬信息的数据

3.7 基本工资窗体

在当前项目中添加一个“JAVA SWING窗体”,名为“Salary_a”,这个界面作为业绩分数标准信息窗体。

3.7.1 界面设计

添加一个JTable组件、一个JLabel组件,如图所示:

3.7.2 功能实现

点击基本工资按钮,实现显示基本工资信息。

3.7.3 设计思路

访问数据库的薪酬标准,将数据加到JTABLE中并将该面板设为可见。

第四章 系统实现

4.1 开发环境

JAVA SWING 进行系统的开发,并使用Sql Server2012作为本系统的数据库管理系统。

4.2 系统流程图

在本系统中准备通过如下窗体来实现数据维护、管理的功能。

  • 菜单主窗体:管理着各个子窗体

  • “外聘教师管理系统”子窗体:实现显示主页

  • “档案处理”子窗体:管理教师信息、奖罚情况信息、薪酬发放信息

  • “考勤签到”子窗体:管理教师日常考勤签到

  • “基本工资”子窗体:查看薪酬标准信息

  • “计算器”子窗体:调用系统计算器

系统流程图

4.3 功能显示

运行程序后首先显示登录界面,如下图所示。

单击“登录”后,进入程序菜单界面,如下图所示:

点击教师管理节点,下方将显示各个学院信息界面,如下图所示:

点击教师信息子节点,下方将显示按学院分类外聘教师,如下图所示:

选择下方的精确查询,结果如下图所示:

选择下方的模糊查询,结果如下图所示:

双击JTable显示教师详细信息,结果如下图所示

点击添加教师按钮添加成功显示,如下图所示:

点击添加教师按钮删除成功显示,如下图所示:

点击奖罚情况子节点,下方将显示考勤情况对应的奖罚情况,如下图所示:

点击薪酬发放子节点,将显示按学院分类、职称分类、总工资,如下图所示:

点击考勤签到,将输入考勤编号选择考勤类型完成考勤签到如下图所示:

点击基本工资,显示基本工资的信息如下图所示:

点击计算器,显示系统计算机如下图所示: 【该功能用于验算】

点击切换主题,将显示将系统颜色等主题改变 如下图所示:【附加功能】

4.4 设计理念

因为这是数据库原理与应用的课程设计,所以本次的系统我们将对数据库的CURD操作尽可能的使用SQL语句让数据库自行处理,采用JAVA对数据库操作的JDBC运用预编译将SQL语句在JAVA虚拟机中翻译成数据库的底层语言,以降低对于数据库的负担。

第五章 总结

本次的课程设计,使用JAVA SWING 进行系统的开发, 在设计之余,查询过资料,对于系统界面的美化。同时,结合了课内所学的E-R图设计进行数据库的初步设计,再利用Power Designer数据库开发辅助工具生成创建数据库表的SQL脚本完成本次课程设计的初步阶段;这对我而言是一次很好的提高,之前的开发JAVA高级课程的作业时对于数据库设计都是凭借个人经验与感觉的设计,访问数据库的也时一次次的连接数据库、执行SQL语句等出现代码大量的冗余;学习方法的封装,将访问数据库的操作,以及执行SQL语句的操作封装在一个类中,减少代码冗余。经过这次的课程设计,在课程中学习到了我对系统开发有了新的认识,对前期准备工作的重要性也有了更好的理解。

在开发过程中,大大小小的会遇到些问题,在询问老师或上网查找资料的过程中,对这项开发技术的一些细节也有了更深的理解和掌握。对于SQL语句也有了更深的理解,以及更好的运用;从刚开始每一条语句都要在数据库中执行一遍到能熟练掌握基本的增删改查语句。

本次课设所有界面均由自己设计,对于各个界面有更深的理解以及完成过程,但也相对的会花费了更多的时间,为节约程序开发的时间按照课程进度进行,并没有很好的将程序进行分层管理,将各个模型的控制器,视图均放在一个界面中,不便于后期管理,这是本次实验有所遗憾之处。

总的来说,本次的课程设计对我是一次很好的锻炼,让我对系统开发的需求分析阶段有了更好的理解,在实践中去领会它的优势所在无疑是最好的办法。通过本次的课程设计,提升了我在数据库设计方面的能力熟练度。

上传的附件 cloud_download 代码dan报告.rar ( 4.96mb, 10次下载 )
error_outline 下载需要14点积分

发送私信

43
文章数
9
评论数
最近文章
eject