已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计管理系统的设计与实现毕业论文目 录附件1:开题报告共3页附件2:程序源代码共64页附件3:外文文献译文共4页附件4:外文文献原文共7页附件1:开题报告 毕业设计管理系统的设计与实现开题报告 班级(学号):B信管0703(2007011936) 姓名:刘昂指导教师:宋燕林一、综述毕业设计的管理是高校管理工作中的一项重要内容。随着高等教育教学改革的不断深入,对于高校毕业设计管理的规范化、信息化已成为目前面临的重要课题。目前。很多高校的毕业设计管理还存在一些问题。例如:根据实际情况,通常学生在大学最后一年会在校外进行实习,此时又面临着毕业设计选题问题;另外,毕业设计完成时,论文的上交也存在困难。同时在做毕业设计的过程中。由于学生在外地,指导老师对学生的指导和交流也会遇到一些麻烦。要解决以上这些问题:一方面要提高管理员业务知识和管理水平;另一方面要充分利用现代科学技术,建立现代化的管理信息系统近几年来我国各大中专院校加快了信息化进程,基本上都建立了自己的校园网,这为我们系统的开发提供了必备的物质基础。 毕业设计管理系统它能很好的解决以上的问题,极大地便捷了学生和指导老师,显著地提高了工作效率。而且通过本次设计可以让学生更加熟练掌握软件开发的一般过程,并对所学知识做一个全面的总结。二、研究内容系统包括以下模块:1.用户登录模块;2.教师用户模块 (1)修改个人信息。教师可以修改自己的个人信息(如:密码、电话、电子邮箱等); (2)上报课题。教师根据专业的不同分别申报课题。此处应该有课题数目限制功能; (3)课题管理。此功能实现教师对课题的管理,对于未评审和没有通过评审的题目,可以作修改或删除操作,而对于评审通过的题目,则只能做查看。 (4)学生选择课题后,教师可以查看学生名单与联系方式; (5)设计期间教师可以和学生相互交流(文字和文件); (6)上报成绩。完成教师上报学生成绩的功能,其中成绩分为指导教师成绩、评阅教师成绩、答辩成绩,总成绩自动计算。 3.管理员用户模块 (1)对教师的添加、删除等功能; (2)对学生的添加(excel文件导入)、删除; (3)课题的审核管理;(4)答辩小组和指导教师的分配; (5)其他维护系统运行的功能(如选题时间、选题专业的设置等等);4.学生模块(1)选择毕设指导教师;(2)提交开题报告、周志、毕设成果等;(3)成绩查询,答辩信息查询等;三、实现方法及预期目标1. 系统模式毕业设计管理系统采用采用三层的结构,即“客户机浏览器-web服务器-数据库服务器”。以Web服务器为系统的中心,用户端通过浏览器向Web服务器提出查询请求(HTTP协议方式),Web服务器根据需要向数据库服务器发出请求。数据库则根据查询的条件返回相应的数据结果给Web服务器,最后Web服务器将结果翻译成为HTML或各类脚本语言的格式,并传送给客户机上的浏览器,用户通过浏览器即可浏览自己所需要的结果。图1 Web服务器访问模型客户层:提供基于浏览器的客户界面,客户可以浏览Web服务器传过来的静态或动态的HTML页面,客户可以通过动态的HTML页面和Web服务器交互。Web服务器层:Servlet、JSP和JavaBean组件运行在Web服务器上,JSP负责生成动态的HTML页面,JavaBean负责访问数据库和事务处理。在Web服务器层还包括一些提供JSP和JavaBean组件访问的实用类。数据库层:存放和维护Web应用的数据信息2. 实施重点与难点系统用户权限控制设计:毕业设计管理系统分三种角色,学生,老师,管理员;要控制各种角色的权限,防止出现越权。系统流程控制:毕业设计管理系统要考虑到事件发生的先后顺序。3. 实施环境a)开发平台 实验硬件设备:服务器、PC机一台、网络环境系统环境:Windows 7集成开发环境:MyEclipse 8.5 (Java平台)数据服务器:SQL sever2008Web服务器 Tomcat 6.0 b)开发工具 MyEclipse 8.5 + Tomcat 6.0 + JDK 1.6.0 建模工具 Rose 7.0预期目标:通过对毕业设计管理系统的需求分析,分析其可行性及重要性,进而对系统的各个模块进行分析、设计。教师和学生可进行选题和申报课题,同时可以满足指导教师和学生之间的交流,便于学生查询毕设信息、上交毕设成果,有利于统一管理毕业设计的进行和最终答辩的安排以及成绩评定四、对进度的具体安排1-4周: 了解毕业设计任务,撰写开题报告。5-7周: 明确毕业设计管理系统的详细功能,完成系统分析及初步设计。7-8周: 系统详细设计,完成网站角色管理、课题登记等功能。9-12周: 完成毕业设计管理系统的实现及调试。13-14周:撰写毕业设计论文,提交论文最终稿。15-17周:准备答辩。五、参考文献1 孙卫琴、李洪成. Tomcat与Java Web 开发技术详解. 北京:电子工业出版社,20072 邹竹彪. JSP网络编程从入门到精通 北京:清华大学出版社,20073 张蓓 赵国峰. JSP数据库通用模块开发与系统移植 北京:清华大学出版社,20074 Cay S. Horstmann、Gary Cornell. Java2核心技术. 北京:机械工业出版社,2007 5 Bryan Basham,Kathy Sierra&Bert Bates. Head First Severlets& JSP 北京:中国电力出版社等译,20066 刘京华.Java Web整合开发王者归来.北京:清华大学出版社,2010指导教师: 2011年 3月16 日 督导教师: 年 月 日 领导小组审查意见: 审查人签字: 年 月 日4附件2:程序源代码 一、Action类1.AdminAction类package action;import java.io.UnsupportedEncodingException;import java.text.ParseException;import java.util.ArrayList;import java.util.Date;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import org.hibernate.Transaction;import tools.Convert;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import dao.DefenceGroup;import dao.DefenceGroupDAO;import dao.Department;import dao.DepartmentDAO;import dao.Info;import dao.InfoDAO;import dao.StuTechIntention;import dao.StuTechIntentionDAO;import dao.Student;import dao.StudentDAO;import dao.Subject;import dao.Teacher;import dao.TeacherDAO;import dao.Timetable;import dao.TimetableDAO;import dao.SubjectDAO;public class AdminAction extends ActionSupportprivate static final long serialVersionUID = 1L;private HttpServletRequest req = ServletActionContext.getRequest();private HttpServletResponse res=ServletActionContext.getResponse();private ActionContext cxt=ActionContext.getContext();private InfoDAO infodao=new InfoDAO();private DepartmentDAO departdao=new DepartmentDAO();private Transaction tx=null;private StudentDAO studao=new StudentDAO();private TeacherDAO teadao=new TeacherDAO();private TimetableDAO timedao=new TimetableDAO();private StuTechIntentionDAO intentiondao=new StuTechIntentionDAO();private DefenceGroupDAO groupdao=new DefenceGroupDAO();private SubjectDAO subjectdao=new SubjectDAO();public String addinfo()String title=req.getParameter(title);String content=req.getParameter(content);Info info=new Info();info.setInfotitle(title);info.setInfocontent(content);info.setInfodate(new Date();tx=infodao.getSession().beginTransaction();infodao.save(info);mit();return success;public String adminselectinfo()List infolist=null;int size=infodao.findAll(1, 0).size();/得到通知总数int pagecount=(size+4)/5;/每页5条记录,算出共需多少页int currentpage=1;if(size=0)pagecount=1;String flag=null;req.setAttribute(pagecount, String.valueOf(pagecount);req.setAttribute(size, String.valueOf(size);/System.out.println(haha+req.getParameter(requestpage);if(req.getParameter(requestpage)!=null)currentpage=Convert.strToint(req.getParameter(requestpage);flag=selectresult;elseflag=firstselect;infolist=infodao.findAll(0, currentpage);/获取当前页通知信息req.setAttribute(infolist, infolist);req.setAttribute(currentpage, currentpage);return flag;public String modifyinfo()String type=req.getParameter(type);Info info=new Info();info=infodao.findById(Convert.strToint(req.getParameter(infoID);if(type.equals(domodify)req.setAttribute(info, info);return singleinfo;elsetx=infodao.getSession().beginTransaction();info.setInfotitle(req.getParameter(title);info.setInfocontent(req.getParameter(content);info.setInfodate(new Date();mit();return success;public String deletinfo()Info info=new Info();info=infodao.findById(Convert.strToint(req.getParameter(infoID);tx=infodao.getSession().beginTransaction();infodao.delete(info);mit();return success;public String selectdepart()List departlist=null;int size=departdao.findAll(1, 0).size();int pagecount=(size+4)/5;int currentpage=1;if(size=0)pagecount=1;String flag=null;req.setAttribute(size, size);req.setAttribute(pagecount, pagecount);/System.out.println(requestpage=+req.getParameter(requestpage);if(req.getParameter(requestpage)!=null)currentpage=Convert.strToint(req.getParameter(requestpage);flag=selectresult;elseflag=firstselect;departlist=departdao.findAll(0, currentpage);req.setAttribute(departlist, departlist);req.setAttribute(currentpage, currentpage);return flag;public String deletdepart()String id=req.getParameter(departID);String newdepartid=req.getParameter(00001);System.out.println(id:+newdepartid+,id1:+id);Department depart=new Department();depart=departdao.findById(req.getParameter(departID);if(departdao.validation(req.getParameter(departID) req.setAttribute(message, 此部门下已有同学或老师,不能删除部门号); return error;elsetx=departdao.getSession().beginTransaction();departdao.delete(depart);mit();return success;public String modifydepart()String id=req.getParameter(departmentId);String type=req.getParameter(type);System.out.println(id:+id+type:+type);Department depart=departdao.findById(id);if(type!=null&type.equals(firstin)req.setAttribute(depart, depart);return firstin;String newname=req.getParameter(name);System.out.println(newname:+newname);tx=departdao.getSession().beginTransaction();depart.setDepartmentName(newname);mit();return success;public String adddepart()String id=req.getParameter(id);String name=req.getParameter(name);if(departdao.findById(id)!=null)req.setAttribute(message, id号已被占用!);return error;Department depart=new Department();depart.setDepartmentId(id);depart.setDepartmentName(name);tx=departdao.getSession().beginTransaction();departdao.save(depart);mit();return success;public String selectstu()String type=req.getParameter(type);List departlist=departdao.findAll(1, 0);List stulist=null;int size=studao.findAll(1, 0).size();int pagecount=(size+4)/5;int currentpage=1;if(size=0)pagecount=1;String flag=null;req.setAttribute(pagecount, String.valueOf(pagecount);req.setAttribute(size, String.valueOf(size);req.setAttribute(departlist, departlist);if(type=null)if(req.getParameter(requestpage)!=null)currentpage=Convert.strToint(req.getParameter(requestpage);flag=selectresult;elseflag=firstselect;else if(type.equals(assign)if(req.getParameter(requestpage)!=null)currentpage=Convert.strToint(req.getParameter(requestpage);flag=assignresult;elseflag=assignteacher;stulist=studao.findAll(0, currentpage);req.setAttribute(stulist, stulist);req.setAttribute(currentpage, currentpage);return flag;public String selectstubydepartid()String type=req.getParameter(type);String departID=req.getParameter(selectdepart);/System.out.println(进来了:+departID);if(departID=null|departID.equals()req.setAttribute(message, 错误!请选择部门!);return error;req.setAttribute(departid, departID);List departlist=departdao.findAll(1, 0);List stulist=null;int size=studao.findByDepartmentId(departID,1,0).size();int pagecount=(size+4)/5;int currentpage=1;if(size=0)pagecount=1;req.setAttribute(pagecount, String.valueOf(pagecount);req.setAttribute(size, String.valueOf(size);req.setAttribute(departlist, departlist);if(req.getParameter(requestpage)!=null)currentpage=Convert.strToint(req.getParameter(requestpage);/System.out.println(currentpage:+currentpage+size:+size);stulist=studao.findByDepartmentId(departID, 0, currentpage);req.setAttribute(stulist, stulist);req.setAttribute(currentpage, currentpage);/*System.out.println(记录:+stulist.get(0).getStudentName();*/if(type!=null&type.equals(assign)return assignresult;return success;public String addstudent()String type=req.getParameter(type);if(type!=null&type.equals(firstin)List departlist=departdao.findAll(1, 0);req.setAttribute(departlist, departlist);return firstin;String departID=req.getParameter(departID);String stuID=req.getParameter(stuID);String stuName=req.getParameter(name);String psw=req.getParameter(password);if(studao.findById(stuID)!=null)req.setAttribute(message, id号被占用!);return error;Student stu=new Student();stu.setDepartmentId(departID);stu.setStudentId(stuID);stu.setStudentName(stuName);stu.setStudentPwd(psw);tx=studao.getSession().beginTransaction();studao.save(stu);mit();studao.getSession().clear();return success;public String deletstu()String stuID=req.getParameter(stuID);Student stu=new Student();stu=studao.findById(stuID);tx=studao.getSession().beginTransaction();studao.delete(stu);mit();return success;public String modifystu()String type=req.getParameter(type);Student stu=new Student();if(type!=null&type.equals(firstin) List departlist=departdao.findAll(1, 0); String id=req.getParameter(stuId); stu=studao.findById(id); req.setAttribute(departlist, departlist); req.setAttribute(stu, stu); return firstin;String departid=req.getParameter(departid);String name=req.getParameter(name);stu=studao.findById(req.getParameter(stuid);tx=studao.getSession().beginTransaction();stu.setDepartmentId(departid);stu.setStudentName(name);mit();return success;public String selectteacher()String type=req.getParameter(type);List departlist=departdao.findAll(1, 0);List tealist=null;int size=teadao.findAll(1, 0).size();int pagecount=(size+4)/5;if(size=0)pagecount=1;int currentpage=1;String flag=null;req.setAttribute(pagecount, String.valueOf(pagecount);req.setAttribute(size, String.valueOf(size);req.setAttribute(departlist, departlist);if(type=null)if(req.getParameter(requestpage)!=null)currentpage=Convert.strToint(req.getParameter(requestpage);flag=selectresult;elseflag=firstselect;else if(type.equals(assign)if(req.getParameter(requestpage)!=null)currentpage=Convert.strToint(req.getParameter(requestpage);flag=assignresult;elseflag=assignteacher;tealist=teadao.findAll(0, currentpage);req.setAttribute(tealist, tealist);req.setAttribute(currentpage, currentpage);return flag;public String selectteabydepartid()String departID=req.getParameter(selectdepart);String type=req.getParameter(type);System.out.println(进来了:+departID+type:+type);if(departID=null|departID.equals()req.setAttribute(message, 错误!请选择部门!);return error;req.setAttribute(departid, departID);List departlist=departdao.findAll(1, 0);List tealist=null;int size=teadao.findByDepartmentId(departID,1,0).size();int pagecount=(size+4)/5;int currentpage=1;if(size=0)pagecount=1;req.setAttribute(pagecount, String.valueOf(pagecount);req.setAttribute(size, String.valueOf(size);req.setAttribute(departlist, departlist);if(req.getParameter(requestpage)!=null)currentpage=Convert.strToint(req.getParameter(requestpage);tealist=teadao.findByDepartmentId(departID, 0, currentpage);req.setAttribute(tealist, tealist);req.setAttribute(currentpage, currentpage);if(type!=null&type.equals(assign)return assignresult;return success;public String modifyteacher()System.out.println(req.getCharacterEncoding();String type=req.getParameter(type);System.out.println(type:+type);Teacher tea=new Teacher();if(type!=null&type.equals(firstin) List departlist=departdao.findAll(1, 0); String id=req.getParameter(teahcerId); tea=teadao.findById(id); req.setAttribute(departlist, departlist); req.setAttribute(teacher, tea); return firstin;String departid=req.getParameter(departid);String name=req.getParameter(name);String title=req.getParameter(title);String email=req.getParameter(email);String phone=req.getParameter(phone);System.out.println(name:+name+title:+title+email:+email+phone:+phone);tea=teadao.findById(req.getParameter(teacherId);tx=teadao.getSession().beginTransaction();tea.setDepartmentId(departid);tea.setTeacherEmail(email);tea.setTeacherName(name);tea.setTeacherPhone(phone);tea.setTeahcerTitle(title);mit();return success;public String deletteacher()String teacherID=req.getParameter(teacherID);Teacher tea=new Teacher();tea=teadao.findById(teacherID);tx=teadao.getSession().beginTransaction();teadao.delete(tea);mit();return success;public String addteacher()String type=req.getParameter(type);if(type!=null&type.equals(firstin)List departlist=departdao.findAll(1, 0);req.setAttribute(departlist, departlist);return firstin;String departID=req.getParameter(departID);String teacherID=req.getParameter(teacherID);String teacherName=req.getParameter(name);String teacherTitle=req.getParameter(title);String email=req.getParameter(email);String phone=req.getParameter(phone);if(teadao.findById(teacherID)!=null)req.setAttribute(message, id号被占用!);return error;Teacher tea=new Teacher();tea.setDepartmentId(departID);tea.setTeacherId(teacherID);tea.setTeacherEmail(email);tea.setTeacherName(teacherName);tea.setTeacherPhone(phone);tea.setTeahcerTitle(teacherTitle);tea.setPwd(123456);tea.setGroupId(0);tx=teadao.getSession().beginTransaction();teadao.save(tea);mit();teadao.getSession().clear();return success;public String setDate() throws ParseExceptionDate date=new Date();String from=req.getParameter(from);String to=req.getParameter(to);System.out.println(from:+from+to:+to+date:+date.getYear();Timetable time=null;time=timedao.findById(String.valueOf(date.getYear()+1900);if(time=null)time=new Timetable();tx=timedao.getSession().beginTransaction();time.setDate(String.valueOf(date.getYear()+1900);time.setStuSelectTeacherFrom(Convert.stringTodate(from);time.setStu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生石灰供货合同范本
- 报面试协议班签合同
- 摔伤事故处理协议书
- 政府食堂管理协议书
- 拳馆俱乐部合同范本
- 物业接水协议书范本
- 物业水电缴费协议书
- 黑龙江省哈尔滨市工业大学附属中学校2025-2026学年八年级上学期期中语文试题(含答案)
- 夏季高温天气中暑防范与救助指南
- 国企面试必-备管理面试常见问题深度解析
- 以叙事学为翼:高中小说教学赋能记叙文写作新探
- 早期肺癌的手术治疗讲课件
- 呼吸内镜高频电刀技术规范
- 云南“十五五”林草产业发展规划出台 2025年林草产业年总产值达4000亿
- 业财融合与价值创造-洞察及研究
- 62个重大事故隐患判定标准汇编(2025版)
- 2025-2030中国知识图谱产业行业市场现状供需分析及投资评估规划分析研究报告
- 小区装修物业协议书
- (高清版)DB13(J)∕T 282-2018 城乡公共服务设施配置和建设标准
- 初二美术考试试题及答案
- GB/T 30637-2025食用葛根粉质量通则
评论
0/150
提交评论