學生在線考勤系統的設計與實現畢業(yè)論文_第1頁
學生在線考勤系統的設計與實現畢業(yè)論文_第2頁
學生在線考勤系統的設計與實現畢業(yè)論文_第3頁
學生在線考勤系統的設計與實現畢業(yè)論文_第4頁
學生在線考勤系統的設計與實現畢業(yè)論文_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本科生畢業(yè)設計(申請學士學位)論文題目學生在線考勤系統的設計與實現作者姓名*******所學專業(yè)名稱計算機科學與技術指導教師*************2013年學生:(簽字)學號:2011220133論文答辯日期:2013年06月16日指導教師:(簽字)目錄摘要 1Abstract 11 緒論 21.1系統設計的背景 21.2系統設計的主要意義 21.3論文的結構 22 相關技術和理論基礎 32.1JSP簡介 32.2Mysql簡介 32.3MVC簡介 32.4Tomcat簡介 42.5系統結構模式 43 系統需求分析 53.1系統功能概述 53.2可行性分析 6開發(fā)的必要性 6開發(fā)的可行性 64 系統設計 74.1總體框架設計 7系統布局設計 7總體結構圖 8程序流程圖 84.2數據庫設計 9數據庫需求分析 9數據庫概念結構設計 10數據庫邏輯設計 11數據流圖 135 系統實現 145.1系統功能流程圖 145.2登錄模塊實現 155.3后臺管理模塊實現 15管理員登錄功能實現 15用戶管理功能實現 16課程安排功能實現 18學年安排功能實現 19出勤種類功能實現 205.4考勤管理模塊實現 21查看學生信息功能實現 21管理學生出勤功能實現 21按條件查詢學生出勤情況功能實現 225.5請假管理模塊實現 23學生在線請假功能實現 23教師審批學生請假功能實現 24按條件查詢請假情況功能實現 256 系統測試 266.1測試的重要性及目的 266.2測試過程 266.2.1用戶登陸測試 266.2.2頁面使用安全測試 27系統主要功能測試 27結束語 29參考文獻 29附錄 30致謝 42學生在線考勤系統的設計與實現摘要:傳統的學生考勤模式在目前高校學生管理中暴露出了許多弊端:如學生請假不方便;學生請假對任課教師不透明;學生對自己的整體出勤情況的統計信息缺乏了解;院系領導、學校領導不能及時掌握學生上課的出勤情況等。本課題針對上述問題,利用JSP和Mysql設計并實現了學生在線考勤系統。本系統包含三大功能模塊:請假管理模塊、考勤管理模塊、后臺管理模塊。在系統的實現過程中還綜合運用了頁面模塊化、信息發(fā)布的動態(tài)生成、靜態(tài)頁面顯示等技術。通過使用本系統,任課教師可以在很短的時間內完成學生的考勤、學生的請假等,并將考勤信息存入數據庫,方便以后對學生的評定,又可以節(jié)省考勤所耗費的時間,使之能夠更好的完成教學任務。關鍵詞:考勤管理;在線請假;JSP;MysqlDesignandImplementationofOnlineManagementSystemofStudentAttendanceAbstract:Thetraditionalpatternofstudentattendancemanagementincollegehasanumberofdrawbacks:Itisnotconvenientforstudenttoaskforleave;Theleaverequestsofstudentsarenon-transparentforteachers;Lackofthestatisticalinformationabouttheiroverallattendanceinonesemester;Facultyleaders,andschoolleaderscannotgettheinformationofstudentattendanceintime,andsoon.Toaddresstheseproblems,thisprojectdesignsandimplementstheonlinemanagementsystemofstudentattendance.Thissystemconsistsofthreefunctionalmodules:themoduleofaskingforleave,checkingmodule,andmanagementmodule.Inaddition,Inthesystemimplementationprocessisalsointegrateduseofthepagemodularity,informationdisseminationdynamicallygenerated,staticpagesdisplaytechnology.Byusingthissystem,classroomteachersinaveryshortperiodoftimetocompletethestudent'sattendance,leaveandotherstudents,andattendanceinformationintoadatabase,tofacilitatefutureassessmentofstudents,theycansavetimeandattendancetime-consuming,sobetterabletocompletethetaskofteaching.Keywords:attendancemanagement;onlineleave;JSP;Mysql

緒論1.1系統設計的背景目前高校對學生的考勤主要是基于紙質的登記方式進行,教師在課堂上對學生考勤,考勤結果記錄在表格上,每一次都由學生處和教務處收集教師考勤資料并進行統計,統計的結果送到班主任或院系領導。整個過程絕大部分都由手工完成,不僅工作量大,容易出錯,并且需要一定的時間才能獲得結果,班主任和院校領導不能及時獲取學生的考勤詳情,難以適應新形勢下對學生的管理要求。隨著計算機技術的應用,一些高校大學生對學生使用考勤軟件進行上課情況的登記,但大多數都是單機版的,只能夠在固定的位置來對學生進行考勤,不適合當前高校的管理模式。隨著計算機網絡的普及,高校都建立了校園網絡,這使得在網絡環(huán)境下對學生的考勤變成可能。在線考勤系統主要特點:遠程管理、管理集中、兼容性強。學生考勤系統是利用現代企業(yè)或社區(qū)內部已經普遍架設的局域網線路,把考勤系統融入成為局域網甚至是Internet的一部分,并且不需要另外安裝客戶端,只需要計算機上安裝IE瀏覽器即可操作該系統。在線考勤系統實現了多種用戶類型登陸,除了管理員能夠進行人事、考勤、設備、數據的管理和報表查詢外,普通成員也可以使用個人編號登陸系統進行個人資料修改和個人考勤情況查詢,從而使普通成員能夠方便及時的了解自己的考勤情況,減少管理人員的工作量,使考勤工作更加及時、透明。經過以上分析,本課題決定采用JSP[1]和Mysql開發(fā)該系統,并且選擇MyEclipse為開發(fā)工具進行開發(fā),Tomcat作為系統的測試服務器。1.2系統設計的主要意義傳統的學生考勤管理暴露了很多的弊端:如在校學生請假不是很方便;班級學生請假時對任課的教師不夠透明;院系領導、學校領導更加不能及時的了解學生的出勤狀況等。采用Web技術[2]開發(fā)的學生在線考勤系統不僅能夠滿足高效管理學生的出勤情況,還能夠提供學生在線請假,從而達到利用計算機系統,來提高效率、加快各種辦公業(yè)務流程處理速度的目的,實現教學管理數字化、流程自動化、操作靈活,而不受地域、時間的約束,真正提高效率。在這種背景下,設計并實現一款在線學生考勤系統變得十分有意義。1.3論文的結構本文第1部分緒論主要說明了系統的設計背景、系統設計的主要意義。第2部分介紹了本文所用到的相關技術和理論基礎。第3部分主要介紹系統的功能概述和可行性分析。第4部分主要闡述系統結構設計、總體框架設計和數據庫設計的簡要說明。第5部分詳細介紹了系統各個功能模塊,并簡要描述了各個模塊的功能。第6部分系統測試與數據分析,介紹了測試目標、方法以及測試結果。最后總結了該系統實現的主要功能及其需要進一步改進的地方。相關技術和理論基礎2.1JSP簡介

JSP的全稱是Java

Servlet

Pages,它是SUN推出的一種動態(tài)網頁技術標準。它在傳統的靜態(tài)頁面文件(*.html,*htm)中加入Java程序片段和JSP標記,就構成了JSP頁面[3]。由Web服務器上的JSP引擎來處理JSP元素,生成調用Bean,并用JDBC訪問數據庫(或文件),最后以HTML或XML的形式返回瀏覽器[4]。JSP在Servlet類中編譯,編譯一次后存入內存,以后再調用時,不用再編譯,所以速度很快。

此外JSP還具有以下優(yōu)點:一次性編寫,隨處運行,除了系統之外,代碼基本不做任何的更改;系統支持多平臺;可伸縮性很強大;支持多樣化的開發(fā)工具;

支持服務器端組件。2.2Mysql簡介Mysql是一個關系型的數據庫管理系統,由瑞典MysqlAB公司開發(fā),目前屬于Oracle公司。Mysql是一種關系數據庫管理系統,關系數據庫不是將所有的數據都存放在一個大倉庫內,而是將數據保存在不同的表中[5],這樣不僅增加了速度也提高了靈活性。Mysql的SQL語言是作為標準化語言來訪問數據庫的[6]。Mysql軟件采用了雙授權政策(本詞條“授權政策”),它分為社區(qū)版和商業(yè)版,由于體積很小、速度較快、總成本低,特別是開源代碼這一特點,一般中小型網站的開發(fā)都選擇Mysql作為網站數據庫。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。2.3MVC簡介MVC(Model-View-Controller)即模型-視圖-控制器。MVC設計模式的思想就是把Web應用[7]程序分為3個核心模塊:模型(Model)、視圖(View)、控制器(Controller)[7]。Model層包括業(yè)務邏輯代碼與數據庫代碼;View層包括數據的展示代碼,如HTML、CSS樣式、JSP標簽等;Controller層連接Model層與View層,從Model層獲取數據,送到View層顯示。MVC的結構如圖2-1所示。圖2-1MVC圖2-1MVC結構圖通知數據更新控制器(Controller)視圖(View)模型(Model)狀態(tài)查詢MVC作為一種分層規(guī)定、模塊化的設計思想,它的優(yōu)點有以下幾方面:模型可以被重MVC的優(yōu)點:(1)低耦合性,視圖層和業(yè)務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業(yè)務流程或者業(yè)務規(guī)則的改變只需要改動MVC的模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應用程序的數據層和業(yè)務規(guī)則。(2)高重用性和可適用性,隨著技術的不斷進步,現在需要用越來越多的方式來訪問應用程序。MVC模式準許用戶使用各種不同風格的視圖來訪問相同服務器端代碼。例如,用戶可以經過電腦也可經過手機來購買某種產品,雖然購買的方式不同,但程序處理訂購產品的方式基本一樣。比如,許多的數據可以使用HTML來表示,但是也可能是使用WAP,而這些表示所用到的指令是更改視圖層的實現方式,而模型層與控制層并不需要做任何的改變。(3)比較低的生命周期成本,MVC不同程度的降低了開發(fā)和維護用戶接口的技術含量。(4)快速部署,使用MVC模式使開發(fā)的時間得到了大大的減少,這使得程序員可以(Java開發(fā)人員)集中精力在業(yè)務邏輯層上,而界面程序員(HTML和JSP開發(fā)人員)可以把精力集中在表現形式上[8]。(5)可維護性上,分出視圖層和業(yè)務邏輯層以后也使得WEB應用更容易維護和方便修改。(6)比較利于軟件工程化的管理,由于每一層各司其職,而每一層不同的應用具有某些相似的特征,這就有利于通過工具化、工程化管理程序的代碼。2.4Tomcat簡介Tomcat服務器是一個免費的開放源碼的Web應用服務器,屬于輕量級別的應用服務器,在中小型系統與并發(fā)訪問用戶并不是很多場合下得到廣泛的使用,是程序員開發(fā)和調試JSP程序的第一選擇[9]。對于一個新手來說,可以這樣說,當一臺機器配置好Apache服務器,可以使用它來回應HTML頁面的訪問請求。其實Tomcat部分是Apache服務器的一個擴展,但它是獨自運行的,所以當啟動運行的時候,它實際上是與Apache獨立的進程獨自運行的。Tomcat深受大部分程序員的喜愛,因為它在運行時占用很少的系統資源,擴展性較好,支持負載平衡與郵件服務等開發(fā)應用系統比較常用的一些功能;而且它仍然在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。2.5系統結構模式管理信息系統平臺結構模式大體上分為4種:主機終端模式、文件服務器模式、客戶機/服務器模式(Clint/Server,簡稱C/S)、web瀏覽器/服務器模式(Browser/Server,簡稱B/S)。主機終端模式由于硬件選擇有限,已被逐步淘汰。由于文件服務器模式硬件選擇上很有限,硬件的投資上又得不到保證,已被逐步淘汰。文件服務器這種模式僅適合小規(guī)模式的局域網,對于多用戶,數據量比較大的情況就會引起網絡瓶頸,尤其在互聯網上不能夠滿足用戶的要求。因此,現代企業(yè)級平臺結構模式應主要考慮C/S模式和B/S模式。(1)C/S模式及其特點C/S結構,即客戶機和服務器結構。C/S模式主要由客戶應用程序、服務器管理程序和中間件三部分組成。客戶應用程序是系統中用戶和數據間進行交互的部件。服務器程序則進行有效地管理系統資源,如管理一個信息數據庫,其主要工作是當多個客戶并發(fā)地請求服務器上的相同資源時,對這些資源進行最優(yōu)化管理。中間件主要負責聯結客戶應用程序和服務器管理程序,協作完成作業(yè),來滿足用戶查詢、管理數據的要求。主要特點為:C/S模式將應用和服務分離開,使系統更具有穩(wěn)定性與靈活性;C/S模式配備的是點對點的結構模式,適用于局域網,有很可靠的安全性;客戶端實現和服務器端直接連接,沒有中間的環(huán)節(jié),因此響應速度較快;在C/S模式中,作為客戶機的計算機需要安裝相應的客戶機程序,一旦軟件升級,每一臺客戶機都需要安裝客戶機程序,系統升級和維護起來較為復雜。(2)B/S模式及其特點B/S模式即瀏覽器/服務器結構模式,是基于Internet/Intranet的結構模式,分三層,第一層是表示層,用戶通過在瀏覽器完成與在后臺的交互及最終的查詢結果輸出功能。第二層是具有ODBC接口的WEB服務器,屬功能層,主要是利用服務器來完成客戶的應用功能。第三層是數據層,根據客戶相應請求進行獨立地各種運算。即前臺瀏覽器,中間Web服務器,后臺數據庫的方式。此種結構由用戶在本地客戶端Web頁面發(fā)出請求到WebSever,再由WebSever向數據庫發(fā)出相應請求,而最后中間件服務器接受來自數據庫服務器的應答響應后,最終以頁面的形式返回到客戶端。這樣一來就實現了客戶端不需要直接和數據庫服務器發(fā)生關系,保證了傳輸數據的安全性。主要特點為:用戶使用方便,其在邏輯上采用了3層結構,它在前臺Browse和后臺Server之間增加了一層WebServer層,所有的應用程序模塊都安裝在它上面,在Browse上只需安裝一個通用的瀏覽器軟件,因此,這種模式簡化了客戶端,使用戶的操作更加方便;系統開發(fā)、維護、升級方便。當服務器的應用程序升級的時候,只需要在服務器上升級應用程序即可,而用戶計算機上的瀏覽器軟件不需要做任何的修改,系統開發(fā)與升級維護相對方便;在B/S模式下,用戶通過瀏覽器訪問,系統的開放性好,結構容易擴展;由于Web的平臺無關性,使得B/S模式的結構可以容易的進行擴展,也可以根據發(fā)展的需要,對系統隨時進行擴展,降低了系統的開發(fā)和維護的開銷。鑒于B/S相對于C/S的先進性,在某些方面相對于C/S的巨大改進,使B/S成了管理信息系統平臺的首選。各軟件公司紛紛推出自己的Internet方案,基于Web的財務系統、基于Web的ERP。一些企業(yè)已經領先一步開始使用它,并且收到了一定的成效。所以,開發(fā)基于B/S模式的學生有其重要的現實意義。系統需求分析3.1系統功能概述利用程序設計、Web制作技術、數據庫開發(fā)等技術設計和實現一個學生在線考勤系統。大概分為三大功能模塊:請假系統模塊、考勤系統模塊、后臺管理模塊組成;有學生、任課教師、系統管理員三大類用戶。請假系統模塊:本模塊的功能是在線請假的實現及管理,主要涉及兩類用戶:學生和任課教師,學生通過此功能模塊進行在線請假及查看請假記錄信息;任課教師在線審批學生請假及查看請假記錄信息??记谙到y模塊:此模塊實現學生考勤信息查詢(包括按學院、按專業(yè)、按班級、按考勤人、按時間段等查詢學生出勤情況)、查看及管理,涉及到所有的用戶。任課教師可以在線管理所有學生的出勤情況;班主任、院領導查看不同范圍的學生出勤情況。后臺管理模塊:此模塊實現整個系統數據的同步更新以及維護,只涉及到系統管理員這個用戶,系統管理員可以動態(tài)的對相應用戶進行管理、安排課程、安排學年信息等,是整個系統實現的基礎。3.2可行性分析開發(fā)的必要性針對目前各大高校面積大、學院、專業(yè)、學生數量多,為學校的學生考勤工作開發(fā)一套能夠進行實時處理的信息管理系統是十分有必要的。具體體現如下:(1)考勤不夠全面,一個學校班級、學生人數眾多。學生會安排的考勤工作人員及其有限,任課教師也不可能每節(jié)課都點名,所以高校的學生考勤無法全面地進行。(2)考勤數據不夠準確且點名考勤制耗費了教師和學生大量的時間。(3)臨時有事需要請假的學生得提前找到任課教師、班主任等,簽字請假,這就使得請假管理的執(zhí)行上顯得效率很低。(4)考勤資料的共享程度較低,教師手里掌握的考勤記錄經常會與系學生會、學校教務處的考勤記錄有出入。有了上述原因,對滁州學院學生考勤工作急需一套管理信息系統,而科學管理的必要性也使得這套系統的開發(fā)勢在必行。開發(fā)的可行性經濟可行性:本系統使用B/S架構設計,使用市場上流行的動態(tài)網頁技術[10],開發(fā)簡單,使用又方便,不需要耗費很多的人力和物力就能較快的開發(fā)出來,系統的部署對軟硬件要求又不高,所以從經濟上講是可行的。技術可行性:高校學生在線考勤系統在當前的高校中使用還是很普遍,但也有很多類似的成功案例:如排課管理系統、教務管理系統等。本系統采用JSP,html標識語言、JavaScript腳本語言、和Mysql數據庫等技術進行開發(fā)。JSP是一種安全穩(wěn)定的動態(tài)網頁技術,目前國內各銀行信息系統,ERP系統,企業(yè)的電子商務系統等基本上都用JSP開發(fā)。Mysql數據庫的技術是基于客戶/服務器結構的數據庫管理系統,每個用戶可以通過使用客戶系統從服務器進行檢索信息并可以本地操作,服務器就關注數據庫的進程,而此時的客戶則要關注信息的表示。為了讓客戶端可以從服務器訪問數據,則服務器必須滿足以下兩個重要特征:對數據庫里的數據可以提供單點訪問;將操作和處理在服務器間和客戶端進行分配。Mysql使用Transact-SQL語言進行實現、維護與訪問數據庫,Transact-SQL是SQL(StructuredQueryLanguage)的一個子集標準[11]。Mysql有很多種實用程序允許用戶對它的服務訪問,用戶能夠用這些實用程序對Mysql進行本地或者遠程管理。從以上的分析可知,高校學生在線考勤系統的解決方案它無論在技術,經濟上都是可行的[12]。系統設計4.1總體框架設計4.1.1系統布局設計系統頁面采用框架來設計,不同的用戶有不同的功能菜單,但都有統一的風格,這給頁面的使用和維護都帶來了很大的便利,特別是在代碼重用方面起了很大作用。本系統的頁面設計如圖4-1所示。圖4-1系統布局圖(1)標題顯示區(qū)可以在此展示登錄用戶、年月日、系統標題等信息。(2)功能菜單區(qū)提供系統可供操作的功能列表。(3)頁面主體區(qū)根據用戶操作顯示系統相應的頁面。(4)狀態(tài)信息區(qū)顯示本系統所有權等信息。4.1.2總體結構圖根據系統需求分析,設計出學生在線考勤系統的總體結構。本系統主要涉及到三類功能模塊:考勤管理模塊主要用于任課教師對學生的出勤情況進行記錄、管理等;請假管理模塊主要用于學生在線請假、老師審批等;后臺管理模塊主要用于系統管理員對整個系統數據的同步更新以及維護等。學生在線考勤系統各個模塊之間的層次結構如圖4-2所示。圖4-2系統層次結構示意圖4.1.3程序流程圖用戶在輸入帳號、密碼登錄系統前需要與后臺數據庫核對用戶信息是否合法,登錄成功后,系統會根據用戶的類型判斷該用戶允許使用本系統的哪些功能,進而展示屬于該用戶使用的系統功能菜單界面。學生在線考勤系統的系統運行流程圖如圖4-3所示。圖4-3程序流程圖圖4-3程序流程圖4.2數據庫設計4.2.1數據庫需求分析數據庫設計是指對于一個給定的應用環(huán)境,構造設計優(yōu)化的數據庫邏輯模式和物理結構,并據此建立數據庫以及應用環(huán)境,使之能夠有效地存儲和管理數據,滿足各種用戶的應用需求,包括信息管理要求和數據操作要求。

設計這個系統的主要目的就是實現學生在線考勤管理的規(guī)范化。

數據庫的需求分析階段是整個數據庫設計過程中的基礎,也是耗時就多,最困難的一步。需求分析的任務就是通過詳細調查現實世界要處理的對象,充分了解原系統工作概況,明確用戶的各種需求,然后在此基礎上確定新系統的功能。這個階段的工作成果主要包含以下三個方面的內容。(1)數據項每種具體數據的名稱、意義、類型、取值范圍以及與其他數據項之間的邏輯關系。

(2)數據集若干數據項的有邏輯關聯的集合,包括名稱、意義和組成數據集的數據項。

(3)數據流應用系統運行時,數據是怎么輸入、處理和輸出。學生考勤管理系統要實現考勤管理、請假管理、后臺管理三大子系統,需要了解學生用戶、任課教師用戶、管理員用戶等三類用戶的功能模塊。然后,據此分析出數據需求。要實現以上所述功能,系統采用的數據庫需具備以下的基本存儲信息:學生信息表:學生姓名、學號、專業(yè)、班級、聯系電話等。學生考勤表:學生姓名、學院、專業(yè)、班級、出勤情況、考勤人等。我的請假表:請假人、請假時間、請假類型、請假理由、請假狀態(tài)等。課程表:課程名稱、專業(yè)、任課教師、學時、學分等。學年安排表:學年、計劃安排、詳細信息等。4.2.2數據庫概念結構設計根據數據庫的需求分析,設計具體數據庫[13]的主要實體模型圖、E-R模型圖,如下:(1)學生請假信息的實體模型圖如圖4-4所示。圖4-4請假記錄屬性模型(2)教師考勤信息的實體模型圖如圖4-5所示。圖4-5考勤記錄屬性模型(3)學生請假信息的E-R模型如圖4-6所示。圖4-6學生-請假記錄E-R模型(4)學生出勤信息的E-R模型如圖4-7所示。圖4-7學生—出勤記錄E-R模型4.2.3根據數據庫的需求分析,設計具體數據庫邏輯結構[14],包含的表如下:(1)用戶管理表:這張表用來保存用戶管理員的基本信息,表結構如表4-1所示。表4-1用戶管理表字段中文名稱字段英文名稱字段長度字段類型IDId11int用戶帳號userAcct18varchar用戶密碼userPass18varchar刪除標識(0:正常;1:刪除)deleteFlag1int用戶名稱userName20varchar用戶類型(1:系統管理員;2:普通用戶)userType1int狀態(tài)(0:未審批;1:審批通過)status1int(2)學生信息表:這張表用來保存學生的基本信息。學生信息表如表4-2所示。表4-2學生信息表字段中文名稱字段英文名稱字段長度字段類型IDid11int學生姓名xueshengxingming50varchar學號xuehao50varchar專業(yè)zhuanye50varchar班級banji50varchar聯系電話lianxidianhua50varchar操作人IDoperatorId20varchar操作時間itime20varchar備注detail1000varchar刪除標識(0:正常;1:刪除)deleteFlag1int(3)學生考勤表:這張表用來記錄教師考勤所需的基本信息。學生考勤表如表4-3所示。表4-3學生考勤表字段中文名稱字段英文名稱字段長度字段類型IDid11varchar考勤學生kaoqinxuesheng50varchar考勤時間kaoqinshijian50varchar出勤情況chuqinqingkuang50varchar考勤人kaoqinren50varchar附件路徑fujian200varchar操作人IDoperatorId20varchar操作時間itime20varchar備注detail1000varchar刪除標識(0:正常;1:刪除)deleteFlag1int(4)我的請假表:這張表用來記錄學生請假所需的基本信息。我的請假表如表4-4所示。表4-4我的請假表字段中文名稱字段英文名稱字段長度字段類型IDid11int請假人qingjiaren50varchar請假時間qingjiashijian50varchar請假類型qingjialeixing50varchar請假理由qingjialiyou3000varchar狀態(tài)zhuangtai50varchar附件路徑fujian200varchar操作人IDoperatorId20varchar操作時間itime20varchar備注detail1000varchar刪除標識(0:正常;1:刪除)deleteFlag1int(5)課程管理表:這張表用來保存課程的基本信息。課程管理表如表4-5所示。表4-5課程管理表字段中文名稱字段英文名稱字段長度字段類型IDid11int課程名稱kechengmingcheng50varchar所屬專業(yè)suoshuzhuanye50varchar任課教師renkelaoshi50varchar學時xueshi50varchar學分xuefen50varchar操作人IDoperatorId20varchar操作時間itime20varchar備注detail1000varchar刪除標識(0:正常;1:刪除)deleteFlag1int(6)學年安排表:這張表用來保存每個學年的基本信息。學年安排表如表4-6所示。表4-6學年安排表字段中文名稱字段英文名稱字段長度字段類型IDid11int學年xuenian50varchar計劃安排jihuaanpai3000varchar操作人IDoperatorId20varchar操作時間itime20varchar備注detail1000varchar刪除標識(0:正常;1:刪除)deleteFlag1int4.2.4數據流圖是一種可以描述結構化系統分析的工具。它既能表達數據在系統的內部邏輯流向及存儲,也能表達出系統的邏輯功能與數據的邏輯變換。數據流圖既可以表達出現行人工系統的數據流程與邏輯處理功能,也可以表達自動化系統的數據流程與邏輯處理功能。學生在線考勤系統的請假管理數據流圖如圖4-8所示。圖4-8請假管理數據流圖學生在線考勤系統的考勤管理數據流圖如圖4-9所示。圖4-9考勤管理數據流圖系統實現5.1系統功能流程圖根據不同用戶登錄學生在線考勤系統,系統運行的主界面流程圖如圖5-1所示。圖5-1主界面流程圖5.2登錄模塊實現用戶輸入用戶名和密碼,就能登陸到相應的操作界面。如果用戶名和密碼不正確,會提示用戶重新輸入數據登錄。用戶登陸時操作頁面如圖5-2所示。圖5-2登錄頁面主要代碼:<html><head><title>用戶登錄</title> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"> <!-- <linkrel="stylesheet"type="text/css"href="styles.css"> --> <scripttype="text/javascript"> functionjump(){ window.location.href="/login.do"; } </script></head><bodyonload="jump();"><br></body></html>5.3后臺管理模塊實現5.3.1管理員登錄功能實現管理員在瀏覽器地址中輸入正確用戶名、密碼后就可以登陸本系統的管理員首頁。在首頁上端會顯示登錄名、日期、系統標題等,左側顯示系統的常用的請假管理、考勤管理、學校安排、系統管理等功能菜單欄,如圖5-3所示。圖5-3管理員登錄頁面主要代碼: ${PubMata} ${PubTitle} ${PubJS} <scripttype="text/javascript"> varSYSTEM_NAME='${SYSTEM_NAME}'; varSYSTEM_DESIGNER='${SYSTEM_DESIGNER}'; vartopPanDisplay='${ResultMap.topPanDisplay}'; varsouthPanDisplay='${ResultMap.southPanDisplay}'; varmenuRegion='${ResultMap.menuRegion}'; varmenuCollapse='${ResultMap.menuCollapse}'; varanimate='${ResultMap.menuAnimate}'; varmenuBackground='${ResultMap.menuBackground}'; </script> <scripttype="text/javascript"src="/WEB-ROOT/skin/js/pub/tree/MenuTree.js"charset="gb2312"></script> <scripttype="text/javascript"src="/WEB-ROOT/app/index/index.js"charset="gb2312"></script>5.3.2用戶管理功能實現在考勤系統的用戶管理菜單下系統管理員可以對系統的用戶進行瀏覽、編輯以及對特殊的用戶進行相應的功能授權等,如圖5-4所示。圖5-4用戶管理頁面主要代碼:<!--得到當前登陸人的菜單權限--> <selectid="getUserMenuRights"resultClass="java.util.HashMap"parameterClass="java.util.Map"> selectdistinctc.menu_todo frommenu_infoc wherec.idin( selectdistinctb.menu_id fromuser_menub whereb.user_id= (selecta.id fromuser_infoa wherea.userAcct='$login_user_acct$') )andc.menu_status=#menu_status# </select><!--判斷用戶是否有指定菜單權限--> <selectid="select_user_menu_auth"resultClass="java.lang.Object"parameterClass="java.util.Map"> selectcount(id) fromuser_menu whereuser_id='$userID$'andmenu_id=#menu_id# </select>5.3.3課程安排功能實現系統管理員可以按照學校課程安排,打開學校安排菜單欄下的課程管理選項可以對課程進行瀏覽、編輯,輸入本學期各班級要學習的課程名稱、學時、學分等以供教師、學生查看,如圖5-5所示。圖5-5課程安排頁面主要代碼:publicModelAndViewdoAdd(SqlMapClientsqlMap,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{PrintWriterpw=null;try{response.setCharacterEncoding("utf-8");pw=response.getWriter();HashMap<String,Object>where=newHashMap<String,Object>();where.put("operatorId",SysInfo.getLoginUserId(request,response));Stringkechengmingcheng=request.getParameter("kechengmingcheng");where.put("kechengmingcheng",kechengmingcheng);Stringsuoshuzhuanye=request.getParameter("suoshuzhuanye");where.put("suoshuzhuanye",suoshuzhuanye);Stringrenkelaoshi=request.getParameter("renkelaoshi");where.put("renkelaoshi",renkelaoshi);Stringxueshi=request.getParameter("xueshi");where.put("xueshi",xueshi);Stringxuefen=request.getParameter("xuefen");where.put("xuefen",xuefen);Stringdetail=request.getParameter("detail");where.put("detail",detail);sqlMap.insert("Kechengguanli.insertObj",where);pw.write("{success:true,msg:'新增操作成功!'}");5.3.4學年安排功能實現系統管理員可以按照學校學年安排,打開學校安排菜單欄下的學年管理選項,可以對學年進行瀏覽、編輯,管理員后臺輸入學年安排以供教師、同學查看,如圖5-6所示。圖5-6學年安排頁面主要代碼:publicModelAndViewdoAdd(SqlMapClientsqlMap,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{PrintWriterpw=null;try{response.setCharacterEncoding("utf-8");pw=response.getWriter();HashMap<String,Object>where=newHashMap<String,Object>();where.put("operatorId",SysInfo.getLoginUserId(request,response));Stringxuenian=request.getParameter("xuenian");publicModelAndViewdoUpdate(SqlMapClientsqlMap,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{PrintWriterpw=null;try{response.setCharacterEncoding("utf-8");pw=response.getWriter();HashMap<String,Object>where=newHashMap<String,Object>();Stringxuenian=request.getParameter("xuenian");where.put("xuenian",xuenian);Stringjihuaanpai=request.getParameter("jihuaanpai");where.put("jihuaanpai",jihuaanpai);Stringid=request.getParameter("id");where.put("id",id);Stringdetail=request.getParameter("detail");where.put("detail",detail);sqlMap.update("Xueniananpai.updateObj",where);5.3.5出勤種類功能實現系統管理員可以根據現實情況適當增加或者刪除出勤的種類,如遲到、早退、正常等,學生的請假類型,如事假、病假等以供教師在考勤時、同學在請假時選擇,如圖5-7所示。圖5-7出勤種類頁面主要代碼:publicModelAndViewdoAdd(SqlMapClientsqlMap,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{PrintWriterpw=null;try{response.setCharacterEncoding("utf-8");pw=response.getWriter();HashMap<String,Object>where=newHashMap<String,Object>();where.put("operatorId",SysInfo.getLoginUserId(request,response));Stringqingjialeixing=request.getParameter("qingjialeixing");where.put("qingjialeixing",qingjialeixing);Stringdetail=request.getParameter("detail");where.put("detail",detail);sqlMap.insert("Qingjialeixing.insertObj",where);5.4考勤管理模塊實現5.4.1查看學生信息功能實現教師、院系領導在正確輸入用戶名、密碼登錄學生考勤系統后在打開考勤管理功能菜單下的學生考勤選項后可以瀏覽學生信息,如圖5-8所示。圖5-8查看學生信息頁面主要代碼:publicModelAndViewhandleRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsException{ModelAndViewmodelAndView=null;SqlMapClientsqlMap=null;try{sqlMap=DBUtils.getSqlMap(this.getClass());sqlMap.startTransaction();publicModelAndViewdoGetJsonStor(SqlMapClientsqlMap,HttpServletRequestrequest,HttpServletResponseresponse){PrintWriterpw=null;try{HashMap<String,Object>where=newHashMap<String,Object>();StringkaoqinxueshengSearch=request.getParameter("kaoqinxueshengSearch");if(kaoqinxueshengSearch!=null&&!kaoqinxueshengSearch.equals("")){ where.put("kaoqinxueshengSearch",kaoqinxueshengSearch);}StringxueyuanSearch=request.getParameter("xueyuanSearch");if(xueyuanSearch!=null&&!xueyuanSearch.equals("")){ where.put("xueyuanSearch",xueyuanSearch);5.4.2管理學生出勤功能實現教師在正確輸入用戶名、密碼登錄學生考勤系統后可以把上課遲到、曠課等的同學通過編輯該學生的信息打開下拉菜單修改學生的出勤情況。例如,默認情況下學生出勤是正常,當某同學遲到時,教師就可以更改該學生的出勤為遲到,如圖5-9所示。圖5-9管理學生出勤頁面主要代碼: publicModelAndViewdoUpdate(SqlMapClientsqlMap,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{PrintWriterpw=null;try{response.setCharacterEncoding("utf-8");pw=response.getWriter();HashMap<String,Object>where=newHashMap<String,Object>();sqlMap.update("Xueshengkaoqing.updateObj",where);pw.write("{success:true,msg:'修改表單成功!'}");}catch(Exceptione){pw.write("{success:false,msg:'修改表單失??!'}");e.printStackTrace();thrownewException();5.4.3按條件查詢學生出勤情況功能實現院校領導、教師等在輸入正確的用戶名、密碼登錄學生考勤系統后根據相應查詢條件,如:按時間段、學院、專業(yè)、班級、考勤人等查詢符合要求的學生出勤詳細信息等,如圖5-10所示。圖5-10按條件查詢學生出勤情況頁面主要代碼:ManageObj.initSearchForm=function(){ /*初始化搜索表單*/ ManageObj.searchForm=newExt.FormPanel({ id:'mySearchForm', labelAlign:'left', buttonAlign:'center', bodyStyle:'padding:0px;', frame:true, border:false, labelWidth:75, items:[{ //xtype:'fieldset', //title:'查詢條件', anchor:'100%', layout:'column', labelSeparator:':', labelAlign:'right', items:[{columnWidth:.2,layout:'form',border:false,items:[{xtype:'datefield',format:'Y-m-d',fieldLabel:'操作時間',name:'itimeStartSearch',id:'itimeStartSearch',invalidText:'日期格式不正確,應為yyyy-mm-dd',5.5請假管理模塊實現5.5.1學生在線請假功能實現學生在正確輸入用戶名、密碼登錄學生考勤系統后,打開請假管理菜單下的我的請假選項填寫好請假人、請假時間、請假理由等點擊提交表單后,請假信息就會實時的發(fā)送給教師,如圖5-11所示。圖5-11學生在線請假主要代碼:publicModelAndViewhandleRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsException{ModelAndViewmodelAndView=null;SqlMapClientsqlMap=null;try{sqlMap=DBUtils.getSqlMap(this.getClass());sqlMap.startTransaction();publicModelAndViewdoAdd(SqlMapClientsqlMap,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{ PrintWriterpw=null; try{ response.setCharacterEncoding("utf-8"); pw=response.getWriter(); HashMap<String,Object>where=newHashMap<String,Object>(); where.put("operatorId",SysInfo.getLoginUserId(request,response)); sqlMap.insert("Wodeqingjia.insertObj",where); pw.write("{success:true,msg:'新增操作成功!'}");5.5.2教師審批學生請假功能實現教師在輸入正確的用戶名、密碼登錄學生考勤系統后打開請假管理菜單下的審批請假就可以查看需要請假的學生詳細信息,根據申請理由決定是否允許其請假,如圖5-12所示。圖5-12教師審批學生頁面主要代碼:publicModelAndViewdoShenPi(SqlMapClientsqlMap,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{ PrintWriterpw=null; Stringinfo=""; try{ Stringid=request.getParameter("id"); Stringzhuangtai=request.getParameter("zhuangtai"); response.setCharacterEncoding("utf-8"); pw=response.getWriter(); HashMap<String,Object>where=newHashMap<String,Object>(); where.put("zhuangtai",zhuangtai); where.put("id",id); sqlMap.delete("Wodeqingjia.doShenPi",where); pw.write("{success:true,msg:'操作成功!'}"); Loggerlogger=Logger.getLogger(this.getClass().getName()); }catch(Exceptione){ pw.write("{success:false,msg:'操作失??!'}"); e.printStackTrace(); thrownewException(); } 5.5.3按條件查詢請假情況功能實現院校領導、教師等在正確輸入用戶名、密碼登錄學生在線考勤系統后可以按時間段、請假類型、請假理由、請假人等,查詢符合要求的學生詳細信息等,如圖5-13所示。圖5-13按條件查詢請假情況頁面主要代碼:publicModelAndViewdoGetJsonStore(SqlMapClientsqlMap,HttpServletRequestrequest,HttpServletResponseresponse){ PrintWriterpw=null; try{ HashMap<String,Object>where=newHashMap<String,Object>(); StringqingjiarenSearch=request.getParameter("qingjiarenSearch"); if(qingjiarenSearch!=null&&!qingjiarenSearch.equals("")){ where.put("qingjiarenSearch",qingjiarenSearch); } StringqingjiashijianSearch=request.getParameter("qingjiashijianSearch"); if(qingjiashijianSearch!=null&&!qingjiashijianSearch.equals("")){ where.put("qingjiashijianSearch",qingjiashijianSearch); } StringqingjialeixingSearch=request.getParameter("qingjialeixingSearch"); if(qingjialeixingSearch!=null&&!qingjialeixingSearch.equals("")){ where.put("qingjialeixingSearch",qingjialeixingSearch);系統測試6.1測試的重要性及目的軟件測試是在交給用戶使用前,對軟件進行需求分析、設計規(guī)格說明與編碼的最終復審,是軟件質量保證與否的關鍵性步驟。軟件測試就是為了發(fā)現盡可能多的缺陷、錯誤的過程。測試的重要性:軟件測試是為了充分保證軟件質量的重要活動,它貫穿于整個軟件開發(fā)生命周期,是軟件項目實施的不可缺少的環(huán)節(jié)。軟件測試的直接目的是發(fā)現軟件中存在的缺陷,進而改正軟件中的錯誤、彌補缺陷、完善功能,從而保證開發(fā)軟件的質量、性能。測試的目的:如果測試是為了盡可能多的找到錯誤,那么測試就該針對軟件中相當復雜的部分或者是曾經出錯較多的位置。(1)軟件的測試是為了發(fā)現軟件中的錯誤而執(zhí)行的程序過程;(2)測試是為了能夠證明程序中存在錯,而不是證明程序中沒有錯誤;(3)一個好的測試用例是在于它能夠發(fā)現至今尚未發(fā)現的錯誤;(4)一個成功的測試是能夠發(fā)現至今沒有發(fā)現的錯誤的測試。6.2測試過程用戶登陸測試用戶登陸測試是測試系統訪問的安全性,以及各個頁面的設計的安全性,測試的方案如下,用戶測試表如表6-1所示。表6-1用戶測試表用戶類型用戶名密碼空密碼錯誤密碼/用戶名錯誤類型學生stu11111否否否教師tea11111否否否管理員admin1111否否否說明:上表中的“否”表示拒絕訪問,不能通過在線考勤系統的身份驗證?!笆恰北硎灸軌蛟L問考勤系統。通過上表進行反復測試黑盒測試可知,用戶在登陸考勤系統的安全方面不存在問題,用戶必須在使用正確的用戶名、密碼后方能正常使用此系統。6.2.2頁面使用安全測試頁面使用安全測試主要是測試考勤系統各個頁面的安全性,即用戶在沒有正常登錄的情況下直接于瀏覽器地址欄中輸入需要打開的用戶頁面,或者用戶使用正確用戶名、密碼登錄系統后,直接在瀏覽器的地址輸入別的用戶的使用頁面,測試各頁面是否不需要用經過戶登錄便可使用,或者看是否可以繞過考勤系統的身份驗證。在用戶并沒有登陸系統的時候,就直接在瀏覽器地址欄輸入http://localhost/WEB-ROOT/app/index/index.jsp。此地址是管理員用戶的首頁完全地址,看能否能打開操作。測試結果:提示用戶還沒有登陸考勤系統。依次測試其他頁面,其他用戶,測試結果都是:提示用戶還沒登陸考勤系統。通過以上測試可知:系統有很好的安全性,每個頁面都不允許用戶在沒有登陸的前提下訪問,用戶在登陸后,也不允許用戶訪問別的用戶類型的頁面,即不能繞過身份驗證。6.2.3系統主要功能測試(1)請假測試請假系統是學生用戶的核心功能,由于涉及的用戶比較多,此部分的測試是在多個用戶的配合下完成,主要完成以下測試:學生在輸入正確的用戶名、密碼登錄學生考勤系統后,填寫相應的請假信息提交請假表單給教師,可以看到目前的審批狀態(tài)是未審批,如圖6-1所示。圖6-1學生請假教師在輸入正確的用戶名、密碼登錄學生考勤系統后,在請假管理菜單下會看到學生stu1需要請假,教師可以瀏覽該學生信息以決定是否允許其請假,如圖6-2所示。圖6-2教師審批(2)考勤測試教師在輸入正確的用戶名、密碼登錄學生考勤系統后,打開學生的信息,點到沒到的學生姓名后可以打開下拉菜單修改該學生出勤狀況,如圖6-3所示。圖6-3教師考勤(3)查詢出勤情況測試院系領導登錄到系統后,在考勤管理菜單下打開學生考勤,可以按時間段、學院、專業(yè)、班級、考勤人、出勤狀況等查詢學生的出勤情況,如圖6-4所示。圖6-4查詢出勤情況(4)用戶管理測試系統管理員在輸入正確的用戶名、密碼登錄學生考勤系統后,打開系統管理菜單下的用戶管理選項,可以給予特殊的用戶授予相應的特權,如圖6-5所示。圖6-5特殊用戶功能授權結束語通過幾個月的努力,學生在線考勤系統中的三大功能模塊:請假管理、考勤管理和后臺管理,基本功能順利完成。請假管理主要完成學生向任課教師請假,以及任課教師在收到請假信息后,根據學生的請假理由是否合理來決定是否允許其請假;考勤管理主要完成任課教師在上課前對上課遲到、曠課等的同學做一個網上記錄,方便班主任、校領導等以在線的方式登錄考勤系統后查看學生的出勤、請假狀況等;系統管理員可以在線管理用戶、安排學生課程以及安排學年安排等。雖然考勤系統可以基本完成高??记谒枰闹饕δ?,但還一些需要進一步改進的地方。例如,教師在進行考勤管理的時候,教室里必須有網絡可以連接;考勤的形式不是學生打卡或按手紋,而是教師必須網上登記;學生請假的時候,教師必須先登錄考勤系統才可以查看是否有學生請假;針對以上問題,會考慮在以后進行繼續(xù)修改、完善??紤]以軟硬件結合的方式來進行學生考勤,學生在提交請假申請時能否短信通知任課教

溫馨提示

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

評論

0/150

提交評論