![畢業(yè)設(shè)計(jì)選題管理系統(tǒng)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/12/3151889a-862e-4377-a955-86686523cd87/3151889a-862e-4377-a955-86686523cd871.gif)
![畢業(yè)設(shè)計(jì)選題管理系統(tǒng)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/12/3151889a-862e-4377-a955-86686523cd87/3151889a-862e-4377-a955-86686523cd872.gif)
![畢業(yè)設(shè)計(jì)選題管理系統(tǒng)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/12/3151889a-862e-4377-a955-86686523cd87/3151889a-862e-4377-a955-86686523cd873.gif)
![畢業(yè)設(shè)計(jì)選題管理系統(tǒng)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/12/3151889a-862e-4377-a955-86686523cd87/3151889a-862e-4377-a955-86686523cd874.gif)
![畢業(yè)設(shè)計(jì)選題管理系統(tǒng)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/12/3151889a-862e-4377-a955-86686523cd87/3151889a-862e-4377-a955-86686523cd875.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1. 前言每年畢業(yè)臨近,都有大量的畢業(yè)生需要進(jìn)行畢業(yè)設(shè)計(jì),這其中的首要關(guān)節(jié)就是課題的選擇,以往指導(dǎo)老 師都是采用人工手寫方式給學(xué)生們提供相關(guān)的課題供學(xué)生選擇,如果指導(dǎo)老師帶領(lǐng)的學(xué)生比較多,或者是當(dāng) 年畢業(yè)的學(xué)生比較多,這樣就容易造成學(xué)生的課題選擇很混亂,指導(dǎo)教師難于統(tǒng)計(jì)學(xué)生的課題選擇情況等一 系列問(wèn)題,基于這些傳統(tǒng)問(wèn)題,我們需要一個(gè)能夠自動(dòng)統(tǒng)計(jì)、實(shí)時(shí)分配課題的一個(gè)管理平臺(tái)來(lái)幫助學(xué)生、指 導(dǎo)老師。此系統(tǒng)的開(kāi)發(fā),主要的目的是使老師能更好的管理課程設(shè)計(jì),也能使學(xué)生能更好的把自己想要選的課程 正確無(wú)誤的選出來(lái)。使處在選課時(shí)期的學(xué)生能有條不紊的進(jìn)行。2. 系統(tǒng)的需求分析2.1 功能需求2.1.1 畢業(yè)設(shè)
2、計(jì)選題管理系統(tǒng)功能要求:1. 畢業(yè)設(shè)計(jì)題目維護(hù)和查詢:畢業(yè)設(shè)計(jì)題目的添加、修改;按照項(xiàng)目類型、名稱、編號(hào)等查詢;畢業(yè)設(shè)計(jì) 選題查詢、登記。2. 指導(dǎo)教師信息維護(hù)和查詢:指導(dǎo)教師信息的添加、修改、刪除,查詢;3. 畢業(yè)生選題管理:學(xué)生選題登記;選題情況查詢;4. 畢業(yè)生信息的維護(hù)和查詢。 根據(jù)以上各功能模塊需求將系統(tǒng)的功能細(xì)化為以下幾點(diǎn):(1)前臺(tái)學(xué)生選題學(xué)生網(wǎng)上選題:學(xué)生登錄管理系統(tǒng)進(jìn)行選題(2)前臺(tái)教師出題 教師網(wǎng)上出題:教師進(jìn)入畢業(yè)選題出題。 教師管理出題:教師進(jìn)入系統(tǒng)后對(duì)畢業(yè)設(shè)計(jì)題目進(jìn)行修改和刪除。 選題確認(rèn):學(xué)生選好題目后,教師可以確認(rèn)該題由選擇該題的學(xué)生做。(3)后臺(tái)管理出題及選題情
3、況 用戶管理模塊:管理員可以對(duì)用戶進(jìn)行用戶管理,對(duì)已存在的用戶進(jìn)行修改,查看等。 角色管理模塊:管理員可以對(duì)用戶的角色進(jìn)行管理,可以給用戶分配角色,對(duì)角色分配權(quán)限。2.2 開(kāi)發(fā)環(huán)境需求操作系統(tǒng): window7 或更高版本因?yàn)楫厴I(yè)設(shè)計(jì)課題管理系統(tǒng)針對(duì)的用戶是學(xué)生和教師,學(xué)生和教師普遍使用 windows 操作系統(tǒng),所以選 著 windows7 或更高版本的操作系統(tǒng) web 服務(wù)器: apache-tomcat6apache-tomcat6 是開(kāi)源的免費(fèi)的 web 服務(wù)器,節(jié)省開(kāi)發(fā)成本 數(shù)據(jù)庫(kù): MySQLMySQL 是一款免費(fèi)的數(shù)據(jù)庫(kù),節(jié)省成本開(kāi)發(fā)工具: myeclipse8.5myeclip
4、se8.5 功能強(qiáng)大的 JavaEE 開(kāi)發(fā)工具,該管理系統(tǒng)選用 JavaEE 開(kāi)發(fā)。3. 系統(tǒng)設(shè)計(jì)3.1 基本設(shè)計(jì)概念和處理流程本系統(tǒng)采用結(jié)構(gòu)化分析,設(shè)計(jì)順序?yàn)樽皂斚蛳?,層層逐步?xì)化圖13.2 軟件功能設(shè)計(jì)圖23.2 數(shù)據(jù)庫(kù)設(shè)計(jì)3.2.1 E-R 圖圖3圖43.2.2 數(shù)據(jù)庫(kù)表用戶表 (user)字段類型備注useridVarchar ( 20) primary key用戶 IDPwdvarchar(32)用戶密碼roleIdInt外鍵tnameVarchar(20)姓名sexVarchar(5)性別AgeInt年齡表1課題表 (task)字段類型備注taskIdInt primary key
5、課題 IDtasknamevarchar(20)課題名sflagint狀態(tài)(是否被選)taskTextvarchar(50)課題內(nèi)容表2選擇課題 (chosetask)字段類型備注ctIdint primary key學(xué)生選課題 iduIdvarchar(10)外鍵taskIdInt課題 ID上傳課題 (puttask)表3字段類型備注ptIdint primary key教師上傳課題 iduIdvarchar(10)外鍵taskIdInt課題 ID表4角色表 (roleinfo)字段類型備注roleIdInt primary key角色 IDrolenamevarchar(10)角色名表5權(quán)
6、限表 (rightinfo)字段類型備注rightCodevarchar(20)primary key權(quán)限r(nóng)ightParentCodevarchar(30)父權(quán)限r(nóng)ightTypevarchar(20)rightTextvarchar(50)RightUrlvarchar(30)url 地址RightTipvarchar(50)表6角色權(quán)限表( roleright )rr idInt primary key主鍵rr roleidInt外鍵 role 表rr rightCodevarchar(20)外鍵 rightinfo 表表74. 典型功能模塊的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)過(guò)程用戶模塊登錄功能代碼:pu
7、blic String doLogin()Userinfo uu= userService .checkUser( user );if (uu!= null )ServletActionContext.getRequest().getSession().setAttribute( USER uu);int roleId=uu.getRoleinfo().getRoleId();Roleinfo r= roleService .getRoleWithRights(roleId);String menuString=buildDTreeMenuString(r);ServletActionCont
8、ext.getRequest().getSession().setAttribute( MENU_STRING menuString);returnmainelsereturn input ;public Userinfo checkUser(Userinfo u) Userinfo uu= null ;String hql=from Userinfo where userid=? and pwd=?Object args = new Objectu.getUserid(),u.getPwd(); List list =commonDao .list(hql, args);if (list!=
9、 null & list.size()0)uu = list.get(0);return uu;public List list(String hql, Object args) List list= this .getHibernateTemplate().find(hql,args); return list;查詢信息功能代碼:publicString toList()SPageBean spb =new SPageBean();HttpServletRequest request = ServletActionContext.getRequest();int offset = 0;if
10、(request.getParameter( offset = 0; else offset = I maxPageItems; maxPageItems = 5;pager.offset) = null ) parseInt (request.getParameter(if (request.getAttribute(pager.offsetmaxPageItems ) =);null ) else maxPageItems );maxPageItems = Integer. parseInt (request.getParameter( spb.setOffset(of
11、fset);spb.setPageSize(maxPageItems); infoService.getList(spb);request.setAttribute( SPB , spb); return list ;public void getList(SPageBean spb) String hql= from Userinfo commonDao .listByPage(hql, spb); publiclistByPage(String hql, SPageBean spb) String hql1=hql;SPageBean spb1=spb;if (hql!= null )vo
12、idfinalfinalint total=(Integer)HibernateCallback() public Object doInHibernate(SessionSQLException String qString=this .getHibernateTemplate().execute(sess)throwsif (hql1.toLowerCase().indexOf(int idx=hql1.toLowerCase().indexOf( qString= select count(*) +hql1.substring(idx,hql1.length();else qString
13、= select count(*) Query cQuery=sess.createQuery(qString); cQuery.setCacheable( true ); long o= (Long)cQuery.uniqueResult(); int ii=( returnselect +hql1;); spb.setTotal(total); List data=(List)HibernateCallback() publicnewHibernateException,ii;)!=-1)from);int )o;this .getHibernateTemplate().execute(n
14、ewObjectSQLException Query query= sess.createQuery(hql1); query.setFirstResult(spb1.getOffset(); query.setMaxResults(spb1.getPageSize(); return query.list();doInHibernate(Sessionsess)throwsHibernateException,);spb.setDatas(data);public class SPageBean privateintoffsetprivateintpageSizeprivateinttota
15、l ;privateListdataspublic int getTotal() return total ;public void setTotal( int total) this . total = total; public List getDatas() return datas ;public void setDatas(List datas) this . datas = datas; public int getOffset() return offset ;public void setOffset( int offset) this . offset = offset; p
16、ublic int getPageSize() return pageSize ;public void setPageSize( int pageSize) this . pageSize = pageSize; 上傳課題功能代碼:public String toadd()return add ;public String doadd() if ( taskService .doAdd( task )= true )SPageBean spb = new SPageBean();HttpServletRequest request = ServletActionContext.getRequ
17、est(); int offset = 0;if(request.getParameter(pager.offset ) = null) offset = 0;else intoffset = Integer.parseInt (request.getParameter(pager.offset);maxPageItems;if (request.getAttribute(maxPageItems) =null ) maxPageItems = 5; else maxPageItems =);SPB1 , spb);Integer. parseInt (request.getParameter
18、( maxPageItems spb.setOffset(offset);spb.setPageSize(maxPageItems);taskService .getTaskinfo(spb);ServletActionContext.getRequest().setAttribute( return list ;elsereturn add ;public boolean doAdd(TaskInfo t) Serializable ret = commonDao .add(t);return ret!= null ;管理員模塊管理員對(duì)角色管理功能:public class RoleActi
19、on private IRoleService private IRightService extends ActionSupport roleService ;rightService ;private Roleinfo rolepublic void setRoleService(IRoleService roleService) this . roleService = roleService;public void setRightService(IRightService rightService) this . rightService = rightService;public
20、Roleinfo getRole() return rolepublic void setRole(Roleinfo role) this . role = role;public String toList()ROLES , roles);List roles= roleService .getList(); ServletActionContext.getRequest().setAttribute( return list ;public String toAssign() List rights=Roleinfo r = roleServicerightService .getAllR
21、ights();.getRoleWithRights(role .getRoleId();for(Rightinfo right:rights)if (r.getRights().contains(right)right.setChecked(checked );ServletActionContext.getRequest().setAttribute(ServletActionContext.getRequest().setAttribute(return assignROLE , r); RIGHTS ,rights);public String doAssign()HttpServle
22、tRequest request=ServletActionContext.getRequest();String newRights=request.getParameterValues( roleService .updateRoleRights( role .getRoleId(),newRights); HttpServletResponse response=ServletActionContext.getResponse();throws ExceptionCheckBox_Rights);response.sendRedirect( &message=ok returnrole!
23、toAssign.action?role.roldId=+role .getRoleId()+);null publicclassprivatepublicthisRightServiceImpl_HICommonDAO commonDao ;void setCommonDao(ICommonDAO commonDao) . commonDao = commonDao;implements IRightService publicString hql=List list =List getAllRights() from Rightinfo ;commonDao .list(hql);retu
24、rn list;管理員對(duì)用戶管理功能:增、刪、改、查)publicString delete()int uid =Integer.parseIntboolean(ServletActionContext.getRequest().getParameter( flag =userService .delete(uid);userid );if (flag)return list1 ; elsereturn list ;/ 編輯用戶public String toedit()intuserid );uid=Integer. parseInt (ServletActionContext.getReq
25、uest().getParameter(Userinfo uu = userService .detail(uid); ServletActionContext.getRequest().setAttribute( USER2 , uu); return edit ;public String edit()boolean flag = userService .update( user );if (flag)return list ; elsereturn edit_error ;public String detail()intuserid );uid=Integer. parseInt (
26、ServletActionContext.getRequest().getParameter(Userinfo uu = userService .detail(uid); ServletActionContext.getRequest().setAttribute( USER1 , uu); return detail ;public String add()if ( userService .addUser( user )= true ) List user =userService .list();USERS , user);ServletActionContext.getRequest
27、().setAttribute(returnlistelsereturn add ;public String toadd()return add ;public String doLogin()Userinfo uu= userService .checkUser( user );if (uu!= null )ServletActionContext.getRequest().getSession().setAttribute( USER uu);int roleId=uu.getRoleinfo().getRoleId();Roleinfo r= roleService .getRoleW
28、ithRights(roleId);String menuString=buildDTreeMenuString(r);MENU_STRINGServletActionContext.getRequest().getSession().setAttribute( menuString);return main ;elsereturn input ;public boolean addUser(Userinfo u) Serializable ret = commonDao .add(u); return ret!= null ;public List list() String hql = from Userinfo ;List list =commonDao .list(hql);return list;public Userinfo detail(Userinfo uu= nullString hql= fromint userid) Userinfo u left outer joinfetchu.rolewhere u.user
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 節(jié)日主題教育活動(dòng)計(jì)劃
- 二零二五年度林業(yè)樹(shù)木清理與可持續(xù)利用合同3篇
- 2025版隧洞施工合同:隧道施工合同履約保證與履約擔(dān)保協(xié)議3篇
- 二零二五年度鋼材料國(guó)際采購(gòu)合同標(biāo)準(zhǔn)范本
- 二零二五年度個(gè)人購(gòu)房裝修分期付款合同樣本3篇
- 二零二五年度樓房居間買賣合同(含家具家電)4篇
- 二零二五年度個(gè)人對(duì)網(wǎng)絡(luò)安全企業(yè)借款合同4篇
- 防水套管后補(bǔ)做法施工方案
- 二零二五年度鋼廠廢鋼回收處理及環(huán)保設(shè)施建設(shè)合同
- 二零二五年度企業(yè)品牌形象托管授權(quán)合同3篇
- 《肝硬化的臨床表現(xiàn)》課件
- 新增值稅法學(xué)習(xí)課件
- DB23T 3838-2024商貿(mào)行業(yè)有限空間個(gè)體防護(hù)裝備配備規(guī)范
- 《電子技術(shù)基礎(chǔ)(第二版)》中職技工全套教學(xué)課件
- 五年級(jí)上冊(cè)美術(shù)《傳統(tǒng)門飾》課件
- DL∕T 1309-2013 大型發(fā)電機(jī)組涉網(wǎng)保護(hù)技術(shù)規(guī)范
- 城鄉(xiāng)低保待遇協(xié)議書
- 華為HCIA-Storage H13-629考試練習(xí)題
- 遼寧省撫順五十中學(xué)2024屆中考化學(xué)全真模擬試卷含解析
- 2024年中國(guó)科學(xué)技術(shù)大學(xué)少年創(chuàng)新班數(shù)學(xué)試題真題(答案詳解)
- 煤礦復(fù)工復(fù)產(chǎn)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論