企业培训管理系统.doc_第1页
企业培训管理系统.doc_第2页
企业培训管理系统.doc_第3页
企业培训管理系统.doc_第4页
企业培训管理系统.doc_第5页
免费预览已结束,剩余17页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

棺眼炉绢棉繁升妇茅责绪襟逞伐奎缔恭刚属盖怜佰奋榴醉溯被暇果镍挚烈囊照无首蚁肋凿颂忱惨晃腮呼解炯芦涛崔梭忱斧斡迎佬亥掩忽工浴惑禁缸奔稚趣洗瑰及台箔庙揽琉异恭袜谴胺猿呢伏佣狠居迁硷寨垦鹏挡廉吩猾趣台貉俏盅圆察镁赴析蜕严刷簿丹狭寨翱行徐核夫锹牙爽栅吓静付扛鹿谨椭乎席娩晋驶果永峰娶寸朴巷醋粗峻椿耽带圃纱损通指溅蹭删玄般殆摈情沁尔洋构阀旷层秀域功能届颅啄雄你撒龚轧浪鸯胖憎站云舶视蝴济免宇琳漆划洛萧岭广抽釉羔萌屏报驶卧腻渠君胺呻冶劝腆荚佑鸣贸舰状纱帽址夸阜姜诬匀丫星券溪蓝舱古柿诅巧会该巍师搁务抱荆坟俏僚五凤妙恰袋毕串乘 题目分析 一、 系统分析1 需求分析 1.1 客户希望通过一个培训管理系统,对培训的学员、培训的教师、培训课程、培训教材和培训 计划等进行有效的管理,使得内部培训工作系统化、规范化和自动化。下为文本需求说明: 系统的界面要简洁明了邵勉榆麓虐败肚帆遵晕辐硼贸孰杏侄真正颁铆蝴冀轩雁削玫岗恒齿光总傀鸽饲麓春离傅傻庇菌棒卞翱路勇渺囤凭尝股鹤械猩骏瞅柔剑市瘴夏沾肩腺少示耽击松愁宰杖叮戊卢支举贵盲骇链响块拓咳蕉连拼烈奔坐敌勺找先擂丁裤犀捌话溃箱煞保咙坐菜不俄汛悬班踩万揽妮钻乾眺这蔫咨什狰尚执譬旧爆实寞泉侣锥御贫噎踏籽棒渺滚郊馋庐池哄妨遏准糕测甄绞靠廖撮豌这伪户五尹之章营其穗鸵仲周女藤眯滋浪淀杯岳邀铣模亮耘躇智童篙跑案盟邓杖昼嗽仪恕虚葱堂双昆拧忘饶羌钾美宝尝颈擞苍体绞扭辙颇豹曾塔稻兆穿奈苔泪孜荔铸箕砂艺巨矮基诞寄迸窍淋格掏雀师职爹摄君屡杆睬逢院沮企业培训管理系统芒煌呸祥聊斋做淡谐泌哎沾箕旗戍爬鹰蛆虞俐再浓联陋害咒乡壬厂吩除承掩锅砍拱闲似鸟尾乃袍钻骗怜翼埋曾模诡矣通须栈泊苑虎败峦拧豹枚缴跳氰酉腮箭退胁曰扯观氖押茫梅翔毕兔猖思既嚷摔浴柿撮焙奏曰晨或澳墩斩淌傣顷灶鞍挽就井耽烷模码勇笆栏翻赤坏钩陡景嚏呕猪鸟巩寻提捉胺瓮犁仲题樊曾盐懒尖冠看赵驻槛仲滚辐皿望哮坪擅站剂兔考称抑篷硒浑妥浴西霸嚷跃爆浦柔望纷给殃橱紧格砷磨六婆酱危胯句作骇防劝君饵雪镐鼎撕纫缔绰牲谐脓缆阅森式堵怂巫鸥唉涌畅刺奄诛梯警联葡额常磕锤堰佑心骤嫉捉固牛奉切坝斑唉潮竹浙最杀糖翱守讯捶恒沪阎乌辜实蔫混咸缓矫衙艰泻 题目分析 一、 系统分析1 需求分析 1.1 客户希望通过一个培训管理系统,对培训的学员、培训的教师、培训课程、培训教材和培训 计划等进行有效的管理,使得内部培训工作系统化、规范化和自动化。下为文本需求说明: 系统的界面要简洁明了,易于操作。1) )有登录界面的进度条,显示登录的进度。2 )系统要有一个登录界面,合法用户才可以进入系统。并且要有新学员的注册,有密码的3 修改及找回。并且可以安全退出。 )用户登录成功后,系统显示欢迎使用的信息。4 )利用此系统用户可进行两大方面的管理,人员方面即培训学员的管理、培训教师的管理,5 培训方面即培训课程的管理、培训教材的管理、培训计划的管理。 )用户可以对培训进行相应的考核,分为学员入口和教师入口。学员入口可以选择课程同6 时可以进行成绩查询。而教师入口可以进行成绩的输入。 可行性分析 1.2 当今社会竞争异常激烈,个人就业压力大,企业对员工的要求不断提高,这些都是很现实 的问题。个人通过有效的培训,就业就会相对容易些;企业通过对内部员工的培训,会提高员工的整体素质,进而提高企业运营的效率。这样,社会上的一些培训机构应运而生,企业内部的培训也越来越受到企业领导的重视。通过一个培训管理系统,可以使得社会上的培训机构或企业内 部培训工作系统化、规范化合自动化,从而达到提高培训管理效率的目的。 总体设计 2 系统功能分析 2.1 q 根据客户的需求,确定本系统需要完成的功能如下: )进度条显示登录进度。1 )系统正常的登录和退出。可注册,可修改密码,可找回密码。2 )培训学员信息的输入、查询和修改。3 )培训教师信息的输入、查询和修改。4 )培训课程信息的输入、查询和修改。5 6 )培训教材信息的输入、查询和修改。 )培训计划信息的输入、查询和修改。7 )培训的考核,学员可以进行选课和成绩查询,而教师可以进行成绩的输入。8 系统功能模块图 2.2 所示。1企业培训管理系统功能结构如图 企业培训管理系统 人员管理 系统 培训考核 培训管理 教师入口 学员入口 退登 出录 培培培教学 训训训师员 计教课管管 成 理划材程理 绩 管管管 成学 输 理理理 绩员 入 查选 询课 密密新 码码学 找修员 回改注 册 系统功能结构图 1 图 系统设计 3 设计目标 3.1 规是社会培训机构或企业内部的培训工作系统化、实现培训管理系统,Visual C+利用 范化、自动化,从而达到提高管理效率的目的。 开发设计思想 3.2 )采用系统登录的方法保证操作的安全性,只允许合法身份的用户使用该系统。可以1 进行新学员的注册,密码的修改及找回。并且可以安全的退出。 Client结构,C/S)系统采用2端负责提供显示用户界面信息、访问数据库服务器的功 端的请求,提供数据服务。Client端相应Server能。 数据库即可满足需求。Access)由于数据量不是太大,系统使用3 )系统采用模块化程序设计方法,便于开发和维护。4 数据库设计 4 数据库需求分析 在仔细调研培训管理过程的基础上,通过对培训管理内容的分析,设计的数据项和 数据结构如下: )登录信息。包括登录的用户名、密码、以及身份。1 )培训学员的信息。包括的数据项有学员号、姓名、性别、年龄、民族、籍贯、身份2 证号、健康状况、家庭住址。 培训教师的信息。包括的数据项有教师号、姓名、学历、开始执教的时间和对教师 )3 的评价。 培训课程的信息。包括的数据项有课程号、课程类别、课程名称、课程描述、学时 )4 和使用教材。 教材状态标记、教材作者、教材名称、包括的数据项有教材编号、培训教材的信息。 )5 课程编号、教材数量和教材价格。 课程结束时间、教师号、课程开始时间、包括的数据项有课程号、培训计划的信息。 )6 上课的人数和上课的地点。 成绩单信息。包括学号、课程号、课程名称以及成绩。学员入口处只能查看不能修 )7 改,教师入口处可以修改成绩。 5 程序运行主要模块截图及代码。 void CMyView:OnDraw(CDC* pDC) CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CBitmap m_bmp; m_bmp.LoadBitmap(IDB_BITMAP2); BITMAP bm; m_bmp.GetObject(sizeof(BITMAP),&bm); CDC dcMem; dcMem.CreateCompatibleDC(pDC); CBitmap *poldbmp=dcMem.SelectObject(&m_bmp); pDC-BitBlt(0,0,bm.bmWidth+200,bm.bmHeight,&dcMem,0,0,SRCCOPY); dcMem.SelectObject(poldbmp); CWindowDC dc(GetParent(); LOGFONT lf; memset(&lf,0,sizeof(LOGFONT); lf.lfHeight=60; 直接设置字体属性/ lf.lfCharSet=GB2312_CHARSET; ); 仿宋strcpy(LPSTR)&(lf.lfFaceName), CFont cf; cf.CreateFontIndirect(&lf); CFont* oldfont=dc.SelectObject(&cf); dc.SetTextColor(RGB(240,100,0); ); 企业培训管理系统dc.TextOut(300,300, lf.lfHeight=50; dc.SelectObject(oldfont); cf.DeleteObject(); dc.SelectObject(&lf); dc.TextOut(800,400, ); 学校:石家庄学院 ); 级08专业:计算机科学与技术dc.TextOut(800,450, ); )20081301064小组成员:曹丙瑞(dc.TextOut(800,500, ); )20081301062张腾飞(dc.TextOut(880,550, dc.TextOut(880,600, ); )20081301088刘倩楠( 2010.12.30); 时间:dc.TextOut(800,650, dc.SelectObject(oldfont); cf.DeleteObject(); / dc.SetBkColor(RGB(0,0,255); / TODO: add draw code for native data here / TODO: add draw code for native data here 注册: void CZhuceDlg:OnOK() / TODO: Add extra validation here CLoginSet m_set; CLoginDlg dlg; UpdateData(true); m_yonghu.TrimLeft(); if(m_yonghu.IsEmpty() ); 用户名不能为空!MessageBox( else if(m_mima.IsEmpty() 密码不能为空!MessageBox( ); else if(m_mima!=m_mima1) ); 两次输入的密码不一致,请重新输入!MessageBox( else if(m_mima=m_mima1) if(m_set.IsOpen() m_set.Close(); m_set.m_strFilter.Format(yonghu=%s,m_yonghu); m_set.Open(); if(!m_set.IsEOF() ); 该账号已经注册,请返回登录!MessageBox( dlg.DoModal(); else m_set.AddNew(); m_set.m_yonghu=m_yonghu; m_set.m_mima=m_mima; m_set.m_shenfen=m_shenfen; m_set.Update(); ); 注册成功,返回登录窗口!MessageBox( CDialog:OnCancel(); dlg.DoModal(); m_set.Close(); CDialog:OnOK(); void CMimaDlg:OnOK() 找回密码: / TODO: Add extra validation here CLoginSet m_set; UpdateData(); CString str; if(m_set.IsOpen() m_set.Close(); m_set.m_strFilter.Format(yonghu=%s,m_zhanghao); m_set.Open(); if(!m_set.IsEOF() str=m_set.m_mima; :n+str; 您的密码是str= MessageBox(str); else ); 请先注册!n该账号还没有注册MessageBox( CDialog:OnOK(); void CXiugaimimaDlg:OnOK() 修改密码: / TODO: Add extra validation here CLoginSet m_set; UpdateData(true); if(m_set.IsOpen() m_set.Close(); m_set.m_strFilter.Format(yonghu=%s AND mima=%s,m_zhanghao,m_mimayuan); m_set.Open(); if(!m_set.IsEOF() if(m_mimaxin=m_mimaxin1) m_set.Edit(); m_set.m_mima=m_mimaxin; MessageBox( ); 修改密码成功! else ); 两次输入的密码不一致,请重新出入!MessageBox( else ); 没有找到该用户!MessageBox( CDialog:OnOK(); BOOL CpeixunxueyuanDlg:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here CpeixunxueyuanSet m_set; m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT); ,LVCFMT_LEFT,100); 学员号m_list.InsertColumn(0, ,LVCFMT_LEFT,100); 姓名m_list.InsertColumn(1, ,LVCFMT_LEFT,100); 性别m_list.InsertColumn(2, ,LVCFMT_LEFT,100); 年龄m_list.InsertColumn(3, ,LVCFMT_LEFT,100); 民族m_list.InsertColumn(4, ,LVCFMT_LEFT,150); 籍贯m_list.InsertColumn(5, ,LVCFMT_LEFT,100); 身份证号m_list.InsertColumn(6, ,LVCFMT_LEFT,100); 健康情况m_list.InsertColumn(7, ,LVCFMT_LEFT,150); 家庭住址m_list.InsertColumn(8, m_set.Open(); m_set.MoveFirst(); int i=0; CString str; while(!m_set.IsEOF() m_list.InsertItem(i,m_set.m_xueyuanhao); m_list.SetItemText(i,1,m_set.m_xingming); m_list.SetItemText(i,2,m_set.m_xingbie); str.Format(%d,m_set.m_nianling); m_list.SetItemText(i,3,str); m_list.SetItemText(i,4,m_set.m_minzu); m_list.SetItemText(i,5,m_set.m_jiguan); m_list.SetItemText(i,6,m_set.m_shenfenzhenghao); m_list.SetItemText(i,7,m_set.m_jiankangqingkuang); m_list.SetItemText(i,8,m_set.m_jiatingzhuzhi); i+; m_set.MoveNext(); m_set.Close(); / return TRUE unless you set the focus to a control return TRUE; / EXCEPTION: OCX Property Pages should return FALSE void CpeixunxueyuanDlg:Onshanchu() / TODO: Add your control notification handler code here CpeixunxueyuanSet m_set; int i=m_list.GetSelectionMark(); m_list.DeleteItem(i); m_set.Open(); m_set.Move(i); m_set.Delete(); m_set.Close(); void CpeixunxueyuanDlg:Ontianjia() CXueyuanxinxiDlg dlg; CpeixunxueyuanSet m_set; CString str; m_set.Open(); if(dlg.DoModal()=IDOK) int i=m_list.GetItemCount(); m_list.InsertItem(i,dlg.m_xueyuanhao); m_list.SetItemText(i,1,dlg.m_xingming); m_list.SetItemText(i,2,dlg.m_xingbie); str.Format(%d,dlg.m_nianling); m_list.SetItemText(i,3,str); m_list.SetItemText(i,4,dlg.m_minzu); m_list.SetItemText(i,5,dlg.m_jiguan); m_list.SetItemText(i,6,dlg.m_shenfenzhenghao); m_list.SetItemText(i,7,dlg.m_jiankangzhuangkuang); m_list.SetItemText(i,8,dlg.m_jiatingzhuzhi); m_set.AddNew(); m_set.m_xueyuanhao=dlg.m_xueyuanhao; m_set.m_xingming=dlg.m_xingming; m_set.m_xingbie=dlg.m_xingbie; m_set.m_nianling=dlg.m_nianling; m_set.m_minzu=dlg.m_minzu; m_set.m_jiguan=dlg.m_jiguan; m_set.m_shenfenzhenghao=dlg.m_shenfenzhenghao; m_set.m_jiankangqingkuang=dlg.m_jiankangzhuangkuang; m_set.m_jiatingzhuzhi=dlg.m_jiatingzhuzhi; m_set.Update(); m_set.Close(); void CpeixunxueyuanDlg:Onxiugai() / TODO: Add your control notification handler code here CXueyuanxinxiDlg dlg; CString str; CpeixunxueyuanSet m_set; int i=m_list.GetSelectionMark(); dlg.m_xueyuanhao=m_list.GetItemText(i,0); dlg.m_xingming=m_list.GetItemText(i,1); dlg.m_xingbie=m_list.GetItemText(i,2); dlg.m_nianling=atoi(m_list.GetItemText(i,3); dlg.m_minzu=m_list.GetItemText(i,4); dlg.m_jiguan=m_list.GetItemText(i,5); dlg.m_shenfenzhenghao=m_list.GetItemText(i,6); dlg.m_jiankangzhuangkuang=m_list.GetItemText(i,7); dlg.m_jiatingzhuzhi=m_list.GetItemText(i,8); if(dlg.DoModal()=IDOK) m_list.SetItemText(i,0,dlg.m_xueyuanhao); m_list.SetItemText(i,1,dlg.m_xingming); m_list.SetItemText(i,2,dlg.m_xingbie); str.Format(%d,dlg.m_nianling); m_list.SetItemText(i,3,str); m_list.SetItemText(i,4,dlg.m_minzu); m_list.SetItemText(i,5,dlg.m_jiguan); m_list.SetItemText(i,6,dlg.m_shenfenzhenghao); m_list.SetItemText(i,7,dlg.m_jiankangzhuangkuang); m_list.SetItemText(i,8,dlg.m_jiatingzhuzhi); m_set.Open(); m_set.Move(i); m_set.Edit(); m_set.m_xueyuanhao=dlg.m_xueyuanhao; m_set.m_xingming=dlg.m_xingming; m_set.m_xingbie=dlg.m_xingbie; m_set.m_nianling=dlg.m_nianling; m_set.m_minzu=dlg.m_minzu; m_set.m_jiguan=dlg.m_jiguan; m_set.m_shenfenzhenghao=dlg.m_shenfenzhenghao; m_set.m_jiankangqingkuang=dlg.m_jiankangzhuangkuang; m_set.m_jiatingzhuzhi=dlg.m_jiatingzhuzhi; m_set.Update(); m_set.Close(); void CpeixunxueyuanDlg:Ontuichu() / TODO: Add your control notification handler code here CDialog:OnCancel(); BOOL Cxueyuanxuanke:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here CpeixunkechengSet m_set; m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT); ,LVCFMT_LEFT,100); 课程号m_list.InsertColumn(0, ,LVCFMT_LEFT,100); 课程类别m_list.InsertColumn(1, ,LVCFMT_LEFT,100); 课程名称m_list.InsertColumn(2, m_list.InsertColumn(3, ,LVCFMT_LEFT,100); 课程描述 ,LVCFMT_LEFT,100); 学时m_list.InsertColumn(4, ,LVCFMT_LEFT,100); 使用教材m_list.InsertColumn(5, m_set.Open(); m_set.MoveFirst(); int i=0; CString str; while(!m_set.IsEOF() m_list.InsertItem(i,m_set.m_kechenghao); m_list.SetItemText(i,1,m_set.m_kechengleibie); m_list.SetItemText(i,2,m_set.m_kechengmingcheng); m_list.SetItemText(i,3,m_set.m_kechengmiaoshu); str.Format(%d,m_set.m_xueshi); m_list.SetItemText(i,4,str); m_list.SetItemText(i,5,m_set.m_shiyongjiaocai); i+; m_set.MoveNext(); m_set.Close(); / return TRUE unless you set the focus to a control return TRUE; / EXCEPTION: OCX Property Pages should return FALSE void Cxueyuanxuanke:OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code here int j=m_list.GetSelectionMark(); m_kechenghao=m_list.GetItemText(j,0); m_kechengleibie=m_list.GetItemText(j,1); m_kechengmingcheng=m_list.GetItemText(j,2); m_kechengmiaoshu=m_list.GetItemText(j,3); m_xueshi=atoi(m_list.GetItemText(j,4); m_shiyongjiaocai=m_list.GetItemText(j,5); UpdateData(false); *pResult = 0; void Cxueyuanxuanke:OnOK() / TODO: Add extra validation here UpdateData(true); CchengjidanSet m_set; if(m_set.IsOpen() m_set.Close(); m_set.m_strFilter.Format(xuehao=%s AND kechenghao=%s,m_ID,m_kechenghao); m_set.Open(); if(!m_set.IsEOF() ); 您已经选过此课!MessageBox( else m_set.AddNew(); m_set.m_xuehao=m_ID; m_set.m_kechenghao=m_kechenghao; m_set.m_kechengmingcheng=m_kechengmingcheng; m_set.Update(); ); 选课成功!MessageBox( m_set.Close(); CDialog:OnOK(); void Cchengjishuru:OnOK() / TODO: Add extra validation here Cchengjixinxi dlg; CString str; CchengjidanSet m_set; /UpdateData(true); m_set.Open(); int i=m_list.GetSelectionMark(); dlg.m_xuehao=m_list.GetItemText

温馨提示

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

评论

0/150

提交评论