畢業(yè)設(shè)計(jì)選題管理系統(tǒng)_第1頁(yè)
畢業(yè)設(shè)計(jì)選題管理系統(tǒng)_第2頁(yè)
畢業(yè)設(shè)計(jì)選題管理系統(tǒng)_第3頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)老師都是采用人工手寫(xiě)方式給學(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 畢

2、業(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 開(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ù): MySQLMySQ是一款免費(fèi)的數(shù)據(jù)庫(kù),節(jié)省成本開(kāi)發(fā)工具: myeclipse8.5myeclipse8.5功能強(qiáng)

4、大的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圖4數(shù)據(jù)庫(kù)表用戶表(user)字段類型備注useridVarchar ( 20) primarykey用戶IDPwdvarchar(32)用戶密碼roleldInt外鍵tn ameVarchar(20)姓名sexVarchar(5)性別AgeInt年齡表1課題表(task)字段類型備注taskIdInt primary key課題IDtask namevarchar(20)課

5、題名sflagint狀態(tài)(是否被選)taskTextvarchar(50)課題內(nèi)容表2選擇課題(chosetask)字段類型備注ctIdint primary key學(xué)生選課題iduIdvarchar(10)外鍵taskldInt課題ID表3上傳課題(puttask)字段類型備注ptIdint primary key教師上傳課題iduIdvarchar(10)外鍵taskIdInt課題ID表4角色表(rolei nfo)字段類型備注roleIdInt primary key角色I(xiàn)Drole namevarchar(10)角色名表5權(quán)限表(right info)字段類型備注rightCodeva

6、rchar(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)外鍵righti nfo 表表74. 典型功能模塊的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)過(guò)程用戶模塊登錄功能代碼:public String doLogin()if (uu!= null

7、 )ServletActio nCon text.getRequest().getSessio n().setAttribute("USER"uu);int roleld=uu.getRoleinfo().getRoleld();Role info r=roleService .getRoleWithRights(roleld);Stri ng menu Stri ng=buildDTreeMe nu Stri ng(r);"MENU_STRING"ServletAct ionCon text.getRequest().getSessio n( ).se

8、tAttribute( men uStri ng);return "main"elsereturn "i nput"public Userinfo checkUser(Userinfo u) Userinfo uu= null ;String hql= "from Useri nfo where userid=? and pwd=?"Object args =new Objectu.getUserid(),u.getPwd();ListvUseri nfo> list =com mon Daost(hql, args);if (

9、list!= null && list.size()>0)uu = list.get(O);return uu;public List list(String hql, Object args) List list= this .getHibernateTemplate().find(hql,args);return list;查詢信息功能代碼:public String toList()SPageBea n spb = new SPageBea n();HttpServletRequest request = ServletActionCon text.getReque

10、st();int offset = 0;if (request.getParameter( "pager.offset" ) = null ) offset = 0; else );null ) offset = Integer.parseInt (request.getParameter( "pager.offset"int maxPageItems; if (request.getAttribute( "maxPageltems")=maxPageItems = 5; else maxPageItems =Integer. par

11、seInt (request.getParameter( "maxPageItems");spb.setOffset(offset);spb.setPageSize(maxPageltems);in foService.getList(spb);request.setAttribute( "SPB", spb);return "list"public void getList(SPageBean spb) Stri ng hql= "from Useri nfo" ;com mon DaostByPage(hql,

12、 spb);public void listByPage(String hql, SPageBean spb) final String hql 仁 hql;finalSPageBea n spb仁spb;if (hql!= null )int total=(Integer)this .getHibernateTemplate().execute(newHibernateCallback() HibernateException,SQLException String qString= "" ;)!=-1)"from" );if (hql1.toLowe

13、rCase().indexOf( "select "int idx=hql1.toLowerCase().indexOf( qString= "select count(*)" +hql1.substring(idx,hql1.length();else qString= "select count(*) "+hql1;Query cQuery=sess.createQuery(qString);cQuery.setCacheable( true );long o= (Long)cQuery.uniqueResult();int ii

14、=( int )o;return ii;);spb.setTotal(total);newList data=(List) this .getHibernateTemplate().execute(HibernateCallback() public Object doInHibernate(Session sess)throwsHibernateExceptio n,SQLExcepti on Query query= sess.createQuery(hql1);query.setFirstResult(spb1.getOffset();query.setMaxResults(spb1.g

15、etPageSize();return query.list(););spb.setDatas(data);public class SPageBean privateintoffset ;privateintpageSize;privateinttotal ;privateListdatas;publicintgetTotal() return total ;public void setTotal( int total) this . total = total;public List getDatas() return datas;public void setDatas(List da

16、tas) this . datas = datas;public int getOffset() return offset ;public void setOffset( int offset) this . offset = offset;public int getPageSize() return pageSize ;public void setPageSize( int pageSize) this . pageSize = pageSize;上傳課題功能代碼:public String toadd()return "add"public String doad

17、d()if (taskService .doAdd( task )= true )SPageBea n spb = n ewSPageBea n();HttpServletRequest request = ServletActionCon text.getRequestO;int offset = 0;if (request.getParameter( "pager.offset" ) = null ) offset = 0; else offset = Integer. parseInt (request.getParameter( "pager.offset

18、");null ) maxPageltems = 5; else maxPageItems =Integer. parseInt (request.getParameter( "maxPageItems");spb.setOffset(offset);spb.setPageSize(maxPageltems);taskService .getTaskinfo(spb);ServletActio nCon text.getRequest().setAttribute("SPB1", spb);return "list"else

19、return "add"public boolean doAdd(Tasklnfo t) Serializable ret =com mon Daodd(t);return ret!= null ;管理員模塊管理員對(duì)角色管理功能:public class RoleAction extends ActionSupportprivate IRoleService roleService ;private IRightService rightService ;private Role info role ;public void setRoleService(IRoleServ

20、ice 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;public String toList()List<Role info> roles=roleService .get

21、ListO;ServletActio nCon text.getRequest().setAttribute( return "list"public String toAssign()"ROLES" roles);List<Righti nfo> rights=rightService .getAIIRights();Roleinfo r = roleService .getRoleWithRights( role .getRoleld();for (Rightinfo right:rights)if (r.getRights().con

22、tain s(right)right.setChecked( "checked");ServletActio nCon text.getRequest().setAttribute("ROLE: r);ServletActio nCon text.getRequest().setAttribute("RIGHTS:rights);return "assign"public String doAssign()throws ExceptionHttpServletRequest request=ServletActionCon text.

23、getRequest();roleService .updateRoleRights( role .getRoleld(),newRights);HttpServletResp onse resp on se=ServletActionCon text.getResp on se();response.sendRedirect( "role!toAssign.action?role.roldId="+role .getRoleId()+"&message=ok");return null ;public class RightServiceImp

24、l_Himplements IRightServiceprivate ICom mon DAOco mmon Daopublic void setCom mon Dao(ICom monDAO com mon Dao) this . com mon Dao com mon Dao;public List<Rightinfo> getAllRights() Stri ng hql= "from Right info" ;List<Righti nfo> list =com mon Daost(hql);return list;管理員對(duì)用戶管理功能:(增

25、、刪、改、查)public String delete()int uid ="userid");Integer. parseInt (ServletActionContext.getRequest().getParameter(boolean flag = userService .delete(uid);if (flag)return "list1"elsereturn "list"/編輯用戶public String toedit()int"userid")uid=Integer. parseInt (Serv

26、letActionContext.getRequest().getParameter(Userinfo uu = userService .detail(uid);"USER2" uu);ServletActio nCon text.getRequest().setAttribute( return "edit"public String edit()boolean flag = userService .update( user);if (flag)return "list"elsereturn "edit_error&q

27、uot; ;public String detail()int"userid")uid=Integer. parseInt (ServletActionContext.getRequest().getParameter(Userinfo uu =userService .detail(uid);"USER1" uu);ServletActio nCon text.getRequest().setAttribute( return "detail"public String add()if (userService .addUser(

28、user)= true )ListvUserinfo> user = userServiceist();"USERS" user);ServletAct ionCon text.getRequest().setAttribute( return "list" elsereturn "add"public String toadd()return "add"public String doLogin()if (uu!= null )ServletActio nCon text.getRequest().getS

29、essio n().setAttribute("USER"uu);int roleld=uu.getRoleinfo().getRoleld();Role info r=roleService .getRoleWithRights(roleld);Stri ng menu Stri ng=buildDTreeMe nu Stri ng(r);"MENU_STRING"ServletAct ionCon text.getRequest().getSessio n( ).setAttribute( men uStri ng);return "mai

30、n"elsepublic boolean addUser(Userinfo u) Serializable ret =commonDa.oadd(u);return ret!= null ;public List list() String hql = "from Userinfo" ;List<Userinfo> list = commonDa.loist(hql);return list;public Userinfo detail( int userid) Userinfo uu= null ;String hql= "from Userinfo u left outer join fetch u.ro

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論