企業(yè)培訓(xùn)信息管理系統(tǒng)的分析與設(shè)計_第1頁
企業(yè)培訓(xùn)信息管理系統(tǒng)的分析與設(shè)計_第2頁
企業(yè)培訓(xùn)信息管理系統(tǒng)的分析與設(shè)計_第3頁
企業(yè)培訓(xùn)信息管理系統(tǒng)的分析與設(shè)計_第4頁
企業(yè)培訓(xùn)信息管理系統(tǒng)的分析與設(shè)計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

《軟件項目開發(fā)綜合實踐》大作業(yè)題目:企業(yè)培訓(xùn)信息管理系統(tǒng)的分析與設(shè)計專業(yè):09計算機應(yīng)用1班作者:指導(dǎo)教師:黃鋼目錄第1章:企業(yè)培訓(xùn)信息管理系統(tǒng)的可行性分析 -1-1.1可行性研究方法 -1-1.2技術(shù)可行性評價 -1-1.3結(jié)論意見 -1-第2章:需求分析 -2-2.1客戶需求分析 -2-2.2系統(tǒng)用例分析 -2-2.3系統(tǒng)功能分析 -3-第3章:設(shè)計過程 -5-3.1“企業(yè)培訓(xùn)管理系統(tǒng)”系統(tǒng)設(shè)計 -5-3.2E-R圖設(shè)計 6第4章功能實現(xiàn)和系統(tǒng)測試 94.1用戶登錄 94.2系統(tǒng)歡迎界面 104.3培訓(xùn)管理模板設(shè)計 114.3.1培訓(xùn)學(xué)員信息管理的對話框 114.3.2培訓(xùn)教師管理的對話框 174.3.3培訓(xùn)課程管理對話框 184.3.4培訓(xùn)教材管理對話框 194.3.5培訓(xùn)計劃管理對話框 204.3.6培訓(xùn)資源管理對話框 214.4培訓(xùn)系統(tǒng)設(shè)置對話框 22第5章:系統(tǒng)總結(jié) 23參考文獻 24第1章:企業(yè)培訓(xùn)信息管理系統(tǒng)的可行性分析當(dāng)今社會競爭異常激烈,個人就業(yè)壓力大,企業(yè)對員工的要求不斷提高,這些都是很現(xiàn)實的問題。個人通過有效的培訓(xùn),就業(yè)就會相對容易些;企業(yè)通過對內(nèi)部員工的培訓(xùn),會提高員工整體素質(zhì),進而提高企業(yè)運營效率。這樣,社會上的一些培訓(xùn)機構(gòu)應(yīng)運而生,企業(yè)內(nèi)部的培訓(xùn)也越來越受到企業(yè)領(lǐng)導(dǎo)的重視。通過一個培訓(xùn)管理系統(tǒng),可以使得社會上的培訓(xùn)結(jié)構(gòu)或企業(yè)內(nèi)部培訓(xùn)工作系統(tǒng)化、規(guī)范化和自動化,從而達到提高培訓(xùn)管理效率的目地。人類跨入21世紀(jì)以來,全球新知識、新技術(shù)發(fā)展迅速,為適應(yīng)這一變革,人類唯一的選擇就是加強自身的學(xué)習(xí),不斷充“電”,由此終身學(xué)習(xí)成為當(dāng)今人們的共識。培訓(xùn),作為終身學(xué)習(xí)的重要渠道,越來越受到各企、事業(yè)單位的重視。為更好地組織、管理各層次人員的繼續(xù)教育情況,實現(xiàn)培訓(xùn)管理的規(guī)范化、制度化和長期化,最大限度地發(fā)揮培訓(xùn)的作用,將培訓(xùn)工作必須采用計算機進行管理。1.1可行性研究方法通過調(diào)查分析開發(fā)企業(yè)培訓(xùn)管理所具備的能力及實現(xiàn)的方法。確定總體結(jié)構(gòu),利用SQLServer數(shù)據(jù)庫所具有的能力,以最簡潔最容易的方法,使用VC++使其成為一個初級的系統(tǒng)軟件。1.2技術(shù)可行性評價就目前使用的開發(fā)技術(shù)來說建議系統(tǒng)的功能目標(biāo)應(yīng)該能夠達到;利用現(xiàn)有的技術(shù)在規(guī)定的期限內(nèi)開發(fā)工作基本能夠完成。該系統(tǒng)對客戶的影響:建議系統(tǒng)是為了改善原有系統(tǒng)在經(jīng)費支出過高的缺點的,所以新系統(tǒng)一經(jīng)使用在經(jīng)費支出方面一定會得到很好的改善,用戶在使用了新系統(tǒng)后只需要花一定資金購買一部分計算機與軟件就能實現(xiàn)自動化。該項目為獨立開發(fā),在技術(shù)上沒有使用任何現(xiàn)有的軟件與方法。所以在法律方面不會存在侵犯專利權(quán)、侵犯版權(quán)等問題,完全按照合同規(guī)定的責(zé)任履行。1.3結(jié)論意見經(jīng)過一系列的各個不同方面的可行性分析,分析員和用戶及使用部門的負責(zé)人對需要解決的問題取得基本的一致看法,開發(fā)小組的開發(fā)方案的到批準(zhǔn),使用部門負責(zé)人同意開發(fā)工程繼續(xù)進行下去。

第2章:需求分析需求分析是進行軟件開發(fā)的第一步,也是最重要的一步。只是充分理解了客戶的需求以后,才能進行更有效的系統(tǒng)設(shè)計。否則,設(shè)計出來的程序架構(gòu)會存在諸多問題,不符合客戶的最終要求。2.1客戶需求分析在這里,客戶希望通過一個培訓(xùn)管理系統(tǒng),對培訓(xùn)的學(xué)員、培訓(xùn)的教師、培訓(xùn)課程、培訓(xùn)教材、培訓(xùn)計劃和培訓(xùn)資源等進行有效的管理,使得內(nèi)部培訓(xùn)工作系統(tǒng)化、規(guī)范化和自動化。整個系統(tǒng)從符合操作簡便、界面友好、靈活、實用、安全的要求出發(fā),需求的核心如下:(1)系統(tǒng)界面要簡潔明了,易于操作。(2)系統(tǒng)要有一個登錄界面,合法用戶才可以進入系統(tǒng)。(3)用戶登錄成功后,系統(tǒng)顯示歡迎使用的信息。(4)利用次系統(tǒng),用戶可進行6個方面的管理,即培訓(xùn)學(xué)員的管理、培訓(xùn)教師的管理、培訓(xùn)課程的管理、培訓(xùn)教材的管理、培訓(xùn)計劃的管理和培訓(xùn)資源的管理。(5)用戶可以對系統(tǒng)進行相關(guān)的設(shè)置,比如,修改密碼、啟動后最小化、窗口總在最前面、顯示系統(tǒng)時間等。(6)該系統(tǒng)要有使用說明。2.2系統(tǒng)用例分析基于上面的需求分析,我們可以列出用戶操作的模塊,其中的每個模塊對應(yīng)一個功能,如圖2.1所示。圖2.1UML用例圖通過對系統(tǒng)需求的分析,可以確定系統(tǒng)只有一個執(zhí)行者:用戶行為者(培訓(xùn)學(xué)員和培訓(xùn)教師)。用戶行為者:通過互聯(lián)網(wǎng),查詢培訓(xùn)信息和個人培訓(xùn)信息,還可以自己辦理培訓(xùn)等。用戶借助此培訓(xùn)系統(tǒng),可以進行以下操作:登錄系統(tǒng);使用培訓(xùn)管理:培訓(xùn)學(xué)員管理、培訓(xùn)教師管理、培訓(xùn)課程管理、培訓(xùn)教材管理、培訓(xùn)計劃管理、培訓(xùn)資料管理。進行系統(tǒng)設(shè)置;查詢使用幫助。2.3系統(tǒng)功能分析系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成。本例子中的職工培訓(xùn)管理系統(tǒng)需要完成功能主要有:(1)登錄系統(tǒng)(2)顯示“歡迎使用”信息;(3)培訓(xùn)學(xué)員信息的輸入、查詢和修改,包括姓名、性別等;(4)培訓(xùn)教師信息的輸入、查詢和修改;(5)培訓(xùn)課程信息的輸入、查詢和修改,包括課時、課程種類等;(6)培訓(xùn)教材信息的輸入、查詢和修改;(7)培訓(xùn)計劃信息的輸入、查詢和修改;(8)培訓(xùn)資源信息的輸入、查詢和修改;(9)系統(tǒng)設(shè)置的實現(xiàn),包括修改登錄密碼等;(10)使用幫助的實現(xiàn),包括系統(tǒng)的使用說明和開發(fā)人員的聯(lián)系方法。系統(tǒng)功能模塊設(shè)計:在系統(tǒng)功能分析的基礎(chǔ)上,得到如圖1所示的系統(tǒng)功能模塊圖。根據(jù)上面介紹的功能,可以設(shè)計出系統(tǒng)的總體功能模塊,如圖2.2所示:培訓(xùn)管理系統(tǒng)培訓(xùn)管理系統(tǒng)登錄系統(tǒng)歡迎使用培訓(xùn)管理系統(tǒng)設(shè)置使用幫助培訓(xùn)學(xué)員管理培訓(xùn)教師管理培訓(xùn)課程管理培訓(xùn)教材管理培訓(xùn)計劃管理培訓(xùn)資源管理圖2.2總體功能模塊

第3章:設(shè)計過程3.1“企業(yè)培訓(xùn)管理系統(tǒng)”系統(tǒng)設(shè)計用包圖描述,如圖3.1所示。企業(yè)培訓(xùn)管理系統(tǒng)企業(yè)培訓(xùn)管理系統(tǒng)圖圖3.1“企業(yè)培訓(xùn)管理系統(tǒng)”包圖系統(tǒng)設(shè)置子系統(tǒng)使用說明子系統(tǒng)培訓(xùn)管理子系統(tǒng)窗口總在最前面培訓(xùn)教材管理培訓(xùn)計劃管理啟動后最小化培訓(xùn)課程管理使用說明聯(lián)系我們培訓(xùn)學(xué)員管理培訓(xùn)教師管理培訓(xùn)資源管理修改登錄密碼修改登錄密碼顯示系統(tǒng)時間

3.2E-R圖設(shè)計本系統(tǒng)包含的實體有:學(xué)員實體、教師實體、課程實體、教材實體、計劃實體和資源實體。各個實體具體的描述E-R圖如圖3.2-圖3.9所示:培訓(xùn)學(xué)員培訓(xùn)學(xué)員學(xué)員號性別/年齡身份證號民族籍貫參加工作時間婚姻/健康Email圖3.2培訓(xùn)學(xué)員實體E-R圖培訓(xùn)教師培訓(xùn)教師教師號教師姓名教師學(xué)歷開始執(zhí)教時間對教師的評價圖3.3培訓(xùn)教師實體E-R圖培訓(xùn)課程培訓(xùn)課程課程號課程名稱課程類別課程描述學(xué)時使用教材圖3.4培訓(xùn)課程實體E-R圖培訓(xùn)教材培訓(xùn)教材教材編號教材作者教材名稱教材狀態(tài)標(biāo)記課程編號教材數(shù)量/價格圖3.5培訓(xùn)教材實體E-R圖培訓(xùn)計劃培訓(xùn)計劃課程號課程結(jié)束時間課程開始時間教師號上課人數(shù)上課的地點圖3.6培訓(xùn)課程實體E-R圖培訓(xùn)資源培訓(xùn)資源資源號資源名稱資源狀態(tài)標(biāo)記資源價格資源數(shù)量備注圖3.7培訓(xùn)資源實體E-R圖實體和實體之間的關(guān)系如圖3.8所示:課程課程學(xué)員教材資源教師學(xué)習(xí)使用教學(xué)使用圖3.8實體之間的關(guān)系E-R圖

第4章功能實現(xiàn)和系統(tǒng)測試對于本系統(tǒng)的測試實現(xiàn),由于考慮到篇幅問題,這里只給出了登錄、培訓(xùn)學(xué)員管理和培訓(xùn)學(xué)員信息在主要代碼,其他代碼類同。4.1用戶登錄用戶使用本系統(tǒng)時,首先要通過本系統(tǒng)的身份認證,此過程叫做登錄。

登錄過程需要根據(jù)用戶名和密碼判斷是否為合法用戶。用戶有3次機會進行身份認證,如果3次輸入的用戶名和密碼和數(shù)據(jù)庫數(shù)據(jù)不能匹配,則強制退出系統(tǒng)。

登錄窗體的界面如圖4.1所示:圖4.1登錄對話框voidCLoginDlg::OnLoginButton()//判斷登錄用戶是否合法{ //TODO:Addyourcontrolnotificationhandlercodehere CLoginSetm_recordset(&m_database); CStringcsSQL=_T(""); UpdateData(TRUE); csSQL.Format(_T("select*fromUSER_PWDwhereUSER='%s'ANDPWD='%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 { AfxMessageBox(_T("^_^你的權(quán)限不夠,請與系統(tǒng)管理員聯(lián)系!")); m_database.Close();//關(guān)閉數(shù)據(jù)庫 CDialog::OnOK(); } } else { CCommonSingleton*pInfo=CCommonSingleton::GetInstance();//保存用戶名 pInfo->m_csUserName=m_csUserName; CDialog::OnOK();//關(guān)閉登錄窗口 CTrainingSystemDlgTrainingSystemDlg;//顯示培訓(xùn)系統(tǒng)主窗口 TrainingSystemDlg.DoModal(); } }4.2系統(tǒng)歡迎界面圖4.2系統(tǒng)歡迎界面4.3培訓(xùn)管理模板設(shè)計通過培訓(xùn)管理模塊進一步的實現(xiàn)培訓(xùn)學(xué)員、培訓(xùn)教師、培訓(xùn)課程、培訓(xùn)教材、培訓(xùn)計劃、培訓(xùn)資源的管理。圖4.3培訓(xùn)管理模塊4.3.1培訓(xùn)學(xué)員信息管理的對話框培訓(xùn)學(xué)員信息管理的對話框可用來添加和修改學(xué)員信息。設(shè)計培訓(xùn)學(xué)員管理對話框如圖4.4所示:圖4.4培訓(xùn)學(xué)員管理對話框//顯示培訓(xùn)學(xué)員信息對話框,并將新添加的培訓(xùn)學(xué)員信息從數(shù)據(jù)庫中查詢出來,voidCTrainingStudentManage::OnAddButton(){ //TODO:Addyourcontrolnotificationhandlercodehere CTrainingStudentInfoTrainingStudentInfoDlg;//顯示培訓(xùn)學(xué)員信息對話框 TrainingStudentInfoDlg.DoModal(); m_database.Close(); TrainingStudentInfoDlg.m_database.Open(_T("Training"));//打開連接 UpdateData(); //更新數(shù)據(jù)}voidCTrainingStudentManage::OnDeleteButton()//刪除指定的培訓(xùn)學(xué)員的信息,同時更新數(shù)據(jù)庫。{ //TODO:Addyourcontrolnotificationhandlercodehere inti=m_listctrlTrainingStudent.GetSelectionMark(); if(m_listctrlTrainingStudent.GetItemCount()==0) { AfxMessageBox(_T("^_^當(dāng)前列表中沒有記錄,點擊刪除沒有意義!")); return; } elseif(i==-1) { AfxMessageBox(_T("^_^請先選擇一條記錄!")); return; } else { intnStudentID=atoi(m_listctrlTrainingStudent.GetItemText(i,0));//獲取學(xué)員號 CStringcsSQL=_T(""); csSQL.Format(_T("deletefromTRAINING_STUDENTwhereSTUDENT_ID=%d"),nStudentID); m_database.ExecuteSQL(csSQL); UpdateData();//更新數(shù)據(jù) }}圖4.5培訓(xùn)學(xué)員信息voidCTrainingStudentInfo::OnConfirmButton()//將培訓(xùn)學(xué)員的信息添加到數(shù)據(jù)對應(yīng)的表中{ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); if(m_csStudentName.IsEmpty())//判斷學(xué)員姓名是否為空 { AfxMessageBox(_T("^_^學(xué)員姓名不能為空,請重新輸入!")); GetDlgItem(IDC_NAME_EDIT)->SetFocus(); return; } if(m_nStudentAge==0||m_nStudentAge>150)//判斷學(xué)員年齡的有效性 { AfxMessageBox(_T("^_^你輸入的學(xué)員年齡無效,請重新輸入!")); GetDlgItem(IDC_AGE_EDIT)->SetWindowText(_T("")); GetDlgItem(IDC_AGE_EDIT)->SetFocus(); 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(); return; } if(m_csIdentityCardNo.IsEmpty())//判斷身份證號碼的有效性 { AfxMessageBox(_T("^_^身份證號碼不能為空,請重新輸入!")); GetDlgItem(IDC_IDENTITY_CARD_NO_EDIT)->SetFocus(); return; } boolbIsDigit=CheckDigit(m_csIdentityCardNo,18); intnIdentityCardNoLength=m_csIdentityCardNo.GetLength(); if((!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())//判斷家庭住址是否為空 { AfxMessageBox(_T("^_^家庭住址不能為空,請重新輸入!")); GetDlgItem(IDC_HOME_ADDRESS_EDIT)->SetFocus(); return; } if(m_csTelephoneNumber.IsEmpty())//判斷聯(lián)系電話(手機)的有效性 { AfxMessageBox(_T("^_^電話號碼不能為空,請重新輸入!")); GetDlgItem(IDC_TELEPHONE_NUMBER_EDIT)->SetFocus(); return; } bIsDigit=CheckDigit(m_csTelephoneNumber,11); intnTelephoneNumberLength=m_csTelephoneNumber.GetLength(); if((!bIsDigit)||(nTelephoneNumberLength!=11)) { AfxMessageBox(_T("^_^你輸入的電話號碼無效,請重新輸入!")); GetDlgItem(IDC_TELEPHONE_NUMBER_EDIT)->SetWindowText(_T("")); GetDlgItem(IDC_TELEPHONE_NUMBER_EDIT)->SetFocus(); return; } if(m_csEmailAddress.IsEmpty())//判斷Email地址是否為空 { AfxMessageBox(_T("^_^Email住址不能為空,請重新輸入!")); GetDlgItem(IDC_EMAIL_EDIT)->SetFocus(); return; } CStringcsSQL=_T("");//將培訓(xùn)學(xué)員信息寫入數(shù)據(jù)庫 inti=1; intnFlag=0; while(!nFlag) { CTrainingStudentSetm_recordset(&m_database); csSQL.Format(_T("select*fromTRAINING_STUDENTwhereSTUDENT_ID=%d"),i); m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,csSQL);//打開數(shù)據(jù)集 if(m_recordset.GetRecordCount()==0) { csSQL.Format(_T("insertintoTRAINING_STUDENTvalues(%d,\'%s\',\'%s\',%d,\'%s\',\'%s\',\'%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_ctAttendJobTime.GetMonth(),m_ctAttendJobTime.GetDay(), m_csHomeAddress, m_csTelephoneNumber, m_csEmailAddress ); m_database.ExecuteSQL(csSQL);//執(zhí)行SQL文 m_database.Close();//關(guān)閉數(shù)據(jù)庫 nFlag=1; } i++; } CDialog::OnOK();}voidCTrainingStudentInfo::OnResetButton()//重新設(shè)定培訓(xùn)學(xué)員的信息{ //TODO:Addyourcontrolnotificationhandlercodehere m_csStudentName=_T(""); m_csNation=_T(""); m_csNativePlace=_T(""); m_csIdentityCardNo=_T(""); m_csHomeAddress=_T(""); m_csTelephoneNumber=_T(""); UpdateData(FALSE); GetDlgItem(IDC_AGE_EDIT)->SetWindowText(_T("")); GetDlgItem(IDC_RESOURCE_COUNT_EDIT)->SetWindowText(_T("")); GetDlgItem(IDC_NAME_EDIT)->SetFocus();//為學(xué)員姓名編輯框設(shè)置焦點}//檢查輸出的是否為數(shù)字字符boolCTrainingStudentInfo::CheckDigit(CStringcsTargetString,intnLength){ intnTmpLength=0; if(nLength>=csTargetString.GetLength()) {

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論