1、毕业设计选题管理系统1.前言每年毕业临近,都有大量的毕业生需要进行毕业设计,这其中的首要关节就是课题的选择,以往指导老师都是采用人工手写方式给学生们提供相关的课题供学生选择,如果指导老师带领的学生比较多,或者是当年毕业的学生比较多,这样就容易造成学生的课题选择很混乱,指导教师难于统计学生的课题选择情况等一系列问题,基于这些传统问题,我们需要一个能够自动统计、实时分配课题的一个管理平台来帮助学生、指导老师。此系统的开发,主要的目的是使老师能更好的管理课程设计,也能使学生能更好的把自己想要选的课程正确无误的选出来。使处在选课时期的学生能有条不紊的进行。2.系统的需求分析2.1功能需求2.1.1 毕
2、业设计选题管理系统功能要求:1.毕业设计题目维护和查询:毕业设计题目的添加、修改;按照项目类型、名称、编号等查询;毕业设计选题查询、登记。2.指导教师信息维护和查询:指导教师信息的添加、修改、删除,查询;3.毕业生选题管理:学生选题登记;选题情况查询;4.毕业生信息的维护和查询。根据以上各功能模块需求将系统的功能细化为以下几点:(1)前台学生选题学生网上选题:学生登录管理系统进行选题(2)前台教师出题教师网上出题:教师进入毕业选题出题。教师管理出题:教师进入系统后对毕业设计题目进行修改和删除。选题确认:学生选好题目后,教师可以确认该题由选择该题的学生做。(3)后台管理出题及选题情况用户管理模块
3、:管理员可以对用户进行用户管理,对已存在的用户进行修改,查看等。角色管理模块:管理员可以对用户的角色进行管理,可以给用户分配角色,对角色分配权限。2.2开发环境需求操作系统:window7或更高版本因为毕业设计课题管理系统针对的用户是学生和教师,学生和教师普遍使用windows操作系统,所以选着windows7或更高版本的操作系统web服务器:apache-tomcat6apache-tomcat6是开源的免费的web服务器,节省开发成本数据库:MySQLMySQL是一款免费的数据库,节省成本开发工具:myeclipse8.5myeclipse8.5功能强大的JavaEE开发工具,该管理系统选
4、用JavaEE开发。3.系统设计3.1基本设计概念和处理流程本系统采用结构化分析,设计顺序为自顶向下,层层逐步细化。图13.2软件功能设计图23.2数据库设计3.2.1 E-R图图3图43.2.2数据库表用户表(user)字段类型备注useridVarchar(20) primary key用户ID Pwdvarchar(32)用户密码roleIdInt外键tnameVarchar(20)姓名sexVarchar(5)性别AgeInt年龄表1课题表(task)字段类型备注taskIdInt primary key课题IDtasknamevarchar(20)课题名sflagint状态(是否被选
5、)taskTextvarchar(50)课题内容表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)primary key
6、权限rightParentCodevarchar(30) 父权限rightTypevarchar(20)rightTextvarchar(50)RightUrlvarchar(30)url地址RightTipvarchar(50)表6角色权限表(roleright)rr_idInt primary key主键rr_roleidInt外键 role表rr_rightCodevarchar(20)外键 rightinfo表表74.典型功能模块的详细设计和实现过程用户模块登录功能代码:public String doLogin() Userinfo uu= userService.checkUser
7、(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_STRING,
8、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); return uu;
9、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) = null
10、) 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); infoServi
11、ce.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.getHibe
12、rnateTemplate().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(); else qSt
13、ring=select count(*) +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)
14、throws HibernateException, 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 dat
15、as; 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; public void setOffset(int offset) this.offset = offset; public int getPageSize()
16、 return pageSize; public void setPageSize(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 (re
17、quest.getParameter(pager.offset) = null) 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); s
18、pb.setPageSize(maxPageItems); taskService.getTaskinfo(spb); ServletActionContext.getRequest().setAttribute(SPB1, spb); return list; else return add; public boolean doAdd(TaskInfo t) Serializable ret = commonDao.add(t); return ret!=null; 管理员模块管理员对角色管理功能:public class RoleAction extends ActionSupport p
19、rivate IRoleService roleService; private IRightService rightService; private Roleinfo role; public void setRoleService(IRoleService roleService) this.roleService = roleService; public void setRightService(IRightService rightService) this.rightService = rightService; public Roleinfo getRole() return
20、role; public void setRole(Roleinfo role) this.role = role; public String toList() List roles= roleService.getList(); ServletActionContext.getRequest().setAttribute(ROLES, roles); return list; public String toAssign() List rights= rightService.getAllRights(); Roleinfo r = roleService.getRoleWithRight
21、s(role.getRoleId(); for(Rightinfo right:rights) if(r.getRights().contains(right) right.setChecked(checked); ServletActionContext.getRequest().setAttribute(ROLE, r); ServletActionContext.getRequest().setAttribute(RIGHTS,rights); return assign; public String doAssign() throws Exception HttpServletRequ
22、est request=ServletActionContext.getRequest(); String newRights=request.getParameterValues(CheckBox_Rights); roleService.updateRoleRights(role.getRoleId(),newRights); HttpServletResponse response=ServletActionContext.getResponse(); response.sendRedirect(role!toAssign.action?role.roldId=+role.getRole
23、Id()+&message=ok); return null; public class RightServiceImpl_H implements IRightService private ICommonDAO commonDao; public void setCommonDao(ICommonDAO commonDao) monDao = commonDao; public List getAllRights() String hql=from Rightinfo; List list = commonDao.list(hql); return list; 管理员对用户管理功能:(增、
24、删、改、查)public String delete() int uid = Integer.parseInt(ServletActionContext.getRequest().getParameter(userid); boolean flag = userService.delete(uid); if(flag) return list1; else return list; /编辑用户 public String toedit() int uid=Integer.parseInt(ServletActionContext.getRequest().getParameter(userid
25、); Userinfo uu = userService.detail(uid); ServletActionContext.getRequest().setAttribute(USER2, uu); return edit; public String edit() boolean flag = userService.update(user); if(flag) return list; else return edit_error; public String detail() int uid=Integer.parseInt(ServletActionContext.getReques
26、t().getParameter(userid); Userinfo uu = userService.detail(uid); ServletActionContext.getRequest().setAttribute(USER1, uu); return detail; public String add() if(userService.addUser(user)= true) List user = userService.list(); ServletActionContext.getRequest().setAttribute(USERS, user); return list;
27、 else return add; public String toadd() return add; public String doLogin() Userinfo uu= userService.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_STRING, menuString); return main; else return input; publi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1