ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:368.91KB ,
资源ID:9309090      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9309090.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新版软件工程课程设计报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新版软件工程课程设计报告.docx

1、最新版软件工程课程设计报告目录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 修改员工信息模块 1

2、76.2 显示员工信息模块 187 总结 18参考文献 191 问题定义关于系统规模和目标的报告书项目名称:人事档案管理系统问题:人事档案管理系统的设计项目目标:对单位的人事情况进行管理,完成新职工的登记、职工信息的维护、调离和退休情况的登记,并能按指定的要求完成查询、统计、排序等功能。项目规模:1000行代码左右初步设想:用Java语言编写一个简单的能达成项目目标的人事档案管理系统可行性研究:如下2 可行性研究2.1 系统流程图图2-1 人事档案管理系统流程图2.2 高层数据流图图2-2 人事档案管理系统数据流图2.3 可行性分析2.3.1 技术可行性要求和目标:本系统要求对单位的人事情况进

3、行管理,完成新职工的登记、职工信息的维护、调离和退休情况的登记,并能按指定的要求完成查询、统计、排序等功能。可能实现的方法:本组准备采用java语言编写程序界面和数据处理部分,使用java链接数据库,用数据库完成人员信息的保存,修改。用SQL语言完成对数据库中的内容进行查询排序等功能。2.3.2 操作可行性本系统采用图形界面,有良好的中文提示和界面提示。能保证用户能够正常使用该系统完成需求的功能。2.3.3 经济可行性本系统为课程设计,不产生经济效益,故暂不考虑经济可行性2.4 开发计划人事档案管理系统的粗略计划阶段要用的时间(天)可行性研究1需求分析3概要设计2详细设计2实现2总计103 需

4、求分析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表系统:人事档案管理系统模块:修改员工信

5、息编号: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的数据库,数据库中

6、包含一个名为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.eve

7、nt.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

8、;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 JLa

9、bel 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 Tw

10、ages = 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

11、= ; public Editperson() super(编辑员工信息); this.setSize(); 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(Lde

12、pt); 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); Override public void actionPerformed(ActionEvent e) / TODO Auto-gene

13、rated method stub if(e.getSource()= Bque) String ID = TID.getText(); sql = SELECT * FROM person WHERE pID = +ID+; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException a) JOptionPane.showMessageDialog(null, lianjieshibai); try Connection con; con = DriverManager.getConnection

14、(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 =

15、 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); else JOptionPane.showMessageDialog(null, 失败); catch (Exception ee)JOption

16、Pane.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 = Two

17、rkyears.getText(); sql = delete * from person where pID = +ID+; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException a) JOptionPane.showMessageDialog(null, lianjieshibai); try Connection con; con = DriverManager.getConnection(jdbc:odbc:person1,); Statement sta = con.createSt

18、atement(); 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, 更新成功); else JOptionPane.showMessageDialog(null, 更新失败); catch (Exception ee)JOptionPane.showMessag

19、eDialog(null, jfkdalgj); public static void main(String args) / TODO Auto-generated method stub new 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 j

20、avax.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(); this.setDefaultCloseOperation(HIDE_ON_CLOSE); this.s

21、etVisible(true); this.setLayout(new GridLayout(1,1); this.add(info); sql = select * from person; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException a) JOptionPane.showMessageDialog(null, lianjieshibai); try Connection con; con = DriverManager.getConnection(jdbc:odbc:person

22、1,); 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.appe

23、nd(rs.getString(page)+t); info.append(rs.getString(pdept)+t); info.append(rs.getString(pwages)+t); info.append(rs.getString(pretire)+t); info.append(rs.getString(pworkyear)+n); catch (Exception ee)JOptionPane.showMessageDialog(null, jfkdalgj); 6 测试报告6.1 修改员工信息模块设定原数据库中含有如下图的员工信息:图6-1(1) 数据库中原有信息输入一个

24、不存在的员工编号进行查询,显示查询失败:图6-1(2) 输入错误员工号的结果按下图所示修改存在的编号为0003的员工信息:图6-1(3) 修改员工信息观察数据库,修改员工信息成功图6-1(4) 成功修改员工信息6.2 显示员工信息模块能成功显示员工信息图6-2 显示员工信息7 总结本系统基本能够完成需求分析中要求的各项功能,既能够对员工信息进行添加,编辑,、删除操作,能够查看员工信息,能够编号、年龄、工资、工龄四个条件对员工信息进行排序查看。本系统还有很多能够改进之处。比如本系统数据库中只设计了一个表用来存储员工信息,我设想还可以再设计一个部门信息的表,与员工信息表连接。这样做能够更加完善系统结构,使系统更加实用。而且,本系统还可以增加按性别,部门等条件查看员工信息的功能(比如查看开发部的所有员工)。总之,虽然程序还有很多不足。但是经过这次课程设计,我还是有很多收获。在这次课程设计中,我第一次用java进行连接数据库操作,并且第一次设计比较复杂的程序界面。使我对数据库的重要性和易用性有了更深的理解。参考文献1张海藩编著. 软件工程导论(第5版). 北京: 清华大学出版社,2008

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1