版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、濱江學(xué)院軟件工程課程設(shè)計(jì) 專業(yè)班級:軟件工程 2班 學(xué)生姓名:董 衡學(xué) 號:20142344054指導(dǎo)教師: 吳婷婷 學(xué) 期:2016-2017 第一學(xué)期目錄1.課程設(shè)計(jì)概述22.項(xiàng)目的可行性研究與需求分析22.1項(xiàng)目的可行性研究22.1.1項(xiàng)目的技術(shù)可行性22.1.2項(xiàng)目的經(jīng)濟(jì)可行性32.1.3項(xiàng)目的操作可行性32.2項(xiàng)目的需求分析32.2.1 業(yè)務(wù)需求32.2.2 用戶需求34.總體設(shè)計(jì)55.詳細(xì)設(shè)計(jì)65.1 算法描述65.1.1 Person類65.1.2 Personnel類65.1.3 PersonJFrame類75.2 系統(tǒng)功能模塊96.編碼實(shí)現(xiàn)97.測試用例設(shè)計(jì)、測試與運(yùn)行記錄1
2、48.課程設(shè)計(jì)完成結(jié)果分析與個(gè)人小結(jié)168.1結(jié)果分析168.2個(gè)人小結(jié)16參考文獻(xiàn)17人事管理系統(tǒng)董衡南京信息工程大學(xué)濱江學(xué)院計(jì)算機(jī)系,江蘇 南京 21004摘要:隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在企業(yè)管理中應(yīng)用的普及,利用計(jì)算機(jī)實(shí)現(xiàn)企業(yè)人事管理勢在必行。本系統(tǒng)結(jié)合公司實(shí)際的人事管理制度,經(jīng)過實(shí)際的需求分析,采用功能強(qiáng)大的Java技術(shù)作為開發(fā)工具而開發(fā)出來的網(wǎng)絡(luò)版人事管理系統(tǒng)。整個(gè)系統(tǒng)從符合操作簡便、界面友好、靈活、實(shí)用、安全的要求出發(fā),完成人事管理的全過程,包括員工檔案信息的管理,員工工資信息的管理。經(jīng)過實(shí)際使用證明,本文所設(shè)計(jì)的人事管理系統(tǒng)可以滿足公司人事管理方面的需要。關(guān)鍵詞:java
3、;數(shù)據(jù)庫;信息管理;人事管理。Personnel management systemDonghengDepartment of computer science, Binjiang college, Nanjing University of Information Science and Technology, Nanjing 21004, Jiangsu,.Abstract: with the rapid development of computer technology, computer application in enterprise management, the use of
4、 computer to realize enterprise personnel management is imperative. This system combined with the company's actual personnel management system, after the actual demand analysis, using powerful Java technology as a development tool developed by the network version of the personnel management syst
5、em. The whole system from the simple, friendly interface, flexible, practical and safety requirements, complete the whole process of personnel management, including staff file information management, staff salary information management. After practical use, the personnel management system designed i
6、n this paper can meet the needs of personnel management in the company.Key words: Java; database; information management; personnel management.1.課程設(shè)計(jì)概述1 .員工各種信息的輸入,包括員工的基本信息、學(xué)歷信息、婚姻狀況信息、職稱等。2. 員工各種信息的修改;3 .對于轉(zhuǎn)出、辭職、辭退、退休員工信息的做相應(yīng)標(biāo)記,默認(rèn)顯示在職員工信息;4.工資、獎(jiǎng)金、扣款細(xì)節(jié)可以自定義,員工可以網(wǎng)上查看個(gè)人的工資條5 .按照一定的條件,查詢、統(tǒng)計(jì)符合條件的員工信息;至
7、少應(yīng)該包括每個(gè)員工詳細(xì)信息的查詢、按婚姻狀況查詢、按學(xué)歷查詢、按工作崗位查詢等,至少應(yīng)該包括按學(xué)歷、婚姻狀況、崗位、參加工作時(shí)間、工資等統(tǒng)計(jì)各自的員工信息;對查詢、統(tǒng)計(jì)的結(jié)果打印輸出。2.項(xiàng)目的可行性研究與需求分析2.1項(xiàng)目的可行性研究 可行性研究的主要目的不是解決實(shí)際問題,而是確定問題是否值得去解決,為了做到這點(diǎn),往往需要客觀的頭腦,分析可能解法的利弊,從而分析原定的系統(tǒng)在現(xiàn)實(shí)中是否能夠?qū)崿F(xiàn),是否值得去實(shí)現(xiàn)。2.1.1項(xiàng)目的技術(shù)可行性 技術(shù)可行性研究的目的是現(xiàn)有的技術(shù)能不能實(shí)現(xiàn)這個(gè)系統(tǒng),Java語言包括面向?qū)ο?、可移植性、安全性、并發(fā)機(jī)制、支持可視化圖形界面等特點(diǎn),特別適合用來作為開發(fā)語言使
8、用;本論文制作的系統(tǒng)為小型系統(tǒng),MySQL數(shù)據(jù)庫的簡單性以及免費(fèi)等特點(diǎn)特別適合用作本系統(tǒng)數(shù)據(jù)庫;伴隨著科技的進(jìn)步,計(jì)算機(jī)進(jìn)入了萬千家庭,計(jì)算機(jī)配置越來越高,普通的機(jī)器已經(jīng)能夠承載此系統(tǒng),綜上所述,該系統(tǒng)具有技術(shù)可行性。2.1.2項(xiàng)目的經(jīng)濟(jì)可行性 經(jīng)濟(jì)可行性研究的目的是制作的系統(tǒng)的經(jīng)濟(jì)效益是否超出它的開發(fā)成本,對于傳統(tǒng)的人工方式管理人事檔案、工資信息管理以及考勤管理,不僅工作繁瑣而且需要大量的人力,這樣做的結(jié)果可能會造成記錄出錯(cuò)、效率低下以及增加企業(yè)的運(yùn)營成本,從而阻礙企業(yè)的發(fā)展。而采用本系統(tǒng)的成本遠(yuǎn)遠(yuǎn)低于人工管理的成本,部門只需要一個(gè)人去管理本部門的人事檔案,這樣就大大的縮減了企業(yè)在這方面的運(yùn)
9、營成本,所以本系統(tǒng)具有經(jīng)濟(jì)可行性。2.1.3項(xiàng)目的操作可行性 操作可行性研究的主要目的是制作的系統(tǒng)的操作方式是否在用戶組織內(nèi)行得通,簡言之就是用戶能否操作、管理該系統(tǒng)。本系統(tǒng)層次分明,各種功能一目了然,只要稍微有點(diǎn)電腦基礎(chǔ),操作管理本系統(tǒng)并不難,所以說本系統(tǒng)具有操作可行性。2.2項(xiàng)目的需求分析2.2.1 業(yè)務(wù)需求 1.系統(tǒng)操作簡單,界面友好; 2.規(guī)范、完善的基礎(chǔ)信息設(shè)置; 3.支持多人操作,要求有權(quán)限分配功能; 4.為了方便用戶,要求系統(tǒng)支持多條件查詢;2.2.2 用戶需求 1.員工可以實(shí)現(xiàn)的功能: 用戶注冊:主要實(shí)現(xiàn)員工的注冊,創(chuàng)建自己的賬戶密碼; 用戶登錄:登陸應(yīng)用程序查看自己的信息;
10、修改密碼:用戶修改自己賬戶的密碼。 2、管理員可以實(shí)現(xiàn)的功能: 員工調(diào)動(dòng):查看修改員工的調(diào)動(dòng)信息 基本信息:統(tǒng)計(jì)與查詢員工基本信息 員工考評:記錄員工考評信息 人員調(diào)薪:管理員工的薪水調(diào)整 職稱評定:評定和記錄員工的職稱信息 報(bào)表輸出:將需要的信息以報(bào)表形式輸出打印 數(shù)據(jù)備份:管理員(或DBA)備份數(shù)據(jù) 數(shù)據(jù)恢復(fù):病毒,黑客等破壞數(shù)據(jù)庫后對數(shù)據(jù)進(jìn)行恢復(fù) 系統(tǒng)管理:主要對用戶的密碼、管理權(quán)限的設(shè)置等。3.項(xiàng)目設(shè)計(jì)的基本原理和采用的主要方法與技術(shù) 本設(shè)計(jì)程序包括三個(gè)類:Person類、Personnel類、PersonJFrame類,在Person類里定義員工的基本信息,在Person
11、nel類里實(shí)現(xiàn)人員的添加、刪除、查詢,在PersonJFrame類里實(shí)現(xiàn)運(yùn)行界面的布局及相關(guān)操作,添加事件監(jiān)聽器,設(shè)置點(diǎn)擊按鈕后的行為,同時(shí)計(jì)算工資的方法也在此類中,最后通過主函數(shù)main()創(chuàng)建一個(gè)PersonJFrame類的對象即可實(shí)現(xiàn)。 人事管理系統(tǒng)4.總體設(shè)計(jì) 獎(jiǎng)懲信息 工 資 個(gè)人信息查詢個(gè)人信息修改5.詳細(xì)設(shè)計(jì)5.1 算法描述5.1.1 Person類在Person類中,除了構(gòu)造方法外,還重載了toString()方法。public String toString()String s=ID+" "+name+" "+sex+" &q
12、uot;+position+" "+wage;return s;5.1.2 Personnel類在Personnel類中,有三個(gè)成員方法:添加:public void addPerson(String id,String name,String sex,String position,String wage)pList.add(new Person(id,name,sex,position,wage);刪除:public void deletePerson(String id)it=pList.listIterator();while(it.hasNext()p=(Pers
13、on)it.next();if(p.ID.equals(id)it.remove();break; 查詢:public Person seekPerson(String id)p=null;it=pList.listIterator();while(it.hasNext()p=(Person)it.next();if(p.ID.equals(id)break;elsep=null;return p;5.1.3 PersonJFrame類在PersonJFrame類中,構(gòu)造方法設(shè)置整個(gè)界面的布局及界面上的標(biāo)簽、按鈕、文本框,為按鈕注冊單擊事件監(jiān)聽器,為列表框注冊鼠標(biāo)事件監(jiān)聽器。單擊事件的事件處理
14、程序由ActionListener接口中的actionPerformed()方法實(shí)現(xiàn),在該方法中進(jìn)行按鈕類的處理。當(dāng)單擊一個(gè)按鈕時(shí),Java創(chuàng)建一個(gè)ActionEvent事件類對象e,并且自動(dòng)執(zhí)行actionPerformed()方法,在actionPerformed()方法體中,調(diào)用e.getSource()方法獲得產(chǎn)生單擊事件的事件源,即用戶單擊的是哪一個(gè)按鈕,識別出按鈕后,則分別執(zhí)行需要的操作。text.setText()方法設(shè)置文本行內(nèi)容,combobox.setSelectedItem()方法返回選中數(shù)據(jù)項(xiàng)對象,combobox.getSelectedIndex()方法返回選中數(shù)據(jù)項(xiàng)
15、索引。鼠標(biāo)事件的事件處理程序由mouseClicked()方法實(shí)現(xiàn),單擊列表框里面的內(nèi)容即可在輸入信息處顯示信息。public void actionPerformed(ActionEvent e) if(e.getSource()=add) if(!text_ID.getText().equals("") String s=(String) combobox_sex.getSelectedItem(); String p=(String) combobox_position.getSelectedItem(); personnel.addPerson(text_ID.ge
16、tText(),text_name.getText(),s,p,text_wage.getText(); list.setListData(personnel.pList.toArray(); if(e.getSource()=delete) personnel.deletePerson(text_ID.getText(); text_ID.setText(""); text_name.setText(""); text_quantity.setText(""); text_wage.setText(""); li
17、st.setListData(personnel.pList.toArray(); if(e.getSource()=seek) String id=JOptionPane.showInputDialog("請輸入要查詢的員工編號:"); Person thePerson=personnel.seekPerson(id); if(thePerson=null) JOptionPane.showMessageDialog(this,"查無此人!","查詢結(jié)果",JOptionPane.WARNING_MESSAGE); else Str
18、ing s="" text_ID.setText(thePerson.ID); text_name.setText(theP); combobox_sex.setSelectedItem(thePerson.sex); combobox_position.setSelectedItem(thePerson.position); text_wage.setText(thePerson.wage); s=text_ID.getText()+""+text_name.getText()+""+combobox_sex.g
19、etSelectedItem()+" "+combobox_position.getSelectedItem()+" "+text_wage.getText(); JOptionPane.showMessageDialog(this,"你要查詢的員工信息:n"+s,"查詢結(jié)果",JOptionPane.INFORMATION_MESSAGE); if(e.getSource()=wageC) if(combobox_position.getSelectedIndex()=0) N=text_quantity.get
20、Text(); i=Double.parseDouble(N); w=4000+i*0.005; text_wage.setText("¥"+this.w); if(combobox_position.getSelectedIndex()=1) N=text_quantity.getText(); i=Double.parseDouble(N); w=2000+i*0.05; text_wage.setText("¥"+this.w); if(combobox_position.getSelectedIndex()=2) if(combobox_perf
21、orm.getSelectedIndex()=0) w=3000+1000; if(combobox_perform.getSelectedIndex()=1) w=3000+500; if(combobox_perform.getSelectedIndex()=2) w=3000; text_quantity.setText(""); text_wage.setText("¥"+this.w); if(e.getSource()=cancel) System.exit(0); 5.2 系統(tǒng)功能模塊該系統(tǒng)是一個(gè)簡單的人事管理系統(tǒng),實(shí)現(xiàn)的功能很簡單,包括基
22、本的添加員工信息、刪除員工信息、查詢員工信息、計(jì)算員工工資以及退出系統(tǒng)。本系統(tǒng)分為如下的幾大模塊:添加員工信息模塊,在這個(gè)模塊需要先在文本框里面輸入信息后單擊添加,添加以后信息顯示在主界面左邊的列表框內(nèi);刪除員工信息模塊,點(diǎn)擊刪除,輸入需要?jiǎng)h除的員工編號,點(diǎn)擊確定即可刪除,同時(shí)主界面左邊的列表框內(nèi)也將需要?jiǎng)h除的員工信息刪除,然后刷新;查詢員工信息模塊,點(diǎn)擊查詢,輸入需要查詢的員工編號,點(diǎn)擊確定即可,同時(shí)彈出對話框顯示需要查詢的員工信息;計(jì)算員工工資模塊,在輸入銷售額/營業(yè)額后,點(diǎn)擊工資按鈕,即可計(jì)算出工資,顯示在不可編輯的文本框內(nèi),需要注意的是先要計(jì)算出工資再點(diǎn)擊添加,這樣才能在列表框中顯示員
23、工的工資信息;退出系統(tǒng)模塊,點(diǎn)擊退出按鈕即可退出。6.編碼實(shí)現(xiàn)Person類package mypackage;import java.util.*;public class Person public String ID,name,sex,position,wage;public Person(String id,String na,String se,String po,String wa)ID=id;name=na;sex=se;position=po;wage=wa;public String toString()String s=ID+" "+name+"
24、; "+sex+" "+position+" "+wage;return s; Personnel類package mypackage;import java.util.*;public class Personnel public List pList=new ArrayList();private ListIterator it;private Person p;public void addPerson(String id,String name,String sex,String position,String wage)pList.a
25、dd(new Person(id,name,sex,position,wage);public void deletePerson(String id)it=pList.listIterator();while(it.hasNext()p=(Person)it.next();if(p.ID.equals(id)it.remove();break;public Person seekPerson(String id)p=null;it=pList.listIterator();while(it.hasNext()p=(Person)it.next();if(p.ID.equals(id)brea
26、k;elsep=null;return p;PersonJFrame類package mypackage;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class PersonJFrame extends JFrame implements ActionListener private JLabel lab1,lab2,lab3,lab4,lab5,lab6,lab7,lab8; private JTextField text_ID,text_name,text_quantity,text_wage;
27、 private JButton add,delete,seek,cancel,wageC; private JComboBox combobox_sex,combobox_position,combobox_perform; private JPanel pan1,pan2; private JList list; private Personnel personnel=new Personnel(); private String N; private double i,w=0; public PersonJFrame() super("簡單人事管理系統(tǒng)(歡迎進(jìn)入(*_*) )&
28、quot;); this.setSize(500,350); this.setLocation(300,240); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); this.setLayout(new BorderLayout(1,1); this.setResizable(false); list=new JList(); this.add(list,BorderLayout.WEST); list.setPreferredSize(new Dimension(250,350); list.setLis
29、tData(personnel.pList.toArray(); list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); validate(); pan1 = new JPanel(new GridLayout(8,1); lab7=new JLabel("<員工基本信息"); pan1.add(lab7); lab8=new JLabel("輸入基本信息"); pan1.add(lab8); lab1=new JLabel("編號:"); pan1.add(lab
30、1); text_ID=new JTextField(10); pan1.add(text_ID); lab2=new JLabel("姓名:"); pan1.add(lab2); text_name=new JTextField(10); pan1.add(text_name); lab3=new JLabel("性別:"); pan1.add(lab3); Object sex="男","女" combobox_sex= new JComboBox(sex); pan1.add(combobox_sex); l
31、ab4=new JLabel("職位:"); pan1.add(lab4); Object position="經(jīng)理","銷售人員","倉庫管理員" combobox_position= new JComboBox(position); pan1.add(combobox_position); lab5=new JLabel("工作表現(xiàn):"); pan1.add(lab5); Object perform="Perfect","Good","So
32、-so" combobox_perform= new JComboBox(perform); pan1.add(combobox_perform); lab6=new JLabel("銷售額/營業(yè)額:"); pan1.add(lab6); text_quantity=new JTextField(10); pan1.add(text_quantity); wageC=new JButton("工資:"); pan1.add(wageC); text_wage=new JTextField(10); pan1.add(text_wage); te
33、xt_wage.setEditable(false); this.add(pan1,BorderLayout.EAST); validate(); pan2=new JPanel(); add=new JButton("添加"); delete=new JButton("刪除"); seek=new JButton("查詢"); cancel=new JButton("退出"); pan2.add(add); pan2.add(delete); pan2.add(seek); pan2.add(cancel); t
34、his.add(pan2,BorderLayout.SOUTH); validate(); add.addActionListener(this); delete.addActionListener(this); seek.addActionListener(this); cancel.addActionListener(this); wageC.addActionListener(this); list.addMouseListener(new MouseAdapter() public void mouseClicked(MouseEvent e) Person thePerson=(Pe
35、rson)(list.getSelectedValue(); text_ID.setText(thePerson.ID); text_name.setText(theP); combobox_sex.setSelectedItem(thePerson.sex); combobox_position.setSelectedItem(thePerson.position); text_wage.setText(thePerson.wage); ); public void actionPerformed(ActionEvent e) if(e.getSource()=add)
36、if(!text_ID.getText().equals("") String s=(String) combobox_sex.getSelectedItem(); String p=(String) combobox_position.getSelectedItem(); personnel.addPerson(text_ID.getText(),text_name.getText(),s,p,text_wage.getText(); list.setListData(personnel.pList.toArray(); if(e.getSource()=delete)
37、personnel.deletePerson(text_ID.getText(); text_ID.setText(""); text_name.setText(""); text_quantity.setText(""); text_wage.setText(""); list.setListData(personnel.pList.toArray(); if(e.getSource()=seek) String id=JOptionPane.showInputDialog("請輸入要查詢的員工編號:&
38、quot;); Person thePerson=personnel.seekPerson(id); if(thePerson=null) JOptionPane.showMessageDialog(this,"查無此人!","查詢結(jié)果",JOptionPane.WARNING_MESSAGE); else String s="" text_ID.setText(thePerson.ID); text_name.setText(theP); combobox_sex.setSelectedItem(thePerso
39、n.sex); combobox_position.setSelectedItem(thePerson.position); text_wage.setText(thePerson.wage); s=text_ID.getText()+""+text_name.getText()+""+combobox_sex.getSelectedItem()+" "+combobox_position.getSelectedItem()+" "+text_wage.getText(); JOptionPane.showMessageDialog(this,"你要查詢的員工信息:n"+s,"查詢結(jié)果",JOpti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 4 《地球-我們的家園》(教學(xué)實(shí)錄)部編版道德與法治六年級下冊
- 化妝合同范例 簡易范例
- 開發(fā)項(xiàng)目技術(shù)合同范例
- 2025年馬鞍山貨運(yùn)上崗證考試題庫
- 大學(xué)商鋪合同范例
- 無錫農(nóng)村平房買賣合同范例
- 再生鋼材采購合同范例
- 農(nóng)村合伙購房合同范例
- 技術(shù)成果合同范例
- 汕頭律師合同范例
- 人教統(tǒng)編版高中語文必修下冊第六單元(單元總結(jié))
- DB13∕T 5542-2022 水利水電工程施工組織設(shè)計(jì)編制指南
- 液壓轉(zhuǎn)向器廠總平面布置課程設(shè)計(jì)
- 說明性語段的壓縮(課堂PPT)
- 拔牙-ppt課件
- 注塑機(jī)作業(yè)指導(dǎo)書
- 建筑結(jié)構(gòu)(第四版)
- 裝配式鋼板筒倉安裝技術(shù)經(jīng)驗(yàn)規(guī)程
- 液態(tài)粉煤灰臺背回填施工工藝
- 關(guān)于某中心各裝置現(xiàn)場整治實(shí)施細(xì)則之消漏
- 高標(biāo)準(zhǔn)農(nóng)田竣工驗(yàn)收報(bào)告
評論
0/150
提交評論