员工信息管理系统课程设计.docx
- 文档编号:22870904
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:46
- 大小:543.81KB
员工信息管理系统课程设计.docx
《员工信息管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《员工信息管理系统课程设计.docx(46页珍藏版)》请在冰豆网上搜索。
员工信息管理系统课程设计
《信息系统设计》
软件工程课程设计
课题名称:
员工信息经管系统
姓名:
兰朝仁
学号:
080153035
学院:
继续教育学院
专业:
计算机科学与技术
年级:
2008级(夜大专升本)
指导教师:
陈郞钦
完成日期:
2010年10月11日
【摘要】本文从员工信息经管系统规划、需求分析、系统设计、系统实现及系统测试等多个方面,分别叙述系统研发的整个实现过程,简述采用Delphi7编程工具及Access数据库实现系统应用的设计要点,重点阐述系统实现过程中的重点和难点问题的分析及其解决技术方案,解决企业对员工的计算机经管。
【关键词】员工、人事、工资、经管、数据库
引言
随着我国国民经济建设的蓬勃发展和社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业经管水平以及优质服务上都提出更高的要求。
建设一个科学高效的信息经管系统是解决这一问题的必由之路。
员工信息经管作为企业内部的一种员工基本档案经管也是如此,由于企业的人数较多,每一位员工的具体实际情况也不尽相同,如果没有一个完整的员工信息经管系统去完成,将使工作变得复杂,并且对于工作的效率也将使一个致命的打击,使无论如何也无法适应现代社的需要。
另外,目前部分企业使用的员工信息经管系统只有信息的录入,修改和删除的功能,而不具有信息查询的功能,这对于企业的信息经管工作来说是一个很遗憾的事情。
因此,开发一套功能完整,设计合理,使用方便的企业员工信息经管系统成为很有必要的事情。
企业员工信息经管系统的内容功能对于企业的决策者和经管者来说都至关重要,所以企业员工信息经管系统应该能够为经管者提供充足的信息和快捷的查询与经管手段。
作为计算机应用的一部分,使用计算机对企业员工信息进行经管,具有手工经管所无法比拟的优点.例如:
查询迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够降低员工经管工作的成本,减轻企业经管人员的负担,方便员工信息的更新、维护和查询,增加数据的可靠性。
从而提高企业员工信息经管的效率,开拓企业员工经管工作的新局面,提高经管水平,是企业经管的科学化、正规化、信息化经管,与世界接轨的重要条件。
当前主流的程序开发环境有MicrosoftVisualStudio.NET,SunJava,BorlandDelphi等。
VisualStudio.NET对Windows系统兼容性好;Java可以支持多种环境及操作系统平台;而Delphi则可在Windows系统下快速开发C/S结构程序,具有多方成熟的控件完善系统开发。
主流的数据系统则有Oracle,MicrosoftSQLServer和Access。
Oracle功能强大,稳定性好;SQLServer稳定,功能齐全;而Access简单快速、小巧便捷。
下面采用BorlandDelphi7开发环境,结合MicrosoftAccess数据库,对员工信息经管系统的开发过程和系统规划、系统需求及分析、系统设计、系统实现及系统测试等各个阶段,论述其数据库应用系统的设计要点,实现过程中存在的难点、问题的分析及其解决技术方案。
1.系统规划
系统规划的主要内容是信息系统设计的目标及信息系统的总体技术方案。
1.1系统设计目标
本系统的设计目标是建立企业对员工档案及工资的计算机经管系统。
1.2系统总体规划
系统本着合理性、可靠性和先进性的原则,实现:
(1)完整的数据分析系统,能对数据流实施控制与动态分析;
(2)有功能强大、资料齐全的查询系统;
(3)方便用户使用及操作的界面,操作简便、运行稳定。
1.3设计技术方案(步骤)
在员工信息需求的基础上,提出整个信息系统的总体结构技术方案,确定系统开发设计的次序及时间的安排。
具体分为五个步骤:
(4)分析员工档案及工资等信息经管的业务活动,搞清业务流程及数据流程;
(5)根据业务流程及数据流程,确定属于系统业务处理的范围;
(6)分析业务流程及数据流程所涉及的数据,确定数据库及其数据表;
(7)确定系统概要设计(总体结构、数据结构)、详细设计(模块、算法)框架;
(8)进行系统实施过程的程序设计及其软件测试。
2.系统分析
系统分析的最主要内容有员工信息经管系统的业务需求分析、业务流程图、数据流程图、数据库设计等四个部分。
2.1业务需求与分析
(1)系统数据需求
通过对企业员工的信息经管业务流程的调查,归纳总结系统对其数据的需求,主要有:
员工档案信息,
员工工资信息,
部门、职务、工资类型等基础信息
(2)系统功能需求
系统的主要需求,即所设计的系统在功能上应做什么。
本系统主要的功能有:
员工经管:
完成员工档案的新增、修改、删除、查询及打印等功能;主要实现对所有员工的姓名、编号、部门、职务、入职时间、性别、身份证号、出生日期、学历、私人电话及工作电话等信息的经管。
工资经管:
完成员工工资的录入、查询、分析及相关打印等功能;主要实现对员工的姓名、工资类别及工资金额等信息的经管。
基本信息经管:
完成部门设置、职务设置、工资类别设置、用户口令设置,系统数据初始化等功能。
部门设置主要实现部门编号和部门名称的设置;职务设置主要实现职务编号和职务名称的设置;工资类别设置主要实现工资类别编号和工资类别名称的设置;口令更改实现用户口令的修改;系统初始化清除系统所有历史数据,使数据库进入初始状态。
系统帮助:
帮助用户解决问题,沟通与软件开发者的联系。
(3)系统性能需求
系统的性能指标包括存储容量限制、运行时间限制、传输速度要求、安全保密性等几个方面。
(4)系统运行环境需求
硬件方面:
采用的设备机型以及外部设备等;
软件方面:
支持系统运行的系统软件,如操作系统、数据库系统等。
(5)系统可靠性及安全保密需求
对系统、重要子系统在运行中的安全、可靠、保密方面提出要求。
2.2系统业务流程图
从实际业务功能的角度将系统规划中有关的业务做进一步的分析,用一个完整的图型来反映业务处理过程。
系统业务流程图(TFD)如下:
2.3系统数据流程图
以数据流程图表示数据流向和对数据进行的加工;分析系统数据,对数据流图中的数据流给出具体定义。
系统的顶层数据流程图(DFD)如下:
3.系统设计
系统设计主要有以下几项内容:
3.1系统软件功能结构
3.2系统主要技术
本系统采用BorlandDelphi7开发环境,结合MicrosoftAccess数据库。
BorlandDelphi7使用的是面向对象的ObjectPascal语言,可以灵活得进行大型应用系统的开发。
Delphi7提供了对数据库系统及规范SQL语言支持,可以开发出符合规范SQL的应用系统,提高系统的可移植性,可根据不同企业的需求,使用Oracle、SQLServer、Access等规范的SQL数据库。
同时,Delphi7自身提供了很多数据库操作的控件,还有第三方优势的数据库操控件,从面更快,更好得开发出优秀的应用系统。
本系统就采用了DevExpress公司的DevExpressVCL数据控件一起实现员工信息经管系统的开发。
3.3系统数据库设计
3.3.1数据库设计要点
(9)第一阶段的设计任务是收集和分析用户需求,完成数据库的概念设计。
(10)第二阶段设计任务是数据库的逻辑设计,完成E-R模型向逻辑模型转换。
(11)第三阶段设计任务是数据库的物理设计,确定表的结构,建立数据库模型。
3.3.2数据库系统设计要点及难点
(12)建立数据库,确定数据库中表的数量及其每个表中各个字段的字段名、类型、宽度、小数及索引、排序。
(13)确定数据库中各个表的字段的主键值、主索引及普通索引。
(14)建立各个表数据环境,确定主表并建立主表与各个表之单的关联。
(15)程序设计过程中的标签、文本框、编辑框、复选框、列表框、数据库连接、数据查询的属性。
(16)采用结构化编程方法,确定系统功能模块及其相互之间的关系。
3.3.3数据库及其表的建立和使用
使用Access程序建立Access数据库,建立相应表,设置各个表中具体字段名称、类型、主键、索引,设置各个表间的关系。
3.3.4系统组成及数据环境
(1)数据库:
PersonnelInfo.mdb
(2)表:
员工-员工信息表,工资-工资表,部门-部门信息表,职务-职务信息表,工资类别-工资类别信息表
(3)工程:
PersonnelInfo.dpr:
员工信息经管系统工程经管器
(4)表单:
Main.dfm-系统主界面Personnel.dfm-员工经管界面Wage.dfm-工资经管界面Department.dfm-部门经管界面
Post.dfm-职务经管界面About.dfm-关于界面WageCategory.dfm-工资类型经管界面
(5)程序:
Main.pas-系统主程序Personnel.pas-员工经管程序Wage.pas-工资经管程序Department.pas-部门经管程序
Post.pas-职务经管程序About.pas-关于程序WageCategory.pas-工资类型经管程序
(6)数据环境:
3.3.5数据库概念设计
数据库概念设计主要采用E-R模型进行设计.E-R模型的关系是确定每一处理模块的实体、实体属性和实体间的联系。
实体、属性、联系及数据结构描述如下:
(1)员工经管模块
实体:
员工、部门、职务;
属性:
员工的属性有姓名、员工编号、部门、职务、入职时间、性别、身份证号、出生日期、学历、私人电话、工作电话及备注等;部门的属性有部门编号和部门名称;职务的属性有职务编号和职务名称。
联系:
员工与部门之间是多对一(M:
1)的关系;员工与职务之间也是多对一(M:
1)的关系。
数据项:
见数据库的物理设计。
(2)工资经管模块
实体:
工资、工资类别;
属性:
工资的属性有员工编号、工资类别和工资金额;工资类别有工资类别编号、工资类别名称。
关系:
工资类别与工资这间是一对一(1:
1)的关系。
数据项:
见数据库的物理设计。
3.3.6数据库逻辑设计
数据库的逻辑设计主要完成从E-R模型向数据逻辑模型的转换。
首先将E-R模型中同一实体的所有属性放在同一记录类型中,变成记录的数据项;其次如果两个实体间有M:
N的关系,除各自建立记录类型之外,还需增加一个记录类型,这一记录类型应包括两个实体各自的主键。
逻辑模型规范化及总E-R图描述如下:
员工(员工编号、姓名、部门编号、职务编号、入职时间、性别、身份证号、出生日期、学历、私人电话、工作电话、备注);
部门(部门编号、部门名称、备注);
职务(职务编号、职务名称、备注);
工资(员工编号、工资类型编号、金额、备注);
工资类别(工资类别编号、工资类别名称、备注);
用户(用户名、密码、确认密码、备注)。
消除冗余数据和联系后,其系统的E-R图如下:
3.3.7数据库物理设计
数据库的物理设计将完成数据逻辑模型向数据物理模型的转换。
每一记录类型确定为数据库中的一张表;记录类型中的数据项成为相应表中的字段,字段属性根据各字段特点设置;确定索引和表之间的联系。
系统表结构描述如下:
(1)员工表
用于存放员工信息,包括员工编号、姓名、部门编号、职务编号、入职时间、性别、身份证号、出生日期、学历、私人电话、工作电话、备注。
字段
字段名称
类型
宽度
必需
索引
说明
1
员工编号
文本
20
是
有无重复
主键
2
姓名
文本
10
是
3
部门编号
数字
长整型
4
职务编号
数字
长整型
5
入职时间
日期/时间
6
性别
文本
2
7
身份证号
文本
20
8
出生日期
日期/时间
9
学历
文本
10
10
私人电话
文本
20
11
工作电话
文本
20
12
备注
文本
100
(2)部门表
用于存放员工的部门信息,包括部门编号、部门名称和备注。
字段
字段名称
类型
宽度
必需
索引
说明
1
部门编号
数字
长整型
是
有无重复
主键
2
部门名称
文本
20
是
3
备注
文本
100
(3)职务表
用于存放员工的职务信息,包括职务编号、职务名称和备注。
字段
字段名称
类型
宽度
必需
索引
说明
1
职务编号
数字
长整型
是
有无重复
主键
2
职务名称
文本
20
是
3
备注
文本
100
(4)工资表
用于存放员工的工资信息,包括员工编号、工资类别编号、金额和备注。
字段
字段名称
类型
宽度
必需
索引
说明
1
员工编号
文本
20
是
有重复
主键
2
工资类别编号
数字
长整型
是
有重复
主键
3
金额
数字
单精度型
4
备注
文本
100
(5)工资类别表
用于存放员工的工资类别,包括工资类别编号、工资类别名称和备注。
字段
字段名称
类型
宽度
必需
索引
说明
1
工资类别编号
数字
长整型
是
有无重复
主键
2
工资类别名称
文本
20
是
3
备注
文本
100
(6)用户表
用于存放系统的用户名和密码,包括用户名、密码和备注。
字段
字段名称
类型
宽度
必需
索引
说明
1
用户名
文本
20
是
有无重复
主键
2
密码
文本
30
是
3
确认密码
文本
30
是
4
备注
文本
100
3.4输出设计
(1)选择输出方式:
显示终端、打印机;
(2)确定输出格式:
格式设计体现在各类报表中;
(3)输出的主要形式:
报表;
(4)输出的内容:
主要有员工信息、工资信息、部门信息、职务信息、工资类别信息和用户信息。
3.5输入设计
(1)输入方式设计
键盘输入和鼠标操作,为常规的数据录入方式;
磁盘传递数据。
(2)用户界面设计(详见各子模块用户界面)
人机对话方式:
通过屏幕、键盘、鼠标与系统对话,当操作错误时系统给出提示和警告。
菜单方式:
设计成下拉式、上弹式、按钮式,功能选择:
有光带移动、数字或字母选择、鼠标驱动。
4.系统实现
系统实施的最主要工作是程序设计,此外还包括了物理系统的实施、程序的调试等。
本系统的程序设计由主程序和各模块表单程序等两大部份组成。
4.1系统主程序流程
4.2系统主界面设计
4.3系统主程序设计
unitMain。
interface
usesWindows,SysUtils,Classes,Graphics,Forms,Controls,Menus,
StdCtrls,Dialogs,Buttons,Messages,ExtCtrls,ComCtrls,StdActns,
ActnList,ToolWin,ImgList,DB,ADODB,cxControls,cxContainer,cxEdit,
cxLabel。
type
TMainForm=class(TForm)
MainMenu:
TMainMenu。
File1:
TMenuItem。
Window:
TMenuItem。
Help:
TMenuItem。
FileExitItem:
TMenuItem。
WindowCascadeItem:
TMenuItem。
WindowTileItem:
TMenuItem。
WindowArrangeItem:
TMenuItem。
HelpAboutItem:
TMenuItem。
WindowMinimizeItem:
TMenuItem。
ActionList:
TActionList。
FileExit:
TAction。
WindowCascade1:
TWindowCascade。
WindowTileHorizontal1:
TWindowTileHorizontal。
WindowArrangeAll1:
TWindowArrange。
WindowMinimizeAll1:
TWindowMinimizeAll。
HelpAbout1:
TAction。
WindowTileVertical1:
TWindowTileVertical。
WindowTileItem2:
TMenuItem。
ImageList:
TImageList。
FileWage:
TMenuItem。
FilePersonnel:
TMenuItem。
FileDepartment:
TMenuItem。
ADOConnection:
TADOConnection。
FilePost:
TMenuItem。
N1:
TMenuItem。
FileWageCategory:
TMenuItem。
Image1:
TImage。
FileUser:
TMenuItem。
ADOQueryDelete:
TADOQuery。
FileDataInit:
TMenuItem。
procedureHelpAbout1Execute(Sender:
TObject)。
procedureFileExitExecute(Sender:
TObject)。
procedureFilePersonnelClick(Sender:
TObject)。
procedureFileDepartmentClick(Sender:
TObject)。
procedureFilePostClick(Sender:
TObject)。
procedureFileWageCategoryClick(Sender:
TObject)。
procedureFileWageClick(Sender:
TObject)。
procedureFormActivate(Sender:
TObject)。
procedureFileUserClick(Sender:
TObject)。
procedureFileDataInitClick(Sender:
TObject)。
private
{Privatedeclarations}
public
{Publicdeclarations}
end。
var
MainForm:
TMainForm。
ShowLogin:
Boolean=True。
implementation
{$R*.dfm}
usesLogin,Personnel,Department,Post,Wage,WageCategory,User,About。
procedureTMainForm.FileExitExecute(Sender:
TObject)。
begin
Close。
end。
procedureTMainForm.HelpAbout1Execute(Sender:
TObject)。
begin
AboutBox.ShowModal。
end。
procedureTMainForm.FilePersonnelClick(Sender:
TObject)。
var
MDIPersonnel:
TMDIPersonnel。
i:
integer。
begin
fori:
=0toMDIChildCount-1do
ifMDIChildren[i]isTMDIPersonnelthen
begin
MDIChildren[i].BringToFront。
ifMDIChildren[i].WindowState=wsMinimizedthen
MDIChildren[i].WindowState:
=wsNormal。
Exit。
end。
MDIPersonnel:
=TMDIPersonnel.Create(Application)。
MDIPersonnel.Show。
end。
procedureTMainForm.FileDepartmentClick(Sender:
TObject)。
var
MDIDepartment:
TMDIDepartment。
i:
integer。
begin
fori:
=0toMDIChildCount-1do
ifMDIChildren[i]isTMDIDepartmentthen
begin
MDIChildren[i].BringToFront。
ifMDIChildren[i].WindowState=wsMinimizedthen
MDIChildren[i].WindowState:
=wsNormal。
Exit。
end。
MDIDepartment:
=TMDIDepartment.Create(Application)。
MDIDepartment.Show。
end。
procedureTMainForm.FilePostClick(Sender:
TObject)。
var
MDIPost:
TMDIPost。
i:
integer。
begin
fori:
=0toMDIChildCount-1do
ifMDIChildren[i]isTMDIPostthen
begin
MDIChildren[i].BringToFront。
ifMDIChildren[i].WindowState=wsMinimizedthen
MDIChildren[i].WindowState:
=wsNormal。
Exit。
end。
MDIPost:
=TMDIPost.Create(Application)。
MDIPost.Show。
end。
procedureTMainForm.FileWageCategoryClick(Sender:
TObject)。
var
MDIWageCategory:
TMDIWageCategory。
i:
integer。
begin
fori:
=0toMDIChildCount-1do
ifMDIChildren[i]isTMDIWageCategorythen
begin
MDIChildren[i].BringT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 员工 信息管理 系统 课程设计