版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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é)生的課題選擇情況等一系列問題,基于這些傳統(tǒng)問題,我們需要一個(gè)能夠自動(dòng)統(tǒng)計(jì)、實(shí)時(shí)分配課題的一個(gè)管理平臺來幫助學(xué)生、指導(dǎo)老師。此系統(tǒng)的開發(fā),主要的目的是使老師能更好的管理課程設(shè)計(jì),也能使學(xué)生能更好的把自己想要選的課程正確無誤的選出來。使處在選課時(shí)期的學(xué)生能有條不紊的進(jìn)行。2. 系統(tǒng)的需求分析2.1功能需求2.1.1 畢業(yè)設(shè)計(jì)選題管理
2、系統(tǒng)功能要求:1.畢業(yè)設(shè)計(jì)題目維護(hù)和查詢:畢業(yè)設(shè)計(jì)題目的添加、修改;按照項(xiàng)目類型、名稱、編號等查詢;畢業(yè)設(shè)計(jì)選題查詢、登記。2.指導(dǎo)教師信息維護(hù)和查詢:指導(dǎo)教師信息的添加、修改、刪除,查詢;3.畢業(yè)生選題管理:學(xué)生選題登記;選題情況查詢;4.畢業(yè)生信息的維護(hù)和查詢。根據(jù)以上各功能模塊需求將系統(tǒng)的功能細(xì)化為以下幾點(diǎn):(1)前臺學(xué)生選題學(xué)生網(wǎng)上選題:學(xué)生登錄管理系統(tǒng)進(jìn)行選題(2)前臺教師出題教師網(wǎng)上出題:教師進(jìn)入畢業(yè)選題出題。教師管理出題:教師進(jìn)入系統(tǒng)后對畢業(yè)設(shè)計(jì)題目進(jìn)行修改和刪除。選題確認(rèn):學(xué)生選好題目后,教師可以確認(rèn)該題由選擇該題的學(xué)生做。(3)后臺管理出題及選題情況用戶管理模塊:管理員可以對
3、用戶進(jìn)行用戶管理,對已存在的用戶進(jìn)行修改,查看等。角色管理模塊:管理員可以對用戶的角色進(jìn)行管理,可以給用戶分配角色,對角色分配權(quán)限。2.2開發(fā)環(huán)境需求操作系統(tǒng):window7或更高版本因?yàn)楫厴I(yè)設(shè)計(jì)課題管理系統(tǒng)針對的用戶是學(xué)生和教師,學(xué)生和教師普遍使用windows操作系統(tǒng),所以選著windows7或更高版本的操作系統(tǒng)精品.web服務(wù)器:apache-tomcat6apache-tomcat6是開源的免費(fèi)的web服務(wù)器,節(jié)省開發(fā)成本數(shù)據(jù)庫:mysqlmysql是一款免費(fèi)的數(shù)據(jù)庫,節(jié)省成本開發(fā)工具:myeclipse8.5myeclipse8.5功能強(qiáng)大的javaee開發(fā)工具,該管理系統(tǒng)選用jav
4、aee開發(fā)。3. 系統(tǒng)設(shè)計(jì)3.1基本設(shè)計(jì)概念和處理流程本系統(tǒng)采用結(jié)構(gòu)化分析,設(shè)計(jì)順序?yàn)樽皂斚蛳拢瑢訉又鸩郊?xì)化。圖1精品.3.2軟件功能設(shè)計(jì)圖2精品.3.2數(shù)據(jù)庫設(shè)計(jì)3.2.1 e-r圖圖3精品.圖43.2.2數(shù)據(jù)庫表用戶表(user)字段類型備注useridvarchar(20) primary key用戶id pwdvarchar(32)用戶密碼roleidint外鍵tnamevarchar(20)姓名sexvarchar(5)性別ageint年齡表1課題表(task)字段類型備注taskidint primary key課題idtasknamevarchar(20)課題名sflagint狀
5、態(tài)(是否被選)tasktextvarchar(50)課題內(nèi)容表2精品.選擇課題(chosetask)字段類型備注ctidint primary key學(xué)生選課題iduidvarchar(10)外鍵taskidint課題id表3上傳課題(puttask)字段類型備注ptidint primary key教師上傳課題iduidvarchar(10)外鍵taskidint課題id表4角色表(roleinfo)字段類型備注roleidint primary key角色idrolenamevarchar(10)角色名表5權(quán)限表(rightinfo)字段類型備注rightcodevarchar(20)pr
6、imary 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表表7精品.4. 典型功能模塊的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)過程用戶模塊登錄功能代碼:public string dologin() userinfo uu= userserv
7、ice.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); servletactioncontext.getrequest().getsession().setattribute(
8、menu_string, menustring); return main; else return 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!=null & list.size()0)uu = list.get(0);r
9、eturn uu;public list list(string hql, object args) list list= this.gethibernatetemplate().find(hql,args);return list;查詢信息功能代碼:public string tolist()spagebean spb = new spagebean();httpservletrequest request = servletactioncontext.getrequest();int offset = 0;if (request.getparameter(pager.offset) = n
10、ull) offset = 0; else offset = integer.parseint(request.getparameter(pager.offset);int maxpageitems;if (request.getattribute(maxpageitems) = null) maxpageitems = 5; else maxpageitems = integer.parseint(request.getparameter(maxpageitems);spb.setoffset(offset);spb.setpagesize(maxpageitems);infoservice
11、.getlist(spb);request.setattribute(spb, spb);return list;public void getlist(spagebean spb) string hql=from userinfo;commondao.listbypage(hql, spb);public void listbypage(string hql, spagebean spb) final string hql1=hql;final spagebean spb1=spb;精品.if(hql!=null)int total=(integer) this.gethibernatete
12、mplate().execute(new hibernatecallback() public object doinhibernate(session sess) throws hibernateexception,sqlexception string qstring=;if(hql1.tolowercase().indexof(select )!=-1)int idx=hql1.tolowercase().indexof(from);qstring=select count(*) +hql1.substring(idx,hql1.length();elseqstring=select c
13、ount(*) +hql1;query cquery=sess.createquery(qstring);cquery.setcacheable(true);long o= (long)cquery.uniqueresult();int ii=(int)o;return ii;);spb.settotal(total);list data=(list)this.gethibernatetemplate().execute(new hibernatecallback() public object doinhibernate(session sess) throws hibernateexcep
14、tion,sqlexception query query= sess.createquery(hql1);query.setfirstresult(spb1.getoffset();query.setmaxresults(spb1.getpagesize();return query.list(););spb.setdatas(data);public class spagebean private int offset;private int pagesize;private int total;private list datas;public int gettotal() return
15、 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;public int getpagesize() return pagesize;public void setpag
16、esize(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.getrequest();int offset = 0;if (request.getparameter(pager.offset) = null) off
17、set = 0; else offset = integer.parseint(request.getparameter(pager.offset);int maxpageitems;if (request.getattribute(maxpageitems) = null) maxpageitems = 5; else 精品.maxpageitems = integer.parseint(request.getparameter(maxpageitems);spb.setoffset(offset);spb.setpagesize(maxpageitems);taskservice.gett
18、askinfo(spb);servletactioncontext.getrequest().setattribute(spb1, spb);return list;elsereturn add;public boolean doadd(taskinfo t) serializable ret = commondao.add(t);return ret!=null;管理員模塊管理員對角色管理功能:public class roleaction extends actionsupportprivate iroleservice roleservice;private irightservice
19、rightservice;private roleinfo role;public void setroleservice(iroleservice roleservice) this.roleservice = roleservice;public void setrightservice(irightservice rightservice) this.rightservice = rightservice;public roleinfo getrole() return role;public void setrole(roleinfo role) this.role = role;pu
20、blic string tolist()精品.list roles= roleservice.getlist();servletactioncontext.getrequest().setattribute(roles, roles);return list;public string toassign()list rights= rightservice.getallrights();roleinfo r = roleservice.getrolewithrights(role.getroleid();for(rightinfo right:rights)if(r.getrights().c
21、ontains(right)right.setchecked(checked);servletactioncontext.getrequest().setattribute(role, r);servletactioncontext.getrequest().setattribute(rights,rights);return assign;public string doassign() throws exceptionhttpservletrequest request=servletactioncontext.getrequest();string newrights=request.g
22、etparametervalues(checkbox_rights);roleservice.updaterolerights(role.getroleid(),newrights);httpservletresponse response=servletactioncontext.getresponse();response.sendredirect(role!toassign.action?role.roldid=+role.getroleid()+&message=ok);return null;public class rightserviceimpl_h implements iri
23、ghtserviceprivate icommondao commondao;public void setcommondao(icommondao commondao) mondao = commondao;public list getallrights() string hql=from rightinfo;list list = commondao.list(hql);return list;管理員對用戶管理功能:(增、刪、改、查)精品.public string delete()int uid = integer.parseint(servletactionconte
24、xt.getrequest().getparameter(userid);boolean flag = userservice.delete(uid);if(flag)return list1;elsereturn list;/編輯用戶public string toedit()int uid=integer.parseint(servletactioncontext.getrequest().getparameter(userid);userinfo uu = userservice.detail(uid);servletactioncontext.getrequest().setattri
25、bute(user2, uu);return edit;public string edit()boolean flag = userservice.update(user);if(flag)return list;elsereturn edit_error;public string detail()int uid=integer.parseint(servletactioncontext.getrequest().getparameter(userid);userinfo uu = userservice.detail(uid);servletactioncontext.getreques
26、t().setattribute(user1, uu); return detail; public string add()精品.if(userservice.adduser(user)= true)list user = userservice.list();servletactioncontext.getrequest().setattribute(users, user);return list;elsereturn add;public string toadd()return add;public string dologin() userinfo uu= userservice.
27、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); servletactioncontext.getrequest().getsession().setattribute(menu
28、_string, menustring); return main; else return 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(int userid) userinfo uu=null;string hql=from userinfo u left outer join fetch u.role where u.userid=?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 異黃樟素生物合成機(jī)制-洞察分析
- 元宇宙的區(qū)塊鏈技術(shù)應(yīng)用-洞察分析
- 《熔體破裂現(xiàn)象》課件
- 性激素與子宮內(nèi)膜異位癥-洞察分析
- 疫情期間的健康防護(hù)-洞察分析
- 辦公環(huán)境下的食品安全培訓(xùn)課程設(shè)計(jì)
- 玩具設(shè)計(jì)師職責(zé)描述
- 內(nèi)容創(chuàng)新推動(dòng)下的教育現(xiàn)代化進(jìn)程
- 健康教育課程的設(shè)計(jì)與實(shí)踐應(yīng)用研究
- 2025購銷合同解除協(xié)議書
- 工業(yè)循環(huán)水處理行業(yè)市場調(diào)研分析報(bào)告
- 2025公司集團(tuán)蛇年新春年會(huì)游園(靈蛇舞動(dòng)共創(chuàng)輝煌主題)活動(dòng)策劃方案-31P
- 2024年高考?xì)v史必修部分重點(diǎn)必考知識點(diǎn)總結(jié)(經(jīng)典版)
- 《計(jì)算機(jī)視覺》教學(xué)課件-第08章1-神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)1
- 職業(yè)衛(wèi)生技術(shù)服務(wù)機(jī)構(gòu)檢測人員考試真題題庫
- 人教版2024年小學(xué)二年級上學(xué)期語文期末考試往年真題
- 安全月度例會(huì)匯報(bào)材料模板
- 大國兵器學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年無子女離婚協(xié)議書范文百度網(wǎng)盤
- UNIT 4 Section Ⅳ Lesson 3 My Favourite Comedian 學(xué)案 高中英語北師大版 (選擇性必修第二冊)
- 24秋國家開放大學(xué)《0-3歲嬰幼兒的保育與教育》期末大作業(yè)參考答案
評論
0/150
提交評論