资源描述
数据库课程设计报告 工资管理系统 组员:廖翔,刘小芳,强江波, 张晶晶,冯兆强,夏冲 组长:刘小芳 需求分析员:张晶晶 程序员:廖翔,刘小芳,强将波 测试员:冯兆强 界面设计员:夏冲目录一 绪论3二 课程设计说明3三 需求分析4四 物理结结构设计5五 数据字典5六 数据库设计10七 功能实现截图11八,小结21附录1.(组员及学号)廖翔(),刘小芳(41009040127),冯兆强(),张晶晶(41009040130),夏冲(),强将波()2.开发环境说明使用C#进行客户端应用程序的开发,数据库管理系统采用SQL SERVER一、绪论随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于C#与SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理员和公司的要求。此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。 二.课程设计说明1.设计题目:工资管理系统2.设计任务与要求:2.1实验任务1.掌握数据库设计和实现的基本过程2.掌握数据库模式设计、分析和实现的方法3.了解数据库应用系统软件开发的一般过程。2.2 实验基本要求(1)学习相关的预备知识(2)按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行(3)写出课程设计报3. 目的 本说明书目的在于明确说明系统需求,界定系统实现功能的范围,指导系统设计以及编码。本文档作为人力资源管理系统的需求说明文档,用于与用户确定最终的目标,并成为协议文本的一部分,同时也是本系统设计人员的基础文档。 4.背景工资管理系统 工资管理部门希望建立一个数据库来管理员工的工资。要计算员工的工资,就需要考虑不在休假日期以内的假期、工作期间的病假时间、奖金和扣除的部分。必须指明给每个员工发薪水的方式,随着时间的推移,方式可能会有些改变。大多数的员工是通过银行卡来结算工资的,但是也有一部分人使用现金或支票。如果是通过银行卡,就需要知道账号和卡的类型。付款方式只可能是一种方式。有几种原因可以扣除工资:例如,个人所得税、国家税、医疗保险、退休保险或者预付款。5.主要包括三大功能模块:1.登录界面选择员工登录即可进入员工登陆界面,选择 管理员登陆即可进入管理员登录界面。2.管理员功能模块。3.员工功能模块. 6.操作说明6.1 无论是管理员还是员工,操作都以员工编号来进行。6.2 管理员可以对员工基本信息增、删、查、改,员工只能对本人基本信息和工资信息查询。 三需求分析1.功能需求分析:该通用工资管理系统具备下列功能:登录界面选择员工登录即可进入员工登陆界面,选择 管理员登陆即可进入管理员登录界面.管理员通过输入用户名和密码进下该系统后,可以进行一些基本查询(员工个人信息查询,员工工资信息查询),修改(修改员工基本信息,修改工资信息),删除(员工个人资料删除,员工工资信息删除),录入(员工资料录入,员工工资资料录入);;通过输入密码,可以进行查询员工的数据(工资,奖金津贴,加班情况)。员工通过输入用户名和密码即可进入系统,可以进行查询(查询个人基本信息和工资信息).2.数据流需求分析: 登陆信息 返回信息 用 户登 录操 作数据库 错误信息 寻找信息 数据库需求分析数据流图 四.物理结构设计1.系统模块划分登陆界面员工登陆界面管理员登陆界面工资资料录入员工资料录入员工资料修改删除员工信息员工资料查询查询工资信息查询基本信息修改个人信息修改工资信息查询个人信息查询工资信息删除个人信息删除工资信息 五.数据字典2.1表字典表的编号代码内容101职工信息表EmpInfoTable记录员工基本信息主要字段:员工编号,姓名,年龄,性别,工龄,职务,银行卡号,上班天数,病假天数102工资管理表SalaryInfoTable纪录员工应发工资以及应扣除数和实发工资主要字段:员工编号,奖金,应发工资,个人所得税,国家税,医疗保险,退休保险,扣除总数,实际工资,银行卡号2.2表字段字典编号名称属于的表编码长度属性备注201员工编号职工信息表工资管理表Id10字符例,00001(表101,102,104的主关键字,表103外来关键字)202员工姓名职工信息表工资管理表Name16字符例,王小宾205员工职务职工信息表Position16字符例,经理登陆密码职工信息表Password16字符例,123456登录身份职工信息表Status16字符管理员或员工206奖金工资管理表Prize8单精度小数例,2450.32基本工资工资管理表BasePay8单精度小数例,3900.00207退休保险金工资管理表RetirementInsurance8单精度小数例,2450.32208个人所得税工资管理表IncomeTax8单精度小数例,2450.32214国家税工资管理表State8单精度小数50216医疗保险工资管理表Medical8单精度小数100请假天数工资管理表DaysLeave短整型215扣除总数工资管理表Deduced16单精度小数发薪方式工资管理表PayType16字符银行卡,支票,现金银行卡号工资管理表CardNumber16单精度小数例,6145201365银行卡类型工资管理表CardType16字符例,农业银行应发工资工资管理表GrossSalary18单精度小数4500实发工资工资管理表NetSalary18单精度小数6000发薪时间工资管理表Date 六.数据库设计1.建表:EmpInfoTable(Id主键,Name,Position,Status);SalaryInfoTable(Id主键,Name,Prize,Pasepay,RetirementInsurance,Income,Stute,Medical,Dayleave,Deduced,Paytpe,CardNumber,Cardtype,GrossSalary,NetSalary,Date); (1) 员工基本信息表:(2)员工工资表: 七.功能实现截图1.登录界面2.管理员部分:(1)管理员登陆界面(2)管理员功能选择界面(3 ).录入员工基本信息界面(4)录入员工工资信息(5).修改功能选择界面A.修改员工基本信息B.修改工资信息(6).管理员查询界面A.查询功能选择界面B.查询员工基本信息C.查询工资信息(7).管理员查询界面A.功能选择界面B.管理员修改员工个人信息C.管理员修改员工工资界面界面(8).管理员删除界面A.功能选择界面B.删除员工个人信息及工资信息界面C.删除员工工资信息界面3.员工功能界面(1).员工登录界面(2).员工功能选择界面(3).员工查询本人基本信息(4).员工查询本人工资信息4.测试分析4.1更改员工资料不可以更改身份。4.2 修改员工工资信息一旦失败 就会把原有信息删除。4.3 管理员固定,且只有一个。 八.小结该工资管理系统总体说来功能比较齐全,管理员和员工的一些基本的功能都已经具备;数据库的设计方面,建有员工表、工资表。数据库中存在一些问题,如数据冗余,不够完善。但在做课程设计的过程中也遇到很多问题,一开始时其中最大的问题是数据库的连接部分,该部分直接影响到数据库与应用程序接口实现,而且必须注意数据库数据库的名称与连接数据库的取名以致.后来经过大家的合作努力解决了这个问题.在编写程序时,确实也遇到了很多困难,后来经过调试后终于把自已想到实现的功能一步步实现了,通过这次课程设计使我收获了好多,熟悉了C#的运用,还复习了数据库相关语句的编写。 此次课程设计让我感受颇多:做一个数据库其实是一件很有趣的事情。想到自己可以创建一个小型的数据库系统,有点学习后的满足感。数据库的建立并非难事,难点在于数据库的连接和编程语言的选择。C#的功能很强大,这也是我以后需要学习的课程,于是我毅然选择了它。再就是建立数据库系统的步骤,我的经验就是要先总体规划,再局部整理。先做好总的界面,再通过该界面的布置一步一步实现其功能!同时我体会到:熟练的编程能力,对知识运用的强烈渴望及其创新和团队的合作精神设做好一个大型数据库的基础。因此通过此次课程设计我明显感觉到自身的不足,并希望以后能更加用心地运用所学知识和学习新的知识。
展开阅读全文