1、武汉工程大学 计算机科学与工程学院课程设计报告设计名称: 数据库原理与应用课程设计 设计题目: 企业员工信息管理设计与开发 学生学号: 1305120411 专业班级: 2013级网络工程01 学生姓名: 何彬 学生成绩: 指导教师(职称): 刘晓华(副教授) 完成时间: 2015-11-192015.12.10 武汉工程大学计算机科学与工程学院 制说明:1、报告中的第一、二、三项由课程设计负责人在课程设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成课程设计后填写。2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。3、指导教师评语一栏由指导教师就学生在整个课程设
2、计期间的表现、设计完成情况、报告的质量等方面给出客观、全面的评价。4、训练报告正文字数应不少于3000字,也可由指导教师根据本门课程设计的具体情况酌情增加字数或内容。5、平时表现成绩低于6分的学生,其课程设计成绩按不及格处理。6、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各项课程设计),各教研室可根据本项课程设计的特点及内容做适当的调整,并上报学院批准。成绩评定表学生姓名: 何彬 学号: 1305120411 班级: 网络工程01 类别合计分值各项分值评分标准实际得分合计得分备注平时表现1010遵守学习纪律,表现良好,积极完成课程设计任务,无旷课、迟到、早退等情况。设
3、计完成情况4020按照要求完成设计内容,方案合理,功能完善,设计工作量饱满,能运用专业知识和技能去发现与解决实际问题。20在设计过程中展现出了较强的学习能力、动手实践能力、团队协作能力和创新意识。报告质量5015报告格式规范,表述清晰,章节内容组织恰当。符号统一,图表完备,符合规范要求。参考文献数量在5篇以上,格式及引用符合要求。15报告内容翔实,结构严谨合理。课题背景介绍清楚,综述充分。设计与实现等主要过程完整,论述具体透彻。能运用所学专业知识对问题加以分析和求解。无抄袭现象。20设计报告对整个设计过程进行了全面总结,体现了收获,得出了有价值的结论或结果。总评成绩指导教师评语指导教师: (签
4、字) 日期: 年 月 日一、课程设计目的、条件、任务和内容要求:数据库原理与应用是专业基础课,数据库技术广泛应用于计算机的多个发展方向上。在学好数据库理论的同时,我们有必要掌握数据库设计的方法。数据库原理与应用课程设计是数据库教学中的实践环节,是对该课程知识的综合应用。通过设计,使学生巩固所学的理论基础知识,掌握数据库设计的全过程和方法,培养学生编写技术文档及开发数据库应用系统的能力。提高学生独立分析问题、解决问题的能力,锻炼和加强学生的动手能力。 设计任务书提供三个设计题目供学生选择(原则上选择每个题目的人数不超过10人)。在指导教师同意的情况下,学生也可以自己选择感兴趣的设计题目,以调动学
5、生的积极性和创造性,给学生充分的自主空间。设计内容要求:(1)通过系统的功能分析和数据分析进行系统的功能模块设计,数据库的概念结构设计(ER图),数据库的逻辑结构设计,数据库中的表、视图、存储过程、函数的结构和定义。(2)报告还要包括程序的运行环境、开发环境、程序的详细设计(主要功能实现的程序源代码)。(3)后台数据库选用SQL SERVER,前台开发工具不限,可自己选择VB、VC、JAVA等都可以。建议条件允许的情况下选择JAVA。(4)整个课程设计期间,要求学生必须与指导老师经常保持联系,其中几个主要阶段都要经指导老师审阅,一是为了及时发现问题,防止出现原则错误,二是便于指导老师掌握学生独
6、立完成设计的情况。 二、进度安排:数据库原理课程设计共计3周内完成,共计20个学时。第l3周下达课程设计任务书,并对每个课程任务进行详细的讲解。并且第13周开始进行系统调研,完成需求分析,包括数据分析和功能分析;第14-15周完成数据库设计、数据库实施和应用程序设计;第15周周四上午1-4节检查课程设计完成情况。提交报告时间:第16周周四下午。三、应收集资料及主要参考文献:1徐孝凯.数据库基础与SQL Server应用开发M.北京:清华大学出版社,2008. 2朱福喜.面向对象与Java程序设计M.北京:清华大学出版社,2009. 3孙浏毅.Java宝典M.北京:电子工业出版社,2009. 4
7、王国辉.Java数据库系统开发案例精选M.北京:人民邮电出版社,2007. 5伍俊良.课程设计与系统开发案例M.北京:清华大学出版社,2003. 6何旭洪.数据库系统开发实例导航M.北京:人民邮电出版社,2003.7陈刚MyEclipse从入门到精通M北京:清华大学出版社,2005.8钱雪忠主编.数据库原理及应用M 北京邮电大学出版社,2007.9 Bain.SQL server 2000数据仓库与Analysis ServicesM.中国电力出版社,200310王珊.数据库系统概论M.高等教育出版社,2014.11景楠.Java Web 应用开发:J2EE 和 TomcatM.北京:清华大学
8、出版社,2004.12陈雄华.Spring 企业级应用开发详解M 北京:电子工业出版社 ,2009.四、摘要:随着计算机技术的飞速发展,计算机在企业管理中应用得到普及,不仅是在企业中,在学校利用计算机实现管理势在必行。企业管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便计算机代替人工处理一些事务已成为必然。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。本系统是一个结合小型企业实际情况、具体制度的实际需求,采用功
9、能强大的Java作为开发工具、SQL作为数据库而开发出来的人事管理系统。能完成人事管理的基本功能,包括系统管理、系统信息管理、数据信息查询、数据信息浏览,本系统可以满足企业简单人事管理的需要。系统具有友好的界面,操作方便等优点。关键词:SQL数据库;综合测评管理;Java五、Abstract:With the rapid development of computer technology, computer application in enterprise management has been widely used, not only in the enterprise, it is
10、imperative to use computer to achieve management in schools. Enterprise management system is an indispensable part of enterprise management, and it is a necessary condition to meet the requirements of the enterprise system. It is a necessary condition to promote the labor and personnel to the scient
11、ific and standardized. With its powerful performance, the computer has brought great convenience to peoples work, study and life. The whole human society has entered a high degree of information, peoples use of information and data has entered a stage of automation, networking and socialization. Thi
12、s system is a combination of the actual situation of small enterprises, the actual needs of the specific system, the use of powerful Java as a development tool, SQL as the database and the development of the personnel management system. To complete the basic functions of personnel management, includ
13、ing system management, system information management, data query, data browsing, the system can meet the needs of the enterprises simple personnel management which has friendly interface, convenient operation and so on. Keywords:SQL database;integrated appraisal management; Java武汉工程大学计算机科学与工程学院 课程设计
14、报告目 录摘 要IIAbstractIII第一章 课题概述11.1 课题背景11.2设计内容1第二章 设计简介及设计方案论述22.1 设计简介22.2 设计方案2第三章 详细设计43.1 数据库设计43.2 界面和功能设计(关键代码)4第四章 设计结果及分析314.1 系统功能结果及分析314.2 员工管理功能实现结果及分析32总 结36致 谢37参考文献38摘 要随着计算机技术的飞速发展,计算机在企业管理中应用得到普及,不仅是在企业中,在学校利用计算机实现管理势在必行。企业管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。计
15、算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便计算机代替人工处理一些事务已成为必然。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。本系统是一个结合小型企业实际情况、具体制度的实际需求,采用功能强大的Java作为开发工具、SQL作为数据库而开发出来的人事管理系统。能完成人事管理的基本功能,包括系统管理、系统信息管理、数据信息查询、数据信息浏览,本系统可以满足企业简单人事管理的需要。系统具有友好的界面,操作方便等优点。关键词:SQL数据库;综合测评管理;Java AbstractWith the rapid development
16、 of computer technology, computer application in enterprise management has been widely used, not only in the enterprise, it is imperative to use computer to achieve management in schools. Enterprise management system is an indispensable part of enterprise management, and it is a necessary condition
17、to meet the requirements of the enterprise system. It is a necessary condition to promote the labor and personnel to the scientific and standardized. With its powerful performance, the computer has brought great convenience to peoples work, study and life. The whole human society has entered a high
18、degree of information, peoples use of information and data has entered a stage of automation, networking and socialization. This system is a combination of the actual situation of small enterprises, the actual needs of the specific system, the use of powerful Java as a development tool, SQL as the d
19、atabase and the development of the personnel management system. To complete the basic functions of personnel management, including system management, system information management, data query, data browsing, the system can meet the needs of the enterprises simple personnel management which has frien
20、dly interface, convenient operation and so on. Keywords:SQL database;integrated appraisal management; Java - III -第一章 课题概述1.1 课题背景本系统是一个结合小型企业实际情况、具体制度的实际需求,采用功能强大的Java作为开发工具、SQL作为数据库而开发出来的人事管理系统。能完成人事管理的基本功能,包括系统管理、系统信息管理、数据信息查询、数据信息浏览。1.2 设计内容通过对一些典型的人事管理系统的考察、分析,要求本系统实现设计统一友好的操作界面,能保证系统的易用性,同时规范、
21、完善的基础信息设置,对信息进行全面管理以及功能强大的查询功能,以方便管理员查询各种信息。1.信息需求分析:(1)员工基本信息:职工号、姓名、性别、工资、家庭住址、联系电话。(2)员工工资基本信息:职工号、姓名、性别、工资。2.功能需求分析:(1)登录信息管理:出现欢迎界面。(2)员工信息查询:按职工号对姓名、性别、年龄、家庭住址、联系电话的查询。(3) 员工工资查询:按工资、职工号、性别、和工资分别对员工工资进行查询。(4) 浏览员工信息:浏览员工信息个人基本信息和工资信息。(5)工资信息管理功能:对职工号、姓名、性别、工资进行查询和修改。(6)互动:管理人员和使用人员之间的互动。(7)员工信
22、息管理功能:管理员工的相关信息。包括员工的查询,添加,删除,修改以及浏览员工的基本信息和工资信息。- 38 -第二章 设计简介及设计方案论述2.1 设计简介 企业员工管理系统是企业和事业单位常见的计算机信息管理系统,它的主要任务是对员工信息进行日常的管理,如员工信息的输入、查询、修改、增加、删除,迅速准确地完成员工信息的统计和计算和汇总,快速打印出报表。利用java语言和SQL开发出一个企业员工信息管理系统,开发这个系统的步骤主要有系统分析、系统设计、系统的实现。在系统的设计中,详细的展现了系统的各个模块和菜单的设计等。在系统的实现中将会在菜单栏将会列出相应的功能和操作选项,提供了很好的人机对
23、话界面。2.2设计方案2.2.1 系统框架设计图本系统需要实现员工信息包括员工姓名,性别和员工工资信息的输入、查询、修改、增加、删除、输出等功能,使用简单友好的界面完成员工信息的管理,主要功能和系统实现的框架如图2.1所示。2.2.2 设计方案论述1.企业信息管理系统员工信息表,表中包括员工编号、姓名、性别、年龄、家庭住址、联系电话,以及各个列名的数据类型,员工信息表如表2-1所示:2.员工工资管理中应当包括员工编号和工资以及各个列名的数据类型,工资信息表如表2-2所示:3.员工工资查询表中应当包括员工编号、姓名和工资以及各个列名的数据类型,员工工资查询表如表2-3所示: 4.员工信息查询表中
24、应当包括员工编号和员工姓名以及各个列的数据类型,员工信息查询表如表2-4所示:第三章 详细设计3.1 数据库设计(1)企业员工信息的E-R图表示员工管理的概念模型如图3.1所示:(2)数据库关系图,主要显示员工信息管理中的主外键之间的关系如图3.2所示:3.2界面和功能设计(关键代码)(1)连接数据库类DBConnect.java,该类主要实现java环境和数据库之间的连接,以便实现数据库中的数据可以被调用和增加或者修改。public class DBConnect /创建数据库连接类DBConnect /静态方法提高数据库的连接效率public static Connection getCo
25、nn() throws Exception /加载JDBC驱动Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);/以系统默认用户身份,连接数据库Employeereturn DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=Employee,sa,123456);(2) 登陆界面和主界面框架MainFrame.java,使用该类可以完成菜单栏的设计包括退出系统,员工管理下的子菜单有添加员工、修改员工、删除员工,工资管理下的子菜单有添
26、加工资、修改工资、工资查询,查询功能子菜单下有工号查询、姓名查询以及帮助菜单栏。/创建主框架类MainFramepublic class MainFrame extends JFrame implements ActionListener /创建内容面板JPanel contentPane;/创建菜单栏组件的对象JMenuBar jMenuBar1=new JMenuBar();/菜单条JMenu jMenu0=new JMenu(系统);/菜单JMenuItem jMenuItem0=new JMenuItem(退出);/子菜单JMenu jMenu1=new JMenu(职工管理);JMe
27、nuItem jMenuItem1=new JMenuItem(添加职工);JMenuItem jMenuItem2=new JMenuItem(修改职工);JMenuItem jMenuItem3=new JMenuItem(删除职工);JMenu jMenu2=new JMenu(工资管理);JMenuItem jMenuItem4=new JMenuItem(添加工资);JMenuItem jMenuItem5=new JMenuItem(修改工资);JMenuItem jMenuItem8=new JMenuItem(工资查询);JMenu jMenu3=new JMenu(职工查询)
28、;JMenuItem jMenuItem6=new JMenuItem(按工号查询);JMenuItem jMenuItem7=new JMenuItem(按姓名查询);JMenu jMenu4=new JMenu(帮助);JMenuItem jMenuItem9=new JMenuItem(互动);/创建标签,用于显示信息JLabel jLabel1=new JLabel(职工和工资管理小系统);JLabel jLabel2=new JLabel(网络工程01班 何彬);/创建构造方法public MainFrame()try/关闭框架窗口时的默认事件方法setDefaultCloseOpe
29、ration(EXIT_ON_CLOSE);/调用初始化方法jbInit();catch(Exception exception)exception.printStackTrace();/界面初始化方法private void jbInit() throws Exception/创建内容面板contentPane =(JPanel) getContentPane();/设置内容面板的布局为空contentPane.setLayout(null);/主框架的大小setSize(new Dimension(400,360);/主框架的标题setTitle(职工和工资管理小系统);/添加事件监听器j
30、MenuItem0.addActionListener(this);jMenuItem1.addActionListener(this);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);jMenuItem4.addActionListener(this);jMenuItem5.addActionListener(this);jMenuItem6.addActionListener(this);jMenuItem7.addActionListener(this);jMenuItem8.addActionL
31、istener(this);jMenuItem9.addActionListener(this);/添加菜单条到主框架setJMenuBar(jMenuBar1);/添加菜单到菜单条jMenuBar1.add(jMenu0);jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenu3);jMenuBar1.add(jMenu4);/添加菜单项到菜单jMenu0.add(jMenuItem0);jMenu1.add(jMenuItem1);jMenu1.add(jMenuItem2);jMenu1.add(jMenuItem3
32、);jMenu2.add(jMenuItem4);jMenu2.add(jMenuItem5);jMenu2.add(jMenuItem8);jMenu3.add(jMenuItem6);jMenu3.add(jMenuItem7);jMenu4.add(jMenuItem9);/添加标签到主框架内容面板contentPane.add(jLabel1);contentPane.add(jLabel2);/设置标签组件的大小和字体jLabel1.setFont(new java.awt.Font(黑体,Font.BOLD,20);jLabel1.setBounds(new Rectangle(6
33、5,70,275,55);jLabel2.setFont(new java.awt.Font(黑体,Font.BOLD,16);jLabel2.setBounds(new Rectangle(90,150,200,35);/菜单项事件对应的处理方法public void actionPerformed(ActionEvent actionEvent)/点击“系统”菜单下的“退出”菜单项if(actionEvent.getSource()=jMenuItem0)System.exit(0);/点击“职工管理”菜单下的“修改职工”菜单项if(actionEvent.getSource()=jMen
34、uItem2)/创建“修改职工”面板对象ModifyEmployee ModifyEmp=new ModifyEmployee();this.remove(this.getContentPane();/加载“修改职工”面板的对象到主框架this.setContentPane(ModifyEmp);this.setVisible(true);/点击“职工管理”菜单下的“删除职工”菜单项if(actionEvent.getSource()=jMenuItem3)/创建“删除职工”面板对象DeleteEmployee DeleteEmp=new DeleteEmployee();this.remov
35、e(this.getContentPane();/加载“删除职工”面板的对象到主框架this.setContentPane(DeleteEmp);this.setVisible(true);/点击“工资管理”菜单下的“添加工资”菜单项if(actionEvent.getSource()=jMenuItem4)/创建工资添加的面板对象AddSalary AddSal=new AddSalary();this.remove(this.getContentPane();/加载工资添加面板的对象到主框架this.setContentPane(AddSal);this.setVisible(true);
36、/点击“工资管理”菜单下的“修改工资”菜单项if(actionEvent.getSource()=jMenuItem5)/创建工资修改的面板对象ModifySalary ModifySal=new ModifySalary();this.remove(this.getContentPane();/加载工资修改面板的对象到主框架this.setContentPane(ModifySal);this.setVisible(true);/点击“工资管理”菜单下的“工资查询”菜单项if(actionEvent.getSource()=jMenuItem8)/创建工资修改的面板对象SalaryInqui
37、re SalaryInq=new SalaryInquire();this.remove(this.getContentPane();/加载工资修改面板的对象到主框架this.setContentPane(SalaryInq);this.setVisible(true);/点击“职工查询”菜单下的“按工号查询”菜单项if(actionEvent.getSource()=jMenuItem6)/创建“按工号查询”面板对象InquireOnID OnID=new InquireOnID();/移除主框架上原有的内容this.remove(this.getContentPane();this.set
38、ContentPane(OnID);this.setVisible(true);/点击“职工查询”菜单下的“按姓名查询”菜单项if(actionEvent.getSource()=jMenuItem7)/创建“按姓名查询”面板对象InquireOnName OnName=new InquireOnName();/移除主框架上原有的内容this.remove(this.getContentPane();this.setContentPane(OnName);this.setVisible(true);/点击“帮助”菜单下的“互动”菜单项if(actionEvent.getSource()=jMe
39、nuItem9)/创建“帮助”面板对象EmployeeHelp EmployeeH=new EmployeeHelp();/移除主框架上原有的内容this.remove(this.getContentPane();this.setContentPane(EmployeeH);this.setVisible(true);(3)添加职工类AddEmployee.java,该类中主要使用事件的动作和侦听方法来实现对按钮的侦听,设置按钮和文本框方便信息填写,判断输入信息的准确性,提示用户,同时调用数据库,以完成员工信息的录入。/创建“添加职工“面板类public class AddEmployee e
40、xtends JPanel implements ActionListener / 声明连接数据库对象Connection con;/ 声明SQL语句对象Statement st;/ 创建组件对象:标签、文本行、单选JLabel jLabel1 = new JLabel(职工工号);JLabel jLabel2 = new JLabel(职工姓名);JLabel jLabel3 = new JLabel(职工性别);JLabel jLabel4 = new JLabel(职工年龄);JLabel jLabel5 = new JLabel(家庭住址);JLabel jLabel6 = new J
41、Label(联系电话);JTextField jTextField1 = new JTextField();JTextField jTextField2 = new JTextField();JTextField jTextField3 = new JTextField();JTextField jTextField4 = new JTextField();JTextField jTextField5 = new JTextField();JRadioButton jRadioButton1 = new JRadioButton(男);JRadioButton jRadioButton2 =
42、new JRadioButton(女);ButtonGroup buttonGroup1 = new ButtonGroup();JButton jButton1 = new JButton(添加职工);/ 构造方法public AddEmployee() try / 调用初始化方法jbInit(); catch (Exception exception) exception.printStackTrace();/ 界面初始化方法private void jbInit() throws Exception / 连接数据库con = DBConnect.getConn();st = con.cr
43、eateStatement();/ 框架的布局this.setLayout(null);/ 设置各组件的大小jLabel1.setBounds(new Rectangle(21, 17, 64, 24);jLabel2.setBounds(new Rectangle(21, 51, 53, 22);jLabel3.setBounds(new Rectangle(21, 86, 61, 27);jLabel4.setBounds(new Rectangle(21, 122, 59, 25);jLabel5.setBounds(new Rectangle(21, 168, 54, 24);jLabel6.setBounds(ne