PB课设员工管理系统.docx
- 文档编号:5465545
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:13
- 大小:492.74KB
PB课设员工管理系统.docx
《PB课设员工管理系统.docx》由会员分享,可在线阅读,更多相关《PB课设员工管理系统.docx(13页珍藏版)》请在冰豆网上搜索。
PB课设员工管理系统
员工管理系统
一、本组设计的功能描述
功能说明如下:
1.新员工的基本信息的添加
2.员工信息查看,修改
3.修改密码
4.查询员工的信息
(1)姓名查询
(2)工号查询
5.导出数据到各种格式中,打印员工基本信息表
6.员工基本信息操作:
打印、删除、保存修改
7.员工培训信息查询
8.部门信息管理
9.岗位信息管理
10.员工培训课程管理
2、本组设计的主要特色
菜单是在窗口中与用户直接接触的一个重要对象,菜单必须依附于窗口,除了子窗口和响应窗口外,其他类型的窗口都可以带有菜单。
窗口是应用程序的图形用户界面的基本元素,其他的应用程序组件往往是通过窗口联系起来的,所以对于一个应用程序来说,创建窗口对象是极其基本的一步工作。
继承是面向对象编程的一个重要概念,它是自动共享各个类、子类中的方法和数据的有效机制。
作为过程式系统所没有的一个有力机制,继承使得我们可以通过从父类中继承公共方法和数据,进而通过添加新的数据和方法定义一个新的类。
在此程序设计中,设计了一些窗口和数据窗口,还有一个菜单对象。
数据窗口的显示风格有Grid、Freeform、GrossTab和N_Up;数据源类型有QuickSelect,SQLSelect等。
在生成数据窗口是,还定义了String型检索参数变量来分别表示其中的内容,在数据窗口中还改变了一些控件的编辑风格和属性并在其中添加了计算域控件和文本控件。
在设计窗口时,用到了窗口继承的方法,那样既方便又快捷,还节约了工作量。
三、系统分析与设计
●系统总体设计--确定程序功能模块;
●系统详细设计--在总体设计基础上设计系统总体框架、数据结构(类)、关键算法的流程;
●最后编制源程序。
1.系统功能模块划分及说明
2.总体框架,数据文件等
3.系统关键算法流程图
4.源程序关键性代码
本系统以管理员的角色进入,即公司内部人员操作员工的信息与培训情况。
由对员工的修改、保存、删除工作。
还有对数据库表的更新,包括员工的添加与删除。
另一个模块是对于员工培训课程的录入以及员工培训成果的查询。
一、软件功能框架设计
由于对框架的完善,加入了员工培训的内容。
2、数据库关系图
该关系图体现了数据库中表的格局与内容。
但是另外的课程信息表并没有涉及,而是另外的两个表。
三、各部分功能简要说明
1、w_login登录窗口
”登录“按钮代码
stringpassword,username
SELECTuser.admin,
user.password
INTO:
username,
:
password
FROMuser
WHEREuser.admin=:
sle_1.text;
ifsle_1.text=""orsle_2.text=""then
messagebox("错误!
","用户名或密码不能为空!
",exclamation!
ok!
2)
else
ifusername=sle_1.textandpassword=sle_2.textthen
messagebox("通过验证!
","用户名和密码正确,欢迎您使用本系统!
",Information!
ok!
2)
else
messagebox("错误!
","用户名或密码错误,请重新输入!
",exclamation!
ok!
2)
endif
endif
点击修改密码进入密码修改页面,也可由主界面进入。
确定按钮代码
stringll_password,ll_username
iftrim(sle_1.text)<>ll_passwordthen
messagebox("提示","旧密码错误")
else
iftrim(sle_2.text)=(sle_3.text)then
ll_password=trim(sle_2.text)
UPDATEuser1
SETpassword=:
ll_password
WHERE(name=:
ll_username)and
(password=:
ll_password);
ifsqlca.sqlcode<>0then
messagebox("提示","密码修改不成功")
else
close(parent)
messagebox("提示","密码修改完成")
endif
else
messagebox("提示","两次密码不相同")
endif
endif
2、w_main主界面
主界面由主菜单设置
3、员工信息查询,
1)、按工号查询
2)、按姓名查询
4、员工基本情况浏览
1)婚姻情况
修改的代码
ifmessagebox("提示信息","是否保存修改?
",Question!
YesNo!
1)=1then
dw_1.update()
messagebox("提示信息","保存完成")
else
messagebox("提示信息","保存失败")
endif
2)部门信息
添加按钮
intg1
g1=dw_1.Insertrow(0)
dw_1.ScrollTorow(g1)
保存修改
ifmessagebox("提示信息","是否保存修改?
",Question!
YesNo!
1)=1then
dw_1.update()
messagebox("提示信息","保存完成")
else
messagebox("提示信息","保存失败")
endif
3)岗位信息
5、员工学历信息
打印dw_1.Print()另存为dw_1.SaveAs()
6、员工培训情况查询
本窗口分三个标签页按工号查询、按出生日期查询、按家庭住址查询
查询按钮
Stringll_name
ll_name=Trim(sle_1.text)
IfNOTll_name=""then
dw_2.Retrieve(ll_name)
Else
MessageBox("数据不全","请输入待查询员工工号")
EndIf
sle_1.SetFocus()
该窗口连接的数据窗口
7、员工的添加和删除
添加按钮
if(sle_1.text=""orsle_2.text=""orsle_3.text=""orsle_4.text=""orsle_5.text=""orsle_6.text=""orsle_7.text=""orsle_8.text=""orsle_9.text=""orsle_10.text=""orsle_11.text=""orsle_12.text=""orsle_13.text=""orsle_14.text=""orsle_15.text=""orsle_16.text="")then
messagebox("提示信息","信息未填完整")
else
ifmessagebox("提示信息","是否添加此员工?
",Question!
YesNo!
1)=1then
insertinto员工基本信息表(员工基本信息表.工号,员工基本信息表.姓名,员工基本信息表.学历,员工基本信息表.岗位,员工基本信息表.部门,员工基本信息表.电话号码,员工基本信息表.性别,员工基本信息表.出生日期,员工基本信息表.家庭住址,员工基本信息表.婚否,员工基本信息表.参加工作时间)
values(:
sle_1.text,:
sle_2.text,:
sle_9.text,:
sle_3.text,:
sle_4.text,:
sle_14.text,:
sle_8.text,:
sle_15.text,:
sle_6.text,:
sle_7.text,:
sle_5.text);
insertinto员工婚姻情况表(员工婚姻情况表.姓名,员工婚姻情况表.性别,员工婚姻情况表.配偶)
values(:
sle_2.text,:
sle_8.text,:
sle_16.text);
insertinto员工学历情况表(员工学历情况表.姓名,员工学历情况表.学历,员工学历情况表.专业,员工学历情况表.学校,员工学历情况表.外语水平,员工学历情况表.毕业时间)
values(:
sle_2.text,:
sle_9.text,:
sle_10.text,:
sle_11.text,:
sle_12.text,:
sle_13.text);
messagebox("提示信息","添加完成")
else
messagebox("提示信息","添加失败")
endif
endif
删除按钮
if(sle_1.text=""orsle_2.text="")then
messagebox("提示信息","请两项都要输入")
else
ifmessagebox("提示信息","删除后无法恢复,是否删除此员工所有信息?
",Question!
YesNo!
1)=1then
deletefrom员工基本信息表
where员工基本信息表.姓名=:
sle_1.textand员工基本信息表.工号=:
sle_2.text;
deletefrom员工学历情况表
where员工学历情况表.姓名=:
sle_1.text;
deletefrom员工婚姻情况表
where员工婚姻情况表.姓名=:
sle_1.text;
messagebox("提示信息","删除完成")
sle_1.text=""
else
messagebox("提示信息","删除失败")
endif
endif
四、系统调试出现的问题及解决情况
(编译语法错误及修改,重点是运行逻辑问题修改和调整)
1、在数据库与窗口的连接中出现了连接不上的问题。
但通过窗口的测试解决了该问题。
2、编辑过程中员工的添加中单行编辑框的名字与代码中的名字不对应,造成了很多的问题。
通过每个名字的对照进行修改该问题已解决。
3、建立数据窗口之后没有与数据窗口表格连接。
4、管理员录入员工培训信息之后没有正确进入数据库,窗口未与数据库连接,该问题未得到有效解决。
5、管理员密码的修改不能反映到数据库中。
五、系统运行报告(测试的结果)
1、能实现的功能:
登录、新员工的基本信息的添加、员工信息查看,修改、修改密码、查询员工的信息:
(1)姓名查询
(2)工号查询、导出数据到各种格式中、印员工基本信息表、员工基本信息操作:
打印、删除、保存修改、员工培训信息查询、部门信息管理、岗位信息管理、课程的查询以及课程成果的查询
2、不能实现的功能:
管理员密码的修改存在一些问题
六、总结
(包括设计的总结、还需改进的内容及心得体会)
本系统是采用Powerbuilder10.5为开发工具,开发环境Windows7。
数据库采用微软公司旗下产品SQL2005。
演示版本数据库连接采用MS环境下数据源OBDC,数据源名称<员工信息管理系统>,在PB10.5中连接时名为<员工管理(员工信息管理系统)>。
该系统是我在PB课程设计期间完成,编写耗时一周。
由于是PB的初作品,难免有些不近人意之处,由于我们以前从事程序编写工作不多并且由于水平和时间有限,所以很多更人性化工作没有做到。
菜单是在窗口中与用户直接接触的一个重要对象,菜单必须依附于窗口,除了子窗口和响应窗口外,其他类型的窗口都可以带有菜单。
窗口是应用程序的图形用户界面的基本元素,其他的应用程序组件往往是通过窗口联系起来的,所以对于一个应用程序来说,创建窗口对象是极其基本的一步工作。
继承是面向对象编程的一个重要概念,它是自动共享各个类、子类中的方法和数据的有效机制。
作为过程式系统所没有的一个有力机制,继承使得我们可以通过从父类中继承公共方法和数据,进而通过添加新的数据和方法定义一个新的类。
在此程序设计中,设计了一些窗口和数据窗口,还有一个菜单对象。
数据窗口的显示风格有Grid、Freeform、GrossTab和N_Up;数据源类型有QuickSelect,SQLSelect等。
在生成数据窗口是,还定义了String型检索参数变量来分别表示其中的内容,在数据窗口中还改变了一些控件的编辑风格和属性并在其中添加了计算域控件和文本控件。
在设计窗口时,用到了窗口继承的方法,那样既方便又快捷,还节约了工作量。
其中还有不能实现的内容及程序运行于期望不同的内容,并且也有不能正确运行的程序,由此我觉得编程工作要保持严谨性与较强硬的专业知识。
而且我本次编写的程序本身难免可能存在一些功能不足,语法不够严谨等小问题,希望老师能够谅解!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PB 员工 管理 系统