版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 學(xué)分制已成為各大院校管理學(xué)生中不可或缺的一部分,在重多高校中得到了廣泛的應(yīng)用。總的說(shuō)來(lái),學(xué)分制就是通過(guò)集中學(xué)生的文化課程以及相應(yīng)的考勤信息等,對(duì)學(xué)生的綜合素質(zhì)進(jìn)行評(píng)定。實(shí)現(xiàn)學(xué)生考勤系統(tǒng)現(xiàn)代化的根本途徑是信息化、系統(tǒng)化。學(xué)生考勤管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩
2、個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求。</p><p> 應(yīng)用程序功能完備,易使用等特點(diǎn)。</p><p> 經(jīng)過(guò)分析,我們使用 sun Microsystems公司的 jsp技術(shù)進(jìn)行開(kāi)發(fā), 利用Eclipse提供的MyEclipse面向?qū)ο蟮拈_(kāi)發(fā)工具.其方便快捷的多窗口界面,控制臺(tái)異常報(bào)錯(cuò),等功能簡(jiǎn)化了開(kāi)發(fā)時(shí)間,通過(guò)插件機(jī)制來(lái)靈活地構(gòu)件開(kāi)
3、發(fā)環(huán)境。從而在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶(hù)滿(mǎn)意的可行系統(tǒng)。</p><p> 整個(gè)系統(tǒng)從符合操作簡(jiǎn)便、界面友好、靈活、實(shí)用、安全的要求出發(fā),完成考勤信息管理的全過(guò)程,包括每個(gè)考勤事件,例如事假、病假、遲到、早退、缺席及其他有價(jià)值的考勤信息分配一個(gè)唯一的考勤編號(hào),并根據(jù)此編碼在計(jì)算機(jī)中建立固定資產(chǎn)信息庫(kù),對(duì)考勤信息的錄入、修改、刪除、統(tǒng)計(jì)等進(jìn)行管理,使管理
4、人員可對(duì)學(xué)生的具體信息(或模糊信息)向進(jìn)行跟蹤,隨時(shí)掌握某個(gè)(些)學(xué)生、某個(gè)(些)班級(jí)、某個(gè)(些)系部的具體考勤情況,減少考勤記錄丟失現(xiàn)象,解決查找、統(tǒng)計(jì)困難等問(wèn)題,提高管理人員的工作效率。因此,開(kāi)發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開(kāi)發(fā)一套學(xué)生考勤管理系統(tǒng)為例,談?wù)勂溟_(kāi)發(fā)過(guò)程和所涉及到的問(wèn)題及解決方法。</p><p> 在系統(tǒng)開(kāi)發(fā)中我們使用MyEclipse插件控件, MS的JDBC
5、驅(qū)動(dòng),連接MS SQL Server2000數(shù)據(jù)庫(kù),將存在數(shù)據(jù)庫(kù)的信息通過(guò)界面顯示出來(lái),并進(jìn)行修改,查詢(xún)等操作。</p><p> 關(guān)鍵字:JSP、MyEclipse、Tomcat、SQL Server。</p><p><b> ABSTRACT</b></p><p> The credit system has become eac
6、h great college management student to win necessary of a part, got an extensive application in the much more heavy high school.Always say that come, the credit system is the cultural course which passes to gather a high
7、school student and correspond of test frequently an information etc., carry on assess to the student's comprehensive character.The basic path which carries out a student to test frequently a system modernization is f
8、requentlyinformation-based and s</p><p> The applied procedure function is complete, easy usage etc. characteristics.</p><p> Through analysis, the sun Microsystems of our usage's jsp tech
9、nique of the company carries on a development, make use of the Eclipse provide of the MyEclipse face to the development tool of object.Its convenience is fast of many window way interface, control pedestal the abnormalit
10、y report be wrong, wait function to simplify development time and pass a plug-in mechanism come vividly Gou piece development environment.Build up system application prototype in the in a short time thus, then start pr&l
11、t;/p><p> The whole system from match an operation simple, interface amity, vivid, practical, safety of the request set out and complete to test frequently information management of whole processes, include ea
12、ch one to test frequently affairs, for example personal leave, sick leave, be late, leave early, absence and other worthy test frequently an information to assign 1 uniquely tests frequently serial number, and according
13、to this coding is in the calculator build up a fixed assets information database,</p><p> The MyEclipse plug-in of our usage controls a piece in the system the development, the MS JDBC drive, the Server2000
14、 of the conjunction MS SQL database, pass the information of existence database's interface manifestation to come out, and carry on a modification, search etc. operation.</p><p> Key words: JSP, MyEclip
15、se, Tomcat, SQL Server.</p><p><b> 目錄</b></p><p><b> 一、實(shí)訓(xùn)任務(wù)書(shū)1</b></p><p><b> 二、任務(wù)分配表3</b></p><p><b> 三、開(kāi)發(fā)進(jìn)度表4</b>
16、</p><p><b> 四、需求分析5</b></p><p> 4.1可行性分析報(bào)告5</p><p><b> 4.2背景5</b></p><p> 4.3系統(tǒng)開(kāi)發(fā)的重點(diǎn)與難點(diǎn)5</p><p> 4.4可行性分析6</p><
17、;p><b> 4.5結(jié)論6</b></p><p><b> 五、總體設(shè)計(jì)7</b></p><p><b> 5.1用例圖7</b></p><p><b> 5.2模塊圖7</b></p><p> 5.3功能模塊描述9&l
18、t;/p><p><b> 5.4流程圖:9</b></p><p> 5.5數(shù)據(jù)字典12</p><p><b> 六、詳細(xì)設(shè)計(jì)16</b></p><p> 6.1.1請(qǐng)假信息錄入16</p><p><b> 七、主要代碼17</b>
19、;</p><p> 7.1請(qǐng)假信息管理17</p><p> 7.1.1請(qǐng)假信息錄入17</p><p> 7.2出勤信息管理22</p><p> 7.2.1出勤信息錄入功能22</p><p> 7.2.2出勤信息維護(hù)24</p><p> 7.2.2.1出勤信息資料
20、查看24</p><p> 7.2.2.2授課表查看25</p><p><b> 八、個(gè)人總結(jié)28</b></p><p><b> 九、致謝信29</b></p><p><b> 十、參考資料30</b></p><p><
21、b> 一、實(shí)訓(xùn)任務(wù)書(shū)</b></p><p><b> 1.實(shí)訓(xùn)題目</b></p><p><b> 學(xué)生考勤系統(tǒng)</b></p><p><b> 2.題目來(lái)源</b></p><p> 職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系網(wǎng)絡(luò)辦公 </p>
22、<p><b> 3.題目類(lèi)型</b></p><p><b> 項(xiàng)目開(kāi)發(fā)</b></p><p><b> 4.實(shí)訓(xùn)目標(biāo)</b></p><p> 通過(guò)該綜合實(shí)訓(xùn)課程的有效組織與實(shí)施,學(xué)生應(yīng)該掌握的核心能力和關(guān)鍵能力有:</p><p><b>
23、 1.編寫(xiě)代碼的能力</b></p><p> 2.編寫(xiě)設(shè)計(jì)文檔的能力</p><p> 3.編寫(xiě)測(cè)試文檔的能力</p><p><b> 4.團(tuán)隊(duì)協(xié)作的能力</b></p><p> 5.學(xué)習(xí)新技術(shù)新工具的能力</p><p><b> 5.實(shí)訓(xùn)內(nèi)容</b
24、></p><p> 本次綜合實(shí)訓(xùn)的內(nèi)容主要是學(xué)生考勤系統(tǒng),在該系統(tǒng)中,圍繞計(jì)算機(jī)系教師辦公的需求主要完成以下幾個(gè)模塊的內(nèi)容: </p><p> 學(xué)生信息導(dǎo)入功能,數(shù)據(jù)備份功能,系書(shū)記請(qǐng)假信息維護(hù)功能,教師考勤信息維護(hù)功能,出勤信息統(tǒng)計(jì)功能,數(shù)據(jù)打印功能,基礎(chǔ)數(shù)據(jù)維護(hù)功能,權(quán)限管理功能等。</p><p><b> 6.實(shí)訓(xùn)環(huán)境</b&
25、gt;</p><p> 硬件環(huán)境:CPU :PIII以上,內(nèi)存:512MB以上,硬盤(pán):40GB以上</p><p> 軟件環(huán)境:JAVA方向:IDE:eclipse3.2 ,JDK:jdk1.5,WEB服務(wù)器:tomcat5.0,PLUGIN: struct1.1,DBMS:SQL Server2000,開(kāi)發(fā)軟件:CVS</p><p><b>
26、7.實(shí)訓(xùn)要求</b></p><p> ?。?)搭建好開(kāi)發(fā)環(huán)境,測(cè)試后能穩(wěn)定運(yùn)行;</p><p> ?。?)需要安裝殺毒軟件,防止病毒感染,影響項(xiàng)目開(kāi)發(fā);</p><p> (3)項(xiàng)目開(kāi)發(fā)需要團(tuán)隊(duì)協(xié)作一起開(kāi)發(fā),培養(yǎng)團(tuán)隊(duì)精神;</p><p> (4)按時(shí)到指定的機(jī)房進(jìn)行項(xiàng)目開(kāi)發(fā);</p><p>
27、(5)編碼編程風(fēng)格要完全按照規(guī)定書(shū)寫(xiě);</p><p> ?。?)測(cè)試文檔要嚴(yán)格按照規(guī)定格式書(shū)寫(xiě);</p><p> ?。?)項(xiàng)目使用手冊(cè)要完全按照規(guī)定模版書(shū)寫(xiě);</p><p> ?。?)要按照老師的進(jìn)度表保質(zhì)保量的完成階段開(kāi)發(fā)任務(wù)。</p><p><b> 8.項(xiàng)目開(kāi)發(fā)步驟</b></p><
28、p> ?。?)需求分析,掌握辦公自動(dòng)化系統(tǒng)的各項(xiàng)業(yè)務(wù)流程;</p><p> ?。?)總體設(shè)計(jì),完成整個(gè)系統(tǒng)的模塊架構(gòu);</p><p> ?。?)詳細(xì)設(shè)計(jì),完成數(shù)據(jù)庫(kù)字典的設(shè)計(jì);</p><p> ?。?)詳細(xì)設(shè)計(jì),設(shè)計(jì)畫(huà)面及其處理說(shuō)明;</p><p> ?。?)編寫(xiě)代碼,按照規(guī)范書(shū)寫(xiě);</p><p>
29、(6)項(xiàng)目測(cè)試,按照規(guī)范書(shū)寫(xiě);</p><p> ?。?)撰寫(xiě)使用手冊(cè);</p><p> ?。?)上交項(xiàng)目源代碼、測(cè)試文檔和使用手冊(cè)。</p><p><b> 9.時(shí)間安排</b></p><p><b> 二、任務(wù)分配表</b></p><p><b>
30、 三、開(kāi)發(fā)進(jìn)度表</b></p><p><b> 四、需求分析</b></p><p> 4.1可行性分析報(bào)告</p><p> 我們小組的信息系統(tǒng)開(kāi)發(fā)課程設(shè)計(jì)題目是:學(xué)生考勤管理系統(tǒng)。系統(tǒng)開(kāi)發(fā)的總的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)學(xué)生考勤管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,實(shí)現(xiàn)對(duì)學(xué)生的考勤信息進(jìn)行集中統(tǒng)一的管理。</p><p
31、> 本系統(tǒng)主要實(shí)現(xiàn)對(duì)學(xué)生考勤信息的管理,主要功能為管理有關(guān)請(qǐng)假、出勤的信息等。本系統(tǒng)結(jié)構(gòu)分為請(qǐng)假信息管理模塊,出勤信息管理模塊,考勤考勤信息統(tǒng)計(jì)模塊,基礎(chǔ)數(shù)據(jù)管理模塊、權(quán)限管理模塊,數(shù)據(jù)導(dǎo)入模塊。請(qǐng)假信息管理部分有兩方面的功能,可以對(duì)請(qǐng)假信息進(jìn)行錄入,可以對(duì)請(qǐng)假信息進(jìn)行維護(hù)。出勤信息管理同樣也分為兩方面的功能,可以對(duì)出勤信息進(jìn)行錄入,可以對(duì)出勤信息進(jìn)行維護(hù)。考勤信息統(tǒng)計(jì)主要完成對(duì)學(xué)生所有考勤信息的統(tǒng)計(jì)功能?;A(chǔ)數(shù)據(jù)管理可以顯示當(dāng)
32、前數(shù)據(jù)庫(kù)中的所有基礎(chǔ)數(shù)據(jù)信息,這些信息包括:教師授課表、教師資料、學(xué)生資料、班級(jí)資料、系部資料,可以對(duì)這些基礎(chǔ)數(shù)據(jù)進(jìn)行維護(hù)。權(quán)限管理可以顯示數(shù)據(jù)庫(kù)中所有登錄帳號(hào)的分組情況,即“角色”,及每個(gè)“角色”的權(quán)限,可以對(duì)登錄帳號(hào)信息進(jìn)行維護(hù),數(shù)據(jù)導(dǎo)入可以從一個(gè)xls文件將其內(nèi)容導(dǎo)入到數(shù)據(jù)中??梢?jiàn),本系統(tǒng)并不復(fù)雜,主要解決的問(wèn)題是利用關(guān)鍵字對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)。</p><p><b> 4.2背景</b&
33、gt;</p><p> 近年來(lái),隨著大學(xué)中學(xué)分制的普及,各高校對(duì)學(xué)生的考勤信息管理的要求日益嚴(yán)格,有關(guān)學(xué)生的各位考勤信息量也成倍增加,面對(duì)著龐大的信息量,傳統(tǒng)的人工方式管理會(huì)導(dǎo)致學(xué)分管理上的混亂,人力與物力過(guò)多浪費(fèi),在學(xué)生考勤管理上人力及精力的過(guò)度增加,從而使教務(wù)部的負(fù)擔(dān)過(guò)重,影響整個(gè)學(xué)生學(xué)分制準(zhǔn)確性和公平性,因此,必須制定一套合理、有效,規(guī)范和實(shí)用的學(xué)生考勤管理系統(tǒng),對(duì)學(xué)生的考勤信息進(jìn)行集中統(tǒng)一的管理。&l
34、t;/p><p> 另一方面,IT產(chǎn)業(yè)和Internet獲得了飛速發(fā)展,計(jì)算機(jī)應(yīng)用已滲透到了各個(gè)領(lǐng)域,引起信息管理的革命,實(shí)現(xiàn)了信息的自動(dòng)化處理,提高了處理的及時(shí)性和正確性。</p><p> 學(xué)生考勤信息管理工作面對(duì)大量的可模塊化處理的信息,是當(dāng)今信息革命的一個(gè)重要陣地。我們小組開(kāi)發(fā)學(xué)生考勤信息管理系統(tǒng)就是采用現(xiàn)代化的信息管理方式代替手工管理方式,提高學(xué)生學(xué)公制管理工作效率,作到信息的規(guī)
35、范管理,科學(xué)統(tǒng)計(jì)和快速查詢(xún),讓學(xué)分制更快更準(zhǔn)更好的為學(xué)校、學(xué)生服務(wù)。</p><p> 從以前的手工管理的記錄中我們可以發(fā)現(xiàn)這樣的問(wèn)題:</p><p> ?、贆z索速度慢、效率低</p><p> 因?yàn)槊繉W(xué)期學(xué)生的請(qǐng)假、遲到、早退、缺席等影響學(xué)生學(xué)生的考勤類(lèi)問(wèn)題數(shù)據(jù)量相當(dāng)龐大,將學(xué)生的各種考勤信息準(zhǔn)確地分門(mén)別類(lèi),快速檢索,手工進(jìn)行非常困難,往往是終于查到了所需學(xué)
36、生的考勤信息,但由于管理人員的精神疲勞等原因,導(dǎo)致學(xué)生的考勤信息被誤報(bào),重報(bào),導(dǎo)致學(xué)生的學(xué)分計(jì)算失去了準(zhǔn)確性。學(xué)分制影響的院校與日劇增,這個(gè)問(wèn)題也日漸突出。</p><p> ?、诘怯洝⒔y(tǒng)計(jì)工作量大</p><p> 登記、統(tǒng)計(jì)頻率越大,說(shuō)明學(xué)分制的影響作用越大,然而隨之而來(lái)的大量的登記、 統(tǒng)計(jì)等的處理,其工作量之大,往 往是人工操作所難以勝任的。而且經(jīng)常會(huì)出現(xiàn)這樣那樣的差錯(cuò)。</
37、p><p> ?、劭记谛畔⒔y(tǒng)計(jì)工作難。</p><p> 學(xué)生的考勤信息應(yīng)根據(jù)學(xué)生的事先/事后說(shuō)明及時(shí)更改學(xué)生的考勤記錄類(lèi)型,然而由于學(xué)生考勤信息記錄量的增加,加上管理不嚴(yán)等原因,使學(xué)生的考勤統(tǒng)計(jì)工作難以及時(shí)完成,學(xué)生的學(xué)分的估量也就難以得到保證。</p><p> 4.3系統(tǒng)開(kāi)發(fā)的重點(diǎn)與難點(diǎn) </p><p> 系統(tǒng)出現(xiàn)了一些技術(shù)難點(diǎn)大致
38、如下:</p><p> 1、建立合理的表結(jié)構(gòu),避免數(shù)據(jù)冗余</p><p> 各表通過(guò)特定字段實(shí)現(xiàn)不同表的數(shù)據(jù)連接,避免數(shù)據(jù)冗余,需要設(shè)計(jì)簡(jiǎn)潔高效的表結(jié)構(gòu)。</p><p> 2、建立相當(dāng)?shù)南到y(tǒng)安全性</p><p> 登錄用戶(hù)身份的驗(yàn)證機(jī)制的設(shè)計(jì)、操作頁(yè)面的權(quán)限保護(hù)。</p><p> 3、建立嚴(yán)密的數(shù)據(jù)
39、表操作機(jī)制</p><p> 同一表有可能在多個(gè)模塊中被修改,所以嚴(yán)密的數(shù)據(jù)表操作機(jī)制的建立十分比較困難的,但也是必須的。除了設(shè)計(jì)時(shí)必須有相當(dāng)程度的考慮,在編制時(shí)更應(yīng)加強(qiáng)程序邏輯的可靠性和程序調(diào)試的全面性。</p><p><b> 4.4可行性分析</b></p><p><b> 1、技術(shù)可行性</b></
40、p><p> 此次信息系統(tǒng)開(kāi)發(fā)是大學(xué)專(zhuān)業(yè)知識(shí)的一次綜合應(yīng)用與提高,我們小組可以使用個(gè)人電腦完成系統(tǒng)開(kāi)發(fā)。組內(nèi)計(jì)算機(jī)配置肯定能滿(mǎn)足系統(tǒng)開(kāi)發(fā)的要求。我們小組選用數(shù)據(jù)庫(kù)工具M(jìn)S SQL SERVER 2000,應(yīng)用程序開(kāi)發(fā)工具Eclipse 3.2,開(kāi)發(fā)工具插件MyEcipse 5,Office程序組以及網(wǎng)絡(luò)傳輸工具。</p><p> 我們小組的成員均有計(jì)算機(jī),配置是Pentium4 1.5G
41、,256M以上內(nèi)存,80G以上硬盤(pán),可連網(wǎng)。小組成員之間可以通過(guò)QQ或電話進(jìn)行即時(shí)交流,協(xié)調(diào)開(kāi)發(fā)工作,解決開(kāi)發(fā)工作中出現(xiàn)的問(wèn)題。</p><p> 就技術(shù)力量來(lái)說(shuō),我們小組可以完成此次開(kāi)發(fā)工作。開(kāi)發(fā)過(guò)程中會(huì)出現(xiàn)許多問(wèn)題,有我們預(yù)想之中的,也有一些沒(méi)有我們預(yù)想到,但,我們有信心克服一切困難。該學(xué)期,我們小組各成員已經(jīng)學(xué)習(xí)了SQL SERVER,對(duì)jsp網(wǎng)絡(luò)編程技術(shù)有一定的了解,有些成員熟悉計(jì)算機(jī)原理,能解決常見(jiàn)的
42、硬件故障和硬件選擇。目前,各種教務(wù)管理信息系統(tǒng)已得到了大量應(yīng)用,有許多可供參考的成功系統(tǒng)。而且,網(wǎng)上有許多關(guān)于jsp編程的資料和SQL SERVER方面的資料。 從技術(shù)角度考慮,此信息系統(tǒng)開(kāi)發(fā)可行。</p><p><b> 2、經(jīng)濟(jì)可行性</b></p><p> 目標(biāo)系統(tǒng)開(kāi)發(fā)需求比較低,加上具有成熟的軟硬件環(huán)境,所以在軟硬件的支出上十分有限。而且,目標(biāo)系統(tǒng)并不
43、是十分的復(fù)雜,開(kāi)發(fā)的周期較短,人員經(jīng)濟(jì)支出有限。當(dāng)系統(tǒng)開(kāi)發(fā)完實(shí)際運(yùn)行后,將很大程度上提高計(jì)算機(jī)的功能,在為使用者帶來(lái)便利的同時(shí),也為系統(tǒng)的進(jìn)一步推廣創(chuàng)造了條件。這帶來(lái)的經(jīng)濟(jì)回報(bào)將遠(yuǎn)超過(guò)支出,并且最重要的一點(diǎn)是該軟件的開(kāi)發(fā)可以給我們對(duì)系統(tǒng)的開(kāi)發(fā)有個(gè)全面的認(rèn)識(shí)。從經(jīng)濟(jì)角度考慮,此信息系統(tǒng)開(kāi)發(fā)可行。</p><p><b> 3、法律可行性</b></p><p> 法
44、律上可行整個(gè)系統(tǒng)由于是自行開(kāi)發(fā),自行使用,所以系統(tǒng)本身不存在法律上的版權(quán)爭(zhēng)議。在服務(wù)器軟件方面,應(yīng)該使用正版軟件,因?yàn)檎麄€(gè)系統(tǒng)盡管是開(kāi)發(fā)給內(nèi)部使用,但它畢竟很多部分還是要依靠Internet的,一旦服務(wù)器連接到Internet上,它的操作系統(tǒng)可能會(huì)被Microsoft跟蹤,如果不是正版軟件,將不得不面臨民事訴訟的風(fēng)險(xiǎn)。</p><p><b> 4.5結(jié)論</b></p>&
45、lt;p> 根據(jù)以上的可行性研究,我們小組認(rèn)為開(kāi)發(fā)此系統(tǒng)的條件已經(jīng)具備,可以開(kāi)始進(jìn)行開(kāi)發(fā)。</p><p><b> 五、總體設(shè)計(jì)</b></p><p><b> 5.1用例圖</b></p><p><b> 5.2模塊圖</b></p><p><b&
46、gt; 5.3功能模塊描述</b></p><p> 系統(tǒng)共分六大模塊:請(qǐng)假信息管理、出勤信息管理、考勤信息統(tǒng)計(jì)、基礎(chǔ)數(shù)據(jù)管理、權(quán)限管理、數(shù)據(jù)導(dǎo)入。</p><p> 請(qǐng)假信息管理:請(qǐng)假信息管理部分有兩方面的功能,可以對(duì)請(qǐng)假信息進(jìn)行錄入,可以對(duì)請(qǐng)假信息進(jìn)行維護(hù)</p><p> 出勤信息管理:出勤信息管理同樣也分為兩方面的功能,可以對(duì)出勤信息進(jìn)行
47、錄入,可以對(duì)出勤信息進(jìn)行維護(hù)。</p><p> 考勤信息統(tǒng)計(jì):考勤信息統(tǒng)計(jì)主要完成對(duì)學(xué)生所有考勤信息的統(tǒng)計(jì)功能。</p><p> 基礎(chǔ)數(shù)據(jù)管理:基礎(chǔ)數(shù)據(jù)管理可以顯示當(dāng)前數(shù)據(jù)庫(kù)中的所有基礎(chǔ)數(shù)據(jù)信息,這些信息包括:教師授課表、教師資料、學(xué)生資料、班級(jí)資料、系部資料,可以對(duì)這些基礎(chǔ)數(shù)據(jù)進(jìn)行維護(hù)。</p><p> 權(quán)限管理:權(quán)限管理可以顯示數(shù)據(jù)庫(kù)中所有登錄帳號(hào)的
48、分組情況,即“角色”,及每個(gè)“角色”的權(quán)限,可以對(duì)登錄帳號(hào)信息進(jìn)行維護(hù)。</p><p> 數(shù)據(jù)導(dǎo)入:數(shù)據(jù)導(dǎo)入可以從一個(gè)xls文件將其內(nèi)容導(dǎo)入到數(shù)據(jù)中,此模塊將估為一個(gè)小的子功能嵌入到基礎(chǔ)數(shù)據(jù)管理模塊中</p><p><b> 5.4流程圖:</b></p><p><b> 5.5數(shù)據(jù)字典</b></p&g
49、t;<p> 共涉及到9張表數(shù)據(jù)表:班級(jí)信息表、課程信息表、系部表、考勤信息表、登錄表、考勤教師信息表、教師授課信息表、學(xué)生信息表、用戶(hù)角色表</p><p> 班級(jí)信息表(T_Class):</p><p><b> 課程信息表</b></p><p><b> 系部表</b></p>
50、<p><b> 考勤信息表</b></p><p><b> 登錄表</b></p><p><b> 考勤教師信息表</b></p><p><b> 教師授課信息表</b></p><p><b> 學(xué)生信息表<
51、/b></p><p><b> 用戶(hù)角色表</b></p><p><b> 數(shù)據(jù)庫(kù)關(guān)系圖</b></p><p><b> 六、詳細(xì)設(shè)計(jì)</b></p><p><b> 6.1請(qǐng)假信息管理</b></p><p>
52、; 6.1.1請(qǐng)假信息錄入</p><p><b> (1)功能描述:</b></p><p> 該部分可以對(duì)一個(gè)學(xué)生進(jìn)行請(qǐng)假登記操作,重復(fù)記錄將不被記錄</p><p><b> (2)畫(huà)面示例:</b></p><p><b> ?。?)操作說(shuō)明:</b></
53、p><p> ?、俦緟^(qū)域功能為輸入數(shù)據(jù)庫(kù)中所對(duì)應(yīng)的學(xué)生學(xué)號(hào),學(xué)生姓名,學(xué)生所在班組,三項(xiàng)數(shù)據(jù)必須相對(duì)應(yīng),如果有一項(xiàng)不對(duì),請(qǐng)假信息就不能添加。</p><p> ?、谡?qǐng)假日期使用日期表選擇請(qǐng)假日期,日期會(huì)自動(dòng)顯示在請(qǐng)假日期文本框中;</p><p> ?、壅?qǐng)假課程為下拉列表選擇要請(qǐng)假課程,課程為所有專(zhuān)業(yè)學(xué)科的課程;</p><p> ?、苷?qǐng)假節(jié)數(shù)不
54、能大于結(jié)束課節(jié),彈出對(duì)話框提示登記課節(jié)錯(cuò)誤;</p><p> ⑤選擇請(qǐng)假的類(lèi)型只能選擇一種類(lèi)型不能重復(fù)選擇;按動(dòng)提交銨鈕彈動(dòng)對(duì)話框(如圖)</p><p> ?、拚?qǐng)假信息添加成功彈出對(duì)話框并顯示請(qǐng)假節(jié)數(shù),點(diǎn)示確定,請(qǐng)假信息添加成功。</p><p><b> 七、主要代碼</b></p><p><b>
55、 7.1請(qǐng)假信息管理</b></p><p> 7.1.1請(qǐng)假信息錄入</p><p> public ActionForward query_add(ActionMapping mapping, ActionForm form,</p><p> HttpServletRequest request, HttpServletResponse r
56、esponse) {</p><p> ArrayList depts=null;</p><p> ArrayList courses=null;</p><p> Date date=new Date();</p><p> depts=l.getDepts();</p><p> courses=l
57、.getCourses();</p><p> request.setAttribute("courses", courses);</p><p> request.setAttribute("depts", depts);</p><p> request.setAttribute("date",
58、date);</p><p> return mapping.findForward("leaves_add");</p><p><b> }</b></p><p> public ActionForward add(ActionMapping mapping, ActionForm form,</p>
59、<p> HttpServletRequest request, HttpServletResponse response) {</p><p> Leaves_editForm f=(Leaves_editForm)form;</p><p> String info=null;</p><p> bean.DutysBean d=new
60、 bean.DutysBean();</p><p> d.setStudent_id(f.getTxt_student_id().trim());</p><p> d.setLeave_date(f.getTxt_date().trim());</p><p> d.setLesson_from(f.getSlt_lesson_from());<
61、/p><p> d.setLesson_to(f.getSlt_lesson_to());</p><p> d.setType(f.getRdo_type().trim());</p><p> d.setStudent_class_name(f.getTxt_student_class().trim());</p><p> d.se
62、tStudent_name(f.getTxt_student_name().trim());</p><p> d.setCourse_id(f.getSlt_course().trim());</p><p> if(db.validate()!=null){</p><p> request.setAttribute("info", &
63、quot;連接數(shù)據(jù)庫(kù)初始化失敗");</p><p> return mapping.findForward("leave_back");</p><p><b> }</b></p><p> String sql=null;</p><p> info=l.add_info_ch
64、eck(d);</p><p> if(info!=null){</p><p> request.setAttribute("info", info);</p><p> return mapping.findForward("add_back");</p><p><b> }&l
65、t;/b></p><p> for(int k=d.getLesson_from();k<=d.getLesson_to();k++){</p><p> sql="INSERT INTO T_Dutys "+</p><p> "VALUES('"+getID().trim()+"
66、9;,'"+d.getStudent_id().trim()+"','"+d.getLeave_date().trim()+"',"+k+",'"+d.getCourse_id().trim()+"',"+null+",'請(qǐng)假','"+d.getType()
67、.trim()+"')";</p><p> d.setLesson(k);</p><p> String temp_info=l.add_check(d,"請(qǐng)假");</p><p> if(temp_info!=null){</p><p> if(info==null)</
68、p><p> info=temp_info+" .\\n";</p><p><b> else</b></p><p> info+=("\\n"+temp_info+" .\\n");</p><p><b> }</b>
69、;</p><p><b> else{</b></p><p> if(l.add(sql)) {</p><p> if(info==null)</p><p> info="學(xué)生["+d.getStudent_name()+"](學(xué)號(hào):"+d.getStudent
70、_id()+") "+d.getLeave_date()+" 第"+k+"節(jié)課請(qǐng)假成功 .\\n";</p><p><b> else</b></p><p> info+=("\\n學(xué)生["+d.getStudent_name()+"](學(xué)號(hào):&qu
71、ot;+d.getStudent_id()+") "+d.getLeave_date()+" 第"+k+"節(jié)課請(qǐng)假成功 .\\n");</p><p><b> }</b></p><p><b> else {</b></p><p>
72、 if(info==null)</p><p> info="學(xué)生["+d.getStudent_name()+"](學(xué)號(hào):"+d.getStudent_id()+") "+d.getLeave_date()+" 第"+k+"節(jié)課請(qǐng)假失敗 .\\n";</p><p&g
73、t;<b> else</b></p><p> info+=("\\n學(xué)生["+d.getStudent_name()+"](學(xué)號(hào):"+d.getStudent_id()+") "+d.getLeave_date()+" 第"+k+"節(jié)課請(qǐng)假失敗 .\\n");&l
74、t;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> request.setAttribute("info", info);</p><p> re
75、turn mapping.findForward("add_back");</p><p><b> }</b></p><p> 7.1.2請(qǐng)假信息維護(hù)</p><p> 7.1.2.1請(qǐng)假信息查詢(xún)</p><p> public ActionForward query(ActionMapp
76、ing mapping, ActionForm af,</p><p> HttpServletRequest request, HttpServletResponse response) {</p><p> Leaves_recordForm f = (Leaves_recordForm) af;</p><p> bean.DutysBean d=new
77、 bean.DutysBean();</p><p> String info=null;</p><p> info=(String)request.getAttribute("info");</p><p> ArrayList data=null;</p><p> ArrayList depts=nul
78、l;</p><p> case_mark(af,request);</p><p> if(f.getC_student_id()!=null)</p><p> d.setStudent_id(f.getStudent_id().trim());</p><p> if(f.getC_student_name()!=null)&l
79、t;/p><p> d.setStudent_name(f.getStudent_name().trim());</p><p> if(f.getC_lesson()!=null){</p><p> d.setLesson_from(f.getLesson_from());</p><p> d.setLesson_to(f.getL
80、esson_to());</p><p><b> }</b></p><p> if(f.getC_student_class()!=null)</p><p> d.setCourse_name(f.getStudent_class().trim());</p><p> if(f.getC_student_
81、dept()!=null)</p><p> d.setStudent_dept_id(f.getStudent_dept().trim());</p><p> if(f.getC_type()!=null)</p><p> d.setType(f.getR_type().trim());</p><p> data=l.gets
82、(d);</p><p> depts=l.getDepts();</p><p> request.setAttribute("data", data);</p><p> request.setAttribute("depts", depts);</p><p> request.set
83、Attribute("info", info);</p><p> return mapping.findForward("leave_query_result");</p><p><b> }</b></p><p> public ArrayList gets(bean.DutysBean d
84、uty_info){</p><p> ArrayList data=null;</p><p> bean.DutysBean leave=new bean.DutysBean();</p><p> String query_sql="SELECT T_Dutys.duty_id,"+</p><p> &
85、quot;T_student_info.student_name,"+</p><p> "T_Dutys.leave_student_id,"+</p><p> "T_Dutys.leave_date,"+</p><p> "T_Dutys.leave_lesson,"+</p&
86、gt;<p> "T_Dutys.leave_type,"+</p><p> "T_Class.class_name, "+</p><p> "T_Course.course_name "+</p><p> "FROM T_Dutys,T_class,T_student
87、_info,T_dept,T_Course "+</p><p> "WHERE T_Dutys.leave_student_id=T_student_info.student_id "+</p><p> "AND T_Student_info.student_class=T_class.class_id "+</p>
88、<p> "AND T_Dept.dept_id=T_Class.class_dept "+</p><p> "AND T_Course.course_id=T_Dutys.leave_course_id "+</p><p> "AND record_type='請(qǐng)假'";</p>
89、;<p> query_sql+=SqlValidate( duty_info);</p><p> if(db.validate()!=null)</p><p> return null;</p><p> java.sql.ResultSet rs=null;</p><p> rs=db.getRs(q
90、uery_sql);</p><p> if(rs==null )</p><p> return null;</p><p><b> try {</b></p><p> data=new ArrayList();</p><p> while(rs.next()){</p&g
91、t;<p> leave=new bean.DutysBean();</p><p> leave.setDuty_id(rs.getString("duty_id"));</p><p> leave.setStudent_id(rs.getString("leave_student_id"));</p><
92、p> leave.setStudent_name(rs.getString("student_name"));</p><p> leave.setLesson(rs.getInt("leave_lesson"));</p><p> leave.setLeave_date(rs.getString("leave_date&qu
93、ot;).substring(0,10));</p><p> leave.setCourse_name(rs.getString("course_name"));</p><p> leave.setType(rs.getString("leave_type"));</p><p> leave.setStudent_
94、class_name(rs.getString("class_name"));</p><p> data.add(leave);</p><p><b> }</b></p><p> } catch (SQLException e) {</p><p> e.printStackTrace
95、();</p><p> return null;</p><p><b> }</b></p><p> return data;</p><p><b> }</b></p><p> public ArrayList getDepts(){</p>
96、<p> ArrayList depts=null;</p><p> bean.DepartmentBean dept;</p><p> if(db.validate()!=null)</p><p> return null;</p><p> java.sql.ResultSet rs=null;&
97、lt;/p><p> rs=db.getRs("select * from T_Dept");</p><p> depts=new ArrayList();</p><p><b> try {</b></p><p> while(rs.next()){</p><p&
98、gt; dept=new bean.DepartmentBean();</p><p> dept.setDept_id(rs.getString("dept_id"));</p><p> dept.setDept_name(rs.getString("dept_name"));</p><p> depts.add
99、(dept);</p><p><b> }</b></p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p> return null;</p><p><b> }</b&g
100、t;</p><p> return depts;</p><p><b> }</b></p><p> 7.1.2.2請(qǐng)假信息修改</p><p> public ActionForward edit(ActionMapping mapping, ActionForm form,</p><
101、;p> HttpServletRequest request, HttpServletResponse response) {</p><p> Leaves_editForm f=(Leaves_editForm)form;</p><p> bean.DutysBean d=new bean.DutysBean();</p><p> String
102、 info=null;</p><p> String sql=null;</p><p> d.setDuty_id((String)request.getParameter("hdn_leave_id"));</p><p> d=l.getSingle(d.getDuty_id().trim());</p><p&
103、gt; d.setLesson(f.getSlt_lesson_from());</p><p> d.setCourse_id(f.getSlt_course().trim());</p><p> d.setLeave_date(f.getTxt_date().trim());</p><p> d.setType(f.getRdo_type().tri
104、m());</p><p> info=new dao.Duty().edit_check(d,"修改");</p><p> if(info==null){</p><p> sql="update T_Dutys set "+</p><p> "leave_lesson=&q
105、uot;+d.getLesson()+","+</p><p> "leave_course_id='"+d.getCourse_id()+"',"+</p><p> "record_type='請(qǐng)假', "+</p><p> "lea
106、ve_type='"+d.getType().trim()+"', "+</p><p> "leave_date='"+d.getLeave_date().trim()+"' "+</p><p> "where duty_id='"+d.getDuty_
107、id().trim()+"'";</p><p> if(l.edit(sql)){</p><p> request.setAttribute("info", "修改請(qǐng)假信息"+d.getDuty_id()+"成功");</p><p> return mapping.f
108、indForward("leave_back");</p><p><b> }</b></p><p><b> else{</b></p><p> request.setAttribute("info", "修改請(qǐng)假信息"+d.getDuty_id()
109、.trim()+"失敗");</p><p> request.setAttribute("leave_id", d.getDuty_id().trim());</p><p> request.setAttribute("leave_re_edit", d);</p><p> return map
110、ping.findForward("leaves_re_edit");</p><p><b> }</b></p><p><b> }else {</b></p><p> request.setAttribute("info", info);</p><
111、;p> request.setAttribute("leave_id", d.getDuty_id().trim());</p><p> request.setAttribute("leave_re_edit", d);</p><p> return mapping.findForward("leaves_re_edit&q
112、uot;);</p><p><b> }</b></p><p><b> }</b></p><p> public ActionForward query_edit(ActionMapping mapping, ActionForm form,</p><p> HttpServlet
113、Request request, HttpServletResponse response) {</p><p> bean.DutysBean data=(bean.DutysBean)request.getAttribute("leave_re_edit");</p><p> String leave_id=((String)request.getParame
114、ter("leave_id")).trim();</p><p> String info=(String)request.getAttribute("info");</p><p> ArrayList depts=null;</p><p> ArrayList courses=null;</p>
115、<p><b> try{</b></p><p> if(leave_id==null)</p><p> leave_id=((String)request.getAttribute("leave_id")).trim();</p><p> if(data==null)</p><
116、p> data=l.getSingle(leave_id.trim());</p><p> }catch(Exception ex){</p><p> ex.printStackTrace();</p><p> request.setAttribute("info", "數(shù)據(jù)讀取失敗");</p>
117、;<p> return mapping.findForward("leave_back");</p><p><b> }</b></p><p> depts=l.getDepts();</p><p> courses=l.getCourses();</p><p> r
118、equest.setAttribute("courses", courses);</p><p> request.setAttribute("data", data);</p><p> request.setAttribute("depts", depts);</p><p> request.s
119、etAttribute("info", info);</p><p> return mapping.findForward("leaves_query_edit");</p><p><b> }</b></p><p><b> 7.2出勤信息管理</b></p>
120、;<p> 7.2.1出勤信息錄入功能</p><p> public ActionForward duty_add_query(ActionMapping mapping, ActionForm f,</p><p> HttpServletRequest request, HttpServletResponse response) {</p><
121、p><b> try {</b></p><p> request.setCharacterEncoding("GBK");</p><p> response.setCharacterEncoding("GBK");</p><p> } catch (UnsupportedEncodin
122、gException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> String info=null;</p><p> info=(String)request.getAttribute("info");&l
123、t;/p><p> String teacher_id=null;</p><p> teacher_id="T_00001";</p><p> ArrayList courses=null;</p><p> courses=duty.getCourse(teacher_id,null); </p>
124、<p> ArrayList depts=null;</p><p> depts=duty.getDepts();</p><p> String cur_date=yasiolar.Date.getDate().trim();</p><p> request.setAttribute("date", cur_date)
125、;</p><p> request.setAttribute("courses", courses);</p><p> request.setAttribute("depts", depts);</p><p> request.setAttribute("info", info);</p&
126、gt;<p> return mapping.findForward("duty_add_query");</p><p><b> }</b></p><p> public ActionForward add(ActionMapping mapping, ActionForm form,</p><p&g
127、t; HttpServletRequest request, HttpServletResponse response) {</p><p><b> try {</b></p><p> request.setCharacterEncoding("GBK");</p><p> response.setCharac
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)---考勤管理系統(tǒng)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文-考勤管理系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文---考勤管理系統(tǒng)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文 考勤管理系統(tǒng)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文--考勤管理系統(tǒng)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文--考勤管理系統(tǒng)
- 計(jì)算機(jī)考勤管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)應(yīng)用專(zhuān)業(yè)畢業(yè)論文---考勤管理系統(tǒng)的設(shè)計(jì)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文(考勤系統(tǒng)軟件設(shè)計(jì))
- 計(jì)算機(jī)應(yīng)用專(zhuān)業(yè)畢業(yè)論文--考勤管理系統(tǒng)的設(shè)計(jì)
- 大學(xué)計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文-高校學(xué)生考勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)畢業(yè)論文--實(shí)驗(yàn)室學(xué)生簽到考勤系統(tǒng)
- 計(jì)算機(jī)應(yīng)用畢業(yè)設(shè)計(jì)---公司人員考勤管理系統(tǒng)
- 計(jì)算機(jī)網(wǎng)絡(luò)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)(論文)
- 計(jì)算機(jī)音樂(lè)系統(tǒng)畢業(yè)設(shè)計(jì)(論文)
- 電費(fèi)管理系統(tǒng)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)
- 網(wǎng)上商城購(gòu)物系統(tǒng)計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)論文
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文---學(xué)生成績(jī)管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)--- 學(xué)生成績(jī)管理系統(tǒng)
- 計(jì)算機(jī)網(wǎng)路畢業(yè)設(shè)計(jì)論文--學(xué)生信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論