1、2 需求分析2。1 功能需求 高等院校的毕业设计涉及到了教师立题、学生选题、课题管理功能,这些功能则需要教研室、办学层次、课题类型、课题来源、教师、学位、专业、专业方向、教师、学生和课题等信息多种信息的支持。从管理的角度可以将毕业设计管理系统分为八个部分:课题信息管理、职称学位管理、专业信息管理、用户信息管理、立题信息管理、选题信息管理、其他信息管理和统计信息管理。课题信息管理、职称学位管理、专业信息管理、用户信息管理、立题信息管理、选题信息管理和其他信息管理包括这些信息的添加、删除、修改及查询操作;统计信息包括学生人数信息、学生选题数目、题目来源、题目类型、毕业论文(设计)的篇数统计等信息的
2、操作.核心功能主要为教师立题、学生选题、课题管理。2.2 开发与运行环境毕业设计管理系统的开发与运行环境如下:开发环境:Window 7+JDK 6。开发工具:MyEclipse 6.5数据库管理系统:MS SQL Server 2005服务器:tomcat 6.0运行环境:Window 98/ME/2000/XP/7以及Linux2.3 系统实现过程首先根据系统功能分析设计出数据库,包括各个数据表和数据表关系图的详细结构。实现功能模块时,因为要实现教师立题、学生选题以及选题管理模块,故应先将职称、学位、专业信息、教研室、办学层次、课题类型、课题来源这些独立模块分别实现,其次实现独立模块分别实
3、现,在实现学生、教师模块,最后实现立题、课题管理模块。即在这里分别对系统各个功能模块分别对立设计和调试,最后将各个模块通过菜单栏集成到一起,最后进行系统整体设计的调试。在访问数据库时,本系统采用hibernate实现数据库的操作,在基本实现类中实现数据库的各种访问操作,其他的类直接或间接继承基本类。这种实现方式可以减少代码冗余,避免数据库的反复连接,从而提高系统的开发效率.3 总体设计3.1系统模块设计根据系统功能分析,得到如图3。1所示的系统功能模块结构图。图3。1系统功能模块图3.2 数据事项分析根据系统的功能,模块结构和管理流程,以及毕业设计管理系统的需求,总结出如下的数据项:1)学位信
4、息数据:学位代码,学位名称。2)教研室信息数据:教研室代码,教研室名称。3)专业信息数据:专业代码,专业名称。4)专业方向信息数据:方向代码,方向名称。5)办学层次信息数据:办学层次代码,办学层次名称。6)职称信息数据:职称代码,职称名称.7)课题来源信息数据:课题来源代码,课题来源名称.8)课题类型信息数据:课题类型代码,课题类型名称。9)教师信息数据:工号,教师姓名,性别,职称,所属教研室,联系电话,电子邮件地址,是 否为管理员,学位信息,登录密码。10)学生信息数据:学号,姓名,性别,所在年级,专业信息,专业方向信息,层次类别,联 系电话,电子邮件,登录系统口令,是否选题标志,毕业年份,
5、指导教师成绩,评阅成绩, 答辩成绩1,答辩成绩2,答辩成绩3,答辩成绩4,答辩成绩5,答辩平均成 绩,百分制 总成绩,五级总成绩。11)选题信息数据:课题编号,立题教师,课题名称,所属专业信息,所属专业方向信息,课 题来源信息,课题类型信息,课题完成地点,完成课题所需课时,课题内容的描述,课题 已具备的条件,完成人具备的条件,最终成功形式,初审意见,终审意见,立题时间,初 审标志,初审时间,终审标识,终审时间,选该选题学生,该选题是否已选,老题还是新 题,老题题号。3。3 数据库模型图根据系统需求,分析出数据库模型图,如如3.2所示。图3.2数据库模型图4. 详细设计4。1 数据库设计4.1.
6、1关系模式根据数据事项分析和数据库模型图得出关系模式如下:标识列,学位代码,学位名称。标识列,教研室代码,教研室名称。标识列 ,专业代码,专业名称。标识列,方向代码,方向名称。标识列,办学层次代码,办学层次名称。标识列,职称代码,职称名称。标识列,课题来源代码,课题来源名称。标识列,课题类型代码,课题类型名称。标识列,职称(外键),所属教研室(外键),学位信息(外键),工号,教 师姓名,性别,联系电话,电子邮件地址,是否为管理员,登录密码.10)学生信息数据:标识列,专业信息(外键),专业方向信息(外键),层次类别(外键),学 号,姓名,性别,所在年级,联系电话,电子邮件,登录系统口令,是否选
7、题标志,毕业 年份,指导教师成绩,评阅成绩,答辩成绩1,答辩成绩2,答辩成绩3,答辩成绩4,答辩 成绩5,答辩平均成绩,百分制总成绩,五级总成绩。11)选题信息数据:标识列,立题教师(外键),所属专业信息(外键),所属专业方向信息(外 键),课题来源信息(外键),课题类型信息(外键),选该选题学生(外键),课题编号, 课题名称,课题完成地点,完成课题所需课时,课题内容的描述,课题已具备的条件,完成人 具备的条件,最终成功形式,初审意见,终审意见,立题时间,初审标志,初审时间, 终审标识,终审时间,该选题是否已选,老题还是新题,老题题号.4.1。2数据库表的结构定义数据表名称与结构如下:学位信息
8、数据表:表名(tb_degree),结构见表4.1.字段名称类型长度能否为空备注idint4Not Null标识列,主键degreeNonvarchar20学位代码degreeName30学位名称表4。1 tb_degree表结构教研室信息数据表:表名(tb_department),结构见表4。标识列,主键departNo教研室代码departName教研室名称表4.2 tb_department表结构专业信息数据表:表名(tb_major),结构见表4。3表4.3tb_major表结构majorNo专业代码majorName专业名称专业方向数据表:表名(tb_interested),结构见表
9、4。4 tb_interested表结构interestedNo专业方向代码interestedName专业方向名称 办学层次数据表:表名(tb_level),结构见表4.5levelNo办学层次代码levelName办学层次名称表4.5 tb_level表结构职称数据表:表名(tb_title),结构见表4。6titleNo职称代码titleName职称名称6 tb_title表结构课题来源数据表:表名(tb_subSource),结构见表4.77 tb_subSource表结构sourceNo课题来源代码sourceName课题来源名称课题类型数据表:表名(tb_subType),结构见表
10、4.8typeNo课题类型代码typeName课题类型名称8 tb_subType表结构教师数据表:表名(tb_teacher),结构见表4.9teacherNo教师工号teacherName教师姓名sex性别Title_idNull职称代码(外键)department_id所属教研室代码(外键)degree_id学位信息(外键)telphone联系电话email电子邮件地址adminboolean1是否是管理员password登录密码9 tb_teacher表结构学生数据表:表名(tb_student),结构见表4。10studentNo学号stuName姓名stuClass所在年级majo
11、r_id专业信息(外键)level_id层次类别(外键)-如本科、专升本interested_id专业方向信息(外键)登录系统口令electiv_flag 是否选题标志grade2毕业年份tutorResult指导教师成绩estimatorResult评阅成绩appraiser1答辩成绩1appraiser2答辩成绩2appraiser3答辩成绩3appraiser4答辩成绩4appraiser5答辩成绩5average答辩平均成绩finallyPersent百分制总成绩finallyFive五级总成绩表4.10 tb_student表结构课题数据表:表名(tb_subject),结构见表4.
12、11subjectNo课题编号teacher_id立题教师编号(外键)subjectName课题名称所属专业代码(外键)所属方向代码(外键)subSource_id课题来源(外键)subType_id课题类型(外键)address课题完成地点times 完成所需课时数content50课题内容的描述condition课题已具备的条件request完成人具备的条件result最终成果形式checkUpFirst初审意见checkUpLast终审意见fillInDatedatetime8立题时间checkFlage1初审标志checkDate1初审时间checkFlage2终审标志checkDat
13、e2终审时间student_id该选题学生学号(外键)electivFlag该选题是否已选oldOrNew老题还是新题oldSubjectNo老题题号11 tb_subject表结构4.2 数据库中关系设计数据库中的表与表之间的关系如表4.12所示12 关系主键表主键表字段外键表字段外键表tb_level(办学层次)id(标识列)tb_student(学生)tb_major(专业)tb_subject(课题)tb_interested(专业方向)tb_title(职称)title_idtb_teacher(教师)tb_degree(学位)tb_department(教研室)tb_subSour
14、ce(课题来源)tb_subType(课题类型)4.3 操作流程立题流程是教师添加一个课题,然后再由管理员进行审核,通过初审和终审则进入选题库。立题流程如图4.1所示图4。1立题流程图5 系统实现5.1 建立数据库数据使用SQL Server 2005,数据名为:graduate.5.2 程序设计5。1 主界面主界面分为上、左、右三部分,其中上边为显示系统系统及用户信息,左边为菜单栏,右边为主要展现页面,如图5。1所示.图5.1 主页面2 基本的实现类通过hibernate提供的 hibernateTemplat可以执行hql语句,在基类中分别实现要调用的方法.其中主要的方法如下所示: pub
15、lic void delete(Object entity) this.getHibernateTemplate().delete(entity); public void delete(Class? clazz,Serializable id) if(get(clazz,id)!=null) this.getHibernateTemplate().delete(get(clazz,id); public int count(final String hql,Object .。params) List list=getHibernateTemplate().find(hql,params);
16、if(list.size()0)return list.get(0).intValue(); return 0; public ListT findEntityListByHql(String hql, Object。 params) return this.getHibernateTemplate().find(hql,params); public ListT 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(Hibernat
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1