【正文】
院(部)名 稱: 計(jì)算機(jī)科學(xué)與工程學(xué)院 學(xué) 生 姓 名: 專 業(yè): 學(xué) 號(hào): 指導(dǎo)教師姓名: 論文提交時(shí)間: 論文答辯時(shí)間: 學(xué)位授予時(shí)間: 北方民族大學(xué)教務(wù)處制40 / 46 請(qǐng)假管理系統(tǒng)設(shè)計(jì)與應(yīng)用摘 要當(dāng)前信息化時(shí)代,講究高效,準(zhǔn)確,及時(shí)的完成事情,近年來學(xué)校都在開展信息化部署,實(shí)現(xiàn)了多媒體教學(xué),網(wǎng)上提交作業(yè),在線考試等學(xué)生考勤對(duì)學(xué)校教務(wù)管理是至關(guān)重要,在以前,學(xué)生請(qǐng)假要去找班主任或者院長批準(zhǔn),并且不一定每次都能順利的找到班主任,完成請(qǐng)假批準(zhǔn)。針對(duì)以上的問題,開發(fā)一種針對(duì)學(xué)生請(qǐng)假的考勤網(wǎng)上管理系統(tǒng),通過請(qǐng)假管理系統(tǒng),任課老師可以在課堂上直接登錄考勤記錄網(wǎng)站進(jìn)行課堂查看那些學(xué)生打卡,記錄學(xué)生考勤情況等。關(guān)鍵詞:請(qǐng)假管理系統(tǒng) ,(Struts2,Spring,Hibernate ),JAVA , JSP Design and implementation of attendance management systemAbstractThe current information age, pay attention to the effective, accurate and timely pletion of things, in recent years, schools carry out information technology deployment, to achieve a multimedia teaching, submission of online homework, online examnation, student attendance is critical for school educational administration. Previously, students leave to go to the class teacher or the president to be approved , and does not always able to find teacher pletion of the leave of absence approved if more than 3 days leave should go to the president for approval, so that trouble。如今高校的招生就業(yè)系統(tǒng),主頁展示系統(tǒng),教務(wù)管理系統(tǒng),論壇BBS等系統(tǒng)在各大高校紛紛出現(xiàn),對(duì)學(xué)校的老師和學(xué)生的學(xué)習(xí)生活帶來了便利。對(duì)于上述弊端,如果通過信息化管理,就可以減少或者消除。 經(jīng)濟(jì)可行性根據(jù)系統(tǒng)的總體評(píng)估系統(tǒng)所要付出的費(fèi)用,該畢業(yè)設(shè)計(jì)所設(shè)計(jì)的費(fèi)用,主要是個(gè)人勞動(dòng)時(shí)間的消耗,和打印費(fèi)用,經(jīng)濟(jì)可行性容易滿足。根據(jù)用戶的需求,應(yīng)當(dāng)具備學(xué)生和老師的請(qǐng)假功能、對(duì)班主任對(duì)本班學(xué)生的考勤管理、管理員對(duì)用戶,課程等內(nèi)容管理這三大主要功能。請(qǐng)假系統(tǒng)由班主任安排完成,學(xué)生的請(qǐng)假大部分由班主任批準(zhǔn),3天以上的要提交到院系批準(zhǔn),考勤管理系統(tǒng)要借助請(qǐng)假系統(tǒng)、班級(jí)課表安排才能完成,根據(jù)不同年級(jí)不同系院課表不同,因此必須要求管理員對(duì)學(xué)校的課表能根據(jù)系統(tǒng)需求,動(dòng)態(tài)的、準(zhǔn)確的更新課表。模塊化了這些功能,每個(gè)模塊單獨(dú)進(jìn)行安裝、擴(kuò)展、升級(jí),不會(huì)影響其他模塊功能。 TomcatTomcat 因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性強(qiáng),支持功能多,因此Tomcat被廣泛應(yīng)用,受到廣大程序員青睞 ;有強(qiáng)大的技術(shù)支持后盾,Tomcat在不斷的更新,因?yàn)槠溟_源,全世界的程序員,只要你有興趣為它做改進(jìn),做完善都可以給Tomcat添加新功能。 JSP技術(shù)與MVC模式以及系統(tǒng)的基本框架本系統(tǒng)采用Jsp技術(shù),基于MVC模式開發(fā),使用SSH框架(StrutsSpring、Hibernate)來增加系統(tǒng)的開發(fā)速度。Hibernate主要用在Dao,包括對(duì)數(shù)據(jù)庫的增、刪、改、查的操作,Spring作為一個(gè)大的工廠,把Web,Action,Service,Dao,JoPo等中間層無縫對(duì)接[6]。比如,Struts2屬于MVC框架,關(guān)鍵是要了解MVC的概念及大致原理;而Hibernate屬于ORM系統(tǒng),屬于持久層的解決方案,同樣需要對(duì)ORM的概念及原理有一個(gè)總體的了解。其基本構(gòu)成如圖31所示。簡單的說,Hibernate 只是一個(gè)將持久化類與數(shù)據(jù)庫表相映射的工具,每個(gè)持久化類實(shí)例均對(duì)應(yīng)于數(shù)據(jù)庫表中的一個(gè)數(shù)據(jù)行而已。 圖41系統(tǒng)功能模塊圖 圖42系統(tǒng)總體架構(gòu)圖(MVC)系統(tǒng)管理員的主要功能有班級(jí)管理、學(xué)科管理、用戶管理包括(系統(tǒng)管理員、系院主任、任課老師、班主任、學(xué)生的增,刪,改,查)、課程管理。院長的功能圖如圖44所示 任課老師的主要功能有課程表查詢、學(xué)生請(qǐng)假管理、考勤情況管理(包括考勤情況記錄的添加和批量添加)。該系統(tǒng)中班主任的操作業(yè)務(wù)是一個(gè)重點(diǎn),對(duì)學(xué)生的情況進(jìn)行綜合查詢,有綜合管理的功能,可以統(tǒng)計(jì)出本班該學(xué)期的出勤情況,每個(gè)學(xué)生的出勤情況,然后根據(jù)學(xué)生情況,給學(xué)生年終評(píng)定。學(xué)生用戶的功能圖如圖47所示 系統(tǒng)業(yè)務(wù)描述本系統(tǒng)分系統(tǒng)管理員,系院長,任課老師,班主任,學(xué)生5個(gè)用戶角色。班主任的主要功能有課程表查詢、學(xué)生請(qǐng)假管理(審核3天以內(nèi)的請(qǐng)假)、考勤情況管理(包括考勤情況記錄的添加和批量添加)。概念模型設(shè)計(jì)的典型方法是用ER圖方法,即用實(shí)體聯(lián)系模型表示。因此系統(tǒng)的定義數(shù)據(jù)庫主要包含6張表:班級(jí)表class,考勤表attendance,課程表course,請(qǐng)假單表application,學(xué)科表subject,用戶表users。 請(qǐng)假單表application建表的sql語句為:CREATE TABLE `application` ( `aid` int(11) NOT NULL auto_increment, `classNo` varchar(255) default null, `codeNo` varchar(255) default null, `createTime` datetime default null, `startTime` varchar(255) default null, `endTime` varchar(255) default null, `review` varchar(255) default null, `content` varchar(255) default null, `username` varchar(255) default null, PRIMARY KEY (`aid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8。 圖61 班級(jí)類圖 考勤類圖主要接口有banjiDao,userDao,subjectDao等,主要方法有g(shù)etSubjectDao(),getUserDao()等。圖67 班級(jí)流程圖 任課老師對(duì)學(xué)生的考勤管理流程:學(xué)生提交完請(qǐng)假單,通過審核后,任課老師后臺(tái)就會(huì)顯示所帶課程的學(xué)生請(qǐng)假情況,根據(jù)數(shù)據(jù)庫記錄,任課老師對(duì)學(xué)生考勤管理。 圖 610 課程流程圖用戶信息由管理員統(tǒng)一添加,其他用戶可以修改自己的信息,老師可以查詢所管理的學(xué)生信息,流程如下圖611所示。 登陸頁面 從頁面接收到username和password后,通過userDao連接數(shù)據(jù)庫查詢操作返回一個(gè)user集合,與頁面得到username和password進(jìn)行驗(yàn)證,驗(yàn)證成功則允許登錄,否則返回登錄頁面,提示重新輸入登錄名和密碼。 User user = (username, password)。 String kaoqinlogtishi=。 (username, ())。 (loginuser, user)。 return fail。 int pageNum = 1。 } if((numPerPage)!=null){ numPerPage = ((numPerPage))。 (ps, numPerPage)。 }代碼如下:。 課程管理主頁面 圖614 班級(jí)頁面圖代碼如下:SuppressWarnings(unchecked) public String subjcetlist() throws Exception { HttpServletRequest request = ()。amp。 ListSubject subjects = ( (pageNum 1) * numPerPage, numPerPage)。 (subjectlist, subjects)。同時(shí)通過return success。 if((pageNum)!=null amp。 } int total = ()。 (pn, pageNum)。 } 。7 系統(tǒng)的調(diào)試與測試本次測試主要針對(duì)本次開發(fā)的請(qǐng)假管理信息系統(tǒng)進(jìn)行系統(tǒng)測試,主要包括功能測試、界面測試、負(fù)載測試,文檔測試。4)質(zhì)量也代表著它符合客戶的需要。 1)尋找Bug;總的目標(biāo)是:確保軟件的質(zhì)量整個(gè)系統(tǒng)測試方法包括功能測試、負(fù)載測試、文檔測試。負(fù)載測試?yán)米詣?dòng)測試工具開展,網(wǎng)絡(luò)上有很多壓力測試工具。 登錄測試 有效測試輸入情況:輸入正確的無特殊字符的登錄名和密碼。提出假設(shè)測試:1)假設(shè)學(xué)生提交3天以上的請(qǐng)假單(如請(qǐng)假一周),不通過院長審批,直接由班主任審批通過,完成請(qǐng)假流程。 圖75審批無效結(jié)果圖 測試結(jié)果:沒有通過班主任或者院長審批的請(qǐng)假單,是無效請(qǐng)假單,在任課老師頁面無法顯示,任課老師也不知道學(xué)生在校情況。另外,通過對(duì) J2EE項(xiàng)目開發(fā),使我對(duì)項(xiàng)目開發(fā)軟件更加熟悉,更加深入的了解了SSH三大框架結(jié)合編程的好處,體會(huì)到MVC模式下編程開發(fā)的完美,也深深體會(huì)到了Java語言的使用簡便,功能強(qiáng)大。 對(duì)于代碼部分力求避免出現(xiàn)邏輯錯(cuò)誤,算法設(shè)計(jì)不強(qiáng)點(diǎn)復(fù)雜,做到簡單合理,對(duì)于程序有統(tǒng)一的格式編碼,盡量使程序具有較好的可讀性,有利于其他的設(shè)計(jì)者對(duì)程序的閱讀及其后期修改。保證程序的邏輯結(jié)構(gòu)清晰明了,編程時(shí)多使用通用方法比如函數(shù),函數(shù)要使用通用窗體函數(shù)。程序代碼中還存在不少的問題,這些問題在后期的修改和完善。其次,感謝學(xué)校領(lǐng)導(dǎo),院系各級(jí)領(lǐng)導(dǎo),在大學(xué)四年中對(duì)我的學(xué)習(xí)和生活的關(guān)心,為我提供良好的學(xué)習(xí)環(huán)境和舒適的生