收藏 分销(赏)

毕业设计方案选题标准管理系统.doc

上传人:a199****6536 文档编号:2442653 上传时间:2024-05-30 格式:DOC 页数:23 大小:401.04KB 下载积分:10 金币
下载 相关 举报
毕业设计方案选题标准管理系统.doc_第1页
第1页 / 共23页
毕业设计方案选题标准管理系统.doc_第2页
第2页 / 共23页


点击查看更多>>
资源描述
1. 序言 每十二个月毕业临近,全部有大量毕业生需要进行毕业设计,这其中首要关节就是课题选择,以往指导老师全部是采取人工手写方法给学生们提供相关课题供学生选择,假如指导老师率领学生比较多,或是当年毕业学生比较多,这么就轻易造成学生课题选择很混乱,指导老师难于统计学生课题选择情况等一系列问题,基于这些传统问题,我们需要一个能够自动统计、实时分配课题一个管理平台来帮助学生、指导老师。 此系统开发,关键目标是使老师能愈加好管理课程设计,也能使学生能愈加好把自己想要选课程正确无误选出来。使处于选课时期学生能有条不紊进行。 2. 系统需求分析 2.1功效需求 2.1.1 毕业设计选题管理系统功效要求: 1.毕业设计题目维护和查询:毕业设计题目标添加、修改;根据项目类型、名称、编号等查询;毕业设计选题查询、登记。 2.指导老师信息维护和查询:指导老师信息添加、修改、删除,查询; 3.毕业生选题管理:学生选题登记;选题情况查询; 4.毕业生信息维护和查询。 依据以上各功效模块需求将系统功效细化为以下几点: (1)前台学生选题 学生网上选题:学生登录管理系统进行选题 (2)前台老师出题 老师网上出题:老师进入毕业选题出题。 老师管理出题:老师进入系统后对毕业设计题目进行修改和删除。 选题确定:学生选好题目后,老师能够确定该题由选择该题学生做。 (3)后台管理出题及选题情况 用户管理模块:管理员能够对用户进行用户管理,对已存在用户进行修改,查看等。 角色管理模块:管理员能够对用户角色进行管理,能够给用户分配角色,对角色分配权限。 2.2开发环境需求 操作系统:windowXP或更高版本 因为毕业设计课题管理系统针正确用户是学生和老师,学生和老师普遍使用windows操作系统,所以选着windowsXP或更高版本操作系统 web服务器:apache-tomcat6 apache-tomcat6是开源无偿web服务器,节省开发成本 数据库:MySQL MySQL是一款无偿数据库,节省成本 开发工具:myeclipse8.5 myeclipse8.5功效强大JavaEE开发工具,该管理系统选择JavaEE开发。 3. 系统设计 3.1基础设计概念和处理步骤 本系统采取结构化分析,设计次序为自顶向下,层层逐步细化。 图1 3.2软件功效设计 图2 3.2数据库设计 3.2.1 E-R图 图3 图4 3.2.2数据库表 用户表(user) 字段 类型 备注 userid Varchar(20) primary key 用户ID Pwd varchar(32) 用户密码 roleId Int 外键 tname Varchar(20) 姓名 sex Varchar(5) 性别 Age Int 年纪 表1 课题表(task) 字段 类型 备注 taskId Int primary key 课题ID taskname varchar(20) 课题名 sflag int 状态(是否被选) taskText varchar(50) 课题内容 表2 选择课题(chosetask) 字段 类型 备注 ctId int primary key 学生选课题id uId varchar(10) 外键 taskId Int 课题ID 表3 上传课题(puttask) 字段 类型 备注 ptId int primary key 老师上传课题id uId varchar(10) 外键 taskId Int 课题ID 表4 角色表(roleinfo) 字段 类型 备注 roleId Int primary key 角色ID rolename varchar(10) 角色名 表5 权限表(rightinfo) 字段 类型 备注 rightCode varchar(20)primary key 权限 rightParentCode varchar(30) 父权限 rightType varchar(20) rightText varchar(50) RightUrl varchar(30) url地址 RightTip varchar(50) 表6 角色权限表(roleright) rr_id Int primary key 主键 rr_roleid Int 外键 role表 rr_rightCode varchar(20) 外键 rightinfo表 表7 4. 经典功效模块具体设计和实现过程 用户模块 登录功效代码: 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"; } } public Userinfo checkUser(Userinfo u) { Userinfo uu=null; String hql="from Userinfo where userid=? and pwd=?"; Object[] args = new Object[]{u.getUserid(),u.getPwd()}; List<Userinfo> list = commonDao.list(hql, args); if(list!=null && list.size()>0) { uu = list.get(0); } return 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") == 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); spb.setPageSize(maxPageItems); infoService.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.getHibernateTemplate().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{ qString="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) 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 datas; 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() { 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 (request.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); spb.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{ private 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 role; } public void setRole(Roleinfo role) { this.role = role; } public String toList() { List<Roleinfo> roles= roleService.getList(); ServletActionContext.getRequest().setAttribute("ROLES", roles); return "list"; } public String toAssign() { List<Rightinfo> rights= rightService.getAllRights(); Roleinfo r = roleService.getRoleWithRights(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 { HttpServletRequest 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.getRoleId()+"&message=ok"); return null; } } public class RightServiceImpl_H implements IRightService{ private ICommonDAO commonDao; public void setCommonDao(ICommonDAO commonDao) { monDao = commonDao; } public List<Rightinfo> getAllRights() { String hql="from Rightinfo"; List<Rightinfo> list = commonDao.list(hql); return list; } } 管理员对用户管理功效:(增、删、改、查) 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")); 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.getRequest().getParameter("userid")); Userinfo uu = userService.detail(uid); ServletActionContext.getRequest().setAttribute("USER1", uu); return "detail"; } public String add() { if(userService.addUser(user)== true) { List<Userinfo> user = userService.list(); ServletActionContext.getRequest().setAttribute("USERS", user); return "list"; } 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"; } } public boolean addUser(Userinfo u) { Serializable ret = commonDao.add(u); return ret!=null; } public List list() { String hql = "from Userinfo"; List<Userinfo> 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=?"; Object[] args=new Object[]{userid}; List<Userinfo> list= commonDao.list(hql, args); if(list!=null && list.size()>0) { uu=list.get(0); } return uu; } public Userinfo toedit(int userid) { Userinfo uu=null; String hql="from Userinfo u left outer join fetch u.role where u.userid=?"; Object[] args=new Object[]{userid}; List<Userinfo> list= commonDao.list(hql, args); if(list!=null && list.size()>0) { uu=list.get(0); } return uu; } public boolean update(Userinfo u) { try{ commonDao.update(u); return true; } catch(Exception ex) { return false; } } public boolean delete(int uid) { try{ Userinfo u = (Userinfo)commonDao.get(Userinfo.class,uid); u.setFlag(0); return true; } catch(Exception ex) { return false; } } 5. 软件测试及运行评价 测试步骤 (1) 主页测试 (2) 用户登录测试 (3) 用户信息管理测试 (4) 角色权限管理测试 (5) 课题上传测试 模块测试 模块 估计测试功效 输入、输出功效 造成差异原因 主页 正常显示,各个连接正常显示 一致 无 用户登陆、注册 验证用户名(ID,满足系统设定要求)和密码一致性 一致 无 用户信息管理 对用户进行增,删,改,查显示正确页面和数据 一致 无 角色权限管理 给用户分配角色权限 一致 无 课题上传 录入课题所用信息保留在数据库中 一致 无 6. 软件实习总结 经过实习,愈加深入了解掌握了开发平台配置,对编程有了深入掌握。明白了开发一个项目标工作次序。对项目标业务熟悉是开发项目标首要条件。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服