毕业设计管理系统的设计与实现设计说明书.docx
《毕业设计管理系统的设计与实现设计说明书.docx》由会员分享,可在线阅读,更多相关《毕业设计管理系统的设计与实现设计说明书.docx(56页珍藏版)》请在冰豆网上搜索。
![毕业设计管理系统的设计与实现设计说明书.docx](https://file1.bdocx.com/fileroot1/2023-4/25/7e881566-8914-436c-8af9-076ae4bc385c/7e881566-8914-436c-8af9-076ae4bc385c1.gif)
毕业设计管理系统的设计与实现设计说明书
毕业设计管理系统的设计与实现
XXX
(陕西理工学院计算机科学与技术系计算机科学与技术专业075班级,陕西汉中723000)
指导教师:
XXX
【摘要】本系统解决以往毕业生毕业设计中遇到的工作效率低,管理难度大和数据统计不方便等问题。
本系统采用软件工程设计思想设计,利用J2EE平台和SQLServer数据库的集合,开发一个基于web技术的B/S结构的毕业设计管理系统。
通过该系统实现毕业设计立题、学生选题、教师对选题管理等问题。
【关键词】SQLServer;J2EE;毕业设计管理;B/S结构
TheImplementationofDesignSubjectSelectedSystemForGraduationStudent
XXX
(Grade07,Class5,Computerscienceandtechlonogy,ComputerscienceandtechlonogyDept,ShaanxiUniversityofTechnology,Hanzhong723000,Shaanxi)
Tutor:
XXX
Abstract:
Thissystemcanresolvetheproblemwhichwemetintheworkofgraduationdesign,suchasinefficiencyinthework,inconvenientforcountthedata,andhardtomanagethedata.ThissystemwhichbasedonthewebtechnologyandB/SstructureuseJ2EEasitsplatformandSQLServerforitsdatabase.It'sasystemthattomanagethegraduationdesign.Thissystemimplementthefunctionofaddingsubject,selectingthesubject,andmanagingthesubject.
Keywords:
SQLSERVER;J2EE;Graduationdesignmanagement;B/Sstructure
1.概述
1.1背景分析
毕业设计管理问题是高校教师必须面对的工作,但陕西理工学院各个院系一直使用Excel表格管理、分析毕业设计。
使用Excel软件分析统计毕业设计制作情况,该软件存在许多不足,如:
立题不灵活,选题必须集中,对于整个院系选题有诸多不便;毕业设计评分也必须集中录入等;统计毕业设计制作情况也不能自动完成。
毕业设计是实现高等学校人才培养目标的重要教学环节,也是培养大学生创新能力、实践能力和创业精神的重要实践环节,是学生提高专业素质和实践能力的综合训练,是对学生大学期间学习效果的全面检验。
通过这套毕业设计管理软件可以解决毕业设计过程管理工作中存在的工作效率低,交互性差等问题,对高校管理学生毕业设计意义重大。
因此为了克服上述缺陷,编写一个使实现教师立题、学生选题、教师对选题信息进行管理的系统,再根据各个评分给出综合测评,达到管理自动化、精确化、智能化是非常必要的,因此可以把毕业设计管理系统作为毕业设计的课题,正好可以利用所学知识开发一个毕业设计管理系统来实现毕业设计的管理。
1.2毕业设计系统的现状
本课题开发的目的在于解决以往毕业设计管理过程中存在的问题,解决效率低、容易出错等问题,从而对毕业设计信息进行更好的管理,对毕业设计的数据进行统计分析。
提高各个管理效率,减少教师工作量。
其次,通过本课题可以使自己更进一步的了解软件开发流程,同时对J2EE平台与MSSQLSERVER有进一步的了解,使用更加熟练。
2需求分析
2.1功能需求
高等院校的毕业设计涉及到了教师立题、学生选题、课题管理功能,这些功能则需要教研室、办学层次、课题类型、课题来源、教师、学位、专业、专业方向、教师、学生和课题等信息多种信息的支持。
从管理的角度可以将毕业设计管理系统分为八个部分:
课题信息管理、职称学位管理、专业信息管理、用户信息管理、立题信息管理、选题信息管理、其他信息管理和统计信息管理。
课题信息管理、职称学位管理、专业信息管理、用户信息管理、立题信息管理、选题信息管理和其他信息管理包括这些信息的添加、删除、修改及查询操作;统计信息包括学生人数信息、学生选题数目、题目来源、题目类型、毕业论文(设计)的篇数统计等信息的操作。
核心功能主要为教师立题、学生选题、课题管理。
2.2开发与运行环境
毕业设计管理系统的开发与运行环境如下:
开发环境:
Window7+JDK6.0
开发工具:
MyEclipse6.5
数据库管理系统:
MSSQLServer2005
服务器:
tomcat6.0
运行环境:
Window98/ME/2000/XP/7以及Linux
2.3系统实现过程
首先根据系统功能分析设计出数据库,包括各个数据表和数据表关系图的详细结构。
实现功能模块时,因为要实现教师立题、学生选题以及选题管理模块,故应先将职称、学位、专业信息、教研室、办学层次、课题类型、课题来源这些独立模块分别实现,其次实现独立模块分别实现,在实现学生、教师模块,最后实现立题、课题管理模块。
即在这里分别对系统各个功能模块分别对立设计和调试,最后将各个模块通过菜单栏集成到一起,最后进行系统整体设计的调试。
在访问数据库时,本系统采用hibernate实现数据库的操作,在基本实现类中实现数据库的各种访问操作,其他的类直接或间接继承基本类。
这种实现方式可以减少代码冗余,避免数据库的反复连接,从而提高系统的开发效率。
3总体设计
3.1系统模块设计
根据系统功能分析,得到如图3.1所示的系统功能模块结构图。
图3.1系统功能模块图
3.2数据事项分析
根据系统的功能,模块结构和管理流程,以及毕业设计管理系统的需求,总结出如下的数据项:
1)学位信息数据:
学位代码,学位名称。
2)教研室信息数据:
教研室代码,教研室名称。
3)专业信息数据:
专业代码,专业名称。
4)专业方向信息数据:
方向代码,方向名称。
5)办学层次信息数据:
办学层次代码,办学层次名称。
6)职称信息数据:
职称代码,职称名称。
7)课题来源信息数据:
课题来源代码,课题来源名称。
8)课题类型信息数据:
课题类型代码,课题类型名称。
9)教师信息数据:
工号,教师姓名,性别,职称,所属教研室,联系电话,电子邮件地址,是否为管理员,学位信息,登录密码。
10)学生信息数据:
学号,姓名,性别,所在年级,专业信息,专业方向信息,层次类别,联系电话,电子邮件,登录系统口令,是否选题标志,毕业年份,指导教师成绩,评阅成绩,答辩成绩1,答辩成绩2,答辩成绩3,答辩成绩4,答辩成绩5,答辩平均成绩,百分制总成绩,五级总成绩。
11)选题信息数据:
课题编号,立题教师,课题名称,所属专业信息,所属专业方向信息,课题来源信息,课题类型信息,课题完成地点,完成课题所需课时,课题内容的描述,课题已具备的条件,完成人具备的条件,最终成功形式,初审意见,终审意见,立题时间,初审标志,初审时间,终审标识,终审时间,选该选题学生,该选题是否已选,老题还是新题,老题题号。
3.3数据库模型图
根据系统需求,分析出数据库模型图,如如3.2所示。
图3.2数据库模型图
4.详细设计
4.1数据库设计
4.1.1关系模式
根据数据事项分析和数据库模型图得出关系模式如下:
1)学位信息数据:
标识列,学位代码,学位名称。
2)教研室信息数据:
标识列,教研室代码,教研室名称。
3)专业信息数据:
标识列,专业代码,专业名称。
4)专业方向信息数据:
标识列,方向代码,方向名称。
5)办学层次信息数据:
标识列,办学层次代码,办学层次名称。
6)职称信息数据:
标识列,职称代码,职称名称。
7)课题来源信息数据:
标识列,课题来源代码,课题来源名称。
8)课题类型信息数据:
标识列,课题类型代码,课题类型名称。
9)教师信息数据:
标识列,职称(外键),所属教研室(外键),学位信息(外键),工号,教师姓名,性别,联系电话,电子邮件地址,是否为管理员,登录密码。
10)学生信息数据:
标识列,专业信息(外键),专业方向信息(外键),层次类别(外键),学号,姓名,性别,所在年级,联系电话,电子邮件,登录系统口令,是否选题标志,毕业年份,指导教师成绩,评阅成绩,答辩成绩1,答辩成绩2,答辩成绩3,答辩成绩4,答辩成绩5,答辩平均成绩,百分制总成绩,五级总成绩。
11)选题信息数据:
标识列,立题教师(外键),所属专业信息(外键),所属专业方向信息(外键),课题来源信息(外键),课题类型信息(外键),选该选题学生(外键),课题编号,课题名称,课题完成地点,完成课题所需课时,课题内容的描述,课题已具备的条件,完成人具备的条件,最终成功形式,初审意见,终审意见,立题时间,初审标志,初审时间,终审标识,终审时间,该选题是否已选,老题还是新题,老题题号。
4.1.2数据库表的结构定义
数据表名称与结构如下:
学位信息数据表:
表名(tb_degree),结构见表4.1。
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
degreeNo
nvarchar
20
NotNull
学位代码
degreeName
nvarchar
30
NotNull
学位名称
表4.1tb_degree表结构
教研室信息数据表:
表名(tb_department),结构见表4.2。
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
departNo
nvarchar
20
NotNull
教研室代码
departName
nvarchar
30
NotNull
教研室名称
表4.2tb_department表结构
专业信息数据表:
表名(tb_major),结构见表4.3
表4.3tb_major表结构
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
majorNo
nvarchar
20
NotNull
专业代码
majorName
nvarchar
30
NotNull
专业名称
专业方向数据表:
表名(tb_interested),结构见表4.4
表4.4tb_interested表结构
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
interestedNo
nvarchar
20
NotNull
专业方向代码
interestedName
nvarchar
30
NotNull
专业方向名称
办学层次数据表:
表名(tb_level),结构见表4.5
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
levelNo
nvarchar
20
NotNull
办学层次代码
levelName
nvarchar
30
NotNull
办学层次名称
表4.5tb_level表结构
职称数据表:
表名(tb_title),结构见表4.6
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
titleNo
nvarchar
20
NotNull
职称代码
titleName
nvarchar
30
NotNull
职称名称
表4.6tb_title表结构
课题来源数据表:
表名(tb_subSource),结构见表4.7
表4.7tb_subSource表结构
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
sourceNo
nvarchar
20
NotNull
课题来源代码
sourceName
nvarchar
30
NotNull
课题来源名称
课题类型数据表:
表名(tb_subType),结构见表4.8
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
typeNo
nvarchar
20
NotNull
课题类型代码
typeName
nvarchar
30
NotNull
课题类型名称
表4.8tb_subType表结构
教师数据表:
表名(tb_teacher),结构见表4.9
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
teacherNo
nvarchar
20
NotNull
教师工号
teacherName
nvarchar
30
NotNull
教师姓名
sex
nvarchar
20
NotNull
性别
Title_id
int
4
Null
职称代码(外键)
department_id
int
4
Null
所属教研室代码(外键)
degree_id
int
4
NotNull
学位信息(外键)
telphone
nvarchar
30
NotNull
联系电话
email
nvarchar
20
NotNull
电子邮件地址
admin
boolean
1
NotNull
是否是管理员
password
nvarchar
20
NotNull
登录密码
表4.9tb_teacher表结构
学生数据表:
表名(tb_student),结构见表4.10
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
studentNo
nvarchar
20
NotNull
学号
stuName
nvarchar
20
NotNull
姓名
sex
nvarchar
20
NotNull
性别
stuClass
int
4
Null
所在年级
major_id
int
4
NotNull
专业信息(外键)
level_id
int
4
NotNull
层次类别(外键)---如本科、专升本
interested_id
int
4
NotNull
专业方向信息(外键)
telphone
nvarchar
20
NotNull
联系电话
email
nvarchar
20
NotNull
电子邮件地址
password
nvarchar
20
NotNull
登录系统口令
electiv_flag
boolean
1
NotNull
是否选题标志
grade2
int
4
Null
毕业年份
tutorResult
int
4
Null
指导教师成绩
estimatorResult
int
4
Null
评阅成绩
appraiser1
int
4
Null
答辩成绩1
appraiser2
int
4
Null
答辩成绩2
appraiser3
int
4
Null
答辩成绩3
appraiser4
int
4
Null
答辩成绩4
appraiser5
int
4
Null
答辩成绩5
average
int
4
Null
答辩平均成绩
finallyPersent
int
4
Null
百分制总成绩
finallyFive
nvarchar
20
Null
五级总成绩
表4.10tb_student表结构
课题数据表:
表名(tb_subject),结构见表4.11
字段名称
类型
长度
能否为空
备注
id
int
4
NotNull
标识列,主键
subjectNo
nvarchar
20
NotNull
课题编号
teacher_id
int
4
NotNull
立题教师编号(外键)
subjectName
nvarchar
20
NotNull
课题名称
major_id
int
4
NotNull
所属专业代码(外键)
interested_id
int
4
NotNull
所属方向代码(外键)
subSource_id
int
4
NotNull
课题来源(外键)
subType_id
int
20
NotNull
课题类型(外键)
address
nvarchar
20
NotNull
课题完成地点
times
int
1
NotNull
完成所需课时数
content
nvarchar
50
Null
课题内容的描述
condition
nvarchar
50
Null
课题已具备的条件
request
nvarchar
50
Null
完成人具备的条件
result
nvarchar
50
Null
最终成果形式
checkUpFirst
nvarchar
50
Null
初审意见
checkUpLast
nvarchar
50
Null
终审意见
fillInDate
datetime
8
Null
立题时间
checkFlage1
boolean
1
Null
初审标志
checkDate1
datetime
4
Null
初审时间
checkFlage2
boolean
1
Null
终审标志
checkDate2
datetime
8
Null
终审时间
student_id
int
4
Null
该选题学生学号(外键)
electivFlag
boolean
1
Null
该选题是否已选
oldOrNew
boolean
1
Null
老题还是新题
oldSubjectNo
nvarchar
20
Null
老题题号
表4.11tb_subject表结构
4.2数据库中关系设计
数据库中的表与表之间的关系如表4.12所示
表4.12关系
主键表
主键表字段
外键表字段
外键表
tb_level(办学层次)
id(标识列)
level_id
tb_student(学生)
tb_major(专业)
id(标识列)
major_id
major_id
tb_student(学生)
tb_subject(课题)
tb_interested(专业方向)
id(标识列)
interested_id
interested_id
tb_student(学生)
tb_subject(课题)
tb_title(职称)
id(标识列)
title_id
tb_teacher(教师)
tb_degree(学位)
id(标识列)
degree_id
tb_teacher(教师)
tb_department(教研室)
id(标识列)
department_id
tb_teacher(教师)
tb_student(学生)
id(标识列)
student_id
tb_subject(课题)
tb_teacher(教师)
id(标识列)
teacher_id
tb_subject(课题)
tb_subSource(课题来源)
id(标识列)
subSource_id
tb_subject(课题)
tb_subType(课题类型)
id(标识列)
subType_id
tb_subject(课题)
4.3操作流程
立题流程是教师添加一个课题,然后再由管理员进行审核,通过初审和终审则进入选题库。
立题流程如图4.1所示
图4.1立题流程图
5系统实现
5.1建立数据库
数据使用SQLServer2005,数据名为:
graduate。
5.2程序设计
5.2.1主界面
主界面分为上、左、右三部分,其中上边为显示系统系统及用户信息,左边为菜单栏,右边为主要展现页面,如图5.1所示。
图5.1主页面
5.2.2基本的实现类
通过hibernate提供的hibernateTemplat可以执行hql语句,在基类中分别实现要调用的方法。
其中主要的方法如下所示:
publicvoiddelete(Objectentity){this.getHibernateTemplate().delete(entity);}
publicvoiddelete(Class
>clazz,Serializableid){if(get(clazz,id)!
=null)
this.getHibernateTemplate().delete(get(clazz,id));}
publicintcount(finalStringhql,Object...params){
Listlist=getHibernateTemplate().find(hql,params);
if(list.size()>0){returnlist.get(0).intValue();}
return0;}
publicListfindEntityListByHql(Stringhql,Object...params){
returnthis.getHibernateTemplate().find(hql,params);}
publicListfind(Stringhql,Object...params){
returngetHibernateTemplate().find(hql,params);
}
publicvoidinsert(Objectentity){this.getHibernateTemplate().save(entity);}
@Autowired
privateHibernateTemplatehibernateTemplate;
publicHibernateTemplategetHibernateTemplate(){returnhibernateTemplate;}
publicvoidsetHibernateTemplate(HibernateTemp