




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、.1. 前言每年畢業(yè)臨近,都有大量的畢業(yè)生需要進行畢業(yè)設計,這其中的首要關節(jié)就是課題的選擇,以往指導老師都是采用人工手寫方式給學生們提供相關的課題供學生選擇,如果指導老師帶領的學生比較多,或者是當年畢業(yè)的學生比較多,這樣就容易造成學生的課題選擇很混亂,指導教師難于統(tǒng)計學生的課題選擇情況等一系列問題,基于這些傳統(tǒng)問題,我們需要一個能夠自動統(tǒng)計、實時分配課題的一個管理平臺來幫助學生、指導老師。此系統(tǒng)的開發(fā),主要的目的是使老師能更好的管理課程設計,也能使學生能更好的把自己想要選的課程正確無誤的選出來。使處在選課時期的學生能有條不紊的進行。2. 系統(tǒng)的需求分析2.1功能需求2.1.1 畢業(yè)設計選題管理
2、系統(tǒng)功能要求:1.畢業(yè)設計題目維護和查詢:畢業(yè)設計題目的添加、修改;按照項目類型、名稱、編號等查詢;畢業(yè)設計選題查詢、登記。2.指導教師信息維護和查詢:指導教師信息的添加、修改、刪除,查詢;3.畢業(yè)生選題管理:學生選題登記;選題情況查詢;4.畢業(yè)生信息的維護和查詢。根據(jù)以上各功能模塊需求將系統(tǒng)的功能細化為以下幾點:(1)前臺學生選題學生網(wǎng)上選題:學生登錄管理系統(tǒng)進行選題(2)前臺教師出題教師網(wǎng)上出題:教師進入畢業(yè)選題出題。教師管理出題:教師進入系統(tǒng)后對畢業(yè)設計題目進行修改和刪除。選題確認:學生選好題目后,教師可以確認該題由選擇該題的學生做。(3)后臺管理出題及選題情況用戶管理模塊:管理員可以對
3、用戶進行用戶管理,對已存在的用戶進行修改,查看等。角色管理模塊:管理員可以對用戶的角色進行管理,可以給用戶分配角色,對角色分配權限。2.2開發(fā)環(huán)境需求操作系統(tǒng):window7或更高版本因為畢業(yè)設計課題管理系統(tǒng)針對的用戶是學生和教師,學生和教師普遍使用windows操作系統(tǒng),所以選著windows7或更高版本的操作系統(tǒng)精品.web服務器:apache-tomcat6apache-tomcat6是開源的免費的web服務器,節(jié)省開發(fā)成本數(shù)據(jù)庫:mysqlmysql是一款免費的數(shù)據(jù)庫,節(jié)省成本開發(fā)工具:myeclipse8.5myeclipse8.5功能強大的javaee開發(fā)工具,該管理系統(tǒng)選用jav
4、aee開發(fā)。3. 系統(tǒng)設計3.1基本設計概念和處理流程本系統(tǒng)采用結構化分析,設計順序為自頂向下,層層逐步細化。圖1精品.3.2軟件功能設計圖2精品.3.2數(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學生選課題iduidvarchar(10)外鍵taskidint課題id表3上傳課題(puttask)字段類型備注ptidint primary key教師上傳課題iduidvarchar(10)外鍵taskidint課題id表4角色表(roleinfo)字段類型備注roleidint primary key角色idrolenamevarchar(10)角色名表5權限表(rightinfo)字段類型備注rightcodevarchar(20)pr
6、imary key權限r(nóng)ightparentcodevarchar(30) 父權限r(nóng)ighttypevarchar(20)righttextvarchar(50)righturlvarchar(30)url地址righttipvarchar(50)表6角色權限表(roleright)rr_idint primary key主鍵rr_roleidint外鍵 role表rr_rightcodevarchar(20)外鍵 rightinfo表表7精品.4. 典型功能模塊的詳細設計和實現(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國鉚螺母市場分析及競爭策略研究報告
- 2025至2030年中國輸電線路覆冰在線專業(yè)監(jiān)測站市場分析及競爭策略研究報告
- 2025至2030年中國花形風車市場分析及競爭策略研究報告
- 2025至2030年中國線繞電位器市場分析及競爭策略研究報告
- 2025至2030年中國短柄水勺市場分析及競爭策略研究報告
- 2025至2030年中國水滸酒市場分析及競爭策略研究報告
- 2025至2030年中國木制棋牌市場分析及競爭策略研究報告
- 2025至2030年中國探傷儀市場分析及競爭策略研究報告
- 2025至2030年中國廣告級霓虹燈粉管市場分析及競爭策略研究報告
- 2025至2030年中國定時器收音機市場分析及競爭策略研究報告
- 反假幣培訓課件
- 中山大學強基校測面試題
- 愛回收培訓課件
- 2025年湖南省中考化學真題(解析版)
- aopa無人機培訓管理制度
- 2025屆中考化學預熱模擬卷 【吉林專用】
- 2025至2030年中國工業(yè)控制軟件行業(yè)市場運行態(tài)勢及前景戰(zhàn)略研判報告
- 小學生籃球課課件下載
- 2025年中國AI智能鼠標行業(yè)市場全景分析及前景機遇研判報告
- 2025呼倫貝爾農(nóng)墾集團有限公司校園招聘44人筆試參考題庫附帶答案詳解析集合
- 2025年湖北省新華書店(集團)有限公司市(縣)分公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論