




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南 京 林 业 大 学 课程设计 学生姓名: 学号: 学生姓名: 学号: 学院(系) : 经济管理学院 专 业: 电子商务 题 目: 档案管理系统的开发与设计 课 程: 高级程序设计与开发 教师: 王磊 2 小组成员分工小组成员分工 李媛媛李媛媛 利用 java 工具开发简单的企业档案管理信息系统; 设计 accesss 数据库中的数据表以及实现系统对数据库的访 问; 编写 java 课程设计报告; 业务流程分析以及代码的编写; 钱佳佳钱佳佳 系统代码的设计与代码的编写; 数据字典的编写和绘制功能结构图; 编写 java 课程设计报告。 3 目目 录录 1 系统分析系统分析.4 1.1 需求分析需求分析.4 1.2 业务流程分析业务流程分析.5 1.3 数据字典数据字典.5 2 系统设计系统设计.6 2.1 系统设计的目标系统设计的目标.6 2.2 代码设计代码设计.6 2.3 I/O 设计设计.8 图 3-13 信息验证页面.13 2.4 系统功能结构图系统功能结构图.13 3 系统实施系统实施.14 3.1 程序流程图程序流程图.14 3.2 源程序源程序.14 3.3 系统使用说明书系统使用说明书.25 1 1 系统分析系统分析 4 1.1 需求分析需求分析 经过对现在业务的详细分析,可归纳如下:人事部信息管理人员根据相关的企业内 部文件,对于企业内部人员的信息进行录入、检索,各部门管理人员可登录系统查询各 部门的人员的信息,针对某一项目可调出相关的负责人、经手人等。 公司的基本职能框架如图 2-1 公司 销售部仓管部人事部财务部采购部 图 1-1 公司职能结构 1.2 业务流程分析业务流程分析 由于系统较为复杂,所以将系统分为两部分作图,图 2-2 为整个人事档案管理的信 息录入及查看检索的业务流程图,在此过程中总经理及高层管理人员的登录后的界面与 一般员工的查看检索的范围略有不同,这是从保护企业的内部信息的出发点考虑的。 人事任免 文件附件 人事调任 文件附件 人事部 经理 审核批准 人事任免 文件 人事调任 文件 总经理 雇佣决策 录入系统 人事管 理员 人事档案 各部门 人员 人事档案 附件 查看检索 相关项目 信息附件 高层管 理人员 登录系统 查看检索 相关项目 信息 人员奖惩 文件附件 图 1-2 1.3 数据字典数据字典 人事档案管理部分我们举例有人事任免文件、人事调任文件、人事奖惩文件等,在 此将人事奖惩文件作为举例分析。 表 2-1 人事任免文件 5 数据流名称人事任免标识符F1 描述人事任职及免职文件 数据流来源高层决策数据流去向档案登记处理 流通量30 张天 数据结构 名称类型长度取值范围 日期Date8 文件代码Text6 奖惩人员姓名Text10 工号Text10 奖惩项目Text10 备注Text10 2 系统设计系统设计 2.1 系统设计的目标系统设计的目标 管理信息系统设计阶段的工作是一项技术性强、涉及面广的活动,主要任务是从管 理信息系统的总体目标出发,根据系统分析阶段对系统的逻辑功能的要求,并考虑到管 理、经济、技术和运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技 术方案,合理选择计算机的软、硬件设备,提出系统的实施计划,确保总体目标的实现。 系统设计阶段的工作主要分两步完成,首先做概要介绍,将用户需求转化成软件的系统 结构,然后是详细设计,通过代码设计,IO 设计,数据库设计以及系统功能模块设计 对结构进行细化,得到详细的数据结构、输入输出界面等。 2.2 代码设计代码设计 代码的设计问题是一个科学管理问题。设计出一个好的代码方案对于系统的开发工 作是一件极为有利的事情。它可以使很多机器处理变得十分方便,另外还把一下现阶段 计算机很难处理的工作变得简单。该系统采用层次代码设计方法。 (1)惟一性原则每个代码必须能惟一标识一个事物或某一特征,这是代码设计的首要 原则。 (2)规范性原则系统的代码必须按一定的标准来设计,如行业标准或企业标准,因为 只有规范化的代码才具有可行性。 (3)可扩充性原则系统中代码应留有一定余地,以适应系统的发展扩充要求,如文件 编号号可以由 5 位扩充到 6 位。 (4)简明性原则在系统的要求的前提下,尽量使代码长度缩短,容易识别使用。 该系统中的代码即按照以上基本原则设计,如果用户使用不规范数据的话,系统会有提 示。 代码含义作用 6 所谓代码,是指代表事物的名称、属性、状态的符号和记号。其作用如下: (1)为实体或属性提供了唯一确定的含义。 (2)提高计算机处理的效率和精确度,便于校验、检索、分类和统计。 (3)用代码代表冗长的字符、汉字串可以节省存储。 代码具体设计 由于公司奖惩项目主要为 3 个不同的方面,奖惩事项根据不同号的奖惩文件来登记, 每月按照奖惩文件顺序从 1001 至 9999 编号,因此,将奖惩文件的代码设置为组合码, 设置方案如图所示。 部门号+部门编号=工号 奖惩文件号 奖惩金额号 奖惩事件号 图 2-1 代码设计图 表 2-1 部门代号 代码部门号 01销售部 02采购部 03仓管部 04人事部 05财务部 06其他 表 2-2 奖励编号 代码奖惩金额号 201奖励金额 500 202奖励金额 1000 203奖励金额 1500 204奖励金额 2000 301惩处金额 500 302惩处金额 1000 303惩处金额 1500 XXXXXXXXXX0X+XXX 7 304惩处金额 2000 表 2-3 项目标号 代码奖惩事件号 J01奖励本月 01 号项 目 C01惩处本月 01 号项 目 人事奖惩文件代码的校验位的计算,例如:假设公司本月对销售部 001 号员工就本 月发生的以笔大型业务(根据 01 好项目的 0003 号奖励文件)进行奖励,本月对其发放 奖金 1000 元人民币,则该人事奖惩文件代码应该为 J01 202 0003 01001,取权因子为 14,13,12,11,10,9,8,7,6,5,4,3,2,1 为模。则有 014113212011210090807360514030211=80 ;8014=10 ; 余数是 10 即为校验位。 代码(含校验位)的正确输入应为 J01 202 0003 01001 10。 2.3 I/O 设计设计 系统设计的过程和系统实施的过程恰好相反,并不是从输入设计到输出设计,而是 从输出设计到输入设计,这是因为输出设计直接和用户需求相联系,设计的出发点应该 是保证输出方便地为用户服务,正确地反映用户所需要的有用信息。 输出设计输出设计 输出设计的主要目的是满足用户和管理者对数据和信息的要求。本系统所选用的输 出方式有查询显示输出、信息统计输出。见表 3-4 表 2-4 人事档案管理系统菜单系统 文件录入文件查询文件修改文件删除文件浏览退出系统 图 2-2 系统菜单界面 信息管理的输出主要是显示各种管理信息,包括:人员基本信息、奖惩信息,这是 8 一种实时性要求很高的输出,输出设备是显示器,如图 3-1 便是一个输出界面。查询显示 输出的信息主要是各种查询结果,包括考核信息目录等。信息统计输出的信息主要是统 计各类信息,包括:文件编号、文件名称、员工姓名、文件对象、登记时间、备注信息 等,这有利于管理者更好的掌握各种信息,能及时地补充货源。 数据表设计数据表设计 图 2-3 档案信息字段 图 2-4 用户信息字段 图 2-5 档案信息综合表 输入设计输入设计 在计算机信息系统中,输入数据的正确性决定着整个系统质量的好坏。若输入数据 缺乏精确性和适时性,即使计算机处理十分正确,也不可能得到可靠的输出信息,最佳 的信息系统始于最佳的输入系统。 本系统的应用采用的输入方式主要是键盘和鼠标输入,便于检索信息。因此,友好 的输入界面变得非常重要,必须保证用户在输入时方便、安全、高效。 9 图 2-6 用户登录界面 图 2-7 主界面 图 2-8 员工档案输入界面 10 图 2-9 登记信息界面 图 2-10 删除员工档案信息界面 11 图 2-11 文件档案信息统计界面 图 2-12 用户密码修改界面 12 图 2-13 信息验证页面 2.4 系统功能结构图系统功能结构图 功能模块设计 人事档案管理 人 事 档 案 登 记 人 事 档 案 删 除 人 事 档 案 修 改 人 事 档 案 查 询 用 户 修 改 密 码 图 3-14 功能模块图 本系统开发的目的是为了能够为企业员工提供了一套操作简单、应用便捷的人事档 案管理系统,以提高人事管理的能力及效率的目的,实现了企业内部的信息化管理。因 此基本功能设计如下: 人事档案登记:便于人事信息管理人员将员工信息录入系统。 人事档案删除:便于人事信息管理人员对已录入系统的免职员工信息删除。 人事档案修改:便于人事信息管理人员及时的对已录入系统的调任员工、奖惩项目等信 息进行修改。 人事档案查询:便于管理人员、一般企业员工对于企业内部员工的信息的查询了解。 用户修改密码:便于用户对自己登陆系统的密码进行修改,保障内部信息的安全性。 13 3 系统实施系统实施 3.1 程序流程图程序流程图 输入密码 判 断 系统开始 判 断 档案查询档案输入档案删除 档案目录 概览 修改密码 退 出 失 败 退 出 成 功 图 3-1 程序流程图 3.2 源程序源程序 (1)菜单界面程序 package kcsj; import java.awt.*; import java.awt.event.*; import javax.swing.SwingConstants; public class ggg public static void main(String args) MyMenuFrame mf=new MyMenuFrame(); class MyMenuFrame extends Frame MenuBar m_MenuBar; 14 Menu menuluru,menuchaxun,menuxiugai,menusc,menuliulan; MyMenuFrame() super(欢迎进入文件管理系统); m_MenuBar=new MenuBar(); menuluru=new Menu(文件录入); menuchaxun=new Menu(文件查询); menuxiugai=new Menu(文件修改); menusc=new Menu(文件删除); menuliulan=new Menu(文件浏览); m_MenuBar.add(menuluru); m_MenuBar.add(menuchaxun); m_MenuBar.add(menuxiugai); m_MenuBar.add(menusc); m_MenuBar.add(menuliulan); this.setMenuBar(m_MenuBar); setSize(400,200); setVisible(true); (2)主界面程序 package kcsj; import .*; import java.sql.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; import javax.swing.*; import javax.swing.border.*;import java.util.*; class Book extends JFrame implements ActionListener JButton QueryScore=new JButton(文件查询); JButton QueryXuefen=new JButton(信息登记); JButton jiangfa=new JButton(员工信息删除); JButton xuanke=new JButton(文件档案信息); JButton gaiMima=new JButton(修改密码); JMenuBar mb = new JMenuBar(); JPanel jp=new JPanel(); Container cp=getContentPane(); Stringusername; Book() Book(String username) this.username=username; mb.add(QueryScore); 15 mb.add(QueryXuefen); mb.add(jiangfa); mb.add(xuanke); mb.add(gaiMima); cp.add(mb,North); jp.setBorder(BorderFactory.createTitledBorder(BorderFactory .createLineBorder(Color.blue, 2),null, TitledBorder.CENTER, TitledBorder.TOP); jp.setLayout(new BorderLayout(); JLabel label1 = new JLabel(new ImageIcon(4.jpg); jp.add(label1); /* JLabel JL=new JLabel(欢迎登陆,SwingConstants.CENTER); jp.add(JL,North);*/ JLabel label2 = new JLabel(new ImageIcon(2.jpg); /jp.add(label2,South); JScrollPane scrollpane=new JScrollPane(jp); cp.add(scrollpane); setTitle(欢迎登陆); Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width; int y=screen.height; setSize(x,y); setSize(600,600); int xcenter=(x-600)/2; int ycenter=(y-600)/2; setLocation(xcenter,ycenter); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); QueryScore.addActionListener(this); QueryXuefen.addActionListener(this); jiangfa.addActionListener(this); xuanke.addActionListener(this); gaiMima.addActionListener(this); public void actionPerformed(ActionEvent e) String cmd=e.getActionCommand(); if (cmd.equals(文件查询) new QueryBook(); if (cmd.equals(信息登记) new BookIn(); 16 if (cmd.equals(员工信息删除) new RemoveBook(); if (cmd.equals(文件档案信息) new BookBrower().showRecord(); if (cmd.equals(修改密码) new UpdateMima(username); public static void main(Stringargs) new Book(); (3)档案管理界面代码 package kcsj; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.Container; import java.util.*; import java.sql.*; class BookBrower implements ActionListener JFrame f; Container cp; JPanel jpS,jpanelWest; JButton jbt1,jbt2;JLabel label,L;JTable table; Object columnName=文件编号,文件名称,员工姓名,文件对象,登记时间, 备注信息; Object ar =new Object806; String sno; String count=xx; BookBrower() f=new JFrame(); cp=f.getContentPane();jpS=new JPanel(); jpanelWest=new JPanel(); jbt1=new JButton(确定); jbt2=new JButton(返回);label=new JLabel(文件档案信息,SwingConstants.CENTER); label.setForeground(Color.blue); L=new JLabel(公司现有员工+count+人数); table=new JTable(ar,columnName);JScrollPane scrollpane = new JScrollPane(table); 17 jpS.add(jbt1);jpS.add(jbt2); JPanel jpanel=new JPanel(); jpanel.add(label); JPanel pp4=new JPanel(); JPanel jpE=new JPanel(); cp.add(jpanel,North); JPanel jp=new JPanel(); /jp.add(scrollpane); JPanel p=new JPanel(); p.setLayout(new BorderLayout(); p.add(L,North); p.add(scrollpane); cp.add(pp4,West); cp.add(p,Center); cp.add(jpS,South); cp.add(jpE,East); Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width;int y=screen.height; f.setSize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setLocation(xcenter,ycenter); f.setVisible(true); jbt1.addActionListener(this); jbt2.addActionListener(this); f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); int i=0; public void showRecord() while(i=0) ari0=; ari1=; ari2=; ari3=; ari4=; ari5=; i-; i=0; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载 驱动程序失败!); 18 try String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb; Connection con=DriverManager.getConnection(url); String s=select * from book ; Statement sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); while(rs.next() String bname=rs.getString(1); String bno=rs.getString(2); String price=rs.getString(3); String writer=rs.getString(4); String publish=rs.getString(5); String indate=rs.getString(6); ari0=bname; ari1=bno; ari2=price; ari3=writer; ari4=publish; ari5=indate; i+; count=+i+; L.setText(现有员工人数+count+人); f.repaint(); con.close(); catch(SQLException g) System.out.println(E Code+g.getErrorCode(); System.out.println(E M+g.getMessage(); public void actionPerformed(ActionEvent e) String cmd=e.getActionCommand(); if(cmd.equals(确定) f.hide(); if(cmd.equals(返回) 19 f.hide(); public static void main(String arg) BookBrower a=new BookBrower(); a.showRecord(); (4)员工信息登记界面代码 package kcsj; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.Container; import java.util.*; import java.sql.*; import javax.swing.text.JTextComponent; class BookIn implements ActionListener JFrame f3; Container cp; JPanel jp1,jp2,jp3,jp4,jp,jpanelWest; JButton jbt1,jbt2;JLabel label;JTextField tf1,tf2,tf3,tf4,tf5,tf6;JLabel label1,label2,label3,label4; String sno; BookIn() f3=new JFrame(); cp=f3.getContentPane(); jp1=new JPanel(); jp2=new JPanel(); jp3=new JPanel(); jp4=new JPanel(); jpanelWest=new JPanel(); jp=new JPanel(); jbt1=new JButton(确定); jbt2=new JButton(取消); label=new JLabel(信息登记 ,SwingConstants.CENTER); label.setForeground(Color.blue); tf1=new JTextField(20); tf2=new JTextField(20); tf3=new JTextField(20); tf4=new JTextField(20); tf5=new JTextField(20); tf6=new JTextField(20); jp1.add(jbt1); jp1.add(jbt2); 20 sno=tf4.getText(); jp1.add(new JLabel(您好+sno+欢迎登陆学生信息系统);JPanel jpanel=new JPanel(); jpanel.add(label); JPanel pp4=new JPanel(); JPanel jpane4=new JPanel(); cp.add(jpanel,North); JPanel pp2=new JPanel(new GridLayout(6,1); JPanel pp3=new JPanel(); pp4.setLayout(new GridLayout(6,1); pp4.add(new JLabel(文件编号,SwingConstants.CENTER); pp2.add(tf1); pp4.add(new JLabel(文件名称,SwingConstants.CENTER); pp2.add(tf2); pp4.add(new JLabel(员工姓名,SwingConstants.CENTER); pp2.add(tf3); pp4.add(new JLabel(文件对象,SwingConstants.CENTER); pp2.add(tf4); pp4.add(new JLabel(登记时间,SwingConstants.CENTER); pp2.add(tf5); pp4.add(new JLabel(备注信息,SwingConstants.CENTER); pp2.add(tf6); pp3.add(jbt1); pp3.add(jbt2); cp.add(pp4,West); cp.add(pp2,Center); cp.add(pp3,South); cp.add(jpane4,East); Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width;int y=screen.height; f3.setSize(350,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f3.setLocation(xcenter,ycenter); f3.setVisible(true); jbt1.addActionListener(this); jbt2.addActionListener(this);f3.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); );*/ public void insertRecord() 21 if(tf1.getText().equals()|tf2.getText().equals()|tf3.getTe xt().equals()| tf4.getText().equals()|tf5.getText().equals()|tf6.getText(). equals() JOptionPane.showMessageDialog(f3,请填写文件编号); return; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载 驱动程序失败!); try String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;Connection con=DriverManager.getConnection(url); Statement sql; String s=insert into book values(+tf1.getText()+,+tf2.getText()+,+ tf3.getText()+,+tf4.getText()+,+tf5.getText()+,+tf 6.getText()+); String query=select * from book where 文件编号=+tf2.getText() +; sql=con.createStatement(); ResultSet rs=sql.executeQuery(query);/返回查询结果集 boolean moreRecords=rs.next();/判断结果集是否有数据 if(moreRecords) JOptionPane.showMessageDialog(f3,文件编号已经被使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学习者代际差异在在线学习中的表现-洞察及研究
- 医疗美容行业光电技术在临床治疗中的应用报告
- 文化创意产业园区建筑2025初步设计评估报告:文化创意产业园区建筑室内外环境融合设计
- 新时代背景下二手交易平台信用体系建设与用户信任度提升报告
- 建筑行业碳捕获与封存技术发展动态及案例报告
- 服务人员行为影响研究-洞察及研究
- 抗应激性与心理健康-洞察及研究
- 2025浙江宁波市慈溪职业高级中学招聘派遣制工作人员驾驶员1人笔试备考试题及答案解析
- 汽车销售合同条款详解范本
- 2025广西河池市小微企业融资担保有限责任公司公开招聘3人笔试参考题库附答案解析
- 2025-2030年中国电力电容器行业市场经营管理及未来前景展望报告
- 中医院医疗业务科室综合目标考核方案
- 船舶运输公司水上船舶运输安全应急预案
- 2025安全生产法律法规专题知识培训
- 代建管理工作程序
- 血透护理文书书写规范
- 手术室安全细节管理
- 继发性颅脑损伤的护理
- 《保角变换法在求解电势中的应用研究》7500字(论文)
- TCHIA 47-2024 智慧重症病房建设规范
- 多模态技术在智能养鸡工厂中的研究现状与展望
评论
0/150
提交评论