企业人事管理设计报告.docx
- 文档编号:14565258
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:40
- 大小:52.98KB
企业人事管理设计报告.docx
《企业人事管理设计报告.docx》由会员分享,可在线阅读,更多相关《企业人事管理设计报告.docx(40页珍藏版)》请在冰点文库上搜索。
企业人事管理设计报告
Java课程设计报告
题目企业人事管理系统
专业信息管理与信息系统
班级信管152
学号04
姓名陈嘉文
指导教师傅莉
完成时间二零一六年六月二十九日
一、设计任务与要求
1.1设计任务与要求
根据所选课题“企业人事管理系统”,完成课程设计的分析、设计和编码,制作一个简单的管理系统,并用窗口界面实现,可以对企业员工的基本信息(员工编号、姓名、性别、联系电话、部门、职务、底薪)实现录入、修改、调用、删除。
并完成课程设计报告。
1.2选题目的与意义
无论企业大小,都需要进行人事管理,企业人事管理系统基于这样的要求,实现了对企业人事的基本信息管理。
通过企业人事管理系统的设计过程,深刻了解掌握面向对象程序设计语言Java的核心概念和特性;了解编程技术知识,会处理异常情况。
了解基于Swing的图形用户界面开发;掌握Java应用软件的开发环境和开发过程;灵活选择程序设计思想。
二、需求分析
用户需求分析
现在的社会是信息化的社会,随着科学技术的发展,人们越来越多的用计算机去代替和延伸脑力劳动,而且计算机能够更高效地帮助人们去处理一些事情,为了把传统的人事管理和现在用计算机技术对人事进行管理相结合,这次,我设计了这套基本的企业人事管理系统方案。
通过此系统的运用,可以满足企业人事管理的诸多需求,例如对新员工基本信息录入,对离职员工实现信息删除,对员工信息实现修改等需求。
开发环境分析
系统编程基于JAVASwing的图形用户界面开发,使用WINDOWS环境下的软件开发。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
三、系统设计
系统总体设计
该软件功能分析说明图如所示:
企业人事管理系统
图功能分析说明
功能模块设计
模块
功能
主界面
显示系统名称“企业人事管理系统”
录入界面
实现员工基本信息录入
修改界面
对员工基本信息实现修改
调用界面
调用信息实现查询及打印的功能
删除界面
删除员工基本信息
表
类及方法的设计
类名
方法
Delete
Delete(File)
actionPerformed(ActionEvent)
InputEmployee
InputEmployee(File)
actionPerformed(ActionEvent)
clearMess()
EmployeePicture
EmployeePicture()
paintComponent(Graphics)
setImage(File)
Inquest
Inquest(File)
actionPerformed(ActionEvent)
clearMess()
ManagerWindow
main(String[])
ManagerWindow()
actionPerformed(ActionEvent)
ModifySituation
ModifySituation(File)
actionPerformed(ActionEvent)
clearMess()
Employee
getDepartment()
getImagePic()
getName()
getNumber()
getPhone()
getPosition()
getSalary()
getSex()
setDepartment(String)
setImagePic(File)
setName(String)
setNumber(String)
setPhone(String)
setPosition(String)
setSalary(String)
setSex(String)
表
四、程序实现
程序流程设计
图
关键程序
publicclassEmployeePictureextendsJPanel{}这次系统设计中遇到了一些问题,比如系统运行过程中如何完成录入、添加照片等操作,经过查阅资料和编程测试最终解决。
经过一个学期的学习,我对Java有了一定的初步了解,可以完成简单程序的设计,但对于较为熟练地运用还有一定的问题,在查阅资料及咨询老师后,完成了这个系统的设计,但是这个系统还不是很完善,功能还可以继续增加,使之更加完美,例如数据库的知识不是很了解,如果加入大量数据库编程,系统将会更加完善。
如今社会中,计算机技术与企业管理密不可分,通过计算机系统程序的使用,使得企业管理更加方便快捷,因此企业人事管理系统比较重要,很开心能完成此程序的设计,希望程序能起到应有的作用。
发现问题,提出问题,解决问题,使我从不足之处出发,寻找新的学习方向。
一边实习一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。
主要参考文献
[1]耿祥义.Java2实用教程[M].北京:
清华大学出版社.2012.
[2]耿祥义.Java课程设计[M].北京:
清华大学出版社.2008.
附录:
import.*;
import.*;
import.*;
importclassManagerWindowextendsJFrameimplementsActionListener{
InputEmployee人事信息录入;
ModifySituation基本信息修改;
Inquest基本信息调用;
Delete基本信息删除;
JMenuBarbar;
JMenufileMenu;
JMenuItem录入,修改,调用,删除,主界面;
HashMap
Filefile=null;
CardLayoutcard=null;
JLabellabel=null;
JPanelpCenter;
publicManagerWindow(){
录入=newJMenuItem("录入员工基本信息");
修改=newJMenuItem("修改员工基本信息");
调用=newJMenuItem("调用员工基本信息");
删除=newJMenuItem("删除员工基本信息");
主界面=newJMenuItem("主界面");
bar=newJMenuBar();
fileMenu=newJMenu("菜单");
(录入);
(修改);
(调用);
(删除);
(主界面);
(fileMenu);
setJMenuBar(bar);
label=newJLabel("企业人事管理系统",;
(newImageIcon(""));
(newFont("楷体",,40));
;
;
基本信息=newHashMap
录入.addActionListener(this);
修改.addActionListener(this);
调用.addActionListener(this);
删除.addActionListener(this);
主界面.addActionListener(this);
card=newCardLayout();
pCenter=newJPanel();
(card);
file=newFile("基本信息.txt");
if(!
()){
try{
FileOutputStreamout=newFileOutputStream(file);
ObjectOutputStreamobjectOut=newObjectOutputStream(out);
(基本信息);
();
();}
catch(IOExceptione){}}
人事信息录入=newInputEmployee(file);
基本信息修改=newModifySituation(file);
基本信息调用=newInquest(file);
基本信息删除=newDelete(file);
("欢迎界面",label);
("录入界面",人事信息录入);
("修改界面",基本信息修改);
("删除界面",基本信息删除);
add(pCenter,;
validate();
setVisible(true);
setBounds(100,50,500,300);
setDefaultCloseOperation;
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
intn=(null,"确认退出?
","确认对话框”,);
if(n==
(0);}});
validate();}
publicvoidactionPerformed(ActionEvente){
if()==录入){
人事信息录入.clearMess();
(pCenter,"录入界面");}
elseif()==修改){
基本信息修改.clearMess();
(pCenter,"修改界面");}
elseif()==调用){
基本信息调用.clearMess();
基本信息调用.setLocation(getBounds().width,getBounds().height);
基本信息调用.setVisible(true);}
elseif()==删除)
(pCenter,"删除界面");
elseif()==主界面)
(pCenter,"主界面");}
publicstaticvoidmain(Stringargs[]){
newManagerWindow();
}}
import.*;
publicclassEmployeeimplementsSerializable{
Stringnumber,name,phone,department,position,salary,sex;
FileimagePic;
publicvoidsetNumber(Stringnumber){
=number;}
publicStringgetNumber(){
returnnumber;}
publicvoidsetName(Stringname){
=name;}
publicStringgetName(){
returnname;}
publicvoidsetPhone(Stringphone){
=phone;}
publicStringgetPhone(){
returnphone;}
publicvoidsetDepartment(Stringdepartment){
=department;}
publicStringgetDepartment(){
returndepartment;}
publicvoidsetPosition(Stringposition){
=position;}
publicStringgetPosition(){
returnposition;}
publicvoidsetSalary(Stringsalary){
=salary;}
publicStringgetSalary(){
returnsalary;}
publicvoidsetSex(Stringsex){
=sex;}
publicStringgetSex(){
returnsex;}
publicvoidsetImagePic(FileimagePic2){
}
publicFilegetImagePic(){
returnnull;}}
import.*;
import.*;
import.*;
import.*;
importclassInputEmployeeextendsJPanelimplementsActionListener{
Employee员工=null;
EmployeePicturepic;
HashMap
JTextField员工编号,姓名,联系电话,职务,底薪;
JButton选择照片;
JComboBox部门;
JRadioButton男,女;
ButtonGroupgroup=null;
JButton录入,重置;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
FileOutputStreamoutOne=null;
ObjectOutputStreamoutTwo=null;
FilesystemFile,imagePic;
publicInputEmployee(Filefile){
systemFile=file;
pic=newEmployeePicture();
员工编号=newJTextField(5);
姓名=newJTextField(5);
联系电话=newJTextField(13);
部门=newJComboBox();
try{
FileReaderinOne=newFileReader("部门.txt");
BufferedReaderinTwo=newBufferedReader(inOne);
Strings=null;
inti=0;
while((s=())!
=null)
部门.addItem(s);
();
();}
catch(IOExceptionexp){
部门.addItem("行政部");
部门.addItem("MPC");
部门.addItem("财务");}
职务=newJTextField(5);
底薪=newJTextField(5);
选择照片=newJButton("选择");
group=newButtonGroup();
男=newJRadioButton("男",true);
女=newJRadioButton("女",false);
(男);
(女);
录入=newJButton("录入");
重置=newJButton("重置");
录入.addActionListener(this);
选择照片.addActionListener(this);
重置.addActionListener(this);
Boxbox1=();
(newJLabel("员工编号:
",);
(员工编号);
Boxbox2=();
(newJLabel("姓名:
",);
(姓名);
Boxbox3=();
(newJLabel("性别:
",);
(男);
(女);
Boxbox4=();
(newJLabel("联系电话:
",);
(联系电话);
Boxbox5=();
(newJLabel("部门:
",);
(部门);
Boxbox6=();
(newJLabel("职务:
",);
(职务);
Boxbox7=();
(newJLabel("底薪:
",);
(底薪);
BoxboxH=();
(box1);
(box2);
(box3);
(box4);
(box5);
(box6);
(box7);
());
JPanelpicPanel=newJPanel();
;
(newJLabel("选择照片:
",);
(选择照片);
JPanelputButton=newJPanel();
(录入);
(重置);
JPanelmessPanel=newJPanel();
(boxH);
;
;
setLayout(newBorderLayout());
JSplitPanesplitV=
newJSplitPane,picPanel,pic);
JSplitPanesplitH=newJSplitPane,messPanel,splitV);
add(splitH,;
add(putButton,;
validate();}
publicvoidactionPerformed(ActionEventee){
if()==录入){
Stringnumber="";
number=员工编号.getText();
if()>0){
try{
inOne=newFileInputStream(systemFile);
inTwo=newObjectInputStream(inOne);
基本信息=(HashMap
();
();}
catch(Exceptioneee){}
if(基本信息表.containsKey(number)){
Stringwarning="该员工基本信息已存在,请到修改页面修改!
";
(this,warning,"警告",
;}
else{
Stringm="基本信息将被录入!
";
intok=(this,m,"确认",
;
if(ok=={
Stringname=姓名.getText();
Stringphone=联系电话.getText();
Stringdepartment=(String)部门.getSelectedItem();
Stringposition=职务.getText();
Stringsalary=底薪.getText();
Stringsex=null;
if(男.isSelected())
sex=男.getText();
else
sex=女.getText();
员工=newEmployee();
员工.setNumber(number);
员工.setName(name);
员工.setPhone(phone);
员工.setDepartment(department);
员工.setPosition(position);
员工.setSalary(salary);
员工.setSex(sex);
员工.setImagePic(imagePic);
try{outOne=newFileOutputStream(systemFile);
outTwo=newObjectOutputStream(outOne);
基本信息表.put(number,员工);
(基本信息表);
();
();
clearMess();}
catch(Exceptioneee){}
}}}
else{
Stringwarning="必须要输入员工编号!
";
(this,warning,"警告",;}}
elseif()==选择照片){
JFileChooserchooser=newJFileChooser();
FileNameExtensionFilterfilter=newFileNameExtensionFilter(
"JPG&GIFImages","jpg","gif");
(filter);
intstate=(null);
FilechoiceFile=();
if(choiceFile!
=null&&state=={
选择照片.setText());
imagePic=choiceFile;
(imagePic);
();}}
elseif()==重置){
clearMess();}}
publicvoidclearMess(){
员工编号.setText(null);
姓名.setText(null);
联系电话.setText(null);
职务.setText(null);
底薪.setText(null);
选择照片.setText("选择");
imagePic=null;
(imagePic);
();}}
import.*;
import.*;
import.*;
import.*;
importclassModifySituationextendsJPanelimplementsActionListener{
EmployeePicturepic;
HashMap
JTextField员工编号,姓名,联系电话,职务,底薪;
JComboBox部门;
JButton选择照片;
JRadioButton男,女;
ButtonGroupgroup=null;
JButton开始修改,录入修改,重置;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
FileOutputStreamoutOne=null;
ObjectOutputStreamoutTwo=null;
FilesystemFile,imagePic;
JComboBoxoldMess;
Employeestu=null;
publicModifySituation(Filefile){
systemFile=file;
pic=newEmployeePicture();
员工编号=newJTextField(6);
姓名=newJTextField(6);
联系电话=newJTextField(6);
部门=newJComboBox();
try{
FileReaderinOne=newFileReader("部门.txt");
BufferedReaderinTwo=newBufferedReader(inOne);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 人事管理 设计 报告