版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息工程学院信息工程学院 数据库课程设计 题 目 教师工资管理系统 学生姓名学生姓名 专业班级专业班级_计算机计算机 08-208-2 指导教师指导教师 职称职称 副教授副教授 所在单位所在单位 电气工程系电气工程系 教学部主任教学部主任 李峻李峻 完成日期完成日期 20102010 年年 1212 月月 2424 日日 数据库课程设计任务书 一、课程设计的目的一、课程设计的目的 数据库课程设计是软件工程专业(本科)教学大纲要求的重要实践性环节之一,是学习完 数据库原理及应用和oracle 数据库应用两门课程后进行的一次数据库方面的综合练习。 其目的在于:配合数据库原理及应用和oracle 数
2、据库应用课程的教学,使学生能巩固和 加深对数据库基础理论和基本知识的理解;掌握使用数据库进行软件设计的基本思想和方法;提高 学生运用数据库理论解决实际问题的能力;培养学生调查研究、查阅技术文献、资料、手册以及编 写技术文献的能力。 二、课程设计的内容及要求二、课程设计的内容及要求 内容内容:用一种高级语言和当前流行的数据库管理系统相结合,完成一个小型管理系统的设计与 开发。所设计的小型管理系统应包含两个以上(不多于 4 个)的模块以及输入输出、查询、插入、 删除等基本功能。根据课程设计 2 周时间的安排选择适当大小的设计课题,课题的选择可以是实际 问题,也可以是虚构的问题。根据题目的基本需求,
3、画出系统结构图,并对数据库进行详细设计, 编写程序,同时写出关于本数据库管理系统的报告书。 要求:要求: (1) 要求学生按照数据库原理及应用和oracle 数据库应用相关知识以及数据库课 程设计教学大纲完成一个数据库设计,并撰写相应的课程设计报告。 (2)提交课程设计报告。 要求完成课程设计报告大约 15 页-20 页,包括相应的模块设计文档、数据库设计文档、所承 担模块的核心代码、测试过程分析与运行结果等。分组进行的同学共同完成基本设计与数据库设计, 但每个人至少必须独立完成一个模块设计与实现,并写入课程设计报告中。 三、课程设计时间三、课程设计时间 课程设计时间为 2 周(10 个工作日
4、) 四、课程设计分组四、课程设计分组 一人一组 五、课程设计的成果和形式五、课程设计的成果和形式 1报告一篇 建议论文按下列的提纲书写 2符合设计要求的数据库应用系统一个 指导教师签字: 年 月 日 目目 录录 1 1 需求分析需求分析.4 1.1 引言.4 1.2 任务概述.4 1.2.1 用户角色.4 1.2.2 管理员角色.5 2 2 数据库概要设计数据库概要设计.5 2.1 逻辑模型.5 2.2 数据字典.5 3.3. 数据库逻辑设计数据库逻辑设计.7 3.1 关系模式.7 3.2 实体间的关系.7 3.3 完整性约束.7 3.4 范式.7 3.5 dbms 选择.7 4.4. 数据库
5、实施数据库实施.8 4.1 基于 sql server的数据表设计.8 4.1.1 教工信息表.8 4.1.2 用户信息表.8 4.1.3 工资等级表.8 4.2 角色.8 4.3 关系图.9 5 5 系统实现系统实现.9 5.1 登陆界面.9 5.2 主菜单界面.12 参考文献参考文献.17 附件附件:.18 1 1 需求分析需求分析 1.11.1 引言引言 随着全球信息化的发展,人事信息化建设也赶上时代的步伐。工资管理系统的主 要目标是支持企、事业的财政管理与事务处理业务人员的劳动强度,辅助企、事业管 理,辅助高层领导决策,提高企、事业的工作效率,从而使企、事业能够以少的投入 获得更好的社
6、会效益与经济效益,像人事系统、工资管理系统等就属于人事工资管理 系统的范畴。它是单位实现现代化建设的基础工程,是提高单位的管理水平、业务的 运转效率和服务质量的必要手段。因此许多的程序员都可能面对如何开发一套比较完 善的人事工资管理系统是相当有必要的问题。 随着计算机技术的飞速发展,计算机在企、事业管理中应用的普及,利用计算机 实现企、事业人事工资的管理势在必行。本系统结合人事、财务制度,经过需求分析、 总体设计和详细设计,采用功能强大的 visual c+6.0 作为开以语言,以 microsoft access 作为后台数据库,来开发模拟我校的、单机版的人事工资管理系统。 整个系统从符合操
7、作简便、接口友好、灵活、实用、安全的要求出发,完成人事、 工资管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的 变动引起职工信息的修改、员工信息查询、统计等人事管理工作以及新进员工工资的 新增、老员工工资修改等工资管理工作。 论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系 统设计的重点、思想、难点技术和解决方案。 1.21.2 任务概述任务概述 教师工资管理系统共有 2 个角色选择:用户角色,管理员角色。 1.2.11.2.1 用户角色用户角色 玩家角色能够实现如下 2 项功能: 1. 信息查询:用户可以查询自己工资的发放情况 2. 密码修改:用
8、户可以修改需要更改的密码 1.2.21.2.2 管理员角色管理员角色 管理员角色能够实现如下 3 项功能: 1.添加功能:向系统中添加新的数据 2.删除功能:删除系统中不需要的数据 3.修改功能:修改系统中修要更新的数据 2 数据库概要设计数据库概要设计 2.12.1 逻辑模型逻辑模型 教 师 工 资 管 理 系 统 系统用户管理 管理员管理 工资信息管理 用户密码修改 用户信息修改 教工信息添加 教工信息修改 教工信息删除 工资统计 工资修改 工资创建 用户数据查询 图 2-1 总体逻辑模型 2.22.2 数据字典数据字典 表 2-1 工资信息数据字典表 表中列名数据类型长度数据来源 c_n
9、umvarchar10工资信息表 workdaychar4工资信息表 absentdaychar4工资信息表 monthvarchar2工资信息表 表 1.2 教工工资数据字典表 表中列名数据类型长度数据来源 idint4教工工资信息表 objectidint4教工工资信息表 propertyvarchar64教工工资信息表 valuevarchar255教工工资信息表 uvaluenvarchar255教工工资信息表 lvalueimage16教工工资信息表 versionint4教工工资信息表 表 1.3 教工信息数据字典表 表中列名数据类型长度数据来源 e_numvarchar10教工信
10、息表 namevarchar15教工信息表 passwordvarchar8教工信息表 postnvarchar20教工信息表 sexchar2教工信息表 tel_numberchar15教工信息表 stu_degreevarchar15教工信息表 deptvarchar15教工信息表 e-r 图 根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。 教师工资管理系统可划分 3 个实体: 用 e-r 图描述这些实体。 3.3. 数据库逻辑设计数据库逻辑设计 3.13.1 关系模式关系模式 本系统含有 3 个实体,将之转换为 2 个关系模式 种族-职业选择(种族名称,职业名称)
11、 职业-装备选择(职业名称,装备属性,装备名称) 3.23.2 实体间的关系实体间的关系 本系统含有 3 个实体( 为主码, 为外码) 职称(种族名称,阵营,职业名称,种族介绍) 教工(职业名称,装备属性,职业介绍,种族名称) 装备(装备名称,装备属性,装备部位,伤害加成,暴击加成,急速加成) 3.33.3 完整性约束完整性约束 3.3.1 实体完整性:3 个实体中的 4 个主码都不为空,满足实体完整性。 3.3.2 参照完整性:3 个实体之间外码已经给出,都能找到主码关系表中属性与 之对应,满足参照完整性 3.43.4 范式范式 本系统 3 个实体,众多属性之间不存在任何函数依赖关系,所以满
12、足第三范式。 3.53.5 dbmsdbms 选择选择 本系统选择 sql server 为数据库管理系统。 4.4. 数据库实施数据库实施 4.14.1 基于基于 sqlsql serverserver 的数据表设计的数据表设计 4.1.14.1.1 教工信息表教工信息表 图 4-1 种族表 4.1.24.1.2 用户信息表用户信息表 图 4-2 职业表 4.1.34.1.3 工资等级表工资等级表 图 4-3 装备表 4.2 角色 建立了用户和管理员 2 个角色 用户角色:只能执行查询和密码修改操作。 管理员角色:能进行查询,修改,添加,删除操作。 4.3 关系图 图 4-4 关系图 5 5
13、 系统实现系统实现 5.15.1 登陆界面登陆界面 package salary; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; class landframe extends jframe jcombobox list; jlabel jlabel1; jlabel jlabel2; jtextfield jtf1; /textfield jtf2; jpasswordfield jpwf; jbutton jbtn,jbtn1; landframe(string s)
14、 super(s); setlayout(null); setbounds(100,100,500,400); list=new jcombobox(); list.setborder(borderfactory.createtitledborder(请选择登录); list.additem(管理员登录); list.additem(用户登录); list.setbounds(175,50,150,50); jlabel1=new jlabel(用户名:); jlabel2=new jlabel(密码:); jbtn=new jbutton(登录); jbtn.addactionlistene
15、r(new actionlistener() public void actionperformed(actionevent e) testify(); ); jbtn1=new jbutton(退出); jbtn1.addactionlistener(new actionlistener() public void actionperformed(actionevent e) dispose(); ); jtf1=new jtextfield(10); /jtf2=new textfield(10); / jtf2.setechochar(*); jpwf=new jpasswordfiel
16、d(10); jpwf.setechochar(*); jlabel1.setbounds(155,150,50,30); jlabel2.setbounds(155,190,50,30); jtf1.setbounds(210,150,100,25); /jtf2.setbounds(230,190,100,25); jpwf.setbounds(210,190,100,25); jbtn.setbounds(120,250,80,40); jbtn1.setbounds(290,250,80,40); /jbtn.setbounds(110,110,50,50); container co
17、n=getcontentpane(); con.add(list); con.add(jlabel1); con.add(jtf1); con.add(jlabel2); / con.add(jtf2); con.add(jpwf); con.add(jbtn); con.add(jbtn1); setdefaultcloseoperation(jframe.dispose_on_close); getrootpane().setdefaultbutton(jbtn); setvisible(true); /validate(); void testify() string str; str=
18、(string)list.getselecteditem(); if(str=管理员登录) test_manage(); /system.out.println(hello); else test_employee(); /system.out.println(list.getselecteditem(); 图 5-1 登陆界面 5.2 主菜单界面 package salary; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.tabl
19、e.*; import java.util.*; /*public class manageframe public static void main(string args) manage mf=new manage(工资管理系统); */ class manageframe extends jframe jlabel jlabel1,jlabel2,jlabel4,jlabel5,jlabel6,jlabel7; jtextfield jtf1,jtf2,jtf3,jtf4,jtf5; jbutton btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8; jco
20、mbobox jcb1,jcb2; manageframe(string s) super(s); setlayout(null); setbounds(100,100,500,500); jcb1=new jcombobox(); jcb1.additem(1); jcb1.additem(2); jcb1.additem(3); jcb1.additem(4); jcb1.additem(5); jcb1.additem(6); jcb1.additem(7); jcb1.additem(8); jcb1.additem(9); jcb1.additem(10); jcb1.additem
21、(11); jcb1.additem(12); jcb2=new jcombobox(); jcb2.setborder(borderfactory.createtitledborder(请选择月份); jcb2.additem(1); jcb2.additem(2); jcb2.additem(3); jcb2.additem(4); jcb2.additem(5); jcb2.additem(6); jcb2.additem(7); jcb2.additem(8); jcb2.additem(9); jcb2.additem(10); jcb2.additem(11); jcb2.addi
22、tem(12); jlabel1=new jlabel(员工号:); jlabel2=new jlabel(日期:); jlabel4=new jlabel(月); jlabel5=new jlabel(工作天数:); jlabel6=new jlabel(缺席天数:); jlabel7=new jlabel(按月份查询员工工资:); jtf1=new jtextfield(10); jtf4=new jtextfield(2); jtf5=new jtextfield(2); btn1=new jbutton(更改基本工资); btn1.addactionlistener(new actio
23、nlistener() public void actionperformed(actionevent e) s_change sc=new s_change(修改工资); ); btn2=new jbutton(修改员工信息); btn2.addactionlistener(new actionlistener() public void actionperformed(actionevent e) alter al=new alter(修改); ); btn3=new jbutton(增加员工); btn3.addactionlistener(new actionlistener() pu
24、blic void actionperformed(actionevent e) increaseframe inf=new increaseframe(增加员工); ); btn4=new jbutton(删除员工); btn4.addactionlistener(new actionlistener() public void actionperformed(actionevent e) delete dl=new delete(删除员工); ); btn5=new jbutton(查看所有员工信息); btn5.addactionlistener(new actionlistener()
25、 public void actionperformed(actionevent e) / todo 自动生成方法存根 lookover(); ); btn6=new jbutton(确定); btn6.addactionlistener(new actionlistener() public void actionperformed(actionevent e) / todo 自动生成方法存根 count(); ); btn7=new jbutton(查询); btn7.addactionlistener(new actionlistener() public void actionperf
26、ormed(actionevent e) query(); ); btn8=new jbutton(退出); btn8.addactionlistener(new actionlistener() public void actionperformed(actionevent e) dispose(); ); jlabel1.setbounds(60, 40, 50, 20); jtf1.setbounds(115,40,100,20); jlabel2.setbounds(300,40,30,20); jcb1.setbounds(340,40,45,20); jlabel4.setboun
27、ds(395,40,20,20); jlabel5.setbounds(60,80,60,20); jtf4.setbounds(125,80,30,20); jlabel6.setbounds(200,80,60,20); jtf5.setbounds(265,80,30,20); jlabel7.setbounds(80,120,130,30); jcb2.setbounds(215,120,80,50); btn1.setbounds(90,230,130,30); btn2.setbounds(270,230,130,30); btn3.setbounds(100,290,100,30
28、); btn4.setbounds(280,290,100,30); btn5.setbounds(150,370,200,30); btn6.setbounds(340,75,60,30); btn7.setbounds(340,130,60,30); btn8.setbounds(200,420,80,30); container con=getcontentpane(); con.add(jlabel1); con.add(jtf1); con.add(jlabel2); con.add(jcb1); con.add(jlabel4); con.add(jlabel5); con.add(jtf4); con.add(jlabel6); con.add(jtf5); con.add(jlabel7); con.add(jcb2); con.add(btn1); con.add(btn2); con.add(btn3); con.add(btn4); con.add(btn5); con.add(btn6); con.add(btn7)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 台球厅协会合同协议书
- 关于主播合作合同范本
- 出租电脑免押合同范本
- 变更签证补充合同范本
- 合同变更增量补充协议
- 各种建材租赁合同范本
- 别墅泳池维修合同范本
- 农村木房买卖合同范本
- 冲浪俱乐部义工协议书
- 共同投标协议纳入合同
- 2025至2030年中国城市排水系统行业发展潜力分析及投资方向研究报告
- 2025年安全教育平台登录入口与模拟试题集
- 公司注销原合同补充协议
- 2025-2030中国区块链技术在供应链金融中的信用穿透效应
- 护理学用药安全知识培训课件
- 2025年《铁道概论》考试复习题库(含答案)
- 2025成人高等学校专升本招生统一考试政治试题及答案解析
- 益生菌与肝性脑病改善-洞察及研究
- 前掷实心球教学课件
- 2025年【小学】汉字听写大会竞赛题库(含答案)
- DGTJ08-2004B-2020 建筑太阳能光伏发电应用技术标准
评论
0/150
提交评论