《2022年毕业设计方案管理系统的设计方案与实现设计方案说明书.docx》由会员分享,可在线阅读,更多相关《2022年毕业设计方案管理系统的设计方案与实现设计方案说明书.docx(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计治理系统的设计与实现XXXTutor: XXXAbstract : This system can resolve the problem which we met in the work of graduation design,such as inefficiencyin the work,inconvenientfor count the data,and hard to manage the data.This system which based on the web technology and B/S structure use J2EE as its platform
2、and SQL Server for its database.Its asystemthattomanagethegraduationdesign.Thissystemimplementthefunctionofadding subject,selecting the subject,and managing the subject.Keywords : SQL SERVER ;J2EE;Graduation design management;B/S structure1. 概述11.1 背景分析11.2 毕业设计系统的现状12 需求分析12.1 功能需求12.2 开发与运行环境12.3
3、系统实现过程23 总体设计23.1 系统模块设计23.2 数据事项分析23.3 数据库模型图34. 具体设计44.1 数据库设计44.1.1 关系模式44.1.2 数据库表的结构定义44.2 数据库中关系设计74.3 操作流程75 系统实现85.1 建立数据库85.2 程序设计85.2.1 主界面85.2.2 基本的实现类95.2.3 基本的信息治理模块95.2.4 登录模块115.2.5 立题模块136 系统测试与性能分析156.1 系统测试方案156.2 系统功能测试16总 结17致谢18参考文献18外文资料18外文资料翻译24附录 A :源码28附录 B:软件使用说明书342 / 361
4、.概述1.1 背景分析毕业设计治理问题是高校老师必需面对的工作,但陕西理工学院各个院系始终使用Excel 表格治理、分析毕业设计;使用Excel 软件分析统计毕业设计制作情形,该软件存在很多不足,如:立题不敏捷,选题必需集中,对于整个院系选题有诸多不便;毕业设计评分也必需集中录入等;统计毕业设计制作情形也不能自动完成;毕业设计是实现高等学校人才培育目标的重要教案环节,也是培育高校生创新才能、实践才能和创业精神的重要实践环节,是同学提高专业素养和实践才能的综合训练,是对同学高校期间学习成效的全面检验;通过这套毕业设计治理软件可以解决毕业设计过程治理工作中存在的工作效率 低,交互性差等问题,对高校
5、治理同学毕业设计意义重大;因此为了克服上述缺陷,编写一个使实现老师立题、同学选题、老师对选题信息进行治理的系统,再依据各个评分给出综合测评,达到治理自动化、精确化、智能化是特别必要的,因此可以把毕业设计治理系统作为毕业设计的课题,正好可以利用所学学问开发一个毕业设计治理系统来实现毕业设计的治理;1.2 毕业设计系统的现状本课题开发的目的在于解决以往毕业设计治理过程中存在的问题,解决效率低、简洁出错等问题,从而对毕业设计信息进行更好的治理,对毕业设计的数据进行统计分析;提高各个治理效率,削减老师工作量;其次,通过本课题可以使自己更进一步的明白软件开发流程,同时对J2EE 平台与 MS SQL S
6、ERVER有进一步的明白,使用更加娴熟;2 需求分析2.1 功能需求高等院校的毕业设计涉及到了老师立题、同学选题、课题治理功能,这些功能就需要教研室、 办学层次、课题类型、课题来源、老师、学位、专业、专业方向、老师、同学和课题等信息多种信 息的支持;从治理的角度可以将毕业设计治理系统分为八个部分:课题信息治理、职称学位治理、 专业信息治理、用户信息治理、立题信息治理、选题信息治理、其他信息治理和统计信息治理;课 题信息治理、职称学位治理、专业信息治理、用户信息治理、立题信息治理、选题信息治理和其他 信息治理包括这些信息的添加、删除、修改及查询操作;统计信息包括同学人数信息、同学选题数 目、题目
7、来源、题目类型、毕业论文设计)的篇数统计等信息的操作;核心功能主要为老师立题、同学选题、课题治理;2.2 开发与运行环境毕业设计治理系统的开发与运行环境如下: 开发环境: Window 7+JDK 6.0开发工具: MyEclipse 6.5数据库治理系统:MS SQL Server 2005服务器: tomcat 6.0运行环境: Window 98/ME/2000/XP/7以及 Linux2.3 系统实现过程第一依据系统功能分析设计出数据库,包括各个数据表和数据表关系图的具体结构;实现功能模块时,由于要实现老师立题、同学选题以及选题治理模块,故应先将职称、学位、专业信息、教研室、办学层次、
8、课题类型、课题来源这些独立模块分别实现,其次实现独立模块分别实现,在实现同学、老师模块,最终实现立题、课题治理模块;即在这里分别对系统各个功能模块分别对立设计和调试,最终将各个模块通过菜单栏集成到一起,最终进行系统整体设计的调试;在拜访数据库时,本系统接受 hibernate 实现数据库的操作,在基本实现类中实现数据库的各种拜访操作,其他的类直接或间接继承基本类;这种实现方式可以削减代码冗余,防止数据库的反复连接,从而提高系统的开发效率;3 总体设计3.1 系统模块设计依据系统功能分析,得到如图3.1 所示的系统功能模块结构图;课题治理立题信息治理初次审核最终审核选题列表选题信息治理毕业设计治
9、理系统的设计与实现选题治理治理同学用户信息治理治理老师治理专业专业信息治理治理方向治理职称职称学位治理治理学位治理类型课题信息治理治理来源治理教研室其他信息治理治理办学层次图 3.1 系统功能模块图3.2 数据事项分析依据系统的功能,模块结构和治理流程,以及毕业设计治理系统的需求,总结出如下的数据项:1) 学位信息数据:学位代码,学位名称;2) 教研室信息数据:教研室代码,教研室名称;3) 专业信息数据:专业代码,专业名称;4) 专业方向信息数据:方向代码,方向名称;2 / 365) 办学层次信息数据:办学层次代码,办学层次名称;6) 职称信息数据:职称代码,职称名称;7) 课题来源信息数据:
10、课题来源代码,课题来源名称;8) 课题类型信息数据:课题类型代码,课题类型名称;9) 老师信息数据:工号,老师姓名,性别,职称,所属教研室,联系电话,电子邮件地址, 是否为治理员,学位信息,登录密码;办学层次(PKidtb_level)levelNolevelName同学信息(tb_student)PKidstudentNo stuNamesex level_idInterested_id major_id telphone email password electiv_flaggrade2 tutorResult estimatorResult appraiser1专业信息(tb_major
11、)FK1 FK2 FK3PKidmajorNo majorName专业方向(tb_interested)PKidinterestedNo interestedName职称信息(tb_title)选题信息tb_subjectPKidtitleNo titleName学位信息(tb_degree)PKid老师信息(tb_teacher)PKiddegreeNo degreeNameFK1 FK2 FK3 FK4FK5 FK6FK1 FK2FK3teacherNo teacherNamesex title_iddepartment_iddegree_id telphoneemail admin pa
12、ssword课题来源(tb_subSource)PKidsourceNosourceName教研室(tb_department)课题类型(tb_subType)PKidPKiddepartNodepartNametypeNo typeNameid teacher_idmajor_id interested_id subSource_idsubType_id student_idsubjectNo subjectName studentNum address times contentconditionrequest resultcheckUpFirst checkUpLast fillInDa
13、techeckFlage1 checkDate1checkFlage2 checkDate2electivFlagoldOrNew oldSubjectNo10) 同学信息数据:学号,姓名,性别,所在年级,专业信息,专业方向信息,层次类别,联系电话,电子邮件,登录系统口令,是否选题标志,毕业年份,指导老师成果,评阅成果,答辩成果 1,答辩成果 2,答辩成果 3,答辩成果 4,答辩成果 5,答辩平均成绩,百分制总成果,五级总成果;11) 选题信息数据:课题编号,立题老师,课题名称,所属专业信息,所属专业方向信息,课题来源信息,课题类型信息,课题完成地点,完成课题所需课时,课题内容的描述,课题已具
14、备的条件,完成人具备的条件,最终胜利形式,初审看法,终审看法,立题时间,初审标志,初审时间,终审标识,终审时间,选该选题同学,该选题是否已选,老题仍是新题,老题题号;3.3 数据库模型图依据系统需求,分析出数据库模型图,如如3.2 所示;图 3.2 数据库模型图47 / 364. 具体设计4.1 数据库设计4.1.1 关系模式依据数据事项分析和数据库模型图得出关系模式如下:1) 学位信息数据:标识列,学位代码,学位名称;2) 教研室信息数据:标识列,教研室代码,教研室名称;3) 专业信息数据:标识列,专业代码,专业名称;4) 专业方向信息数据:标识列,方向代码,方向名称;5) 办学层次信息数据
15、:标识列,办学层次代码,办学层次名称;6) 职称信息数据:标识列,职称代码,职称名称;7) 课题来源信息数据:标识列,课题来源代码,课题来源名称;8) 课题类型信息数据:标识列,课题类型代码,课题类型名称;9) 老师信息数据:标识列,职称外键),所属教研室外键),学位信息 外键) ,工号,老师姓名,性别,联系电话,电子邮件地址,是否为治理员,登录密码;10) 同学信息数据:标识列,专业信息外键),专业方向信息外键),层次类别 外键) ,学号,姓名,性别,所在年级,联系电话,电子邮件,登录系统口令,是否选题标志,毕业年份,指导老师成果,评阅成果,答辩成果1,答辩成果 2,答辩成果3,答辩成果 4
16、,答辩成果 5,答辩平均成果,百分制总成果,五级总成果;11)选题信息数据:标识列,立题老师外键),所属专业信息外键),所属专业方向信息外键),课题来源信息外键),课题类型信息 外键),选该选题同学外键),课题编号,课题名称 ,课题完成地点 ,完成课题所需课时,课题内容的描述,课题已具备的条件,完成人具备的条件,最终胜利形式,初审看法,终审看法,立题时间,初审标志,初审时间,终审标识,终审时间,该选题是否已选,老题仍是新题,老题题号;4.1.2 数据库表的结构定义 数据表名称与结构如下:学位信息数据表:表名tb_degree ),结构见表 4.1 ;表 4.1 tb_degree表结构字段名称
17、类型长度能否为空备注idint4Not Null标识列,主键degreeNonvarchar20Not Null学位代码degreeNamenvarchar30Not Null学位名称教研室信息数据表:表名 ,结构见表 4.3表 4.3tb_major表结构字段名称类型长度能否为空备注idint4Not Null标识列,主键majorNonvarchar20Not Null专业代码majorNamenvarchar30Not Null专业名称专业方向数据表:表名tb_interested ,结构见表4.4表 4.4 tb_interested表结构字段名称类型长度能否为空备注idint4Not
18、 Null标识列,主键interestedNonvarchar20Not Null专业方向代码interestedNamenvarchar30Not Null专业方向名称办学层次数据表:表名tb_level ),结构见表 4.5表 4.5 tb_level表结构字段名称id类型int长度4能否为空Not Null备注 标识列,主键levelNonvarchar20Not Null办学层次代码levelNamenvarchar30Not Null办学层次名称职称数据表:表名tb_title ),结构见表 4.6表 4.6 tb_title表结构字段名称类型长度能否为空备注 idint4Not N
19、ull标识列,主键titleNonvarchar20Not Null职称代码titleNamenvarchar30Not Null职称名称课题来源数据表:表名tb_subSource),结构见表 4.7表 4.7 tb_subSource表结构字段名称类型长度能否为空备注idint4Not Null标识列,主键sourceNonvarchar20Not Null课题来源代码sourceNamenvarchar30Not Null课题来源名称课题类型数据表:表名tb_subType),结构见表 4.8表 4.8 tb_subType表结构字段名称类型长度能否为空备注idint4Not Null标
20、识列,主键typeNonvarchar20Not Null课题类型代码typeNamenvarchar30Not Null课题类型名称老师数据表:表名department_idint4Null所属教研室代码 外键)degree_idint4Not Null学位信息 ,结构见表 4.10表 4.10 tb_student 表结构字段名称类型长度能否为空备注idint4Not Null标识列,主键studentNonvarchar20Not Null学号stuNamenvarchar20Not Null姓名sexnvarchar20Not Null性别stuClassint4Null所在年级maj
21、or_idint4Not Null专业信息 外键level_idint4Not Null层次类别 外键) - 如本科、专升本interested_idint4Not Null专业方向信息 ,结构见表 4.11字段名称类型长度能否为空备注idint4Not Null标识列,主键subjectNonvarchar20Not Null课题编号teacher_idint4Not Null立题老师编号 外键)subjectNamenvarchar20Not Null课题名称major_idint4Not Null所属专业代码 外键)interested_idint4Not Null所属方向代码 外键)s
22、ubSource_idint4Not Null课题来源 外键)subType_idint20Not Null课题类型 外键)addressnvarchar20Not Null课题完成地点timesint1Not Null完成所需课时数contentnvarchar50Null课题内容的描述conditionnvarchar50Null课题已具备的条件requestnvarchar50Null完成人具备的条件resultnvarchar50Null最终成果形式checkUpFirstnvarchar50Null初审看法checkUpLastnvarchar50Null终审看法fillInDate
23、datetime8Null立题时间checkFlage1boolean1Null初审标志checkDate1datetime4Null初审时间checkFlage2boolean1Null终审标志checkDate2datetime8Null终审时间student_idint4Null该选题同学学号 tb_major 专业 主键表字段id 标识列 id 标识列 id 标识列 4.12 所示表 4.12 关系外键表字段level_id major_id major_idinterested_id interested_idtitle_id degree_id department_id stud
24、ent_id teacher_idsubSource_id外键表tb_student同学tb_student学生tb_subject 课题tb_interestedtb_title 职称 tb_degree学位 tb_department教研室 tb_student同学 tb_teacher老师 tb_subSource课源)tb_subTypeid 标识列 id 标识列 id 标识列 id 标识列 来 id 标识列 tb_subject 课题tb_teacher老师 tb_teacher老师 tb_teacher老师 tb_subject 课题 tb_subject 课题tb_subject
25、 课题id 标识列 subType_idtb_subject 课题4.3 操作流程立题流程是老师添加一个课题,然后再由治理员进行审核,通过初审和终审就进入选题库;立题流程如图 4.1 所示开头老师添加一个课题治理员进行初次审核初审N老师进行修改Y治理员进行最终审核终审N废弃选题Y进入选题库终止图 4.1 立题流程图5 系统实现5.1 建立数据库数据使用 SQL Server 2005,数据名为: graduate;5.2 程序设计5.2.1 主界面主界面分为上、左、右三部分,其中上边为显示系统系统及用户信息,左边为菜单栏,右边为主要呈现页面,如图5.1 所示;图 5.1 主页面5.2.2 基本
26、的实现类通过 hibernate 供应的 hibernateTemplat 可以执行 hql 语句,在基类中分别实现要调用的方法;其中主要的方法如下所示:public void deleteObject entity this.getHibernateTemplate.deleteentity;public void deleteClass clazz,Serializable id ifgetclazz,id.=null this.getHibernateTemplate.deletegetclazz,id ;public int countfinal String hql,Object .
27、paramsList list=getHibernateTemplate.findhql,params;iflist.size0return list.get0.intValue; return 0;public List findEntityListByHqlString hql, Object. params return this.getHibernateTemplate.findhql,params ;public List findString hql,Object . paramsreturn getHibernateTemplate.findhql,params ;public
28、void insertObject entity this.getHibernateTemplate.saveentity; Autowiredprivate HibernateTemplate hibernateTemplate ;public HibernateTemplate getHibernateTemplate return hibernateTemplate; public void setHibernateTemplateHibernateTemplate hibernateTemplatethis.hibernateTemplate = hibernateTemplate ;
29、5.2.3 基本的信息治理模块基本信息包括:专业信息、专业方向、职称、学位、课题类型、课题来源、教研室、办学层次等信息,由于起实现类似,在此只对教研室信息的治理做出说明;添加窗口如图5.2 所示,列表如图 5.3 所示,修改窗口如如5.4 所示;图 5.2 添加教研室窗口图 5.3 教研室列表窗口图 5.4 修改教研室窗口主要实现代码如下:/* 添加一个教研室信息* return教研室列表页面*/public String add getDepartmentService.saveOrUpdategetDepartment;getPage.setDatagetDepartmentService
30、.findByPagegetPage;return department-list;/* 查看分页信息的教研室信息* return page.data*/public String list getPage.setDatagetDepartmentService.findByPagegetPage;return department-list;/* 修改一个教研室信息* return教研室列表页面*/public String update getDepartmentService.saveOrUpdategetDepartment;getPage.setDatagetDepartmentSe
31、rvice.findByPagegetPage;return department-list;5.2.4 登录模块登录分别为治理员、老师和同学三个角色登录,在登录的时候用户须挑选角色进行登录, 登录界面如图5.5 所示;图 5.5 登录界面主要实现代码如下:public String login throws IOException HttpServletResponse response =ServletActionContext.getResponse;this.beforAnsy;PrintWriter out = response.getWriter;HttpSessionsessio
32、n=ServletActionContext.getRequest.getSession;String srand = String session.getAttributecode;/猎取验证码String uname = getTeacher.getTeacherNo;/猎取用户名String pwd = getTeacher.getPassword;/猎取密码String s = getTeacher.getCore;/猎取用户角色if.getVerifycode.equalsIgnoreCasesrandout.print;out.printalert验证码错误! ;window.lo
33、cation=/GraduateDesign/index.jsp; elseifs=student|s.equalsstudent/判定假如角色是同学的话就进行同学登录校验ifgetStudentService.checkLoginuname, pwd setStudentgetStudentService.getByNouname;session.setAttributeuser, getStudent;return index2;elseout.print;window.location=/GraduateDesign/index.jsp;else ifs=teacher|s.equals
34、teacher/假如角色是老师的话就进行老师教研登录ifgetTeacherService.checkLoginuname, pwdsetTeachergetTeacherService.getByNouname;session.setAttributeuser, getTeacher;return index1;elseout.print;out.printalert用户名或密码错误;window.location=/GraduateDesign/index.jspelse;/假如角色是治理员的话就进行治理员登录校验ifgetTeacherService.checkLoginuname, pwd, truesetTeachergetTeacherService.getByNouname;session.setAttributeuser, getTeacher;return index;elseout.printmeta http-equiv=Content-Type co