毕业设计管理系统的设计与实现
【摘要】本系统解决以往毕业生毕业设计中遇到的工作效率低,管理难度大和数据统计不方便等问
题。本系统采用软件工程设计思想设计,利用J2EE平台和SQL Server数据库的集合,开发一个基于web技术的B/S结构的毕业设计管理系统。通过该系统实现毕业设计立题、学生选题、教师对选题管理等问题。
【关键词】SQL Server;J2EE;毕业设计管理;B/S结构
The Implementation of Design Subject Selected
System For Graduation Student
XXX
(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 inefficiency 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.It's a system that to manage the graduation design.This system implement the function of adding subject,selecting the subject,and managing the subject. Keywords:SQL SERVER;J2EE;Graduation design management;B/S structure
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作 者 签 名: 日 期: 指导教师签名: 日 期:
使用授权说明
本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名: 日 期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。
作者签名: 日期: 年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名: 日期: 年 月 日
导师签名: 日期: 年 月 日
指导教师评阅书
指导教师评价: 一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、学生掌握专业知识、技能的扎实程度 □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 □ 优 □ 良 □ 中 □ 及格 □ 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 □ 优 □ 良 □ 中 □ 及格 □ 不及格 5、完成毕业论文(设计)期间的出勤情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 指导教师: (签名) 单位: (盖章) 年 月 日
评阅教师评阅书
评阅教师评价: 一、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 评阅教师: (签名) 单位: (盖章) 年 月 日 陕西理工学院
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价: 一、答辩过程 1、毕业论文(设计)的基本要点和见解的叙述情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、对答辩问题的反应、理解、表达情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、学生答辩过程中的精神状态 □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 评定成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 教研室主任(或答辩小组组长): (签名) 年 月 日 教学系意见: 系主任: (签名) 年 月 日
陕西理工学院
1.概述 ...................................................................................................................................................................... 1 1.1背景分析 ....................................................................................................................................................... 1 1.2 毕业设计系统的现状 .................................................................................................................................. 1 2 需求分析 ............................................................................................................................................................. 2 2.1 功能需求 ...................................................................................................................................................... 2 2.2 开发与运行环境 .......................................................................................................................................... 2 2.3 系统实现过程 .............................................................................................................................................. 2 3 总体设计 ............................................................................................................................................................. 3 3.1系统模块设计 ............................................................................................................................................... 3 3.2 数据事项分析 .............................................................................................................................................. 3 3.3 数据库模型图 ............................................................................................................................................. 4 4. 详细设计 ............................................................................................................................................................ 5 4.1 数据库设计 .................................................................................................................................................. 5 4.1.1关系模式 ................................................................................................................................................ 5 4.1.2数据库表的结构定义 ............................................................................................................................ 5 4.2 数据库中关系设计 ...................................................................................................................................... 8 4.3 操作流程 ...................................................................................................................................................... 9 5 系统实现 ........................................................................................................................................................... 10 5.1 建立数据库 ................................................................................................................................................ 10 5.2 程序设计 .................................................................................................................................................... 10 5.2.1 主界面 ................................................................................................................................................. 10 5.2.2 基本的实现类 ..................................................................................................................................... 10 5.2.3 基本的信息管理模块 ......................................................................................................................... 11 5.2.4 登录模块 ............................................................................................................................................. 12 5.2.5 立题模块 ............................................................................................................................................. 14 6 系统测试与性能分析 ....................................................................................................................................... 16 6.1 系统测试方案 ............................................................................................................................................ 16 6.2 系统功能测试 ............................................................................................................................................ 16 总 结 ..................................................................................................................................................................... 19 致谢 ....................................................................................................................................................................... 20 参考文献 ............................................................................................................................................................... 21 外文资料 ............................................................................................................................................................... 22 外文资料翻译 ....................................................................................................................................................... 28 附录A:源码 ....................................................................................................................................................... 32 附录B:软件使用说明书 ................................................................................................................................... 38
陕西理工学院
1.概述
1.1背景分析
毕业设计管理问题是高校教师必须面对的工作,但陕西理工学院各个院系一直使用Excel表格管理、分析毕业设计。使用Excel软件分析统计毕业设计制作情况,该软件存在许多不足,如:立题不灵活,选题必须集中,对于整个院系选题有诸多不便;毕业设计评分也必须集中录入等;统计毕业设计制作情况也不能自动完成。
毕业设计是实现高等学校人才培养目标的重要教学环节,也是培养大学生创新能力、实践能力和创业精神的重要实践环节,是学生提高专业素质和实践能力的综合训练,是对学生大学期间学习效果的全面检验。通过这套毕业设计管理软件可以解决毕业设计过程管理工作中存在的工作效率低,交互性差等问题,对高校管理学生毕业设计意义重大。
因此为了克服上述缺陷,编写一个使实现教师立题、学生选题、教师对选题信息进行管理的系统,再根据各个评分给出综合测评,达到管理自动化、精确化、智能化是非常必要的,因此可以把毕业设计管理系统作为毕业设计的课题,正好可以利用所学知识开发一个毕业设计管理系统来实现毕业设计的管理。
1.2 毕业设计系统的现状
本课题开发的目的在于解决以往毕业设计管理过程中存在的问题,解决效率低、容易出错等问题,从而对毕业设计信息进行更好的管理,对毕业设计的数据进行统计分析。提高各个管理效率,减少教师工作量。
其次,通过本课题可以使自己更进一步的了解软件开发流程,同时对J2EE平台与MS SQL SERVER有进一步的了解,使用更加熟练。
第 1 页 共 49 页
陕西理工学院
2 需求分析
2.1 功能需求
高等院校的毕业设计涉及到了教师立题、学生选题、课题管理功能,这些功能则需要教研室、办学层次、课题类型、课题来源、教师、学位、专业、专业方向、教师、学生和课题等信息多种信息的支持。从管理的角度可以将毕业设计管理系统分为八个部分:课题信息管理、职称学位管理、专业信息管理、用户信息管理、立题信息管理、选题信息管理、其他信息管理和统计信息管理。课题信息管理、职称学位管理、专业信息管理、用户信息管理、立题信息管理、选题信息管理和其他信息管理包括这些信息的添加、删除、修改及查询操作;统计信息包括学生人数信息、学生选题数目、题目来源、题目类型、毕业论文(设计)的篇数统计等信息的操作。核心功能主要为教师立题、学生选题、课题管理。
2.2 开发与运行环境
毕业设计管理系统的开发与运行环境如下: 开发环境:Window 7+JDK 6.0 开发工具:MyEclipse 6.5
数据库管理系统:MS SQL Server 2005 服务器:tomcat 6.0
运行环境:Window 98/ME/2000/XP/7以及Linux
2.3 系统实现过程
首先根据系统功能分析设计出数据库,包括各个数据表和数据表关系图的详细结构。
实现功能模块时,因为要实现教师立题、学生选题以及选题管理模块,故应先将职称、学位、专业信息、教研室、办学层次、课题类型、课题来源这些独立模块分别实现,其次实现独立模块分别实现,在实现学生、教师模块,最后实现立题、课题管理模块。即在这里分别对系统各个功能模块分别对立设计和调试,最后将各个模块通过菜单栏集成到一起,最后进行系统整体设计的调试。
在访问数据库时,本系统采用hibernate实现数据库的操作,在基本实现类中实现数据库的各种访问操作,其他的类直接或间接继承基本类。这种实现方式可以减少代码冗余,避免数据库的反复连接,从而提高系统的开发效率。
第 2 页 共 49 页
陕西理工学院
3 总体设计
3.1系统模块设计
根据系统功能分析,得到如图3.1所示的系统功能模块结构图。
课题管理立题信息管理初次审核最终审核选题列表选题信息管理毕业设计管理系统的设计与实现选题管理管理学生用户信息管理管理教师管理专业专业信息管理管理方向管理职称职称学位管理管理学位课题信息管理管理类型管理来源管理教研室其他信息管理管理办学层次 图3.1系统功能模块图
3.2 数据事项分析
根据系统的功能,模块结构和管理流程,以及毕业设计管理系统的需求,总结出如下的数据项: 1)学位信息数据:学位代码,学位名称。
2)教研室信息数据:教研室代码,教研室名称。 3)专业信息数据:专业代码,专业名称。 4)专业方向信息数据:方向代码,方向名称。
5)办学层次信息数据:办学层次代码,办学层次名称。 6)职称信息数据:职称代码,职称名称。
7)课题来源信息数据:课题来源代码,课题来源名称。 8)课题类型信息数据:课题类型代码,课题类型名称。
9)教师信息数据:工号,教师姓名,性别,职称,所属教研室,联系电话,电子邮件地址,是 否为管理员,学位信息,登录密码。
10)学生信息数据:学号,姓名,性别,所在年级,专业信息,专业方向信息,层次类别,联 系电话,电子邮件,登录系统口令,是否选题标志,毕业年份,指导教师成绩,评阅成绩, 答辩成绩1,答辩成绩2,答辩成绩3,答辩成绩4,答辩成绩5,答辩平均成 绩,百分制 总成绩,五级总成绩。
第 3 页 共 49 页
陕西理工学院
11)选题信息数据:课题编号,立题教师,课题名称,所属专业信息,所属专业方向信息,课 题来源信息,课题类型信息,课题完成地点,完成课题所需课时,课题内容的描述,课题 已具备的条件,完成人具备的条件,最终成功形式,初审意见,终审意见,立题时间,初 审标志,初审时间,终审标识,终审时间,选该选题学生,该选题是否已选,老题还是新 题,老题题号。
3.3 数据库模型图
根据系统需求,分析出数据库模型图,如如3.2所示。
办学层次(tb_level)PK 学生信息(tb_student)PK FK1FK2FK3 idstudentNostuNamesexlevel_idInterested_idmajor_idtelphoneemailpasswordelectiv_flag grade2tutorResultestimatorResultappraiser1idlevelNolevelName专业信息(tb_major)PK idmajorNomajorName专业方向(tb_interested)PK idinterestedNointerestedName选题信息(tb_subject)职称信息(tb_title)PK idtitleNotitleName学位信息(tb_degree)PK教师信息(tb_teacher)PK FK1FK2FK3 idteacherNoteacherNamesextitle_iddepartment_iddegree_idtelphoneemailadminpassword iddegreeNodegreeName课题来源(tb_subSource)PK idsourceNosourceName教研室(tb_department)PK iddepartNodepartName课题类型(tb_subType)PK idtypeNotypeName FK1FK2FK3FK4FK5FK6 idteacher_idmajor_idinterested_idsubSource_idsubType_idstudent_idsubjectNosubjectNamestudentNumaddresstimes contentconditionrequestresultcheckUpFirstcheckUpLastfillInDatecheckFlage1checkDate1checkFlage2checkDate2electivFlagoldOrNewoldSubjectNo图3.2数据库模型图
第 4 页 共 49 页
陕西理工学院
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。
表4.1 tb_degree表结构
字段名称 id
degreeNo degreeName
类型 int
nvarchar nvarchar
长度 4 20 30
能否为空 Not Null Not Null Not Null
备注 标识列,主键 学位代码 学位名称
教研室信息数据表:表名(tb_department),结构见表4.2。
表4.2 tb_department表结构
字段名称 id
departNo departName
类型 int
nvarchar nvarchar
长度 4 20 30
能否为空 Not Null Not Null Not Null
备注 标识列,主键 教研室代码 教研室名称
专业信息数据表:表名(tb_major),结构见表4.3
第 5 页 共 49 页
陕西理工学院
表4.3tb_major表结构
字段名称 id
majorNo majorName
类型 int
nvarchar nvarchar
长度 4 20 30
能否为空 Not Null Not Null Not Null
备注 标识列,主键 专业代码 专业名称
专业方向数据表:表名(tb_interested),结构见表4.4
表4.4 tb_interested表结构
字段名称 id
interestedNo interestedName
类型 int
nvarchar nvarchar
长度 能否为空 4 20 30
Not Null Not Null Not Null
备注 标识列,主键 专业方向代码 专业方向名称
办学层次数据表:表名(tb_level),结构见表4.5
表4.5 tb_level表结构
字段名称 id
levelNo levelName
类型 int
nvarchar nvarchar
长度 4 20 30
能否为空 Not Null Not Null Not Null
备注 标识列,主键 办学层次代码 办学层次名称
职称数据表:表名(tb_title),结构见表4.6
表4.6 tb_title表结构
字段名称 id titleNo titleName
类型 int
nvarchar nvarchar
长度 4 20 30
能否为空 Not Null Not Null Not Null
备注 标识列,主键 职称代码 职称名称
课题来源数据表:表名(tb_subSource),结构见表4.7
表4.7 tb_subSource表结构
字段名称 id
sourceNo sourceName
类型 int
nvarchar nvarchar
长度 4 20 30
能否为空 Not Null Not Null Not Null
备注 标识列,主键 课题来源代码 课题来源名称
课题类型数据表:表名(tb_subType),结构见表4.8
表4.8 tb_subType表结构
字段名称 id
typeNo typeName
类型 int
nvarchar nvarchar
长度 4 20 30
能否为空 Not Null Not Null Not Null
第 6 页 共 49 页
备注 标识列,主键 课题类型代码 课题类型名称
陕西理工学院
教师数据表:表名(tb_teacher),结构见表4.9
表4.9 tb_teacher表结构
字段名称 id
teacherNo teacherName sex Title_id
department_id degree_id telphone email admin password
类型 int
nvarchar nvarchar nvarchar int int int
nvarchar nvarchar boolean nvarchar
长度 4 20 30 20 4 4 4 30 20 1 20
能否为空 Not Null Not Null Not Null Not Null Null Null Not Null Not Null Not Null Not Null Not Null
备注
标识列,主键 教师工号 教师姓名 性别
职称代码(外键)
所属教研室代码(外键) 学位信息(外键)
联系电话 电子邮件地址 是否是管理员
登录密码
学生数据表:表名(tb_student),结构见表4.10
表4.10 tb_student表结构
字段名称 id
studentNo stuName sex
stuClass
类型 长度 能否为空 4 20 20 20 4 4 4 4 20 20 20 1 4 4 4 4 4 4 4 4 4 4 20
Not Null Not Null Not Null Not Null Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Null Null Null Null Null Null Null Null Null Null Null
备注
标识列,主键
学号 姓名 性别 所在年级 专业信息(外键)
层次类别(外键)---如本科、专升本
专业方向信息(外键)
联系电话 电子邮件地址 登录系统口令 是否选题标志 毕业年份 指导教师成绩 评阅成绩 答辩成绩1 答辩成绩2 答辩成绩3 答辩成绩4 答辩成绩5 答辩平均成绩 百分制总成绩 五级总成绩
int
nvarchar nvarchar nvarchar int
major_id int level_id int interested_id int telphone nvarchar email nvarchar password nvarchar electiv_flag boolean grade2 int tutorResult int estimatorResult int appraiser1 int appraiser2 int appraiser3 int appraiser4 int appraiser5 int average int finallyPersent int finallyFive nvarchar
第 7 页 共 49 页
陕西理工学院
课题数据表:表名(tb_subject),结构见表4.11
表4.11 tb_subject表结构
字段名称 id
subjectNo teacher_id subjectName major_id interested_id subSource_id subType_id address times content condition request result
checkUpFirst checkUpLast fillInDate checkFlage1 checkDate1 checkFlage2 checkDate2 student_id electivFlag oldOrNew oldSubjectNo
类型 int
nvarchar int
nvarchar int int int int
nvarchar int
nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar datetime boolean datetime boolean datetime int boolean boolean nvarchar
长度 能否为空 4 20 4 20 4 4 4 20 20 1 50 50 50 50 50 50 8 1 4 1 8 4 1 1 20
Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null
备注
标识列,主键 课题编号
立题教师编号(外键)
课题名称
所属专业代码(外键) 所属方向代码(外键) 课题来源(外键) 课题类型(外键) 课题完成地点 完成所需课时数 课题内容的描述 课题已具备的条件 完成人具备的条件 最终成果形式 初审意见 终审意见 立题时间 初审标志 初审时间 终审标志 终审时间 该选题学生学号(外键)
该选题是否已选 老题还是新题 老题题号
4.2 数据库中关系设计
数据库中的表与表之间的关系如表4.12所示
表4.12 关系
主键表
tb_level(办学层次) tb_major(专业)
主键表字段 id(标识列) id(标识列)
外键表字段 level_id major_id major_id interested_id interested_id title_id degree_id department_id student_id
第 8 页 共 49 页
外键表 tb_student(学生) tb_student(学生) tb_subject(课题) tb_student(学生) tb_subject(课题) tb_teacher(教师) tb_teacher(教师) tb_teacher(教师) tb_subject(课题)
tb_interested(专业方向) id(标识列) tb_title(职称) tb_degree(学位) tb_department(教研室) tb_student(学生)
id(标识列) id(标识列) id(标识列) id(标识列)
陕西理工学院
tb_teacher(教师) tb_subType(课题类型)
4.3 操作流程
id(标识列) id(标识列)
teacher_id subSource_id subType_id
tb_subject(课题) tb_subject(课题) tb_subject(课题)
tb_subSource(课题来源) id(标识列)
立题流程是教师添加一个课题,然后再由管理员进行审核,通过初审和终审则进入选题库。立题流程如图4.1所示
开始教师添加一个课题管理员进行初次审核初审Y管理员进行最终审核N教师进行修改终审Y进入选题库N废弃选题结束
图4.1立题流程图
第 9 页 共 49 页
陕西理工学院
5 系统实现
5.1 建立数据库
数据使用SQL Server 2005,数据名为:graduate。
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(clazz,id)!=null) this.getHibernateTemplate().delete(get(clazz,id));} public int count(final String hql,Object ...params){ List 第 10 页 共 49 页 陕西理工学院 5.2.3 基本的信息管理模块 基本信息包括:专业信息、专业方向、职称、学位、课题类型、课题来源、教研室、办学层次等信息,因为起实现类似,在此只对教研室信息的管理做出说明。 添加窗口如图5.2所示,列表如图5.3所示,修改窗口如如5.4所示。 图5.2 添加教研室窗口 图5.3 教研室列表窗口 图5.4 修改教研室窗口 第 11 页 共 49 页 陕西理工学院 主要实现代码如下: /** * 添加一个教研室信息 * @return 教研室列表页面 */ public String add() { getDepartmentService().saveOrUpdate(getDepartment()); getPage().setData(getDepartmentService().findByPage(getPage())); return \"department-list\";} /** * 查看分页信息的教研室信息 * @return page.data */ public String list() { getPage().setData(getDepartmentService().findByPage(getPage())); return \"department-list\";} /** * 修改一个教研室信息 * @return 教研室列表页面 */ public String update() { getDepartmentService().saveOrUpdate(getDepartment()); getPage().setData(getDepartmentService().findByPage(getPage())); return \"department-list\";} 5.2.4 登录模块 登录分别为管理员、教师和学生三个角色登录,在登录的时候用户须选择角色进行登录,登录界面如图5.5所示。 图5.5 登录界面 第 12 页 共 49 页 陕西理工学院 主要实现代码如下: public String login() throws IOException{ HttpServletResponse response = ServletActionContext.getResponse(); this.beforAnsy(); PrintWriter out = response.getWriter(); HttpSession session=ServletActionContext.getRequest().getSession(); String srand = (String) session.getAttribute(\"code\"); //获取验证码 String uname = getTeacher().getTeacherNo(); //获取用户名 String pwd = getTeacher().getPassword(); //获取密码 String s = getTeacher().getCore(); //获取用户角色 if(!getVerifycode().equalsIgnoreCase(srand)){ out.print(\" out.print(\"\");} else{ if(s==\"student\"||s.equals(\"student\")){ //判断如果角色是学生的话则进行学生登录校验 if(getStudentService().checkLogin(uname, pwd)){ setStudent(getStudentService().getByNo(uname)); session.setAttribute(\"user\return \"index2\"; }else{ out.print(\"\"); out.print(\"}\");}} else if(s==\"teacher\"||s.equals(\"teacher\")){ //如果角色是教师的话则进行教师教研登录 if(getTeacherService().checkLogin(uname, pwd)){ setTeacher(getTeacherService().getByNo(uname)); session.setAttribute(\"user\return \"index1\"; }else{ out.print(\"\"); out.print(\"}\");} }else{ //如果角色是管理员的话就进行管理员登录校验 if(getTeacherService().checkLogin(uname, pwd, true)){ setTeacher(getTeacherService().getByNo(uname)); 第 13 页 共 49 页 陕西理工学院 session.setAttribute(\"user\return \"index\"; }else{ out.print(\"\"); out.print(\"}\");}}} return null;} 5.2.5 立题模块 (1)添加课题如图5.6所示。 图5.6 添加课题 添加课题主要代码如下: public String add() { getSubjectService().saveOrUpdate(getSubject()); getPage().setData(getSubjectService().findByPage(getPage())); return \"subject-list\";} (2)初次审核和最终审核 初次审核和最终审核实现基本一致,故在此只展现最终审核。点击左侧的菜单最终审核即可跳转至要审核的列表页面,如5.7图所示。再点击【终审】按钮即可跳转至审核页面,如图5.8所示。 第 14 页 共 49 页 陕西理工学院 图5.7 最终审核列表 图5.8 最终审核 主要代码如下所示: public String check2(){ Subject subject = getSubjectService().getById(getSubject().getId()); subject.setCheckDate2(getSubject().getCheckDate2()); //设置初审日期 subject.setCheckUpLast(getSubject().getCheckUpLast()); //设置初审意见 subject.setCheckFlage2(getSubject().isCheckFlage2());//设置最终审核标志 getSubjectService().saveOrUpdate(subject); getPage().setData(getSubjectService().findByPage2(getPage())); return \"subject-list2\"; } 第 15 页 共 49 页 陕西理工学院 6 系统测试与性能分析 6.1 系统测试方案 根据系统测试目的结合面向对象的方法,给出以下的测试方案: (1)先对对立模块进行测试,因为不能保证独立模块的正确性也就无法保证与之关联的模块的正确性,如果独立模块在开发的后期发现,则要改动的地方相对会很多,所以在开发非独立模块之前要确独立模块已开发完成且测试正确。 (2)设计测试测试用例时,给出一个测试预期结果,测试的结果要和预期结果一致才可以。在测试之时要考虑到不合法输入的处理。 6.2 系统功能测试 根据系统功能,采用黑盒测试方法,分别对专业信息、专业方向、职称、学位、课题类型、课题来源、教研室、办学层次、学生、教师、立题、选题分别做出测试,该系统均能实现以上功能。 由于功能太多,故在这里只展现部分测试。 (1)专业信息管理测试 添加一个专业代码为003,专业名称为网络工程,运行前的专业列表如图6.1所示,添加成功后的界面如图6.2所示。 图6.1 添加前的专业列表界面 图6.2 添加后的专业列表界面 (2)立题管理测试 添加一个为立题测试的课题,然后分别做出初审和终审,审核完成后查看其是否已进入选题库。在添加选题的时候假如只输入课题名,则不能提交,会有如图6.3所示;当成功添加一个课题后则可以在初审列表中查看,如图6.4所示;初审完成后则会出现在终审列表,如图6.5所示。终审完成后在学生选题列表中就可以找到该选题,如图6.6所示。 第 16 页 共 49 页 陕西理工学院 图6.3 添加课题非法输入 图6.4 初审列表 图6.5 初审列表 图6.6 选题列表 (3)选题测试 当学生用户登录成功以后就可以对自己的选题进行查看,如果没有选题则可以进行选题。如果该学生没有进行选题则会弹出对话框进行提示,如图6.7所示;如果学生已经选题,再进行选题的话同样会提示,如图6.8所示。 图6.7 未选题提示 第 17 页 共 49 页 陕西理工学院 图6.8 重复选题提示 第 18 页 共 49 页 陕西理工学院 总 结 经过这段时间的努力,完成了毕业设计管理系统,并且达到了最初的期望设计要求。系统实现了毕业设计立题、学生选题以及课题管理的功能。将这些信息存储在数据库中,并能对其相应的修改、删除。由于时间爱你仓促以及本人水平有限,本系统还有一些不完善之处,即系统不能实现批量处理毕业设计成绩的添加,恳请老师给出宝贵的意见和建议。我会继续努力学习知识,完善自我,进一步努力去改进系统,使其更符合实际的使用要求,达到真正客户需要的系统。 本次为期三个月的毕业设计是大学四年所学知识的综合运用,是理论与实践相结合的产物,在此期间,不但巩固了所学的专业知识。而且还学到了许多课堂上和书本上无法学到的实践知识,提高了自学能力,增强了专业技术的水平,为今后从事本专业的工作打下一定的基础。 第 19 页 共 49 页 陕西理工学院 致谢 大学的学习生活即将随着本次毕业设计结束而结束,在此,我要感谢所有曾经教导过我的老师和关心过我的同学,他们在我成长过程中给予了我很大的帮助。 本文能够成功的完成,要特别感谢我的指导老师XXX。认真负责的工作态度,严谨的治学精神和身后的理论与专业水平使我受益匪浅。本次毕业设计从选题到完成,每一步都是在李老师的指导和帮助下完成的,倾注了李老师大量的心血。李老师给我的很大的帮助,使我得到了不少的提高,这对于我以后的工作和学习中是一笔巨大的财富,感谢他的耐心辅导。 在此,瑾向李老师表示崇高的敬意和衷心的感谢! 另外,在系统开发过程中党欣同学也给予我很大的帮助,解决了不少技术问题,使的系统能及时开发完成,在这里表示感谢。 本论文的顺利完成,离不开各位老师、同学和朋友的关心及帮助。朋友、同学之间的相互帮助、相互关怀让我十分感动。每当回想起在一块讨论系统时的一个个片段、生活中不起眼的点滴,都会让人感到无比亲切、温馨。祝和我一起走过大学四年的朋友、同学一生幸福、前程似锦。 在此一并像他们表示感谢! 第 20 页 共 49 页 陕西理工学院 参考文献 [1] 刘芳.数据库原理及应用[M]. 北京理工大学出版社.2006. [2] 徐小青,路哓村等译.MySQL完全手册[M].北京:电子工业出版社,2004. [3] 林上杰,林康司.JSP2.0技术手册[M].北京:电子工业出版社,2004.5. [4] 张海藩编著.软件工程导论[M].北京:清华大学出版社,2003. [5] 夏昕,曹晓钢,唐勇.深入浅出Hibernate[M].北京:电子工业出版社,2005. [6] 李磊,程立,周悅虹译.Spring in Action中文版[M].北京:人民邮电出版社,2005. [7] 张铭泽等译.JavaScript权威指南[M].北京:机械工业出版社,2001. [8] 蔡敏,徐慧慧,黄丙强编著.UML基础与Rose建模教程[M].北京:人民邮电出版社,2008. [9] 张龙祥等.面向对象程序设计[M].北京:人民邮电出版社,2002年 [9] Craig Walls,Ryan Breidenbach.Spring in Action[M].美国:Manning Publications Co,2008. [10] JAMES W. COOPER.The Design Patterns[M].美国:IBM Thomas J.Watson Researcher Center,1998. 第 21 页 共 49 页 陕西理工学院 外文资料 JSP and WEB technology 1 JSP Introduction JSP (JavaServer Pages) is a Java-based scripting technology. Is advocated by Sun Microsystems Inc., together with a number of companies involved in the establishment of a dynamic web page technology standards. JSP technology is somewhat similar to ASP technology, It is a traditional HTML page file (*. htm, *. html) to insert Java program segment (Scriptlet) and JSP tag (tag), To form the JSP file(*jsp). Web development with JSP is a cross-platform applications that can run under Linux, but also in other operating systems. In the JSP of the many advantages, one of which is that it will be HTML encoded Web page from the business logic separated effectively. JSP access with reusable components, such as Servlet, JavaBean and Java-based Web applications. JSP also supports directly in the Web page embedded Java code. JSP can be used two ways to access documents: JSP documents sent by the browser request, the request sent to the Servlet. JSP technology uses Java programming language, XML-type tags and scriptlets, to have a package deal with the logic of dynamic pages. Page tags and scriptlets can also exist in the server access to the resources of the application logic. JSP logic and Web page design and display isolated and support reusable component-based design, Web-based applications more quickly and easily developed. The Web server when meets visits the JSP homepage the request, first carries out segment, will then carry out the result code to return together with JSP in the document HTML for the customer. The insertion Java segment may operate the database, again the directional homepage and so on, realizes the function which the establishment dynamic homepage needs. JSP and Java Servlet are the same, is in the server end execution, usually returns to this client side is a HTML text, therefore client side, so long as has the browser to be able to glance over. The JSP page is composed of the HTML code and the inserting Java code. The server in the page by the client side was requested that later will carry on processing to these Java code, will then produce the HTML page will return gives the client side the browser. Java Servlet is the JSP technology base, moreover the large-scale Web application procedure's development needs Java Servlet and the JSP coordination can complete. JSP had the Java technology simply easy to use, complete object-oriented, had the platform independency, and safe reliable, mainly faced Internet's all characteristics. 2 JSP computing technique To carry on the dynamic website conveniently fast the development, JSP has made the improvement in the following several aspects, causes it to become builds the cross platform fast the dynamic website first choice plan. 2.1 carries on the content production and the demonstration separates With the JSP technology, the Web page development personnel may use HTML or the XML marking design and the formatted final page, and uses the JSP marking or the tootsy produces on page's dynamic content originally. Production content's logic is sealed in marks and in the JavaBeans module, and ties up in the script, all scripts in server end movement. Because core logic is sealed in marks and in JavaBeans, therefore the Web administrative personnels and the page designer, can edit and use the JSP page, but does not affect the content the production. In the server end, the JSP engine explained that the JSP marking and the script, produce the content which requested, and (or XML) page's form transmits the result by HTML the browser. This both are helpful in the author protects own code, and can guarantee 第 22 页 共 49 页 陕西理工学院 any based on the HTML Web browser's complete usability. 2.2 may entrust with heavy responsibility the module The overwhelming majority JSP page relies on may entrust with heavy responsibility, the cross platform module (JavaBeans or Enterprise the JavaBeans module) carries out complex processing which the application procedure requests. The development personnel can share and exchange the execution ordinary operation the module, or causes these modules uses for more users and the customer association. Has accelerated the overall development process based on module's method, and causes each kind of organization obtains balanced in their existing skill and in the optimized result development endeavor. 2.3 uses marking The Web page development personnel will not be the familiar script language programmers. The JSP technology has sealed many functions, these functions are easy to use, marking to carry on the dynamic content production with JSP in the related XML to need. The standard JSP marking can visit and the instantiation JavaBeans module, the establishment or the retrieval module attribute, downloads Applet, as well as the execution difficulty with codes and the time-consuming function with other methods. 2.4 adapts the platform Nearly all platforms support Java, JSP+JavaBeans to be possible to pass unimpeded nearly under all platforms. Transplants from a platform to other platform, JSP and JavaBeans does not even need to translate, because the Java byte code is standard has nothing to do with the platform. 2.5 database connection In Java connects the database the technology is the JDBC, Java procedure is connected through the JDBC driver and the database, operations and so on execution inquiry, extraction data. Sun Corporation has also developed JDBC-ODBC bridge, uses this technical Java procedure to be possible to visit has the ODBC driver database, at present the majority database systems have the ODBC driver, therefore the Java procedure can visit such as Oracle, Sybase, MS SQL Server and databases and so on MS Access. In addition, through the development marking storehouse, the JSP technology may further expand. The third party development personnel and other personnel may found their marking storehouse for the commonly used function. This enables the Web page development personnel to be able to use the familiar tool and to be similar to marking same carries out the specific function component to carry on the work. The JSP technology very easy conformity to many kinds of application architecture, to use the extant tool and the skill, and can expand to the support enterprise distributional application. 3 Eclipse function synopsis More and more Java development personnel already started the productivity which and the quality income appreciates Eclipse JDT to provide. It was the Java editor provides grammar Gao Liang to demonstrate that the formatting, the fold, the content were auxiliary, code template and so on many functions. It grows unceasingly available restructuring and the code generation function set permits you in a higher rank the operation code, and automated usual code intensity duty and easy wrong duty. Moreover, in develops the code and uses JDT to compile and to carry out the JUnit test built-in support carries on the unit testing after the code, may use Eclipse the first-class Java debugger debugging when the movement meets any question. Besides JDT, Eclipse SDK- the most popular Eclipse.org downloading - also contains Plug-in Development Environment(PDE). PDE used the specific function to expand JDT 第 23 页 共 49 页 陕西理工学院 to construct the Eclipse plug-in unit - based on the Eclipse application procedure basic construction agglomeration. In fact, uses the tool which provides by Eclipse itself to be able to surmount the Java development, may expand the existing Eclipse application procedure, or even founds the brand-new application procedure. Eclipse by a script level constitution, contains in many functional modules or the Eclipse terminology so-called “the plug-in unit”. The plug-in unit is provides all functions in the Eclipse application procedure the module. They cooperate through its API to pay the final outcome together. In Eclipse, even the most foundation's function, for instance the search and the start installment's plug-in unit, seals in the plug-in unit. In order to expand the existing Eclipse function or carry on the construction in above, the plug-in unit the concrete expansion contribution for the expansion spot which will expose by other plug-in units. Usually, the plug-in unit concentrates the specific region responsibility, and gives through or a many expansion way other responsibility designation other plug-in units. For example, a plug-in unit allows you parallel to compare two documents visibly the contents, but it will not care how to read these documents even how to explain these document structure; This is other plug-in unit's work. When compared with two documents, this plug-in unit first inspects whether to have another plug-in unit to be possible to explain these document structure. If found one, it to the plug-in unit inquiry related file organization information which found, and used this information in the comparison process. May see that the modular construction was Eclipse has provided the huge flexibility, and provided one to be possible to support the massive application procedure platform which the original design has not expected. 4 Structs function synopsis Struts is a MVC frame (Framework), uses in developing Java fast the Web application. Struts realizes the key point in C(Controller), Action which and we have custom-made including ActionServlet/RequestProcessor, was also V(View) provides a series of rows to have custom-made the label (Custom Tag). Spring is a light vessel (light-weight container), its core is the Bean factory (Bean Factory), with constructs M(Model) which we need. Above this foundation, Spring has provided AOP (Aspect-Oriented Programming, face stratification plane programming) realization, provides under the non-management environment with it to declare services and so on way business, security; Is more convenient to Bean factory expansion ApplicationContext we to realize the J2EE application; DAO/ORM realizes facilitates us to carry on the database the development; Web MVC and Spring Web have provided Java the Web application frame or carries on the integration with other popular Web frame. That is may a both use, achieve both own characteristic carries on supplementary. Structs is the kind which, servlet and the JSP mark a group cooperates mutually, they compose the MVC 2 designs which may entrust with heavy responsibility. This definition expressed that Struts is a frame, but is not a storehouse, but Struts has also contained the rich mark storehouse and the independence in this frame work utility program class. Client browser (customer browser), the request founds an event from customer browser's each HTTP. The Web vessel will use a HTTP response to make the response. Controller (controller), the controller receive from browser's request, and decided that sends out where this request. Speaking of Struts, the controller is an order design pattern which realizes by servlet. struts-config.xml document disposition controller. Service logic, the service logic renewal model's condition, and helps the control application procedure the flow. Speaking of Struts, this is through takes the actual service logic “thin” the packing Action kind to complete. 第 24 页 共 49 页 陕西理工学院 Model (model) condition, model expression application procedure condition. Service object renewal application procedure condition. ActionForm bean in conversation level or request level expression model condition, but is not in the lasting level. The JSP document uses JSP to mark the read from the ActionForm bean information. View (view), the view is a JSP document. And does not have the flow logic, does not have the service logic, also does not have the model information -- Only then marks. The mark causes Struts is different with other frames (for example Velocity) one of factors. Just like the Struts controller is (event usually is HTTP post) maps the event kind of servlet. you to expect - the air-operated controller use configuration files to cause you not to need to carry on to these values the hard code. The time has changed, but method as before. The Action kind, ActionForm maintains the Web application procedure the conversation condition. ActionForm is one abstract class, must found this kind of subclass for each input form model. When I said when input form model, what refers to the ActionForm expression is establishes or in the renewal general sense data by the HTML form.The Action kind is service logic packing. A Action kind of use is transforms HttpServletRequest into the service logic. Must use Action, please found its subclass and covers process () the method. ActionServlet (Command) will use perform () the method the parametrization kind to transmit for ActionForm. Still did not have too many repugnant request.getParameter () to transfer. When the event progresses to this step, the input form data (or HTML form data) has been withdrawn from the request class and shifts to the ActionForm kind. Considered that a Action kind of another way is the Adapter design pattern. The Action use will be “a kind of connection will transform another connection which will need for the client. Adapter enables the kind the joint operation, if does not have Adapter, then these kinds will be unable because of the incompatible connection the joint operation.”. In this example's client is ActionServlet, it knows nothing about to our concrete service class connection. Therefore, Struts has provided a service connection which it can understand, namely Action. Through expands Action, we cause our service connection and the Struts service connection maintain compatible. 5 CSS synopsis The CSS edition method is the same with HTML, may also be any text editor or the homepage edition software, but also has uses for to edit CSS specially the software. If you write the CSS sentence regards the exterior cascading style sheet, but transfers in the HTML document, then its extension saves .css to be possible. Initially the technical personnel found out HTML, mainly stresses on the definition content, for instance expressed that a paragraph, indicates the title, but excessively has not designed HTML the typesetting and the contact surface effect. Along with the Internet rapid development, HTML is widely applied, the surfer people hoped certainly that the homepage makes attractive, therefore the HTML typesetting and the contact surface effect's limitation exposes day by day. In order to solve this problem, the people also took many tortuous paths, has used some not good method, for instance increases many attribute results to HTML becomes the code very extremely fat, turns the picture the text, excessively many comes the typesetting using Table, expresses the white space with the blank picture and so on. Appears until CSS. CSS may be a homepage design breakthrough, it has solved the homepage contact surface typesetting difficult problem. May such say that HTML Tag is mainly defines the homepage content (Content), but CSS decided how these homepage content does demonstrate (Layout). The CSS English is Cascading Style Sheets, Chinese may translate the tandem cascading style sheet. CSS may divide into three kinds according to its position: In inlays the style (Inline Style), internal cascading style sheet 第 25 页 共 49 页 陕西理工学院 (Internal Style Sheet), exterior cascading style sheet (External Style Sheet). 6 HTML function synopsis Hyper Text Markup the Language hypertext mark language is one kind uses for to manufacture the hypertext documents the simple mark language. The hypertext documents which compiles with HTML are called the HTML documents, it can the independence in each kind of operating system platform (for example UNIX, WINDOWS and so on). HTML has served as since 1990 on World Wide Web the information to express the language, uses in describing the Homepage form design and it and on WWW the other Homepage linked information. The HTML documents (i.e. the Homepage source document) was one has laid aside the mark ASCII text document, usually it had .html or the .htm document extension. Produces HTML documents mainly to have the following three ways: 1. the manual direct compilation (e.g. ASCII text editor which or other HTML edition tool likes with you). 2. will have other form documents through certain format conversion tool (for example the WORD documents) to transform the HTML documents. 3. by the Web server (or said that the HTTP server) one only then real-time dynamic produces. the HTML language is through uses each kind of mark (tags) to mark the documents the structure as well as marks the ultra chain (Hyperlink) the information. Although the HTML language described the documents structure form, but how can't define the documents information to precisely demonstrate and arrange, but is only suggested how the Web browser (for example Mosiac, Netscape and so on) should demonstrate and arrange these information, is decided finally in front of user's demonstration result by the Web browser's demonstration style and to the mark explanatory ability. Why is the identical documents the effect which demonstrated in the different browser meets is dissimilar. At present the HTML language's edition is 2.0, it is based on SGML (Standard Generalized Markup Language, standard sets at sign language generally, as soon as is applies mechanically describes digitized documents structure and manages its content complex standard) a subset to evolve comes. Although in next edition's standard HTML3.0 (is also called HTML+) to draw up, but some the partial experimental nature draft standard widely has been used, the mostly outstanding Web browser (for example Netscape and so on) can explain in the HTML3.0 part new mark, therefore introduced in this chapter some HTML3.0 new mark has been accepted by the most browsers. 7 Js script language synopsis JS is javascrip, Javascript is one kind the script language which comes by the Netscape LiveScript development, the main purpose is to solve the server terminal language, for instance Perl, carry-over speed question. At that time served the end to need to carry on the confirmation to the data, because the network speed was quite slow, only then 28.8kbps, the confirmation step waste's time were too many. Therefore Netscape browser Navigator has joined Javascript, has provided the data confirmation basic function. The JavaScript official name is “ECMAScript”. This standard by ECMA organization development and maintenance. ECMA-262 is the official JavaScript standard. This standard based on JavaScript (Netscape) and JScript (Microsoft). Netscape (Navigator 2.0) Brendan Eich has invented this language, started from 1996, already appeared in all Netscape and in the Microsoft browser. The ECMA-262 development began in 1996, in 1997 July, the ECMA general meeting has accepted its first edition. Script script uses one specific descriptive language, rests on certain form compilation to be possible the execution document, is also called as great or the batch run document. The script usually may transfer temporarily by the application procedure and carry out. Each kind of script present widely is applied in the homepage design, because the script not only may reduce the homepage the scale and 第 26 页 共 49 页 陕西理工学院 raises the homepage browsing speed, moreover may enrich the homepage performance, like animation, sound and so on. Cites a most common example, when we click in the homepage the E-mail address can transfer Outlook Express or the Foxmail this kind of mail software automatically, is realizes through the script function. Also because of script these characteristics, the human who harbors ulterior motives by some are often using. For example joins some destruction computer system's order in the script, like this works as the user browsing homepage, once transfers this kind of script, will then cause the user the system to come under the attack. Therefore the user should act according to visits homepage the trust degree selective security rank, specially regarding these itself content on the illegal homepage, do not permit the use script easily. Through “the safe establishment” the dialog box, the choice “the script” under option each kind of establishment may with ease realize to script being forbid and begins using. Present's script language is quite many, script language execution generally only with concrete explanation actuator related, so long as therefore on the system has the corresponding language interpreter to be possible to achieve the cross platform. Script (Script), is includes order and so on bind and alias sets, you may save this set are an independent document then in the time which needs carries out, like this may facilitate you in the CS use. The script may save for the suffix named .cfg document places under the cstrike folder, when execution in control bench input: exec (script filename) .cfg then. For instance saves a script is the buys.cfg document, inputs in the control bench: execbuys.cfg may realize the function which we need. Must realize an order, so long as is good this process definition (alias), and assigns a key position for this order, so long as later according to will assign the good key position, may realize this process. All scripts are realize through this method. 第 27 页 共 49 页 陕西理工学院 外文资料翻译 JSP及其WEB技术 1 JSP简介 JSP(JavaServer Pages)是一种基于Java的脚本技术。是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。在JSP 的众多优点之中,其中之一是它能将 HTML 编码从 Web 页面的业务逻辑中有效地分离出来。用 JSP 访问可重用的组件,如 Servlet、JavaBean 和基于 Java 的 Web 应用程序。JSP 还支持在 Web 页面中直接嵌入 Java 代码。可用两种方法访问 JSP 文件:浏览器发送 JSP 文件请求、发送至 Servlet 的请求。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 2 JSP技术方法 为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。 2.1 将内容的生成和显示进行分离 用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容,并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。 2.2 可重用组件 绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 2.3 采用标识 Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 3.4 适应平台 几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。 第 28 页 共 49 页 陕西理工学院 3.5 数据库连接 Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。 3 Eclipse功能简介 越来越多的Java开发人员已经开始欣赏Eclipse的JDT提供的生产率和质量收益。它为Java编辑器提供了语法高亮显示、格式化、折叠、内容辅助、代码模板等许多功能。它不断增长的可用重构和代码生成功能集合允许您在更高的级别上操作代码,并自动化通常的代码密集型任务和易错任务。而且,在开发完代码并使用JDT对编写和执行JUnit测试的内置支持对代码进行单元测试之后,可以使用Eclipse的一流Java调试器调试在运行时遇到的任何问题。除了JDT之外,Eclipse SDK—最流行的Eclipse.org下载—还包含Plug-in Development Environment(PDE)。PDE使用特定功能扩展了JDT以构建Eclipse插件—基于Eclipse的应用程序的基本构造块。事实上,使用由Eclipse本身提供的工具能够超越Java开发,可扩展现有Eclipse应用程序,或者甚至创建全新的应用程序。 Eclipse由一个小程序层构成,其中包含许多功能模块或Eclipse术语中所谓的“插件”。插件是在Eclipse应用程序中提供所有功能的组件。它们通过其API一起协作来交付最终结果。在Eclipse中,甚至最基础的功能,比如查找和启动安装的插件,都封装在插件中。为了扩展现有Eclipse功能或在其上进行构建,插件将具体的扩展贡献给由其他插件暴露的扩展点。通常,插件专注于特定区域的责任,并通过一个或多个扩展点的方式将其他责任指派给其他插件。例如,一个插件允许您可视地并行比较两个文件的内容,但它不会关心如何读取这些文件甚至如何解释这些文件的结构;这是其他插件的工作。比较两个文件时,该插件首先检查是否有另一个插件可以解释这些文件的结构。如果找到一个,它就会向找到的插件询问有关文件结构的信息,并在比较过程中使用该信息。 可以看到,模块化架构为Eclipse提供了巨大的灵活性,并提供了一个可以支持原设计者没有预料到的大量应用程序的平台。 4 Structs功能简介 Struts是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。就是说可将两者一起使用,达到将两者自身的特点进行互补。 Structs 是一组相互协作的类、servlet 和 JSP 标记,它们组成一个可重用的 MVC 2 设计。这个定义表示 Struts 是一个框架,而不是一个库,但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类。 Client browser(客户浏览器),来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP 响应作出响应。 Controller(控制器),控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而言,控制器是以 servlet 实现的一个命令设计模式。 struts-config.xml 文件配置控制器。 业务逻辑,业务逻辑更新模型的状态,并帮助控制应用程序的流程。就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。 Model(模型)的状态,模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm 第 29 页 共 49 页 陕西理工学院 bean 在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。 View(视图),视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息 -- 只有标记。标记是使 Struts 有别于其他框架(如 Velocity)的因素之一。 Struts 的控制器是将事件(事件通常是 HTTP post)映射到类的一个 servlet.正如您所料 —— 控制器使用配置文件以使您不必对这些值进行硬编码。时代变了,但方法依旧。 Action类,ActionForm 维护 Web 应用程序的会话状态。 ActionForm 是一个抽象类,必须为每个输入表单模型创建该类的子类。当我说 输入表单模型 时,是指 ActionForm 表示的是由 HTML 表单设置或更新的一般意义上的数据。 Action类是业务逻辑的一个包装。 Action 类的用途是将 HttpServletRequest 转换为业务逻辑。要使用 Action ,请创建它的子类并覆盖 process() 方法。 ActionServlet (Command) 使用 perform() 方法将参数化的类传递给 ActionForm .仍然没有太多讨厌的 request.getParameter() 调用。当事件进展到这一步时,输入表单数据(或 HTML 表单数据)已被从请求流中提取出来并转移到 ActionForm 类中。 考虑 Action 类的另一种方式是 Adapter 设计模式。 Action 的用途是“将类的接口转换为客户机所需的另一个接口。Adapter 使类能够协同工作,如果没有 Adapter,则这些类会因为不兼容的接口而无法协同工作。”。本例中的客户机是 ActionServlet ,它对我们的具体业务类接口一无所知。因此,Struts 提供了它能够理解的一个业务接口,即 Action .通过扩展 Action ,我们使得我们的业务接口与 Struts 业务接口保持兼容。 5 CSS简介 CSS的编辑方法同HTML一样,也可以是任何文本编辑器或网页编辑软件,还有专门用来编辑CSS的软件。 如果你写的CSS语句是当成外部样式表而在HTML文件中调用,那它的扩展名存成.css就可。当初技术人员想出HTML,主要侧重于定义内容,比如 p表示一个段落,h1表示标题,而并没有过多设计HTML的排版和界面效果。 随着Internet的迅猛发展,HTML被广泛应用,上网的人们当然希望网页做得漂亮些,因此HTML排版和界面效果的局限性日益暴露出来。为了解决这个问题,人们也走了不少弯路,用了一些不好的方法,比如给HTML增加很多的属性结果将代码变得很臃肿,将文本变成图片,过多利用Table来排版,用空白的图片表示白色的空间等。直到CSS出现。 CSS可算是网页设计的一个突破,它解决了网页界面排版的难题。可以这么说,HTML的Tag主要是定义网页的内容(Content),而CSS决定这些网页内容如何显示(Layout)。CSS的英文是 Cascading Style Sheets,中文可以翻译成串联式样式表。CSS按其位置可以分成三种:内嵌样式(Inline Style) ,内部样式表(Internal Style Sheet) ,外部样式表(External Style Sheet)。 6 HTML功能简介 Hyper Text Markup Language 超文本标记语言是一种用来制作超文本文档的简单标记语言。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX,WINDOWS等)。自1990年以来HTML就一直被用作World Wide Web上的信息表示语言,用于描述Homepage的格式设计和它与WWW上其它Homepage的连结信息。 HTML文档(即Homepage的源文件)是一个放置了标记的ASCII文本文件,通常它带有.html或.htm的文件扩展名。生成一个HTML文档主要有以下三种途径:1.手工直接编写(例如用你所喜爱的ASCII文本编辑器或其它HTML的编辑工具)。2.通过某些格式转换工具将现有的其它格式文档(如WORD文档)转换成HTML文档。3.由Web服务器(或称HTTP 服务器)一方实时动态地生成。 HTML语言是通过利用各种标记(tags)来标识文档的结构以及标识超链(Hyperlink)的信息。 虽然HTML语言描述了文档的结构格式,但并不能精确地定义文档信息必须如何显示和排列,而只是建议Web浏览器(如Mosiac,Netscape等)应该如何显示和排列这些信息,最终在用户面前的显示结果取决于Web浏览器本身的显示风格及其对标记的解释能力。这就是为什么同一文档在不同的浏览器中展示的效果会不一样。目前HTML语言的版本是2.0,它是基于SGML(Standard Generalized 第 30 页 共 49 页 陕西理工学院 Markup Language,标准广义置标语言,是一套用来描述数字化文档的结构并管理其内容的复杂的规范)中的一个子集演变而来的。虽然下一版本的标准HTML3.0(也称为HTML+)正在制订之中,但其中某 些部分的实验性标准草案已被广泛采用,大多优秀的Web浏览器(如Netscape等)都能解释HTML3.0中的部分新标记,因此在本章中介绍的一些HTML3.0新标记均已被多数浏览器所接受。 7 Js脚本语言简介 JS即javascrip,Javascript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl,遗留的速度问题。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。 JavaScript 的正式名称是 \"ECMAScript\"。这个标准由 ECMA 组织发展和维护。ECMA-262 是正式的 JavaScript 标准。这个标准基于 JavaScript (Netscape) 和 JScript (Microsoft)。Netscape (Navigator 2.0) 的 Brendan Eich 发明了这门语言,从 1996 年开始,已经出现在所有的 Netscape 和 Microsoft 浏览器中。ECMA-262 的开发始于 1996 年,在 1997 年 7 月,ECMA 会员大会采纳了它的首个版本。 脚本script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。各类脚本目前被广泛地应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画、声音等。举个最常见的例子,当我们点击网页上的E-mail地址时能自动调用Outlook Express或Foxmail这类邮件软件,就是通过脚本功能来实现的。也正因为脚本的这些特点,往往被一些别有用心的人所利用。例如在脚本中加入一些破坏计算机系统的命令,这样当用户浏览网页时,一旦调用这类脚本,便会使用户的系统受到攻击。所以用户应根据对所访问网页的信任程度选择安全等级,特别是对于那些本身内容就非法的网页,更不要轻易允许使用脚本。通过“安全设置”对话框,选择“脚本”选项下的各种设置就可以轻松实现对脚本的禁用和启用。 现在的脚本语言是比较多的,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。脚本(Script),就是含有bind和alias等命令的集合,你可以把这个集合存为一个独立的文件然后在需要的时候执行,这样就可以方便你在CS中的使用。脚本可以存为后缀名为.cfg的文件放在cstrike文件夹下,执行时在控制台输入:exec(脚本文件名).cfg即可。比如将一个脚本存为 buys.cfg文件,则在控制台中输入:execbuys.cfg则可以实现我们所需要的功能。要实现一个命令只要把这一过程定义(alias)好,并且分配一个键位给这个命令,以后只要按分配好的键位,就可以实现这一过程。所有的脚本都是通过这一方法实现的。 第 31 页 共 49 页 陕西理工学院 附录A:源码 1. BaseDaoImpl.java: 基本的方法实现类 package com.snut.dao.impl; import java.io.Serializable; import java.sql.SQLException; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.HibernateTemplate; import com.snut.dao.BaseDao; import com.snut.util.Page; public abstract class BaseDaoImpl 陕西理工学院 /** * 可用于批量及批量删除的功能 * @param hql 更新或删除语句 */ public void execute(String hql) { this.getHibernateTemplate().bulkUpdate(hql); } public void save(Object entity) { this.getHibernateTemplate().save(entity); } public void saveOrUpdate(Object entity){ this.getHibernateTemplate().saveOrUpdate(entity); } /** * 实体查询带分页功能 * @param page 分页信息 * @param hql 查询语句 * @param params 查询语句带的参数[没参数时可写 null] * @param values 查询语句带参数的值[没参数时可不写] */ @SuppressWarnings(\"unchecked\") public List * @param hql 统计总数的查询语句 * @param params 统计总数的查询语句所带的参数 * @return 第 33 页 共 49 页 陕西理工学院 */ @SuppressWarnings(\"unchecked\") public int count(final String hql,Object ...params){ List * 带HQL 查询实体列表 [不带分页功能 ] * @param hql 查询语句 * @param params 查询语句带的参数 */ @SuppressWarnings(\"unchecked\") public List * @param params 查询语句带的参数 */ @SuppressWarnings(\"unchecked\") public List * 查询所有的结果集 * @param 查询语句 */ @SuppressWarnings(\"unchecked\") public List public List> findDataList(String queryString,Object...params){ return this.getHibernateTemplate().find(queryString,params); } public Object getObject(Class> clazz,Serializable id){ return this.getHibernateTemplate().get(clazz, id); } @SuppressWarnings(\"unchecked\") public T get(Class> clazz, Serializable id) { // TODO Auto-generated method stub 第 34 页 共 49 页 陕西理工学院 return (T) getHibernateTemplate().get(clazz, id); } public void insert(Object entity) { this.getHibernateTemplate().save(entity); } public void update(Object entity) { this.getHibernateTemplate().saveOrUpdate(entity); } @Autowired private HibernateTemplate hibernateTemplate; public HibernateTemplate getHibernateTemplate() { return hibernateTemplate; } public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } } 2. LoginAction.java: 登录处理类 package com.snut.Action; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.ResultPath; /** * 登录校验 * @author XXX * */ @SuppressWarnings(\"serial\") @ResultPath(\"/WEB-INF/main/\") @Result(name=\"login\public class LoginAction extends BaseAction{ 第 35 页 共 49 页 陕西理工学院 private String verifycode; //验证码 /** * * @return * @throws IOException */ public String login() throws IOException{ /*******************浏览器内置对象****************************/ HttpServletResponse response = ServletActionContext.getResponse(); this.beforAnsy(); PrintWriter out = response.getWriter(); HttpSession session = ServletActionContext.getRequest().getSession(); /*****************************************************************/ String srand = (String) session.getAttribute(\"code\"); //获取验证码 String uname = getTeacher().getTeacherNo(); //获取用户名 String pwd = getTeacher().getPassword(); //获取密码 String s = getTeacher().getCore(); //获取用户角色 if(!getVerifycode().equalsIgnoreCase(srand)){ out.print(\"\"); out.print(\"\"); }else{ if(s==\"student\"||s.equals(\"student\")){ //判断如果角色是学生的话则进行学生登录校验 if(getStudentService().checkLogin(uname, pwd)){ setStudent(getStudentService().getByNo(uname)); session.setAttribute(\"user\ return \"index2\"; }else{ out.print(\"\"); out.print(\"}\"); } } else if(s==\"teacher\"||s.equals(\"teacher\")){ //如果角色是教师的话则进行教师教研登录 if(getTeacherService().checkLogin(uname, pwd)){ setTeacher(getTeacherService().getByNo(uname)); session.setAttribute(\"user\ return \"index1\"; }else{ out.print(\"\"); out.print(\"}\"); 第 36 页 共 49 页 陕西理工学院 } }else{ //如果角色是管理员的话就进行管理员登录校验 if(getTeacherService().checkLogin(uname, pwd, true)){ setTeacher(getTeacherService().getByNo(uname)); session.setAttribute(\"user\ return \"index\"; }else{ out.print(\"\"); out.print(\"}\"); } } } return null; } public String getVerifycode() { return verifycode; } public void setVerifycode(String verifycode) { this.verifycode = verifycode; } //用户退出系统 public String exit(){ HttpSession session = ServletActionContext.getRequest().getSession(); session.removeAttribute(\"user\"); return \"login\"; } } 第 37 页 共 49 页 陕西理工学院 附录B:软件使用说明书 (1) 系统主要功能介绍 本系统是一个管理系统,共有三个用户权限:管理员、教师和学生。系统初始化时有一个超级管理员,超级管理员可根据实际需要创建不同的管理员,并添加教师和学生。系统功能有:立题信息管理、课题信息管理、用户信息管理、专业信息管理、职称学位管理、课题信息管理和其他信息管理。 (2) 运行环境要求 操作系统: Microsoft WindowsXP/2000 及以上系统 web服务器:Tomcat 6.0 数据库:Microsoft SQL Server 2005 浏览器:IE (3) 安装及配置 Microsoft SQL Server 2005 ① 按默认选项安装SQL Server,用户名为sa,密码为123456。 ② 在SQL Server中创建数据库,数据库名为graduate。 (4) 安装及配置tomcat(假设已经有配好JDK) ① 直接把tomcat解压到任何一个根目录。 ② 在配置CATALINA_HOME变量值为tomcat的安装路径。 ③ 配置path其值为tomcat的bin的路径。 (5) 发布系统并测试 ① 发布:直接把GraduateDesign拷贝到D:\omcat6.0\\webapps。 ② 在命令行下执行命令catalina run,启动tomcat6服务器。 ③ 打开IE,在地址栏输入地址http://localhost:8080 /GraduateDesign则打开登录页,其管理员 帐号为admin,密码为123456。进入系统后可进行各项测试。 第 38 页 共 49 页 陕西理工学院 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。 学位论文作者(本人签名): 年 月 日 学位论文出版授权书 本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。 论文密级: □公开 □保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议) 作者签名:_______ 导师签名:_______ _______年_____月_____日 _______年_____月_____日 第 39 页 共 49 页 陕西理工学院 独 创 声 明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 本声明的法律后果由本人承担。 作者签名: 二〇一〇年九月二十日 毕业设计(论文)使用授权声明 本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。 本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定) 作者签名: 二〇一〇年九月二十日 第 40 页 共 49 页 陕西理工学院 致 谢 时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。 首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。 首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。 其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。 另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。 最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。 四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。 回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。 学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。 在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。 最后,我要特别感谢我的导师赵达睿老师、和研究生助教熊伟丽老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。 第 41 页 共 49 页 因篇幅问题不能全部显示,请点此查看更多更全内容