软件工程课程设计报告36709613.docx
《软件工程课程设计报告36709613.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计报告36709613.docx(28页珍藏版)》请在冰豆网上搜索。
软件工程课程设计报告36709613
(此文档为word格式,下载后您可任意编辑修改!
)
福建农林大学计算机与信息学院
课程设计报告
课程名称:
软件工程
课程设计题目:
人事档案管理系统
姓名:
XXX
担任角色:
B程序员
小组编号:
2011CS0403
小组组长:
XXX
同组其他同学:
XXX,XXX,XXX
系:
计算机信息与技术
专业年级:
2010计科专升本
学号:
XXX
指导教师:
XXX
职称:
2011年12月17日
福建农林大学计算机类
课程设计结果评定
评语:
成绩:
指导教师签字:
任务下达日期:
评定日期:
目录
一、课程设计概述4
1.1题目背景4
1.2项目内容4
1.3小组分工4
1.4部门管理模块完成计划5
二、项目设计的基本原理和采用的主要方法与技术5
三、项目的可行性研究与需求分析6
3.1技术可行性6
3.2经济可行性7
四、本人实现项目的过程与步骤8
4.1人事档案管理系统总体树状结构图8
4.2人事档案管理系统-数据库表结构的设计9
4.3主界面预览和部门信息管理模块的设计11
4.3.1主界面预览11
4.3.2部门信息管理模块设计12
4.4编码实现和用例分析15
4.4.1部门信息管理功能实现15
4.4.2部门管理模块进行增加,修改,删除及其用例分析23
五、个人课程设计收获和体会27
六、参考文献28
七、附录28
人事档案管理系统(部门信息管理功能)
一、课程设计概述
1.1题目背景
计算机信息管理是现代企业高效率、快节奏生产的重要组成部分,传统的人事档案管理往往采用手工管理,存在工作效率低、重复劳动多、管理人员劳动强度大等弊病,不能够为企业决策提供及时准确的信息,而采用先进的管理方法引进计算机信息技术,将计算机管理完整的对人事档案进行管理,则可以提高工作效率,进一步简化和规范办事程序,提高生产的质量,为企业带来更多的效益,这已经是各个企业的必经之路。
本系统就是针对这种情况,参考同类系统开发的。
1.2项目内容
根据本次毕业设计的要求及任务,我们上网查资料和到图书馆借阅参考书,参考同类系统等,做了详尽的需求分析,确定了项目的具体内容,人力资源管理包含几大方面:
人事管理、考勤管理、薪资核算、员工考核、招聘管理、教育培训等,由于时间有限,系统本身又很庞大,所以我们只完成了人事档案管理部分的人事信息管理,部门信息管理和人事变更功能,对于这次课程设计,我们小组希望能从中获益良多。
前台设计:
VisualBasic6.0
后台数据库:
SQLServer2000
操作系统:
WindowsXP
1.3小组分工
角色名称
组员名字
完成部分
A主程序员
XXX
主界面和人事信息管理功能
B程序员
XXX
部门信息管理功能
C程序员
XXX
人事变更管理功能
D辅助程序员
XXX
数据库的实现
本人负责的是B程序员这个角色,我的工作是设计系统功能模块结构图(树状结构),参与用例分析,前台部分业务流程(顺序图、交互图)分析,数据库表结构的设计,个人完成的带注释的部分模块(部门信息管理模块的增加,修改,删除功能的实现)及其个人课程设计报告。
1.4部门管理模块完成计划
12.1..8.2011完成部门信息管理模块设计。
12.9..10.2011导入D辅助程序员数据库实现模块各个功能
解决模块部分BUG,完善功能。
12.11..17.2011写个人课程设计报告。
二、项目设计的基本原理和采用的主要方法与技术
本系统开发主要采用自顶向下的开发方式,瀑布模型(小组经过激烈讨论的结果),参考下图:
图2-1瀑布模型
虽然采用的是这个模型,但是并没有每一步都按照瀑布模型方式走。
我们首先收集资料,编写软件需求分析,概要设计,详细设计,测试分析,测试计划等文档,然后根据文档,编写了一个系统雏形和数据库雏形,接着,我们按照小组的分工,去完成自己的那部分功能。
最后整合把各小组成员软件设计部分整合起来,和已建立好的数据库连接上,开始进行测试。
三、项目的可行性研究与需求分析
开发人事档案管理系统、实现员工管理的计算机化,信息化是非常必要的,也是可行的。
因为使用计算机化的管理系统可以彻底改变目前员工管理的工作现状,能够提高工作效率,能够提供更准确、及时、适用的信息,从根本上解决手工管理中信息滞后、资源浪费等问题。
3.1技术可行性
人事档案管理系统对于大多是企业和单位来说存储的信息量大,必须依靠先进的存储技术。
信息的有序存储要涉及两个方面的技术,一个是硬件的存储介质技术,另一个是软件方面的数据存储的逻辑组织技术,这就是要求降低数据重复存储的冗余度,保持数据的一致性、完整性、安全性和保密性。
这个系统在组织关系上不是很复杂,系统的技术构成上来看,能够改变目前人员管理工作的现状,能够提高工作效率,能够提供更准确、及时、适用的信息。
其基本操作还是对存在数据库进行添加、删除、查找、编辑等。
所以就数据库应用技术来看是可行的。
由于本系统管理的对象单一,都是职工,且每个数据内容具有较强的关联性,涉及的计算过程也不是很复杂。
因此,比较适合于采用数据库管理。
在存储量、速度方面都能满足数据库运行的要求,利用VB提供的控件,可以很方便的设计界面和实现各种功能,同时结合SQL2000,实现职工管理系统所需的功能,完成管理的各项任务。
所以从技术上看开发这个人事档案管理系统,实现员工管理计算机化是可行的。
3.2经济可行性
人事档案管理系统就是典型管理信息系统,通过人事档案管理系统对人事档案进行管理具有人工管理所无法比拟的优点,例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等等。
一个设计完善,运行稳定的人事档案管理系统可以使人们从繁重的手工管理中解脱出来,从而提高企业人事档案管理的工作效率,协助企业更好的完成人事档案管理工作;而且,企业整体管理的信息化建设是企业的科学化、正规化管理也世界接轨的重要条件,人事档案管理的信息化又是企业整体管理信息化建设的重要组成部分。
因此,利用计算机对企业人事档案进行管理是必然趋势,人事档案管理系统是企业管理工作中不可缺少的一部分。
对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。
各部门必须配置电脑、打印机、传真机及相关的设备,但是整个系统投入运行之后,减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的损失等问题。
现在计算机已经很普及,而且在计算机硬件和软件方面不需要很高的配置,下面是参考的基本配置。
硬件配置要求
软件配置要求
奔腾3800MHz
Windows982000XP操作系统
512M内存
VB6.0+SQL2000
硬盘可用空间2G左右
这里的硬件配置,仅仅是参考,因为现在的CPU都是四核八核了,硬件价格也越来越便宜,1G内存都很普遍,这样,计算机已完全满足系统的要求。
综合以上,从经济角度上看,在管理方面可以节省大量的开支,一些繁琐的日常事务,也提高了企业或者单位的经济效率,也是可行的。
四、本人实现项目的过程与步骤
4.1人事档案管理系统总体树状结构图
下面是人事管理系统树状结构图:
(个人理解及参考教科书画图)
图4-1人事管理系统树状结构图
4.2人事档案管理系统-数据库表结构的设计
个人构思为人事档案管理系统设计了四个表:
人事信息档案表,人事变动信息表,部门信息表,离职信息表。
1人事信息档案表(档案编号,工号,姓名,曾用名,出生日期,身份证,籍贯,工龄,聘用日期,家庭住址,联系电话,部门名称,婚姻状况,政治面貌,民族,技术职称,文化程度,行政职务,用工性质,健康状况,工资级别,员工状态)
该表有22个属性还有4个功能的实现(增加,删除,修改,输出)。
下面为人事信息档案表的表结构。
数据属性
数据类型
长度
是否允许为空
档案编号
varchar
10
Y
工号
varchar
10
Y
姓名
varchar
10
Y
曾用名
varchar
10
Y
出生日期
datetime
8
Y
身份证
varchar
18
Y
籍贯
varchar
40
Y
工龄
varchar
2
Y
聘用日期
datetime
8
Y
家庭住址
varchar
100
Y
联系电话
varchar
30
Y
部门名称
varchar
30
Y
婚姻状况
varchar
10
Y
政治面貌
varchar
30
Y
民族
varchar
10
Y
技术职称
varchar
20
Y
文化程度
varchar
10
Y
行政职务
varchar
20
Y
用工性质
varchar
20
Y
健康状况
varchar
10
Y
工资级别
varchar
20
Y
员工状态
varchar
20
Y
性别
varchar
2
Y
2人事变动信息表(ID,变动日期,工号,姓名,原部门名称,原职务,现部门名称,现职务,变动说明)该表有9个属性还有3个功能的实现(增加,删除,修改)。
下面为人事变动信息表的表结构。
数据属性
数据类型
长度
是否允许为空
ID
int
4
N
变动日期
datetime
8
Y
工号
varchar
10
Y
姓名
varchar
10
Y
原部门名称
varchar
30
Y
原职务
varchar
20
Y
现部门名称
varchar
30
Y
现职务
varchar
20
Y
变动说明
varchar
200
Y
3部门信息表(部门编号,部门名称,部门级别,部门主管,部门电话,备注)
该表有6个属性还有4个功能的实现(增加,删除,修改,更新)。
下面为部门信息表的表结构。
数据属性
数据类型
长度
是否可以为空
部门编号
varchar
2
Y
部门名称
varchar
30
Y
部门级别
varchar
10
Y
部门主管
varchar
20
Y
部门电话
varchar
30
Y
备注
varchar
100
Y
4离职信息表(工号,姓名,部门名称,性别,是否离职,离职日期,备注)
该表有7个属性还有3个功能的实现(增加,删除,修改)。
下面为;离职信息表的表结构。
数据属性
数据类型
长度
是否可以为空
工号
varchar
10
Y
姓名
varchar
10
Y
部门名称
varchar
30
Y
性别
varchar
4
Y
是否离职
varchar
4
Y
离职日期
datetime
8
Y
备注
varchar
50
Y
4.3主界面预览和部门信息管理模块的设计
4.3.1主界面预览
效果图:
主界面的完成效果图:
图4-2主界面
4.3.2部门信息管理模块设计
1)部门信息管理界面预览:
图4-3部门信息管理界面
2)部门信息管理用例图
图4-4部门信息管理用例图
3)部门信息管理顺序图
图4-5部门信息管理顺序图
4)部门信息管理交互图
图4-6部门信息管理交互图
4.4编码实现和用例分析
4.4.1部门信息管理功能实现
1)部门信息管理主界面
图4-7部门信息管理界面
界面部件介绍:
名称
功能
Adodc1
实现连接后台数据库的功能
CmdAdd
实现“添加“功能按钮
CmdDelete
实现“删除”功能按钮
CmdModify
实现“修改”功能按钮
CmdExit
实现“退出”功能按钮
主要实现的代码介绍:
代码
备注
PrivateSubCmdAdd_Click()
Loadmain_bmgl_add
main_bmgl_add.Show
main_bmgl.Enabled=False
EndSub
PrivateSubCmdModify_Click()
Loadmain_bmgl_update
main_bmgl_update.Show
main_bmgl.Enabled=False
EndSub
PrivateSubCmdDelete_Click()
IfAdodc1.Recordset.RecordCount>0Then
Adodc1.Recordset.Delete
Adodc1.RecordSource="select*from部门信息表orderby部门编号"
Adodc1.Refresh
Else
MsgBox"没有要删除的数据!
"
EndIf
EndSub
PrivateSubCmdExit_Click()
CallCmdEnd(Me)
EndSub
添加功能的实现代码。
修改功能的实现代码。
删除功能的实现代码。
连接后台数据库的功能调用出存在的数据从部门信息表按部门编号升序排列。
如果数据库没有数据,弹出提示框"没有要删除的数据!
"
按退出返回主界面。
2)部门信息添加界面
图4-8部门信息添加界面
主要代码实现介绍:
数据添加界面,可以完成数据添加功能,部门编号的分配,以及部门名称,部门级别,部门主管,部门电话,备注的录入,以及各属性限制条件,存入数据库。
代码
备注
PrivateSubForm_Activate()
Text1
(1).SetFocus
Adodc1.RecordSource="select*from部门信息表orderby部门编号"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
Adodc1.Recordset.MoveLast
Text1(0).Text=Format(Adodc1.Recordset.Fields("部门编号")+1,"00")
Else
Text1(0).Text="01"
EndIf
EndSub
PrivateSubForm_Unload(CancelAsInteger)
main_bmgl.Enabled=True
EndSub
PrivateSubText1_GotFocus(IndexAsInteger)
Text1(Index).BackColor=&HFFFF00
EndSub
PrivateSubText1_LostFocus(IndexAsInteger)
Text1(Index).BackColor=&HFFFFFF
EndSub
PrivateSubText1_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)
IfIndex<5AndKeyCode=vbKeyReturnThenText1(Index+1).SetFocus
IfIndex=5AndKeyCode=vbKeyReturnThenCmdSave.SetFocus
IfIndex<>0AndKeyCode=vbKeyUpThenText1(Index-1).SetFocus
EndSub
PrivateSubCmdSave_Click()
Dimrs1AsNewADODB.Recordset
rs1.Open"select*from部门信息表",Cnn,adOpenKeyset,adLockOptimistic
rs1.AddNew
Fori=0To5
rs1.Fields(i)=Text1(i).Text
Nexti
rs1.Update
rs1.Close
main_bmgl.Adodc1.Refresh
main_bmgl.Enabled=True
UnloadMe
EndSub
PrivateSubCmdCancel_Click()
main_bmgl.Enabled=True
UnloadMe
EndSub
部门编号的分配,以及部门名称,部门级别,部门主管,部门电话,备注的录入,以及限制,存入数据库。
3)部门信息修改界面
图4-9部门信息修改界面
主要代码实现介绍:
数据修改界面,可以完成数据修改功能,部门编号,部门名称,部门级别,部门主管,部门电话,备注的部分修改,或者完全修改,以及各属性限制条件,保证不出现冲突,覆盖原来的记录,并存入数据库。
代码
备注
imiAsInteger
DimsqlAsString
DimmycnnAsNewADODB.Connection
PrivateSubForm_Activate()
Fori=0To5
'对应列
main_bmgl.DataGrid1.Col=i
Text1(i)=main_bmgl.DataGrid1.Text
Nexti
EndSub
PrivateSubForm_Unload(CancelAsInteger)
main_bmgl.Enabled=True
EndSub
PrivateSubText1_GotFocus(IndexAsInteger)
Text1(Index).BackColor=&HFFFF00
EndSub
PrivateSubText1_LostFocus(IndexAsInteger)
Text1(Index).BackColor=&HFFFFFF
EndSub
PrivateSubText1_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)
IfIndex<5AndKeyCode=vbKeyReturnThenText1(Index+1).SetFocus
IfIndex=5AndKeyCode=vbKeyReturnThenCmdModify.SetFocus
IfIndex<>0AndKeyCode=vbKeyUpThenText1(Index-1).SetFocus
EndSub
PrivateSubCmdModify_Click()
mycnn.OpenCnn
'生成SQL语句
sql="UPDATE部门信息表SET部门编号='"+Text1(0).Text+"',部门名称='"+Text1
(1).Text+"',部门级别='"+Text1
(2).Text+"',部门主管='"+Text1(3).Text+"',部门电话='"+Text1(4).Text+"',备注='"+Text1(5).Text+"'WHERE部门编号='"+Text1(0).Text+"'"
'执行SQL
mycnn.Executesql
mycnn.Close
main_bmgl.Adodc1.Refresh
main_bmgl.Enabled=True
UnloadMe
EndSub
PrivateSubCmdCancel_Click()
main_bmgl.Enabled=True
UnloadMe
EndSub
完成数据修改功能,部门编号,部门名称,部门级别,部门主管,部门电话,备注的部分修改,或者完全修改,以及各属性限制条件,保证不出现冲突,覆盖原来的记录,并存入数据库。
4)部门信息删除
删除由部门信息管理主界面共同实现,一旦调用数据库中没有记录,则弹出提示框“没有要删除的数据”,如果在部门信息管理主界面有数据记录就可以进行删除。
图4-10部门信息删除功能
4.4.2部门管理模块进行增加,修改,删除及其用例分析
1.登入人事档案信息管理系统主界面
图4-11人事档案信息管理系统主界面
2.点击部门管理按钮进入部门信息界面(无记录)
图4-12部门信息管理界面
3.如果点击删除会跳出“没有要删除的数据”
图4-13无记录会弹出“没有要删除的数据”
4.按添加按钮开始添加数据
图4-14开始添加信息
5.添加信息完毕,按保存按钮返回部门信息管理界面
图4-15添加信息完毕返回部门信息管理界面
6.按修改按钮,进入修改界面,把姓名王五改为刘备并保存
图4-16把姓名王五改为刘备并保存返回部门信息管理界面
图4-17部门信息管理界面显示修改记录
7.在部门信息管理界面删除此条记录
图4-18部门信息管理界面显示删除后的情况
8.用例分析完毕
五、个人课程设计收获和体会
历时两个多星期的课程设计要告一段落了,从这个两个星期中,我收获很多。
本次课程设计的选题是人事档案管理系统,组员为4个,针对具体的实际流程,我们有了明确的分工,我负责的是部门管理这个模块的开发及功能的实现。
在团队开发项目中,团队协作是十分重要的,这个就体现了人与人之间的沟通。
我们组员之间沟通的十分良好,所以也就加快了项目的开发进度。
通过沟通和交流我们避免了一些不必要的问题以及能及时发现问题,解决问题,从而能按计划完成开发项目。
按照小组长的分配任务,我们都按照要求在规定的时间内完成自己的任务。
通过这次软件工程的课程设计,学会了用VB开发一个项目的基本步骤和方法,加深了对软件开发流程的深入理解。
严格按照软件工程的开发流程办事。
开始第一次接触VB这个开发软件,不是很熟悉,遇到很多困难,后来经过网上找资料和从图书馆借来的参考书,不断的研究,终于懂了了一些基本的操作,但是碰到不懂的,还是要请求组长或者同组组员的帮助。
由于我们经常讨论,所以我们也大致刚开始的懵懵懂懂到后来基本了解了项目的开发方向以及基本原理和采用的主要方法与技术。
通过这次课程设计我复习了多种不同的流程图,如用例图,顺序图,交互图,树状结构图等等,复习了数据库表结构规划,设计。
经过这次课程设计,我真的学会了很多,虽然不能说到了驾轻就熟的地步,但是已经基本了解一个软件工程项目的开发的整个过程,因为自己部分知识的不扎实,浪费了很多时间,也从中吸取了经验教训,希望在下次类似的开发中,能提高自己的项目开发效率。
六、参考文献
[1]钱乐秋.牛军钰等.软件工程.清华大学出版社
[2]夏邦贵等.VisualBasic6.0数据库开发经典实例精解.机械工业出版社