基于java的职工便利系统【大学期末结课作业】

2023-12-01 01:12

本文主要是介绍基于java的职工便利系统【大学期末结课作业】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求分析

背景和目标

基于现在的各类企业的职工在企业日常工作及生活中所需要的各类需求,通过使用Java语言开发一个职工便利系统,以方便职工完成公司内的日常事务,提高工作效率。
设计目的:
设计职工便利系统的主要目的是为了提升职工的工作效率和生活质量,让职工能够更加便捷地处理各项工作和生活事务。该系统将为职工提供一站式服务,包括个人信息管理、工作任务管理等功能,从而促进企业的发展和稳定。同时,该系统还能够帮助企业实现数字化转型,提高信息化水平和管理效率。通过设计职工便利系统,我们希望为职工提供更好的工作和生活体验,提高企业的综合竞争力。

用户角色和用例

职工便利系统其主要功能是对职工的工作,生活情况进行查询,添加,删除,修改等操作,可以使管理员更方便简洁的管理职工情况。也使职工的工作,生活更加方便。
职工便利系统用户分为管理员和职工两个部分,首先进入登陆界面进行登录,如果未注册可以进行注册,登录时系统自动可以分别管理员和职工,管理员可以对系统中的职工信息进行添加,删除,查询。(例如职工的工作情况,请假情况,消费情况)。职工可以在系统中进行上下班的打卡,可以在系统中请假,也 可以在系统中进行日常生活中的开销。

管理员

管理员可以对系统中的职工信息进行添加,删除,查询。(例如职工的工作情况,请假情况,消费情况)。

职工

在职工便利系统中,职工可以在系统中进行上下班的打卡,可以在系统中请假,也可以在系统中进行日常生活中的开销。

开发流程

软件设计

系统架构

职工便利系统流程图 (2).jpg

编写目的和范围

通过Java语言,开发可以适用于不同企业的职工便利系统,主要面向企业内的人事管理人员与普通职工使用

设计概述

针对企业内部所需要的基础功能要求,主要完成企业职工的工作考勤打卡,请假的记录。职工在企业内的餐饮,生活消费情况的统计。

运行环境概述

需要能够在电脑端完成管理员与职工账号所需的基本操作

条件与限制

只能作为内部软件,在企业内进行使用
管理员账号需要完成对所有职工的记录进行查看、修改等操作
职工账号只能查看个人信息,完成本账号内的操作

开发阶段

Emplogins类:职工账号登录界面

类:

  • EmpLogins:登录窗口类,实现了ActionListener、MouseListener和KeyListener接口。

方法:

  • public EmpLogins():构造方法,初始化登录窗口界面。
  • private void initView():初始化登录窗口中的控件。
  • private void initJFrame():初始化登录窗口的基本属性。
  • private String randomCode():生成随机验证码。
  • private void showDialog(String content):显示提示信息对话框。
  • 实现的接口方法:actionPerformed(ActionEvent e)、mouseClicked(MouseEvent e)、mousePressed(MouseEvent e)、mouseReleased(MouseEvent e)、mouseEntered(MouseEvent e)、mouseExited(MouseEvent e)、keyTyped(KeyEvent e)、keyPressed(KeyEvent e)、keyReleased(KeyEvent e)。

Function类:管理员界面

类:Function
属性:arry,用于存储职工信息的数组列表
方法:

  1. find(String str),根据查找职工信息,找到返回职工所在数组列表的位置,找不到返回-1
  2. update(Student_Manage.student_information stu),修改职工信息
  3. readfile(),读取文件,将文件中的职工信息存放在数组列表中
  4. add(Student_Manage.student_information stu),添加职工信息
  5. writefile(),将职工信息写入文件
  6. delete(String s),删除职工信息

Input类

类:Input
功能:用于读取和写入职工信息文件,更新职工信息列表。

属性:

  • arry:ArrayList类型,存储职工信息列表。

方法:

  • Input:构造方法,初始化Input对象,读取职工信息文件,将职工信息存储到arry中,并将修改后的职工信息重新写入职工信息文件。
  • fileString:将职工信息对象转换为字符串。
  • toString:将对象转换为字符串,用于调试和输出信息。

Login类:系统初始界面

类: Login

属性:

  • frame: JFrame对象,表示窗体
  • jp1: JPanel对象,表示面板1,用于显示“请选择你的身份登录”标签
  • jp2: JPanel对象,表示面板2
  • jp3: JPanel对象,表示面板3,用于显示管理员和职工登录按钮
  • jlb1: JLabel对象,表示“请选择你的身份登录”标签
  • jb1: JButton对象,表示管理员登录按钮
  • jb2: JButton对象,表示职工登录按钮

方法:

  • Login(): 构造函数,用于创建登录界面的GUI组件
  • actionPerformed(ActionEvent e): 实现ActionListener接口的方法,用于处理按钮的点击事件

Manager Login类:管理员界面()

类:ManagerLogin

属性:

  • 工号:JTextField类型,用于输入工号
  • 姓名:JTextField类型,用于输入姓名
  • 年龄:JTextField类型,用于输入年龄
  • 职位:JTextField类型,用于输入职位
  • 餐饮花费:JTextField类型,用于输入餐饮花费
  • 日常开销:JTextField类型,用于输入日常开销
  • group:ButtonGroup类型,按钮组,将男和女单选框添加到按钮组中
  • 录入:JButton类型,用于添加职工信息
  • 查询:JButton类型,用于查询符合条件的职工信息
  • 删除:JButton类型,用于删除职工信息
  • 修改:JButton类型,用于修改职工信息
  • 显示:JButton类型,用于查看全部职工信息
  • 返回:JButton类型,用于返回登录界面
  • p1-p7:JPanel类型,用于调节布局的通道
  • pv:JPanel类型,面板,用于存放输入职工信息的组件
  • ph:JPanel类型,面板,用于存放操作按钮
  • pb:JPanel类型,面板,用于存放标题和提示信息

方法:

  • ManagerLogin():构造方法,用于初始化界面和添加监听
  • actionPerformed(ActionEvent arg0):重写的方法,用于处理按钮点击事件

showones类:查询指定职工信息

模块:Student_Manage
类:showones
属性:

  • arry:存储符合条件的职工信息列表
  • stu:职工信息对象
  • table:JTable对象,用于展示职工信息表格
  • model:DefaultTableModel对象,用于管理职工信息表格数据

方法:

  • createColumnNames():创建表格列名向量
  • createTableModelData():创建表格数据向量
  • showones():展示符合条件的职工信息表格,包括读取查询条件、读取职工信息、创建表格、设置表格样式、设置排序器、设置数据居中显示、展示表格等功能。

show_stuall类:管理职工数据(查看全部职工,修改数据)

模块:Student_Manage

  • 功能:该模块用于实现职工便利系统的各项功能,包括添加、删除、修改、查询和展示全部职工信息等。

类:show_stuall

  • 属性:
    • table:JTable对象,用于显示职工信息表格。
    • model:DefaultTableModel对象,用于存储职工信息数据。
  • 方法:
    • createColumnNames():创建表格列名。
    • createTableModelData():创建表格数据。
    • show_stuall():构造函数,创建职工信息表格并显示。

属性:

方法:

  • createColumnNames():创建表格列名。
  • createTableModelData():创建表格数据。
  • show_stuall():构造函数,创建职工信息表格并显示。

student_information类:接收键盘输入的职工信息

类:student_information

属性:

  • stuID:工号,私有属性,可通过getStuID()和setStuID()方法进行获取和设置。
  • name:姓名,私有属性,可通过getName()和setName()方法进行获取和设置。
  • sex:性别,私有属性,可通过getSex()和setSex()方法进行获取和设置。
  • age:年龄,私有属性,可通过getAge()和setAge()方法进行获取和设置。
  • callnumber:职位,私有属性,可通过getCallnumber()和setCallnummber()方法进行获取和设置。
  • home_place:餐饮花销,籍贯,私有属性,可通过getHome_place()和setHome_place()方法进行获取和设置。
  • identityID:日常开销,私有属性,可通过getIdentityID()和setIdentityID()方法进行获取和设置。
  • daka:打卡次数,私有属性,可通过getDaka()和setDaka()方法进行获取和设置。
  • qingjia:请假次数,私有属性,可通过getQingjia()和setQingjia()方法进行获取和设置。

方法:

  • 无参构造函数:创建student_information类的对象时调用,用于初始化对象。
  • 有参构造函数:创建student_information类的对象时调用,用于初始化对象,并设置stuID、name、sex、age、callnumber、home_place、identityID属性的值。
  • getStuID():获取工号。
  • setStuID():设置工号。
  • getName():获取姓名。
  • setName():设置姓名。
  • getSex():获取性别。
  • setSex():设置性别。
  • getAge():获取年龄。
  • setAge():设置年龄。
  • getCallnumber():获取职位。
  • setCallnummber():设置职位。
  • getHome_place():获取餐饮花销。
  • setHome_place():设置餐饮花销。
  • getIdentityID():获取日常花销。
  • setIdentityID():设置日常花销。
  • getDaka():获取打卡次数。
  • setDaka():设置打卡次数。
  • getQingjia():获取请假次数。
  • setQingjia():设置请假次数。
  • fileString():将属性转换为字符串,用于将职工信息写入文件。

StudentLogin类:职工个人界面(完成上下班打卡,请假,吃饭,日常消费等操)

类:StudentLogin

该类是一个继承自JFrame的窗体类,用于展示职工登陆后的界面。

属性:

  • stu:类型为student_information,用于存储职工信息。
  • fun:类型为Function,用于操作职工信息的函数。
  • dakaNum:类型为int,用于记录打卡次数。
  • qingjiaNum:类型为int,用于记录请假次数。
  • curEat:类型为int,用于记录餐饮消费金额。
  • curCost:类型为int,用于记录日常开销金额。

方法:

  • public StudentLogin():构造函数,用于创建窗体及其组件。
  • private void initJFrame():用于初始化界面,设置窗体的布局管理、标题、大小、位置、关闭方式以及窗口标题图标。
  • private void initButtom():用于初始化按钮等组件,包括三个面板p1、p2、p3,两个标签text1、text2,以及多个按钮。还为按钮添加了ActionListener,使得当用户点击这些按钮时,会执行相应的操作,如打卡、吃饭、请假、支付等。
  • private void initMenuBar():用于初始化菜单栏,包括一个菜单“菜单”和一个子菜单“返回登录界面”以及一个菜单“摸鱼”和一个子菜单“拼图小游戏”。还为子菜单添加了ActionListener,使得当用户点击这些子菜单时,会执行相应的操作,如返回登录界面、打开小游戏等。
  • @Override public void actionPerformed(ActionEvent e):用于处理事件响应。

测试阶段

用户登录界面测试

功能需求:
完成管理员及职工登录的入口选择
测试结果:
界面显示正常
管理员及职工登录入口测试正常,可以完成目标功能需求

管理员界面测试

功能需求:
完成职工信息的添加、删除、修改,查看所有职工信息工作打卡及消费情况,返回用户登录界面
测试结果:
界面显示正常
可以完成添加、删除、修改职工信息的功能
查看所有职工信息功能完善,可以通过工号、姓名等方式设置条件进行查看
返回用户登录页面功能正常

职工账号登录界面

功能需求:
接收从键盘输入的职工账号及密码信息,完成随机验证码功能
测试结果:
正常完成用户账号、密码及验证码的输入,随机验证码功能正常显示
密码显示与隐藏功能模块正常
登录按钮功能正常
注册按钮功能正常

职工便利系统

功能需求:
完成职工上下班打卡,请假提交功能,日常生活开销功能,加入娱乐功能
测试结果:
上下班打卡功能正常使用
请假提交功能正常,可以完成请假内容的输入与提交
日常生活开销记录功能正常,可以完成吃饭及日常消费的记录功能
摸鱼按钮可以完成其功能操作
拼图小游戏模块功能正常
可以通过菜单模块正常返回用户登录界面

拼图小游戏功能模块

测试结果:
游戏功能正常执行
通过小游戏界面可以重新登录到职工便利系统界面

操作方法

系统介绍

职工便利系统是一种用于管理员工信息和考勤的系统。该职工便利系统具有以下几个功能特点:

  • 可以录入、修改、查询和删除员工的基本信息,如姓名、职位、部门等。
  • 可以记录、统计和分析员工的考勤情况,如上下班打卡、请假等。
  • 可以根据员工的角色和权限分配不同的功能模块,如管理员、普通职工等。
  • 可以帮助企业建立规范化的人才管理制度,挖掘和培养核心人才。

系统安装

详细描述软件的安装过程,例如下载、安装、配置等。

系统使用

登录界面:
进入职工便利系统,会弹出“用户登录界面”,该窗口显示“请选择你的身份登录”提示信息,提示信息下面有“管理员”和“职工”两个按钮
image.png

管理员管理界面

image.png
点击“管理员”按钮进入管理员管理窗口,窗口下方有“添加职工”,“查询符合条件的职工”,“修改职工”,“删除职工”,“查看全部职工”,“返回登陆界面”六个按钮,管理员可以输入其想要进行查询,修改,删除,添加职工的工号对其进行需要的操作。
image.png
1.添加职工
输入好想要添加的职工的工号,姓名,性别,等信息,选择“添加职工”即可进行添加。
image.png
2.查询符合条件的职工
输入想要查询职工的工号即可查询职工的基本信息。
image.png
3.修改职工
输入好需要修改的职工的工号和姓名可以进行对职工其他信息的修改。
image.png
4.删除职工
输入需要删除职工的工号可以对其信息进行删除。
image.png
5.查看全部职工
点击“全部查看职工”按钮可以查询所有系统中职工的信息。
image.png
6.选择“返回登陆界面”按钮则返回“用户登录界面”
职工系统界面

点击“职工”按钮,进入“登录界面”输入用户名,密码,验证码进行登录。
image.png
登录成功后,进入菜单窗口,该窗口分为“工作”,“生活”两个部分,在工作部分中有“上班打卡”和“下班打卡”和“提交请假申请”按钮,职工可以在该窗口进行上下班的打卡和请假,在生活部分中有“吃饭”,“日常开销”两个按钮,职工可以在系统中进行生活上的开销。点击菜单中的按钮,系统会自动为职工的操作添加相应的记录
image.png
点击“吃饭”按钮弹出“添加花费”窗口,职工可以输入菜名和价格进行记录。
image.png
点击“日常开销”按钮弹出“添加生活开销”窗口并对其所需要的事件和花费进行记录。
image.png

这篇关于基于java的职工便利系统【大学期末结课作业】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/439257

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,