2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  數(shù)據(jù)庫(kù)課程設(shè)計(jì)說(shuō)明</b></p><p>  題目: 職工考勤管理信息系統(tǒng) </p><p>  專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  班 級(jí) </p><p>  學(xué) 號(hào) </p&

2、gt;<p>  姓 名 </p><p>  2011年10月 21 日</p><p><b>  第一章 引言</b></p><p>  1.1設(shè)計(jì)開(kāi)發(fā)的意義</p><p>  傳統(tǒng)意義上的職工考勤管理都是采用原始的手工操作來(lái)完成的。人事部的管理人員或辦公室人員

3、要進(jìn)行經(jīng)常的繁瑣的記錄、修改、查詢、統(tǒng)計(jì)等工作,不僅時(shí)間長(zhǎng)、勞動(dòng)強(qiáng)度大、工作效率低下,并且在這種管理模式下對(duì)職工的考勤信息不全且易造成混亂。</p><p>  隨著社會(huì)的進(jìn)步,計(jì)算機(jī)科技的廣泛應(yīng)用,通過(guò)現(xiàn)代化的科學(xué)的方式對(duì)職工考勤信息進(jìn)行管理已成為可能。基于此,我希望能通過(guò)開(kāi)發(fā)這一管理系統(tǒng),由計(jì)算機(jī)代替人工操作一系列職工基本信息的輸入、修改、查詢、統(tǒng)計(jì)等操作,既減輕了管理人員的工作強(qiáng)度,提高了工作效率,降低解企

4、業(yè)的經(jīng)營(yíng)成本;同時(shí),也對(duì)企業(yè)內(nèi)部管理的科學(xué)化、規(guī)范化作出一點(diǎn)嘗試。</p><p><b>  1.2任務(wù)及目標(biāo)</b></p><p>  項(xiàng)目的提出者:天津理工大學(xué)計(jì)算機(jī)與通信工程學(xué)院課題開(kāi)發(fā)組。</p><p>  開(kāi)發(fā)單位:08中加3-4班項(xiàng)目小組。</p><p>  充分了解用戶的需求,了解工作的流程,以及可

5、能出現(xiàn)的問(wèn)題。職工考勤信息管理系統(tǒng)中首先必須設(shè)置好職工基本信息,職工基本信息在本系統(tǒng)占據(jù)著很重要的地位。在對(duì)職工的出差、出勤、加班、請(qǐng)假這些信息管理的時(shí)候都需通過(guò)職工基本信息進(jìn)行操作。本系統(tǒng)結(jié)合實(shí)際的職工考勤管理制度,經(jīng)過(guò)實(shí)際的需求分析,采用功能強(qiáng)大的Visual Basic6.0作為開(kāi)發(fā)工具而開(kāi)發(fā)出來(lái)的職工考勤信息管理系統(tǒng)。職工考勤管理信息系統(tǒng)的具體功能包括:職工基本信息實(shí)體,職工出勤信息實(shí)體,管理員管理系統(tǒng)信息實(shí)體。</p&g

6、t;<p>  主要功能:管理員功能:簽到,增加職工及職工信息,增加登錄用戶,設(shè)置用戶權(quán)限,查看職工出勤信息,修改職工出勤信息。 簽到用戶功能:簽到。</p><p>  靈活性:本軟件對(duì)變更的適應(yīng)性較強(qiáng),采用人工手動(dòng)輸入與系統(tǒng)自動(dòng)輸入相結(jié)合的形式,數(shù)據(jù)庫(kù)文件可以單獨(dú)轉(zhuǎn)移到其他地方使用,可以保證數(shù)據(jù)的安全和高兼容性,當(dāng)系統(tǒng)改變時(shí)可以自動(dòng)調(diào)整精度與安全性</p><p><

7、;b>  1.3開(kāi)發(fā)環(huán)境</b></p><p>  操作系統(tǒng):windows 7</p><p>  編譯環(huán)境:使用Visual Studio 2010來(lái)進(jìn)行系統(tǒng)匯編</p><p>  使用Access 2007進(jìn)行數(shù)據(jù)庫(kù)管理</p><p>  第二章 系統(tǒng)分析與設(shè)計(jì)</p><p><b

8、>  2.1系統(tǒng)需求分析</b></p><p>  2.1.1 處理需求</p><p>  根據(jù)職工簽到特性,設(shè)計(jì)了以下功能:</p><p>  管理員功能:簽到,增加職工及職工信息,增加登錄用戶,設(shè)置用戶權(quán)限,查看職工出勤信息,修改職工出勤信息。</p><p>  用戶功能:職工簽到。</p><

9、;p>  一些基本的功能通常是必須具備的,如用戶的管理與維護(hù),基本數(shù)據(jù)的維護(hù),靈活的信息查詢等。</p><p><b>  2.1.2信息需求</b></p><p><b>  本系統(tǒng)需要的信息:</b></p><p>  簽到用戶信息:職工姓名,職工編號(hào)等。</p><p>  2.2

10、數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p><b>  職工信息表</b></p><p><b>  簽到表</b></p><p><b>  管理員:</b></p><p>  2.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p><b>  2.4數(shù)據(jù)庫(kù)

11、創(chuàng)建</b></p><p><b>  簽到信息表</b></p><p><b>  簽到時(shí)間設(shè)置表</b></p><p><b>  簽到職工信息表</b></p><p><b>  管理員信息表</b></p><

12、;p><b>  2.5系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  2.5.1 功能圖</b></p><p><b>  2.5.2 模塊圖</b></p><p><b>  職工信息E-R圖</b></p><p><b>  

13、職工簽到表E-R圖</b></p><p><b>  管理員E-R圖</b></p><p>  第三章 系統(tǒng)開(kāi)發(fā)及實(shí)現(xiàn)</p><p>  3.1論述設(shè)計(jì)開(kāi)發(fā)采用的技術(shù)及設(shè)計(jì)效果</p><p>  3.1.1登陸界面 實(shí)現(xiàn)用戶輸入用戶名密碼,當(dāng)輸入完成后,連接數(shù)據(jù)庫(kù)查看數(shù)據(jù)庫(kù)中管理員表中的數(shù)據(jù),當(dāng)正確的

14、時(shí)候返回登錄成功。</p><p><b>  實(shí)現(xiàn)代碼</b></p><p>  CSingleDocTemplate* pDocTemplate;</p><p>  pDocTemplate = new CSingleDocTemplate(</p><p>  IDR_MAINFRAME,</p>

15、<p>  RUNTIME_CLASS(CCheckInDoc),</p><p>  RUNTIME_CLASS(CMainFrame), </p><p>  RUNTIME_CLASS(CCheckInView));</p><p>  AddDocTemplate(pDocTemplate);</p><p> 

16、 CdlgLogOn dlg;</p><p>  int ret = dlg.DoModal();</p><p>  if (ret == IDSUPER){</p><p>  isSuper = TRUE;</p><p><b>  }</b></p><p>  if (ret ==

17、 IDCHECK){</p><p>  isSuper = FALSE;</p><p><b>  }</b></p><p>  3.1.2簽到用戶 實(shí)當(dāng)以簽到用戶登錄,則不能進(jìn)行查詢/修改、系統(tǒng)維護(hù)。</p><p><b>  職工簽到界面</b></p><p>

18、  輸入正確職工編碼,提示簽到成功</p><p>  輸入錯(cuò)誤時(shí)提示不正確,重新輸入</p><p>  3.1.3管理員用戶 增加職工,管理出勤,增加登錄用戶等功能</p><p>  增加、刪除、修改職工信息</p><p>  當(dāng)職工編號(hào)存在,提示已經(jīng)存在</p><p><b>  實(shí)現(xiàn)代碼<

19、/b></p><p>  CUserRecordset rsUser;</p><p>  if (rsUser.IsRepeatUser(this->m_strUserName)){</p><p>  MessageBox("此用戶已經(jīng)存在!","提示",MB_ICONINFORMATION|MB_OK);&

20、lt;/p><p><b>  }</b></p><p><b>  else{</b></p><p>  CString strAuthority;</p><p>  this->m_AuthorityCombo.GetWindowText(strAuthority);</p>

21、;<p>  if (rsUser.AddUser(this->m_strUserName,this->m_strPass1,strAuthority)){</p><p>  MessageBox("增加成功!","提示",MB_ICONINFORMATION|MB_OK);</p><p>  this->Upda

22、teUserListBox();</p><p><b>  }</b></p><p><b>  else</b></p><p>  MessageBox("增加失敗!","提示",MB_ICONINFORMATION|MB_OK);</p><p>&

23、lt;b>  }</b></p><p>  pEditName->SetWindowText("");</p><p>  pEditPass->SetWindowText("");</p><p>  pEditName->SetFocus();</p><p>

24、<b>  }</b></p><p>  當(dāng)刪除員工時(shí),同時(shí)刪除簽到記錄</p><p><b>  實(shí)現(xiàn)代碼</b></p><p>  void CCheckRecordset::DeleteEmpCheck(CString EmployId){</p><p>  if (!IsOpen()

25、)</p><p>  Open(CRecordset::dynaset,_T("select * from tbCheckIn where EmployeeID ='"+EmployId+"'"));</p><p>  if(!IsBOF()){</p><p>  MoveFirst();</p&g

26、t;<p>  while(!IsEOF()){</p><p>  this->Delete();</p><p>  MoveNext();</p><p><b>  }</b></p><p><b>  }</b></p><p><b&g

27、t;  }</b></p><p>  增加登錄用戶(設(shè)置用戶權(quán)限)</p><p><b>  實(shí)現(xiàn)代碼</b></p><p>  void CdlgUser::OnButtonAdd() {</p><p>  CEdit *pEditName = (CEdit*)this->GetDlgItem

28、(IDC_EDIT_USERNAME);</p><p>  CEdit *pEditPass = (CEdit*)this->GetDlgItem(IDC_EDIT_PASSWORD1);</p><p>  UpdateData(true);</p><p>  if (this->m_strUserName == ""){<

29、;/p><p>  MessageBox("必須輸入用戶名!","提示",MB_ICONINFORMATION|MB_OK);</p><p>  pEditName->SetFocus();</p><p><b>  return;</b></p><p><b>

30、  }</b></p><p>  if (this->m_AuthorityCombo.GetCurSel() == CB_ERR ){</p><p>  MessageBox("必須選擇用戶權(quán)限!","提示",</p><p>  MB_ICONINFORMATION|MB_OK);</p>

31、<p>  pEditName->SetFocus();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  CUserRecordset rsUser;</p><p>  if (rsUser.IsRepeatUse

32、r(this->m_strUserName)){</p><p>  MessageBox("此用戶已經(jīng)存在!","提示",MB_ICONINFORMATION|MB_OK);</p><p><b>  }</b></p><p><b>  else{</b></p

33、><p>  CString strAuthority;</p><p>  this->m_AuthorityCombo.GetWindowText(strAuthority);</p><p>  if (rsUser.AddUser(this->m_strUserName,this->m_strPass1,strAuthority)){</

34、p><p>  MessageBox("增加成功!","提示",MB_ICONINFORMATION|MB_OK);</p><p>  this->UpdateUserListBox();</p><p><b>  }</b></p><p><b>  else&

35、lt;/b></p><p>  MessageBox("增加失?。?quot;,"提示",MB_ICONINFORMATION|MB_OK);</p><p><b>  }</b></p><p>  pEditName->SetWindowText("");</p>

36、<p>  pEditPass->SetWindowText("");</p><p>  pEditName->SetFocus();</p><p><b>  }</b></p><p>  void CdlgUser::OnSelchangeListUser() {</p>&

37、lt;p>  int iSel = this->m_ListBox.GetCurSel();</p><p>  if (iSel!=0){</p><p>  CButton *pDelBtn = (CButton*)this->GetDlgItem(IDC_BUTTON_DELETE);</p><p>  pDelBtn->Enabl

38、eWindow(true);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void CdlgUser::OnButtonDelete() {</p><p>  int iSel = this->m_ListBox.GetCurSe

39、l();</p><p>  if (iSel == LB_ERR){</p><p>  MessageBox("請(qǐng)選擇要?jiǎng)h除的用戶!","提示",</p><p>  MB_ICONINFORMATION|MB_OK);</p><p><b>  }</b></p>

40、;<p><b>  else{</b></p><p>  if (MessageBox("真的要?jiǎng)h除這個(gè)用戶嗎?(Y/N)","提示",MB_YESNO)==IDNO)</p><p><b>  return;</b></p><p><b>  el

41、se{</b></p><p>  CUserRecordset rsUser;</p><p>  CString strTmp;</p><p>  this->m_ListBox.GetText(iSel,strTmp);</p><p>  CString SelUserName;</p>

42、<p>  CString tmp;</p><p>  for(int i=0;;i++){</p><p>  tmp = strTmp.Mid(i,1);</p><p>  if (tmp == " ")</p><p><b>  break;</b></p>

43、<p><b>  }</b></p><p>  SelUserName = strTmp.Mid(0,i);</p><p>  BOOL bFind = FALSE;</p><p>  if (!rsUser.IsOpen())</p><p>  rsUser.Open();</p>

44、<p>  if(!rsUser.IsBOF())</p><p>  rsUser.MoveFirst();</p><p>  while(!rsUser.IsEOF()){</p><p>  if (rsUser.m_UserName== SelUserName ){</p><p>  bFind = TRUE;</

45、p><p><b>  break;</b></p><p><b>  }</b></p><p>  rsUser.MoveNext();</p><p><b>  }</b></p><p>  if (bFind)</p>&

46、lt;p><b>  {</b></p><p>  rsUser.Delete();</p><p>  rsUser.Close();</p><p>  this->m_ListBox.DeleteString(iSel);</p><p><b>  }</b>

47、</p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox("找不到符合條件的用戶!","提示",</p><p>  MB_ICONINFORMATION|MB_OK);</p>

48、;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  設(shè)置上班時(shí)間及浮動(dòng)時(shí)間</p><p>

49、<b>  實(shí)現(xiàn)代碼</b></p><p>  void CdlgConfigSet::OnConfirm() {</p><p>  CEdit *pHourEdit = (CEdit*)this->GetDlgItem(IDC_EDIT_HOUR);</p><p>  CEdit *pMinuteEdit = (CEdit*)th

50、is->GetDlgItem(IDC_EDIT_MINUTE);</p><p>  CEdit *pDeltaEdit = (CEdit*)this->GetDlgItem(IDC_EDIT_DELTA);</p><p>  this->UpdateData(true);</p><p>  if ((m_iHour>24) || (m_

51、iHour<0) || (m_iMinute >60) ||(m_iMinute< 0)){</p><p>  MessageBox ("設(shè)置不合法!","提示",MB_ICONINFORMATION|MB_OK);</p><p>  pHourEdit->SetWindowText("");</

52、p><p>  pMinuteEdit->SetWindowText("");</p><p>  pDeltaEdit->SetWindowText("");</p><p>  pHourEdit->SetFocus();</p><p><b>  }</b>&

53、lt;/p><p>  CConfigRecordset rsConfig;</p><p>  if (!(rsConfig.AddConfigToTable(this->m_iHour,this->m_iMinute,this->m_iDelta))){</p><p>  MessageBox ("設(shè)置失敗!","提

54、示",MB_ICONINFORMATION|MB_OK);</p><p>  pHourEdit->SetWindowText("");</p><p>  pMinuteEdit->SetWindowText("");</p><p>  pDeltaEdit->SetWindowText(&q

55、uot;");</p><p>  pHourEdit->SetFocus();</p><p><b>  }</b></p><p><b>  else{</b></p><p>  CDialog::OnOK();</p><p><b> 

56、 }</b></p><p><b>  }</b></p><p><b>  查詢職工出勤</b></p><p><b>  實(shí)現(xiàn)代碼</b></p><p>  void CdlgEditCheck::OnSee() </p><p>

57、;<b>  {</b></p><p>  this->UpdateData(true);</p><p>  CEdit *pEditYear,*pEditMonth,*pEditDay;</p><p>  pEditYear = (CEdit*)this->GetDlgItem(IDC_EDIT_YEAR);</p&g

58、t;<p>  pEditMonth = (CEdit*)this->GetDlgItem(IDC_EDIT_MONTH);</p><p>  pEditDay = (CEdit*)this->GetDlgItem(IDC_EDIT_DAY);</p><p>  CString strY,strM,strD;</p><p>  pEd

59、itYear->GetWindowText(strY);</p><p>  pEditMonth->GetWindowText(strM);</p><p>  pEditDay->GetWindowText(strD);</p><p>  if ((strY == "") && (strM == "

60、;")&&(strD == "")){</p><p>  MessageBox("日期必須輸入!","提示",MB_ICONINFORMATION|MB_OK);</p><p><b>  return;</b></p><p><b>  }

61、</b></p><p>  char year[10],month[10],day[10];</p><p>  sprintf(year,"%d",this->m_iYear);</p><p>  sprintf(month,"%d",this->m_iMonth);</p><

62、;p>  sprintf(day,"%d",this->m_iDay);</p><p>  if (this->m_strEmpId==""){</p><p>  MessageBox("必須輸入員工號(hào)!","提示",MB_ICONINFORMATION|MB_OK);</p>

63、<p><b>  return;</b></p><p><b>  }</b></p><p>  CCheckRecordset rsCheck;</p><p>  CEmployeeRecordset rsEmployee;</p><p><b>  try{&l

64、t;/b></p><p>  if(rsCheck.IsOpen()){</p><p>  rsCheck.Close();</p><p><b>  }</b></p><p>  rsCheck.Open(CRecordset::dynaset,_T("select * from tbChe

65、ckIn where EmployeeID = '"+this->m_strEmpId+"'"));</p><p>  catch(CDBException &e){</p><p>  MessageBox(e.m_strError,"提示",MB_ICONINFORMATION|MB_OK);</

66、p><p><b>  }</b></p><p><b>  }</b></p><p>  BOOL CdlgEditCheck::OnInitDialog() {</p><p>  CDialog::OnInitDialog();</p><p>  this->m

67、_CheckList.AddString("員工號(hào) 員工姓名 簽到時(shí)間 結(jié)果");</p><p>  return TRUE; </p><p><b>  }</b></p><p><b>  修改職工出勤</b></p><p><

68、;b>  第四章 總結(jié)</b></p><p>  這次課程設(shè)計(jì)學(xué)校安排了幾周時(shí)間讓我們完成,我們選擇了職工考勤信息系統(tǒng)的課題,并從圖書(shū)管借了數(shù)據(jù)庫(kù)程序設(shè)計(jì)和C++設(shè)計(jì)的資料書(shū),對(duì)課程設(shè)計(jì)中會(huì)遇到的問(wèn)題提前做了些準(zhǔn)備,并到網(wǎng)上也找相關(guān)的系統(tǒng)的代碼看了下,對(duì)這個(gè)系統(tǒng)有了一定的全局觀,完成了初步的需求分析。稍作細(xì)化后,便開(kāi)始設(shè)計(jì)數(shù)據(jù)庫(kù)。而后做了界面設(shè)計(jì),完成了程序大部分的主要界面。</p>

69、;<p>  而在編碼方面,我從系統(tǒng)的功能、規(guī)模和實(shí)用方面考慮,采用C++技術(shù)。在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),細(xì)致的考慮到了用戶的全部需求,并用了大量的時(shí)間進(jìn)行了信息的收集建立了比較完善的信息表,編碼階段,在設(shè)計(jì)接近完成的時(shí)候,我對(duì)部分代碼做了優(yōu)化,將一些重復(fù)工作加以封裝調(diào)節(jié);將批處理操作改為以事務(wù)方式處理。</p><p>  這次課程設(shè)計(jì),我更加深入的了解到軟件工程的復(fù)雜性,以及前期規(guī)劃分析的重要性。而且如果

70、系統(tǒng)再稍微大型一些,以一人之力也難以完成。以后的學(xué)習(xí)中應(yīng)該學(xué)習(xí)一些先進(jìn)的思想,并多加實(shí)踐,從寫程序和軟件架構(gòu)兩個(gè)方面都增強(qiáng)自己的能力。</p><p>  在編程中遇到了很多困難,通過(guò)不懈的努力,在網(wǎng)上查找資料,借閱資料,終于完成了!我發(fā)自內(nèi)心的高興。我趕到編程設(shè)計(jì)真的很辛苦,一個(gè)程序,哪怕只有一個(gè)小小的拼寫錯(cuò)誤,都不能成功運(yùn)行,當(dāng)寫完程序測(cè)試時(shí),心里都是在打鼓,怕出現(xiàn)錯(cuò)誤,一次次的測(cè)試,一次次的更改,終于成功了

71、!我感到十分的自豪!</p><p>  通過(guò)這次的數(shù)據(jù)庫(kù)課程,我學(xué)會(huì)了在制作程序時(shí)應(yīng)仔細(xì)謹(jǐn)慎,因?yàn)榧?xì)小的錯(cuò)誤都會(huì)導(dǎo)致程序的失敗。另外老師還教會(huì)了我們,在制作一個(gè)系統(tǒng)時(shí),要有自己的思想,使自己制作的程序能錦上添花,做出屬于自己的東西。我也會(huì)在以后的生活學(xué)習(xí)中盡量完善自己的工作,使自己做的更好!</p><p><b>  第五章 參考文獻(xiàn)</b></p>

72、<p>  《C++ Preimer》 中文版 第四版 人民郵電出版社 </p><p>  《Access數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例解析》 機(jī)械工業(yè)出版社 李俊民、高春燕等</p><p>  《Visual C++工程應(yīng)用與項(xiàng)目實(shí)踐》 機(jī)械工業(yè)出版社 張雨、阮偉良等</p><p>  《Visual C++ 從入門到精通》 第二版 清華大學(xué)出版社

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論