![軟件開發(fā)綜合實習(xí)課程內(nèi)容設(shè)計指導(dǎo)書V_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/30ec772c-5066-4f4a-92f0-80bfc42bbd86/30ec772c-5066-4f4a-92f0-80bfc42bbd861.gif)
![軟件開發(fā)綜合實習(xí)課程內(nèi)容設(shè)計指導(dǎo)書V_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/30ec772c-5066-4f4a-92f0-80bfc42bbd86/30ec772c-5066-4f4a-92f0-80bfc42bbd862.gif)
![軟件開發(fā)綜合實習(xí)課程內(nèi)容設(shè)計指導(dǎo)書V_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/30ec772c-5066-4f4a-92f0-80bfc42bbd86/30ec772c-5066-4f4a-92f0-80bfc42bbd863.gif)
![軟件開發(fā)綜合實習(xí)課程內(nèi)容設(shè)計指導(dǎo)書V_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/30ec772c-5066-4f4a-92f0-80bfc42bbd86/30ec772c-5066-4f4a-92f0-80bfc42bbd864.gif)
![軟件開發(fā)綜合實習(xí)課程內(nèi)容設(shè)計指導(dǎo)書V_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/30ec772c-5066-4f4a-92f0-80bfc42bbd86/30ec772c-5066-4f4a-92f0-80bfc42bbd865.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、長安大學(xué)資源學(xué)院軟件開發(fā)綜合實習(xí)指導(dǎo)書實習(xí)題目:員工培訓(xùn)管理系統(tǒng)實習(xí)專業(yè):地理信息系統(tǒng)(本科)1. 實習(xí)項目概述1.1 開發(fā)背景在競爭越來越激烈的今天,知識更新的速度也在急劇加快。企業(yè)員工的培訓(xùn)越來越受到各個企業(yè)領(lǐng)導(dǎo)的重視。通過一個員工培訓(xùn)管理系統(tǒng),使企業(yè)的培訓(xùn)工作系統(tǒng)化、規(guī)范化、自動化,從而達到提高企業(yè)培訓(xùn)管理效率的目的。 本實習(xí)項目將結(jié)合企業(yè)員工培訓(xùn)的實際需求,以一個典型企業(yè)的培訓(xùn)管理系統(tǒng)為例,來講述如何建立一個員工培訓(xùn)管理系統(tǒng)。4編程開發(fā)-編程工具1.2 開發(fā)目的本實習(xí)是一個讓學(xué)生體驗如何綜合運用所學(xué)的知識去開發(fā)一個實用性數(shù)據(jù)庫應(yīng)用系統(tǒng)。學(xué)生必須掌握系統(tǒng)
2、分析與設(shè)計、系統(tǒng)功能規(guī)劃、數(shù)據(jù)庫規(guī)劃與設(shè)計、功能模塊實現(xiàn)方法、相關(guān)菜單與窗體設(shè)計與使用、編碼、程序調(diào)試與運行、維護等任務(wù)。計劃通過開發(fā)員工培訓(xùn)管理系統(tǒng),使得學(xué)生能夠利用所學(xué)的基本知識和編程技能,解決基本的程序設(shè)計問題,最終提高學(xué)生進行軟件開發(fā)、使用計算機解決實際問題的能力。1.3 開發(fā)運行工具開發(fā)環(huán)境:VC+ 6.0或Visual Studio 2010(建議用Visual Studio 2010)、SQL Server2008數(shù)據(jù)庫。開發(fā)工具:C+語言擬運用Visual Studio 2010新建VC項目,利用MFC ODBC開放數(shù)據(jù)庫連接組件進行SQL Server數(shù)據(jù)庫的訪問,信息的添加
3、、刪除、修改、查詢功能,并且對用戶登錄的權(quán)限進行檢驗,并且具有錯誤提示功能。2. 實習(xí)項目功能分析2.1 系統(tǒng)功能分析根據(jù)需求分析,本實習(xí)的員工培訓(xùn)管理系統(tǒng)需要完成功能主要有以下幾點:Ø 員工各種信息的輸入,包括員工基本信息、職稱、崗位、已經(jīng)培訓(xùn)過的課程和成績、培訓(xùn)計劃等。 Ø 員工各種信息的查詢、修改,包括員工基本信息、職稱、崗位、已經(jīng)培訓(xùn)過的課程和成績、培訓(xùn)計劃等。 Ø 培訓(xùn)課程信息的輸入,包括課時、課程種類等。 Ø 培訓(xùn)課程信息的查詢、修改。 Ø 企業(yè)所有員工培訓(xùn)需求的管理。 Ø 企業(yè)培訓(xùn)計劃的制定、修改。 Ø 培訓(xùn)課
4、程的評價。 Ø 培訓(xùn)管理系統(tǒng)的使用幫助。 Ø 教師信息的管理、教師評價。 Ø 培訓(xùn)資源管理 Ø 培訓(xùn)教材管理。 Ø 員工外出培訓(xùn)管理。 Ø 系統(tǒng)用戶管理。 2.2 系統(tǒng)功能模塊設(shè)計在系統(tǒng)功能分析的基礎(chǔ)上,考慮MFC應(yīng)用程序編制的特點,得到如圖 21 系統(tǒng)功能模塊圖所示的系統(tǒng)功能模塊圖。圖 21 系統(tǒng)功能模塊圖主界面2.3 系統(tǒng)業(yè)務(wù)流程在系統(tǒng)功能分析的基礎(chǔ)上,得出一般公司對員工培訓(xùn)的業(yè)務(wù)流程如下圖 22 系統(tǒng)業(yè)務(wù)流程圖所示:圖 22 系統(tǒng)業(yè)務(wù)流程圖3. 實習(xí)項目數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響
5、,好的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計會減少數(shù)據(jù)庫的存儲量,數(shù)據(jù)的完整性和一致性比較高,系統(tǒng)具有較快的響應(yīng)速度,簡化基于此數(shù)據(jù)庫的應(yīng)用程序的實現(xiàn)等等。 在數(shù)據(jù)庫系統(tǒng)開始設(shè)計的時候應(yīng)該盡量考慮全面,尤其應(yīng)該仔細考慮用戶的各種需求,避免浪費不必要的人力和物力。 數(shù)據(jù)庫設(shè)計一般包括以下步驟:需求分析、概念模型設(shè)計、數(shù)據(jù)庫邏輯設(shè)計(ER模型)、物理設(shè)計。3.1 數(shù)據(jù)庫需求分析 針對本實例,通過對企業(yè)員工培訓(xùn)管理的業(yè)務(wù)流程和內(nèi)容分析,設(shè)計的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下。 Ø 員工基本狀況。包括的數(shù)據(jù)項有員工號、員工姓名、性別、所在部門、身份證、生日、籍貫、國籍、民族、婚姻狀況、健康狀況、參加工作時間、員工狀態(tài)、狀態(tài)時間
6、、家庭住址、聯(lián)系電話等。 Ø 員工成績狀況。包括的數(shù)據(jù)項有員工號、課程名稱、時間、地點、授課教師、成績評價、是否通過等。 Ø 課程信息。包括的數(shù)據(jù)項有課程號、課程類別、課程名、課程學(xué)時、等效課程、預(yù)修課程、開課部門、初訓(xùn)/復(fù)訓(xùn)等。 Ø 企業(yè)工作崗位信息。包括的數(shù)據(jù)項有工作崗位代號、工作崗位名稱、工作崗位、權(quán)力范圍等。 Ø 企業(yè)部門信息。包括的數(shù)據(jù)項有部門代號、部門名稱、部門經(jīng)理、部門副經(jīng)理等。 Ø 培訓(xùn)需求信息。包括的數(shù)據(jù)項有所需培訓(xùn)的課程、要求培訓(xùn)的員工。 Ø 企業(yè)培訓(xùn)計劃信息。包括的數(shù)據(jù)項有培訓(xùn)的課程、培訓(xùn)開始時間、結(jié)束時間、培訓(xùn)
7、教員、上課時間、上課地點等。 Ø 個人培訓(xùn)計劃信息。包括的數(shù)據(jù)項有培訓(xùn)員工、培訓(xùn)課程、培訓(xùn)開始時間、培訓(xùn)結(jié)束時間等。 Ø 課程評價信息。包括的數(shù)據(jù)項有課程名、評價內(nèi)容、評價時間等。 Ø 教員信息。包括的數(shù)據(jù)項有教員號、教員姓名、教員學(xué)歷、開始教課時間、教員評價等。 Ø 培訓(xùn)資源管理信息。包括的數(shù)據(jù)項有各個教師、教學(xué)設(shè)備的配備情況、各種教學(xué)教具借用情況、培訓(xùn)中心固定資產(chǎn)管理、各種培訓(xùn)費用和支出、培訓(xùn)資源需求管理等。 Ø 培訓(xùn)教材管理。包括的數(shù)據(jù)項有教材適合的課程、作者、教材狀態(tài)、教材數(shù)量、價錢等。 3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 這一設(shè)計階段是在需求
8、分析的基礎(chǔ)上,設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。 本實例根據(jù)上面的設(shè)計規(guī)劃出的實體有:員工實體、部門實體、崗位實體、教員實體、教學(xué)資源實體、教材實體、課程實體。各個實體具體的描述E-R圖如下。 圖 31員工實體E-R圖圖 32 部門實體E-R圖圖 33崗位實體E-R圖圖 34 課程實體E-R圖圖 35 培訓(xùn)資源實體E-R圖圖 36 培訓(xùn)教員E-R圖圖 37 培訓(xùn)教材實體E-R圖圖 38 各實體間關(guān)系E-R圖3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 在上面的實體以及實體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫中的表格以及各個表格之間的關(guān)系。 員工培訓(xùn)管理系統(tǒng)數(shù)據(jù)庫中各個表
9、格的設(shè)計結(jié)果如下面的幾個表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。 表1為PERSONNEL員工基本狀況表。 表1 PERSONNEL員工基本狀況表 列 名 數(shù) 據(jù) 類 型 可否為空 說 明 EMP-NO NUMBER(6) NOT NULL 員工號(主鍵) EMP-NAME VARCHAR2(10) NULL 員工姓名 DEPT-ID NUMBER(3) NULL 所在部門號(外部鍵),指向部門信息表的DEPT_ID EMP-XL VARCHAR2(10) NULL 學(xué)歷 EMP-GENDER VARCHAR2(2) NULL 性別 EMP-BIRTHDAY DATE NULL 生日 EMP
10、-HOMETOWN VARCHAR2(8) NULL 籍貫 EMP-COUNTRY VARCHAR2(10) NULL 國籍 EMP-NATION VARCHAR2(10) NULL 民族 EMP-ID NUMBER(20) NULL 身份證號 EMP-MARRIAGE VARCHAR2(2) NULL 婚姻狀況 EMP-HEALTH VARCHAR2(20) NULL 健康狀況 EMP-STARTWORK DATE NULL 參加工作時間 EMP-STATE VARCHAR2(10) NULL 員工狀態(tài) EMP-STATE-DATE DATE NULL 狀態(tài)時間 EMP-OMEADRESS
11、VARCHAR2(10) NULL 家庭住址 EMP-TELENO NUMBER(10) NULL 聯(lián)系電話 EMP-EMAIL VARCHAR2(20) NULL 聯(lián)系地址 JOB-ID NUMBER(3) NULL 工作崗位代號(外部鍵),指向工作崗位情況表的JOB-ID 表2為SCORE員工成績表格。表2 SCORE員工成績表格 列名 數(shù)據(jù)類型 可否為空 說明 EMP-NO NUMBER(6) NOT NULL 員工號(外部鍵),指向員工基本狀況表的EMP-NO COURSE-ID NUMBER(3) NULL 課程號(外部鍵),指向課程表COURSE S-DATE DATE NULL
12、上課時間 S-PLACE VARCHAR2(10) NULL 上課地點 TEACHER-ID NUMBER(6) NULL 教師號(外部鍵),指向教師表TEACHER SCORE-1 NUMBER(3) NULL 成績1 SCORE-2 NUMBER(3) NULL 成績2 SCORE-NOTES VARCHAR2(10) NULL 教師評語 PASS NUMBER(1) NULL 通過否(0,1表示) 表3為JOB工作崗位情況表。 表3 JOB工作崗位情況表 列 名 數(shù)據(jù)類型 可否為空 說明 JOB-ID NUMBER(3) NOT NULL 工作崗位代號(主鍵) JOB-NAME VARC
13、HAR2(10) NULL 工作崗位名稱 JOB-POWER VARCHAR2(20) NULL 崗位權(quán)力范圍 表4為COURSE課程表格。 表4 COURSE課程表格 列名 數(shù)據(jù)類型 可否為空 說明 COURSE-ID NUMBER(3) NOT NULL 課程號(主鍵) SUBJECT VARCHAR2(10) NULL 課程類別 COURSE-CNAME VARCHAR2(20) NULL 課程中文名稱 COURSE-ENAME VARCHAR2(10) NULL 課程英文名稱 COURSE-DESC VARCHAR2(40) NULL 課程描述 COURSE-DURATION NUMB
14、ER(3) NULL 學(xué)時 COURSE-BOOK VARCHAR2(10) NULL 教材 COURSE-EQU NUMBER(3) NULL 等效課程 COURSE-BEFORE NUMBER(3) NULL 預(yù)修課程 COURSE-MARK NUMBER(1) NULL 初訓(xùn)/復(fù)訓(xùn)標志(取值0/1) DEPT-ID NUMBER(3) NULL 開課部門 表5為DEPT部門信息表表5為DEPT部門信息表列名數(shù)據(jù)類型可否為空說明DEPT-ID NUMBER(3) NOT NULL 部門代號(主鍵) DEPT-NAME VARCHAR2(10)NULL 部門名稱 DEPT-MANAGER N
15、UMBER(6) NULL 部門經(jīng)理代號(外部鍵),指向員工基本情況表的EMP-NO DEPT-VICEMANAGER NUMBER(6) NULL 部門副經(jīng)理代號(外部鍵),指向員工基本情況表的EMP-NO 表6為培訓(xùn)需求表COURSE-NEED。 表6 培訓(xùn)需求表COURSE-NEED 列名 數(shù)據(jù)類型 可否為空 說明 COURSE-ID NUMBER(3) NOT NULL 課程號(外部鍵),指向課程表的COURSE-NO COURSE-NEED NUMBER(6) NULL 課程需求者(外部鍵),指向員工基本情況表 表7為企業(yè)培訓(xùn)計劃表COURSE-AVAILABLE。 表7 企業(yè)培訓(xùn)計
16、劃表COURSE-AVAILABLE 列名 數(shù)據(jù)類型 可否為空 說明 COURSE-ID VARCHAR2(10) NOT NULL 課程號(外部鍵),指向課程表的COURSE-NO COURSE-DATE-BEGIN DATE NULL 課程開始時間 COURSE-DATE-OVER DATE NULL 課程結(jié)束時間 TEACHER-ID NUMBER(6) NULL 教師號(外部鍵),指向教師表中的TEACHER-ID COURSE-PERSONNUMBER NUMBER(2) NULL 上課人數(shù) COURSE-PLACE VARCHAR2(10) NULL 上課地點 表8為個人培訓(xùn)計劃表
17、PERSONNEL-PLAY。 表8 個人培訓(xùn)計劃表PERSONNEL-PLAY 列名 數(shù)據(jù)類型 可否為空 說明 EMP-NO NUMBER(6) NOT NULL員工號(主鍵),員工號(外部鍵),指向員工基本情況表的EMP-NO COURSE-ID VARCHAR2(10) NOT NULL課程號(外部鍵),指向課程表的COURSE-NO COURSE-DATE-BEGIN DATE NULL 課程開始時間 COURSE-DATE-OVER DATE NULL 課程結(jié)束時間 表9為課程評價表COURSE-EVALVATION。表9為課程評價表COURSE-EVALVATION列名 數(shù)據(jù)類型
18、可否為空 說明 COURSE-ID VARCHAR2(10) NOT NULL 課程號(外部鍵),指向課程表的COURSE-NO EVALUATION-DATE DATE NULL 評價時間 EVALUATION VARCHAR2(40) NULL 評價內(nèi)容 表10為教員信息表TEACHER。 表10 教員信息表TEACHER 列名 數(shù)據(jù)類型 可否為空 說明 TEACHER-ID NUMBER(6) NOT NULL 教員號(主鍵) TEACHER-NAME VARCHAR2(10) NULL 教員姓名 TEACHER-XL VARCHAR2(10) NULL 教員學(xué)歷 TEACHER-DAT
19、E-START DATE NULL 開始教的時間 TEACHER-EVALUATION VARCHAR2(40) NULL 教員評價 表11為培訓(xùn)資源信息表TM-RESOURSE。 表11 培訓(xùn)資源信息表TM-RESOURSE 列名 數(shù)據(jù)類型 可否為空 說明 RESOURCE-ID NUMBER(3) NOT NULL 資源代號 RESOURCE-NAME VARCHAR2(10) NULL 資源名稱 RESOURCE-MARK NUMBER(1) NULL 資源狀態(tài)標志 RESOURCE-PRICE NUMBER(5,2) NULL 資源價錢 RESOURCE-QUATITY NUMBER(
20、2) NULL 資源數(shù)量 RESOURCE-REM VARCHAR2(40) NULL 備注 表12為教材信息表BOOK。 表12 教材信息表BOOK 列名 數(shù)據(jù)類型 可否為空 說明 BOOK-ID NUMBER(3) NOT NULL 教材編號(主鍵) BOOK-NAME VARCHAR2(20) NULL 教材名稱 BOOK-AUTHER VARCHAR2(10) NULL 作者 BOOK-STATE NUMBER(1) NULL 教材狀態(tài)標志 BOOK-COURSE-ID NUMBER(3) NULL 相應(yīng)課程編號(外部鍵),指向課程表的COURSE-NO BOOK-QUATITY NU
21、MBER(3) NULL 教材數(shù)量 BOOK-PRICE NUMBER(5,2) NULL 教材價錢 表13為用戶口令表USER-PSWD 表13用戶口令表USER-PSWD列名 數(shù)據(jù)類型 可否為空 說明 TMS-USER VARCHAR2(20) NOT NULL 用戶名(主鍵) TMS-PSWDVARCHAR2(10)NOT NULL口令3.4 SQL Server2008安裝注意事項1) 選擇版本時,請選擇EVALUATION 版本。2) 選擇安裝的功能,一般是全選,但是僅SQL數(shù)據(jù)庫和管理工具也可以,如圖 39 SQL Server2008 安裝功能選擇圖所示。圖 39 SQL Ser
22、ver2008 安裝功能選擇圖3) 服務(wù)賬戶,點擊對所有SQL Server服務(wù)使用相同的帳號,選擇NT AUTHORITYNETWORK SERVICE,如圖 310 服務(wù)帳號設(shè)置截圖所示。圖 310 服務(wù)帳號設(shè)置截圖4) 驗證模式:選擇sql和本地模式兩種,輸入sa用戶密碼(如123),另外添加管理員,可以添加當前用戶(或者添加本地組),如圖 311 驗證模式設(shè)置截圖所示。圖 311 驗證模式設(shè)置截圖5) 以下步驟,基本按照默認下一步,即可將SQL Server安裝成功。3.5 SQL Server2008使用說明1) 開始菜單,打開SQL Server2008 Management St
23、udio管理工具,連接到服務(wù)器,可以看到數(shù)據(jù)庫服務(wù)器名稱:如圖 312 SME管理工具截圖服務(wù)器名稱為IGSNRR_YINFANG。圖 312 SME管理工具截圖2) 在左邊對象資源管理器中,點擊數(shù)據(jù)庫,右鍵新建train數(shù)據(jù)庫,如圖 313 新建數(shù)據(jù)庫截圖所示;點擊所有者右面按鈕,為其選擇所有者為sa用戶,如圖 314 添加所有者截圖所示。圖 313 新建數(shù)據(jù)庫截圖圖 314 添加所有者截圖3) 點擊train數(shù)據(jù)庫,右鍵新建表,添加列后保存成相應(yīng)的表名即可,如圖 315 新建表截圖所示。在添加主鍵時,選中相應(yīng)列,右鍵點擊設(shè)置主鍵即可;添加外鍵時,選中相應(yīng)列,右鍵點擊關(guān)系;在外鍵關(guān)系框中,點
24、擊添加,點擊表和列表規(guī)范處右側(cè)按鈕,如圖 316 添加外鍵截圖所示、圖 317 添加外鍵選擇表和列截圖,在主鍵表選擇相應(yīng)的列即可。在建表過程中,要注意各個字段類型的區(qū)別與使用。圖 315 新建表截圖圖 316 添加外鍵截圖圖 317 添加外鍵選擇表和列截圖3.6 SQL Server ODBC數(shù)據(jù)源配置過程MFC應(yīng)用程序連接數(shù)據(jù)庫有ODBC(Open Database Connectivity,開放數(shù)據(jù)庫連接)和DAO(Data Access Objects,數(shù)據(jù)訪問對象)兩種方式,本實習(xí)采用ODBC方式。所以首先需要配置ODBC數(shù)據(jù)源,過程如下:1) 打開控制面板,點擊性能和維護,找到“管理
25、工具”;點擊后,進入如下界面,雙擊數(shù)據(jù)源(ODBC)。圖 318 ODBC數(shù)據(jù)源圖2) 選擇系統(tǒng)DSN ,單擊“添加”,選擇SQL Server Native Client 10.0,點擊完成后出現(xiàn)命名對話框,注意在連接到服務(wù)器輸入框里,填寫安裝SQL Server 2008時的服務(wù)器名稱,也即3.5節(jié)第一步提到的數(shù)據(jù)庫服務(wù)器名稱,進入下一步。圖 319 ODBC數(shù)據(jù)源管理器圖 320 選擇ODBC驅(qū)動程序圖 321 數(shù)據(jù)源命名3) 選擇使用用戶使用輸入密碼帳號登錄,填寫SQL Server安裝時驗證模式選定的sa用戶和相應(yīng)(123)密碼,以下步驟默認即可。最后出現(xiàn)測試成功的界面,
26、配置數(shù)據(jù)源即成功。圖 322 數(shù)據(jù)源命名圖 323 測試成功界面4. 實習(xí)項目詳細設(shè)計4.1 用戶登錄模塊的設(shè)計與實現(xiàn)4.1.1 登錄模塊功能:本模塊主要對用戶身份進行鑒別。用戶通過表單提供用戶名和密碼信息,系統(tǒng)根據(jù)用戶提供的登錄信息查詢用戶表進行身份認證。如果身份合法,則將用戶導(dǎo)向系統(tǒng)的主界面。輸入:用戶名、密碼處理:1) 輸入用戶的登錄信息:在頁面提供的表單處輸入用戶的用戶名和密碼信息,點擊“登錄”按鈕提交表單信息進行用戶身份認證。2) 用戶身份進行認證:連接數(shù)據(jù)庫,打開用戶數(shù)據(jù)表USER_PSWD,檢驗用戶登錄信息,以輸入數(shù)據(jù)“用戶名”為查詢條件創(chuàng)建數(shù)據(jù)庫集查看輸入用戶名是否存在。如果存
27、在,繼續(xù)檢驗輸入的密碼是否正確。密碼和用戶名都正確,則進入員工培訓(xùn)系統(tǒng)主界面;如果用戶名不存在或是密碼不正確,則給出登錄失敗的提示框。輸出:員工培訓(xùn)系統(tǒng)主界面4.1.2 登錄界面設(shè)計1) 打開Visual Studio 2010,新建工程,如圖 42 MFC應(yīng)用程序向?qū)Ы缑?。選擇工程中的MFC AppWizard(exe),工程名為train,存放在相應(yīng)文件夾里。 圖 41 Visual Studio 2010 新建MFC工程界面在向?qū)У谝徊街?,點擊應(yīng)用程序類型后,選擇“基本對話框”,如圖 42 MFC應(yīng)用程序向?qū)Ы缑嫠荆苯酉乱徊?,直到最后一步即可完成。圖 42 MFC應(yīng)用程序向?qū)Ы缑?)
28、 以下步驟選擇默認設(shè)置,完成后創(chuàng)建了IDD_TRAIN_DIALOG對話框,同時生成CTrainApp和CTrainDlg類,以及train.h(聲明CTrainApp類的頭文件)與train.cpp(CTrainApp類的實現(xiàn)文件)和trainDlg.h(CTrainDlg類的頭文件)與trainDlg.cpp(CTrainDlg類的實現(xiàn)文件)文件。3) 在工作區(qū)左邊的樹型結(jié)構(gòu)中,選擇Resource View,展開Dialog節(jié)點,雙擊IDD_TRAIN_DIALOG,打開該對話框。在這里添加所需組件,編輯框IDC_EDIT1、IDC_EDIT2,靜態(tài)文本IDC_STATIC_1、IDC_
29、STATIC_2、IDC_STATIC_3、IDC_STATIC_4、IDC_STATIC_5,按鈕IDOK(可以隨意修改組件的ID名稱與相關(guān)標題),生成如圖 43 登錄界面所示。圖 43 登錄界面4) 接下來需要為界面上的編輯框和按鈕添加變量和函數(shù):選中編輯框,在界面右鍵單擊,選擇“建立類向?qū)А?,彈出如圖圖 44 建立類向?qū)Ы缑嫠敬翱冢?圖 44 建立類向?qū)Ы缑纥c擊Add Variable,為編輯框IDC_EDIT1、IDC_EDIT2添加成員變量m_username、m_password變量(將來在代碼中直接使用這些變量,來獲取編輯框的輸入值)。為“登錄”按鈕添加函數(shù)比較簡單,雙擊即可,
30、函數(shù)代碼如下。4.1.3 關(guān)鍵代碼設(shè)計(紅色部分為手動添加代碼,不用管VC自動生成代碼)1) trainDlg.h(紅色部分為手動添加代碼,不用管VC自動生成代碼)class CTrainDlg : public CDialog/ Constructionpublic:CTrainDlg(CWnd* pParent = NULL);/ standard constructorCDatabase m_database;/*在MFC的類庫中,CDatabase類主要功能是建立與ODBC數(shù)據(jù)源的連接,在此新建CDatabase對象,用于處理與SQL Server數(shù)據(jù)庫的連接。*/CString us
31、er;/用于存儲登錄的用戶名int count;/用于記錄用戶的登錄次數(shù),超過3次,彈出提示對話框。/ Dialog Data/AFX_DATA(CTrainDlg)enum IDD = IDD_TRAIN_DIALOG ;CStringm_username;CStringm_password;/AFX_DATA.;2) trainDlg.cppBOOL CTrainDlg:OnInitDialog()CDialog:OnInitDialog();count=0;/用戶登錄次數(shù)變量初始化為0if(!m_database.IsOpen()if(!m_database.Open(_T("
32、train"),FALSE,FALSE,"ODBC;DSN=train;UID=sa;PWD=123")/判斷數(shù)據(jù)庫是否能正常打開/*函數(shù)原型為virtul BOOL Open(LPCTSTR lpszDSN,BOOL bExclusive=FALSE,BOOL bReadOnly=FALSE,LPCTSTR lpszConnect=”O(jiān)DBC;”,BOOL bUseCursorLib=TRUE);其中:lpszDSN指定數(shù)據(jù)源名,若lpszDSN的值為NULL時,在程序執(zhí)行時會彈出數(shù)據(jù)源對話框,供用戶選擇一個數(shù)據(jù)源。lpszConnect指定一個連接字符串,連接
33、字符串中通常包括數(shù)據(jù)源名、用戶ID、口令等信息,與特定的DBMS相關(guān)。*/ASSERT("不能打開到該數(shù)據(jù)源的連接!");.return TRUE; / return TRUE unless you set the focus to a control3) 雙擊“登錄”按鈕(其ID為IDOK),為其添加函數(shù)OnOK(),具體代碼為:void CTrainDlg:OnOK() / TODO: Add extra validation hereCLoginSet *m_recordset=new CLoginSet(&m_database);/ CLoginSet為CR
34、ecordset記錄集的派生類,用于表示從數(shù)據(jù)源中抽取出來的一組記錄集,其定義與實現(xiàn)下面有詳細介紹。CString strSQL;/存儲sql語句的字符串變量UpdateData(TRUE);/給編輯框關(guān)聯(lián)字符串變量,用的時候必須先UpdateData(),變量的內(nèi)容才是編輯框里的內(nèi)容。strSQL.Format("select * from USER_PSWD where TMS_USER='%s' AND TMS_PSWD='%s'",m_username,m_password); m_recordset->Open(AFX_DB_
35、USE_DEFAULT_TYPE,strSQL);/在USER_PSWD表中查詢輸入的用戶名與密碼if(m_recordset->GetRecordCount()=0)if(count<3)MessageBox("login incorrect!");count+;/當返回記錄為0,用戶不存在時,記錄輸入用戶名和密碼錯誤的次數(shù),超過3次,給予相關(guān)提示 elseMessageBox("too many trials");m_database.Close();CDialog:OnOK();elsem_database.Close();user.F
36、ormat("%s",m_username);CMainDlg m_Main;/員工培訓(xùn)管理系統(tǒng)主界面對應(yīng)類,后面主界面設(shè)計部分有介紹m_Main.user.Format("%s",m_username); m_Main.m_database.Open(_T("train"),FALSE,FALSE,"ODBC;DSN=train;UID=sa;PWD=123");m_Main.DoModal();CDialog:OnOK();4.2 員工培訓(xùn)系統(tǒng)主界面的設(shè)計與實現(xiàn)系統(tǒng)主界面功能:主要是提供對各個主要功能模塊(員工
37、信息管理、培訓(xùn)課程管理、崗位部門管理、培訓(xùn)計劃管理、培訓(xùn)教材管理、培訓(xùn)資源管理、培訓(xùn)教員管理)的入口,以及提供修改密碼、退出功能。4.2.1 主界面設(shè)計1) 在項目工作區(qū)中選擇資源視圖,右擊Dialog文件夾,選擇添加資源Dialog(或直接點擊插入Dialog),如圖 45 添加資源對話框所示,可以看到增加了一個對話框資源IDD_DIALOG1,修改ID名稱為IDD_DIALOG_MAIN。圖 45 添加資源對話框2) 雙擊打開IDD_DIALOG_MAIN對話框,選中后,右鍵類向?qū)?,利用MFC ClassWizard(MFC建立類向?qū)В镮DD_DIALOG_MAIN創(chuàng)建CMainDlg類
38、,生成對應(yīng)的MainDlg.h與MainDlg.cpp。3) 添加所需各部分功能按鈕組件, IDC_BUTTON1(員工信息管理入口按鈕)、IDC_BUTTON2(培訓(xùn)課程管理入口按鈕)、IDC_BUTTON3(崗位部門管理入口按鈕)、IDC_BUTTON4(培訓(xùn)計劃管理入口按鈕)、IDC_BUTTON5(培訓(xùn)教材管理入口按鈕)、IDC_BUTTON6(培訓(xùn)資源管理入口按鈕)、IDC_BUTTON7(培訓(xùn)教員管理入口按鈕)、IDCANCEL(修改密碼按鈕),如圖 46 主界面所示。圖 46 主界面4.2.2 關(guān)鍵代碼實現(xiàn)(紅色部分為手動添加代碼,不用管VC自動生成代碼)1) MainDlg.h
39、class CMainDlg : public CDialog/ Constructionpublic:CMainDlg(CWnd* pParent = NULL); / standard constructorCDatabase m_database;CString user;.2) MainDlg.cpp/*主要是對主界面各個按鈕添加函數(shù),提供對各個功能模塊的入口*/./ CMainDlg message handlersvoid CMainDlg:OnButton1() / 學(xué)員信息管理模塊CDIALOG_PERSONNEL m_personnel_manager;m_personnel
40、_manager.DoModal();void CMainDlg:OnButton2() / 培訓(xùn)課程管理模塊CDIALOG_TRAINCOURSE m_traincourse_manager;m_traincourse_manager.DoModal();void CMainDlg:OnButton3() /崗位部門管理模塊CDIALOG_JOB m_job_manager;m_job_manager.DoModal();void CMainDlg:OnButton5() / 培訓(xùn)計劃管理模塊CDIALOG_PLAN m_plan_manager;m_plan_manager.DoModal
41、();void CMainDlg:OnButton6() / 培訓(xùn)教材管理模塊CDIALOG_BOOK m_book_manager;m_book_manager.DoModal();void CMainDlg:OnButton7() / 培訓(xùn)資源管理模塊CDIALOG_RESOURCE m_resource_manager;m_database.Close();m_resource_manager.m_database.Open(_T("train");m_resource_manager.DoModal();void CMainDlg:OnButton8() /培訓(xùn)教員
42、管理模塊CDIALOG_TEACHER m_teacher_manager;m_teacher_manager.DoModal();void CMainDlg:OnButton9() / 修改密碼模塊CDIALOG_MODPSWD m_modpswd;m_database.Close();m_modpswd.user.Format("%s",user);m_modpswd.m_database.Open(_T("train"),FALSE,FALSE,"ODBC;DSN=train;UID=sa;PWD=123");m_modpswd
43、.DoModal();void CMainDlg:OnButtonhelp() / 獲取幫助模塊WinExec("hh.exe train.chm",SW_SHOW);4.3 員工信息管理模塊的設(shè)計與實現(xiàn)4.3.1 員工信息管理模塊功能功能:Ø 員工各種信息的輸入,包括員工基本信息、職稱、崗位、已經(jīng)培訓(xùn)過的課程和成績、培訓(xùn)計劃等。 Ø 員工各種信息的查詢、修改,包括員工基本信息、職稱、崗位、幾經(jīng)培訓(xùn)過的課程和成績、培訓(xùn)計劃等。 員工信息管理模塊界面設(shè)計1 在項目工作區(qū)中選擇資源視圖,右擊Dialog文件夾,選擇添加資源Dialog(或直接
44、點擊插入Dialog),可以看到增加了一個對話框資源IDD_DIALOG1,修改ID名稱為IDD_DIALOG_MANAGER_PERSONNEL。2 雙擊打開IDD_DIALOG_MAIN對話框,選中后,右鍵類向?qū)В肕FC ClassWizard(MFC建立類向?qū)В镮DD_DIALOG_MANAGER_PERSONNEL創(chuàng)建CDIALOG_PERSONNEL類,生成對應(yīng)的DIALOG_PERSONNEL.h與DIALOG_PERSONNEL.cpp。3 雙擊打開IDD_DIALOG_MANAGER_PERSONNEL對話框。在這里添加所需各部分功能組件,列表控件(List Contro
45、l) IDC_LIST1(員工基本情況)、IDC_LIST2(員工成績)、IDC_LIST3(員工培訓(xùn)計劃)、IDC_LIST4(員工需求),以及查詢組合(Combo)框、添加與刪除、查詢按鈕、單選按鈕組(用于在員工基本信息、員工成績、員工計劃、員工需求間切換),如圖所示。 關(guān)鍵代碼實現(xiàn)(紅色部分為手動添加代碼,不用管VC自動生成代碼)DIALOG_PERSONNEL.cpp/*為“添加”按鈕添加的代碼,其功能是選擇員工基本信息、員工計劃、員工成績、員工需求四種信息中的一種,打開相應(yīng)的信息錄入界面。*/void CDIALOG_PERSONNEL:OnButtonAdd() /
46、TODO: Add your control notification handler code hereint choice=CDialog:GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO4);if(choice=IDC_RADIO1)m_database.Close();CPersonnelInfo m_personnelinfo;m_personnelinfo.m_database.Open(_T("train"),FALSE,FALSE,"ODBC;DSN=train;UID=sa;PWD=123");m_p
47、ersonnelinfo.DoModal();RefreshData();else if(choice=IDC_RADIO2)m_database.Close();CPersonnelPlan m_personnelplan;m_personnelplan.person_id=person_id;m_personnelplan.m_database.Open(_T("train"),FALSE,FALSE,"ODBC;DSN=train;UID=sa;PWD=123");m_personnelplan.DoModal();RefreshData();el
48、se if(choice=IDC_RADIO3)m_database.Close();CPersonnelNeed m_personnelneed;m_personnelneed.person_id=person_id;m_personnelneed.m_database.Open(_T("train"),FALSE,FALSE,"ODBC;DSN=train;UID=sa;PWD=123");m_personnelneed.DoModal();RefreshData();else if(choice=IDC_RADIO4)m_database.Clos
49、e();CScoreInfo m_scoreinfo;m_scoreinfo.person_id=person_id;m_scoreinfo.m_database.Open(_T("train"),FALSE,FALSE,"ODBC;DSN=train;UID=sa;PWD=123");m_scoreinfo.DoModal();RefreshData();elseMessageBox("請選擇添加哪種信息!");/*實現(xiàn)單選按鈕之間的切換功能*/void CDIALOG_PERSONNEL:OnRadio1() / TODO: Ad
50、d your control notification handler code hereCDialog:CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO1);void CDIALOG_PERSONNEL:OnRadio2() / TODO: Add your control notification handler code hereCDialog:CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO2);void CDIALOG_PERSONNEL:OnRadio3() / TODO: Add yo
51、ur control notification handler code hereCDialog:CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO3);void CDIALOG_PERSONNEL:OnRadio4() / TODO: Add your control notification handler code hereCDialog:CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO4);void CDIALOG_PERSONNEL:OnClickList1(NMHDR* pNMHDR, L
52、RESULT* pResult) / TODO: Add your control notification handler code hereint i=m_basic.GetSelectionMark();CString strSQL;if(i=-1)MessageBox("請選擇相應(yīng)記錄!");elseperson_id=atoi(m_basic.GetItemText(i,0);m_basic.SetHotItem(i);RefreshData();/*pResult = 0;/*讀取數(shù)據(jù)庫中員工基本信息表、員工成績表、員工培訓(xùn)計劃表及員工需求表中的記錄,分別顯示在
53、相應(yīng)列表框中*/void CDIALOG_PERSONNEL:RefreshData()if(!m_database.IsOpen()m_database.Open(_T("train"),FALSE,FALSE,"ODBC;DSN=train;UID=sa;PWD=123");m_basic.DeleteAllItems();CPersonSet m_basicset(&m_database);CString strSQL;m_basicset.Open(AFX_DB_USE_DEFAULT_TYPE,p_query);CDBVariant v
54、arValue;if(m_basicset.GetRecordCount()!=0) m_basicset.MoveFirst();char buf20;int i=0;while(!m_basicset.IsEOF()int temp=0;m_basicset.GetFieldValue(temp,varValue);sprintf(buf,"%d",varValue.m_lVal); m_basic.InsertItem(i,buf);m_basicset.GetFieldValue(1,varValue);m_basic.SetItemText(i,1,varValue.m_pstring->GetBuffer(1);m_basicset.GetFieldValue(2,varValue);sprintf(buf,"%d",varValue.m_chVal); m_basic.SetItemText(i,2,buf);m_basicset.GetFieldValue
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 系泊絞車行業(yè)深度研究報告
- 氣相沉積設(shè)備項目可行性研究報告
- 沖壓廠勞務(wù)合同范本
- 勞務(wù)分包薪資合同范本
- 個人債務(wù)轉(zhuǎn)移合同范本
- 二手無產(chǎn)權(quán)房購買合同范本
- 供應(yīng)飯店用品合同范例
- 2024年安全準入考試復(fù)習(xí)測試卷附答案
- 專用合同范本
- 剪輯兼職合同范例
- 高教版2023年中職教科書《語文》(基礎(chǔ)模塊)下冊教案全冊
- 人教版英語七年級上冊閱讀理解專項訓(xùn)練16篇(含答案)
- 部編八年級下冊道德與法治第七課-尊重自由平等教案
- 天然氣加氣站安全事故的案例培訓(xùn)課件
- 古樹名木保護建設(shè)項目可行性研究報告
- DB50-T 867.36-2022 安全生產(chǎn)技術(shù)規(guī)范+第36+部分:倉儲企業(yè)
- 幼小銜接學(xué)拼音
- 有限空間辨識參考目錄圖片對照版
- 成本會計第一章總論
- 橋式起重機試驗項目及其內(nèi)容方法和要求
- 肺斷層解剖及CT圖像(77頁)
評論
0/150
提交評論