职工信息管理系统讲解学习
管理信息系统学习心得(精选6篇)

管理信息系统学习心得(精选6篇)管理信息系统学习心得篇1这个学期新学了管理信息系统这门学科。
觉得受益不浅。
我想先描述一下管理信息系统的基本职能:数据的收集和录入,负责数据的存贮,负责系统内信息的传输,数据的加工,模型的建立、求解、应用和修改,输出信息,向各管理层提供信息,支持决策,管理信息系统自身的管理及维护。
后面主要为根据结构化的系统规范来讲主要有系统分析系统设计等等。
众所周知,管理信息系统是为了适应现代化管理的需要,在管理科学、系统科学、信息科学和计算机科学等学科的基础上形成的一门科学,它研究管理系统中信息处理和决策的整个过程,并探讨计算机的实现方法。
它是一个由人、计算机、通信设备等硬件和软件组成的,能进行管理信息的收集、加工、存储、传输、维护和使用的系统。
管理信息系统可促使企业向信息化方向发展,使企业处于一个信息灵敏、管理科学、决策准确的良性循环之中,为企业带来更高的经济效益。
所以,管理信息系统是企业现代化的重要标志,是企业发展的一条必由之路。
信息系统在管理各项事务中有着普遍的应用,促进了企业管理工作的提升。
管理信息系统是为管理服务的,它的开发和建立使企业摆脱落后的管理方式,实现管理现代化的有效途径。
管理信息系统将管理工作统一化、规范化、现代化,极大地提高了管理的效率,使现代化管理形成统一、高效的系统。
过去传统的管理方式是以人为主体的人工操作,虽然管理人员投入了大量的时间、精力,然而个人的能力是有限的,所以管理工作难免会出现局限性,或带有个人的主观性和片面性。
而管理信息系统使用系统思想建立起来的,以计算机为信息处理手段,以现代化通信设备为基本传输工具,能力管理决策者提供信息服务的人机系统,这无疑是将管理与现代化接轨,以科技提高管理质量的重大举措。
管理信息系统将大量复杂的信息处理交给计算机,使人和计算机充分发挥各自的特长,组织一个和谐、有效的系统,为现代化管理带来便捷。
在企业管理现代化中,组织、方法、控制的现代化离不开管理手段的现代化。
职工信息管理系统

1 绪论1.1 课题背景及目的公司的扩张和人员的变动都需要处理相应职工的信息,凭借人力很难用最短的时间整理出需要的职工信息。
运用计算机系统对职工档案进行管理,能够提高管理效率、节约时间、方便管理人员管理信息。
因此需要设计一个职工信息管理系统,系统以菜单的方式工作,可以录入、查询、删除等。
职工的信息包括工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不可重复),使查询职工信息变得又快又简单。
1.2课题的研究方法本系统主要的设计思想是实现对职工信息的录入、删除、排序、查询等主要功能。
职工信息以文件的形式存储,这要用到文件存储数据结构。
数据结构的构造类型包括结构体变量、结构体数组、结构体指针等。
基本类型有整形字符型,其中字符型用来定义职工编号、姓名、工资、电话、地址等。
一维数组struct worker work[]用于定义员工的总人数,结构体struct worker用于存放员工的资料。
系统的人机接口采用简单的字符界面进行交互。
系统的设计方法是结构化设计方法,采用C语言进行开发。
软件开发平台采用Visual C++6.0。
[1]第1页 /共 30页2 概要设计2.1软件模块结构图职工信息管理系统可以分为显示员工资料、录入员工资料、查询员工信息、删除员工信息、对员工信息进行排序、退出信息系统。
图2.1 职工信息管理系统模块结构图第2页 /共 30页3 详细设计3.1数据结构设计定义一维数组struct worker work[50];用于定义员工的总人数,当员工总人数超过50后便不能再录入员工资料。
[1]结构体struct worker用于存放存放员工的资料,包括员工的基本信息:工号,姓名,年龄,学历,工资,住址,电话号码。
struct worker{int num; 工号char name[15]; 名字char xingbie; 性别int age; 年龄char exp[6]; 学历int wage; 工资char address[20]; 住址char tel[12]; 电话号码};int count=0; 当前工人个数int sort_type=0; 当前排序类型第3页 /共 30页3.2界面设计3.2.1 登录主界面设置用户名和密码,输入正确方可进入主界面。
企业职工信息管理系统

企业职工信息管理系统在当今竞争激烈的商业环境中,企业的高效运作离不开有效的管理。
而对于企业来说,职工是最为宝贵的资产之一,对职工信息进行科学、规范、高效的管理至关重要。
企业职工信息管理系统便应运而生,它犹如企业管理的中枢神经系统,为企业的决策、运营和发展提供了有力的支持。
一、企业职工信息管理系统的定义与作用企业职工信息管理系统是一种基于计算机技术和数据库管理的应用程序,旨在对企业职工的各类信息进行收集、存储、处理、分析和输出。
它涵盖了职工的基本个人信息、工作履历、培训记录、绩效考核、薪酬福利等多个方面。
其作用主要体现在以下几个方面:1、提高管理效率传统的手工管理方式不仅费时费力,而且容易出现错误和遗漏。
而职工信息管理系统能够实现信息的快速录入、查询和更新,大大节省了时间和人力成本,提高了管理的效率和准确性。
2、优化人力资源配置通过对职工信息的分析,企业可以了解职工的技能、经验和潜力,从而更合理地进行岗位调配和人员安排,实现人力资源的优化配置,提高企业的整体绩效。
3、支持决策制定系统提供的各类统计报表和分析数据,为企业的管理层在制定战略规划、人力资源政策、薪酬调整等方面提供了重要的参考依据,有助于做出科学、明智的决策。
4、加强沟通与协作职工可以通过系统查询自己的相关信息,了解企业的政策和制度,同时也方便了部门之间的信息共享和协作,促进了企业内部的沟通与交流。
二、企业职工信息管理系统的功能模块一个完善的企业职工信息管理系统通常包括以下几个主要的功能模块:1、职工基本信息管理模块用于录入和维护职工的个人基本信息,如姓名、性别、年龄、身份证号、联系方式等。
2、工作履历管理模块记录职工的工作经历,包括入职时间、离职时间、工作部门、职位、工作职责等。
3、培训管理模块管理职工的培训计划、培训课程、培训成绩等信息,便于评估职工的培训效果和制定后续的培训计划。
4、绩效考核管理模块设定绩效考核指标和评估标准,记录职工的绩效考核结果,并进行绩效分析和反馈。
职工信息管理系统PPT教学课件

2020/12/10
7
❖ 5.编写一个对职工信息进行添加的程序。 ❖ 6.编写一个对职工信息进行修改的程序。 ❖ 7.编写一个对职工信息进行删除的程序。 ❖ 8.编写一个职工信息管理系统的界面程序 ❖ 9.将已完成的口令验证程序加到现在的程序
中。程序运行时必须输入正确的口令才能进 行创建和工资调整操作。
2020/12/10
8
While( )
2.系统设计
添加职工信息
主菜单 读取数据
开始main()
2020/12/10
Switch()
修改职工信息 职工删除信息
职工信息查询 职工信息排序 保存员工信息
退出
9
1、职工的基本信息该如何存储? 2、如何对职工信息进行录入以及如何输出职工的信 息?
2020/12/10
16
在职工记录中的指定位置插入一名新职工的 信息,假设插入到第i个位置,共有N名职工, 设计思路如下:
1、首先将第i个位置到第N个位置的职工往后 挪一个位置,空出第i个位置;
❖ 2、然后将新职工的信息放入到第i个位置即 可。
2020/12/10
17
❖ FILE *fp; FILE 是变量类型,实际上是C语言定义的标 准数据结构,用于文件。
口令超过三次就关闭程序。
2020/12/10
6
❖ 2.编写创建职工基本信息的程序。职工信息 包括姓名(name)、年龄(age)、工龄 (worktime)、性别(sex)和婚姻状况 (marrige)、级别(grade:1-5级)、工 资(wage)、是否在职(tired)等信息。
❖ 3.编写一个对职工工资进行调整的程序。规 定如下:退休职工增加工资50元,在职的职 工1到5级的工资分别增加20、40、60、80、 100,编程实现上述要求。
职工信息管理系统c语言

职工信息管理系统c语言
职工信息管理系统是一种用来管理职工信息的软件系统,它可以帮助企业、学校等组织机构对职工信息进行统一管理和维护。
本文将介绍一个基于C语言开发的职工信息管理系统,包括系统架构设计、数据库设计、用户界面设计等方面的内容。
系统架构设计方面,我们采用了模块化的设计思路,将系统分为用户界面模块、数据管理模块、数据存储模块三个部分。
用户界面模块负责与用户交互,数据管理模块处理各种数据操作,数据存储模块则用来存储各种数据。
这样的设计不仅方便系统的维护和升级,还能提高系统的稳定性和可靠性。
数据库设计方面,我们采用了关系型数据库的设计方法,使用SQLite作为系统的数据存储引擎。
设计数据库表时,我们考虑到职工信息管理的实际需求,设置了职工基本信息表、职工工资信息表、职工培训信息表等多个表。
每个表都有自己的主键、外键和索引等字段,以保证数据的完整性和准确性。
用户界面设计方面,我们采用了命令行界面的设计思路,用户可以通过输入相应的命令来操作系统。
在用户界面模块中,我们实现了职工信息的查询、添加、修改和删除等功能,用户可以根据自己的实际需求来选择相应的操作。
总之,本文介绍了一个基于C语言开发的职工信息管理系统,该系统具有模块化设计、关系型数据库设计和命令行界面设计等优点,能够满足企业、学校等组织机构对职工信息管理方面的需求。
企业员工信息管理系统

企业员工信息管理系统一、系统简介企业员工信息管理系统是一种用于管理企业员工信息的系统。
该系统是基于计算机技术的,能够集中管理员工的个人信息、工作信息、薪资福利信息等,并能够统计员工在企业中的表现,实现对员工信息的有效管理。
二、系统功能1、员工管理功能员工管理功能是该系统最基本的功能,它可以帮助企业管理者对员工的基础信息进行管理。
其中包括员工的个人信息、工作信息、薪资福利信息等。
企业管理者可以通过该功能对员工信息进行增、删、改、查等操作,实现对员工信息的管理和统计。
2、薪资管理功能薪资管理功能是企业员工信息管理系统的重点功能之一。
该功能可以帮助企业管理者快速方便地管理员工的工资发放情况,并能够自动生成工资表、个税计算表和社保计算表等。
此外,企业管理者还可以通过该功能设置员工的基本工资、考核奖励、扣款等,实现对员工薪资的管理和发放。
3、绩效管理功能绩效管理功能是企业员工信息管理系统的又一重要功能。
该功能可以帮助企业管理者对员工的工作表现进行有效的管理和评估,并能够自动统计员工的绩效得分。
通过这种管理方式,企业可以更好地激励员工积极向上地投入到工作中,提高企业绩效。
4、考勤管理功能考勤管理是企业员工信息管理系统的另一个核心功能。
该功能可以帮助企业管理者实时查看员工的考勤情况,包括迟到、早退、请假等。
同时,考勤管理功能还能够自动计算员工的出勤天数和加班天数等,实现对员工考勤情况的管理和统计。
5、培训管理功能培训管理功能是企业员工信息管理系统的重要组成部分。
该功能可以帮助企业管理者制定培训计划,安排员工的培训课程,并能够跟踪员工的培训情况和成果,为企业的人才培养提供有力支持。
三、系统优势1、提高工作效率企业员工信息管理系统能够集中管理企业员工的个人信息、工作信息、薪资福利信息等,让企业管理者能够更好地掌握员工的情况,从而提高企业的工作效率。
2、减少管理成本企业员工信息管理系统可以实现对员工信息的高效管理,从而减少了企业管理员对员工信息管理的时间和精力成本。
员工信息管理系统
员工信息管理系统员工信息管理系统是一种功能强大的软件应用程序,用于集中管理组织中所有员工的个人和职业信息。
此系统是实现人力资源管理最重要的工具之一,允许公司轻松记录员工数据,福利信息,工资等信息。
本文旨在介绍员工信息管理系统的组成部分,功能,以及如何使用该系统提高企业的效率和管理水平。
一、组成部分员工信息管理系统由以下基本组成部分构成:1. 数据库:该系统依赖数据库管理系统,用于存储员工的个人和职业信息。
2. 用户界面:员工信息管理系统的用户界面以图形方式展现其所有的功能,方便用户快速了解和使用该系统。
3. 数据录入:员工信息管理系统允许用户以多种方式输入员工数据,包括手动输入,批量导入等多种选项。
二、功能员工信息管理系统的功能主要包括以下几种:1. 员工信息管理:该系统包含了员工的基本信息,例如姓名,性别,出生日期,地址等。
还包括教育,工作经历以及其他重要的个人信息。
2. 入职、转正管理:用户可以使用员工信息管理系统来管理员工的入职和转正动作。
该系统会自动创建入职和转正记录,方便用户进行检查和审核。
3. 绩效管理:该系统包含了员工的绩效数据,可以对员工进行绩效评估和奖励,同时也有效的提高员工的工作效率。
4. 离职管理:员工信息管理系统允许用户记录员工外出、个人事务以及员工的离职的记录,方便管理和派遣人员进行调整。
5. 工资管理:薪资因素是员工满足其生活所必需的重要平台,员工信息管理系统可以记录通讯津贴、绩效奖金、工资调整等因素,以轻松测量和支付工资。
6. 考勤管理:该系统展示员工的时间记录以及出勤质量,提高了员工和管理之间的沟通,可以更好的完善时间调度以及规划。
7. 统计报表:员工信息管理系统允许用户动态生成丰富多彩的报表,包括员工趋势报表、绩效评估报表、薪资报表以及统计报表等,方便用户进行分析和了解员工工作情况和总体情况。
三、使用员工信息管理系统的益处对于管理团队和组织,员工信息管理系统提供了以下益处:1. 提高管理效率:员工信息管理系统使组织可以在较短的时间内获取各种员工信息,并与其他人力资源和财务系统进行交互。
数据库原理与应用》VFP课程设计---职工信息管理系统
《数据库原理与应用》课程设计报告职工信息管理系统一.系统介绍1.1.功能简介职工信息管理系统的功能是管理职工的个人信息,包括对其进行查询、修改、打印等,职工信息管理系统的主要功能有:(1)对新聘任的职工注册;(2)对职工信息维护;(3)可以方便的查询职工信息;(4)可以进行教师信息报表的查看与打印;(5)对登录口令的添加、修改、删除。
1.2.功能模块图图1-1二.需求分析2.1.功能需求通过调查,要求功能需要有以下功能:(1)由于需要方便的系统操作,要求有良好人机界面;(2)由于该系统的使用对象多,要求有较好的权限管理;(3)方便的数据查询;(4)信息需要全面系统,报表也应全面。
2 .2.数据需求(1)原始数据修改简单方便;(2)数据的添加简单方便;(3)满足第三范式要求不存在部分函授依赖关系和传递依赖关系;(4)删除数据方便简单,数据稳定性好。
三.建库结果3.1.数据关系E-R图3-13.2.数据表结构1.建表本系统数据库包括职工信息表、部门表、工资费用表、调资表表1职工信息表字段名类型宽度小数位编号字符 6姓名字符8性别字符 2出身年月日期8职称字符 6部门号字符 2是否党员逻辑 2表3工资费用表表4调资表2.创建表间永久关系对表结构进行修改,设置职工信息表中的编号为主索引;职工信息表中的部门号为候选索引;部门表中的部门号字段为主索引;工资费用表中的编号字段为主普通索引;调资表中的编号为普通索引;再依次建立下述关系:以职工信息表为主表,工资费用表为从表,以编号字段作为关键字建立主从关系。
以职工信息表为主表,调资用表为从表,以编号字段作为关键字建立主从关系。
以部门表为主表,职工信息表为从表,以部门编号字段为关键字建立主从关系。
四.系统开发设计4.1.开发流程模块框图图4-14.2开发流程与功能介绍1.登录在设计登录菜单是先健一个口令表,里面有操作员和口令两个字段,输入几组数据,然后新建一个登录界面如图所示图4-2-12.主表单:功能选择登录系统后,进入功能选择界面如图所示,图4-2-23.设计职工信息表单职工信息子系统表单包括查询、维护、退出图4-2-34.“查询”表单点击“查询”按钮进入查询表单。
员工信息管理系统
员工信息管理系统一、前言随着科技的不断发展,企业的人事管理方式也在不断进步和更新。
人员信息管理系统(以下简称员工信息管理系统)是一个能够帮助企业进行人事管理的软件系统,它可以对企业员工的基本信息、工作经历、薪资福利等进行科学管理和有效记录,从而提高企业的管理效率和工作质量。
本文旨在介绍员工信息管理系统的实现过程和运用价值,旨在提高企业人事管理的效率和精度。
二、员工信息管理系统的设计思路1.需求分析针对企业人事管理存在的问题,我们想要设计一个能够便捷高效管理员工信息的系统,使员工简历等绝密信息得到全面保护,同时提高企业人事管理的效率。
为此,我们对需求进行了以下五个方向的分析:1)便捷的员工信息查看:员工信息管理系统应该具有员工信息查看功能,管理员可快速查看员工信息,对信息进行修改。
2)权限分类:员工信息管理系统应该根据管理者的权限不同而区分相应的操作权限,管理者可以选择开放或关闭员工信息某些内容的展示和修改。
3)完善的系统安全:为了保护企业员工及其机密信息的安全,员工信息管理系统必须具有安全性,需要带有完善的登录验证、权限分配、数据备份等功能。
4)多样化的数据统计工具:员工信息管理系统应该具备多种统计工具,能够方便地进行数据分析和报表生成。
5)用户友好的界面设计:员工信息管理系统的界面设计应该简单明了、美观易用。
能够满足用户在使用系统时的使用习惯和心理需求。
基于以上需求,我们最终确定了员工信息管理的系统功能体系,并进行了构建。
2.设计思路根据上述需求,我们的系统采用B/S架构,网站端为管理员工操作提供各种功能。
通过此架构能够方便用户远程访问,无需下载安装。
此外,我们将系统进行了数据库分离设计,系统安全性得到了有效保证。
管理员可进行新员工信息录入、员工信息查询、修改、离职操作、导出表格、员工数据分析统计以及权限管理等操作。
三、系统功能说明1.用户登录在员工信息管理系统中,用户登录是首要步骤。
管理员需要输入正确的账号和密码才能够进入系统,并进行信息管理操作。
员工信息管理系统
员工信息管理系统简介员工信息管理系统是一种用于组织和存储公司员工信息的系统。
通过该系统,公司可以轻松地管理员工相关信息,包括基本信息、工作经历、薪酬数据等。
本文将介绍员工信息管理系统的设计、功能以及优势。
设计员工信息管理系统的设计包括数据库设计、界面设计以及功能模块设计。
数据库设计是系统的核心,需要合理地设计员工信息表、部门表、项目表等,以便快速查询和管理数据。
界面设计应简洁明了,方便用户操作。
功能模块设计需要考虑系统的全面性,包括员工信息录入、查询、修改、删除等功能。
功能员工信息管理系统的主要功能包括: 1. 员工信息录入:管理员可以通过系统录入员工的基本信息,如姓名、工号、部门等。
2. 员工信息查询:可以根据不同条件查询员工的信息,如姓名、部门、工号等。
3. 员工信息修改:管理员可以修改员工的信息,保证数据的准确性。
4. 员工信息删除:允许管理员删除不必要的员工信息,保持数据的清洁。
5. 权限管理:不同级别的用户拥有不同的权限,保证信息安全和管理的合理性。
优势员工信息管理系统的优势主要体现在以下几个方面: 1. 高效性:通过系统化管理员工信息,可以提高信息的查找和管理效率。
2. 准确性:系统可以减少人为错误,保障员工信息的准确性。
3. 安全性:权限管理功能可以确保员工信息不被未授权人员查看或修改。
4. 便捷性:员工信息管理系统可以随时随地查看员工信息,方便管理人员及时做出决策。
结语员工信息管理系统是一种重要的企业管理工具,可以有效地管理和维护员工信息,提高公司的管理效率和信息的安全性。
希望本文对员工信息管理系统有所启发,帮助读者更好地了解和使用这一工具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
职工信息管理系统职工信息管理系统1.可行性分析在当今社会,互联网的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。
当前大量企业的员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。
因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率的目的。
员工信息管理系统主要对企业员工的信息进行集中管理,方便企业建立一个完善的、强大的员工信息数据库,它是以SQL2000数据库作为开发平台,使用java编写程序、完成数据输入、修改、存储、调用查询等功能。
并使用SQL 2000数据库形成数据,进行数据存储。
本项目开发计划旨在明确规范开发过程,保证项目质量,统一小组成员对项目的理解,并对其开发工作提供指导;同时还作为项目通过评审的依据。
并说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
1.1 技术可行性根据用户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标,来衡量所需技术是否具备。
本系统主要采用数据库管理方法,服务器选用MySQL Server数据库,他是它是目前能处理所有中小型系统最方便的流行数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
硬件方面,该系统短小精悍对赢家没有太大要求,只要能够运行windows操作系统就可以很好的运行该软件。
1.2操作可行性由系统分系可以看出本系统的开发在技术上具有可行性。
首先系统对于服务器端和客户端所要求的软、硬件的最低配置现在大多数的用户用机都能达到。
本系统对管理人员和用户没有任何的特殊要求,实际操作基本上以鼠标操作为主并辅以少量的键盘操作,操作方式很方便。
因此该项目具有良好的易用性。
用户只要具备简单的应用计算机的能力无论学历,无论背景,均可以使用本系统,用户界面上的按钮的功能明确,用户一看就可以了解怎么使用本系统,以及本系统能够完成的功能,因此本系统在操作上是可行的。
1.3经济可行性估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。
并且,分析系统开发是否会对其它产品或利润带来一定影响。
本系统作为一个课程设计,没有必要考虑维护费用,以及本系统可获得的效益等问题。
1.4法律及社会效益方面的可行性由于本系统只是一个课程设计,在图书馆查询相关资料因此不存在侵权等法律与社会影响方面的问题,不存在侵权级相应的法律问题。
关于效益方面,本系统仅仅是一个课程设计,只是为了提高自己的分析,设计能力,而非为了社会效益而编写设计,因此社会效益方面也是可行的。
2.需求分析通过对职工信息管理系统的研究分析,根据可行性分析的方案和项目成员的讨论,编制本需求说明书。
本报告用于财职工信息管理系统的需求规格明确系统的功能需求,业务流程和性能要求以及与有关系统的接口关系,它将是系统最终实现和审评的根据之一,是进一步设计、开发的基础。
本报告的阅读范围:项目组的项目管理、软件开发和系统测试人员、指导老师等。
2.1需求概述2.1.1目标作为课程设计,本项目开发的人员、技术等资源非常有限,本项目开发的职工信息管理系统不能算是真正意义上的职工信息管理系统,只是简单的对职工的个人资料、工资信息进行电子系统管理,其主要为用户提供查询个人工资信息功能,针对的用户是某事业单位的职工信息管理,职工数量较少,系统功能简单,操作也要简单方便,要便于管理维护。
2.1.2用户特征最终的用户是职工管理员和公司职工,管理员需要对用户资料进行增删改查和对自己密码修改等操作,要求管理员具备相应的计算机知识,如权限管理等。
公司职工是普通用户,具备一定的计算机操作即可。
2.2功能性需求1、能够存储一定数量的用户信息,并方便有效的进行相应的用户资料操作和管理,这主要包括以下内容。
(1)管理员对用户资料的录入、删除及修改;(2)管理员对用户资料的查询;(3)用户对用户资料的查询;(4)员工基本工资表,反应员工的月基本工资;(5)员工津贴表,反映员工津贴;2、能够存储员工信息,并方便有效的进行员工信息和密码修改,保证员工信息的及时更新以及信息的安全性保证。
2.3非功能性需求2.3.1性能需求职工信息管理系统的使用者是公司职工,对于系统管理员的管理工作和职工的查询、注册等功能,性能要求都不是很高,本系统是简单小型的个人信息管理系统,只适用于小规模企业单位,使用的人员数量不大,并发数小,所以性能要求不是很严格。
2.3.2安全性需求对于职工的信息管理关系到个人利益及公司的整体利益,所以安全性的要求比较高。
主要是要保证数据的完整性、一致性,控制权限,防止某人恶意攻击系统,修改原始记录。
同时对数据库中的数据需要定时备份,防止系统数据丢失。
2.3.3界面图形需求要求系统操作界面美观大方,各功能操作具体步骤和方法显示清晰,人机交互页面友好。
2.4职工信息管理的大致过程数据流图根据上述的功能要求,我们已经了解到这个系统必须做什么,从而设计了下面的数据流图以更好的去设计整个系统,见图2.4;图2.4又根据工资管理要求及用户需求调查分析,得到以下第一层数据流图,见图2.5;管理职工图2.5 2.5系统设计图2.63.概要设计3.1系统模块划分在需求分析中,我们已经完整而清晰地给出了关于职工信息管理系统所必须完成的功能,并用文档的形式记录了下来。
随着组内成员的讨论和相关资料的不断收集,我们进入了关于系统实现的阶段,也即概要设计。
首先,我们根据之前的系统设计,决定将系统进行了模块化,使得我们在设计程序时更加清晰明了。
也即对职工信息进行详细的分化,分为系统模块、工资管理模块、职工登陆模块、信息管理模块四大主模块;具体见下图3.1;图3.13.2模块间的关系3.2.1 E-R图来说明工资信息管理系统的数据库概念模式根据系统功能实现和所划分的模块,分析系统的实体以及实体间的关系,用E-R图来说明工资信息管理系统的数据库概念模式可得如下的关系图,见图3.2;图3.2实体之间关系E-R图3.2.2关系模式将以上E-R转换成如下关系模式:员工(职工号,姓名,密码)工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。
在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。
每个表格表示在数据库中的一个表。
表一:员工信息表:表二:基本工资表:表三:津贴信息表4.详细设计4.1程序中的数据结构本系统中主要的数据结构就是职工的信息和职工的工资,包含职工号、姓名、工资等,在处理过程中各项可以作为一个职工的不同属性来进行处理。
4.2各模块实现的算法4.2.1职工信息管理模块功能为:财务部门相关人员录入、修改、删除、查询员工个人信息部分基本算法实现:public class YGGL extends JFrame implements ActionListener {JFrame f = new JFrame("员工信息管理");JButton b1 = new JButton("添加新员工信息");JButton b2 = new JButton("修改员工信息");JButton b3 = new JButton("删除员工信息");JButton b4 = new JButton("查询所有员工信息");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪","登陆密码"};Object[][] row = new Object[50][6];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = newJSplitPane(JSplitPane.VERTICAL_SPLIT);void create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);JPanel p2 = new JPanel();p2.setBackground(Color.cyan);p2.add(scrollpane);p.setLayout(new FlowLayout());p.add(new JLabel(""));p.add(new JLabel("职工号"));p.add(tf1);p.add(new JLabel("姓名"));p.add(tf2);p.add(new JLabel("津贴"));p.add(tf3);p.add(new JLabel("月基本工资"));p.add(tf4);p.add(new JLabel("登陆密码"));p.add(tf5);p.add(new JLabel(" 在此处输入职工号点击查询删除"));p.add(tf6);splitpane.add(p1, splitpane.TOP);splitpane.add(p2, splitpane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.CYAN);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(200, 100, 600, 600);f.setResizable(true);// 可以调整界面大小f.setVisible(true);}public void actionPerformed(ActionEvent e) {if (b1.equals(e.getSource())) { // 添加新员工信息Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con =DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql = con.createStatement();String insertStr = "INSERT INTO welfare(no,name,jt)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf3.getText()+"');";sql.executeUpdate(insertStr);String insertStr1 = "INSERT INTO wageinfo(no,name,jb)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf4.getText()+"');";sql.executeUpdate(insertStr1);String insertStr2 = "INSERT INTO workerinfo(no,name,mi)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf5.getText()+"');";sql.executeUpdate(insertStr2);JOptionPane.showMessageDialog(this, "添加成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "添加失败!");}}if (b2.equals(e.getSource())) {// 修改员工信息Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con =DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql = con.createStatement();con =DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql = con.createStatement();String updateStr = "UPDATE welfare SET jt='"+tf3.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';";sql.executeUpdate(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+tf4.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';";sql.executeUpdate(updateStr1);sql.executeUpdate(updateStr1);String updateStr2 = "UPDATEworkerinfo SETname='"+tf2.getText()+"',mi='"+tf5.getText()+"'whereno='"+tf1.getText()+"';";sql.executeUpdate(updateStr2);JOptionPane.showMessageDialog(this, "修改成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "修改失败!");}}if (b3.equals(e.getSource())) {// 删除员工信息Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con =DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql =con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROMwageinfo where no='"+tf6.getText()+"';");sql.executeUpdate("DELETE FROM welfare where no='"+tf6.getText()+"';");sql.executeUpdate("DELETE FROMworkerinfo where no='"+tf6.getText()+"';");JOptionPane.showMessageDialog(this, "删除成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "删除失败!");}}if (b4.equals(e.getSource())) {// 查询全部员工信息Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con =DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql =con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b4.equals(e.getSource())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)table.setValueAt("", i, j);rs = sql.executeQuery("select distinct * from wageinfo ,welfare,workerinfo where wageinfo.no=welfare.no and wageinfo.no=workerinfo.no ;");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String name =rs.getString(2);String jb = rs.getString(3);String jt = rs.getString(6);int sum=rs.getInt(3)+rs.getInt(6);String mi = rs.getString(9);table.setValueAt(no, k, 0);table.setValueAt(name, k, 1);table.setValueAt(jb, k, 3);table.setValueAt(jt, k, 2);table.setValueAt(sum,k,4);table.setValueAt(mi,k,5);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}4.2.2职工工资管理模块功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;部分基本算法实现:public class GZGL extends JFrame implements ActionListener {JFrame f = new JFrame("工资管理");JButton b1 = new JButton("录入");JButton b2 = new JButton("修改");JButton b3 = new JButton("删除");JButton b4 = new JButton("查询所有");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪"};Object[][] row = new Object[50][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = newJSplitPane(JSplitPane.VERTICAL_SPLIT);void create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);JPanel p2 = new JPanel();p2.setBackground(Color.cyan);p2.add(scrollpane);JPanel p3 = new JPanel();p.setLayout(new FlowLayout());p.add(new JLabel(""));p.add(new JLabel("职工号"));p.add(tf1);p.add(new JLabel("姓名"));p.add(tf2);p.add(new JLabel("津贴"));p.add(tf3);p.add(new JLabel("月基本工资"));p.add(tf4);p.add(new JLabel("月薪"));p.add(tf5);p.add(new JLabel(" 在此处输入职工号点击查询删除"));p.add(tf6);splitpane.add(p1, splitpane.TOP);splitpane.add(p2, splitpane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.CYAN);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(200, 100, 500, 600);f.setResizable(true);// 可以调整界面大小f.setVisible(true);}public void actionPerformed(ActionEvent e) {if (b1.equals(e.getSource())) { // 录入Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con =DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql = con.createStatement();String insertStr = "INSERT INTO welfare(no,name,jt)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf3.getText()+"');";sql.executeUpdate(insertStr);String insertStr1 = "INSERT INTO wageinfo(no,name,jb)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf4.getText()+"');";sql.executeUpdate(insertStr1);con.close();JOptionPane.showMessageDialog(this, "入录成功!");} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "入录失败!");}}if (b2.equals(e.getSource())) {// 修改Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con =DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql = con.createStatement();String updateStr = "UPDATE welfare SET jt='"+tf3.getText()+"',name='"+tf2.getText()+"'where no='"+tf1.getText()+"';";sql.executeUpdate(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+tf4.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';";sql.executeUpdate(updateStr1);JOptionPane.showMessageDialog(this, "修改成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "信息不存在!");}}if (b3.equals(e.getSource())) {// 删除Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con =DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql =con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROMwageinfo where no='"+tf6.getText()+"';");sql.executeUpdate("DELETE FROM welfare where no='"+tf6.getText()+"';");JOptionPane.showMessageDialog(this, "删除成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "删除失败!");}}if (b4.equals(e.getSource())) {// 查询全部Connection con;Statement sql;ResultSet rs;//Vector vector = new Vector();try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con =DriverManager.getConnection("jdbc:mysql://localhost:3306/w age management","root","jxb");sql =con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b4.equals(e.getSource())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)table.setValueAt("", i, j);rs = sql.executeQuery("select distinct * from wageinfo ,welfare where=");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String name =rs.getString(2);String jb = rs.getString(3);String jt = rs.getString(6);int sum=rs.getInt(3)+rs.getInt(6);table.setValueAt(no, k, 0);table.setValueAt(name, k, 1);table.setValueAt(jb, k, 3);table.setValueAt(jt, k, 2);table.setValueAt(sum,k,4);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}4.2.3职工登陆查询模块功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;部分基本算法实现:class DL extends JFrame implements ActionListener{ImageIcon im = new ImageIcon("2.jpg");JLabel a2 = new JLabel(im);JFrame frame = new JFrame("职工/管理员登陆");JLabel label1 = new JLabel("用户名");JLabel label2 = new JLabel("密码");JButton logonButton1 = new JButton("管理员登录"); JButton logonButton2 = new JButton("职工登录"); JButton cancelButton = new JButton("退出");JTextField username = new JTextField(9); JPasswordField password = new JPasswordField(9); static String t1;static String t2;void create(){JPanel p = (JPanel) frame.getContentPane();JPanel p1 = new JPanel();p.setLayout(new FlowLayout());p.add(a2);p.add(label1);p.setSize(5, 5);p.setLocation(4, 8);p.add(username);p.setSize(100, 200);p.setLocation(800, 800);p.add(label2);p.setSize(50, 20);p.setLocation(40, 80);p.add(password);p.setSize(100, 20);p.setLocation(80, 120);p.add(logonButton1);p.add(logonButton2);p.add(cancelButton);p.setBackground(Color.cyan);p.setVisible(true);logonButton1.addActionListener(this);logonButton2.addActionListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200, 100, 500, 220);frame.setVisible(true);}public void actionPerformed(ActionEvent e){t1 = username.getText();t2 = password.getText();if(e.getSource()==logonButton1){if( username.getText().equals("admin") == true&&(password.getText().equals("admin") == true)){JOptionPane.showMessageDialog(this, "登录成功!");GZGLZJM gz = new GZGLZJM();gz.create();frame.dispose();}else {JOptionPane.showMessageDialog(null, "输入用户名或密码错误!");}}if (e.getSource()==logonButton2){try {Connection con;Statement ps;ResultSet rs;String sql = null;Class.forName("org.gjt.mm.mysql.Driver");Class.forName("org.gjt.mm.mysql.Driver").newInstance( );con = DriverManager.getConnection("jdbc:mysql://localhost:3306/wage management","root","jxb");sql="select * from workerinfo where name='"+t1+"' and mi='"+t2+"'";ps = (PreparedStatement)con.prepareStatement(sql);rs = ps.executeQuery(sql);if(rs.next()){if(rs.getString("name").equals(t1) && rs.getString("mi").equals(t2)){YGDLJM yg = new YGDLJM();yg.create();frame.dispose();JOptionPane.showMessageDialog(this, "登录成功!");this.dispose();}}else {JOptionPane.showMessageDialog(this, "输入用户名或密码错误!");}}catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}if (cancelButton.equals(e.getSource())) // 退出System.exit(0);}}}分工情况及系数耿沈阳(22%):各个报告的审批,概要设计,程序编写汪平阳(22%):需求分析,概要设计,详细设计彭立洋(22%):PPT的制作,PPT的演讲,需求分析肖玲(17%):画图,概要设计朱翔翔(17%):画图,详细设计。