软件工程课程设计人事管理系统

上传人:1777****777 文档编号:37867858 上传时间:2021-11-04 格式:DOC 页数:31 大小:924.50KB
返回 下载 相关 举报
软件工程课程设计人事管理系统_第1页
第1页 / 共31页
软件工程课程设计人事管理系统_第2页
第2页 / 共31页
软件工程课程设计人事管理系统_第3页
第3页 / 共31页
点击查看更多>>
资源描述
华科学院软件工程课程设计第一章 系统概述1.1 系统开发意义本系统是人事管理系统,它主要实现管理员如何对普通用户进行授权,如何插入、删除一个员工的信息,用户如何浏览员工的所有信息,以及用户如何查询自己想要的结果,也即是通过输入查询条件,显示符合条件的员工记录以及如何显示这个员工的全部信息。如何对查询或统计出来的符合条件的记录用报表的形式打印出来,窗口打开时的排放顺序,也即是平铺还是重叠 。1.2 任务该系统需要完成如下功能: (1)员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。(2)员工各种信息的修改。(3)对于转出、辞职、辞退、退休、员工信息的管理。(4)按照某种条件,查询统计符合条件的员工信息。(5) 对查询、统计的结果打印输出。第二章 可行性研究可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。任何一个工程的立项都需要进行项目的可行性分析。这是保证正确投资的必要工作,从项目的审批程序上看这也是必不可少的一步。信息系统开发项目是一项复杂的高科技系统工程,可行性分析也是必不可少的,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。根据调查分析,系统设计方案有以下三个可行性。42.1 经济可行性开发成本要低廉。效益:大幅度地提高人事管理系统的工作质量和效率,让企业掌握整个人事管理系统的全面情况,为管理人员提供了准确的人事管理信息,促进人事管理工作的规范化及各项管理制度与指标体系的建立和健全;提供各种加工处理了的人事管理信息,以满足人事管理的特殊要求,适应新形势对职工队伍提出的新要求。2.2 技术可行性开发一个中小型企业的人力资源管理系统,涉及到的技术问题不会太多,主要用到的技术就是数据库和一门可视化开发的编程语言。在这方面,数据库主要是用来存放数据,就目前主流的数据库来看,可以考虑采用Microsoft SQL Server数据库系统,在前台开发编程方面,采用Microsoft公司的Visual Basic 6.0中文版作为开发工具。32.3 操作可行性该系统在操作上很简单,使用者完全可以没有专业的计算机知识。启动系统后进入登陆用户界面,用户用自己的登陆名和密码进入系统操作页面。不同的用户拥有不同的用户名及密码。用户可以对信息进行浏览、删除、修改、添加等操作。2.4 功能实现普通用户:1 查找员工信息 2 修改密码管理员: 1 查看所有员工信息2 修改员工信息 3 增加新的员工 4 撤除员工信息 5 对系统进行设置2.5系统流程图管理员员工查询人事管理系统删除信息添加信息修改信息修改密码查看信息管理员信息员工信息图2-1人事管理系统的系统流程图(1)添加信息流程图:管理员添加信息数据库保存图2-2添加信息流程图(2)删除信息流程图:管理员删除信息数据库保存图2-3删除信息流程图(3)修改信息流程图:管理员修改信息数据库保存图2-4修改信息流程图(4)查找信息流程图:员工查找条件查找成功数据库图2-5查找信息流程图第三章 需求分析3.1 数据流图(1)顶层数据流图:4管理员员工员工信息管理员信息员工信息查询信息人 事 管理 系 统图3-1顶层数据流图(2)查询数据流图:4员工管理员1检验员工信息查询信息管理员信息查询信息2 查询有效查询信息D1员工信息表D2管理员信息表无效查询信息查询结果信息员工信息管理员信息图3-2查询数据流图(3)管理员添加、删除、修改数据流图:41身 份验 证管 理员管理员信息无权限操作3删除员工信息2添加员工信息4修改员工信息D2管理员信息表D1员工信息表有效权限管理员信息员工信息图3-3添加、删除、修改数据流图3.2 数据字典4数据流名:员工信息组成:姓名+性别+婚姻状况+职称+员工编号+出生年月+部门号流量:20张/月,每张10笔数据来源:各部门去向:成本管理组数据流名:管理员信息组成:管理员姓名+密码+权限流量:10张/月,每张5笔数据来源:各部门去向:成本管理组文件名:用户的文件组成:用户名+编号+用户信息存储方式:顺序存储频率:1次/5天数据项名:员工编号类型:数值长度:10位取值范围:10004999数据项名:姓名类型:字符型长度:C/8数据项名:性别类型:字符型长度:D/10数据项名:职称类型:字符型长度:C/8数据项名:婚姻状况类型:字符型长度:D/8加工名:添加信息输入数据:员工情况输出数据:员工信息加工逻辑:对系统进行增加员工信息加工名:删除信息输入数据:删除情况输出数据:员工信息加工逻辑:对系统进行删除员工信息加工名:修改信息输入数据:员工情况输出数据:员工信息加工逻辑:对系统进行修改员工信息加工名:员工信息汇总输入数据:员工信息输出数据:员工信息汇总表加工逻辑:各部门将员工信息汇总,最后输出员工信息汇总表3.3 E-R图21) 员工基本信息: 婚姻状况性 别员工基本信息员工编号姓 名出生年月职称部门号图3-4员工信息E-R图 2) 学历信息:学历信息员工编号学 历专 业毕业时间学 校外语状况图3-5学历信息E-R图3) 婚姻状况信息:婚姻状况员工姓名有无配偶图3-6婚姻状况信息E-R图4) 部门信息:部门经理部 门 号部门名称部门信息图3-7部门信息E-R图 5) 管理员:管理员姓名权 限管理员密 码 图3-8管理员E-R图6) 总E-R图: mnn11111员 工部 门管理员组成管理拥有拥有学历信息婚姻状况职称信息1 图 3-9总E-R图第四章 总体设计4.1 数据库设计目前设计数据库主要采用的是以逻辑数据库设计和物理数据库设计为核心的规范设计方法。其中逻辑数据库是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑结构。物理数据库设计是在逻辑结构确定之后,设计数据库的存储结构及其他实现细节。各种规范设计方法在设计步骤上存在差别,各有不同。现将数据库概念结构转化为数据系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库的表格以及各个表格之间的关系。 员工基本信息表字段名数据类型含义说明空值情况PER-IDChar员工编号主关键字NAMEChar姓名不为空SEXChar“男”或“女“可为空BIRTHDAYData出生年月可为空BEGTIMEData参加工作时间可为空PARChar职称可为空DEPT-IDchar部门号可为空表4-1员工基本信息表学历信息表字段名数据类型含义说明空值情况PER-IDChar员工编号主关键字DEGREEChar学历不为空PROChar专业可为空GRATIMEData毕业时间可为空SCHOOLChar学校可为空FOREIGNChar外语状况可为空表4-2学历信息表婚姻状况表字段名数据类型含义说明空值情况NAMEChar姓名主关键字SPOUSEChar有无配偶可为空表4-3婚姻状况信息表部门信息表字段名数据类型含义说明空值情况DEPT-IDChar部门号主关键字DEPTNAMEChar部门名称可为空DEPTMANAGERChar部门经理可为空表4-4部门信息表管理员信息表字段名数据类型含义说明空值情况ADMINISTRATORChar管理员不为空PASSWORDChar密码可为空PERMISSIONChar权限可为空 表4-5管理员信息表4.2 系统模块结构设计人事管理系统管理员普通用户添加信息删除信息修改信息查找信息修改密码图4-1层次结构图第五章 详细设计5.1程序流程图1)添加模块登陆界面输入用户名、密码信息正确?进入系统操作页面添加信息输出表单?输出添加信息表单退出系 统?退出系统提示用户名或密码错误是否是是否图5-1添加程序流程图2)删除模块登陆界面输入用户名、密码信息正确?进入系统操作页面删除信息输出表单?输出删除信息表单退出系 统?退出系统提示用户名或密码错误是否是是否5-2删除程序流程图3)修改模块登陆界面输入用户名、密码信息正确?进入系统操作页面修改信息输出表单?输出修改信息表单退出系 统?退出系统提示用户名或密码错误是否是是否5-3修改程序流程图第六章 编码实现与测试用例设计6.1界面的设计程序运行后会出现一个简捷的窗口,便于用户查询数据。通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。应用系统主控界面包括员工信息录入,查找等功能模块。员工信息录入功能完成员工信息记录,查询功能可以对数据各分类的记录进行查询。16.2详细模块设计1)登录界面图6-1登陆界面部分核心代码:2void CZHUCE:OnButton1() UpdateData(TRUE);if(m_username.IsEmpty()|m_password.IsEmpty()|m_password2.IsEmpty()AfxMessageBox(请将资料填写完整!);m_password2.Empty();m_password.Empty();UpdateData(FALSE);return;OnInitADOConn();if (m_password2=m_password)CString str;str.Format(insert into 用户表(用户名,密码) values (%s,%s),m_username,m_password);_variant_t var;int fieldrow;try/捕捉表的主键存在重复值的异常m_pConnection-Execute(_bstr_t)str,&var,adCmdText);fieldrow=(int)V_I2(&var);catch(.)AfxMessageBox(用户名已存在,注册失败);m_username.Empty();m_password.Empty();m_password2.Empty();UpdateData(FALSE);return;AfxMessageBox(注册成功,请返回登录!);m_pConnection-Close();Clogin clg;clg.DoModal();elseAfxMessageBox(两次密码输入不一样,注册失败!);m_username.Empty();m_password.Empty();m_password2.Empty();UpdateData(FALSE);return;void CZHUCE:OnInitADOConn()try/创建连接对象实例m_pConnection.CreateInstance(ADODB.Connection);/设置连接字符串Cstring strConnect=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=salary.mdb;Persist Security Info=False;/使用Open方法连接数据库m_pConnection-Open(_bstr_t)strConnect,adModeUnknown);catch(_com_error e)AfxMessageBox(e.Description(); _RecordsetPtr& CZHUCE:GetRecordSet(_bstr_t sqlstr)tryif (m_pConnection=NULL)OnInitADOConn();m_pRecordset.CreateInstance(_uuidof(Recordset);m_pRecordset-Open(sqlstr,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);catch (_com_error e) e.Description();return m_pRecordset;2))添加功能 图6-2添加信息界面图6-3学历信息录入界面部分核心代码代码如下:2void CGXZHG:OnButton2() / TODO: Add your control notification handler code hereUpdateData(TRUE);if(m_Bianhao.IsEmpty()|m_Name.IsEmpty()AfxMessageBox(not null);return;OnInitADOConn();CString str;str.Format(update 姓名 set 性别=%s,年龄=%d,电话=%s,参加工作时间=%s,职称=%s,部门号=%s where 职工编号=%s,m_Sex,m_Age,m_Telphone,m_Address,m_Zhiwei,m_Beizhu,m_Bianhao);m_pConnection-Execute(_bstr_t)str,NULL,adCmdText);m_pConnection-Close();m_zhglist.DeleteAllItems();AddToGrid();ClearAll();void CGXZHG:OnButton1() / TODO: Add your control notification handler code hereClearAll();UpdateData(FALSE);void CGXZHG:OnButton3() / TODO: Add your control notification handler code hereUpdateData(TRUE);OnInitADOConn();CString bstrSQL;bstrSQL.Format(delete from 职工表 where 职工编号=%s,m_tiaojian);CMAKESURE cmake;if(cmake.DoModal()!=IDOK)return ;m_pConnection-Execute(_bstr_t)bstrSQL,NULL,adCmdText);m_pConnection-Close();m_zhglist.DeleteAllItems();AddToGrid();ClearAll();UpdateData(FALSE);void CGXZHG:OnButton4() UpdateData(TRUE);m_type.GetWindowText(m_Type);if(m_Type.IsEmpty()AfxMessageBox;return;if(m_tiaojian.IsEmpty()AfxMessageBox;return;OnInitADOConn();CString sql;sql+=select * from 职工表 where ;sql+=m_Type+=+m_tiaojian+;m_pConnection-Execute(_bstr_t)sql,NULL,adCmdText);m_pConnection-Close();m_zhglist.DeleteAllItems();UpdateGrid();ClearAll();UpdateData(FALSE);3) 查询功能a)按姓名查询: 图6-4姓名查询界面b)按婚姻状况查询: 图6-5婚姻状况查找界面c)按学历查询: 图6-6学历查找界面部分核心代码:2void CGXGZ:OnButton1() UpdateData(TRUE);if(m_Chaxun.IsEmpty()AfxMessageBox(请输入查询的职工编号!);return;OnInitADOConn();CString sql;sql.Format(select * from 工资表 where 职工编号=%s,m_Chaxun);m_pConnection-Execute(_bstr_t)sql,NULL,adCmdText);m_pConnection-Close();m_gzlist.DeleteAllItems();UpdateGrid();m_Chaxun.Empty();UpdateData(FALSE);void CGXGZ:OnInitADOConn() try/创建连接对象实例m_pConnection.CreateInstance(ADODB.Connection);/设置连接字符串CString strConnect=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=salary.mdb;Persist Security Info=False;/使用Open方法连接数据库m_pConnection-Open(_bstr_t)strConnect,adModeUnknown);catch(_com_error e)AfxMessageBox(e.Description(); void CGXGZ:UpdateGrid()/连接数据库OnInitADOConn();/设置查询字符串CString bstrSQL ;bstrSQL.Format(select * from职工编号=%s order by 职工编号 desc ,m_Chaxun);/创建记录集指针对象实例m_pRecordset.CreateInstance(_uuidof(Recordset);/打开记录集m_pRecordset-MoveNext();/AfxMessageBox(123);/断开数据库连接ExitConnect();void CGXGZ:ExitConnect()if(m_pRecordset!=NULL)m_pRecordset-Close();m_pConnection-Close();4) 删除功能 图6-7删除界面图6-8输入删除姓名界面部分核心代码:2void CTXGZ:OnButton4() UpdateData(TRUE);if(m_Chaxun.IsEmpty()AfxMessageBox(请输入删除的职工编号!);return;OnInitADOConn();CString sql;sql.Format(职工编号=%s,m_Chaxun);CMAKESURE cmake;if(cmake.DoModal()!=IDOK)return ;m_pConnection-Execute(_bstr_t)sql,NULL,adCmdText);m_pConnection-Close();m_gzlist.DeleteAllItems();AddToGrid();ClearALL();AfxMessageBox(删除成功!);m_yuefen.SetCurSel(0);UpdateData(FALSE);5)修改功能 图6-9更新界面图6-10输入修改姓名界面部分核心代码:2void CTXGZ:OnButton5() UpdateData(TRUE);if(m_Chaxun.IsEmpty()AfxMessageBox(请输入修改的职工编号!);return;OnInitADOConn();CString sql;sql.Format(职工编号=%s,m_Chaxun);m_pConnection-Execute(_bstr_t)sql,NULL,adCmdText);m_pConnection-Close();m_gzlist.DeleteAllItems();ClearALL();m_Chaxun=m_Chaxun;m_yuefen.SetCurSel(0);UpdateData(FALSE);第七章 单元测试与运行记录7.1 测试目的为了尽可能的找出软件的不足,提高软件的质量,促进软件的成功验收,所以要进行测试。其主要目的在于为所要进行的测试工作制定各种必要的准则和规范,以及在有关方面协议的基础上对测试工作进行合理组织与管理。7.2 测试方法通过在计算机上直接运行被测程序,来发现程序中的错误。机器测试包括黑盒测试盒白盒测试。黑盒测试也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,研究软件的外部特性。根据软件的需求规格说明书测试用例,从程序的输入和输出特性上测试是否满足设定的功能。白盒测试也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查与测试是否相符。47.3 测试结果1)用户登陆界面测试 每个用户登录系统都需要进行身份验证,只有用户名和密码相对应才能进入系统。因为在系统设置中已经对系统使用权限进行了规定,所以,在用户登录的同时也决定了用户对系统的使用权限。图7-1登陆测试界面如果需要修改密码,可进入密码修改界面图7-2密码修改测试界面2)用户管理界面测试成功登录系统后,可进入用户管理界面图7-3用户管理测试界面3)编辑员工信息界面测试当需要添加员工信息时,可进入编辑员工信息界面图7-4编辑员工信息测试界面4)浏览员工信息界面测试当需要查看用户信息时,可进入浏览界面图7-5浏览员工信息测试界面结束语软件工程是一门很实用的课程,也被广泛利用,我这次做的是人事管理设计。软件工程比较重要的是需求分析阶段,因为无论做一个什么软件都有他的用途,而他的用途就是给人民带来方便,也就是满足人们的需求,因此要做好一个软件首先要了解客户对他有什么要求,然后我们才知道自己要做些什么,要实现什么样的目的,当然这过程必须是真实的,我们不能自己捏造。在一个系统开发的过程中编码不是重要的,重要的是分析系统、建立起系统模型。在分析一个系统前,分析人员必须要对将要开发的系统所涉及到的各方面知识有一个认识,然后将系统的模型建立起来。而且一个成功的软件要符合用户的需要,要以用户为中心,开发出用户想要的软件,而不能自以为是,想当然。 在程序编写中,我认识到软件要有简便的界面,良好的程序风格,完备的文挡。拥有这些条件,程序的可读性才会好,开发的复杂度才能大大减少,修改代码时更加容易下手。 做完这次设计之后,我对软件工程有了更深刻的了解,还有那些流程图,数据字典,E-R图等。同时也深刻的认识到了自己的不足。总之,通过这一次设计我学到的太多了,对软件工程也有了一个全新的认识。参考文献1 (美)David Jung Pierre Boutquin John D.Conley 等编著, Visual Basic 6.0 开发人员参考手册, 2000年1月;2 袁鹏飞 孙军安编著,中文版SQL Server 2000数据库系统管理, 人民邮电出版社, 2001年5月;3 李真文编著,Visual Basic 6.0全实例教程,北京希望电子出版社, 2002年6月;4 张海藩编著,软件工程导论, 清华大学出版社, 2002年1月; 31
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!