第一篇:VB0066小型企业人事信息管理系统S 2
摘要
20世纪,随着全球的紧急的蓬勃发展,企业规模越来越大,人员数量急剧增加,有关人员管理的各种信息也成倍增长。面对庞大的信息量,就需要有人事信息管理系统来提高企业管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。
本系统以此为目标,能够初步的完成企业人员的基本信息、考勤信息、工作业绩、工资信息等方面的管理。本系统的开发顺应了现在单位制度的新要求,有利于推动单位人事信息管理工作走向科学化、规范化,大大提高了人事信息管理的效率和质量。该系统具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。实现过程中使用了面向对象技术、图形用户接口、消息响应、数据库技术、可视化开发等现代软件编制技术,并在界面上参照WINDOWS的标准应用程序,使得系统能够跟WINDOWS达到最佳的兼容性,并且使用户也能够快速的熟悉本系统的使用。
本套软件使用Visual Basic 6.0作为开发工具。通过系统规划、系统分析、系统设计、原代码编辑,后期调试等阶段,力争使系统界面标准、统一、友好、方便。
关键字:记录;数据库;人事信息;管理系统;VB;SQL
目录
1.系统设计·····································································5
1.1系统功能分析·······························································5 1.2系统功能模块设计·························································6
2.数据库设计································································7
2.1 数据库需求分析···························································7 2.2 数据库概念结构的设计··················································8 2.3 数据库逻辑结构设计·····················································11
3.数据库结构的实现··················································13
3.1 创建系统用户表格user-Info············································13 3.2 创建员工基本信息表格manrecord··································13 3.3 创建员工考勤信息表格 chechin·······································14 3.4 创建员工工资评价信息表 manappraise·····························15 3.5 创建员工工资信息表pay················································15
4.企业人事信息管理系统主窗体的创建··············16
4.1 创建工程项目------Presonnel-MIS····································16 4.2 创建企业人事信息管理系统的主窗体································16 4.3创建主窗体的菜单…………………………………………………17 4.4 创建公用模块······························································17
5.系统用户管理模块的创建····································19
5.1 用户登录窗体的创建·····················································19 5.2 添加用户窗体的创建·····················································22 5.3 修改用户密码窗体的创建···············································25
6.员工基本信息模块的创建·····································26
6.1 添加员工基本作息························································26 6.2 修改员工基本信息窗体的创建的······································32 6.3 删除员工信息······························································37 6.4 查询员工信息窗体的创建···············································38
7.员工考勤管理模块的创建·····································41
7.1 添加员工考勤信息窗体的创建·········································41 7.2 修改考勤信息······························································46 7.3 查询考勤信息·······························································48
8.员工工作评价管理模块的创建·····························48
8.1添加员工工作评价信息窗体的创建·····································48 8.2员工考勤列表································································49 8.3查询工作评价信息······························································50
9.员工工资信息管理模块的创建·····························51
9.1添加员工工资信息窗体的创建···········································51 9.2修改员工工资信息··························································53 9.3 查询工资信息窗体的创建················································54
10.系统的实现·······························································54 的窗体
图5-1 用户登录窗体
图5-3 添加用户窗体
图5-5 修改密码窗体
Powered by 计算机毕业论文网http://www.xiexiebang.com 提供 如果需要详细内容请与QQ:4991024联系 这
第二篇:中国人事信息管理系统讲义
中国人事信息管理系统(CNHR 3.3版2009年升级版)
讲 义
(二○○九年十二月十一日)
第一、完成2009年的干部人事统计。第二、完善各单位人事数据库的建立。第三、完成2010年的工资的晋升。
一、机器硬件的要求
主机:推荐Celeron Ⅱ2.0G以上,256M以上内存,1G及以上富余空间的硬盘,CD-ROM,USB接口 外设:打印机
操作系统:Windows 98SE或Windows 2000或Windows XP(推荐)或Windows 2003
二、中国人事信息管理系统的安装
①插入软件光盘→②自动启动安装界面(或双击“Setup.exe”启动)→③检测并安装IE6、MDAC2.7或2.8、.NET Framework→④设置目标文件夹开始安装→⑤提示安装完毕,需重新启动计算机,不需要重新启动→⑥点击“开始”菜单“中国人事信息管理系统”程序组中“数据库安装”,建立系统运行数据库→⑦插入USB加密狗
本软件不需要进行注册只需将加密狗插入USB接口即可。
加密狗的正确安装方法:
插入后加密狗就可以自动的显示出来,选择安装的路径(人事信息管理系统安装的路径,一般为c:/ gmisinfo3.3)
三、机构管理
3.1 机构树与单位信息(在“机构管理”模块中完成)
3.1.1 机构树
机构是报表统计与综合(汇总)的实体,机构树的建立必须严格按照统计
与综合(汇总)关系进行。
所有要求填报基层统计表的单位,必须建立实单位;二级机构,也就是建库软件中的部门不产生任何报表。部门主管单位作为本部门报表综合,同时也须要统计机关本身基层报表,但因为两套表存储在数据库不同的表中,并不冲突。所以,也应建立实单位。3.1.2 单位信息
机构树上的单位直接作为人员信息与报表信息的存储节点,同时也是人员与报表分类查询、统计、综合管理的实体,单位信息必须满足各类报表自动生成。
1)单位法人代码(组织机构代码)是数据库中匹配关键字,不得为空,必须严格按《组织机构代码证》上的代码如实填写,个别无证单位请到所在地统计局申请临时赋码。
2)单位所在地(实为行政区划码),直接体现报表汇总层次,不得为空,同时必须按照统计软件要求落实到区(县),也就是说满足6位,在建库软件中录入到最底层。在新的行政区划中,市辖区不再存在(仅作为历史保留),所以不允许选择市辖区这一代码。
3)单位性质直接决定统计采用哪类报表,必须按编办戴帽的性质如实填写机关、事业、企业。依照公务员条例(法)管理的事业单位,仍然属于事业,个别双重性质的单位(如党校),必须予以拆分。4)单位隶属关系、所属部门、企事业所属行业、企事业登记类型、事业拨款形式、企业规模及控股情况直接决定报表参与综合(汇总)的层次,不得为空,必须按编办戴帽、事业登记与企业注册的信息如实填写。
5)单位全称、单位所在省(自治区、直辖市)、所在地(市、州、盟)、所在县(市、区、旗)、所在乡(镇)、单位邮编、联系人、联系电话也是报表必填项,必须如实填写。
1、新建机构
点击“信息维护”中“机构管理” →右键点击机构新建下层机构,在机构下只能新建单位(虚单位、部门、虚部门均不允许建立)组织机构代码请正确填写机关党政机关、事业、企业单位信息必填项(如图)实例如下:
3.2单位的移动、合并、并转
移动功能即是单位的位置发生变化,点击菜单栏里的移动按钮后,点住鼠标将所需要移动的单位移动到目的位置即可。合并功能即是将选中单位与所需单位进行合并。并转功能即是将选中单位入划到某个单位下。
3.3机构备份、机构历史记录
机构备份只能够将当时机构情况备份下来,不能做恢复用,可通过机构历史记录进行查看。
四、人员信息的管理:
人员信息的录入与更新(分别在“信息录入”与“信息更新”模块中完成)
4.1信息录入
可以完成,人员录入、人员调转等相关信息。
可以从上图可以看到,这个界面成三个区域,左边区域是单位及其科室的信息,右上区域为每个人员信息的情况(我们新进的军转干部和人员一般都这里录入,同时注意工资是自动生成,请不要录取工资信息)。
右下方的区域可以看到含有多个模块:录聘、学历、行政职务等等,这个要根据每个人员的情况进行录取。
4.2信息更新
下图为“信息更新”的功能表。可以办理退休业务。
4.2.1办理退休
业务模板—>业务处理—>选择模板中可以选择退休处理,完成退休处理。进入退休模块,办理退休需要修改三个地方:
员调出”,选择调到哪个单位,点击“确定”。
进入调转人员信息更新模块,选中原单位中需要处理的人员信息,选择“人员调出”模板,录入减员时间、人员流出情况、调整交流时间、交流形式、交流原因、交流去向,点击“保存”。
回到在职人员信息录入模块,选择“高级”菜单下的“人员调入”,选择变动后的单位,选择需要处理的人员,点击“确定”。
进入信息更新模块,选中处理的人员,选择“人员调入”模板,录入进入本系统时间、进入本单位时间、人员流入情况、岗位类别、用工形式、使用编制,点击“保存”。5.2.2单位独立管理
在信息录入模块中选中需要处理的人员信息,点击“高级”菜单下的“人员调出”,选择“其它单位”,点击“确定”。
进入调转人员信息更新模块,选中原单位中需要处理的人员信息,选择“人员调出”模板,录入减员时间、人员流出情况、调整交流时间、交流形式、交流原因、交流去向,点击“保存”。1.人员离退变化:
在信息更新中选择业务模板下的业务处理,选择“退休处理”模板,录入减员时间、人员流出情况、离退类别、离退休后享受级别,双击“人员类别”选择离退人员,点击“保存”。2.其他减员处理:
在信息更新中选择业务模板下的业务处理,选择“其他减员”模板,录入减员时间、人员流出情况,双击“人员类别”选择调转人员,点击“保存”。
5.3信息的批量处理
在我们对人员信息进行维护的时候,常会有一些相同的信息,需要我们不断的重复录入,为了避免重复操作,我们提供了批量处理模块,在这个模块中,我们可以进行批量的修改。
在众多信息项中,找出一部分信息修改的方法 如要将硕士研究生结业改为硕士研究生毕业
单击需要批量修改的信息单元格,右键选择简单查询,在弹出简单查询对话框内点击确认
系统将所有符合查询条件的信息全部列出来
点击菜单栏里的批量处理选择“修改”键
在弹出来修改对话框内选择正确的学历点击确定。
五、具体实例的操作
5.1 如何录入人员信息
“信息录入”选择“插入”,然后录入信息。
点击插入,就会出现一个“新添加”,直接在这个里面录入数据。
1、公务员、参照公务员:做工资时必须要录入的关键几项为“参加工作日期”、“未记工龄学习年限”、“工资类别”、“工资待遇属性”、“工资级别属性”、“现待遇提及时间”。
不是应届毕业生的公务员,同样要做“实习工资确定”,由于情况特殊,做法也非常特殊。第一,按照实际参加工作的时间进行“实习工资确定”,“转正定级”,“考核”。第二,按照考入公务员的时间,进行减少一档。当作实习工资。举例:一名考生2007年7月毕业参加工作,2009年7月考入公务员,做法如下:
2007年7月做实习工资确定—>2008年7月转正定级—>2009年1月考核—>2009年7月做“公务员其它工资变动”建少一档当作实习期。
5.4 工资的做法 工资管理—>工资调整
在表的左边是选择相关的单位,右边是相关的业务模块。“公务员套改“:2006年7月,参加公务员套改。“公务员试用期工资确定“:新考入公务员队伍的。“公务员转正定级”:实习人员满了一年工作时间。
“按考核结果晋升级别工资“:每个人员(不包括实习人员)都需要做考核。(这里以晋升级别工资为例子)
5、在右边报表夹内选择要出的报表,左边点击“生成”
6、点击表内校验,在表内校验通过后,再点击表间校验,如下图
6.2 调平报表
如果报表不平可以再进入不通过的报表点击反查,查出不正确的信息项后,在信息录入里将信息修改正确即可。
0
七、数据发送
7.1信息的备份和上报(报人事部门)
进入数据交换模板里面的“整体发送”,选择要发送的单位,然后导出到要保存的地方。如下图所示,“导出文件”的路径选好后,请点击“导出”。
上报和备份导出的文件。
八、数据库备份和数据库恢复
8.1数据库的备份
开始菜单栏→程序组→中国人事信息管理系统3.3→数据库管理
21314
“整体发送”,将数据发送出来。
4、点击“开始”→“所有程序” →“中国人事信息管理系统”,运行“数据库安装”。
5、进入中国人事信息管理系统,通过“数据交换”下的“整体接收”将刚发送出的数据接收入库。
6、升级完毕。(用软件计算了工资,并计算了津补贴的单位,需要把津补贴标准接收进中国人事信息管理系统,并保存。事业单位没有发送津补贴标准的不需要接收))建议升级完成以后进行数据的备份。
61718-
第三篇:大数据视角的人事信息管理系统探讨论文
摘要:大数据技术的快速发展与应用,在很多领域已经改变了传统的管理模式,极大地提高了管理效率。高校人事信息管理涉及到的数据信息量大,而且对数据统计分析处理要求很高,而大数据技术在这方面有着独特的优势。基于此,本文从大数据的视角,并结合一些实际案例,探讨分析大数据在人事信息管理系统中具体运用,希望能够为人事信息管理系统提高效率,提供一些方法思路。
关键词:大数据;人事信息管理系统;数字管理
引言
当今社会,是数字世界,人们的生活、学习和工作已进入了大数据时代,数据已经渗透到各个行业,数据信息已经成为一种非常重要的资源。在这一背景下,高校人事管理领域应当加快变革,积极拥抱大数据技术,升级改造传统的人事信息管理系统,以提升管理效率,为高校教职工提供更高水平的人事管理服务。
一、大数据的概况
海量的数据是大数据的基础,同时,要配备数据管理软件对数据进行挖掘、定位和分析。经过高效地处理,数据中的“黄金”将被逐步挖掘出来,成为未来决策的依据,让一堆看似纷繁杂乱的数据最终为人们所使用。大数据时代的突起,人们应当顺应形势转变自己的思维方式。从这个角度来讲,在人事信息管理系统方面,高校应该加大对大数据技术的研究开发,借助大数据技术优势,打造符合高校组织结构特点的人事信息管理系统,进而为高校提升人事管理科学性,提供有力的技术支撑。
二、大数据在人事信息管理系统方面的应用
大数据的快速发展与应用,在人事信息管理领域,已经有了一些比较成熟的应用方式,具体来讲,主要有如下几个方面。1.人事信息统计管理大数据在人事信息统计管理方面,发挥着重要作用。人事信息统计是高校人事管理部门最常用的系统之一,基于大数据技术的人事信息统计系统,设计精致,操作人性化,功能齐全,系统内容包括:教职工的基本信息、职称级别、教龄时间等各种人事信息。其中,基本信息所涵盖量之广,不仅包括员工的标识信息、自然信息、政治面貌、工作信息、文化程度,还包括了党组任职、专业技术等模块。通过使用系统的数据导出、数据导入、数据备份等功能,可以直接导出教职工的信息数据,为使用人员的节省了时间、提高了效率、增强了准确性。而且在进行人员信息录入时,系统将智能化检测录入信息是否完整、正确,是否符合规定,若出现错误,该系统会提出错误建议,直至录入正确。2.人才招聘传统的高校人才招聘流程,可供学校判断的教职工资料来源非常有限,除了履历表、面试纪录之外,更仰赖高校面试主管的直觉去做判断,因此误判的机率也不低。一旦误判聘用不适合的教师,就会影响学校教学工作的质量和水平。在大数据时代,通过大数据高校可以提前筛选出面试者的大量数据资料信息,并利用大数据分析预测模型,对面试者的自身能力素质进行更加全面的分析,以尽可能减少招聘不合适教师人才现象的发生。3.人才结构分析在人才结构分析方面,大数据技术可以进行深度的程序化分析。在人员结构分析中,可以运用程序化、标准化、数据化的方式计算平均工龄和不同工龄分布频率,来查看是否有流动过快或极少流动导致组织僵化的问题。现代有很多高校引进的人事信息管理系统,支持高校教职工的入职到离职的整个职业生命周期的运营和管理,包括合同、档案、人事、组织、薪资、考勤、福利、人才发展等,而且支持高校的人力资源管理者、教职工通过电脑端和移动手机端随时进行信息的查询、报表的查看、请休假的流程申请和审批等。极大提高了流程效率和增强了教职工满意度。
三、大数据视角下人事信息管理系统的发展的策略思路
1.引入大数据人才测评工具和技术高校人事信息管理需在技术和操作层面引入大数据人才测评工具和技术。目前,高校人才数据库中已经量化的数据大多是一些人口统计特征的数据,如年龄、性别、学历、职称级别、教学测评成绩、考勤和工资数据。这些数据能够进行分析的宽度和深度是有限的,应用性也不强。因此,在评价机制建立方面,要引入社会化的、独立第三方专业评价机构的工具技术和服务,特别是对一些关键教职工的评价,以保证评价数据的科学性、客观性和有效性。2.建立人才数据库高校人事信息管理要实现真正的大数据管理,必须以人才的大数据库为核心,其数据库的建设要具备以下3个特征:(1)定量化。一般情况下,我们直接获得的是非量化的信息,因此要对获取的信息进行量化处理,让信息库成为真正的数据库。(2)标准化。很多原始测量数据不能直接进行数学运算和统计分析,需要经过标准化的处理后才能进行。(3)客观性。虚假数据的有害性是不言自明的,因此,要确保入库的数据是真实有效的。3.相信大数据的作用,但不要迷信大数据数据本身所反映的还是事物的表层现象,只不过是以数量化编码的方式呈现给我们,这种数量化的编码给我们后续的数据分析处理提供了基础条件。但这并不是我们建立人才数据库的最终目的。我们根本目的是通过对数据的分析和处理,从表面的数据现象变化中掌握事物间的本质联系,以及事物运动变化发展的本质规律。而对事物规律的认识把握,还需要发挥人的智慧对规律的把握认识能力,我们相信大数据的作用,但又不要迷信大数据、无限夸大它的作用,而是要用辩证的思维来认识和运用大数据为人事信息管理服务。
四、结语
高校人事信息管理系统涉及聘用、入职、考勤、培训、调动、离校、退休等全生命周期管理,人事协同管理要求高,人事工作难度大,高校报表形式多、部门归口多、数据量大、申报、审批复杂等,使得人事信息管理系统工作量大,因此,在当前大数据技术快速发展的背景下,高校要加快引进大数据技术,发挥大数据在人事信息管理系统中优势,运用信息化手段提高人事管理效率与人事管理水平,从而为高校教师人才队伍培养,做出有益的贡献。
参考文献:
[1]蒋周凌.大数据背景下事业科研单位人事档案管理的创新探讨[J].赤子:上中旬,2017(3).[2]任南竹.大数据时代下的高校人事档案管理信息化建设探讨[J].劳动保障世界,2017(1).[3]刘倩.事业单位人事档案信息管理的数字化与网络化探析[J].兰台内外,2017(8).[4]于风山.省直部门干部人事信息管理系统研究[J].信息技术与信息化,2017(6).
第四篇:人事信息管理代理协议
人事信息管理代理协议
甲方:_________
乙方:_________
乙方_________以为基层单位提供优质快捷服务为宗旨,以先进的信息处理系统和丰富的人事管理经验为基础,以认真负责的态度为保障,通过与_________协商,并在认真听取甲方有关部门意见的基础上,经过双方充分论证,达成人事信息管理代理协议如下:
1.双方在自愿的基础上达成本协议。
2.本协议自签字之日起有效期为_________年,期满后双方可协商签署新的协议。
3.协议期内,甲方负责本单位的《_________》的填写工作,并保证按时、准确地报送给乙方。
4.协议期内,在甲方提供的《_________》的基础上,乙方负责为甲方建立人事信息数据库,并及时提供以下应用服务:
(1)信息数据的录入,更新;
(2)自动生成本单位人员月工资表;
(3)自动生成年终干部,工资统计报表;
(4)自动生成甲方提出的各种花名册,人事统计表;
5.本着有偿代理的原则,协议自生效之日起_________日内,甲方一次性付给乙方全年代理费用。代理费用包括:编制在_________人以下的基础费_________元,编制在_________人以上的基础费_________元;每个代理人员_________元,甲方列入被代理人员_________人,合计_________元;代理费共计_________元。
6.甲方如果未按乙方要求的时间准确填写并交付《_________》,以至于影响乙方为甲方及时提供代理服务,责任由甲方自负。
7.在甲方按时,准确提供给乙方《_________》的前提下,乙方未能及时为甲方提供所需服务,视乙方违约,乙方将退还协议期内甲方全部代理费,并以甲方代理费的20%作为违约金补偿给甲方。
8.协议期内,如果因非人为因素影响协议执行,不视为违约。
9.本协议共有_________页,均一式两份,双方各执一份。
10.本协议自签定之日起正式生效。
11.本协议之未尽事宜,由甲乙双方协商解决。
甲方(盖章):_________ 乙方(盖章):_________
代表(签字):_________ 代表(签字):_________
_________年____月____日
_________年____月____日
人事信息管理代理协议 相关合同范本:北京市委托代办个人委托存档人员参加社会保险事务协议书毕业生个人委托人事代理协议书人事代理协议书应届毕业生委托学校保管其户口和档案协议书委托人事代理协议书自筹编制人员人事代理协议书人事代理协议(个人委托保管档案)企业员工档案托管协议查看更多>> 代理合同
第五篇:学生信息管理系统
摘 要
随着网络通信技术的迅速发展和信息技术的广泛应用,计算机的应用已普及到经济和社会生活的各个领域。教育领域也不例外,现今已经出现了各种远程网络在线教育系统、图书馆管理系统、学生信息管理系统等。其中学生信息管理是任一院校都不可缺少的部分,它的内容对于学校的决策者和教学管理者来说都至关重要,而传统的人工管理方式效率较低,为数据的查询、更新和维护带来了极大的不便。所以学生信息管理信息系统的开发和应用是必要的,它能够为管理人员提供充足的信息和快捷的查询手段,提高学校对学生信息的管理效率。
本文的学生信息管理系统是基于java语言的,它能够提供学生信息管理功能,方便系统管理员对学生学号、班级等信息的添加、修改、删除、查询等操作,同时可以一样方便的对学生的信息进行查询。本系统也主要利用java语言和access实现,因此它具有很强的可移植性,很方便。
关键字: 学生信息 管理系统
添加 删除 查询 修改
Abstract With the rapid development of network communication technology and extensive application of information technology, computer applications have spread to the economic and social life in various fields.The field of education is no exception, now there have been a variety of remote network online education system, library management system, student information management system.Which is either a student information management schools are an indispensable part of its contents and teaching for school managers, policy-makers are essential, and the traditional manual management inefficient for data query, update and maintenance brought great inconvenience.So the student information management system development and application of information is necessary, it is able to provide managers with sufficient information and quick inquiry means to improve school student information management efficiency.This student information management system is based on the java language, it is able to provide students with information management function to facilitate system administrators to students student number, class and other information to add, modify, delete, query and other operations, but can be just as convenient for students information to search.This system is mainly achieved using java language and access, so it is very portable, very convenient.Keywords: Student Information Management System add delet revise
前言
随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。学校在管理、教学、办公各个方面也在悄悄地变化。一个学校的信息化程度体现在将计算器与信息技术应用于教学与管理,以现代化工具代替传统手工作业。无疑,使用信息化管理使教学更先进、办公更高效、管理更科学,信息交流更迅速。
学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,故决定选择学生成绩管理系统来作为本人的毕业设计,在很短的时间里开发出一套界面友好,功能强大,使用简单的适用于各规模学院的学生成绩管理系统。该学生成绩管理系统能有效的处理在校学生的成绩管理,具有成绩输入、成绩查询、成绩统计及打印功能。
学生成绩管理系统可以实施应用在各中、大、小院校中,适用范围很广,应用性强。随着系统实施的日益成熟,最终会使单机作业为主的教学管理活动提高到这个平台上来,从而实现学校学生成绩信息管理的办公自动化,籍以提高办学效率和质量。使学校充分利用计算机所带来的新技术,为培养人才打下坚实的基础。
第一章 相关技术简介
1.1 java语言简介
Java语言是sun公司与1995年5月正式发布的程序设计语言,他的前身是sun公司为智能消费类家用电器研究而开发的项目的一部分。
Java程序设计语言是新一代语言的代表,他强调了面向对象的特性,可以用来开发范围广泛的软件,它具有支持图形化的用户界面,网格以及数据库连接等复杂功能。Java语言的主要特点: 1)易于学习
Java语言很简单,对于熟悉C++的程序设计人员更不会对其感到陌生,因 为它的语法非常接近于C++,但他同时摒弃了C++许多的复杂易混淆的功能。利用java同样可以变质出非常复杂的系统,且运行占用很少的内存资源。2)高效率的执行方式
Java语言的执行方式是采用先经过编译器编译,在通过解释器解释执行的 方式来运行的。他综合了解释性语言与编译语言的众多有点,使其执行效率较以往的程序设计语言有了大幅度的提高。3)与平台的无关性
由于iava语言是解释执行的,他会被转换成一种字节码的“目标程序”。因此它可以跨平台运行 4)分布式安全性
Java从诞生之日起就与网络联系在了一起,他强调网络特性,内置TCPIP,HTTP,FTP协议库,便于开发网上应用系统。5)丰富的API文档和类库
Java为用户提供了详尽的API(Application Program Interface)文档说明。
1.2 access数据库简介
Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理。他拥有逻辑、流程处理,即VBA语言(VB也可以用来做逻辑处理);又可以存储数据,即在“表”中存储数据。
第二章 系统分析
2.1 系统分析
学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用access数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。
本《学生管理系统》具有对学生进行学籍管理的功能。并于数据库相连接,能够对学生的学号、姓名、性别、班级、专业进行查询、添加和删除等,简捷方便,容易使用。2.2 应解决的问题
2.2.1合理的设计数据库
尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。作为学生成绩管理系统,必须能解决以下方面的问题:能录入信息。
在开发学生信息管理系统时,最重要的就是学生的基本信息,其学生信息表E-R图如图2.1所示。
图 2.1 学生信息E-R图
2.2.2设计出友好的界面
界面的友好与否是用户评价一个软件优劣的重要方面。因为该系统涉及到
学生成绩的真实性,所以该系统要具有一定的保密性和权限控制,首先应设计一个用户的登陆窗口界面,要求只能由特定的人员对该系统进行操作。此外还应设计登陆后系统的主窗口,要求能够显示学生成绩的基本信息,可以实现数据的录入,更新,删除、查询、统计等功能。
另外窗口界面要多用按钮,少用菜单,窗口的各个控键布局要合理,美观。要充分的利用java.awt和java.swing提供的强大的功能,多用窗口和控件,充分体现窗口的多元化格局。
2.2.3实现的基本功能
该系统要求除了能实现信息的录入,删除,插入,更新,数据导出excel文件等基本功能之外,还要求能够根据用户的需要进行操作。例如要查询学生成绩,要求可以按照专业、班级等多种方式查询。这些功能基本上能满足用户操作的需要,这样用户操作起来就更简单方便。部分文本框使用了下拉式,使用户可以不用花费大量的时间去输入信息。
2.3 数据库物理设计 1.1.1 3.3.1数据库物理设计
本系统采用Access数据库管理系统作为后台数据库的开发工具,设计的表结构如下:
第三章 程序代码及运行效果
3.1主类代码:
/*主类代码*/ package kcsj;import java.awt.*;import javax.swing.*;import java.awt.event.*;
import javax.swing.border.*;import javax.swing.JOptionPane;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import java.sql.*;import java.awt.GridLayout;public class myStudent { public myStudent(){
}
public static void main(String[] args){ // TODO code application logic here loginFrame lf=new loginFrame();Font ft=new Font(“Serif”,Font.BOLD,18);lf.setVisible(true);lf.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);} });} }
3.2 登陆: public loginFrame(){
p=new JPanel();
user=new JTextField(10);
pass=new JPasswordField(10);
login=new JButton(“登录”);
cancel=new JButton(“退出”);
p.setBackground(Color.lightGray);
//user.setText(“王明玉”);
//pass.setText(“123456”);
login.addActionListener(this);
cancel.addActionListener(this);
p.add(new JLabel(“学生信息管理系统登录”));
p.add(new JLabel(“账号:”));
p.add(user);
p.add(new JLabel(“密码:”));
p.add(pass);
p.add(login);
p.add(cancel);
this.add(p);
this.setTitle(“学生管理系统登录界面”);
this.setSize(180,160);}
public void actionPerformed(ActionEvent e){
//查找
if(e.getSource()==login){
if(user.getText().toString().equals(“")){
JOptionPane.showMessageDialog(null, ”请输入用户名“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(pass.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入密码“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
myConnection conn=new myConnection();
ResultSet rs;
String sql=”select * from admin where 用户名 = '“+user.getText().toString()+”' and 密码 = '“+pass.getText().toString()+”'“;
try{
rs=conn.getResult(sql);
if(rs.next()){
this.dispose();
//JOptionPane.showMessageDialog(null, ”此用户已经存在“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
sql=”select * from student“;
mainFrame mf=new mainFrame();
mf.setTitle(”西北师范大学学生信息管理系统“);
mf.setSize(600,486);
mf.freshTable(sql);
mf.setVisible(true);
mf.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}else{
JOptionPane.showMessageDialog(null, ”用户名或密码错误“, ”登录失败“, JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
}
//全部显示
}if(e.getSource()==cancel){
System.exit(0);
} } } 登陆界面:
3.3 修改数据:
/*修改数据*/ class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;
mainFrame mf;
public editFrame(mainFrame mmf){ setTitle(”修改学生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());
学号1=new JLabel(”学号“);姓名1=new JLabel(”姓名“);性别1=new JLabel(”性别“);民族1=new JLabel(”民族“);年龄1=new JLabel(”年龄“);年级1=new JLabel(”年级“);班级1=new JLabel(”班级“);
专业1=new JLabel(”专业“);
学号=new JTextField(5);姓名=new JTextField(5);性别=new JTextField(5);民族=new JTextField(5);年龄=new JTextField(5);年级=new JTextField(5);班级=new JTextField(10);专业=new JTextField(10);学号.setEnabled(false);b=new JButton(”确定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(民族1);p.add(民族);p.add(年龄1);p.add(年龄);p.add(年级1);p.add(年级);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按钮监听器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(学号.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”请输入学号“,”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”请输入姓名“,”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年龄.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”请输入年龄“,”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”update student set 姓名='“+姓名.getText()+”',性别='“+性别.getText()+”',年龄=“+年龄.getText()+”,年级='“+年级.getText()+”',班级='“+班级.getText()+”',专业='“+专业.getText()+”',民族='“+民族.getText()+”' where 学号='“ + 学号.getText()+ ”'“;
myConnection conn=new myConnection();
try{
//JOptionPane.showMessageDialog(null, sql, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”修改成功“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
this.dispose();
}else{
JOptionPane.showMessageDialog(null, ”修改失败“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
}
}
}
3.4 查找数据:
class findFrame extends JDialog implements ActionListener{
mainFrame mf;JPanel p;JComboBox c;JTextField t;JButton b;JButton fAll;String sql=”select * from student“;String[] colStr={”学号“,”姓名“,”性别“,”民族“,”年龄“,”年级“,”班级“,”专业“};
public findFrame(mainFrame mmf){
mf=mmf;
p=new JPanel();
c=new JComboBox(colStr);
t=new JTextField(10);
b=new JButton(”查找“);
fAll=new JButton(”全部显示“);
b.addActionListener(this);
fAll.addActionListener(this);
p.add(new JLabel(”选择“));
p.add(c);
p.add(new JLabel(”查找内容“));
p.add(t);
p.add(b);
p.add(fAll);
this.add(p);
this.setTitle(”查找“);
this.setSize(450,80);}
public void actionPerformed(ActionEvent e){
//查找
if(e.getSource()==b){
String selectStr=c.getSelectedItem().toString();
if(selectStr==”年龄“){
sql=”select * from student where “+selectStr+” “+t.getText().toString();
}
else {
sql=”select * from student where “+selectStr+” '“+t.getText().toString()+”'“;
= = 12
}
mf.freshTable(sql);
//全部显示
}if(e.getSource()==fAll){
sql=”select * from student“;
mf.freshTable(sql);
} } }
3.5 添加数据:
class addFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;
mainFrame mf;
public addFrame(mainFrame mmf){ setTitle(”修改学生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();//contentPane.setBackground(Color.BLACK);//设置窗口颜色
contentPane.setLayout(new FlowLayout());
学号1=new JLabel(”学号“);
姓名1=new JLabel(”姓名“);
性别1=new JLabel(”性别“);
民族1=new JLabel(”民族“);
年龄1=new JLabel(”年龄“);
年级1=new JLabel(”年级“);
班级1=new JLabel(”班级“);
专业1=new JLabel(”专业“);
学号=new JTextField(”201071030240“,5);
姓名=new JTextField(5);
性别=new JTextField(”女“,5);
民族=new JTextField(5);
年龄=new JTextField(5);
年级=new JTextField(5);
班级=new JTextField(10);
专业=new JTextField(10);
b=new JButton(”确定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(民族1);p.add(民族);p.add(年龄1);p.add(年龄);p.add(年级1);p.add(年级);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按钮监听器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(学号.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入学号“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入姓名“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年龄.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入年龄“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”select * from student where 学号='“ + 学号.getText()+ ”'“;
myConnection conn=new myConnection();
ResultSet rs;
rs=conn.getResult(sql);
try{
//System.out.println(rs.getRow());
if(rs.next()){
JOptionPane.showMessageDialog(null, ”此学号已经存在“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
sql=”insert into student values('“ +学号.getText()+”','“+ 姓名.getText()+”','“+ 性别.getText()+”','“+ 民族.getText()+”',“+ 年龄.getText()+”,'“+ 年级.getText()+”','“+ 班级.getText()+”','“+ 专业.getText()+”')“;
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”添加成功“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
学号.setText(”“);
姓名.setText(”“);
性别.setText(”“);
民族.setText(”“);
年龄.setText(”“);
年级.setText(”“);
班级.setText(”“);
专业.setText(”“);
}else{
JOptionPane.showMessageDialog(null, ”添加失败“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}
}
}catch(Exception er){
System.out.println(er.toString());
}
}
}
}
3.6 修改数据:
class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;
mainFrame mf;
public editFrame(mainFrame mmf){ setTitle(”修改学生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());
学号1=new JLabel(”学号“);
姓名1=new JLabel(”姓名“);
性别1=new JLabel(”性别“);
民族1=new JLabel(”民族“);
年龄1=new JLabel(”年龄“);
年级1=new JLabel(”年级“);
班级1=new JLabel(”班级“);
专业1=new JLabel(”专业“);
学号=new JTextField(5);
姓名=new JTextField(5);
性别=new JTextField(5);
民族=new JTextField(5);
年龄=new JTextField(5);
年级=new JTextField(5);
班级=new JTextField(10);
专业=new JTextField(10);
学号.setEnabled(false);
b=new JButton(”确定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(学号1);p.add(学号);
p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(民族1);p.add(民族);p.add(年龄1);p.add(年龄);p.add(年级1);p.add(年级);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按钮监听器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(学号.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入学号“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入姓名“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年龄.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入年龄“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”update student set 姓名='“+姓名.getText()+”',性别='“+性别.getText()+”',年龄=“+年龄.getText()+”,年级='“+年级.getText()+”',班级='“+班级.getText()+”',专业='“+专业.getText()+”',民族='“+民族.getText()+”' where 学号='“ + 学号.getText()+ ”'“;
myConnection conn=new myConnection();
try{
//JOptionPane.showMessageDialog(null, sql, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”修改成功“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
this.dispose();
}else{
JOptionPane.showMessageDialog(null, ”修改失败“, ”温馨提示", JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
} } }
运行效果:
第四章 总结
通过本次课程设计,不仅让我更深入的了解JAVA这门学科,更使自己有了继续探索的兴趣。
对我来说,在之前的学习过程中没有能够很好的掌握JAVA语言的学习,在很多地方还有生疏和遗漏,并且在此次课程设计过程中也遇到困难不能自己独立解决。但是,通过这次程序设计,除了增加了自己的编程能力,提高了我对JAVA的应用能力,同时我也深感“认真严谨”这个词的重要性,一点点小的马虎,便会导致整个程序不能正常运行。在今后的学习中,我将继续保持严谨的学习态度。与此同时,在同学的帮助下,让我体会到了相互学习的重要性,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。总之,此次课程设计让我获益匪浅。
第五章 总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理
论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
第六章 参考文献