当前位置: 首页 > article >正文

毕业论文管理系统的设计与实现

摘要

毕业论文工作是高等学校本科培养阶段的一个重要环节。目前论文管理工作存在着许多问题,例如人工管理极为不便;学生对论文所要撰写的内容并不十分了解,与指导老师的沟通非常不便;老师的指导监督也很难完全到位;手工评审的效率低等。而现有的一些毕业论文信息管理或答辩评审系统只是实现了部分网上交流和评审管理的功能,在答辩评审的自测和项目指标权重等方面都存在着一定的不足。因此,本文设计的毕业论文管理系统采用B/S模式开发。其中,Browser层使用JSP技术开发;Server层使用Struts2.x+Spring2.0+Hibernate3.0开发。该系统以支撑高校毕业生毕业论文管理为目标,以管理员、导师、毕业生三种角色为核心。实现了论文管理的相关功能:1、管理员对导师、毕业生和答辩小组的管理以及管理自己资料的权限;2、导师有创建任务书、指导毕业生完成论文、录入答辩结果以及管理自己资料的权限;3、毕业生有论文选题、论文录入以及管理自己资料的权限。

关键词:1、B/S体系结构 2、SSH框架 3、DAO模型 4、session会话

目录

一、前言 1
二、开发工具与开发架构 2
(一)开发工具 2
(二)开发框架(SSH框架) 2
三、毕业论文管理系统的功能与操作流程 5
(一)毕业论文管理系统的管理功能 5
(二)毕业论文管理系统的操作流程 10
四、数据库设计 11
(一)数据库总体介绍 11
(二)数据表职能详细介绍 12
五、毕业论文管理系统的框架搭建 14
(一)关于struts2.x的引入 14
(二)关于spring2.0的引入 15
(三)关于hibernate3.0的引入 15
六、毕业论文管理系统的具体实现 17
(一)领域模型层实现 17
(二)持久层的实现 18
(三)业务层的实现 19
(四)表示层的实现 20
1、表示层设计依据 20
2、表示层代码的设计规范 21
3、表示层的session会话 21
4、表示层设计实例(管理员登陆过程) 22
5、表示层的国际化应用 23
七、结束语 24
致谢 25
参考文献 26

一、前言

随着高校的规模不断扩大,如何合理地利用教学资源、有效地加强教学管理工作,已成为各大高校关注的焦点。目前,在教学管理方面,特别是在学生学籍管理、成绩管理等方面都普遍采用了网络化管理手段,而对于毕业设计这一重要的教学环节,则普遍采用传统的单机管理模式。现有的毕业设计管理系统主要用来完成毕业设计基本信息和成绩的输入输出等工作,而毕业设计的选题、毕业设计过程管理等工作还没有被纳入到管理系统中。目前,实现毕业论文(设计)的双向选择和毕业论文(设计)过程的动态跟踪与交流己成为毕业设计管理工作改革的重要内容。在国外,英国诺丁汉大学开发了专门的管理系统实现了毕业设计的网上双向选择在国内,南昌航空工业学院电子信息工程学院开发的毕业设计双向选题管理系统,主要侧重选题的管理,能够完成题目申报、题目审核以及学生选题的功能,辅助个人资料管理、发布公告通知功能;南开大学开发的毕业设计网站,为毕业设计的选题、师生交流和毕业设计成绩的管理提供了良好的环境,取得了良好的效果;北京科技大学幵发的基于项目管理的工业设计专业毕业设计管理系统,结合专业特点和项目管理特色,加强了毕业设计文档、图片、多媒体的存档以及优秀毕业设计的展示;电子科技大学管理学院本科毕业论文提交系统主要完成学生论文的上传提交以及论文审核鉴定结果反馈的功能,学生可以通过系统查询自己的论文的审核情况,并根据结果在指导教师的指导下进行修改,并完成论文提交。从以上分析中可以看出,研究设计一种工作流程明晰、功能完善、可操作性强、适用于高校的毕业论文管理系统是十分必要的。

二、开发工具与开发架构

(一)开发工具
数据库:MySQL
数据库开发工具:SQLyog
网站服务器:Tomcat6.5
J2EE开发工具:Myeclipse7.0
(二)开发框架(SSH框架)
毕业论文管理系统采用B/S体系结构开发,其中server层使用SSH(Struts2.x+Spring2.0+Hibernate3.0)框架开发,该系统在结构上主要分成领域模型层、业务层、持久层和表示层(如图2.1),系统开发的目录结构(如图2.2)。
Struts2.0介绍,Struts2.0是在webwork基础上构建起来的mvc框架,实际上是struts1.x与xwork相结合的产物;对于xwork 而言,前端的Webwork 组件为其提供的是一个Map 类型的数据结构;而Action面向的却是Model对象所提供的数据结构。xwork 通过Interceptor 拦截器实现了map模型与model模型的转换,从而我们可以根据需要,灵活的配置所需的Interceptor;从而为Action提供可扩展的预处理、后处理过程。
Spring2.0介绍,Spring2.0可以将简单的组件配置、组合成为复杂的应用。在Spring2.0中,应用对象被声明式的组合,具体实现是在一个XML文件里。Spring2.0也提供了很多基础功能(事务管理、持久化框架集成等等)。
在这里插入图片描述

图2.1 系统框架
在这里插入图片描述
图2.2 目录结构

Hibernate3.0介绍,Hibernate3.0是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate3.0的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration,本系统使用的接口为SessionFactory。

三、毕业论文管理系统的功能与操作流程

(一)毕业论文管理系统的管理功能
该系统实现了角色登录,以及相应角色对论文管理的功能(如图3.1)。
(1)管理员、导师、毕业生的登陆页面(如图3.2),通过选择角色下拉列表选择相应的角色进行登陆,在输入用户名、密码和验证码时,系统首先做相应的格式验证,然后访问数据库确认登陆,进入各自的管理页面。
(2)管理员的权限有:a.修改自身密码、资料;b.添加管理员;c.添加导师;d.添加毕业生;e.创建答辩小组;f.管理员管理角色(注销/激活,如图3.4)。管理员通过用户名、密码登陆管理员管理页面(如图3.3)。
在这里插入图片描述

图3.1 系统功能模块
在这里插入图片描述

图3.2 管理员登陆页面
在这里插入图片描述

图3.3 管理员主页
在这里插入图片描述

图3.4 管理员管理角色
(3)导师的权限有:a.修改自身密码、资料;b.新建任务书(如图3.6);c. 管理任务书(包括:编辑任务书、放开任务书、批准选题、指导论文、答辩录入等,如图3.7);d. 检索所有任务书(包括:阅读任务书、阅读论文,如图3.8);e.评阅论文。导师通过用户名、密码登陆导师管理页面(如图3.5)。
在这里插入图片描述

图3.5 导师主页

在这里插入图片描述

图3.6 新建任务书
在这里插入图片描述在这里插入图片描述

图3.7 管理任务书、导师管理论文
在这里插入图片描述在这里插入图片描述

图3.8 检索任务书、任务书内容、论文内容

(4)毕业生的权限有:a.修改自身密码、资料;b.论文选题(如图3.9);c.检索所有任务书(包括:阅读任务书、阅读论文等);d.管理论文(包括:编辑论文、查看论文、提交论文等,如图3.10)。毕业生通过用户名、密码登陆毕业生权限管理页面。
在这里插入图片描述

图3.9 毕业生选题
在这里插入图片描述在这里插入图片描述

图3.10 毕业生管理论文、撰写论文
(二)毕业论文管理系统的操作流程
角色管理的操作流程(如图3.11)、论文管理的操作流程(如3.12)。

在这里插入图片描述

图3.12论文管理

四、数据库设计

(一)数据库总体介绍
毕业论文管理系统使用MySQL数据库,首先创建毕业论文管理系统的数据库thesismanagedatabase,在数据库thesismanagedatabase中创建了9张数据表用来存储该系统的相关数据,保障系统的合理运行。各数据表的关联关系(如图4.1)。
数据库thesismanagedatabase以及其内部数据表的创建使用提前写好的sql脚本直接生成,具体内容如代码:
DROP DATABASE IF EXISTS thesismanagedatabase;
CREATE DATABASE thesismanagedatabase;
USE thesismanagedatabase;
#drop table manager;
CREATE TABLE manager (
oid INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(20) DEFAULT NULL,
……
PRIMARY KEY (oid)
) ENGINE=INNODB DEFAULT CHARSET=gbk;
在这里插入图片描述

图4.1数据库设计思路

(二)数据表职能详细介绍
(1)管理员数据表,管理员登陆管理系统后负责为学生和导师注册,因此管理员数据表存储管理员身份信息、登陆信息的相关数据。
(2)毕业生、导师数据表,导师负责创建、开放任务书,毕业生可以选择导师开放的任务书(同时创建论文),如果任务书不合适可以退选(在导师提交同意之前);然后,毕业生登陆管理系统实时的编辑论文,导师在系统上实时的指导;因此在数据表中存毕业生和导师的身份信息、登陆信息等数据。
(3)任务书,由导师创建、开放,记录着导师的部分信息;任务书作为撰写论文的核心依据,记录着论文的题目、导师、研究方向、主要任务、论文目标等信息。
(4)论文数据表(如表4-1),论文是整个系统最核心的数据,由毕业生在选题时创建;存储的信息包括:a.毕业生、导师、任务书的部分信息,b.论文摘要、论文主要内容、导师意见、评阅教师意见等c.指导记录编号、答辩记录编号。
表格4-1 Thesis
字段名称 数据类型 字段说明
oid Int(11) 论文系统编号
Tsid Varchar (11) 任务书档案编号
……
readidea Varchar(512) 评阅教师意见
Readscore Int(2) 评阅教师建议分数
resultoid Int(11) 答辩记录编号
Endscore Int(2) 最终分数
Status Int(2) 论文状态
createtime Varchar(20) 论文创建时间
subtime Varchar(20) 论文提交时间

(5)论文指导记录数据表,论文指导的记录由导师创建,记录着导师对论文实时的指导内容,所以对于一篇论文可能有好几篇指导记录,因此需要单独建表存储数据。
(6)答辩记录,在答辩结束后由导师负责录入,记录了答辩的详细内容包括:a.论文编号、答辩小组编号,b.答辩小组意见、最后成绩,c.领导意见。
(7)答辩小组数据表,由管理员创建,记录的内容包括:小组编号、组长、那一届毕业生、隶属部门等信息。
(8)答辩小组成员数据表,由管理员创建,主要记录答辩小组的成员信息,这些成员必须是由管理员创建的导师。

五、毕业论文管理系统的框架搭建

关于struts2.x、spring2.0和hibernate3.0框架的集成顺序是:spring2.0框架的引入先于hibernate3.0框架,以便将hibernate3.0的相关配置在spring2.0的脚本文件中完成;至于struts2.x可以随时引入。其中sping2.0框架和hibernate3.0框架用Myeclipse直接引入,而struts2.x框架需要手工引入。
(一)关于struts2.x的引入
在实现struts2.x框架、spring2.0框架与hibernate3.0框架的三者集成时,对于struts2.x框架需要引入相应的jar架包,还必须对web.xml和struts.xml文件做相应的配置。
(1)引入jar架包
首先引入struts2.x的核心架包:xwork-2.0.4.jar、struts2-core-2.0.11.jar、ognl-2.6.11.jar、freemarker-2.3.8.jar和commons-logging-1.0.4.jar。由于该框架要与spring2.0框架整合,所以还要struts2-spring-plugin-2.0.8.jar。最后由于需要连接数据库MySQL,还要引入关于数据库的驱动架包mysql-connector-java-3.1.14-bin.jar。
(2)修改web.xml文件
为了使毕业论文管理系统支持struts2.x框架,需要在web.xml文件中配置struts2.x的相关内容,如代码:
……

struts2 org. apache.struts2.dispatcher.FilterDispatcher …… (3)创建struts.xml文件 struts.xml文件是整个系统的大脑,在该文件中配置了整个系统的所有事务的动作流程,操控着毕业论文管理系统的所有页面的动态流程。 (二)关于spring2.0的引入 在实现struts2.x框架、spring2.0框架和hibernate3.0框架集成时,对其中的spring2.0的框架除了引入必须的架包 ,还要对spring2.0框架的脚本文件进行配置。 (1)引入jar文件 引入spring2.0框架的核心架包:spring.jar (2)创建spring2.0框架的applicationContext.xml文件 通过Myeclipse开发环境直接将spring框架引入项目中,同时创建applicationContext.xml文件并将其放到webRoot根目录下WEB_INF文件中,这时的applicationContext.xml文件默认配置就可以。 (三)关于hibernate3.0的引入 在实现struts2.x框架、spring2.0框架和hibernate3.0框架集成时,对其中的hibernate3.0的框架除了引入必须的架包 ,还要将hibernate3.0框架在spring2.0框架的脚本文件applicationContext.xml中进行配置。 (1)引入架包 首先引入hibernate3.0框架的核心架包:hibernate3.jar、log4j-1.2.15.jar、cglib-nodep-2.1_3.jar、dom4j-1.6.1.jar、commons-collections-2.1.1.jar、c3p0-0.9.1.2.jar、jta.jar、antlr-2.7.6.jar。 (2)在spring2.0框架的applicationContext.xml文件中配置hibernate3.0 通过Myeclipse开发环境直接将hibernate3.0框架引入项目中,同时设置将hibernate3.0的hibernate.cfg.xml文件合并到spring2.0框架的applicationContext.xml文件,然后修改applicationContext.xml文件;然而,applicationContext.xml文件的链接数据库配置内容如代码:

六、毕业论文管理系统的具体实现

(一)领域模型层实现
领域模型是对领域内的概念类或客观现实世界中对象的可视化表示,所以也称为概念模型、领域对象模型和分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。
由反向工程生成领域模型对象,Myeclipse的功能非常强大支持从数据库到领域模型对象的逆向生成功能。我们在Myeclipse Hibernate视图中创建数据库链接后,打开对应的数据库,右键数据表选择Hibernate Reverse选项弹出Hibernate框架的反向工程界面,在该界面中设置需要生成文件的类型以及他们的路径,然后点击Finish就生成了相应的文件。
对于数据库thesismanagedatabase中的9张数据表进行逆向工程后,就会自动生成各个数据表的对应领域模型对象和映射文件。这些模型的详细描述(如表6-1所示),各对象模型的映射文件(如表6-2所示)。
表格6-1 领域模型对象
名 称 说 明
AnswerGroup.java 答辩小组模型
GroupMember.java 答辩小组成员模型
Guidance.java 论文指导模型
Manager.java 管理员模型
Result.java 论文答辩结果模型
Student.java 毕业生模型
Thesis.java 论文内容模型
Tutor.java 指导教师模型
WorkList.java 任务书模型

表格6-2 领域模型对象映射
名 称 说 明
AnswerGroup.hbm.xml 答辩小组映射文件
GroupMember.hbm.xml 答辩小组成员映射文件
Guidance.hbm.xml 论文指导映射文件
Manager.hbm.xml 管理员映射文件
Result.hbm.xml 论文答辩结果映射文件
Student.hbm.xml 毕业生映射文件
Thesis.hbm.xml 论文内容映射文件
Tutor.hbm.xml 指导教师映射文件
WorkList.hbm.xml 任务书映射文件

论文的领域模型层的领域模型对象文件存放在src文件下com.hyd.domain包下,领域模型对象映射文件直接放在src文件下面。
以管理员为例,详细介绍领域模型对象定义和领域模型对象映射定义的详细内容,管理员领域模型对象(Manager.java)实现了java.io.Serializable接口,管理员领域模型对象与管理员数据表的映射(Manager.hbm.xml)的具体内容如代码:
……






……

(二)持久层的实现
持久层就是在系统逻辑层面上,专注于实现数据持久化的一个相对独立的领域;持久层是负责向一个或者多个数据存储器中存储数据的一组类和组件。这个层必须包含一个业务领域实体的模型。
毕业论文管理系统的持久层采用DAO模式设计,系统持久层的实现使用Hibernate3.0框架,所以在具体实现持久层中的各个类时都继承了HibernateDaoSupport类。由于继承了HibernateDaoSupport类,所以在实现操作数据库功能时可以采用灵活的HQL语音编写。
以论文模型对象(Thesis.java)为例,介绍毕业论文管理系统领域模型对象所对应的持久层的实现过程。对于Thesis模型对象,在持久层中主要用来操作该对象的增、删、该、查询等功能。对该层的DAO模式设计使用了接口技术,因此创建了两个类:ThesisDao.java(接口类)和ThesisDaoImpl.java(实体类)。
(1)操作Thesis模型对象的接口类ThesisDao.java文件,主要是用来定义操作Thesis模型对象的方法(事务)。
(2)ThesisDaoImpl.java实现了操作Thesis模型对象接口的所有方法(事务),并且继承了HibernateDaoSupport类,具体内容如代码:
……
public List findAll() {
List find = (List) getHibernateTemplate().find(“from Thesis”);
return find;}
……
(3)在applicationContext.xml文件中配置DAO
由于整个系统采用spring2.0框架进行事务管理,因此Thesis模型的事务模型ThesisDAO必须在spring2.0框架的applicationContext.xml脚本文件中实施依赖注入。实际上就是把ThesisDAO事务依附在Hibernate3.0的sessionFactory接口上,具体内容如代码:

(三)业务层的实现 业务逻辑层是系统框架中体现核心价值的部分,它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,业务层的具体实现采用spring2.0框架。 毕业论文管理系统管理系统的业务层有两部分组成:业务管理和提供服务。显而易见,该系统中使用spring2.0框架来解决各层之间的耦合问题(事务管理),因此需要使用业务服务的类都需要在applicationContext.xml文件中实现依赖注入。 以毕业生模型对象(Student.java)为例详细阐述业务层的实现原理;在业务层中对Student模型对象的处理,一方面实现与持久层的交互处理和事物管理,另一方面为表示层提供服务。由于该层的服务采用接口的方式来设计,所以创建了两个类:StudentService.java(接口)和StudentServiceImpl.java(实体类)。 (1)StudentService.java接口类主要用来为表示层提供相关的业务服务,毕业生登陆服务具体内容如代码: public Student findStudent(String name, String password); //毕业生登陆 (2)继承StudentService.java接口的实体类:StudentServiceImpl.java类,实现了接口类中定义的各个方法。 (3)在applicationContext.xml文件中配置相关的业务管理,毕业论文管理系统在业务层采用了Spring2.0框架管理事务,StudentService.java业务需要使用持久层的StudentDAO.java事务提供服务,所以需要在applicationContext.xml文件中对StudentServiceImpl.java业务实现依赖注入。具体内容如代码: (四)表示层的实现 表示层主要处理用户和软件的交互;表示层的主要职责就是为用户提供信息,以及把用户的指令翻译,传输给业务层和持久层。 毕业论文管理系统采用B/S模式开发,因此交互界面为基于html的界面;关于用户的所有请求指令都是由Struts2.0框架的Action类来处理的。由于毕业论文管理系统采用Spring2.0框架处理层与层之间的耦合问题(业务管理),所以所有的Action类都要在applicationContext.xml文件中依赖注入。 1、表示层设计依据 毕业论文管理系统的业务流程是以毕业生论文设计的流程为主线,按照毕业生选题、撰写、答辩的流程,给任务书、论文赋有不同的状态,任务书、论文走到每个阶段都有一个固定的状态,每种状态只有相应的角色具有操作论文的权限。任务书、论文的流程(如图6.1)。

在这里插入图片描述

图6.1任务书、论文的流程

2、表示层代码的设计规范
毕业论文管理系统的表示层代码主要存放在src文件下的各包中,包括struts2.0的Action类和脚本文件struts.xml。Action类具体存放位置为com.hyd.action.;struts.xml脚本直接存放在src文件下。
为了提高代码通用性,在表示层中把Struts2.0框架的Action类分为数据对象和数据处理两部分。由于数据处理类和页面功能相对应,数据对象类是与领域模型和业务服务模型相对应,因此数据处理类需要重复继承数据对象类(com.hyd.action.rootaction.
)。
3、表示层的session会话
(1)毕业论文管理系统与浏览器交互的几乎所有数据都是采用session会话进行传输。在model模型使用session.setAttribute(变量,值)方法,将数据放到session中;在JSP页面(map模型)使用JSP标记语言<s:property value=“#session.变量” />将session中的值取出。
(2)session会话在登录判断中的应用,对每一项功能的操作都要判断该角色是否登录。具体实现:将角色的基本信息放到session中,在登录拦截器SessionInterceptor.java中获取session信息,判断角色是否登录。
(3)session会话在对话框中的应用,毕业论文管理系统中的所有异常对话框都是采用Javascript实现。在model模型中将异常信息放到session中,在JSP页面中使用Javascript的alter()方法弹出对话框,然后使用JSP技术将session中的异常信息清空,具体内容如代码:

<%session.setAttribute(“message”,“”); %> //jsp中直接引入java代码
4、表示层设计实例(管理员登陆过程)
(1)数据对象类虽然继承了ActionSupport类但没有使用struts2.0的请求调用方法execute(),数据对象和领域模型对象一一对应,负责定义*.jsp到业务层的数据对象;管理员数据对象类ManagerRoot.java包括管理员基本属性的定义和管理员业务属性的定义。
(2)数据处理action继承了数据对象类,并且重写了struts2.0的请求调用方法execute(),该action是和页面功能一一对应,负责对相关数据的处理和封装。管理员数据处理action有Login.java(管理员登陆)、CreateManager.java(创建管理员)、CreateStudent.java(添加毕业生)、CreateTutor.java(添加导师)、ChangePwd.java(修改密码)、ChangeInfo.java(修改资料)等;具体内容如代码:
……
if (sf.equals(safecode)) { // 图形校验码验证
if (loginselect.equals(“managerlogin”)) { //角色验证
Manager manager = managerService.findManager(username, password);
if (manager == null) { //用户存在验证
addActionError(getText(“loginerror”));
return ERROR;
} else {
if(manager.getStatus()==0){ //用户注销状态验证
addActionError(getText(“roledelete”));
return ERROR;} //错误抛出
……
(3)struts2.0的action流程控制在struts.xml文件中的配置如代码:

/login.jsp login …… 在applicationContext.xml文件中把管理员需要的业务管理依赖注入如代码: //登陆业务的注入 (4)登陆页面(login.jsp)采用JSP动态网页技术实现。 关于JSP(Java Server Page)技术,它是在传统的网页HTML文件(*.htm、*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成了JSP文件(*.jsp),用JSP开发的web应用是跨平台的,也就是不受操作系统平台的限制。 5、表示层的国际化应用 国际化(Internationalization,il8n)是指程序在不修改代码内部的前提下,根据不同的语言及地区显示相应的界面。毕业论文管理系统使用国际化技术,在整个系统的JSP代码中没有汉字,全部使用getText()方法从文件globalMessages_zh_CN.properties中获取。如果想要显示其他语种的界面,只需配置该语种的globalMessages_zh_*.properties文件就可以实现,该功能为毕业论文管理系统实现多种语言展示奠定了基础。

七、结束语

论文分为三大模块介绍毕业论文管理系统:1、开发工具与架构;2、系统功能的展示与操作;3、开发过程与技术介绍。
毕业论文管理系统基于Struts2.x + Spring2.0 + Hibernate3.0框架构建而成,实现了标准的java EE 4层结构体系。其中,Struts2.0框架实现表示层页面的跳转,Hibernate3.0框架由数据库记录转变成POJO对象的持久层,Spring2.0框架主要实现该系统业务逻辑的服务。设计毕业论文管理系统时,重点考虑基本功能的实现和系统维护的优越性,因此该系统的结构体系明确、层次清晰,层与层之间采用接口链接,极易维护和升级。

致谢

在这两年中,在师长、亲友的大力支持下,走得辛苦却也收获满囊,在论文即将付梓之际,思绪万千,心情久久不能平静。伟人、名人为我所崇拜,可是我更急切地要把我的敬意和赞美献给一位平凡的人,我的论文指导老师程老师。我不是您最出色的学生,而您却是我最尊敬的老师。您治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。授人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了基本的思考方式,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”的感触。
感谢我的父母,焉得援草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。
在论文即将完成之际,我的心情无法平静,从开始进课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚谢意、同时也感谢学院为我提供良好的做毕业设计的环境。
最后再一次感谢所有在毕业设计中曾经帮助过我的良师益友和同学,以及在论文中被我引用或参考的论著的作者。

参考文献

[1]李瑞俊.学生毕业论文选题系统的研究与设计[D].内蒙古大学,2012
[2]孙文.基于WEB的毕业论文管理系统[D].中国海洋大学,2011
[3]杨照峰.基于WEB的高校毕业论文管理系统的设计与实现[D].西安电子科技大学,2010
[4]陈泽强.基于.NET的本科毕业设计管理系统的设计与实现[D].电子科技大学,2012
[5]巴桑罗布.基于ASP.NET的西藏学院毕业论文管理系统的设计与实现[D].电子科技大学,2013
[6]侯凌霄.高校毕业设计论文管理系统设计与实现[D].电子科技大学,2013
[7]江进.毕业论文网上管理系统的研究与实现[D].南京理工大学,2010
[8]黎华.基于Web的高校毕业论文管理系统的设计与实现[D].电子科技大学,2009
[9]戴斌.高职院校学生毕业论文管理系统的设计与实现[D].天津大学,2012
[10]李萌.基于LINQ技术的毕业论文管理系统的设计与实现[D].黑龙江大学,2010
[11]应颂翔.基于B/S架构的毕业论文管理信息系统设计[D].浙江工业大学,2012
[12]韩晓菊.毕业论文管理系统的设计与实现[J].科技信息,2012,33:554+567
[13]刘慧婷,岳可诚,刘椿.毕业论文管理系统的设计与实现[J].中国现代教育装备,2013,01:4-6+9
[14]温小勇.基于工作流和角色协同的毕业论文管理系统的设计与实现[J].实验室研究与探索,2012,04:314-317+338
[15黄兰.基于B/S结构的毕业论文管理系统[D].电子科技大学,2011


http://www.kler.cn/a/154515.html

相关文章:

  • 【Linux庖丁解牛】—Linux基本指令(下)!
  • python实现十进制转换二进制,tkinter界面
  • 【GeekBand】C++设计模式笔记11_Builder_构建器
  • mysql数据迁移PolarDB
  • 【MySQL】SQL语言
  • 微信小程序进行md5加密 ,base64 转码
  • Docker 简介及其常用命令详解
  • Android 13 - Media框架(18)- CodecBase
  • 记录 | ssh config免密连接
  • Mybatis 的操作(要结合上个博客一起)续集
  • 抓包 Hook 工具Objection
  • Leecode 【一】
  • 2023年AI时代中小企业智能化发展报告
  • Go 语言中 sync 包的近距离观察
  • MySQL表连接详解:解析内连接与外连接的使用方法
  • 【Element-ui】Element-ui是什么?如何安装
  • YOLOv8改进 | 2023 | 给YOLOv8换个RT-DETR的检测头(重塑目标检测前沿技术)
  • javascript的Proxy
  • HNU-青蛙与蚊子
  • 【动态规划】LeetCode-LCR166.珠宝的最高价值
  • 深度学习常用指令(Anaconda、Python)
  • Unity-链接MySql5.7
  • c语言编程题经典100例——(56~60例)
  • 【Python-随笔】使用Python实现屏幕截图
  • 安卓密码框、EditText
  • 基于 HarmonyOS 的用户登录界面实现