




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.1 前言上学到的知识用于解决实际问题,培养软件工作所需要的动手能力。另一方面,结构设计,用户界面设计、程序设计、基本技能和技巧,以及一整套软件工作规处,但是我们还是从中获益不少。下面简要介绍一下我们课题组的分工,我们这组的分工其实借鉴了 ShariLawrence Pfleeger 和 Joanne M.Atlee 合著的 SOFTWARE ENGINEERINGTheory and Practice (高等教育出版社第三版影印版)中的一些理论,这些知识可以参考此书的第 25 页中关于“开发团队的角色分工”一节。根据分工的细化和部分重叠原则,我们组的具体分如下:(1)项目管理 : 王培(2)
2、需求分析 : 钟耀明、贺纯(3)概要设计 : 贺纯、亦娴(4)详细设计 : 亦娴、王培、钟耀明、安、华、贺纯(5)程序编码 : 王培、华(6)系统测试 : 华、安我的主要任务是概要设计和详细设计.s.2需求分析2.1 任务概述证通过的用户使用系统。系统采用ASP.NET 语言开发,系统的数据使用SQL 数据库进行管理。2. 功能需求分析(1)系统能够维护员工的基本信息,部门、职务、职称以及工资记录等信息。(2)系统应该能记录员工的每一个职称信息,并授予相应的职称,系统在计算员工工资的时候选取职称对应的最高职称津贴。(3)工资表应当由系统自动生成。系统负责员工的工资表以及员工工资的历史记录及记录
3、员工的请假信息和出差信息等意外情况。系统的部分权限不能下放给普通用户以保证系统的安全性以及数据的正确性。2.3 外部接口需求分析系统人机交互界面为半屏幕大小,采用上下左右居中方式显示,系统分辩率默认设置为 1280*800,实际的界面大小由具体的屏幕决定。主界面包括标题栏,菜单栏,快捷工作区,帮助信息区(默认是隐藏的)。每一个菜单对应一个键盘快捷键区。2.4 性能需求分析.s.系统在主频 1.5GHZ,存 512MB,总线频率 667MHZ的硬件平台上运行时,系的运行主存控制在 1024KB 1000ms空间取决于数据库系统表空间的约束限制。2.5 软件属性需求分析系统必须保证所有操作结果以及
4、存储数据的正确性,对于用户的非法操作,于可能会产生错误的操作,应当能够防。另外系统必须提供一定的安全保密性,供适当的代码注释,尽可能地采用可复用技术,提高软件的可维护性。 概要设计3.1 系统设计总体思想理和员工信息管理,系统接收的输入项目有员工信息,部门信息,职务信息,职称信息,请假信息,出差信息等。系统能够接受用户的请求,显示相应的查询信息,增加、删除、修改相应的合法的信息。.s.图 3.1.1 工资管理系统 HIPO 图图3.1.1是工资管理系统的HIPO图,上图主要说明了系统的各个主要功能以3.3.1 工资管理系统 ER 图 说明:加粗部分为主键,加底线部分为外键.图 3.3.2 实体
5、及其相关属性图 详细设计4.1 数据结构设计4.1.1 数据库表结构设计Employee员工信息表说明deptno number(6)dutyno number(6)外键 department(deptno)外键 duty(dutyno)部门编号职务编号Department-部门信息表约束说明deptnodeptnameempnumtel主键numberDuty-职务信息表.s.字段名dutyno说明number(6)dutyname varchar(20)not nulldefault(0),dutypaynumbercheck(dutypay=0)说数据类型明number(6)titlen
6、ame varchar2(20)default(0),check(titlepay=0)titlepaynumber(6) 组合主键, 外键number(6) employee(empno)number(4)记录职称授予时间monthnumber月.s.Leave-员工请假信息表字段名数据类型名称请假编号外键 employee(empno) 请假员工请假天数请假年份请假月份扣除工资请假原因deductionreasonnumbervarchar(60)BusinessTravel-出差信息表说明travelnonumber(6) primary keynumber(6) 外键 employee
7、(empno) 员工编号traveldaystravelyeartravelmonthtravelpaynumber出差天数出差年份出差月份出差补助numbernumbernot nullnot nullReward-奖励信息表约束字段名数据类型名称说.s.明rewardnoprimary key外键 employee(empno)not null奖励编号员工编号奖励年份奖励月份奖励金额奖励原由empnorewardyearrewardmonth numberrewardpayreasonnumbervarchar(60)说明penaltynoempnoprimary key外键 employ
8、ee(empno)not null罚金编号员工编号罚金年份罚金月份罚金额度罚金原由reasonvarchar(60)Salary-职工工资信息表约束说明.s.salnoempno外键 employee(empno)between 1 and 12numbernumbernumbernumbernumbernumberpenaltynum numbertotalpay number工资总额4.1.2 程序数据结构设计(1)ADT DepartmentBeanD=deptNo,deptName,empNum,tel|deptNo,empNumt 和 tel均为整数,deptName 为字符串:R1
9、=|deptNo 为部门号,tel 为部门R2=|deptNo 为部门编号,empNum 为部门人数:setDeptNo(int no):设置部门的部门号为no.s.getDeptNo ():返回部门的部门号。setDeptName(String name):设置部门的部门名为 name.getDeptName():返回部门的部门号.setEmpNum(int num):设置部门的员工人数为 num.getEmpNum():返回部门的人数.setTel(int telephone):设置部门的为 telephone.getTel():返回部门的。ADT DepartmentBean(2)ADT
10、 Jdbc:D=dbUrl,theUser,thePsw,c,stmt,rs|dbUrl 提供数据库对象,theUser,thePsw 指定用户名和密码,c 与数据库建立一个连接,stmt 声明一条 SQL 语句,rs 保存执行 SQL 语句的结果集.:R1:用户登陆的验证信息用户名和密码.R2:rs 为语句 stmt执行的结果集.:Jdbc():加载数据库驱动,建立数据库连接.executeUpdate(String sql):执行SQL 更新语句,成功返回 TRUE,失败则返回 FALSE.executeQuery(String sql):执行 SQL 查询语句,返回结果集 rs.clos
11、e():关闭与数据库的连接.ADT Jdbc4.2 模块功能详细设计4.2.1 部门信息删除模块设计(1)类图设计.s.图 部门信息删除模块类图DepartmentDelete 类:方法名称功能说明判断输入的部门号是否存在判断输入的部门号是否为空执行删除操作public class DepartmentDeletepublic DepartmentDelete().private boolean isDeptExist(int deptno)ResultSet rs;Jdbc conn=null;boolean flag = false;try conn = new Jdbc(
12、);rs = conn.executeQuery(select deptno from department);while(rs.next()if( deptno = rs.getInt(deptno)flag = true; break; catch (InstantiationException e1) e1.printStackTrace(); catch (IllegalAccessException e1) e1.printStackTrace(); catch (ClassNotFoundException e1) e1.printStackTrace(); catch (SQLE
13、xception e1) e1.printStackTrace();return flag;public boolean isDeptEmpty(int deptno)ResultSet rs;.s.Jdbc conn=null;boolean flag = false;try conn = new Jdbc();rs = conn.executeQuery(select count(*) fromemployee where deptno=+deptno);while(rs.next()if( rs.getInt(1) = 0)flag = true; break; catch (Insta
14、ntiationException e1) e1.printStackTrace(); catch (IllegalAccessException e1) e1.printStackTrace(); catch (ClassNotFoundException e1) e1.printStackTrace(); catch (SQLException e1) e1.printStackTrace();return flag;private void executeDelete() String deptnoStr = JOptionPane.showInputDialog(null,请输入待删除
15、部门编号!);int deptno=0;boolean flag =true;trydeptno = Integer.parseInt(deptnoStr);.s.catch(Exception e) flag=false; if( isDeptExist(deptno) = true )if( isDeptEmpty(deptno) = false )JOptionPane.showMessageDialog(null,部门中有员工存在,无法删除!);elseJdbc conn = null;int res=0;try conn = new Jdbc();PreparedStatement
16、pstmt =conn.c.prepareStatement(delete from department where deptno=?);pstmt.setInt(1, deptno);res = pstmt.executeUpdate();if( res !=0 )JOptionPane.showMessageDialog(null, 成功删除部门+deptno);elseJOptionPane.showMessageDialog(null, 删除失败); catch (InstantiationException e) e.printStackTrace(); catch (Illega
17、lAccessException e) e.printStackTrace(); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();.s.elseif(flag) JOptionPane.showMessageDialog(null, 您输入的部门号不存在!); /executeDelete4.2.2 部门信息增加模块设计(1)类图设计根据系统的需求,我们需要使得系统能够通过图形化的界面来增添一个部门,并将输入的部门信息长久得保存在数据库文件中,为此我
18、们需要一个从界面类到与数据库连接的底层类的一系列类的组合来实现这样的需要. 图所示的类图就是一个增加新员工的实现过程,DepartmentAdd 类是一个继承自javax.swing.JFrame 类的界面类,它提供了一个供录入员工信息的操作界面,所有录入的信息,则通过 DepartmentBean类生成一个实例对象来保存,departmentAdd 类的构造函数负责调用 createAddInterface()私有方法来构造出界面,以及初始化各控件中的数值,如 generateDeptNo()是生成部门编号,部编号并不能由用户或者管理员确定,而是由系统查询数据库后,遵循唯一性原
19、则生成出来的编号.这样做不仅避免用户管理编号的繁琐性,而且也增强了系统的安全性.s.图 部门信息的增加功能模块类图说明: 当点击各菜单项时,会弹出相应的操作界面。Load Department 方法是用来加载 Departmentmenu 类 。DepartmentAdd 类:deptNoTextdeptNameTextdeptTelText取消按钮DepartmentBean参数传递是Departmentadd类的构造函数voidvoid创建增加信息界面将新的信息保存到数据库中.图 增加部门信息界面界面说明:以上文本框都是单行文本框,可以输入部门编号,部门名称
20、,部门,当系统监听到文本框中的容被确定,将会新的部门信息保存到数据库中。(3)核心代码public class DepartmentAdd extends JFramethis.setTitle(Add a new Department!);this.setSize(WIDTH,HEIGHT);this.setLayout(null);this.setResizable(false);vDimensionscr=Toolkit.getDefaultToolkit().getScreenSize();Dimension frm=this.getSize();this.setLocation(in
21、t)(scr.getWidth()-frm.getWidth()/2,(int)(scr.getHeight()-frm.getHeight()/2-50);createAddInterface();generateDeptNo();initDeptInfo();private void initDeptInfo() dept.setDeptName(某部门);dept.setTel(1000000);dept.setEmpNum(0);.s.private void generateDeptNo() ResultSet rs;Jdbc conn=null;int no = 102001;tr
22、y conn = new Jdbc();rs = conn.executeQuery(select deptno fromdepartment order by deptno);while(rs.next()if( no = rs.getInt(deptno) +no;elsebreak;dept.setDeptNo(no);deptNoText.setText( + no); catch (InstantiationException e1) e1.printStackTrace(); catch (IllegalAccessException e1) e1.printStackTrace(
23、); catch (ClassNotFoundException e1) e1.printStackTrace(); catch (SQLException e1) e1.printStackTrace();private void createAddInterface()Container contentPane = getContentPane();.s.JLabel label1 = new JLabel(部门编号:);JPanel panel1 = new JPanel();deptNoText = new JTextField(10);deptNoText.setEditable(f
24、alse);panel1.add(label1);panel1.add(deptNoText);JLabel label2 = new JLabel(部门名称);JPanel panel2 = new JPanel();deptNameText = new JTextField(10);panel2.add(label2);panel2.add(deptNameText);JLabel label3 = new JLabel(部门);JPanel panel3 = new JPanel();deptTelText = new JTextField(10);panel3.add(label3);
25、panel3.add(deptTelText);confirmButton = new JButton(保存);cancelButton = new JButton(重置);JPanel panel4 = new JPanel();panel4.add(confirmButton);panel4.add(cancelButton);confirmButton.addActionListener(newConfirmAction();CancelAction();cancelButton.addActionListener(newpanel1.setSize(WIDTH,50);.s.panel
26、1.setLocation(0, 0);panel2.setSize(WIDTH,50);panel2.setLocation(0,50);panel3.setSize(WIDTH,50);panel3.setLocation(0,100);panel4.setSize(WIDTH,50);panel4.setLocation(0,150);contentPane.add(panel1);contentPane.add(panel2);contentPane.add(panel3);contentPane.add(panel4);private void storeDepartment()int rs;Jdbc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025高级家政员以及法律顾问聘用合同3篇
- 公司不续签劳动合同3篇
- 新解读《GB-T 31059-2014裱花蛋糕》
- 户外大型广告位租用合同书3篇
- 橱柜衣柜定制合同范本
- 现场保安监理合同7篇
- 封闭超市转让合同范本
- 平台系统租赁合同范本
- pvc板施工合同范本
- 群众工作心得体会甄选集
- 《数字技术应用基础模块》技工中职全套教学课件
- 房屋拆除专项施工方案(3篇)
- AutoCAD电气工程制图 课件 项目1 低压配电柜的绘制与识图
- 2025至2030年中国绿色船舶行业发展前景预测及投资方向研究报告
- 2025年小学生“学宪法、讲宪法”网络知识竞赛题库及答案
- 2025年银行考试-银行间本币市场交易员资格考试历年参考题库含答案解析(5套典型考题)
- 八师兵团职工考试题库及答案
- 中国糖尿病足诊治指南2024版解读 3
- 2025秋季版《形势与政策》全套教学课件
- 招标货物供货方案(3篇)
- 2024年南昌市公安局招聘省级留置看护辅警考试真题
评论
0/150
提交评论