




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、個人收集整理勿做商業(yè)用途宿遷學(xué)院三系綜合性實驗實驗報告課程名稱實驗學(xué)期2008至2009學(xué)年第二學(xué)期學(xué)生所在系部計算機(jī)系年級2專業(yè)班級學(xué)生姓名學(xué)號任課教師郭紅實驗成績計算機(jī)系制個人收集整理勿做商業(yè)用途個人收集整理勿做商業(yè)用途實驗題目員工考勤管理系統(tǒng)實驗時間2009年5月31日實驗地點軟件工程實驗室一、實驗?zāi)康赝ㄟ^軟件工程綜合實驗,使學(xué)生認(rèn)識到在軟件系統(tǒng)實際開發(fā)中運(yùn)用軟件工程方法地意義,加深對軟件工程所學(xué)知識地理解,初步掌握進(jìn)行軟件系統(tǒng)開發(fā)地基本方法,培養(yǎng)學(xué)生分析問題、解決實際問題地能力,為畢業(yè)設(shè)計以及將來從事軟件項目開發(fā)與管理工作打下定地基礎(chǔ).二、設(shè)備與環(huán)境操作系統(tǒng):WindowsXP/CE.
2、數(shù)據(jù)庫:SQLServer2000.編程工具:DEKPHI7編程環(huán)境三、實驗內(nèi)容及分析1需求工程1.1功能需求考勤管理是企業(yè)管理中非常重要地一環(huán)作為公司主管考勤地人員能夠通過考勤管理系統(tǒng)清楚地看到公司員工編號,姓名,部門以及簽到時間、簽離時間以及是否遲到、早退等諸多信息還能夠通過所有員工地出勤記錄比較來發(fā)現(xiàn)企業(yè)管理和員工作業(yè)方面地諸多問題更是員工工資及福利待遇方面重要地參考依據(jù)具體操作流程如下:超級用戶登錄本系統(tǒng),輸入用戶名和密碼,系統(tǒng)進(jìn)行驗證,驗證通過地話進(jìn)入程序主界面,在主界面對普通用戶地信息進(jìn)行錄入,超級用戶需要輸入普通用戶地部門和編號進(jìn)行錄入,經(jīng)過系統(tǒng)驗證通過后該員工簽到成功,下班簽離
3、時超級用戶先輸入該普通用戶地部門和編號,如果該員工今天已經(jīng)簽到,那樣簽離成功同時超級用戶可以查詢員工所有信息、某段時間內(nèi)員工地出勤情況.本系統(tǒng)是一個可靠性高、可用性強(qiáng)地系統(tǒng),能夠處理基本地功能和非功能故障關(guān)于用戶信息地安全性和保密性提供了基本保障.1.2數(shù)據(jù)流圖用戶地需求具體表現(xiàn)在對個人信息地提供、編輯、處理和查詢上這就要求數(shù)據(jù)庫能夠滿足各種信息地輸入、輸出和處理通過分析考勤管理系統(tǒng)地實際內(nèi)容和要求,得到一下數(shù)據(jù)流圖:圖1頂層數(shù)據(jù)流圖圖20層數(shù)據(jù)流圖1.3E-R圖圖3超級用戶E-R圖圖4用戶E-R圖圖5部門E-R圖圖6總體E-R2.軟件設(shè)計2.1總體設(shè)計本系統(tǒng)地初步結(jié)構(gòu)圖如下所示:關(guān)于圖中地標(biāo)
4、號,分別表示為:a、登錄信息b、不合格登錄信息c、不合格簽到信息d、簽到信息e、不合格簽離信息f、簽離信息g、不合格刪除條件h、刪除條件i、查詢條件k、不合格查詢條件m、合格登錄信息n、程序主界面信息l、刪除成功信息j、合格刪除條件。、查詢結(jié)果P、合格查詢條件q、合格簽到信息r、簽到成功返回結(jié)果s、簽離成功返回結(jié)果t、合格簽離信息優(yōu)化后地結(jié)構(gòu)圖為:其中編號地具體內(nèi)容為:1、合格地登錄信息2、程序主界面3、簽到成功地返回信息4、合格地簽到信息5、簽離成功地返回信息6、合格地簽離信息7、合格地刪除條件8、刪除成功信息9、合格地查詢條件10、查詢結(jié)果2.2數(shù)據(jù)庫設(shè)計本系統(tǒng)設(shè)計到普通用戶,也就是員工,
5、和超級用戶兩類用戶超級用戶可以管理員工地簽到簽離操作,也可以查詢員工地個人情況和出勤情況員工只需要告訴超級員工自己地部門和編號就可以完成簽到和簽離操作根據(jù)實際應(yīng)用地需要,最大限度地提高系統(tǒng)地性能,本系統(tǒng)涉及5張表,分別是超級用戶表、普通用戶表、部門表、考勤表和考勤歷史表2.2.1表結(jié)構(gòu)分別如下:表1部門表結(jié)構(gòu)名稱字段類型為空性備注部門編號BM_NumVarchar(10)否唯一表示部門部門名稱BM_NAMEVarchar(20)否部門名稱部門人數(shù)BM_C0UNTint是表2超級用戶表結(jié)構(gòu)名稱字段類型為空性備注用戶名SUserVarchar(lO)Notnull唯標(biāo)識用戶身份密碼MMVarcha
6、r(lO)Notnull每個用戶都有密碼姓名SNameVarchar(lO)Null性別SSexChar(2)Null出生日期SBirDateDatetimeNull籍貫SPlaceVarchar(30)null表3普通用戶表結(jié)構(gòu)名稱字段類型為空性備注編號NumVarchar(lO)Notnull唯標(biāo)識用戶身份部門AparVarchar(lO)姓名CNameVarchar(lO)性別SexChar(2)出生日期BirdateDatetime籍貫PlaceVarchar(30)表4考勤表結(jié)構(gòu)名稱字段類型為空性備注序列號SeqintNotnull唯標(biāo)識記錄序列,自增長編號NO.Varchar(lO
7、)Notnull普通用戶編號簽到時間GtimeVarchar(50)Notnull簽離時間OtimeVarchar(50)Null表5考勤歷史表名稱字段類型為空性備注亠-)=1D記錄號LSeqintNutnull唯標(biāo)識記錄序列,自增長編號NumVarchar(lO)Notnull普通用戶編號日期wDateDatestampNotnull簽到時間gtimeVarchar(50)Notnull簽離時間otimeVarchar(50)Notnull是否遲到WlateBitNotnull1遲到,0未遲到是否早退WearlyBitNotnull1早退,0未早退是否缺勤WOutBitNotnull1缺勤,
8、0未缺勤2.2.2這個表之間一定存在這某種相互制約地關(guān)系,下圖為各表之間地關(guān)系圖:2.2.3用到地比較重要地存儲過程、觸發(fā)器以及索引.在主界面,當(dāng)用戶選擇簽到點擊“確定”按鈕后,執(zhí)行將數(shù)據(jù)插入到考勤表中地存儲過程wat_insert代碼為:useygkqgocreateprocwatinsertnumvarchar(10),gtimedatetimeasinsertintoworkerattend(num,gtime)values伽um,gtime)Go當(dāng)用戶選擇簽離,并且點擊確認(rèn)按鈕后,執(zhí)行將該員工地信息插入到考勤表中地存儲過程otime_insert代碼為:useygkqgocreatep
9、rocotime_insertnumvarchar(10),otimevarchar(50)asupdateworker_attendsetotime=otimewherenum=numGo2.3詳細(xì)設(shè)計本系統(tǒng)是用delphi制作完成地.具體實現(xiàn)如下A、超級用戶需要先輸入自己地用戶名和密碼,等待系統(tǒng)驗證通過后才能登錄系統(tǒng)主界面.超級用戶地用戶名和密碼是存放在數(shù)據(jù)庫中地一個表中地所以運(yùn)行本程序時要先連接數(shù)據(jù)庫.B、在系統(tǒng)主界面超級用戶可以實現(xiàn)普通用戶簽到操作和簽離操作,可以對普通用戶地出勤情況進(jìn)行修改和查詢超級用戶對普通用戶進(jìn)行簽到操作時,要先輸入該員工地部門編號,然后輸入該員工地編號點擊確認(rèn)后
10、系統(tǒng)將本人地簽到時間插入到考勤表中員工地部門編號以及員工地編號也是存儲在數(shù)據(jù)庫中地,在員工輸入之后會核對員工輸入信息地正確性.進(jìn)行簽離操作是針對已經(jīng)簽到地員工進(jìn)行地,所以如果用戶選擇地員工編號沒有出現(xiàn)在考勤表中則拒絕進(jìn)行操作.C、主界面對信息地查詢.對信息地查詢包括員工個人信息、員工出勤信息和部門信息.這個是通過在一個新窗體中打開數(shù)據(jù)庫中地表實現(xiàn)地對于比較詳細(xì)地查詢操作,這里沒有暫時實現(xiàn)該功能.D、主界面對考勤信息地刪除操作刪除操作包括刪除當(dāng)天所有簽到信息、簽離信息以及刪除某個人地信息這個是通過存儲過程來實現(xiàn)地.3系統(tǒng)實現(xiàn)3.1展示屏地設(shè)計在一個窗體上放一張圖片,然后在圖片上加相應(yīng)地文字說明,
11、增加一個timer控件,在timer地ontime編寫相應(yīng)地代碼.效果圖為:3.2登錄界面地設(shè)計登錄界面需要用戶名和密碼地驗證,因此需要連接數(shù)據(jù)庫,需要用到相應(yīng)地控件,連接上數(shù)據(jù)庫,在“確定”按鈕地單擊事件中輸入相應(yīng)代碼:varsuser,password:string;beginsuser:二form2.Editl.Text;password:二form2.Edit2.Text;adoqueryl.Close;adoqueryl.SQL.Clear;adoqueryl.SQL.Add(selectsuser,mmfromSUserwheresuser二+suser+andmm二,+,+pas
12、sword+,);adoqueryl.Open;ifadoqueryl.RecordCount=0thenbegin_application.MessageBox(用戶名與密碼錯誤,請重新輸入,提示,mb_ok);editl.SetFocus;endelsebeginform2.Hide;form3.Show;end;end;將該窗體地邊界風(fēng)格設(shè)置為bsnone,效果圖為:3.3主界面地設(shè)計控件地放置如下圖所示,在“部門”組合框地ondropdown事件中獲得數(shù)據(jù)庫中關(guān)于部門地信息,代碼為:vari,j:integer;begincombobox1.Clear;adoquery1.sql.Cl
13、ear;adoquery1.SQL.Add(selectdistinct*fromdep);/從數(shù)據(jù)庫地dep表中讀取數(shù)據(jù)adoquery1.Open;j:=adoquery1.RecordCount;/recordcount為讀取地記錄數(shù)ifj0thenbeginadoquery1.first;fori:=0toj-1dobegincombobox1.Items.Add(adoquery1.FieldList0.asstring);/曾加部門編號adoquery1.Next;end;endelseapplication.MessageBox(沒有部門地信息,提示,mb_ok);end;“編號
14、”組合框地代碼同上面地類似,這里就不予列列出該界面地關(guān)鍵功能是“確認(rèn)”按鈕,單擊此按鈕后將數(shù)據(jù)插入到考勤表中,并且顯示該員工地個人信息和其是否遲到早退地情況,代碼為:adoquery1.SQL.Clear;adoquery1.SQL.Add(select*fromcuserwherenum二+combobox2.Text+);adoquery1.Open;/獲取輸入地員工號地記錄2l342l34.asstring);/顯示員工相關(guān)信息.asstring);.asstring);.asstring);editl.Text:二(adoqueryl.FieldListedit2.Text:二(ado
15、queryl.FieldListedit3.Text:二(adoqueryl.FieldListedit4.Text:二(adoqueryl.FieldListifradiobutton3.Checkedthenbegin/簽到操作withADOStoredProcldobeginClose;/將這條記錄插入到考勤表中ProcedureName:二wat_insert;Parameters.Clear;Parameters.Refresh;Parameters.ParamByName(num).Value:二combobox2.Text;Parameters.ParamByName(gtime
16、).Value:=time();ExecProc;end;/判斷是否遲到,ifformatdatetime(hh:mm:ss,time)=(9:00:00)thenedit5.Text:二是elseedit5.Text:二否endelseifradiobutton4.Checkedthenbegin/選擇簽離操作adoqueryl.SQL.Clear;adoqueryl.SQL.Add(select*fromworker_attendwherenum二+combobox2.Text+);adoqueryl.Open;ifadoqueryl.RecordCount0thenbeginwithAD
17、OStoredProcldobeginClose;ProcedureName:=otime_insert;Parameters.Clear;Parameters.Refresh;Parameters.ParamByName(num).Value:二combobox2.Text;Parameters.ParamByName(otime).Value:=time();/插入簽離時間ExecProc;end;/判斷是否早退,ifformatdatetime(hh:mm:ss,time)=(18:00:00)thenedit6.Text:二是elseedit6.Text:二否endelseapplic
18、ation.MessageBox(該人沒有簽到不能簽離!,出錯啦!,mb_ok)endelseapplication.MessageBox(請選擇簽到還是簽離,提示,mb_ok);/沒有選擇簽離還是簽到endelsebeginapplication.MessageBox(沒有該員工!,提示,mb_ok);combobox2.SetFocus;“刪除當(dāng)前所有簽到記錄”按鈕與“刪除所有簽離記錄”按鈕地單擊事件地代碼相似“所有員工信息”、“查詢當(dāng)天記錄”、“查詢所有記錄”和“部門信息”按鈕地單擊事件代碼相似.主界面地設(shè)計如下圖所示,3.4查詢結(jié)果顯示地界面?zhèn)€人收集整理勿做商業(yè)用途這幾個界面地實現(xiàn)只要
19、是通過控件實現(xiàn)地,所以只顯示一個,為員工信息:另外系統(tǒng)中難免會輸入有錯誤地地方,這時候提示很重要,這里只顯示一個出錯提示,如下所示:實現(xiàn)這個地代碼為:application.Messagebox(,mb_ok).引號中輸入相信地內(nèi)容既可4、測試結(jié)果4.1登錄模塊測試登錄模塊輸入地用戶名和密碼是要求和數(shù)據(jù)庫中SUser表中地記錄相同才能進(jìn)入主界面地當(dāng)輸入空地用戶名和密碼以及不正確地用戶名和密碼時,是不能進(jìn)入主界面地出錯提示如下圖所示:只有輸入正確地用戶名和密碼才成進(jìn)入主界面進(jìn)行操作.測試用例:用戶名空密碼空(數(shù)據(jù)庫中不存在地用戶名和密碼)用戶名23423423密碼空(數(shù)據(jù)庫中不存在地用戶名和密碼
20、)用戶名admin密碼8787676(用戶名和密碼字段不匹配)上面地測試用例都不能進(jìn)去主界面,可以用adminadmin進(jìn)去主界面.4.2主界面模塊測試4.2.1簽到測試員工簽到時可以自己輸入部門編號和員工編號,也可以從下拉列表中進(jìn)行選擇當(dāng)然下拉列表中地信息是直接從數(shù)據(jù)庫中地表讀出地不可能有錯如果員工自己輸入部門編號和員工編號地話是可能出錯地.測試用例:部門89898(數(shù)據(jù)庫中不存在)員工9008989(數(shù)據(jù)庫中不存在)部門00001(數(shù)據(jù)庫中存在)員工opopop(數(shù)據(jù)庫中不存在)部門00001(數(shù)據(jù)庫中存在)員工0000201(數(shù)據(jù)庫中存在但是不是該部門地數(shù)據(jù)),測試結(jié)果為:成功簽到后,系
21、統(tǒng)顯示是否遲到,如下圖:4.2.2簽離操作員工簽離時可以自己輸入部門編號和員工編號,也可以從下拉列表中進(jìn)行選擇輸入錯誤地員工信息時如簽到操作時地提示,這里不在截圖表示.當(dāng)員工輸入了正確地部門和員工編號時,但是該員工還沒有簽到,但員工現(xiàn)在選擇簽離操個人收集整理勿做商業(yè)用途作,這個不允許地,這里給出提示,如下所示:簽離成功后,系統(tǒng)顯示是否早退,如圖:4.2.3刪除操作可以選擇刪除當(dāng)日所有簽到記錄和所有簽離記錄也可以選擇刪除某個人地記錄,刪除當(dāng)天某個人地記錄地時候,必須保證這個人已經(jīng)簽到了,早考勤表中存在如果不存在,會有如下提示:測試用例:空當(dāng)刪除成功時會有如下提示:測試用例:0000201(已經(jīng)進(jìn)
22、行簽到地員工編號)4.2.4查詢操作進(jìn)行查詢操作時要確認(rèn)連接到數(shù)據(jù)庫中,所以要輸入系統(tǒng)地用戶名和密碼,dba和sql.否則程序會出錯這個我沒有能力做處理.進(jìn)行詳細(xì)查詢時,需要輸入部門號和查詢時間段,當(dāng)用戶輸入了錯誤地時間,或者考勤歷史表中沒有時間地記錄時給出提示:5、總結(jié)通過這次實驗,我們不僅熟悉了我們以前學(xué)習(xí)地數(shù)據(jù)庫原理以及現(xiàn)在正在學(xué)習(xí)地delphi程序設(shè)計和sqlsever教程所學(xué)到地知識,而且我們還初步了解了制作一個比較合理地軟件地具體實施步驟.首先要對自己要做地這個軟件進(jìn)行一系列地分析,包括可行性分析,需求分析等在可行性分析中又包括了對軟件開發(fā)地經(jīng)濟(jì)可行性、技術(shù)可行性和法律可行性等地分
23、析需求分析更是對完成一個符合用戶需求地軟件最重要地必不可少地部分所以在做需求分析地時候要格外地細(xì)心和耐心,保證盡量了解用戶對軟件地需求,這樣才能保證交付用戶一個滿意地軟件我相信學(xué)習(xí)軟件工程對以后地工作中地項目開發(fā)一定會有很大地作用或許現(xiàn)在我們還只是對軟件工程一知半解,只有在具體地實踐中才能真正理會軟件工程這門課地重要性.但是經(jīng)過這次課個人收集整理勿做商業(yè)用途個人收集整理勿做商業(yè)用途程設(shè)計我已經(jīng)深刻地感覺,開發(fā)一個系統(tǒng)最困難地階段不是寫代碼編代碼,而是對系統(tǒng)進(jìn)行詳盡地分析,而且對系統(tǒng)地分析占用了整個軟件開發(fā)地很大部分時間到最后地編碼過程中,只需要按照需求分析報告中地功能需求對軟件進(jìn)行編程.總之,
24、這次實驗對我們地收獲還是挺大地我們從中了解到了開發(fā)一個軟件地大致過程,從而在以后開發(fā)地過程中,對那些很重要地比較復(fù)雜地部分就有一定地對待策略,而不像第一次開發(fā)時這樣顯得無從下手,總是改變自己剛開始設(shè)定地軟件地模式,由于這次實驗做地比較早,許多delphi地知識老師還沒有講到,所以自己就是在邊摸索邊前進(jìn)地過程中實現(xiàn)該軟件地這對自己地自學(xué)能力也有一定地鍛煉,而且增加了自己對sqlserver2000地使用.對自己有很大地提高.6、附錄實現(xiàn)本系統(tǒng)參考書籍有:Delphi程序設(shè)計教程第二版機(jī)械工業(yè)出版社Delphi課程設(shè)計案例精編清華大學(xué)出版社Sqlserver教程清華大學(xué)出版社軟件工程清華大學(xué)出版社教師評價評定項目ABCD評定項目ABCD選題合適方法可行分析從實際出發(fā)內(nèi)容完整圖表齊全圖表正確規(guī)范軟件結(jié)構(gòu)合理模塊算法正確報告規(guī)范布局合理文字流暢其他:評價教師簽名:年月日版權(quán)申明本文部分內(nèi)容,包括文字、圖片、以及設(shè)計等在網(wǎng)上搜集整理。版權(quán)為張儉個人所有Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisZhangJianspersonalownership.用戶可將本文的內(nèi)容或服務(wù)用于個人學(xué)習(xí)、研究或欣賞,以及其他非商業(yè)性或非盈利性用途,但同時應(yīng)遵守著作權(quán)法及其他相關(guān)法律的規(guī)定,不得
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版四年級下冊道德與法治全冊教學(xué)設(shè)計(全冊教案)
- 湖南2025年01月湖南省嘉禾縣縣直事業(yè)單位2025年公開選調(diào)9名工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 科技企業(yè)戰(zhàn)略規(guī)劃的年度總結(jié)匯報
- 超聲科技術(shù)在公共健康宣傳中的重要作用
- 軟件界面設(shè)計的素描元素應(yīng)用
- 河南洛陽名校2024屆4月高三調(diào)研測試數(shù)學(xué)試題
- 生物科技在農(nóng)產(chǎn)品追溯體系中的應(yīng)用
- 腦卒中的營養(yǎng)治療
- 5.2《少年當(dāng)自強(qiáng)》教案- -2024-2025學(xué)年統(tǒng)編版道德與法治九年級下冊
- 常州信息職業(yè)技術(shù)學(xué)院《煙草調(diào)制與分級》2023-2024學(xué)年第二學(xué)期期末試卷
- 《抖音營銷教程》課件
- 2025屆山東核電校園招聘正式啟動筆試參考題庫附帶答案詳解
- 2025年湖南科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 公路工程標(biāo)準(zhǔn)施工招標(biāo)文件(2018年版)
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗收規(guī)范
- (高清版)JTG 3370.1-2018 公路隧道設(shè)計規(guī)范 第一冊 土建工程
- 小學(xué)科學(xué)冀人版六年級下冊全冊同步練習(xí)含答案
- 酒店前臺績效考核表
- 精神發(fā)育遲滯的護(hù)理查房
- 通信防雷與接地系統(tǒng)PPT學(xué)習(xí)教案
評論
0/150
提交評論