需求分析
背景和目标
基于现在的各类企业的职工在企业日常工作及生活中所需要的各类需求,通过使用Java语言开发一个职工便利系统,以方便职工完成公司内的日常事务,提高工作效率。
设计目的:
设计职工便利系统的主要目的是为了提升职工的工作效率和生活质量,让职工能够更加便捷地处理各项工作和生活事务。该系统将为职工提供一站式服务,包括个人信息管理、工作任务管理等功能,从而促进企业的发展和稳定。同时,该系统还能够帮助企业实现数字化转型,提高信息化水平和管理效率。通过设计职工便利系统,我们希望为职工提供更好的工作和生活体验,提高企业的综合竞争力。
用户角色和用例
职工便利系统其主要功能是对职工的工作,生活情况进行查询,添加,删除,修改等操作,可以使管理员更方便简洁的管理职工情况。也使职工的工作,生活更加方便。
职工便利系统用户分为管理员和职工两个部分,首先进入登陆界面进行登录,如果未注册可以进行注册,登录时系统自动可以分别管理员和职工,管理员可以对系统中的职工信息进行添加,删除,查询。(例如职工的工作情况,请假情况,消费情况)。职工可以在系统中进行上下班的打卡,可以在系统中请假,也 可以在系统中进行日常生活中的开销。
管理员
管理员可以对系统中的职工信息进行添加,删除,查询。(例如职工的工作情况,请假情况,消费情况)。
职工
在职工便利系统中,职工可以在系统中进行上下班的打卡,可以在系统中请假,也可以在系统中进行日常生活中的开销。
开发流程
软件设计
系统架构
编写目的和范围
通过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,用于存储职工信息的数组列表
方法:
- find(String str),根据查找职工信息,找到返回职工所在数组列表的位置,找不到返回-1
- update(Student_Manage.student_information stu),修改职工信息
- readfile(),读取文件,将文件中的职工信息存放在数组列表中
- add(Student_Manage.student_information stu),添加职工信息
- writefile(),将职工信息写入文件
- 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):用于处理事件响应。
测试阶段
用户登录界面测试
功能需求:
完成管理员及职工登录的入口选择
测试结果:
界面显示正常
管理员及职工登录入口测试正常,可以完成目标功能需求
管理员界面测试
功能需求:
完成职工信息的添加、删除、修改,查看所有职工信息工作打卡及消费情况,返回用户登录界面
测试结果:
界面显示正常
可以完成添加、删除、修改职工信息的功能
查看所有职工信息功能完善,可以通过工号、姓名等方式设置条件进行查看
返回用户登录页面功能正常
职工账号登录界面
功能需求:
接收从键盘输入的职工账号及密码信息,完成随机验证码功能
测试结果:
正常完成用户账号、密码及验证码的输入,随机验证码功能正常显示
密码显示与隐藏功能模块正常
登录按钮功能正常
注册按钮功能正常
职工便利系统
功能需求:
完成职工上下班打卡,请假提交功能,日常生活开销功能,加入娱乐功能
测试结果:
上下班打卡功能正常使用
请假提交功能正常,可以完成请假内容的输入与提交
日常生活开销记录功能正常,可以完成吃饭及日常消费的记录功能
摸鱼按钮可以完成其功能操作
拼图小游戏模块功能正常
可以通过菜单模块正常返回用户登录界面
拼图小游戏功能模块
测试结果:
游戏功能正常执行
通过小游戏界面可以重新登录到职工便利系统界面
操作方法
系统介绍
职工便利系统是一种用于管理员工信息和考勤的系统。该职工便利系统具有以下几个功能特点:
- 可以录入、修改、查询和删除员工的基本信息,如姓名、职位、部门等。
- 可以记录、统计和分析员工的考勤情况,如上下班打卡、请假等。
- 可以根据员工的角色和权限分配不同的功能模块,如管理员、普通职工等。
- 可以帮助企业建立规范化的人才管理制度,挖掘和培养核心人才。
系统安装
详细描述软件的安装过程,例如下载、安装、配置等。
系统使用
登录界面:
进入职工便利系统,会弹出“用户登录界面”,该窗口显示“请选择你的身份登录”提示信息,提示信息下面有“管理员”和“职工”两个按钮
管理员管理界面
点击“管理员”按钮进入管理员管理窗口,窗口下方有“添加职工”,“查询符合条件的职工”,“修改职工”,“删除职工”,“查看全部职工”,“返回登陆界面”六个按钮,管理员可以输入其想要进行查询,修改,删除,添加职工的工号对其进行需要的操作。
1.添加职工
输入好想要添加的职工的工号,姓名,性别,等信息,选择“添加职工”即可进行添加。
2.查询符合条件的职工
输入想要查询职工的工号即可查询职工的基本信息。
3.修改职工
输入好需要修改的职工的工号和姓名可以进行对职工其他信息的修改。
4.删除职工
输入需要删除职工的工号可以对其信息进行删除。
5.查看全部职工
点击“全部查看职工”按钮可以查询所有系统中职工的信息。
6.选择“返回登陆界面”按钮则返回“用户登录界面”
职工系统界面
点击“职工”按钮,进入“登录界面”输入用户名,密码,验证码进行登录。
登录成功后,进入菜单窗口,该窗口分为“工作”,“生活”两个部分,在工作部分中有“上班打卡”和“下班打卡”和“提交请假申请”按钮,职工可以在该窗口进行上下班的打卡和请假,在生活部分中有“吃饭”,“日常开销”两个按钮,职工可以在系统中进行生活上的开销。点击菜单中的按钮,系统会自动为职工的操作添加相应的记录
点击“吃饭”按钮弹出“添加花费”窗口,职工可以输入菜名和价格进行记录。
点击“日常开销”按钮弹出“添加生活开销”窗口并对其所需要的事件和花费进行记录。