《軟件工程綜合實訓(xùn)》報告_第1頁
《軟件工程綜合實訓(xùn)》報告_第2頁
《軟件工程綜合實訓(xùn)》報告_第3頁
《軟件工程綜合實訓(xùn)》報告_第4頁
《軟件工程綜合實訓(xùn)》報告_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、長春工程學(xué)院計算機(jī)技術(shù)與工程學(xué)院課程實訓(xùn)報告實習(xí)報告實習(xí)名稱: 軟件工程綜合實訓(xùn) 設(shè)計題目: 考勤管理系統(tǒng) 學(xué)生姓名: 殷強(qiáng) 學(xué) 號: 1204431133 專業(yè)班級: 軟件1241 指導(dǎo)教師: 潘欣 完成日期: 2016年1月15日 計算機(jī)技術(shù)與工程學(xué)院2實訓(xùn)課名稱成績評定表題目考勤管理系統(tǒng)實習(xí)時間2015年 12月 14日 至 2016 年 1月 15日實習(xí)內(nèi)容簡介: 二哥幫我寫指導(dǎo)教師評語: 指導(dǎo)教師簽字:年 月 日成 績 評 定 平時(20%)(出勤、表現(xiàn)、團(tuán)隊意識)報告(20%)(格式規(guī)范,圖表準(zhǔn)確)設(shè)計成果(30%)(系統(tǒng)功能)答辯(30%)(回答問題準(zhǔn)確程度) 總成績(五級分制)

2、 長春工程學(xué)院計算機(jī)技術(shù)與工程學(xué)院課程實訓(xùn)報告目 錄前言1第1部分 需求分析及設(shè)計21.1 需求說明21.2 用例圖2第2部分 數(shù)據(jù)庫設(shè)計32.1 表結(jié)構(gòu)32.2 表關(guān)系3第3部分 系統(tǒng)設(shè)計43.1 系統(tǒng)運行環(huán)境說明43.1.1硬件環(huán)境43.1.2 軟件環(huán)境43.2 系統(tǒng)設(shè)計43.3.1 系統(tǒng)功能說明4實訓(xùn)總結(jié)5參考文獻(xiàn)65前言1、 實驗?zāi)康亩鐜臀覍懚?、設(shè)備與環(huán)境操作系統(tǒng):WindowsXP/CE。數(shù)據(jù)庫:SQL Server2000。編程工具:DEKPHI 7 編程環(huán)境第1部分 需求分析及設(shè)計1.1 需求說明 考勤管理是企業(yè)管理中非常重要的一環(huán)。作為公司主管考勤的人員能夠通過考勤管理系統(tǒng)清

3、楚的看到公司員工編號,姓名,部門以及簽到時間、簽離時間以及是否遲到、早退等諸多信息。還能夠通過所有員工的出勤記錄比較來發(fā)現(xiàn)企業(yè)管理和員工作業(yè)方面的諸多問題。更是員工工資及福利待遇方面重要的參考依據(jù)。具體操作流程如下: 超級用戶登錄本系統(tǒng),輸入用戶名和密碼,系統(tǒng)進(jìn)行驗證,驗證通過的話進(jìn)入程序主界面,在主界面對普通用戶的信息進(jìn)行錄入,超級用戶需要輸入普通用戶的部門和編號進(jìn)行錄入,經(jīng)過系統(tǒng)驗證通過后該員工簽到成功,下班簽離時超級用戶先輸入該普通用戶的部門和編號,如果該員工今天已經(jīng)簽到,那樣簽離成功。同時超級用戶可以查詢員工所有信息、某段時間內(nèi)員工的出勤情況。 本系統(tǒng)是一個可靠性高、可用性強(qiáng)的系統(tǒng),能

4、夠處理基本的功能和非功能故障。關(guān)于用戶信息的安全性和保密性提供了基本保障。1.2 用例圖 圖1 超級用戶E-R圖 圖2 用戶E-R圖 圖3 部門E-R圖 圖4 總體E-R第2部分 數(shù)據(jù)庫設(shè)計2.1 表結(jié)構(gòu) 本系統(tǒng)設(shè)計到普通用戶,也就是員工,和超級用戶兩類用戶。超級用戶可以管理員工的簽到簽離操作,也可以查詢員工的個人情況和出勤情況。員工只需要告訴超級員工自己的部門和編號就可以完成簽到和簽離操作。根據(jù)實際應(yīng)用的需要,最大限度的提高系統(tǒng)的性能,本系統(tǒng)涉及5張表,分別是超級用戶表、普通用戶表、部門表、考勤表和考勤歷史表。 表1 部門表結(jié)構(gòu)序號字段名數(shù)據(jù)類型長度允許為空描述備注1BM_NumVarcha

5、r10部門編號唯一表示部門2BM_NAMEVarchar20部門名稱部門名稱3BM_COUNTint5部門人數(shù) 表2 超級用戶表結(jié)構(gòu)序號字段名數(shù)據(jù)類型長度允許為空描述備注1SUserVarchar10用戶名唯一標(biāo)識用戶身份2MMVarchar(10密碼每個用戶都有密碼3SNameVarchar10姓名4SSexChar2性別5SBirDateDatetime出生日期6SPlaceVarchar)30籍貫 表 3 普通用戶表結(jié)構(gòu)序號字段名數(shù)據(jù)類型長度允許為空描述備注1NumVarchar(10)10編號唯一標(biāo)識用戶身份2AparVarchar(10)10部門3CNameVarchar(10)10

6、姓名4SexChar(2)2性別5BirdateDatetime出生日期6PlaceVarchar(30)30籍貫 表4 考勤表結(jié)構(gòu)序號字段名數(shù)據(jù)類型長度允許為空描述備注1Seqint序列號唯一標(biāo)識記錄序列,自增長2NO.Varchar(10) 10編號普通用戶編號3GtimeVarchar(50)50簽到時間4OtimeVarchar(50)50簽離時間 表5 考勤歷史表序號字段名數(shù)據(jù)類型長度允許為空描述備注1LSeqint記錄號唯一標(biāo)識記錄序列,自增長2NumVarchar(10)10編號普通用戶編號3wDateDatestamp日期4gtimeVarchar(50)50簽到時間5otim

7、eVarchar(50)50簽離時間6WlateBit 1是否遲到1 遲到,0 未遲到 7WearlyBit1是否早退1 早退,0 未早退WOutBit1是否缺勤1 缺勤,0未缺勤2.2 表關(guān)系第3部分 系統(tǒng)設(shè)計3 系統(tǒng)運行環(huán)境說明 3.1 硬件環(huán)境 在一個窗體上放一張圖片,然后在圖片上加相應(yīng)的文字說明,增加一個timer控件,在timer的ontime編寫相應(yīng)的代碼。效果圖為:圖1 3.2 軟件環(huán)境 登錄界面需要用戶名和密碼的驗證,因此需要連接數(shù)據(jù)庫,需要用到相應(yīng)的控件,連接上數(shù)據(jù)庫,在“確定”按鈕的單擊事件中輸入相應(yīng)代碼: var suser,password:string;begin s

8、user:=form2.Edit1.Text; password:=form2.Edit2.Text; adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add('select suser,mm from SUser where suser='+''''+suser+''''+'and mm='+''''+password+''''); adoquery1.Open; if adoq

9、uery1.RecordCount=0 then begin application.MessageBox('用戶名與密碼錯誤,請重新輸入','提示',mb_ok); edit1.SetFocus; end else begin form2.Hide; form3.Show; end;end; 將該窗體的邊界風(fēng)格設(shè)置為bsnone。效果圖為: 圖2 控件的放置如下圖所示,在“部門”組合框的ondropdown事件中獲得數(shù)據(jù)庫中關(guān)于部門的信息,代碼為:var i,j:integer;begin combobox1.Clear; adoquery1.sql.Clea

10、r; adoquery1.SQL.Add('select distinct * from dep'); /從數(shù)據(jù)庫的dep表中讀取數(shù)據(jù) adoquery1.Open; j:= adoquery1.RecordCount; /recordcount為讀取的記錄數(shù) if j>0 then begin adoquery1.first; for i:=0 to j-1 do begin combobox1.Items.Add(adoquery1.FieldList0.asstring); /增加部門編號 adoquery1.Next; end; end else applicat

11、ion.MessageBox('沒有部門的信息','提示',mb_ok); end; “編號”組合框的代碼同上面的類似,這里就不予列列出。 該界面的關(guān)鍵功能是“確認(rèn)”按鈕,單擊此按鈕后將數(shù)據(jù)插入到考勤表中,并且顯示該員工的個人信息和其是否遲到早退的情況,代碼為: adoquery1.SQL.Clear; adoquery1.SQL.Add('select * from cuser where num='''+combobox2.Text+''''); adoquery1.Open; /獲取輸入的員工

12、號的記錄 if adoquery1.RecordCount>0 then begin edit1.Text:=(adoquery1.FieldList2.asstring);/顯示員工相關(guān)信息 edit2.Text:=(adoquery1.FieldList1.asstring); edit3.Text:=(adoquery1.FieldList3.asstring); edit4.Text:=(adoquery1.FieldList4.asstring); if radiobutton3.Checked then begin /簽到操作 with ADOStoredProc1 do b

13、egin Close; /將這條記錄插入到考勤表中 ProcedureName:='wat_insert' Parameters.Clear; Parameters.Refresh; Parameters.ParamByName('num').Value:= combobox2.Text; Parameters.ParamByName('gtime').Value:= time(); ExecProc; end; /判斷是否遲到 if formatdatetime('hh:mm:ss',time) <=('9:00:

14、00') then edit5.Text:='是' else edit5.Text:='否' end else if radiobutton4.Checked then begin/選擇簽離 操作 adoquery1.SQL.Clear; adoquery1.SQL.Add('select * from worker_attend where num='''+combobox2.Text+''''); adoquery1.Open; if adoquery1.RecordCount>0

15、 then begin with ADOStoredProc1 do begin Close; ProcedureName:='otime_insert' Parameters.Clear; Parameters.Refresh; Parameters.ParamByName('num').Value:= combobox2.Text; Parameters.ParamByName('otime').Value:= time();/插入簽離時間 ExecProc; end; /判斷是否早退 if formatdatetime('hh:mm

16、:ss',time) <=('18:00:00') then edit6.Text:='是' else edit6.Text:='否' end else application.MessageBox('該人沒有簽到不能簽離!','出錯啦!',mb_ok) end else application.MessageBox('請選擇簽到還是簽離','提示',mb_ok); /沒有選擇簽離還是簽到 end else begin application.MessageBox(&#

17、39;沒有該員工!','提示',mb_ok); combobox2.SetFocus; “刪除當(dāng)前所有簽到記錄”按鈕與“刪除所有簽離記錄”按鈕的單擊事件的代碼相似?!八袉T工信息”、“查詢當(dāng)天記錄”、“查詢所有記錄”和“部門信息”按鈕的單擊事件代碼相似。 主界面的設(shè)計如下圖所示:圖3 查詢結(jié)果顯示的界面 圖4圖5實現(xiàn)這個的代碼為:application.Messagebox('','',mb_ok).引號中輸入相信的內(nèi)容既可3.2 系統(tǒng)設(shè)計3.2.1 系統(tǒng)功能說明 登錄模塊輸入的用戶名和密碼是要求和數(shù)據(jù)庫中SUser表中的記錄相同才能進(jìn)入

18、主界面的。當(dāng)輸入空的用戶名和密碼以及不正確的用戶名和密碼時,是不能進(jìn)入主界面的。出錯提示如下圖所示: 圖6只有輸入正確的用戶名和密碼才成進(jìn)入主界面進(jìn)行操作。測試用例:用戶名 空 密碼 空 (數(shù)據(jù)庫中不存在的用戶名和密碼) 用戶名 23423423 密碼 空 (數(shù)據(jù)庫中不存在的用戶名和密碼) 用戶名 admin密碼 8787676 (用戶名和密碼字段不匹配)上面的測試用例都不能進(jìn)去主界面,可以用adminadmin進(jìn)去主界面。3.2.2主界面模塊測試員工簽到時可以自己輸入部門編號和員工編號,也可以從下拉列表中進(jìn)行選擇。當(dāng)然下拉列表中的信息是直接從數(shù)據(jù)庫中的表讀出的不可能有錯。如果員工自己輸入部門

19、編號和員工編號的話是可能出錯的。測試用例:部門 89898 (數(shù)據(jù)庫中不存在)員工 9008989 (數(shù)據(jù)庫中不存在) 部門00001 (數(shù)據(jù)庫中存在)員工 opopop(數(shù)據(jù)庫中不存在) 部門00001 (數(shù)據(jù)庫中存在)員工 0000201(數(shù)據(jù)庫中存在但是不是該部門的數(shù)據(jù))。測試結(jié)果為:圖7成功簽到后,系統(tǒng)顯示是否遲到,如下圖:圖8 員工簽離時可以自己輸入部門編號和員工編號,也可以從下拉列表中進(jìn)行選擇。輸入錯誤的員工信息時如簽到操作時的提示,這里不在截圖表示。當(dāng)員工輸入了正確的部門和員工編號時,但是該員工還沒有簽到,但員工現(xiàn)在選擇簽離操作,這個不允許的,這里給出提示,如下所示:圖9 簽離成

20、功后,系統(tǒng)顯示是否早退,如圖: 圖10可以選擇刪除當(dāng)日所有簽到記錄和所有簽離記錄也可以選擇刪除某個人的記錄,刪除當(dāng)天某個人的記錄的時候,必須保證這個人已經(jīng)簽到了,早考勤表中存在。如果不存在。如下提示:圖11測試用例:空當(dāng)刪除成功時會有如下提示: 圖12 測試用例:0000201 (已經(jīng)進(jìn)行簽到的員工編號)。進(jìn)行查詢操作時要確認(rèn)連接到數(shù)據(jù)庫中,所以要輸入系統(tǒng)的用戶名和密碼,dba和sql。否則程序會出錯。這個我沒有能力做處理。進(jìn)行詳細(xì)查詢時,需要輸入部門號和查詢時間段,當(dāng)用戶輸入了錯誤的時間,或者考勤歷史表中沒有時間的記錄時給出提示:圖13實訓(xùn)總結(jié) 通過這次實驗,我們不僅熟悉了我們以前學(xué)習(xí)的數(shù)據(jù)庫原理以及現(xiàn)在正在學(xué)習(xí)的delphi程序設(shè)計和sql sever教程所學(xué)到的知識,而且我們還初步了解了制作一個比

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論