基于Java的項目評審管理系統的設計與實現_第1頁
基于Java的項目評審管理系統的設計與實現_第2頁
基于Java的項目評審管理系統的設計與實現_第3頁
基于Java的項目評審管理系統的設計與實現_第4頁
基于Java的項目評審管理系統的設計與實現_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

摘要隨著信息技術的快速發展,高校急需一款基于高校項目評審為核心的網絡項目評審平臺來滿足高校的發展需求。基于此設計了一個高校項目評審管理系統,將MySQL用作后臺數據的主要存儲單元,運用Java語言,SSM框架,來展開業務系統的代碼和開發工作,對于高校的發展有著非常重大的意義。本文首先對以Java為基礎的項目評審管理系統展開了用戶需求分析,從系統目標、設計流程、功能設計等幾個方面展開了對本評審系統的整體性設計。最終完成了以下功能:注冊登錄、評審項目管理、項目申報管理、留言反饋管理、評審結果管理等。通過對系統的一系列功能展開測試,本系統的界面對于絕大多數用戶比較友好,功能比較完善,擁有比較高的使用價值,具有巨大的潛在用戶群體和廣泛的應用前景。關鍵詞:高校項目評審管理系統;Java;MySQLABSTRACTWiththerapiddevelopmentofinformationtechnologytoday,thetraditionaluniversitysubjectevaluationandthegeneralinformationplatformaredifficulttomeetthedevelopmentneedsofuniversities,andanonlinesubjectevaluationplatformisurgentlyneeded.So,thissystemismainlyfortheusersoftwaredevelopmentandhardwareapplication,theMySQLasthemainbackgrounddatastorageunit,usingJavalanguage,SSMframework,toexpandthebusinesssystemcodeanddevelopmentwork,anddesignaprojectreviewmanagementsystem,whichisofgreatsignificanceforthedevelopmentofvariousindustries.Onthisbasis,thispaperfirstconductstherequirementsanalysisoftheJava-basedprojectreviewmanagementsystem.Finally,thispaperalsoconductsacomprehensivestudyontheprojectreviewmanagementsystembasedonJava,andfinallycompletesthefollowingfunctions:registrationandlogin,projectreviewmanagement,projectdeclarationmanagement,messagefeedbackmanagement,reviewresultsmanagement,etc.Theauthorhastestedaseriesoffunctionsofthesystem,andfinallyconcludedthattheinterfaceofthesystemisfriendlytomostusers,hasrelativelyperfectfunctions,hasahugepotentialusergroupandawiderangeofapplicationprospects.Keywords:Universityprojectreviewmanagementsystem;Java;MySQL目錄第1章緒論 [7]進行編寫的。2.2SSM框架相關技術SSM架構是一種標準的MVC方式,將Spring、SpringMVC以及Mybatis三個比較核心的架構通過某種方式結合在一起的內核。目前,SSM的標準架構分為四個層次,即:任務層(映射)、服務層、控制器和視圖。商業對象的管理是通過Spring來完成的,請求傳遞和視圖管理是通過SpringMVC完成的,而對jdbc的封裝則是通過Mybatis完成的。2.3MySQL技術介紹MySQL數據庫是MySQLA-B公司研發的數據庫管理方法,迄今為止MySQL是國內乃至于全世界最受歡迎也是使用面最廣的的數據庫管理方法之一。MySQL所采取的SQL語言是一種用來存取數據的常見的、規范化的語言,因為它具有體積小、速度快、可開、可放源代碼等優點,所以大多數的中小規模的網站在設計時,都會選擇MySQL來做為它的網站數據倉庫。MySQL的標準版本為我們廣大使用者提供了一個高性能在線事務管理程序。它提供了一種易于使用、具有工業級別的性能和可靠性的MySQL。MySQL標準版本包含了一個“InnoDB”,這一系列特點使得MySQL是一個近乎于完全集成的、交易安全的、并且非常符合A.CID所需要求的數據庫。除此之外,MySQL拷貝還使你能夠交付性能良好、可擴展的軟件。更低的TCO——MySQL允許你盡可能地減少數據庫的所有成本??蓴U展、高性能、易于使用——MySQL已經被證實是一個在世界范圍內受到歡迎的開放源碼數據庫。數據庫開發設計和管理,都提升了開發人員、DBA的工作效率。

第3章系統分析3.1可行性分析本系統主要應用的技術有:操作系統為:Windows系統、后端技術使用Java語言、SSM框架進行搭建,使用MySQL作為數據庫、數據庫工具采用Navicat、開發工具選擇IDEA、服務器的搭建使用Tomcat進行完成,在此基礎上完成本系統。1.經濟可行性從經濟費用來看,在這個系統的研發過程中,所需購買的設備和軟件主要有:PC個人電腦、數據庫管理工具等,這些工具的價格都在各個產業所能承受的限度之內,并且當這個系統完成了最后的開發和落地之后,可以支撐各個產業的廣泛普及。而且,后期的維護成本還能控制。所以從經濟上來說是有可能的。2.技術可行性雖然在組織和關系方面,本系統具有很大的“復雜”和“麻煩”性,但是,從整個系統的技術和組成上來說,本系統仍然是屬于一個數據庫應用類的系。其基本操作者還是對存在于數據庫中的信息進行添、加、刪、除、查、找、編、輯等操作。因此,暫時沒有什么技術上的問題。3.操作可行性本系統擁有系統主頁面友好,操作簡單,功能齊全等優點。本系統的操作主要分為用戶和管理員的操作模塊,管理員可使用的功能為:項目類型管理,評審項目管理,項目申報管理,評審結果管理等功能。用戶的功能包括:登錄注冊,查看個人信息、評審項目、查看公告信息、留言反饋等功能。所以,具有操作可行性。4.管理可行性本系統的操作并不困難,用戶界面也很友好,操作者不需要掌握多少的計算機方面的知識,因此,在使用者經過了一些相對簡單的培訓之后,用戶就可以很輕易地勝任項目評審管理的一系列工作,并且,管理員在對本系統進行一些有效的運作和相關技術的維修時,管理員基本不會遇到任何的困難。系統提供了相對寬松的容錯的功能,并對一些錯的或者一些誤操作的輸入進行了簡單化的處理,并對錯誤的操作進行了恢復。5.法律可行性本系統的開發與應用不涉及侵犯專利權、侵犯版權等方面的問題。3.2用例分析項目評審管理系統主要可以滿足兩種用戶的需求,分別是有評審需求的用戶和評審系統管理員。1.用戶在系統內的功能包括:查看公告信息、留言反饋、查看個人信息、評審項目等功能。用戶用例圖如圖3-1所示。圖3-1用戶用例圖

2.管理員的功能主要包括:項目申報管理、評審結果管理、項目類型管理、評審項目管理、專家遴選等功能。管理員用例圖如圖3-2所示。圖3-2管理員用例圖3.系統E-R圖如圖3-3所示圖3-3系統E-R圖3.3業務流程分析圖3-4業務流程圖在未注冊之前,使用者是作為游客登錄系統的,所以只能瀏覽系統的各項業務。記錄好每個人的資料后,登錄到這個系統,就可以進入這個人的資料中心,查看和修改這個人的資料。在審核項目管理中查閱項目信息,下載并提交項目目錄;在“通知信息管理”中,查看由管理員發出的通知信息;在“消息反饋管理”中就該項目的信息咨詢給主管;可在項目申報管理系統中查閱各項目標申報情況;在評審結果管理系統中,可以看到提交的項目的報告。管理員登錄系統,可進入個人中心查看、修改個人信息和登錄密碼;在用戶管理中查看、修改、刪除用戶信息;在評審項目管理中可以新增、查看、刪除和修改項目信息;在留言反饋管理中查看、修改、刪除和回復用戶的留言信息。在項目申報管理中新增、查看、刪除和評審項目狀態;在評審結果管理中查看、修改和刪除項目評審結果信息;在項目類型管理中查看、新增、修改和刪除項目類型;在系統管理中可以查看、新增、刪除公告信息和設置輪廓圖的大小。

第4章系統設計4.1功能模塊設計根據對程序的功能進行分析,總結出項目評審管理系統的核心功能模塊具體有以下幾個部分:注冊登錄、用戶管理、個人中心管理、項目類型管理、項目申報管理、評審項目管理、評審結果管理,留言反饋管理、專家遴選管理、系統管理、后臺管理。程序的功能如圖4-1所示,顯示了本程序的功能模塊。圖4-1程序功能模塊圖(1)登錄注冊模塊普通用戶在首次登錄時需要注冊賬號,通過輸入密碼、姓名、性別、手機號等信息注冊賬號。注冊成功后用戶通過輸入用戶名、密碼進入系統主界面。管理員輸入專屬的用戶名和密碼即可登錄此評審系統。(2)用戶管理模塊管理員可管理用戶的所有信息。(3)個人中心管理模塊管理員和用戶點擊“個人中心”可查看和修改個人信息。(4)項目類型管理管理員點擊“項目類型管理”可以新增、查看、刪除項目類型。(5)項目申報管理管理員點擊“項目申報管理”可以新增、查看、刪除和評審項目狀態。(6)評審項目管理管理員在點擊“評審項目管理”之后可以進行新增、查看、刪除和修改項目等一系列操作。用戶點擊“項目評審”則可以可查看、下載和申報項目。(7)評審結果管理管理員點擊“評審結果管理”可以查看、刪除和修改項目狀態。(8)留言反饋管理管理員點擊“留言反饋管理”可以查看和回復用戶問題。用戶點擊“留言反饋”可查看項目下其他用戶和管理員的回復信息和咨詢信息。(9)系統管理管理員點擊“系統管理”可以新增、查看、刪除、修改公告信息。(10)后臺管理用戶點擊“后臺管理”可查看項目申報結果和評審結果。4.2數據庫設計本項目評審管理系統可以建立的部分具有邏輯數據的結構大體如下表所示,以下的內容則是對各個數據表的比較詳細的介紹:(1)表名:xiangmushenbao“項目申報表xiangmushenbao”是用來記錄項目申報信息。xiangmushenbao的結構如表4-1所示。表4-1項目申報表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創建時間CURRENT_TIMESTAMPxiangmubianhaovarchar200項目編號xiangmumingchengvarchar200項目名稱xiangmuleixingvarchar200項目類型shenbaoshuomingvarchar200申報說明shenbaowenjianlongtext4294967295申報文件yonghumingvarchar200用戶名xingmingvarchar200姓名shoujivarchar200手機(2)表名:xiangmuleixing“項目類型表xiangmuleixing”是用來記錄項目類型信息。xiangmuleixing的結構如表4-2所示。表4-2項目類型表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創建時間CURRENT_TIMESTAMPxiangmuleixingvarchar200項目類型(3)表名:yonghu“用戶表yonghu”是用來記錄用戶的信息。yonghu的結構如表4-3所示。表4-3用戶表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創建時間CURRENT_TIMESTAMPyonghumingvarchar200用戶名mimavarchar200密碼xingmingvarchar200姓名xingbievarchar200性別touxianglongtext4294967295頭像youxiangvarchar200郵箱shoujivarchar200手機(4)表名:pingshenxiangmu“評審項目表pingshenxiangmu”是用來記錄評審項目信息。pingshenxiangmu的結構如表4-4所示。表4-4評審項目表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創建時間CURRENT_TIMESTAMPxiangmubianhaovarchar200項目編號xiangmumingchengvarchar200項目名稱xiangmuleixingvarchar200項目類型tupianlongtext4294967295圖片shenqingwenjianlongtext4294967295申請文件xiangmujieshaolongtext4294967295項目介紹(5)表名:users“用戶表users”主要用來管理用戶的信息。如表4-5所示。表4-5用戶表 字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵usernamevarchar100用戶名passwordvarchar100密碼rolevarchar100角色管理員addtimetimestamp新增時間CURRENT_TIMESTAMP(6)表名:tokentoken的結構如表4-6所示。表4-6token表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵useridbigint用戶idusernamevarchar100用戶名tablenamevarchar100表名rolevarchar100角色tokenvarchar200密碼addtimetimestamp新增時間CURRENT_TIMESTAMPexpiratedtimetimestamp過期時間CURRENT_TIMESTAMP(7)表名:config“配置文件表config”是用來記錄系統的配置文件信息。如表4-7所示。表4-7配置文件表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵namevarchar100配置參數名稱valuevarchar100配置參數值(8)表名:pingshenjieguo“評審結果表pingshenjieguo”是用來記錄評審結果的信息。pingshenjieguo的結構如表4-8所示。表4-8評審結果表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創建時間CURRENT_TIMESTAMPxiangmubianhaovarchar200項目編號xiangmumingchengvarchar200項目名稱xiangmuleixingvarchar200項目類型yonghumingvarchar200用戶名xingmingvarchar200姓名chengjifloat成績pingshenjieguovarchar200評審結果pingshenneironglongtext4294967295評審內容pingshenshijiandatetime評審時間(9)表名:messages“留言反饋表messages”是用來記錄留言反饋信息。messages的結構如表4-9所示。表4-9留言反饋表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創建時間CURRENT_TIMESTAMPuseridbigint留言人idusernamevarchar200用戶名contentlongtext4294967295留言內容cpicturelongtext4294967295留言圖片replylongtext4294967295回復內容rpicturelongtext4294967295回復圖片(10)表名:news“公告信息表news”的主要用途是管理員發布公告信息。news表的主要結構如表4-10所示。表4-10公告信息表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創建時間CURRENT_TIMESTAMPtitlevarchar200標題introductionlongtext4294967295簡介picturelongtext4294967295圖片contentlongtext4294967295內容

第5章系統實現5.1實現環境開發語言:Java框架:SSM框架JDK版本:JDK1.8服務器:tomcat7服務器數據庫:MySQL5.7數據庫工具:Navicat11開發軟件:ideaMaven包:Maven3.3.9主要使用瀏覽器:谷歌瀏覽器5.2注冊登錄用戶在首次使用本系統時需要輸入賬號、密碼等信息注冊賬號,注冊界面如圖5-1所示;當用戶登錄時,用戶輸入已注冊的賬號和密碼,然后單擊“登錄”。登錄界面如圖5-2所示;系統的管理員登錄需輸入專屬的用戶名和密碼,同時點擊通過管理員角色登錄,就能夠進入系統進行修改,評審等工作。登錄界面如圖5-3所示:圖5-1注冊界面圖5-2登錄界面圖5-3登錄界面實現該功能的關鍵代碼如下: publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ YonghuEntityu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",username)); if(u==null||!u.getMima().equals(password)){ returnR.error("賬號或密碼不正確"); } Stringtoken=tokenService.generateToken(u.getId(),username,"yonghu","用戶"); returnR.ok().put("token",token); }publicRregister(@RequestBodyYonghuEntityyonghu){ //ValidatorUtils.validateEntity(yonghu); YonghuEntityu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",yonghu.getYonghuzhanghao())); if(u!=null){ returnR.error("注冊用戶已存在"); } LonguId=newDate().getTime(); yonghu.setId(uId);yonghuService.insert(yonghu);returnR.ok();}5.3用戶管理管理員點擊用戶管理按鈕即可查看所有注冊用戶的基本信息。用戶管理界面的內容如圖5-4所示:圖5-4用戶管理界面實現該功能的關鍵代碼如下:publicRgetCurrUser(HttpServletRequestrequest){ Longid=(Long)request.getSession().getAttribute("userId");UsersEntityuser=userService.selectById(id);returnR.ok().put("data",user);}5.4個人中心管理用戶進入系統,點擊個人中心,可查看用戶信息。個人中心如圖5-5所示;管理員進入系統,點擊個人中心管理,可查看管理員本人信息和修改密碼。個人中心管理如圖5-6所示:圖5-5用戶個人中心圖5-6管理員個人中心實現該功能的關鍵代碼如下:publicRinfo(@PathVariable("id")Stringid){UsersEntityuser=userService.selectById(id);returnR.ok().put("data",user);}publicRgetCurrUser(HttpServletRequestrequest){ Longid=(Long)request.getSession().getAttribute("userId");UsersEntityuser=userService.selectById(id);returnR.ok().put("data",user);5.5評審項目管理用戶進入系統,點擊評審項目,可查看項目信息、下載和申報項目如圖5-7所示;管理員進入系統,點擊評審項目管理,可以新增、查看、刪除和修改項目如圖5-8所示。圖5-7用戶評審項目圖5-8管理員評審項目管理實現該功能的關鍵代碼如下: publicRquery(PingshenxiangmuEntitypingshenxiangmu){EntityWrapper<PingshenxiangmuEntity>ew=newEntityWrapper<PingshenxiangmuEntity>(); ew.allEq(MPUtil.allEQMapPre(pingshenxiangmu,"pingshenxiangmu")); PingshenxiangmuViewpingshenxiangmuView=pingshenxiangmuService.selectView(ew); returnR.ok("查詢評審項目成功").put("data",pingshenxiangmuView);}5.6公告信息管理用戶在首頁中點擊公告信息按鈕,可以查看管理員發布的公告信息,了解評審工作的流程。用戶公告信息界面如圖5-9所示;管理員進入系統之后,點擊系統管理按鈕,再點擊公告信息管理按鈕,可以發布、修改和刪除公告。管理員公告信息管理界面如圖5-10所示。圖5-9用戶公告信息界面圖5-10管理員公告信息管理界面實現該功能的關鍵代碼如下:publicRquery(NewsEntitynews){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); ew.allEq(MPUtil.allEQMapPre(news,"news")); NewsViewnewsView=newsService.selectView(ew); returnR.ok("查詢公告信息成功").put("data",newsView);}5.7留言反饋管理用戶進入系統后,點擊系統內的留言反饋按鈕,可向管理員進行咨詢項目信息,詢問項目評審進展等功能,用戶留言反饋界面如圖5-11所示。管理員點擊留言反饋管理按鈕,可查看用戶的留言信息,回復用戶的問題。管理員留言反饋管理界面內容如圖5-12所示:圖5-11用戶留言反饋界面圖5-12管理員留言反饋管理界面實現該功能的關鍵代碼如下:publicRquery(MessagesEntitymessages){EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>(); ew.allEq(MPUtil.allEQMapPre(messages,"messages")); MessagesViewmessagesView=messagesService.selectView(ew); returnR.ok("查詢留言反饋成功").put("data",messagesView);}5.8項目申報管理用戶在總界面中點擊項目申報管理下的項目申報,在這里可以申報項目,查看申報項目的申報狀態。項目申報管理界面內容如圖5-13所示;管理員點擊項目申報管理按鈕,可以對目前正在進行評審的項目進行查看進展、刪除項目和評審結果等操作。項目申報管理界面的內容大體如圖5-14所示:圖5-13用戶項目申報管理界面圖5-14管理員項目申報管理界面實現該功能的關鍵代碼如下:publicRquery(XiangmushenbaoEntityxiangmushenbao){EntityWrapper<XiangmushenbaoEntity>ew=newEntityWrapper<XiangmushenbaoEntity>(); ew.allEq(MPUtil.allEQMapPre(xiangmushenbao,"xiangmushenbao")); XiangmushenbaoViewxiangmushenbaoView=xiangmushenbaoService.selectView(ew); returnR.ok("查詢項目申報成功").put("data",xiangmushenbaoView);}5.9評審結果管理用戶點擊“后臺管理”,再點擊“評審結果管理”,可以查看用戶自己的項目的申報結果。評審結果管理內容大體如圖5-15所示;管理員點擊評審結果管理按鈕,可以查看項目評審結果、修改項目評審狀態。評審結果管理界面內容大體如圖5-16所示:圖5-15用戶評審結果管理界面圖5-16管理員評審結果管理界面實現該功能的關鍵代碼如下:publicRquery(PingshenjieguoEntitypingshenjieguo){EntityWrapper<PingshenjieguoEntity>ew=newEntityWrapper<PingshenjieguoEntity>(); ew.allEq(MPUtil.allEQMapPre(pingshenjieguo,"pingshenjieguo")); PingshenjieguoViewpingshenjieguoView=pingshenjieguoService.selectView(ew); returnR.ok("查詢評審結果成功").put("data",pingshenjieguoView);}5.10監督遴選管理管理員點擊“評審結果管理”,再點擊“評審結果”,管理員可以對評審的結果進行監督查看和審核管理。評審結果管理如圖5-17所示;專家進入系統,點擊評審結果管理,可以添加和遴選評審結果信息。評審結果管理界面如圖5-18所示:圖5-17管理員監督評審結果管理界面圖5-18專家遴選評審結果管理界面實現該功能的關鍵代碼如下:Wrapper<XiangmushenbaoEntity>wrapper=newEntityWrapper<XiangmushenbaoEntity>(); if(map.get("remindstart")!=null){ wrapper.ge(columnName,map.get("remindstart")); } if(map.get("remindend")!=null){ wrapper.le(columnName,map.get("remindend")); } StringtableName=request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")){ wrapper.eq("yonghuming",(String)request.getSession().getAttribute("username")); }publicRquery(PingshenjieguoEntitypingshenjieguo){EntityWrapper<PingshenjieguoEntity>ew=newEntityWrapper<PingshenjieguoEntity>(); ew.allEq(MPUtil.allEQMapPre(pingshenjieguo,"pingshenjieguo")); PingshenjieguoViewpingshenjieguoView=pingshenjieguoService.selectView(ew); returnR.ok("查詢評審結果成功").put("data",pingshenjieguoView);}5.11專家遴選管理管理員點擊“專家遴選管理”,再點擊“專家遴選”,管理員可以對專家信息進行修改。專家遴選如圖5-19所示;專家遴選修改管理界面如圖5-20所示:圖5-19專家遴選管理界面圖5-20專家遴選修改管理界面publicRadd(@RequestBodyZhuanjialinxuanEntityzhuanjialinxuan,HttpServletRequestrequest){ zhuanjialinxuan.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(zhuanjialinxuan);zhuanjialinxuanService.insert(zhuanjialinxuan);returnR.ok();}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyZhuanjialinxuanEntityzhuanjialinxuan,HttpServletRequestrequest){//ValidatorUtils.validateEntity(zhuanjialinxuan);zhuanjialinxuanService.updateById(zhuanjialinxuan);//全部更新returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){zhuanjialinxuanService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}

第6章系統測試6.1測試目標軟件測試的目的是確保系統測試的活動是按計劃進行的,而不是單純的去找程序中的錯誤。這樣做的意義是提醒人們,測試的主要目的應該是專注于發現錯誤并加以改正。6.2功能測試下表是系統登錄功能測試用例,檢測了用戶名和密碼的不同的輸入情況,觀察系統的響應情況。得出該功能達到了設計目標。表6-1系統登錄功能測試用例測試數據以及操作預期結果實際結果輸入的用戶名和密碼帶有非法字符提示用戶名或者密碼錯誤與預期結果一致輸入的用戶名或者密碼為空提示用戶名或者密碼錯誤與預期結果一致輸入的用戶名和密碼不存在提示用戶名或者密碼錯誤與預期結果一致輸入正確的用戶名和密碼登錄成功與預期結果一致下表是用戶在進行注冊功能的系統測試用例,觀察系統不同情況的響應情況。得出該功能基本達到了設計目標。表6-2注冊功能測試用例測試數據以及操作預期結果實際結果輸入的手機號不合法提示請輸入正確的手機號碼與預期結果一致輸入的字段為空提示必填項不能為空與預期結果一致輸入的密碼少于6位提示密碼必須為6-12位與預期結果一致輸入的密碼大于12位提示密碼必須為6-12位與預期結果一致下表是管理員使用公告信息管理功能時的系統測試用例,通過檢測了公告信息管理中的操作能否成功的運行,最終得出系統運行正確。該測試的前置條件;必須是管理員使用功能。表6-3公告信息管理的測試用例測試數據以及操作預期結果實際結果點擊添加公告信息,必填項合法輸入,點擊保存提示添加成功與預期結果一致點擊添加公告信息,必填項輸入不合法,點擊保存提示必填項不能為空與預期結果一致點擊修改公告信息,必填項修改為空,點擊保存提示必填項不能為空與預期結果一致點擊修改公告信息,必填項輸入不合法,點擊保存提示必填項不能為空與預期結果一致點擊刪除公告信息提示刪除成功與預期結果一致點擊搜索公告信息,輸入存在的公告信息標題查找出公告信息與預期結果一致點擊搜索公告信息,輸入不存在的公告信息標題不顯示公告信息與預期結果一致下表是管理員使用評審項目管理功能時的測試用例,觀察系統的不同響應情況,得出該功能基本達到了設計目標。前置條件;必須是管理員登錄系統并使用此功能。表6-4評審項目管理的測試用例測試數據以及操作預期結果實際結果點擊添加評審項目信息,必填項合法輸入,點擊保存提示添加成功與預期結果一致點擊添加評審項目信息,必填項輸入不合法,點擊保存提示必填項不能為空與預期結果一致點擊修改評審項目信息,必填項修改為空,點擊保存提示必填項不能為空與預期結果一致點擊修改評審項目信息,必填項輸入不合法,點擊保存提示必填項不能為空與預期結果一致點擊刪除評審項目信息提示刪除成功與預期結果一致下表是管理員使用用戶管理功能時的測試用例,觀察系統不同的響應情況,得出該功能基本達到了設計目標。前置條件;必須是管理員使用此功能。表6-5用戶管理的測試用例測試數據以及操作預期結果測試數據以及操作點擊修改用戶信息,必填項修改為空,點擊保存提示必填項不能為空與預期結果一致點擊修改用戶信息,必填項輸入不合法,點擊保存提示必填項不能為空與預期結果一致點擊刪除用戶信息提示刪除成功與預期結果一致點擊添加用戶信息添加成功與預期結果一致6.3測試結論根據以上測試情況,測試結論如下表所示。表6-6測試結果表測試項目測試結果登錄注冊測試成功公告信息管理測試成功評審項目測試成功用戶管理測試成功

結論在本次高校項目評審管理系統的研究中,首先對本系統設計在現實中能產生怎樣的意義與價值進行解釋與說明,分析設計的環境與背景,隨著數字化時代來臨,項目數據的復雜性,開發一套功能完整,設計合理,使用方便的高校項目評審管理系統成為一件很有必要的事情,也可以更好地促進高校科研發展。在此基礎上介紹本次設計中使用了哪些技術與知識、原理與工具等,分析本系統開發具有怎樣的可行性,也進行需求分析。本系統的界面開發了一系列關于高校項目評審的功能比如評審項目管理,評審結果管理,專家遴選管理等,基本實現了用戶對于高校項目評審系統的絕大部分需求。本高校項目評審管理系統的功能也還存在一定的缺陷,本高校項目管理系統的功能模塊操作還不是很豐富,其相關操作還不能完全覆蓋所有的高校項目管理流程;系統的界面友好程度還不夠,并沒有充分考慮項目管理人員的操作習慣。最后,因為項目評審管理系統的內容非常豐富,離實際的項目管理需求肯定還有一定的差距,在下一階段的工作中,將對上述不足進行調整,力求讓開發的服務平臺逐步完善化。參考文獻張晶晶,汪安.江西省教育廳科技項目網絡申報評審管理系統設計與應用[J].電子技術與軟件工程,2015(23):187-188.殷凡姣,汪蓬,王超,等.中低壓配電網項目科研評審管理系統開發與應用[J].山東電力高等專科學校學報,2021(2):30-33.李家深.面向科技評估的專家評審系統研究與實踐[J].情報工程,2022(2):119-125.徐玲.淺談高校教育模式改革[J].科教導刊,2021(13):7-8.林順英.新時期我國普通高校體育教育專業人才培養模式的發展取向[J].山西師大體育學院學報,2020,23(2):113-115.郭莉,王菡,王栩楠.探索“大學生創新創業訓練計劃”的管理模式[J].現代教育技術,2021,22(6):118-121.李耀富.實施大學生創新訓練項目對大學生創新能力培養的探索[J].中國職工教育,2019,18:22-24.肖瑩,諸德律,吳雪,等.遠程評審平臺在電網信息化項目評審中的應用研究[J].工程建設與設計,2023(1):134-137.王基礎.基于WEB的蜀南氣礦項目管理系統的設計與實現[D].成都:電子科技大學,2019.粟智.基于web技術的分布式項目管理系統設計與實現[D].大連:大連理工大學,2019.米帥,賈宏俊,吳新華等.淺談工程項目管理信息化[J].項目管理技術,2020(005):86-89.楊德貴.信息化管理在科研項目管理中的作用分析[J].企業文化,2019(11).任國恒,張少輝.工程項目管理計算機信息化研究[J].電腦開發與應用,2021,25(9):27~28.劉文君,潘永惠.MVC模式在B/S架構中的應用[J].電腦知識與技術,2020,26:7283-7284.臧冽,李俊.基于B/S模式的高校財務電算化系統的設計與實現[J].航空計算技術,2021,1:011.李雨明.組件式項目管理信息系統研究與開發[D].北京工業大學,2019.齊國友.P3e/c工程項目管理應用[M].北京:機械工業出版社,2019.陳東方,陳建國.建設工程進度預警及其模型構建的研究與應用[J].工程管理學報,2020,24(3).陶慶,王紅春.工程項目管理信息化現狀分析與對策研究[J].北京建筑工程學院學報,2019,23(1):77-80.黃照翠,楊朝軍,吳強,等.智慧科研項目申報評審管理一體化系統設計與實現[J].軟件導刊,2018(5):102-106DiMauro,Nicola,TeresaMABasile,andStefanoFerilli.Grape:Anexpertreviewassignmentcomponentforscientificconferencemanagementsystems[M].Innovationsinappliedartificialintelligence.2019:789-798.TaylorCJ.Ontheoptimalassignmentofconferencepaperstoreviewers[J].2019.KernRFMickaWF,NickJN,etal.Databasebackupsystemensuringconsistencybetweenprimaryandmirroredbackupdatabasecopiesdespitebackupinterruption:U.S.Patent6,199,074[P].2021-3-6.BrownRP,LukeS,ShaughnessyPR.Mechanismforincrementalbackupofon-linefiles:U.S.Patent6,101,585[P].2020-8-8.MaX,HsuWWS.Systemandmethodforreliablystoringdataandprovidingefficientincrementalbackupandasynchronousmirroringbypreferentiallyhand]ingnewdata:U.S.Patent7,284,150[P].2019-10-16.

附錄packagecom.controller;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Calendar;importjava.util.Map;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Date;importjava.util.List;importjavax.servlet.http.HttpServletRequest;importjava.io.IOException;importcom.utils.ValidatorUtils;importmons.lang3.StringUtils;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.transaction.annotation.Transactional;importorg.springframework.format.annotation.DateTimeFormat;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RequestBody;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;importcom.baomidou.mybatisplus.mapper.EntityWrapper;importcom.baomidou.mybatisplus.mapper.Wrapper;importcom.annotation.IgnoreAuth;importcom.entity.PingshenjieguoEntity;importcom.entity.view.PingshenjieguoView;importcom.service.PingshenjieguoService;importcom.service.TokenService;importcom.utils.PageUtils;importcom.utils.R;importcom.utils.MD5Util;importcom.utils.MPUtil;importcom.utils.CommonUtil;/***評審結果*后端接口*@author*@email*@date2023-01-1610:25:42*/@RestController@RequestMapping("/pingshenjieguo")publicclassPingshenjieguoController{@AutowiredprivatePingshenjieguoServicepingshenjieguoService;/***后端列表*/@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,PingshenjieguoEntitypingshenjieguo, HttpServletRequestrequest){ StringtableName=request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")){ pingshenjieguo.setYonghuming((String)request.getSession().getAttribute("username")); }EntityWrapper<PingshenjieguoEntity>ew=newEntityWrapper<PingshenjieguoEntity>(); PageUtilspage=pingshenjieguoService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,pingshenjieguo),params),params));returnR.ok().put("data",page);}/***前端列表*/ @IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,PingshenjieguoEntitypingshenjieguo, HttpServletRequestrequest){EntityWrapper<PingshenjieguoEntity>ew=newEntityWrapper<PingshenjieguoEntity>(); PageUtilspage=pingshenjieguoService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,pingshenjieguo),params),params));returnR.ok().put("data",page);} /***列表*/@RequestMapping("/lists")publicRlist(PingshenjieguoEntitypingshenjieguo){ EntityWrapper<PingshenjieguoEntity>ew=newEntityWrapper<PingshenjieguoEntity>(); ew.allEq(MPUtil.allEQMapPre(pingshenjieguo,"pingshenjieguo"));returnR.ok().put("data",pingshenjieguoService.selectListView(ew));} /***查詢*/@RequestMapping("/query")publicRquery(PingshenjieguoEntitypingshenjieguo){EntityWrapper<PingshenjieguoEntity>ew=newEntityWrapper<PingshenjieguoEntity>(); ew.allEq(MPUtil.allEQMapPre(pingshenjieguo,"pingshenjieguo")); PingshenjieguoViewpingshenjieguoView=pingshenjieguoService.selectView(ew); returnR.ok("查詢評審結果成功").put("data",pingshenjieguoView);} /***后端詳情*/@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){PingshenjieguoEntitypingshenjieguo=pingshenjieguoService.selectById(id);returnR.ok().put("data",pingshenjieguo);}/***前端詳情*/ @IgnoreAuth@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){PingshenjieguoEntitypingshenjieguo=pingshenjieguoService.selectById(id);returnR.ok().put("data",pingshenjieguo);}/***后端保存*/@RequestMapping("/save")publicRsave(@RequestBodyPingshenjieguoEntitypingshenjieguo,HttpServletRequestrequest){ pingshenjieguo.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(pingshenjieguo);pingshenjieguoService.insert(pingshenjieguo);returnR.ok();}/***前端保存*/@RequestMapping("/add")publicRadd(@RequestBodyPingshenjieguoEntitypingshenjieguo,HttpServletRequestrequest){ pingshenjieguo.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(pingshenjieguo);pingshenjieguoService.insert(pingshenjieguo);returnR.ok();}/***修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyPingshenjieguoEntitypingshenjieguo,HttpServletRequestrequest){//ValidatorUtils.validateEntity(pingshenjieguo);pingshenjieguoService.updateById(pingshenjieguo);//全部更新returnR.ok();}/***刪除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){pingshenjieguoService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/***提醒接口*/ @RequestMapping("/remind/{columnName}/{type}") publicRremindCount(@PathVariable("columnName")StringcolumnName,HttpServletRequestrequest, @PathVariable("type")Stringtype,@RequestParamMap<String,Object>map){ map.put("column",columnName); map.put("type",type); if(type.equals("2")){ SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd"); Calendarc=Calendar.getInstance(); DateremindStartDate=null; DateremindEndDate=null; if(map.get("remindstart")!=null){ IntegerremindStart=Integer.parseInt(map.get("remindstart").toString()); c.setTime(newDate()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate=c.getTime(); map.put("remindstart",sdf.format(remindStartDate)); } if(map.get("remindend")!=null){ IntegerremindEnd=Integer.parseInt(map.get("remindend").toString()); c.setTime(newDate()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate=c.getTime(); map.put("remindend",sdf.format(remindEndDate)); } } Wrapper<PingshenjieguoEntity>wrapper=newEntityWrapper<PingshenjieguoEntity>(); if(map.get("remindstart")!=null){ wrapper.ge(columnName,map.get("remindstart")); } if(map.get("remindend")!=null){ wrapper.le(columnName,map.get("remindend")); } StringtableName=request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")){ wrapper.eq("yonghuming",(String)request.getSession().getAttribute("username")); } intcount=pingshenjieguoService.selectCount(wrapper); returnR.ok().put("count",count); }}packagecom.controller;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Calendar;importjava.util.Map;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Date;importjava.util.List;importjavax.servlet.http.HttpServletRequest;importjava.io.IOException;importcom.utils.ValidatorUtils;importmons.lang3.StringUtils;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.transaction.annotation.Transactional;importorg.springframework.format.annotation.DateTimeFormat;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RequestBody;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;importcom.baomidou.mybatisplus.mapper.EntityWrapper;importcom.baomidou.mybatisplus.mapper.Wrapper;importcom.annotation.IgnoreAuth;importcom.entity.XiangmushenbaoEntity;importcom.entity.view.XiangmushenbaoView;importcom.service.XiangmushenbaoService;importcom.service.TokenService;importcom.utils.PageUtils;importcom.utils.R;importcom.utils.MD5Util;importcom.utils.MPUtil;importcom.utils.CommonUtil;/***項目申報*后端接口*@author*@email*@date2023-01-1610:25:42*/@RestController@RequestMapping("/xiangmushenbao")publicclassXiangmushenbaoController{@AutowiredprivateXiangmushenbaoServicexiangmushenbaoService;/***后端列表*/@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,XiangmushenbaoEntityxiangmushenbao, HttpServletRequestrequest){ StringtableName=request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")){ xiangmushenbao.setYonghuming((String)request.getSession().getAttribute("username")); }EntityWrapper<XiangmushenbaoEntity>ew=newEntityWrapper<XiangmushenbaoEntity>(); PageUtilspage=xiangmushenbaoService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,xiangmushenbao),params),params));returnR.ok().put("data",page);}/***前端列表*/ @IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,XiangmushenbaoEntityxiangmushenbao, HttpServletRequestrequest){EntityWrapper<XiangmushenbaoEntity>ew=newEntityWrapper<XiangmushenbaoEntity>(); PageUtilspage=xiangmushenbaoService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,xiangmushenbao),params),params));returnR.ok().put("data",page);} /***列表*/@RequestMapping("/lists")publicRlist(XiangmushenbaoEntityxiangmushenbao){ EntityWrapper<XiangmushenbaoEntity>ew=newEntityWrapper<XiangmushenbaoEntity>(); ew.allEq(MPUtil.allEQMapPre(xiangmushenbao,"xiangmushenbao"));returnR.ok().put("data",xiangmushenbaoService.selectListView(ew));} /***查詢*/@RequestMapping("/query")publicRquery(XiangmushenbaoEntityxiangmushenbao){EntityWra

溫馨提示

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

評論

0/150

提交評論