




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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é)生的 課題選擇情況等一系列問題, 基于這些傳統(tǒng)問題, 我們需要一個(gè)能夠自動(dòng)統(tǒng)計(jì)、 實(shí)時(shí)分配課題的一個(gè)管 理平臺(tái)來幫助學(xué)生、指導(dǎo)老師。此系統(tǒng)的開發(fā), 主要的目的是使老師能更好的管理課程設(shè)計(jì), 也能使學(xué)生能更好的把自己想要選的 課程正確無誤的選出來。使處在選課時(shí)期的學(xué)生能有條不紊的進(jìn)行。2. 系統(tǒng)的需求分析2.1 功能需求2.
2、1.1 畢業(yè)設(shè)計(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 開發(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是開源的免費(fèi)的 web服務(wù)器,節(jié)省開發(fā)成本數(shù)據(jù)庫(kù): MySQLMySQL 是一款免費(fèi)的數(shù)據(jù)庫(kù),節(jié)省成本開發(fā)工具: myeclipse8.5
4、myeclipse8.5功能強(qiáng)大的JavaEE開發(fā)工具,該管理系統(tǒng)選用JavaEE開發(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外鍵tn ameVarchar(20)姓名sexVarchar(5)性別AgeInt年齡表1課題表(task)字段類型備注taskIdInt primary key課題ID
5、task namevarchar(20)課題名sflagint狀態(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角色I(xiàn)Drole namevarchar(10)角色名表5權(quán)限表(rightinf
6、o)字段類型備注rightCodevarchar(20)primary key權(quán)限r(nóng)ightPare ntCodevarchar(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)過程用戶模塊登錄功能代碼:publicStr ing doLog
7、i n()Userinfo uu= userService .checkUser( user );if (uu!= null )uu);int roleld=uu.getRole in fo().getRoleld();Rolei nfo r= roleService .getRoleWithRights(roleld);Stri ng men uStri ng=buildDTreeMe nuStr in g(r);MENU_STRINGServletActio nCon text.getRequest().getSessio n().setAttribute(men uStri ng);re
8、turnmai n;elseretur n in put ;public Useri nfo checkUser(User info u) Useri nfo uu=n ull;String hql= from Useri nfo where userid=? and pwd=?Object args =new Objectu.getUserid(),u.getPwd();List list =com mon Dao .list(hql, args);if (list!= null & list.size()0)uu = list.get(0);return uu;public List li
9、st(Stri ng hql, Object args) List list=this .getHibernateTemplate().fin d(hql,arqs);return list;查詢信息功能代碼:publicStri ng toList()SPageBea n spb =new SPageBea n();HttpServletRequest request = ServletActio nCon text.getRequest(); int offset = 0;if (request.getParameter( offset = 0; else offset = In tege
10、 maxPageltems; maxPageltems = 5; else maxPageltems =pager.offset)=n ull ) parse Int(request.getParameter(if (request.getAttribute(pager.offset);maxPageltems ) = null ) spb.setOffset(offset); spb.setPageSize(maxPageltems);in foService.getList(spb);request.setAttribute(SPB , spb);return list ;pub
11、lic void getList(SPageBea n spb) String hql= from Useri nfo com mon DaoistByPage(hql, spb);publicvoid listByPage(Stri ng hql, SPageBean spb) final Stri ng hql1=hql;finalSPageBea n spb1=spb;if (hql!= null )newint total=(I nteger)this .getHibern ateTemplate().execute(Hiber nateCallback() publicObject
12、dolnH iber nate(Sessi on sess)throwsHiber nateExceptio n, SQLException Stri ng qStri ng=”;if (hql1.toLowerCase().indexOf(select )!=-1)int idx=hql1.toLowerCase().i ndexOf(from);qStri ng=select cou nt(*)+hql1.substri ng(idx,hql1.le ngth();else qStri ng=select cou nt(*) +hql1;Query cQuery=sess.createQu
13、ery(qStri ng);cQuery.setCacheable(true );long o= (Lon g)cQuery.u ni queResult();int ii=( int )o;return ii;);spb.setTotal(total);List data=(List)this .getHibern ateTemplate().execute(newHiber nateCallback() publicObject dolnH iber nate(Sessi on sess)throwsHiber nateExcepti on,SQLException Query query
14、= sess.createQuery(hqll);query.setFirstResult(spb1.getOffset();query.setMaxResults(spb1.getPageSize(); return query.list(););spb.setDatas(data);public classSPageBea n privateintoffsetprivateintpageSizeprivateinttotal ;privateListdataspublicintgetTotal() return totalpublic void setTotal( int total) t
15、his . 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() retur npageSize ;public void setPageSize( int pageSize) this . pageS
16、ize = pageSize;上傳課題功能代碼:publicStr ing toadd()return add;public String doadd()if (taskService .doAdd( task )= true )SPageBea n spb = new SPageBea n();HttpServletRequest request = ServletActio nCon text.getRequest();int offset = 0;null ) if (request.getParameter(offset = 0; else offset = In
17、maxPageItems;maxPageItems = 5; else maxPageItems =pager.offset) = n ullparse Int (request.getParameter(if (request.getAttribute()pager.offset);maxPageItems)=maxPageItems );In teger.parse Int (request.getParameter(spb.setOffset(offset); spb.setPageSize(maxPageltems); taskService.getTask in fo(spb);SP
18、B1 , spb);ServletActio nCon text.getRequest().setAttribute( return list ;elsereturnaddpublicboolea ndoAdd(Tasklnfo t) Serializable ret =com mon Dao .add(t);return ret!= n ull ;管理員模塊管理員對(duì)角色管理功能:publicclassRoleActio nexte ndsActi on SupportprivateIRoleServiceroleService;privateIRightServicerightService
19、;privateRolei nforole ;publicvoid setRoleService(IRoleService roleService) this.roleService=roleService;public void setRightService(IRightService rightService) this . rightService = rightService;public Rolei nfo getRole() return role ;public void setRole(Role info role) this . role = role;public Str
20、i ng toList()ListvRole info roles=roleService .getList();ROLES , roles);ServletActi onCon text.getRequest().setAttribute( return listpublic String toAssig n()List rights=roleServicerightService.getAllRights();Rolei nfo r =.getRoleWithRights(role.getRoleld();for(Rightinfo right:rights)if (r.getRights
21、().con tain s(right) right.setChecked(checked);ServletActio nCon text.getRequest().setAttribute(ServletActio nCon text.getRequest().setAttribute(ROLE , r);RIGHTS ,rights);retur nassig npublic String doAssig n()throws Excepti onHttpServletRequest request=ServletActionStri ng n ewRights=request.getPar
22、ameterValues(CheckBox_Rights );roleService .updateRoleRights(role .getRoleld(), newRights);HttpServletResp onse response=ServletActioresp on se.se ndRedirect(role!toAssig n. actio n?role.roldld=+ role .getRoleId()+&message=ok);return n ull ;public class RightServicelmpl_Himpleme ntsIRightServicepriv
23、ate ICom monDAOcom mon Dao ;public void setCom mon Dao(ICom monDAO com mon Dao) this . com mon Dao = com mon Dao;publicList getAllRights() String hql= from Righti nfo;ListvRighti nfo list =com mon Daoist(hql);return list;管理員對(duì)用戶管理功能:(增、刪、改、查)publicStr ing uid =In teger.parse Int(ServletAct
24、ionCon text.getRequest().getParameter(userid );boolea nflag = userService .delete(uid);if (flag)return list1 ;elsereturn list ;/編輯用戶public String toedit()intuid=In teger.parse Int(ServletActionCon text.getRequest().qetParameter(userid );Useri nfo uu =userService .detail(uid);ServletActionContext.get
25、Request().setAttribute(USER2 , uu);return edit ;public Stri ng edit()booleanflag = userService .update( user );if (flag)return list ;elsereturn edit_error ;public String detail()intuid=In teger.parse Int(ServletActi onCon text.getRequest().getParameter();Useri nfo uu =userService .detail(uid);Servle
26、tActi onCon text.getRequest().setAttribute(return detail ;public String add()if ( userService .addUser( user )= true )List user =userService .list();ServletActio nCon text.getRequest().setAttribute( return list ;elsereturn add;public String toadd()return add;public String doLogi n()Userinfo uu=userS
27、ervice .checkUser( user );if (uu!= null )ServletActio nCon text.getRequest().getSessi on( ).setAttribute(uu);int roleId=uu.getRole in fo().getRoleId();Rolei nfo r=roleService .getRoleWithRights(roleId);Stri ng men uStri ng=buildDTreeMe nuStr in g(r);ServletActionCon text.getRequest().getSessio n( ).
28、setAttribute( men uStri ng);return mai n;elseretur nin put;public boolea naddUser(Useri nfo u) Serializable ret =com mon Dao .add(u);userid )USER1 , uu);USERS , user);USERMENU_STRINGreturn ret!= n ull ;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 Object args= new
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大班性別教育
- 教科版(2017)科學(xué)五年下冊(cè)《我們面臨的環(huán)境問題》說課(附反思、板書)課件
- 旅行套餐采購(gòu)合同
- 產(chǎn)業(yè)分析實(shí)習(xí)協(xié)議
- 教官學(xué)期工作總結(jié)
- 辛集中學(xué)高二語(yǔ)文限時(shí)訓(xùn)練
- 陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院《現(xiàn)代食品生物技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西學(xué)前師范學(xué)院《程序設(shè)計(jì)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 幼兒園集體活動(dòng)健康教育
- 陜西服裝工程學(xué)院《書法理論下》2023-2024學(xué)年第一學(xué)期期末試卷
- 科技公司費(fèi)用報(bào)銷制度及流程比較
- 牧原應(yīng)聘筆試試題及答案
- 2024年紹興諸暨市水務(wù)集團(tuán)有限公司招聘考試真題
- 2025年新版供電營(yíng)業(yè)規(guī)則考試題庫(kù)
- 2025年長(zhǎng)白山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶答案
- 【初中語(yǔ)文】第11課《山地回憶》課件+2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 華為創(chuàng)業(yè)成功案例分析
- 2025年事業(yè)編畜牧筆試試題及答案
- DL-T-1878-2018燃煤電廠儲(chǔ)煤場(chǎng)盤點(diǎn)導(dǎo)則
- 《2022年上海市初中語(yǔ)文課程終結(jié)性評(píng)價(jià)指南》中規(guī)定的150個(gè)文言實(shí)詞
- 110ZM241塔型圖
評(píng)論
0/150
提交評(píng)論