




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、標(biāo)準(zhǔn)文案1.、八 、,刖言每年畢業(yè)臨近,都有大量的畢業(yè)生需要進(jìn)行畢業(yè)設(shè)計,這其中的首要關(guān)節(jié)就是課題的選擇,以往指導(dǎo)老師都是采用人工手寫方式給學(xué)生們提供相關(guān)的課題供學(xué)生選擇,如果指導(dǎo)老師帶領(lǐng)的學(xué)生比較多, 或者是當(dāng)年畢業(yè)的學(xué)生比較多, 這樣就容易造成學(xué)生的課題選擇很 混亂,指導(dǎo)教師難于統(tǒng)計學(xué)生的課題選擇情況等一系列問題,基于這些傳統(tǒng)問題, 我們需要一個能夠自動統(tǒng)計、實時分配課題的一個管理平臺來幫助學(xué)生、指導(dǎo)老師。此系統(tǒng)的開發(fā),主要的目的是使老師能更好的管理課程設(shè)計,也能使學(xué)生能更好的把自己想要選的課程正確無誤的選出來。使處在選課時期的學(xué)生能有條不紊的進(jìn)行。2. 系統(tǒng)的需求分析2.1功能需求2.1
2、.1畢業(yè)設(shè)計選題管理系統(tǒng)功能要求:1. 畢業(yè)設(shè)計題目維護(hù)和查詢:畢業(yè)設(shè)計題目的添加、修改;按照項目類型、名稱、編號等 查詢;畢業(yè)設(shè)計選題查詢、登記。2. 指導(dǎo)教師信息維護(hù)和查詢:指導(dǎo)教師信息的添加、修改、刪除,查詢;3. 畢業(yè)生選題管理:學(xué)生選題登記;選題情況查詢;4. 畢業(yè)生信息的維護(hù)和查詢。根據(jù)以上各功能模塊需求將系統(tǒng)的功能細(xì)化為以下幾點:(1)前臺學(xué)生選題學(xué)生網(wǎng)上選題:學(xué)生登錄管理系統(tǒng)進(jìn)行選題(2)前臺教師出題教師網(wǎng)上出題:教師進(jìn)入畢業(yè)選題出題。教師管理出題:教師進(jìn)入系統(tǒng)后對畢業(yè)設(shè)計題目進(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或更高版本win dows因為畢業(yè)設(shè)計課題管理系統(tǒng)針對的用戶是學(xué)生和教師,學(xué)生和教師普遍使用 操作系統(tǒng),所以選著 windows7或更高版本的操作系統(tǒng)web 服務(wù)器: apache-tomcat6大全畢業(yè)設(shè)計課題管理系統(tǒng)即ache-tomcat6是開源的免費的 web服務(wù)器,節(jié)省開發(fā)成本數(shù)據(jù)庫:MySQLMySQl是一款免費的數(shù)據(jù)庫,節(jié)省成本開發(fā)工具:myeclipse8.5 myecli
4、pse8.5 功能強大的JavaEE開發(fā)工具,該管理系統(tǒng)選用JavaEE開發(fā)。3. 系統(tǒng)設(shè)計3.1基本設(shè)計概念和處理流程本系統(tǒng)采用結(jié)構(gòu)化分析,設(shè)計順序為自頂向下,層層逐步細(xì)化。tosOfS腫韶U匏關(guān)誡 Wi 腕君 |學(xué)生韶| 訓(xùn)韶圖1153.2軟件功能設(shè)計圖23.2數(shù)據(jù)庫設(shè)計321 E-R 圖性別年齡用戶Id姓名roleld用戶擁有1n密碼選擇課程Flag課題內(nèi)容課程ID課題名角色I(xiàn)D 角色名角色1:擁有、/:4功能編碼父級功能編碼n功能功能指標(biāo)功能地址一一 二_ 一功能類型功能文本說明322數(shù)據(jù)庫表用戶表(user)字段類型備注useridVarchar ( 20) primary key用
5、戶IDPwdvarchar(32)用戶密碼roleldInt外鍵tn ameVarchar(20)姓名sexVarchar(5)性別AgeInt年齡表1課題表(task)字段類型備注taskIdInt primary key課題IDtask namevarchar(20)課題名sflagint狀態(tài)(是否被選)taskTextvarchar(50)課題內(nèi)容表2選擇課題(chosetask)字段類型備注ctldint primary key學(xué)生選課題iduldvarchar(10)外鍵taskIdInt課題ID表3上傳課題(puttask)字段類型L備注ptIdint primary key:教師
6、上傳課題iduIdvarchar(10)外鍵taskIdInt課題ID表4角色表(roleinfo)字段類型備注roleIdInt primary key角色I(xiàn)Drole namevarchar(10)角色名表5權(quán)限表(rightinfo)字段類型備注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
7、primary key主鍵rr roleidInt外鍵role 表rr rightCodevarchar(20)外鍵righti nfo表表74. 典型功能模塊的詳細(xì)設(shè)計和實現(xiàn)過程用戶模塊用戶名密碼登錄功能代碼:public String doLog in()Userinfo uu=userService .checkUser( user);if (uu!= null )ServletActionCon text.getRequest().getSessio n().setAttribute("USER",uu);int roleld=uu.getRoleinfo().ge
8、tRoleld();Rolei nfo r= roleService .getRoleWithRights(roleId);String men uStri ng=buildDTreeMe nuStri ng(r);ServletActio nCon text.qetRequest().getSessio n().setAttribute("MENU_STRING,"men uStri ng);return "main"elseretur n"in put" public User info checkUser(User info u
9、) Userinfo uu= null ;Stri ng hql="from Useri nfo where userid=? and pwd=?"Object args = newObjectu.getUserid(),u.getPwd(); ListvUseri nfo> list =com mon Dadist(hql, args);if (list!= null && list.size()>0)uu = list.get(O);return uu;public List list(String hql, Object args) Lis
10、t list= this .getHibernateTemplate().find(hql,args); return list;查詢信息功能代碼:public Stri ng toList()SPageBea n spb = n ewSPageBea n();HttpServletRequest request = ServletActionCon text.getRequest();intoffset = 0;if(request.getParameter("pager.offset") = n ull)offset = 0;else offset = In teger
11、.parseInt (request.getParameter("pager.offset"); intmaxPageItems;if (request.getAttribute("maxPageItems" ) = null ) maxPageItems = 5;else maxPageItems = Integer.parseInt (request.getParameter( "maxPageltems");spb.setOffset(offset);spb.setPageSize(maxPageltems);infoServi
12、ce.getList(spb);request.setAttribute( "SPB", spb);return "list"public void getList(SPageBean spb) Stri ng hql= "from User info"com mon DadistByPage(hql, spb);public void listByPage(String hql, SPageBean spb) final Stri ng hql1=hql;final SPageBea n spb仁spb;if (hql!= null
13、 )int total=(lnteger) this .getHibernateTemplate().execute(newHibernateCallback() public Object doInHibernate(Sessionsess) throws HibernateException,SQLException String qString= ""if (hql1.toLowerCase().indexOf( "select ")!=-1)int idx=hql1.toLowerCase().indexOf("from");
14、qStr ing= "select cou nt(*)"+hql1.substri ng(idx,hql1.le ngth();else qStri ng= "select cou nt(*) "+hql1;Query cQuery=sess.createQuery(qStr in g);cQuery.setCacheable( true );long o= (Long)cQuery.uniqueResult();int ii=( int )o;return ii;);spb.setTotal(total);List data=(List) this .
15、getHibernateTemplate().execute( newHibernateCallback() public Object dolnHibernate(Sessionsess) throws HibernateException,SQLException Query query= sess.createQuery(hqll);query.setFirstResult(spb1.getOffset();query.setMaxResults(spb1.getPageSize();return query.list(););spb.setDatas(data);public clas
16、s SPageBean privateintoffset ;privateintpageSizeprivateinttotal ;privateListdatas ;public 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
17、 ;public void setOffset( int offset) this . offset = offset;public int getPageSize() returnpageSize ;public void setPageSize( int pageSize) this . pageSize = pageSize;上傳課題功能代碼:public String toadd()return "add"public Str ing doadd()if (taskService .doAdd( task )= true )SPageBea n spb = new
18、SPageBea n();HttpServletRequest request = ServletActionCon text.getRequest();int offset = 0;if (request.getParameter( "pager.offset" ) = null ) offset = 0; else offset = Integer.parseInt (request.getParameter( "pager.offset" );int maxPageltems;if (request.getAttribute("maxPa
19、geltems")=null ) maxPageltems = 5; else maxPageltems =Integer.parseInt (request.getParameter( "maxPageltems");spb.setOffset(offset);spb.setPageSize(maxPageltems);taskService .getTask in fo(spb);ServletActio nCon text.getRequest().setAttribute("SPB1", spb);return "list&q
20、uot;elsereturn "add"public boolean doAdd(Tasklnfo t) Serializable ret = com mon Daoadd(t);return ret!= null ;管理員模塊管理員對角色管理功能:public class RoleActionextends ActionSupportprivate lRoleService roleService ;private lRightService rightService ;privateRole inforole ;public void setRoleService(IR
21、oleService roleService) this . roleService = roleService;public void setRightService(IRightService rightService) this . rightService = rightService;public Rolei nfo getRole() return role ;public void setRole(Roleinfo role) this . role = role;public String toList()ListvRole info> roles=roleService
22、 .getList();ServletActi onCon text.getRequest().setAttribute( return "list""ROLES", roles);public Str ing toAssig n()List<Rightinfo> rights=rightService .getAllRights();Rolei nfo r = roleService .getRoleWithRights( for (Rightinfo right:rights)if (r.getRights().contains(righ
23、t)right.setChecked( "checked");ServletActi onCon text.getRequest().setAttribute(ServletActi onCon text.getRequest().setAttribute( retur n"assig n"role .getRoleld();"ROLE", r);"RIGHTS",rights);public Str ing doAssig n()throws ExceptionHttpServletRequest request
24、=ServletActionCon text.getRequest();Stri ng n ewRights=request.getParameterValues("CheckBox_Rights");roleService .updateRoleRights( role .getRoleId(),newRights);HttpServletResp onse resp on se=ServletActionCon text.getRespo nse();resp on se.se ndRedirect("role!toAssig n.actio n?role.r
25、oldld="essage=ok");return null ;public class RightServiceImpl_Himplements IRightServiceprivate ICom monDAO com mon Dao+role .getRoleld()+"&mpublic void setCom mon Dao(ICom monDAO com mon Dao) this . com mon Dao= com mon Dao;畢業(yè)設(shè)計課題管理系統(tǒng)publicListvRightinfo> getAIIRights() Stri ng
26、 hql="from Righti nfo" ;List<Right info> list =com mon Dadist(hql);return list;管理員對用戶管理功能:(增、刪、改、查)public Stri ng delete()int uid =Integer. parseInt (ServletActionContext.getRequest().getParameter("userid");boolean flag = userService .delete(uid);if (flag)return "listl
27、"elsereturn "list"/編輯用戶public Str ing toedit()intuid=Integer.parseInt (ServletActionContext.getRequest().getParameter("userid");Useri nfo uu =userService .detail(uid);ServletActio nCon text.getRequest().setAttribute("USER2", uu);return "edit"public Stri n
28、g edit()boolean flag = userService .update( user);if (flag)return "list"elsereturn "edit_error" ;public Str ing uid=Integer.parseInt (ServletActionContext.getRequest().getParameter("userid");Useri nfo uu = userService .detail(uid);ServletActio nCon text.getReq
29、uest().setAttribute("USER1", uu);return "detail"public Stri ng add()if (userService .addUser( user )= true )List<Useri nfo> user = userService ist();ServletActionCon text.getRequest().setAttribute("USERS", user);return "list"elsereturn "add"pub
30、lic Str ing toadd()return "add"public Str ing doLogi n()Userinfo uu= userService .checkUser( user);if (uu!= null )ServletActionCon text.getRequest().getSessio n().setAttribute("USER",uu);int roleld=uu.getRoleinfo().getRoleId();Rolei nfo r=roleService .getRoleWithRights(roleId);St
31、ring men uStri ng=buildDTreeMe nuStri ng(r);"MENU_STRING,"ServletActionCon text.getRequest().getSessio n( ).setAttribute( men uStri ng);return"main"elseretur n"in put"publicboolean addUser(Userinfo u) Serializable ret =com mon Daoadd(u);return ret!= null ;public List list() Stri ng hql = "from Useri nfo" ;ListvUseri nfo> list =com mon Dadist(hql);return list;public Userinfo detail( int userid) Userinfo uu= null ;Stri ng hql="from User info u left outer join fetch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 實現(xiàn)教育協(xié)同育人的策略及實施方案
- 熱電雙物理場中多功能變換熱超構(gòu)材料的設(shè)計與特性研究
- 富鋰錳基正極材料Li1.2Ni0.2Mn0.6O2的合成與改性研究
- 冷凍生胚饅頭醒發(fā)耐性及品質(zhì)改良研究
- 買賣船只合同范例
- 2025年中國熱水桑拿房市場調(diào)查研究報告
- 借用員工勞務(wù)合同范例
- 做擔(dān)保合同范例
- 遼寧省七校協(xié)作體2024-2025學(xué)年高一上學(xué)期12月月考生物試卷(解析版)
- 湖北省武漢市問津教育聯(lián)合體聯(lián)考2024-2025學(xué)年高一上學(xué)期12月月考生物試題(解析版)
- 西北四?。兾魃轿髑嗪幭模?025屆高三下學(xué)期第一次聯(lián)考生物試題含答案
- 第五章產(chǎn)前檢查及高危妊娠監(jiān)測90課件
- 專利共有合同范例
- 2025年上半年山西交控集團所屬路橋集團交投集團招聘800人易考易錯模擬試題(共500題)試卷后附參考答案
- 同等學(xué)力申碩-H001356法學(xué)學(xué)科綜合知識考點匯編
- 外周靜脈血管解剖知識
- 《基于舞弊風(fēng)險因子的輝山乳業(yè)公司財務(wù)舞弊案例探析》15000字(論文)
- 《教育強國建設(shè)規(guī)劃綱要(2024-2035年)》解讀與培訓(xùn)
- 2024年03月中國工商銀行湖南分行2024年度春季校園招考筆試歷年參考題庫附帶答案詳解
- 員工離職面談記錄表范本
- 2025年青島市技師學(xué)院招考聘用48人高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論