【基于springboot的學(xué)生考勤與成績管理系統(tǒng)的設(shè)計與實現(xiàn)5400字(論文)】_第1頁
【基于springboot的學(xué)生考勤與成績管理系統(tǒng)的設(shè)計與實現(xiàn)5400字(論文)】_第2頁
【基于springboot的學(xué)生考勤與成績管理系統(tǒng)的設(shè)計與實現(xiàn)5400字(論文)】_第3頁
【基于springboot的學(xué)生考勤與成績管理系統(tǒng)的設(shè)計與實現(xiàn)5400字(論文)】_第4頁
【基于springboot的學(xué)生考勤與成績管理系統(tǒng)的設(shè)計與實現(xiàn)5400字(論文)】_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄第一章引言隨著計算機技術(shù)的迅速發(fā)展,計算機的應(yīng)用也日益廣泛。在企業(yè)的經(jīng)營活動中,員工的出勤管理是企業(yè)信息管理的一個重要環(huán)節(jié),人力資源的大量使用會造成大量的人力物力和時間的浪費,同時還存在著大量的統(tǒng)計問題。一所學(xué)校對其員工正常上下班、延時、加班費等進行考勤,并以報表的形式輸出,合理地調(diào)整工作日程,并利用電腦對考勤進行統(tǒng)計、分析、處理,從而得出所需的各類統(tǒng)計報告和考勤原始資料。隨著學(xué)校的發(fā)展,學(xué)生考勤及成績管理系統(tǒng)可以更好的協(xié)助有關(guān)單位,管理學(xué)生,其內(nèi)容是學(xué)校決策人員及管理者的關(guān)鍵,為使用者提供足夠的資訊及快速的查詢工具。系統(tǒng)具有創(chuàng)建管理、修改管理、刪除管理、多字段查看、提醒、統(tǒng)計等功能。節(jié)省資源,對于我們的學(xué)校來說,尤其是在管理上。為進一步突出工作任務(wù)管理體系設(shè)計的重要意義,并在實際應(yīng)用中驗證了該體系在提高工作效率、最大化信息管理與共享方面的作用。學(xué)生的出勤與成績管理是學(xué)校的一項重要工作,它可以實現(xiàn)對學(xué)生基本信息管理、課程信息管理、成績錄入、數(shù)據(jù)查詢、數(shù)據(jù)管理等管理工作。隨著時代的發(fā)展和計算機技術(shù)的日益普及,手工操縱的學(xué)生信息正在逐步被電腦所代替。學(xué)生的考勤與考試成績管理系統(tǒng),只要由任課教師將成績錄入系統(tǒng),進行排序,計算平均分數(shù),統(tǒng)計人數(shù),全部由電腦進行,無需任何繁瑣的工作。利用學(xué)生考勤與考試成績管理體系,有效地降低了管理工作量,提高了工作的效率和質(zhì)量,使教師和管理者有了更多的時間和精力去做其它的事情。。開發(fā)環(huán)境與系統(tǒng)分析第二章開發(fā)環(huán)境與系統(tǒng)分析2.1開發(fā)技術(shù)本系統(tǒng)是以B/S結(jié)構(gòu)為基礎(chǔ),應(yīng)用了前、后兩個獨立的管理體系結(jié)構(gòu)。利用SpringBoot和MyBatis編程,利用Vue,ElementUI技術(shù)進行前端接口的設(shè)計和交互;2.1.1SpringBootSpringBoot是一個全新的架構(gòu),它通過在Maven的pox.xml文件中增加相關(guān)的依賴程序,并以注釋的方式取代了冗長的xml配置。這樣,開發(fā)者就可以從復(fù)雜的配置和管理中解脫出來,更多地關(guān)注于商業(yè)邏輯代碼的編寫。2.1.2Vue.jsVue是一個漸進的框架,用來建立一個用戶接口。Vue核心庫專注于視圖,它不但容易使用,而且容易與第三方庫或已有的項目進行集成。Vue的壽命分為八個階段,即:建立之前(創(chuàng)建)、加入之前(先加載)、加載后(加載)、升級之前(加載)、“刪除”(刪除)。2.1.3MyBatisMyBatis是一個半自動化的對象關(guān)系圖的持久層框架,在SpringBoot框架中,Java的實體類別對應(yīng)于一個資料庫中的資料表,而實體類別的屬性則要一一對應(yīng)資料庫資料庫的欄位。MyBatis是一個非常靈活的工具,它可以為一個表和一個表之間的一個,一個多個,或多個多個的關(guān)系。2.2系統(tǒng)分析學(xué)生出勤管理系統(tǒng)的設(shè)計,可以讓使用者充分發(fā)揮其作用,從而為其提供多種方便。在對學(xué)生、教師、輔導(dǎo)員三種用戶進行需求分析之后,本文將對學(xué)生、教師、輔導(dǎo)員三種用戶進行詳細的說明。2.1.1學(xué)生用戶學(xué)生用戶:學(xué)生在使用學(xué)號登陸系統(tǒng)之后,可以從系統(tǒng)中看到個人信息,參考排課表,線上休學(xué),并可隨時了解請假進度。同時,支持觀察個人考勤,修改個人密碼等等。2.1.2教師用戶老師使用者:老師可以查看學(xué)生的班級信息,學(xué)生的信息。對課堂上的出勤情況進行記錄,并能自動保存。同時,教師可以根據(jù)個人信息查看個人信息,修改個人密碼。2.1.3管理員用戶系統(tǒng)管理員:系統(tǒng)管理員可以隨時查詢學(xué)生的出勤情況,并對學(xué)生的請假進行審核。另外,該系統(tǒng)還支持管理員用戶輸出考勤等相關(guān)數(shù)據(jù),根據(jù)年級統(tǒng)一考勤信息,對用戶進行管理。系統(tǒng)需求分析第三章系統(tǒng)需求分析3.1系統(tǒng)功能需求本文對這四類用戶進行了系統(tǒng)的分析,并對其進行了詳細的研究。3.1.1管理員對功能的需求(1)增、減、查、改年級資料,為各年級指定課程。在刪除年級的同時,還會刪除各年級、各年級、各班、各科目、各科目的相關(guān)資料。(2)增加、刪除和修改班級信息。當(dāng)刪除班級時,將班底的同學(xué)全部刪除,并與教師的課程資料及成績相對應(yīng)。(3)在課程資訊管理方面,主要有:增加學(xué)校所需要的資料;在刪除本課程的同時,刪除本課程的相關(guān)資訊。(4)學(xué)生資料的管理:添加、刪除、更改、按學(xué)號、姓名、年級、班級查詢、將學(xué)生資料輸出至Excel表格、輸入學(xué)生資料、大量刪除。(5)添加、刪除、修改教師信息、通過名字查找教師信息、安排教師信息、大量刪除教師信息。3.1.2老師對功能的需求(1)老師可以將學(xué)生的分數(shù)資料輸入到班級中,并對其進行修改。(2)檢查各班的平均分數(shù)和分數(shù),以及各個班級的測試。(3)個人資料的查詢。3.1.3學(xué)生對功能的需求(1)學(xué)生可以查看自己的各次考試的成績信息。(2)查看個人信息。3.2系統(tǒng)可行性3.2.1技術(shù)可行性系統(tǒng)采用B/S結(jié)構(gòu),利用SpringBoot和MyBatis編寫業(yè)務(wù)邏輯,前端采用Vue和ElementUI,MySQL作為系統(tǒng)數(shù)據(jù)庫,開發(fā)人員已經(jīng)熟練掌握了前、后兩種技術(shù),能夠在一定的時間內(nèi)完成系統(tǒng)的各項工作。3.2.2經(jīng)濟和操作可行性所采用的技術(shù)與架構(gòu)均為開放源碼。在這個開發(fā)過程中,沒有多少的經(jīng)濟成本。目前,大多數(shù)學(xué)校都已經(jīng)安裝了計算機,在網(wǎng)絡(luò)暢通的條件下,系統(tǒng)可以直接通過瀏覽器進行訪問,無需硬件設(shè)備的支持。并且操作簡便,反應(yīng)迅速。所以,它具有一定的經(jīng)濟性和可操作性。數(shù)據(jù)庫的設(shè)計第四章數(shù)據(jù)庫的設(shè)計4.1數(shù)據(jù)庫需求分析(1)對各年級進行增刪、查、修改等,為各年級分配課程。在刪除年級的同時,刪除了班級、學(xué)生、考試、考試結(jié)果等相關(guān)的老師的課程資料。(1)資料項目:每個資料的名字、意義、類別、取值區(qū)間和與其它資料項目的邏輯關(guān)系。(2)資料集合:包括名字、意義和組成資料集合的多個資料項目的邏輯關(guān)系。(3)資料流程:在應(yīng)用系統(tǒng)的工作中,資料的輸入、處理、輸出等。4.2數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫邏輯的目的在于使數(shù)據(jù)庫與對象數(shù)據(jù)進行匹配,通過數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)庫進行關(guān)聯(lián),并決定數(shù)據(jù)間的相互關(guān)系。當(dāng)數(shù)據(jù)庫表達到用戶要求后,就可以把對象數(shù)據(jù)轉(zhuǎn)化成符合系統(tǒng)要求的數(shù)據(jù)類型,從而實現(xiàn)數(shù)據(jù)的集成。4.3實體模型圖各用戶操作流程模型如圖1、圖2、圖3、圖4所示:圖4-SEQ圖\*ARABIC1系統(tǒng)功能流程模型圖圖4-SEQ圖\*ARABIC2教師提交記錄模型圖(2)老師錄入成績流程圖(圖3所示)老師登錄系統(tǒng),查看考試信息,選擇班級,錄入學(xué)生成績。圖4-3老師錄入成績流程圖圖4-SEQ圖\*ARABIC4學(xué)生出勤記錄模型圖4.4數(shù)據(jù)庫的運行和維護完成了數(shù)據(jù)庫的設(shè)計,即可開始使用。然而,這個設(shè)計的流程還沒有完成,因為應(yīng)用程序的使用、物理存儲的改變,數(shù)據(jù)庫也會隨之發(fā)生變化。設(shè)計工作可以持續(xù)進行,功能也可以得到改進。為了實現(xiàn)這個目的,下列項目將在數(shù)據(jù)庫的實際操作階段中被監(jiān)控:數(shù)據(jù)的存儲與恢復(fù):建立一個記錄檔案,定期備份數(shù)據(jù)庫,以防止由于故障造成的數(shù)據(jù)丟失,盡量減少故障對數(shù)據(jù)庫的損害。數(shù)據(jù)庫的安全性和完整性控制:按用戶的權(quán)限對數(shù)據(jù)進行分組,定期監(jiān)測數(shù)據(jù)庫的完整性變化,對各種數(shù)據(jù)進行備份,對各種數(shù)據(jù)進行靈活的權(quán)限管理。數(shù)據(jù)庫的容量持續(xù)擴大。數(shù)據(jù)庫的重組重建:當(dāng)數(shù)據(jù)庫達到預(yù)定的運行周期后,數(shù)據(jù)庫的記錄增加,數(shù)據(jù)庫的可用存儲空間將會導(dǎo)致系統(tǒng)的性能逐漸下降。要實現(xiàn)歷史數(shù)據(jù)的集成、數(shù)據(jù)庫內(nèi)部的存儲方式的優(yōu)化、數(shù)據(jù)庫的重組和重組。

系統(tǒng)詳細設(shè)計第五章系統(tǒng)詳細設(shè)計5.1設(shè)計思路在后臺,利用“MyBatis-Plus”技術(shù),采用SpringBoot架構(gòu)和MyBatis-Plus技術(shù)。SpringBoot框架不需要編寫太多的概要,MyBatis-Plus提供了大量的單表操作,從而降低了SQL語句的書寫。使用MySQL作為系統(tǒng)的資料庫.前面采用漸進Vue和ElementUI設(shè)計網(wǎng)頁。通過IDEA和VisualStudio代碼來完成前、后兩個部分的編碼。所采用的技術(shù)都是當(dāng)前的主流技術(shù),簡化了開發(fā),提高了開發(fā)的速度。5.2系統(tǒng)模塊設(shè)計與實現(xiàn)5.2.1公共模塊設(shè)計用戶登錄用戶分為管理員、教師、學(xué)生三個部分,用戶在系統(tǒng)中輸入帳號、口令、驗證碼,然后在用戶輸入正確的信息后產(chǎn)生“token”進行存取和數(shù)據(jù)處理,否則將會對用戶的一切行為進行攔截。阻止使用者在界面上瀏覽和修改資料,見下圖。圖5-1用戶登錄界面圖@ApiOperation("用戶登錄")

@PostMapping("/login")

publicResult<?>login(@RequestBodyUserVouser,@RequestParam("code")Stringcode,HttpServletRequestrequest){

//對密碼進行加密比較

Stringpwd=MD5Util.string2MD5(user.getPassword());

user.setPassword(pwd);

//根據(jù)賬號和密碼查詢數(shù)據(jù)Userres=userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getAccount,user.getAccount()).eq(User::getPassword,user.getPassword()));if(res==null)returnResult.error("-1","用戶名或密碼錯誤");

//獲取生成圖形驗證碼的結(jié)果

Stringcaptcha=(String)request.getSession().getAttribute("captcha");

//判斷驗證碼是否為空和正確

if(StrUtil.isEmpty(code)||!captcha.equalsIgnoreCase(code))returnResult.error("-2","驗證碼錯誤");

user.setName(res.getName());

user.setType(res.getType());

//生成token

Stringtoken=TokenUtils.getToken(user.getAccount(),user.getPassword());

user.setToken(token);

returnResult.success(user);

}系統(tǒng)首頁系統(tǒng)首頁是各個用戶的公共界面,用echart.js餅圖和柱狀圖的形式向用戶展示了各年級的人數(shù)和考試次數(shù)情況,如圖所示。圖5-2用戶登錄界面圖5.2.2管理員模塊設(shè)計權(quán)限管理管理員通過用戶權(quán)限類型和用戶名模糊查詢用戶信息,管理員可以添加、修改和刪除用戶信息,如圖22所示。用戶密碼經(jīng)過MD5加密,管理員無法查看密碼,當(dāng)用戶忘記密碼時,管理員只能通過編輯框里的重置密碼按鈕重置用戶密碼為初始密碼(123456),如圖所示。圖5-3權(quán)限管理考試信息管理人員可以安排各年級的測驗,并在加入測驗時,將各班的測驗結(jié)果設(shè)定為預(yù)設(shè),由教師填寫分數(shù)??荚嚑顟B(tài)預(yù)設(shè)為不可見的考生,通過切換控制考試狀態(tài)??迫谓處熢诖_認了學(xué)生的分數(shù)后,可以向?qū)W生公布分數(shù)。也可以對測試信息進行更改,并將其刪除。當(dāng)考生的分數(shù)被刪除的時候,他們的分數(shù)也會被刪除。系統(tǒng)管理員選擇了測試,并按一下分數(shù),就可以看到考生的分數(shù)信息。根據(jù)學(xué)號、班、班、班的資料,對學(xué)生的分數(shù)進行修正。圖5-4考試信息管理5.2.3教師信息管理管理員可在系統(tǒng)中添加教師的基本信息,為老師設(shè)置年級班級課程,在搜索框中輸入教師姓名模糊查詢教師信息,根據(jù)年級,班級和課程查詢教師信息。刪除和修改教師信息,如圖所示。圖5-5教師信息管理5.2.4學(xué)生信息管理管理員可通過學(xué)生姓名,所在年級和班級查找學(xué)生信息,修改和刪除學(xué)生信息,還可以通過excel表格批量導(dǎo)入學(xué)生信息,導(dǎo)出學(xué)生信息,批量刪除學(xué)生信息。在添加學(xué)生信息時,學(xué)號不可重復(fù)。在刪除學(xué)生信息同時刪除學(xué)生的成績信息和賬號信息,如圖所示。圖5-6學(xué)生信息管理@ApiOperation(value="導(dǎo)入學(xué)生信息")

@PostMapping("/upload")

publicResult<?>importStudent(MultipartFilefile){

ImportParamsparams=newImportParams();

List<Grade>gradeLists=gradeService.list();

List<Clazz>clazzLists=clazzService.list();

params.setTitleRows(0);

try{

List<Student>list=ExcelImportUtil.importExcel(file.getInputStream(),Student.class,params);

for(inti=0;i<list.size();i++){

Studentone=studentService.getOne(Wrappers.<Student>lambdaQuery().eq(Student::getStuId,list.get(i).getStuId()));

if(one!=null){

returnResult.error("-2",list.get(i).getStuId()+"已存在");

}

Integerid=gradeLists.get(gradeLists.indexOf(newGrade(list.get(i).getGrade().getName()))).getId();

list.get(i).setGradeId(id);

Stringname=clazzLists.get(clazzLists.indexOf(newClazz(list.get(i).getClazz().getName()))).getName();

IntegerclazzId=clazzService.findId(name,id);

if(clazzId==null){

returnResult.error("-2",list.get(i).getGrade().getName()+name+"不存在");

}

list.get(i).setClazzId(clazzId);

//批量插入用戶信息

Useruser=newUser();

user.setAccount(list.get(i).getStuId());

user.setName(list.get(i).getStuName());

user.setType(3);

user.setPassword("e10adc3949ba59abbe56e057f20f883e");

userService.save(user);

}學(xué)生考勤信息管理班主任可以通過學(xué)生姓名查詢本班學(xué)生的考勤信息,如圖32所示。班主任只能對本班級的學(xué)生進行操作,包括添加,修改,刪除,導(dǎo)入,導(dǎo)出和批量刪除學(xué)生信息,如圖所示。圖5-7學(xué)生考勤信息參考文獻第六章系統(tǒng)測試6.1測試目的試運行是指在正式運行前對系統(tǒng)進行性能和功能的檢測,以達到用戶的要求,保證系統(tǒng)的正常工作。軟件測試是為了發(fā)現(xiàn)在開發(fā)過程中沒有被發(fā)現(xiàn)的問題,從而使開發(fā)人員能夠找到并糾正這些問題,從而使其符合標(biāo)準(zhǔn)。所以,這一次的測試,主要是為了發(fā)現(xiàn)系統(tǒng)中的一些潛在問題,從而提高系統(tǒng)的性能。開發(fā)人員可以在不同的平臺上,組建一個測試團隊,對系統(tǒng)的各部分進行測試,以確定系統(tǒng)是否符合使用者的要求,并能達到相應(yīng)的效果。6.2測試原則一個成功的測試,必須做到以下幾點:(1)在開發(fā)過程中多次進行測試。(2)測試要分組進行,各組間要對測試結(jié)果進行對比。(3)設(shè)計測試時應(yīng)涉及合理與非法兩種輸入測試。(4)制定詳細的測試計劃,嚴格按照計劃進行測試。(5)記錄好每一次的測試結(jié)果,并加以比對、妥善保存,以便于總結(jié)出最終的分析報告。6.3測試方法針對相關(guān)的目標(biāo),本文從以下幾個方面進行了實驗。(1)LogistTest使用最直接的方式進行登錄測試。輸入合法、非法、空白的登陸界面,系統(tǒng)會給出相應(yīng)的提示,其中還包含了一個錯誤。(2)接口試驗這是最容易被忽視的一步,測試員要仔細檢查接口,注意任何有Bug的地方。在進行測試時,應(yīng)當(dāng)對標(biāo)準(zhǔn)語言進行統(tǒng)一,避免由于忽視某個開發(fā)項目的名字和模塊而造成Bug。(3)功能性檢驗這一環(huán)節(jié)的測試,主要是為了檢驗系統(tǒng)的各項需求函數(shù)的執(zhí)行情況。在檢測的時候

溫馨提示

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

評論

0/150

提交評論