




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳理工大学课程设计专用纸 .19目录1 问题定义12 可行性研究22.1 系统流程图22.2 高层数据流图32.3 可行性分析32.3.1 技术可行性32.3.2 操作可行性32.3.3 经济可行性32.4 开发计划43 需求分析43.1 ER图43.2 细化的数据流图53.3 数据字典63.4 状态转换图74 概要设计84.1 系统层次图84.2 IPO表84.3 数据库设计95 详细设计105.1 人机界面设计105.2 过程设计115.2.1 修改员工信息模块代码115.2.2 显示员工信息模块代码156 测试报告176.1 修改员工信息模块176.2 显示员工信息模块187 总结18参考文献191 问题定义关于系统规模和目标的报告书项目名称:人事档案管理系统问题:人事档案管理系统的设计项目目标:对单位的人事情况进行管理,完成新职工的登记、职工信息的维护、调离和退休情况的登记,并能按指定的要求完成查询、统计、排序等功能。项目规模:1000行代码左右初步设想:用Java语言编写一个简单的能达成项目目标的人事档案管理系统可行性研究:如下2 可行性研究2.1 系统流程图图2-1 人事档案管理系统流程图2.2 高层数据流图图2-2 人事档案管理系统数据流图2.3 可行性分析2.3.1 技术可行性要求和目标:本系统要求对单位的人事情况进行管理,完成新职工的登记、职工信息的维护、调离和退休情况的登记,并能按指定的要求完成查询、统计、排序等功能。可能实现的方法:本组准备采用java语言编写程序界面和数据处理部分,使用java链接数据库,用数据库完成人员信息的保存,修改。用SQL语言完成对数据库中的内容进行查询排序等功能。2.3.2 操作可行性本系统采用图形界面,有良好的中文提示和界面提示。能保证用户能够正常使用该系统完成需求的功能。2.3.3 经济可行性本系统为课程设计,不产生经济效益,故暂不考虑经济可行性2.4 开发计划人事档案管理系统的粗略计划阶段要用的时间(天)可行性研究1需求分析3概要设计2详细设计2实现2总计103 需求分析3.1 ER图图3-1 员工对象ER图3.2 细化的数据流图图3-2 细化的数据流图3.3 数据字典名称:员工信息别名:员工描述:员工的各项基本信息定义:员工信息=员工编号+姓名+所在部门+性别+年龄+工资+是否退休+工龄员工编号=4数字4姓名=1字符4所在部门=1字符10性别=男|女年龄=1数字2工资=1数字10是否退休=是|否工龄=1数字2数字=0|1|2|3|4|5|6|7|8|9位置:员工信息数据库,输出到程序界面 3.4 状态转换图图3-4 人事档案管理系统状态转换图4 概要设计4.1 系统层次图图4-1 系统层次图4.2 IPO表IPO表系统:人事档案管理系统模块:修改员工信息编号:1.2作者: 任毅日期:2011.7.7被调用:信息维护1.0调用:输入: 员工编号X新员工信息Y输出:新员工信息 处理:IF X存在; THEN 删除编号为X的员工信息; 添加新员工信息Y,该员工编号为X;局部数据元素:新员工信息Y注释:图4-2(1) 修改员工信息模块的IPO表IPO表系统:人事档案管理系统模块:显示员工信息编号:2.1作者: 任毅日期:2011.7.7被调用:信息查询2.0调用:输入:输出:员工信息表 处理:显示全部员工信息 局部数据元素:注释:图4-2(2) 显示员工信息模块的IPO表4.3 数据库设计此系统中为员工信息涉及一个名为person的数据库,数据库中包含一个名为person的表。Person表含有8个字段,用来保存员工的各项信息。分别为:pID,员工编号pname,姓名psex,性别pdept,所在部门pwages,工资pretire,是否退休pworkyear,工龄表设计如图:图4-3 数据库表设计5 详细设计5.1 人机界面设计图5-1(1) 编辑员工信息模块界面图图5-1(2) 显示员工信息模块界面图5.2 过程设计图5-2(1) 修改员工信息模块的N-S图图5-2(2) 显示员工信息模块的N-S图5.2.1 修改员工信息模块代码import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;public class Editperson extends JFrame implements ActionListener/* * */private static final long serialVersionUID = 1L;private JLabel LID = new JLabel(员工编号);private JTextField TID = new JTextField();private JLabel Lname = new JLabel(姓名);private JTextField Tname = new JTextField();private JLabel Lsex = new JLabel(性别);private JTextField Tsex = new JTextField();private JLabel Lage = new JLabel(年龄);private JTextField Tage = new JTextField();private JLabel Ldept = new JLabel(所在部门);private JTextField Tdept = new JTextField();private JLabel Lwages = new JLabel(工资);private JTextField Twages = new JTextField();private JLabel Lretire = new JLabel(是否退休);private JTextField Tretire = new JTextField();private JLabel Lworkyears = new JLabel(工龄);private JTextField Tworkyears = new JTextField();private JButton Bque = new JButton(查询);private JButton Bedi = new JButton(编辑);String sql = ;public Editperson()super(编辑员工信息);this.setSize(500,300);this.setDefaultCloseOperation(HIDE_ON_CLOSE);this.setVisible(true);this.setLayout(new GridLayout(9,2);this.add(LID);this.add(TID);this.add(Lname);this.add(Tname);this.add(Lsex);this.add(Tsex);this.add(Lage);this.add(Tage);this.add(Ldept);this.add(Tdept);this.add(Lwages);this.add(Twages);this.add(Lretire);this.add(Tretire);this.add(Lworkyears);this.add(Tworkyears);this.add(Bque);this.add(Bedi);Bque.addActionListener(this);Bedi.addActionListener(this);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif(e.getSource()= Bque)String ID = TID.getText();sql = SELECT * FROM person WHERE pID = +ID+;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException a)JOptionPane.showMessageDialog(null, lianjieshibai);tryConnection con;con = DriverManager.getConnection(jdbc:odbc:person1,);Statement sta = con.createStatement();ResultSet rs = sta.executeQuery(sql);if(rs.next()String name = rs.getString(pname);String sex = rs.getString(psex);String age = rs.getString(page);String dept = rs.getString(pdept);String wages = rs.getString(pwages);String retire = rs.getString(pretire);String workyears = rs.getString(pworkyear);Tname.setText(name);Tsex.setText(sex);Tage.setText(age);Tdept.setText(dept);Twages.setText(wages);Tretire.setText(retire);Tworkyears.setText(workyears);elseJOptionPane.showMessageDialog(null, 失败);catch (Exception ee)JOptionPane.showMessageDialog(null, jfkdalgj);if(e.getSource()=Bedi)String ID = TID.getText();String name = Tname.getText();String sex = Tsex.getText();String age = Tage.getText();String dept = Tdept.getText();String wages = Twages.getText();String retire = Tretire.getText();String workyears = Tworkyears.getText();sql = delete * from person where pID = +ID+;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException a)JOptionPane.showMessageDialog(null, lianjieshibai);tryConnection con;con = DriverManager.getConnection(jdbc:odbc:person1,);Statement sta = con.createStatement();int i = sta.executeUpdate(sql);if(i0)sql=INSERT INTO person VALUES (+ID+,+name+,+sex+,+age+,+dept+,+wages+,+retire+,+workyears+); sta.executeUpdate(sql); JOptionPane.showMessageDialog(null, 更新成功);elseJOptionPane.showMessageDialog(null, 更新失败);catch (Exception ee)JOptionPane.showMessageDialog(null, jfkdalgj);public static void main(String args) / TODO Auto-generated method stubnew Editperson();5.2.2 显示员工信息模块代码import java.awt.GridLayout;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JTextArea;public class Allinfo extends JFrame/* * */private static final long serialVersionUID = 1L;private JTextArea info = new JTextArea();String sql = ;public Allinfo()super(员工信息);this.setSize(1000,200);this.setDefaultCloseOperation(HIDE_ON_CLOSE);this.setVisible(true);this.setLayout(new GridLayout(1,1);this.add(info);sql = select * from person;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException a)JOptionPane.showMessageDialog(null, lianjieshibai);tryConnection con;con = DriverManager.getConnection(jdbc:odbc:person1,);Statement sta = con.createStatement();ResultSet rs = sta.executeQuery(sql);String text = ID t 姓名 t 性别 t 年龄 t 所在部门 t 工资 t 是否退休 t 工龄 ;text += n;info.append(text);while(rs.next()info.append(rs.getString(pID)+t);info.append(rs.getString(pname)+t);info.append(rs.getString(psex)+t);info.append(rs.getString(page)+t);info.append(rs.getString(pdept)+t);info.append(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年建筑消防设施技术咨询合同
- 二零二五版豪华邮轮买卖合同范本详析
- 2025版工程投标担保合同电子版下载
- 二零二五年度房地产投资咨询与融资服务合同
- 2025版第八章行政合同备案指南
- 增强现实技术商业计划书范例指导
- 二零二五年度驾驶员劳动合同解除与雇佣合同范本
- 二零二五版离婚协议及财产转让合同范本解读与操作
- 2025版新能源企业研发工程师聘用合同
- 智能楼宇电气控制系统集成方案
- 装饰员工薪资工资表
- 医务人员之间的沟通技巧
- GB/T 20671.7-2006非金属垫片材料分类体系及试验方法第7部分:非金属垫片材料拉伸强度试验方法
- GB/T 10781.1-2006浓香型白酒
- 轴孔用YX型密封圈规格尺寸
- 肾上腺疾病外科治疗
- 第9章探放水钻机及相关设备的安全使用.
- 人教版三年级下册体育与健康教案(全册教学设计)
- 交通部农村公路建设标准指导意见
- 卫浴店面管理
- 清表施工方案4常用
评论
0/150
提交评论