企业培训信息管理系统的分析与设计

上传人:ren****ao 文档编号:147387936 上传时间:2022-09-02 格式:DOC 页数:26 大小:522.50KB
收藏 版权申诉 举报 下载
企业培训信息管理系统的分析与设计_第1页
第1页 / 共26页
企业培训信息管理系统的分析与设计_第2页
第2页 / 共26页
企业培训信息管理系统的分析与设计_第3页
第3页 / 共26页
资源描述:

《企业培训信息管理系统的分析与设计》由会员分享,可在线阅读,更多相关《企业培训信息管理系统的分析与设计(26页珍藏版)》请在装配图网上搜索。

1、 《软件项目开发综合实践》大作业 题 目:企业培训信息管理系统的分析与设计 专 业: 09计算机应用1班 作 者: 指导教师: 黄 钢 目 录 第1章:企业培训信息管理系统的可行性分析 - 1 - 1.1可行性研究方法 - 1 - 1.2 技术可行性评价 - 1 - 1.3 结论意见 - 1 - 第2

2、章:需求分析 - 2 - 2.1 客户需求分析 - 2 - 2.2 系统用例分析 - 2 - 2.3系统功能分析 - 3 - 第3章:设计过程 - 5 - 3.1“企业培训管理系统”系统设计 - 5 - 3.2 E-R图设计 6 第4章 功能实现和系统测试 9 4.1用户登录 9 4.2系统欢迎界面 10 4.3培训管理模板设计 11 培训学员信息管理的对话框 11 4.3.2 培训教师管理的对话框 17 培训课程管理对话框 18 4.3.4 培训教材管理对话框 19 4.3.5 培训计划管理对话框 20 4.3.6 培训资源管理对话框 21 4.4培训系统设

3、置对话框 22 第5章:系统总结 23 参考文献 24 第1章:企业培训信息管理系统的可行性分析 当今社会竞争异常激烈,个人就业压力大,企业对员工的要求不断提高,这些都是很现实的问题。个人通过有效的培训,就业就会相对容易些;企业通过对内部员工的培训,会提高员工整体素质,进而提高企业运营效率。这样,社会上的一些培训机构应运而生,企业内部的培训也越来越受到企业领导的重视。通过一个培训管理系统,可以使得社会上的培训结构或企业内部培训工作系统化、规范化和自动化,从而达到提高培训管理效率的目地。 人类跨入21 世纪以来, 全球新知识、新技术发展迅速,为适应这一变革, 人类唯

4、一的选择就是加强自身的学习, 不断充“ 电” , 由此终身学习成为当今人们的共识。培训, 作为终身学习的重要渠道, 越来越受到各企、事业单位的重视。为更好地组织、管理各层次人员的继续教育情况, 实现培训管理的规范化、制度化和长期化, 最大限度地发挥培训的作用, 将培训工作必须采用计算机进行管理。 1.1可行性研究方法 通过调查分析开发企业培训管理所具备的能力及实现的方法。确定总体结构,利用SQL Server数据库所具有的能力,以最简洁最容易的方法,使用VC++使其成为一个初级的系统软件。 1.2 技术可行性评价 就目前使用的开发技术来说建议系统的功能目标应该能够达到;利用现有的技

5、术在规定的期限内开发工作基本能够完成。 该系统对客户的影响: 建议系统是为了改善原有系统在经费支出过高的缺点的,所以新系统一经使用在经费支出方面一定会得到很好的改善,用户在使用了新系统后只需要花一定资金购买一部分计算机与软件就能实现自动化。 该项目为独立开发,在技术上没有使用任何现有的软件与方法。所以在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同规定的责任履行。 1.3 结论意见 经过一系列的各个不同方面的可行性分析,分析员和用户及使用部门的负责人对需要解决的问题取得基本的一致看法,开发小组的开发方案的到批准,使用部门负责人同意开发工程继续进行下去。 第2章:

6、需求分析 需求分析是进行软件开发的第一步,也是最重要的一步。只是充分理解了客户的需求以后,才能进行更有效的系统设计。否则,设计出来的程序架构会存在诸多问题,不符合客户的最终要求。 2.1 客户需求分析 在这里,客户希望通过一个培训管理系统,对培训的学员、培训的教师、培训课程、培训教材、培训计划和培训资源等进行有效的管理,使得内部培训工作系统化、规范化和自动化。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,需求的核心如下: (1) 系统界面要简洁明了,易于操作。 (2) 系统要有一个登录界面,合法用户才可以进入系统。 (3) 用户登录成功后,系统显示欢迎使用的

7、信息。 (4) 利用次系统,用户可进行6个方面的管理,即培训学员的管理、培训教师的管理、培训课程的管理、培训教材的管理、培训计划的管理和培训资源的管理。 (5) 用户可以对系统进行相关的设置,比如,修改密码、启动后最小化、窗口总在最前面、显示系统时间等。 (6) 该系统要有使用说明。 2.2 系统用例分析 基于上面的需求分析,我们可以列出用户操作的模块,其中的每个模块对应一个功能,如图2.1所示。 图2.1 UML用例图 通过对系统需求的分析,可以确定系统只有一个执行者:用户行为者(培训学员和培训教师)。 用户行为者:通过互联网,查询培训信息和个人培训信息,还可以自己

8、办理培训等。

9、

10、

11、

12、

13、

14、 用户借助此培训系统,可以进行以下操作: 1. 登录系统; 2. 使用培训管理:培训学员管理、培训教师管理、培训课程管理、培训教材管理、培训计划管

15、理、培训资料管理。 3. 进行系统设置; 4. 查询使用帮助。 2.3系统功能分析 系统功能分析是在系统开发的总体任务的基础上完成。本例子中的职工培训管理系统需要完成功能主要有: (1)登录系统 (2)显示“欢迎使用”信息; (3)培训学员信息的输入、查询和修改,包括姓名、性别等; (4)培训教师信息的输入、查询和修改; (5)培训课程信息的输入、查询和修改, 包括课时、课程种类等; (6)培训教材信息的输入、查询和修改; (7)培训计划信息的输入、查询和修改; (8)培训资源信息的输入、查询和修改; (9)系统设置的实现,包括修改登录密码等; (10)使用帮助的实

16、现,包括系统的使用说明和开发人员的联系方法。 系统功能模块设计: 在系统功能分析的基础上, 得到如图1所示的系统功能模块图。根据上面介绍的功能,可以设计出系统的总体功能模块,如图2.2所示: 培训管理系统 登录系统 欢迎使用 培训管理 系统设置 使用帮助 培训学员管理 培训教师管理 培训课程管理 培训教材管理 培训计划管理 培训资源管理 图2.2 总体功能模块 第3章:设计过程 3.1“企业培训管理系统”系统设计 用包图描述,如图3.1所示。 企业培训管理系统 图3.1 “企业培训管理系统”包图 系统设

17、置子系统 使用说明子系统 培训管理子系统 窗口总在最前面 培训教材管理 培训计划管理 启动后最小化 培训课程管理 使用说明 联系我们 培训学员管理 培训教师管理 培训资源管理 修改登录密码 修改登录密码 显示系统时间 3.2 E-R图设计 本系统包含的实体有:学员实体、教师实体、课程实体、教材实体、计划实体和资源实体。各个实体具体的描述E-R图如图3.2-图3.9所示: 培训学员 学员号 性别/年龄 身份证号 民族 籍贯 参加工作时间 婚姻/健康 Email 图3.2 培训学员实体

18、E-R图 培训教师 教师号 教师姓名 教师学历 开始执教时间 对教师的评价 图3.3 培训教师实体E-R图 培训课程 课程号 课程名称 课程类别 课程描述 学时 使用教材 图3.4 培训课程实体E-R图 培训教材 教材编号 教材作者 教材名称 教材状态标记 课程编号 教材数量/价格 图3.5 培训教材实体E-R图 培训计划 课程号 课程结束时间 课程开始时间 教师号 上课人数 上课的地点 图3.6 培训课程实体E-R图 培训资源 资源号 资源名称 资源状态标记 资源价格 资源数量 备

19、注 图3.7 培训资源实体E-R图 实体和实体之间的关系如图3.8所示: 课程 学员 教材 资源 教师 学习 使用 教学 使用 图3.8 实体之间的关系E-R图 第4章 功能实现和系统测试 对于本系统的测试实现,由于考虑到篇幅问题,这里只给出了登录、培训学员管理和培训学员信息在主要代码,其他代码类同。 4.1用户登录 用户使用本系统时,首先要通过本系统的身份认证,此过程叫做登录。    登录过程需要根据用户名和密码判断是否为合法用户。 用户有3次机会进行身份认证,如果3次输入的用户名和密码和数据库数据不能匹配,则强制

20、退出系统。     登录窗体的界面如图4.1所示: 图4.1 登录对话框 void CLoginDlg::OnLoginButton()// 判断登录用户是否合法 { // TODO: Add your control notification handler code here CLoginSet m_recordset(&m_database); CString csSQL = _T(""); UpdateData(TRUE); csSQL.Format(_T("select * from USER_PWD where USER = '%s' AN

21、D PWD = '%s'"), m_csUserName, m_csPassword); m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,csSQL); // 打开记录集 if (m_recordset.GetRecordCount() == 0) { if (m_nTimes < 3) // 给3次尝试的机会 { AfxMessageBox(_T("登录失败!\r\n请检查用户名或密码是否输入正确。")); m_nTimes++; } else {

22、 AfxMessageBox(_T("^_^ 你的权限不够,请与系统管理员联系!")); m_database.Close(); // 关闭数据库 CDialog::OnOK(); } } else { CCommonSingleton* pInfo = CCommonSingleton::GetInstance();// 保存用户名 pInfo->m_csUserName = m_csUserName; CDialog::OnOK();// 关闭登录窗口 CTrainingSystemDlg TrainingSystemDlg; /

23、/ 显示培训系统主窗口 TrainingSystemDlg.DoModal(); } } 4.2系统欢迎界面 图4.2 系统欢迎界面 4.3培训管理模板设计 通过培训管理模块进一步的实现培训学员、培训教师、培训课程、培训教材、培训计划、培训资源的管理。 图4.3 培训管理模块 4.3.1培训学员信息管理的对话框 培训学员信息管理的对话框可用来添加和修改学员信息。 设计培训学员管理对话框如图4.4所示: 图4.4 培训学员管理对话框 // 显示培训学员信息对话框,并将新添加的培训学员信息从数据库中查询出来, void

24、 CTrainingStudentManage::OnAddButton() { // TODO: Add your control notification handler code here CTrainingStudentInfo TrainingStudentInfoDlg; // 显示培训学员信息对话框 TrainingStudentInfoDlg.DoModal(); m_database.Close(); TrainingStudentInfoDlg.m_database.Open(_T("Training")); // 打开连接 UpdateData

25、(); // 更新数据 } void CTrainingStudentManage::OnDeleteButton()// 删除指定的培训学员的信息,同时更新数据库。 { // TODO: Add your control notification handler code here int i = m_listctrlTrainingStudent.GetSelectionMark(); if (m_listctrlTrainingStudent.GetItemCount() == 0) { AfxMessageBox(_T("^_^ 当前列表中没有记录,点击删除

26、没有意义!")); return; } else if (i == -1) { AfxMessageBox(_T("^_^ 请先选择一条记录!")); return; } else { int nStudentID = atoi(m_listctrlTrainingStudent.GetItemText(i,0)); // 获取学员号 CString csSQL = _T(""); csSQL.Format(_T("delete from TRAINING_STUDENT where STUDENT_ID = %d"),nStuden

27、tID); m_database.ExecuteSQL(csSQL); UpdateData();// 更新数据 } } 图4.5 培训学员信息 void CTrainingStudentInfo::OnConfirmButton()// 将培训学员的信息添加到数据对应的表中 { // TODO: Add your control notification handler code here UpdateData(TRUE); if (m_csStudentName.IsEmpty())// 判断学员姓名是否为空 { AfxMessage

28、Box(_T("^_^ 学员姓名不能为空,请重新输入!")); GetDlgItem(IDC_NAME_EDIT)->SetFocus(); return; } if (m_nStudentAge == 0 || m_nStudentAge > 150 ) // 判断学员年龄的有效性 { AfxMessageBox(_T("^_^ 你输入的学员年龄无效,请重新输入!")); GetDlgItem(IDC_AGE_EDIT)->SetWindowText(_T("")); GetDlgItem(IDC_AGE_EDIT)->SetFocus();

29、return; } if (m_csNation.IsEmpty())// 判断民族是否为空 { AfxMessageBox(_T("^_^ 民族不能为空,请重新输入!")); GetDlgItem(IDC_NATION_EDIT)->SetFocus(); return; } if (m_csNativePlace.IsEmpty())// 判断籍贯是否为空 { AfxMessageBox(_T("^_^ 籍贯不能为空,请重新输入!")); GetDlgItem(IDC_NATIVE_PLACE_EDIT)->SetFocus();

30、 return; } if (m_csIdentityCardNo.IsEmpty())// 判断身份证号码的有效性 { AfxMessageBox(_T("^_^ 身份证号码不能为空,请重新输入!")); GetDlgItem(IDC_IDENTITY_CARD_NO_EDIT)->SetFocus(); return; } bool bIsDigit = CheckDigit(m_csIdentityCardNo,18); int nIdentityCardNoLength = m_csIdentityCardNo.GetLength(); i

31、f ((!bIsDigit) || (nIdentityCardNoLength != 18)) { AfxMessageBox(_T("^_^ 你输入的身份证号码无效,请重新输入!")); GetDlgItem(IDC_IDENTITY_CARD_NO_EDIT)->SetWindowText(_T("")); GetDlgItem(IDC_IDENTITY_CARD_NO_EDIT)->SetFocus(); return; } if (m_csHomeAddress.IsEmpty())// 判断家庭住址是否为空 { AfxMessageBo

32、x(_T("^_^ 家庭住址不能为空,请重新输入!")); GetDlgItem(IDC_HOME_ADDRESS_EDIT)->SetFocus(); return; } if (m_csTelephoneNumber.IsEmpty())// 判断联系电话(手机)的有效性 { AfxMessageBox(_T("^_^ 电话号码不能为空,请重新输入!")); GetDlgItem(IDC_TELEPHONE_NUMBER_EDIT)->SetFocus(); return; } bIsDigit = CheckDigit(m_csTelep

33、honeNumber,11); int nTelephoneNumberLength = m_csTelephoneNumber.GetLength(); if ((!bIsDigit) || (nTelephoneNumberLength != 11)) { AfxMessageBox(_T("^_^ 你输入的电话号码无效,请重新输入!")); GetDlgItem(IDC_TELEPHONE_NUMBER_EDIT)->SetWindowText(_T("")); GetDlgItem(IDC_TELEPHONE_NUMBER_EDIT)->SetFocus(

34、); return; } if (m_csEmailAddress.IsEmpty())// 判断Email地址是否为空 { AfxMessageBox(_T("^_^ Email住址不能为空,请重新输入!")); GetDlgItem(IDC_EMAIL_EDIT)->SetFocus(); return; } CString csSQL = _T("");// 将培训学员信息写入数据库 int i = 1; int nFlag = 0; while (!nFlag) { CTrainingStudentSet m_recor

35、dset(&m_database); csSQL.Format(_T("select * from TRAINING_STUDENT where STUDENT_ID = %d"),i); m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,csSQL); // 打开数据集 if (m_recordset.GetRecordCount() == 0) { csSQL.Format(_T("insert into TRAINING_STUDENT values(%d,\'%s\',\'%s\',%d,\'%s\',\'%s\',\'

36、%s\',\'%s\',\'%s\',\'%d-%d-%d\',\'%s\',\'%s\',\'%s\')"), i, m_csStudentName, m_csSex, m_nStudentAge, m_csNation, m_csNativePlace, m_csIdentityCardNo, m_csMarriageStatus, m_csHealthStatus, m_ctAttendJobTime.GetYear(),m_ctA

37、ttendJobTime.GetMonth(),m_ctAttendJobTime.GetDay(), m_csHomeAddress, m_csTelephoneNumber, m_csEmailAddress ); m_database.ExecuteSQL(csSQL); // 执行SQL文 m_database.Close(); // 关闭数据库 nFlag = 1; } i++; } CDialog::OnOK(); } void CTrainingStudentIn

38、fo::OnResetButton()// 重新设定培训学员的信息 { // TODO: Add your control notification handler code here m_csStudentName = _T(""); m_csNation = _T(""); m_csNativePlace = _T(""); m_csIdentityCardNo = _T(""); m_csHomeAddress = _T(""); m_csTelephoneNumber = _T(""); UpdateData(FALSE); GetDlgItem(

39、IDC_AGE_EDIT)->SetWindowText(_T("")); GetDlgItem(IDC_RESOURCE_COUNT_EDIT)->SetWindowText(_T("")); GetDlgItem(IDC_NAME_EDIT)->SetFocus(); // 为学员姓名编辑框设置焦点 } // 检查输出的是否为数字字符 bool CTrainingStudentInfo::CheckDigit(CString csTargetString,int nLength) { int nTmpLength = 0; if (nLength >= csTa

40、rgetString.GetLength()) { nTmpLength = csTargetString.GetLength(); } else { nTmpLength = nLength; } for (int i = 0; i < nTmpLength; i++) { TCHAR c = csTargetString.GetAt(i) ; if (!isdigit(c)) // 判断输入的字符是否是数字 { return false; } } return true; } 4.3.2 培训教师管理的对

41、话框 设计培训教师管理对话框如图4.6所示: 图4.6 培训教师管理对话框 图4.7 培训教师信息 4.3.3培训课程管理对话框 设计培训课程管理对话框如图4. 8所示: 图4.8 培训课程管理对话框 图4.9 培训课程信息对话框 4.3.4 培训教材管理对话框 图4.10 培训教材管理对话框 图4.11 培训教材信息对话框 4.3.5 培训计划管理对话框 图4.12 培训计划管理对话框 图4.13 培训计划信息对话框 4.3.6 培训资源管理对话框 图4.14 培训

42、资源管理对话框 图4.15 培训资源信息对话框 4.4培训系统设置对话框 图4.16 培训系统设置对话框 第5章:系统总结 以上介绍了企业培训管理系统的工作流程以及设计、开发过程中的关键技术。本系统研究成功之后, 应用效果良好, 减轻了各级管理人员的工作强度, 使培训管理工作更加规范化和制度化。 通过本次课程设计,深刻体会到软件工程文档编写的重要性,软件工程文档是指导我们进行项目开发的指挥棒。编写好一份高效可行的软件工程文档对软件开发非常重要。还有,对系统的需求分析非常重要,需求的变成直接影响项目的开发进度。这次课程设计首先对系统的需求理解不透彻

43、,走了一点弯路,浪费了一些时间。在以后的软件开发过程中尽量吸取本次课程设计的经验教训,提高项目开发效率。这是第一次严格的按照软件工程开发的标准开发项目。在课程设计过程中,认真编写软件开发文档和程序代码。代码编写完后,再认真测试,检查系统的不足之处。由于之前开发系统都没有编写软件开发文档的习惯,因此,在编写软件开发文档的过程中遇到了一些问题,但是通过查阅资料等途径解决了。 本系统具有以下特点: (1) 具有友好的用户界面。系统以窗口方式来实现用户数据的录入,提供给用户灵活的查询界面,统计结果也以图表方式显示,方便了用户的使用。   (2) 系统具有通用性。系统针对一般企业培训管理模

44、式进行开发,适合大多数企业的实际使用。 (3) 采用面向对象技术和流行的软件工具,系统具有较好的适应性和可扩展性。 参考文献 [1] 启明工作室.《Visual C++ +SQL Server 数据库应用系统开发与实例》.人民邮电出版社. 2004年7月 [2] 邓如涛. 企业培训管理系统的分析与设计. 电脑知识与技术. 2006- 06- 29 [3] 陈刚, 魏东明, 李利. 企业培训管理系统的设计与实现. 2009年9月 [4] 王维玉. 《Visual C+ + 项目开发深度剖析》.科学出版社. 2008年9月 [5] 胡俊敏,王俊玲. 基于Web Services的企业培训管理系统多层架构设计. 重庆科技学院学报(自然科学版).2009 年12 月

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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