中南民族大学
计算机科学学院
数据库综合实验报告
题目工资管理系统
年级2007级
专业软件过程
指导教师曾广平
小组成员(姓名学号) 傅佳07065026
张志超07065005
赖浪萧07065002
刘二虎07065016实验类型综合型
成绩评定
评语:
教师签名:
年月日
2009年12月22 日
前言
一、目的
数据库是一门理论性和实践性都很强的面向实际应用的课程,它是计算机科学技术中发展最快的领域之一。
数据库综合实验要求学生在学习完程序设计语言、数据结构、操作系统等课程后,综合利用所学计算机软件知识完成一个数据库应用系统的设计。是一个重要的教学实践环节,是对学生所学知识的掌握和应用程度的一个全面地、综合地考察。
在学生初步具备了一定的软件程序设计基础上,本课程设计针对日常应用中的实际问题,要求学生完成一个相对完整的数据库应用系统,培养学生运用数据库理论知识和数据库技术解决实际应用问题的能力,巩固和加深所学理论知识,初步掌握一个完整数据库应用系统的开发过程和方法。加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。培养相关专业专业本科学生科学研制、开发数据库应用系统的基本能力,为计算机在本专业领域的应用奠定基础;培养学生成为计算机硬件和软件知识都过硬的专业人才。
二、项目背景概述
随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的管理工具,不断改善企业的服务质量,提高工作效率。无论是行政职能,还是生产运作的管理要求的不断提高,在很大程度上使企业不得不改变传统的经营管理方式以适应快速发展的社会主义市场经济,改变企业管理方式、方法已经成为企业发展的先决条件。建设一个科学高效的信息管理系统是解决这一问题的必由之路。
对企业内部的财务运用现代化技术进行管理,是提高工作效率的有效手段。工资管理作为企业内部财务管理的一个重要方面,也逐步被企业管理者所重视,由于企业的规模的不断扩,大企业职工人数的不断增多,使工资发放成为企业管理中的一个重课题;再加上每一位职工的具体实际情况相同,规章章制度的不断完善,增大了个人工资发放难度;每个人每月的工资都要通过工资制度的审核,这大大增加了管理人员的工作量,通过计算机管理系统对员工工资进行全面的统计与管理,全面解决了工资管理过程中所遇到的各种问题,并且克服了传统管理方式中的易出错等问题。工资管理系统成为企业现代化管理中的首选管理工具。
企业工资管理系统可以完成日常工资的管理,如查询、修改、增加、删除以及存储等操作,迅速准确地完成各种工资数据的的统计和汇总工作,大大提高了企业的管理效率。
三、项目实施环境(注:包括开发、运行环境)
1)主机类型:Windows环境
2)网络类型:企业内网
3)操作系统:Windows XP
4)数据库管理系统:Microsoft SQL Server 2000
5)其他支撑软件:Delphi
6)Windows 环境搭建,使用Microsoft SQL Server 2000数据库
四、项目人员及其分工
傅佳:负责收集用户信息,确定系统需求功能,拟定需求分析报告及项目计划。
赖浪萧:负责系统登录模块设计。
张志超:数据库设计及管理者登录模块设计及最后的系统测试。
刘二虎:职工登录模块设计及最后的测试工作。
五、项目实施计划
工资管理系统是由人事管理、工资管理、系统管理和用户管理等几个功能模块组成,规划系统功能模块如下:
1)人事管理模块:
员工信息管理模块主要包括员工基本信息录入、修改,删除,导出部分。
2)工资管理模块
工资管理模块主要包括个人工资查询、所有人员工资显示、工资的修改3个部分。
3)系统管理模块
系统管理模块主要包括数据的备份,基本资料2个部分。
4)用户管理模块
用户管理模块主要包括用户管理、修改密码、转换用户3个部分。
需求分析
一、概述
随着公司业务的扩展,人员的增多,传统的手工作业已经不再适合公司发展的需要所以引进计算机技术对企业内部员工进行方便的管理,这样有诸多好处,各层管理人员可以对企业众多的员工信息进行动态的管理,例如基本资料的修改,添加,删除,查询等。有利于减少错误,减轻人事部门的任务,提高效率,节约人力资源,降低企业成本。
二、功能需求
经过调研与分析,整个系统从总体上分为人事管理、工资管理、系统管理,用户管理四大部分,每一部分应实现的功能如下:
1.人事管理功能
?新员工档案的输入:
?员工基本信息维护:包括修改、删除。
?员工基本信息查看:
?员工基本信息查询:支持多条件查询,可以选择某一部门、某一账号,姓名等进行查询,也可以组合查询。
?员工花名册。
2.工资管理功能:
?新员工工资新增。
?员工工资修改。
?员工工资查询(个人和总体显示)。
3.系统维护功能:
?部门信息维护:实现灵活的增减部门信息
?职务信息,员工一些基本信息显示。
?系统数据备份。
4.用户管理功能:
?用户管理:包括新增用户、删除用户、修改用户密码等。
系统人员:
1)员工:每个员工有个用户名和密码,能够方便的按照某种关键字对自己的工资进行查询。
2)系统管理员:有唯一用户名和密码,完成对员工资料的增加,删除,
修改和查询。对系统的维护,数据备份,数据导出。员
工信息的查询,增加,修改,删除,设定工资年龄,岗
位工资,个人所得税。
系统功能模块图
三、 其它需求(包括安全、性能需求)
1)系统易操作性
所开发的系统应做到操作简单,尽量使系统操作不受用户对电脑知
识水平的限制。 2)系统具有可维护性
由于系统涉及的信息比较广,数据库中的数据需定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转,学院可以对系统数据及一些简单的功能进行独立的维护及调整。 3)系统具有开放性
工资管理
工资信息查询 工资修改
人事管理 员工信息删除
员工信息修改 员工信息添加 用户管理 用户数据添加 用户数据修改 修改用户口令
工资管理系统 系统管理
基本信息查询
部门信息管理 数据备份
该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连
接,不会因外部系统的不同面要做在量的修改工作。
数据库设计
1. 在仔细调查工资管理过程的基础上,得到系统所要处理数据的流程如图:
2. 通过对员工管理内容、工资管理内容和过程的分析,本系统应设计的实体和属性如下:
员工(包括员工账号、员工姓名、学历、性别、政治面貌、所属部门、职务、
参加工作时间、籍贯、民族); 部门(部门代号、部门名称); 职务(职务名称);
薪金结构(月份、员工账号、员工姓名,薪水帐目、数目)
人力资源 录用新员工
部门岗位调整 员工辞退
人事变动 员工信息
员工信息查询 员 工 岗位相关信息
工资计算 工资查询
工资表
实体和实体之间的关系E-R 图如下:
职务
职务名称
部门
部门代号
部门名称
员工工号
员工姓名 学历
性别
政治面貌
所属部门 职务
籍 贯
员工
民族
薪金结构
薪水帐目
月份
数目
员工工号
员工姓名
部门
职务 员工
属于
担任
薪金结构
具有
1:N
M :N
1:N
3.在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
工资管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。
?员工信息表:
序号域中文名域类型可否为空备注
1 员工账号Varchar(10)主键
2 员工姓名Varchar(10)√
3 性别Varchar(10)√
4 政治面貌Varchar(10)√
5 学历Varchar(10)√
6 所属部门Varchar(10)√
7 职务Varchar(10)√
8 参加工作时间Varchar(10)√
9 籍贯Varchar(10)√
10 民族Varchar(10)√
说明:员工基本信息表用于存储员工基本信息,为保证数据的一致和资料的完整,可以对表进行插入,修改和删除操作。
?管理员表:
序号域中文名域类型可否为空备注
1 管理员账号Varchar(10)主键
2 姓名Varchar(10)√
3 密码Varchar(2)√
说明:为了便于多个用户管理该系统,建立此表,记录管理员的登录账号和密码。
?基本资料表:
序号域中文名域类型可否为空备注
1 部门编号Char(10)主键
2 部门名称Char(10)
3 职务名称Char(10)
4 籍贯名称Char(10)
5 民族Char(10)
6 学历Char(10)
说明:基本参数表用于维护系统的一些基本参数,例如职务,籍贯、民族,学历,部门。
?员工工资表:
序号域中文名域类型可否为空备注
1 员工账号Char(10)主键
2 员工姓名Char(10)
3 部门名称Char(10)
4 时间Datetime(10)
5 基本工资Int(4)
6 岗位工资Int(4)
7 住房补贴Int(4)
8 津贴Int(4)
9 工会会费Int(4)
10 水电费Int(4)
11 住房公积金Int(4)
12 养老保险Int(4)
13 奖金Int(4)
14 罚金Int(4)
15 应发金额Int(4)√
16 应扣金额Int(4)√
17 实发金额Int(4)√
说明:员工工资表用于计算员工的工资,及工资的设置,查询等功能。
应用程序设计
一、应用程序框架设计(包括相关原理与主要技术手段)
根据需求分析、概要设计的结果,采用Delphi做为开发工具,实现公司工资管理各模块的功能。
1.启动界面设计
功能说明
系统运行时,首先弹出此启动窗口,几秒钟后自动关闭出现登录窗口,实现此界面主要是修改了工程文件,并调用了一个时间空
间,当下方进度条到头时,进入登陆界面,此界面则自动隐藏。
屏幕格式设计
启动界面
源程序分析:
procedure (Sender: TObject);
功能说明
控制员工登录,防止非法用户闯入本系统,保证系统的安全,输入口令时屏幕显示为“*”以利保密。
屏幕格式设计
登录界面
2 .3源程序分析
procedure (Sender: TObject; var Key: Char);
begin
if Not(key in['0'..'9']) and (Key<>chr(vk_back)) then '9']) and (Key<>chr(vk_back)) then alue:=;
('pw').Value:=;
open;
if recordcount=0 then
功能说明
界面采用图形方式,在界面上直接显示,系统的各个大的功能模块;
用户只需点击,即可进入相应的功能模块,当鼠标移动到相应图标时,右边会有相应提示。右边状态栏主要是用于显示时钟信息,以及系统操作过程中的信息。而且由于此窗口是用层叠式制作,所以和后边几个功能在同一个窗体,只是暂时隐藏。
屏幕格式设计
系统主界面源程序分析
procedure (Sender: TObject);
窗口形体及说明:点击员工信息按钮,会进入员工窗体,而点击
退出会回到主窗体。
人事管理界面
员工基本信息查看和删除:
功能说明
用于浏览员工的基本信息,可以显示所有员工的信息,也可以按一定条件查询出你所要找的员工信息,如员工账号、员工姓名、部门名称;且有一个显示所有员工信息的按钮;选择Dbgrid中一个员工,然后点击删除则可以进行删除;另外还可以把所有员工信息导出到Exile表格中;浏览时应具有浏览前一条记录、后一条记录的功能。实现采用pagecontrol控件,中间放置两个Tablesheet,其中一个放置Dbgrid按件实现表格式浏览。
屏幕格式说明
浏览员工基本信息界面
源程序分析
procedure (Sender: TObject); 号=:a');
('a').Value:=Trim;
Open;
end;
if =false then
begin
;
'select *from 员工信息表where 账号='''++'''');
MessageBox(handle,'查询完毕!','提示',MB_OK or MB_ICONINFORMA TION);
;
:='';
:='';
end
else
begin
messagebox(0,'你输入的员工账号不存在!','错误',48);
:='';
exit;
end;
end;
if then
begin
if ='' then
begin
MessageBox(handle,'请输入员工姓名,不能为空!','提示',MB_OK or MB_ICONINFORMA TION);
exit;
end
else
with ADOQuery1 do
begin
close;
;
('select * from 员工信息表where 员工信息表.姓名=:a');
('a').Value:=Trim;
Open;
end;
if =false then
begin
;
'select *from 员工信息表where 姓名='''++'''');
MessageBox(handle,'查询完毕!','提示',MB_OK or MB_ICONINFORMA TION);
;
:='';
:='';
end
else
begin 在部门=:a');
('a').Value:=Trim;
Open;
end;
if =false then
begin
;
'select *from 员工信息表where 所在部门='''++'''');
MessageBox(handle,'查询完毕!','提示',MB_OK or MB_ICONINFORMA TION);
;
:='';
:='';
end
else
begin
messagebox(0,'你输入的部门名称无人员!','错误',48);
:='';
exit;
end;
end;
end;
procedure (Column: TColumn); sString ;
[1].AsString ;
[2].AsString ;
[3].AsString ;
[4].AsString ;
[5].AsString ;
[6].AsString ;
[7].AsString ;
[8].AsString ;
[9].AsDateTime ;
end;
procedure (Sender: TObject);
var
h:integer;
Excelid: OleVariant;
begin
try
Excelid := CreateOLEObject('');
except
('Excel没有安装!', '提示信息', MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL);
Exit;
end;
try
;
'select * from 员工信息表');
;
ange['A1:i1'].Merge(True);
[1].Cells[1,1].V alue :='员工基本信息表' ;
[1].Range['a1:a1'].HorizontalAlignment := $FFFFEFF4;
[1].Range['a1:a1'].VerticalAlignment := $FFFFEFF4;
[1].Cells[2,1].V alue := '员工账号';
[1].Cells[2,2].V alue := '员工姓名';
[1].Cells[2,3].V alue := '性别';
[1].Cells[2,4].ColumnWidth:=12;
[1].Cells[2,4].V alue := '所在部门';
[1].Cells[2,5].ColumnWidth:=12;
[1].Cells[2,5].V alue := '职务';
[1].Cells[2,6].ColumnWidth:=12;
[1].Cells[2,6].V alue := '政治面貌';
[1].Cells[2,7].V alue := '民族';
[1].Cells[2,8].V alue := '学历';
[1].Cells[2,9].V alue := '籍贯';
[1].Cells[2,10].ColumnWidth:=12;
[1].Cells[2,10].Value := '参加工作时间';
[1].Range['A1:i1']. := '宋体';
[1].Range['A1:i1']. := 15;
{[1].range['A1:i2'].:=true;
[1].Range['A2:i2']. := 10;
[1].Range['A2:i2].HorizontalAlignment := $FFFFEFF4;
[1].Range['A2:i2'].VerticalAlignment := $FFFFEFF4;}
h:=3;
;
while not do
begin
[1].Cells[h,1].Value := ('账号').AsString;
[1].Cells[h,2].Value := ('姓名').AsString;
[1].Cells[h,3].Value := ('性别').AsString;
[1].Cells[h,4].Value := ('所在部门').AsString;
[1].Cells[h,5].Value := ('职务').AsString;
[1].Cells[h,6].Value := ('政治面貌').AsString;
[1].Cells[h,7].Value := ('民族').AsString;
[1].Cells[h,8].Value := ('学历').AsString;
[1].Cells[h,9].Value := ('籍贯').AsString;
[1].Cells[h,10].Value := ('参加工作时间').AsString;
Inc(h);
;
end;
{s := 'A2:i'+ IntToStr(k+2);
[1].Range[s]. := '宋体';
[1].Range[s]. := 2;}
except
('导入数据出错!请检查文件的格式是否正确!', '提示信息', MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL);
end;
:=false;
end;
员工基本信息输入
功能说明
完成新员工人事档案的建立,在添加界面写入信息,点保存即可。
特别在添加界面中的一些combox控件的内容需要在前边,输入,具体
见代码。
屏幕格式说明
新员工资料录入界面
源程序分析
procedure (Sender: TObject); sString);
end;
end;
begin
'Select 名称from 部门表');
then
begin
for i:=0 to do
begin
'名称').AsString);
end;