《面向?qū)ο蟪绦蛟O(shè)計》人員信息管理系統(tǒng)_第1頁
《面向?qū)ο蟪绦蛟O(shè)計》人員信息管理系統(tǒng)_第2頁
《面向?qū)ο蟪绦蛟O(shè)計》人員信息管理系統(tǒng)_第3頁
《面向?qū)ο蟪绦蛟O(shè)計》人員信息管理系統(tǒng)_第4頁
《面向?qū)ο蟪绦蛟O(shè)計》人員信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、成績南京工程學(xué)院課程設(shè)計說明書(論文)題 目 人員管理信息系統(tǒng) 課 程 名 稱 面向?qū)ο蟪绦蛟O(shè)計B 院(系、部、中心) 通信工程學(xué)院 專 業(yè) 多媒體通信 班 級 媒體通信111 學(xué) 生 姓 名 崔 學(xué) 號 208110502 設(shè) 計 地 點 信息樓C322 指 導(dǎo) 教 師 郭 麗 紅 設(shè)計起止時間: 2013年 5月 27日至 2013年 5月31日目 錄1系統(tǒng)設(shè)計的目的和意義82系統(tǒng)總框架圖83軟件功能描述84軟件代碼的設(shè)計841數(shù)據(jù)結(jié)構(gòu)描述與定義942模塊設(shè)計95軟件使用說明96測試結(jié)果與分析97比較有特色的函數(shù)98存在的不足與對策99課程設(shè)計總結(jié)9附錄:源程序清單9 (正文,宋體,小四,

2、1.5倍行距,每個段落開頭空兩格)(字數(shù)要求:5000字左右,頁數(shù)10頁左右。)課程設(shè)計題目1 系統(tǒng)設(shè)計的目的和意義 隨著現(xiàn)代高科技的迅速發(fā)展,計算機技術(shù)也有了突飛猛進的快速發(fā)展,因此為各個行業(yè)的普及應(yīng)用奠定了基礎(chǔ)。由于學(xué)校教師學(xué)生的數(shù)目眾多,傳統(tǒng)的手工作業(yè)已經(jīng)不再適合學(xué)校統(tǒng)計人員信息的需要。傳統(tǒng)的手工作業(yè)要處理巨額的數(shù)據(jù),由于人員不停地改動,例如教工的調(diào)職、離職、新教師的加入,學(xué)生的入學(xué)、畢業(yè)等,人事部門要不停的更新數(shù)據(jù),進行抄寫。由于數(shù)據(jù)龐大,難免會出現(xiàn)錯誤,這對于員工管理非常不利。而利用計算機技術(shù)可以方便的、準確的、動態(tài)的對企業(yè)內(nèi)部員工進行管理,減輕了人事部門的任務(wù),節(jié)約人力資源,降低了

3、企業(yè)的成本?;谟嬎銠C技術(shù)的優(yōu)越性,幾乎所有的企業(yè)都使用計算機技術(shù)來實現(xiàn)對員工基本信息的管理。本系統(tǒng)將利用計算機技術(shù)模擬實現(xiàn)對企業(yè)員工的基本信息管理,主要實現(xiàn)對人員基本信息的管理,包括教師的姓名、年齡、籍貫、職稱、學(xué)歷、工作日期,學(xué)生的姓名、學(xué)號、年齡、籍貫、入學(xué)日期。如果有新人員加入該學(xué)校,可在添加新人員模塊進行添加新人員操作。如果有人員辭職或退休,學(xué)生畢業(yè)或退學(xué),也可以進行刪除操作,同時可以通過列表查看所有人員的資料,也可以單獨查詢某個人員的信息,若是發(fā)現(xiàn)某個人員的信息有誤,也可以對進行修改操作。2系統(tǒng)總框架圖歡迎窗口登錄窗口選擇窗口教師信息全體學(xué)生信息學(xué)生信息全體教師信息全體學(xué)生信息窗口

4、全體教師信息窗 口增 加查 詢刪 除修 改刪 除查 詢增 加修 改3軟件功能描述(或設(shè)計目標或需求分析)對問題的描述應(yīng)避開具體的算法和涉及的數(shù)據(jù)結(jié)構(gòu),描述系統(tǒng)實現(xiàn)功能及達到的目標。首先增加一個對話窗口,插入自己設(shè)計好的圖片,做一個人員信息管理系統(tǒng)的界面,然后級聯(lián)一個窗口,做登錄界面。實現(xiàn)用戶名/密碼的登錄。登錄界面:通過輸入正確的用戶名和密碼,進入到人員管理系統(tǒng)的選擇界面窗口。通過選擇四個Button按鈕,分別級聯(lián)到教師信息窗口,學(xué)生信息窗口,全體教師信息窗口,全體學(xué)生信息窗口。查詢:通過Button按鈕,編寫查詢代碼。可以通過輸入關(guān)鍵字對人員信息進行查詢。添加:通過Button按鈕,編寫添加

5、代碼??梢暂斎胂鄳?yīng)的人員信息加入到數(shù)據(jù)庫中。刪除:通過Button按鈕,編寫刪除代碼。可以刪除掉需要刪除的人員信息。修改:通過Button按鈕,編寫修改代碼。可以對查詢到的人員信息進行信息修改。退出:控件自帶的Button按鈕,可以退出界面。全體教師信息,和全體學(xué)生信息:窗口是通過Listctrl(列表控件)實現(xiàn)的,在新建的類中添加一個oninitdialog()函數(shù),然后在函數(shù)中寫初始化代碼,以及數(shù)據(jù)庫中信息映射到列表中的代碼,實現(xiàn)全體人員信息的查詢,便于管理員管理。4軟件代碼的設(shè)計說明算法(程序)中用到的所有各種數(shù)據(jù)結(jié)構(gòu)的描述與定義,核心模塊設(shè)計,每個模塊的算法描述及流程圖(用WORD,或

6、畫圖板,或Visio畫圖軟件)建議用Visio。流程圖要規(guī)范(有開始,結(jié)束,一個入口,一個出口)。41數(shù)據(jù)結(jié)構(gòu)描述與定義所用的到的主要數(shù)據(jù)結(jié)構(gòu)的描述,標準C+語言定義數(shù)據(jù)結(jié)構(gòu)void CCQWDlg:OnOK() /在類CCQWDlg中定義用戶登錄函數(shù)void studentinfo:OnSadd() /在類studentinfo中定義增加函數(shù)void studentinfo:OnSearch()/在類studentinfo中定義查詢函數(shù)void studentinfo:OnSchange()/在類studentinfo中定義修改函數(shù)void studentinfo:OnSdelete()/在

7、類studentinfo中定義刪除函數(shù)void teacherinfo:OnSearch2()/在類teacherinfo中定義查詢函數(shù)void teacherinfo:OnAdd2() /在類teacherinfo中定義增加函數(shù)void teacherinfo:OnDelete2()/在類teacherinfo中定義刪除函數(shù)void teacherinfo:OnChange2()/在類teacherinfo中定義修改函數(shù)BOOL allstu:OnInitDialog() /在類allstu中定義InitDialog函數(shù)BOOL alltea:OnInitDialog() /在類alltea

8、中定義InitDialog函數(shù)42模塊設(shè)計系統(tǒng)共分幾個模塊,每個模塊的算法描述及流程圖(核心模塊)。1、登錄界面流程圖輸入用戶名和密碼用戶名與密碼符合登錄成功密碼錯誤結(jié) 束開 始2、查詢模塊流程圖開 始輸入關(guān)鍵字查到關(guān)鍵字打開數(shù)據(jù)源顯示記錄No data!結(jié) 束3、增加模塊流程圖開 始輸入記錄打開數(shù)據(jù)源將記錄錄入數(shù)據(jù)庫Success結(jié) 束4、修改模塊流程圖開 始打開數(shù)據(jù)源輸入關(guān)鍵字查到關(guān)鍵字修改記錄No dataSuccess結(jié) 束5、刪除模塊流程圖開 始打開數(shù)據(jù)源輸入關(guān)鍵字查到關(guān)鍵字No data!刪除記錄結(jié) 束6、列表控件(listctrl控件)流程圖開 始增加列表控件增加oninitdi

9、alog()函數(shù) 初始化函數(shù)打開數(shù)據(jù)源指針指向第一條記錄存在記錄指針指向下一條記錄將記錄顯示到列表控件結(jié) 束5軟件使用說明使用本軟件之前必須先到數(shù)據(jù)源里映射下數(shù)據(jù)庫,使它們連接起來。登錄時 先進入登錄界面的程序查詢一下登陸的用戶名和密碼。6測試結(jié)果與分析按系統(tǒng)功能描述(設(shè)計目標)測試軟件運行是否正確,測試數(shù)據(jù)的選擇要代表性,列出所有測試用的輸入數(shù)據(jù)和相應(yīng)的輸出數(shù)據(jù)以及測試結(jié)果。原始數(shù)據(jù)庫:程序運行結(jié)果: 登錄界面:按登錄鍵進入選擇界面:以教師信息查詢?yōu)槔?,輸入關(guān)鍵字趙一,點擊查詢:點擊確定鍵,結(jié)果如下圖:在選擇界面點擊全體教師信息或全體學(xué)生信息如下:7比較有特色的函數(shù) void CCQWDlg

10、:OnOK() / TODO: Add extra validation herethis-UpdateData(true);if(this-m_name=cuiqianwen & this-m_passward=4321)select dlg;dlg.DoModal();elseMessageBox(登錄有誤);CCQWDlg dlg;dlg.DoModal();BOOL allstu:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herem_list.InsertColumn(0,姓名,LVCF

11、MT_LEFT,100);m_list.InsertColumn(1,年齡,LVCFMT_LEFT,100);m_list.InsertColumn(2,學(xué)號,LVCFMT_LEFT,100);m_list.InsertColumn(3,籍貫,LVCFMT_LEFT,100);m_list.InsertColumn(4,入學(xué)日期,LVCFMT_LEFT,100); / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE student s(&d

12、1);CString str=select * from student;s.Open(student:dynaset,_T(str); while(!s.IsEOF() int nIndex = m_list.GetItemCount(); nIndex = m_list.InsertItem(nIndex, (char*)(LPCTSTR)str); m_list.SetItemText(nIndex,0,s.m_name);m_list.SetItemText(nIndex,1,s.m_age); m_list.SetItemText(nIndex,2,s.m_number); m_li

13、st.SetItemText(nIndex,3,s.m_birth_place);m_list.SetItemText(nIndex,4,s.m_entrance_time); s.MoveNext(); s.Close();return TRUE;8 存在的不足與對策 系統(tǒng)相對來講還是較簡潔的,若是要進行修改操作的話,需先進行查找,然后在每一個記錄上修改,這樣實行起來比較麻煩,可以設(shè)置一個彈出窗口,在彈出的窗口上修改記錄。另外,查找時僅僅可以使用主鍵進行查找,例如學(xué)生僅僅可以通過學(xué)號進行查找某個學(xué)生信息,教師僅僅可以通過姓名查找某個教師信息,我們可以通過多寫幾個語句,可以通過其他的方式查找。

14、9課程設(shè)計總結(jié)總結(jié)可以包括 : 課程設(shè)計 過程的收獲、遇到問題、遇到問題解決問題過程的思考、程序調(diào)試能力的思考、對C+這門課程的思考、在課程設(shè)計過程中對C+課程的認識等內(nèi)容本次課程設(shè)計,使我加深了對C+面向?qū)ο蟪绦蛟O(shè)計的理解。通過本次課程設(shè)計,我學(xué)到了很多知識,C+面向?qū)ο笫峭ㄟ^類來實現(xiàn)的。由于我們對vcMFC編程不熟悉,只通過上課看老師演示一遍是不夠的,所以剛開始感覺無從下手,一片茫然,所以就先看了一些教程,再看了一些關(guān)于MFC的操作,然后自己嘗試做一些重要的模塊,比如窗口的級聯(lián),然后熟悉了MFC。在做課程設(shè)計的時候,我遇到LE 一些問題。有些問題,和同學(xué)一討論就可以解決,比如星期一的時候,

15、我們就嘗試做窗口的級聯(lián),怎么在主窗口之前插入一個對話框,做了好多遍都不成功,運行時都是直接跳出主窗口,然后上網(wǎng)查了一下資料,在MAINFARM.CPP中插入對話框類的對象,解決了問題。我們在網(wǎng)上也搜尋解決問題的方法,許多問題都可以解決,比如列表框,即Listctrl控件的使用,也得到了解決。在這次課程設(shè)計中,我學(xué)到了很多知識,不僅僅是關(guān)于VC+的知識,還學(xué)到了遇到困難不能光著急,要積極尋求解決問題的方法。要懂得和同學(xué)交流,然后去共同解決問題。也可以去網(wǎng)上搜尋解決該方案。畢竟一個人的能力有限,不可能一個人解決所有的問題。課程設(shè)計其實很能鍛煉學(xué)生解決問題的能力,可以提高我們對C+的整體認識。在這次

16、課程設(shè)計中我鍛煉了我的實際編程能力,以前我只是學(xué)習(xí)簡單的語法知識,學(xué)習(xí)對面向?qū)ο蟮睦斫?,其實只有在試驗中,才能體會到它的模塊性,它的封裝性。這次課程設(shè)計的經(jīng)歷為以后的學(xué)習(xí)和工作積累了很多經(jīng)驗,受益匪淺。 這次課程設(shè)計是我獨立完成的,剛開始總是出現(xiàn)錯誤,找不到解決的方法,然后就重新做,這讓我明白,編程需謹慎,程序中不允許出現(xiàn)任何小的錯誤,此外在幫助別人解決問題時,也拓展了我自己解決程序中錯誤的能力,怎么從提示錯誤的語句中發(fā)現(xiàn)錯誤的根源,并改正過來是很重要的。這次課程設(shè)計能夠做成功還是有成就感的,非常感謝老師給我們這次課程設(shè)計的機會。附錄:源程序清單編碼規(guī)范,符合軟件工程的要求(變量名,函數(shù)名見名

17、知義,注釋規(guī)范占總程序行數(shù)的2/5)。CQW.CPP#include stdafx.h /CQW為工程文件名#include CQW.h#include CQWDlg.h#include select.h /select為選擇對話框的類名#include enter.h /enter為歡迎窗口的類名#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifBOOL CCQWApp:InitInstance()AfxEnableControlContainer(); enter d

18、; /為了使在登錄窗口之前跳出歡迎界面d.DoModal();#ifdef _AFXDLLEnable3dControls();/ Call this when using MFC in a shared DLL#elseEnable3dControlsStatic();/ Call this when linking to MFC statically#endifCCQWDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse = IDOK)else if (nResponse = IDCANCEL)retur

19、n FALSE;CQWDlg.CPP#include stdafx.h#include CQW.h#include CQWDlg.h#include select.h#include student.h#include afxdb.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;CDatabase cc;#endifvoid CCQWDlg:OnOK() /用戶名、密碼登錄/ TODO: Add extra validation herethis-UpdateData(true)

20、;if(this-m_name=cuiqianwen & this-m_passward=4321)select dlg;dlg.DoModal();elseMessageBox(登錄有誤);CCQWDlg dlg;dlg.DoModal();以學(xué)生為例;#include stdafx.h#include CQW.h#include studentinfo.h#include student.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifint flag;CData

21、base db;void studentinfo:OnSadd() /增加學(xué)生/ TODO: Add your control notification handler code herestudent s(&db);CString str=select * from student;s.Open(student:dynaset,_T(str);UpdateData(true);s.AddNew();s.m_number=m_sno;s.m_age=m_sage;s.m_name=m_sname;s.m_birth_place=m_sbp;s.m_entrance_time=m_sin;s.U

22、pdate();s.Close();AfxMessageBox(success);void studentinfo:OnSearch() /查找學(xué)生信息/ TODO: Add your control notification handler code herestudent s(&db);UpdateData(true);CString str=select * from student;s.Open(student:dynaset,_T(str);while(!s.IsEOF() if(m_sno=s.m_number) m_sname=s.m_name; m_sage=s.m_age;m

23、_sbp=s.m_birth_place;m_sin=s.m_entrance_time; flag=1; break;else s.MoveNext(); if(flag=1) AfxMessageBox(success);else AfxMessageBox(no data);UpdateData(false);s.Close();void studentinfo:OnSchange() /修改學(xué)生信息/ TODO: Add your control notification handler code here student s(&db);CString str=select * fro

24、m student;s.Open(student:dynaset,_T(str);UpdateData(true);while(!s.IsEOF() if(m_sno=s.m_number) flag=1; break; else s.MoveNext();if(flag=1)s.Edit();s.m_number=m_sno; s.m_age=m_sage; s.m_name=m_sname;s.m_birth_place=m_sbp;s.m_entrance_time=m_sin; s.Update();AfxMessageBox(success);else AfxMessageBox(n

25、o data);s.Close();void studentinfo:OnSdelete() /刪除學(xué)生信息/ TODO: Add your control notification handler code herestudent s(&db);CString str=select * from student;s.Open(student:dynaset,_T(str);UpdateData(true); while(!s.IsEOF()if(m_sno=s.m_number)flag=1;break;else s.MoveNext();if(flag=1) s.Delete(); AfxMessageBox(success);elseAfxMessageBox(no data);s.Close();BOOL allstu:OnInitDialog() /用列表控件顯示全體學(xué)生信息 CDialog:OnInitDialog();/ TODO: Ad

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論