1、毕业设计管理系统的设计与实现设计说明书毕业设计管理系统的设计与实现XXX(陕西理工学院计算机科学与技术系计算机科学与技术专业075班级,陕西 汉中 723000)指导教师:XXX【摘要】本系统解决以往毕业生毕业设计中遇到的工作效率低,管理难度大和数据统计不方便等问题。本系统采用软件工程设计思想设计,利用J2EE平台和SQL Server数据库的集合,开发一个基于web技术的B/S结构的毕业设计管理系统。通过该系统实现毕业设计立题、学生选题、教师对选题管理等问题。 【关键词】SQL Server;J2EE;毕业设计管理;B/S结构The Implementation of Design Subj
2、ect Selected System For Graduation StudentXXX(Grade07,Class5, Computer science and techlonogy, Computer science and techlonogy Dept,Shaanxi University of Technology,Hanzhong 723000,Shaanxi)Tutor: XXX Abstract:This system can resolve the problem which we met in the work of graduation design,such as i
3、nefficiency in the work,inconvenient for 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 and SQL Server for its database.Its a system that to manage the graduation design.This system implement the function of adding
4、subject,selecting the subject,and managing the subject. Keywords:SQL SERVER;J2EE;Graduation design management;B/S structure1.概述1.1背景分析毕业设计管理问题是高校教师必须面对的工作,但陕西理工学院各个院系一直使用Excel表格管理、分析毕业设计。使用Excel软件分析统计毕业设计制作情况,该软件存在许多不足,如:立题不灵活,选题必须集中,对于整个院系选题有诸多不便;毕业设计评分也必须集中录入等;统计毕业设计制作情况也不能自动完成。毕业设计是实现高等学校人才培养目标的重
5、要教学环节,也是培养大学生创新能力、实践能力和创业精神的重要实践环节,是学生提高专业素质和实践能力的综合训练,是对学生大学期间学习效果的全面检验。通过这套毕业设计管理软件可以解决毕业设计过程管理工作中存在的工作效率低,交互性差等问题,对高校管理学生毕业设计意义重大。因此为了克服上述缺陷,编写一个使实现教师立题、学生选题、教师对选题信息进行管理的系统,再根据各个评分给出综合测评,达到管理自动化、精确化、智能化是非常必要的,因此可以把毕业设计管理系统作为毕业设计的课题,正好可以利用所学知识开发一个毕业设计管理系统来实现毕业设计的管理。1.2 毕业设计系统的现状 本课题开发的目的在于解决以往毕业设计
6、管理过程中存在的问题,解决效率低、容易出错等问题,从而对毕业设计信息进行更好的管理,对毕业设计的数据进行统计分析。提高各个管理效率,减少教师工作量。其次,通过本课题可以使自己更进一步的了解软件开发流程,同时对J2EE平台与MS SQL SERVER有进一步的了解,使用更加熟练。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
8、以及Linux2.3 系统实现过程首先根据系统功能分析设计出数据库,包括各个数据表和数据表关系图的详细结构。实现功能模块时,因为要实现教师立题、学生选题以及选题管理模块,故应先将职称、学位、专业信息、教研室、办学层次、课题类型、课题来源这些独立模块分别实现,其次实现独立模块分别实现,在实现学生、教师模块,最后实现立题、课题管理模块。即在这里分别对系统各个功能模块分别对立设计和调试,最后将各个模块通过菜单栏集成到一起,最后进行系统整体设计的调试。在访问数据库时,本系统采用hibernate实现数据库的操作,在基本实现类中实现数据库的各种访问操作,其他的类直接或间接继承基本类。这种实现方式可以减少
9、代码冗余,避免数据库的反复连接,从而提高系统的开发效率。3 总体设计3.1系统模块设计根据系统功能分析,得到如图3.1所示的系统功能模块结构图。图3.1系统功能模块图3.2 数据事项分析根据系统的功能,模块结构和管理流程,以及毕业设计管理系统的需求,总结出如下的数据项:1)学位信息数据:学位代码,学位名称。2)教研室信息数据:教研室代码,教研室名称。3)专业信息数据:专业代码,专业名称。4)专业方向信息数据:方向代码,方向名称。5)办学层次信息数据:办学层次代码,办学层次名称。6)职称信息数据:职称代码,职称名称。7)课题来源信息数据:课题来源代码,课题来源名称。8)课题类型信息数据:课题类型
10、代码,课题类型名称。9)教师信息数据:工号,教师姓名,性别,职称,所属教研室,联系电话,电子邮件地址,是 否为管理员,学位信息,登录密码。10)学生信息数据:学号,姓名,性别,所在年级,专业信息,专业方向信息,层次类别,联 系电话,电子邮件,登录系统口令,是否选题标志,毕业年份,指导教师成绩,评阅成绩, 答辩成绩1,答辩成绩2,答辩成绩3,答辩成绩4,答辩成绩5,答辩平均成 绩,百分制 总成绩,五级总成绩。11)选题信息数据:课题编号,立题教师,课题名称,所属专业信息,所属专业方向信息,课 题来源信息,课题类型信息,课题完成地点,完成课题所需课时,课题内容的描述,课题 已具备的条件,完成人具备
11、的条件,最终成功形式,初审意见,终审意见,立题时间,初 审标志,初审时间,终审标识,终审时间,选该选题学生,该选题是否已选,老题还是新 题,老题题号。3.3 数据库模型图根据系统需求,分析出数据库模型图,如如3.2所示。图3.2数据库模型图4. 详细设计4.1 数据库设计4.1.1关系模式根据数据事项分析和数据库模型图得出关系模式如下:1)学位信息数据:标识列,学位代码,学位名称。2)教研室信息数据:标识列,教研室代码,教研室名称。3)专业信息数据:标识列 ,专业代码,专业名称。4)专业方向信息数据:标识列,方向代码,方向名称。5)办学层次信息数据:标识列,办学层次代码,办学层次名称。6)职称
12、信息数据:标识列,职称代码,职称名称。7)课题来源信息数据:标识列,课题来源代码,课题来源名称。8)课题类型信息数据:标识列,课题类型代码,课题类型名称。9)教师信息数据:标识列,职称(外键),所属教研室(外键),学位信息(外键),工号,教 师姓名,性别,联系电话,电子邮件地址,是否为管理员,登录密码。10)学生信息数据:标识列,专业信息(外键),专业方向信息(外键),层次类别(外键),学 号,姓名,性别,所在年级,联系电话,电子邮件,登录系统口令,是否选题标志,毕业 年份,指导教师成绩,评阅成绩,答辩成绩1,答辩成绩2,答辩成绩3,答辩成绩4,答辩 成绩5,答辩平均成绩,百分制总成绩,五级总
13、成绩。11)选题信息数据:标识列,立题教师(外键),所属专业信息(外键),所属专业方向信息(外 键),课题来源信息(外键),课题类型信息(外键),选该选题学生(外键),课题编号, 课题名称,课题完成地点,完成课题所需课时,课题内容的描述,课题已具备的条件,完成人 具备的条件,最终成功形式,初审意见,终审意见,立题时间,初审标志,初审时间, 终审标识,终审时间,该选题是否已选,老题还是新题,老题题号。4.1.2数据库表的结构定义数据表名称与结构如下:学位信息数据表:表名(tb_degree),结构见表4.1。字段名称类型长度能否为空备注idint4Not Null标识列,主键degreeNonv
14、archar20Not Null学位代码degreeNamenvarchar30Not Null学位名称表4.1 tb_degree表结构教研室信息数据表:表名(tb_department),结构见表4.2。字段名称类型长度能否为空备注idint4Not Null标识列,主键departNonvarchar20Not Null教研室代码departNamenvarchar30Not Null教研室名称表4.2 tb_department表结构专业信息数据表:表名(tb_major),结构见表4.3表4.3tb_major表结构字段名称类型长度能否为空备注idint4Not Null标识列,主键
15、majorNonvarchar20Not Null专业代码majorNamenvarchar30Not Null专业名称专业方向数据表:表名(tb_interested),结构见表4.4表4.4 tb_interested表结构字段名称类型长度能否为空备注idint4Not Null标识列,主键interestedNonvarchar20Not Null专业方向代码interestedNamenvarchar30Not Null专业方向名称 办学层次数据表:表名(tb_level),结构见表4.5字段名称类型长度能否为空备注idint4Not Null标识列,主键levelNonvarchar
16、20Not Null办学层次代码levelNamenvarchar30Not Null办学层次名称表4.5 tb_level表结构职称数据表:表名(tb_title),结构见表4.6字段名称类型长度能否为空备注idint4Not Null标识列,主键titleNonvarchar20Not Null职称代码titleNamenvarchar30Not Null职称名称表4.6 tb_title表结构课题来源数据表:表名(tb_subSource),结构见表4.7表4.7 tb_subSource表结构字段名称类型长度能否为空备注idint4Not Null标识列,主键sourceNonvarc
17、har20Not Null课题来源代码sourceNamenvarchar30Not Null课题来源名称课题类型数据表:表名(tb_subType),结构见表4.8字段名称类型长度能否为空备注idint4Not Null标识列,主键typeNonvarchar20Not Null课题类型代码typeNamenvarchar30Not Null课题类型名称表4.8 tb_subType表结构教师数据表:表名(tb_teacher),结构见表4.9字段名称类型长度能否为空备注idint4Not Null标识列,主键teacherNonvarchar20Not Null教师工号teacherNam
18、envarchar30Not Null教师姓名sexnvarchar20Not Null性别Title_idint4Null职称代码(外键)department_idint4Null所属教研室代码(外键)degree_idint4Not Null学位信息(外键)telphonenvarchar30Not Null联系电话emailnvarchar20Not Null电子邮件地址adminboolean1Not Null是否是管理员passwordnvarchar20Not Null登录密码表4.9 tb_teacher表结构学生数据表:表名(tb_student),结构见表4.10字段名称类型
19、长度能否为空备注idint4Not Null标识列,主键studentNonvarchar20Not Null学号stuNamenvarchar20Not Null姓名sexnvarchar20Not Null性别stuClassint4Null所在年级major_idint4Not Null专业信息(外键)level_idint4Not Null层次类别(外键)-如本科、专升本interested_idint4Not Null专业方向信息(外键)telphonenvarchar20Not Null联系电话emailnvarchar20Not Null电子邮件地址passwordnvarcha
20、r20Not Null登录系统口令electiv_flag boolean1Not Null是否选题标志grade2int4Null毕业年份tutorResultint4Null指导教师成绩estimatorResultint4Null评阅成绩appraiser1int4Null答辩成绩1appraiser2int4Null答辩成绩2appraiser3int4Null答辩成绩3appraiser4int4Null答辩成绩4appraiser5int4Null答辩成绩5averageint4Null答辩平均成绩finallyPersentint4Null百分制总成绩finallyFivenva
21、rchar20Null五级总成绩表4.10 tb_student表结构课题数据表:表名(tb_subject),结构见表4.11字段名称类型长度能否为空备注idint4Not Null标识列,主键subjectNonvarchar20Not Null课题编号teacher_idint4Not Null立题教师编号(外键)subjectNamenvarchar20Not Null课题名称major_idint4Not Null所属专业代码(外键)interested_idint4Not Null所属方向代码(外键)subSource_idint4Not Null课题来源(外键)subType_i
22、dint20Not Null课题类型(外键)addressnvarchar20Not Null课题完成地点times int1Not Null完成所需课时数contentnvarchar50Null课题内容的描述conditionnvarchar50Null课题已具备的条件requestnvarchar50Null完成人具备的条件resultnvarchar50Null最终成果形式checkUpFirstnvarchar50Null初审意见checkUpLastnvarchar50Null终审意见fillInDatedatetime8Null立题时间checkFlage1boolean1Nul
23、l初审标志checkDate1datetime4Null初审时间checkFlage2boolean1Null终审标志checkDate2datetime8Null终审时间student_idint4Null该选题学生学号(外键)electivFlagboolean1Null该选题是否已选oldOrNewboolean1Null老题还是新题oldSubjectNonvarchar20Null老题题号表4.11 tb_subject表结构4.2 数据库中关系设计数据库中的表与表之间的关系如表4.12所示表4.12 关系主键表主键表字段外键表字段外键表tb_level(办学层次)id(标识列)le
24、vel_idtb_student(学生)tb_major(专业)id(标识列)major_idmajor_idtb_student(学生)tb_subject(课题)tb_interested(专业方向)id(标识列)interested_idinterested_idtb_student(学生)tb_subject(课题)tb_title(职称)id(标识列)title_idtb_teacher(教师)tb_degree(学位)id(标识列)degree_idtb_teacher(教师)tb_department(教研室)id(标识列)department_idtb_teacher(教师)t
25、b_student(学生)id(标识列)student_idtb_subject(课题)tb_teacher(教师)id(标识列)teacher_idtb_subject(课题)tb_subSource(课题来源)id(标识列)subSource_idtb_subject(课题)tb_subType(课题类型)id(标识列)subType_idtb_subject(课题)4.3 操作流程立题流程是教师添加一个课题,然后再由管理员进行审核,通过初审和终审则进入选题库。立题流程如图4.1所示图4.1立题流程图5 系统实现5.1 建立数据库数据使用SQL Server 2005,数据名为:gradu
26、ate。5.2 程序设计5.2.1 主界面主界面分为上、左、右三部分,其中上边为显示系统系统及用户信息,左边为菜单栏,右边为主要展现页面,如图5.1所示。图5.1 主页面5.2.2 基本的实现类通过hibernate提供的 hibernateTemplat可以执行hql语句,在基类中分别实现要调用的方法。其中主要的方法如下所示: public void delete(Object entity) this.getHibernateTemplate().delete(entity); public void delete(Class clazz,Serializable id) if(get(c
27、lazz,id)!=null) this.getHibernateTemplate().delete(get(clazz,id); public int count(final String hql,Object .params) List list=getHibernateTemplate().find(hql,params); if(list.size()0)return list.get(0).intValue(); return 0; public List findEntityListByHql(String hql, Object. params) return this.getH
28、ibernateTemplate().find(hql,params); public List find(String hql,Object . params) return getHibernateTemplate().find(hql,params); public void insert(Object entity) this.getHibernateTemplate().save(entity); Autowired private HibernateTemplate hibernateTemplate; public HibernateTemplate getHibernateTemplate() return hibernateTemplate; public void setHibernateTemplate(HibernateTemp
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1