毕业设计管理系统设计说明书.docx

上传人:b****8 文档编号:9135805 上传时间:2023-05-17 格式:DOCX 页数:41 大小:966.98KB
下载 相关 举报
毕业设计管理系统设计说明书.docx_第1页
第1页 / 共41页
毕业设计管理系统设计说明书.docx_第2页
第2页 / 共41页
毕业设计管理系统设计说明书.docx_第3页
第3页 / 共41页
毕业设计管理系统设计说明书.docx_第4页
第4页 / 共41页
毕业设计管理系统设计说明书.docx_第5页
第5页 / 共41页
毕业设计管理系统设计说明书.docx_第6页
第6页 / 共41页
毕业设计管理系统设计说明书.docx_第7页
第7页 / 共41页
毕业设计管理系统设计说明书.docx_第8页
第8页 / 共41页
毕业设计管理系统设计说明书.docx_第9页
第9页 / 共41页
毕业设计管理系统设计说明书.docx_第10页
第10页 / 共41页
毕业设计管理系统设计说明书.docx_第11页
第11页 / 共41页
毕业设计管理系统设计说明书.docx_第12页
第12页 / 共41页
毕业设计管理系统设计说明书.docx_第13页
第13页 / 共41页
毕业设计管理系统设计说明书.docx_第14页
第14页 / 共41页
毕业设计管理系统设计说明书.docx_第15页
第15页 / 共41页
毕业设计管理系统设计说明书.docx_第16页
第16页 / 共41页
毕业设计管理系统设计说明书.docx_第17页
第17页 / 共41页
毕业设计管理系统设计说明书.docx_第18页
第18页 / 共41页
毕业设计管理系统设计说明书.docx_第19页
第19页 / 共41页
毕业设计管理系统设计说明书.docx_第20页
第20页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计管理系统设计说明书.docx

《毕业设计管理系统设计说明书.docx》由会员分享,可在线阅读,更多相关《毕业设计管理系统设计说明书.docx(41页珍藏版)》请在冰点文库上搜索。

毕业设计管理系统设计说明书.docx

毕业设计管理系统设计说明书

*******************

实践教学

*******************

 

理工大学

计算机与通信学院

2013年春季学期

 

工程开发综合训练

 

题目:

毕业设计管理系统

专业班级:

10级软件工程基地班

姓名:

***

学号:

***

指导教师:

***

成绩:

 

摘要

该毕业设计管理系统采用的是B/S结构,以SqlServer2008+myeclipse+JSP作为开发工具。

本系统借助了网络平台,不但使学生与老师进行有效的沟通,使学生可以及时的了解有关毕业论文的相关事情,而且使论文的上传查看、信息的管理、用户的管理和数据库的管理等工作更加容易,既提高了工作效率,也降低了成本。

本系统主要针对于高校的毕业设计环节进行管理。

本系统实现了管理员对系统用户信息(管理员信息、教师信息、学生信息)、课题信息管理等;教师角色对个人信息的修改,课题的添加,查询管理、选题管理,论文管理等;评审角色对个人信息的修改,课题的评审等;学生角色可以对个人信息修改,查看成绩、选题登记与查询,论文提交与查看。

关键词:

毕业论文选题;管理系统;SQLServer;J2EE;GPMS

摘要I

目录II

一、需求分析1

1.1毕业论文管理的现状1

1.2毕业论文管理系统的优势1

1.3系统流程图2

1.4层次结构图3

1.5数据流程图6

1.5数据字典7

二、概念结构设计9

2.1系统E-R图9

三、逻辑结构设计10

3.1各个表的结构10

四、系统实现13

4.1建立数据库13

4.1.1数据库创建流程13

4.1.2数据库关系13

4.2程序设计14

4.2.1工程目录结构14

4.2.2核心技术说明14

4.3项目研发时间线20

五、系统测试21

5.1测试方案21

5.2测试用例及结果21

六、软件使用说明书24

6.1登陆界面24

6.2主界面24

6.3查看个人信息25

6.4修改密码25

6.5维护个人信息26

6.6上报课题26

6.7课题查询27

6.8未评题目查询27

6.9题目评审28

6.10任务下派28

6.11发布题目29

6.12信息统计30

6.13信息管理30

七、设计总结32

八、致33

九、参考文献34

一、需求分析

1.1毕业论文管理的现状

目前,国外毕业论文选题一般采用两种方式:

一种将毕业设计存在软盘上交;另一种则存放到教师的电脑上的一个共享目录。

但这两种方法都有各自的弊端:

前一种方法不方便携带、速度慢、容量小、易损坏;后一种方法虽然解决了软盘容量小、容易坏的问题。

但存在一个更致命的缺点:

学生可以随意的查看、更改和删除其他同学的毕业设计,造成大量如抄袭毕业设计、恶意删除或修改其他同学毕业设计的事情发生;老师在帮学生修改毕业设计时,也很容易弄不清楚毕业设计批改与否;毕业设计是谁的或是旧毕业设计没删除掉,跟新毕业设计搞混了等情况,虽然有些可以用严格的纪律来实现管理,但仍然会给学生和老师带来很多的麻烦。

而且,由于毕业设计是一个持续较长时间的过程,这其中需要同学和老师不断的沟通,但是期间若是由于学生有事或身体不适等情况,就不得不中途请假,而这势必会影响到毕业设计的顺利完成。

在当前的信息化时代中,任何学校,都需要一个实用的毕业论文选题来规毕业论文选题,这将会大大提高学校的管理水平,优化资源,实现效益的最大化。

现在国外也有很多毕业论文选题的软件,采用的技术也是多种多样,如基于JSP、FTP模式,但大多数毕业论文选题主要用于网络学院的远程教学。

至于校园的正规教学,利用毕业论文选题组织管理教学活动的并不多。

针对国外对教学管理软件的巨大需要和基本需要,一个好的教学管理软件,必须功能齐全,操作简便,向用户展示友善的操作界面。

在完善功能的同时又必须兼顾系统的灵活性,安全性,健壮性。

一个好的教学管理系统,不管是计算机专业人员还是其他用户都能很快上手,操作简单,便于安装,容易普及。

1.2毕业论文管理系统的优势

由于学校教学功能的特殊定位,致使教师和学生必须在除了简单的师生区别外,还有合作意味的关系。

学生上交毕业设计和老师批改毕业设计,这本身除了学习交流外,还是一个合作的概念。

所以,这其中的信息管理流程,需要以一个规的MIS来管理。

毕业论文管理系统的优势主要表现在三个方面:

1、毕业设计无纸化,环保又方便。

传统的毕业设计上交方式,都是经由学生科目代表统一收齐后,交到教师办公室,然后教师抽取一个整段的时间,或是若干分时间段,一份一份地手工翻阅批改,然后再做好相关记录。

这种传统的方式,一是会有很大的体力消耗,二是在精力上也是不小的付出,而且这种辛苦在很多时候往往没能得到满意的回复。

而无纸化毕业设计,只需在电脑前点点鼠标,在体力上几乎没有多大的消耗,而且在环保、效率、针对性教学指导方面做得要比传统的毕业论文选题科学得多。

2、科学管理,安全可靠。

传统的毕业论文选题方式,都是一份份独立的毕业设计,一个学生对应一份,而这么一撂的设计,经常会由于各种原因,丢失或是污损,给毕业论文选题和教学进程带来很大的麻烦和不便。

而毕业论文选题的动作,只需做好系统数据库的保护,以上问题可以迎刃而解了。

3、简化工作,促进其他方面的综合发展。

由于毕业论文选题的介入运行,可以使教师腾出更多的时间,做更多针对性的个性化教学服务,从而使每个学生都有机会在学业上有更大的进步。

1.3系统流程图

 

图1-1系统流程图

 

1.4层次结构图

图1-2学生层次结构图

图1-3教师层次结构图

 

图1-4评审人层次结构图

图1-5管理员层次结构图

1.5数据流程图

图1-6系统数据流图

1.5数据字典

主要的数据字典:

表1-1管理员信息数据字典

名字:

管理员信息

别名:

administrator

描述:

管理员的相关信息

定义:

管理员信息=管理员id+管理员name+管理员password

位置:

存于数据库

表1-2教师信息数据字典

名字:

教师信息

别名:

teacher

描述:

教师的相关信息

定义:

教师信息=教师id+教师密码+教师+教师职称+教师性别+教师工作地点+教师QQ+教师

位置:

存于数据库

表1-3学生信息数据字典

名字:

学生信息

别名:

student

描述:

学生的相关信息

定义:

学生信息=学生id+学生+学生性别+学生系别+学生专业+学生年级+学生班级+学生成绩+学生+学生密码

位置:

存于数据库

表1-4课题信息数据字典

名字:

课题信息

别名:

topic

描述:

课题的相关信息

定义:

课题信息=课题id+课题名+出题教师+课题类别+所属专业+需求人数+课题要求+课题容

位置:

存于数据库

表1-5学生选题数据字典

名字:

学生选题信息

别名:

choosetopic

描述:

学生和已选的课题的对应关系

定义:

学生选题信息=学生id+课题id

位置:

存于数据库,在选题时应用

 

表1-6管理员分配答辩老师数据字典

名字:

管理员分配答辩老师

别名:

answer

描述:

管理员为每一个课题分配5位答辩老师,其中一名为答辩组长。

定义:

管理员分配答辩老师=答辩题目id+答辩题目+答辩组长+答辩老师1+答辩老师2+答辩老师3+答辩老师4+答辩时间+答辩教室

位置:

存于数据库,在答辩时应用

 

表1-7学生成绩信息数据字典

名字:

学生成绩信息

别名:

score

描述:

学生成绩的相关信息

定义:

学生成绩信息=成绩id+学生名字+实习成绩+指导成绩+评阅成绩+答辩成绩

位置:

存于数据库,在归档时应用

二、概念结构设计

2.1系统E-R图

本系统涉及的实体主要由管理员、教师、学生、课题组成,主要有监督、出题、审题、选题等几个关系。

各实体属性和关系图如下图所示。

 

图2-1系统E-R图

 

三、逻辑结构设计

3.1各个表的结构

表3-1教师表(T_teacher)

序号

列号

数据类型

长度

小数

标识

主键

允许空

默认值

示意

说明

1

Tid

int

20

教工号

2

Tname

vachar

20

3

Tpassword

varchar

32

密码

MD5加密

表3-2教师详细信息表(T_teadetail)

序号

列号

数据类型

长度

小数

标识

主键

允许空

默认值

示意

说明

1

Tid

Int

教工号

外键(T_teacher:

:

Tid)

2

Tname

Vachar

20

3

Tsex

char

2

性别

4

Schid

tinyint

学院号

外键(T_schools:

:

Schid)

5

Tphone

bigint

6

Tqq

bigint

qq

7

Tmail

varchar

50

8

Tworkplace

varchar

30

办公地点

9

Ttitle

varchar

10

职称

表3-3毕设题目表(T_topic)

序号

列号

数据类型

长度

小数

标识

主键

允许空

默认值

示意

说明

1

Topid

int

题目编号

2

Topname

varchar

50

题目名称

3

Topproperty

char

8

题目性质

理论研究,生产实践,科学实验

4

Toptype

char

10

题目类型

工程设计型,工程技术型,实验研究型,软件开发型

5

Topsource

varchar

50

题目来源

6

Topcontent

text

题目容

7

Toptime

datetime

getdate()

发布日期

8

Topselect

bit

0

是否已被选

1为是;0为否

9

Tid

int

教师编号

外键(T_teacher:

:

Tid)

表3-4毕设题目临时表(T_temptopictb)

序号

列号

数据类型

长度

小数

标识

主键

允许空

默认值

示意

说明

1

Topid

int

题目编号

2

Topname

varchar

50

题目名称

3

Topproperty

char

8

题目性质

理论研究,生产实践,科学实验

4

Toptype

char

10

题目类型

工程设计型,工程技术型,实验研究型,软件开发型

5

Topsource

varchar

50

题目来源

6

Topcontent

text

题目容

7

Toptime

datetime

getdate()

上报日期

8

Tid

int

教师编号

外键(T_teacher:

:

Tid)

9

Rid

int

0

评审编号

外键(T_reviewer:

:

Rid)

 

表3-5系(专业)表(T_faculties)

序号

列号

数据类型

长度

小数

标识

主键

允许空

默认值

示意

说明

1

Fid

tinyint

系编号

2

Fname

varchar

30

系名称

表3-6-学院表(T_schools)

序号

列号

数据类型

长度

小数

标识

主键

允许空

默认值

示意

说明

1

Schid

tinyint

学院编号

2

Schname

varchar

30

学院名称

四、系统实现

4.1建立数据库

数据库采用SqlServer2008,数据库名称为GPMS。

4.1.1数据库创建流程

数据库创建流程如下:

图4.1.1数据库创建流程

4.1.2数据库关系

数据库关系图如下:

图4.1.2数据库关系图

4.2程序设计

4.2.1工程目录结构

4.2.2核心技术说明

1、J2EE中重量级框架

我们采用JavaServlet+JavaServerPages(JSP)+EnterpriseJavaBean(EJB)的J2EE中重量级框架,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业部或外部难以互通的窘境。

2、DAO(数据库接口层)的封装

在核心J2EE模式中是这样介绍DAO模式的:

为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。

用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。

在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。

我们采用DAO的思想,将所有对数据源数据库的访问操作抽象封装在几个接口类中,使事务界限更加清晰,分离了业务逻辑和数据库基础操作,代码结构也看起来非常清晰。

还有一个好处是,数据库的修改只要修改DAO层的访问方式就可以了,不用整个项目都进行修改。

3、Ajax技术异步刷新

传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。

服务器接收并处理传来的表单,然后返回一个新的网页。

这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。

由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。

这导致了用户界面的响应比本地应用慢得多。

与此不同,AJAX应用可以仅向服务器发送并取回必需的数据(而不是返回整个页面,只是把从服务器端上取出的数据填充到div或span层上去而已,实现无刷新的效果),它使用SOAP或其它一些基于XML的webservice接口,并在客户端采用JavaScript处理来自服务器的响应。

因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。

同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。

使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。

这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。

4、数据库连接池

在传统的两层结构中,客户端程序在启动时打开数据库连接,在退出程序时关闭数据库连接。

这样,在整个程序运行中,每个客户端始终占用一个数据库连接,即使在大量没有数据库操作的空闲时间,如用户输入数据时,从而造成数据库连接的使用效率低下。

在三层结构模式中,数据库连接通过中间层的连接池管理。

只有当用户真正需要进行数据库操作时,中间层才从连接池申请一个连接,数据库操作完毕,连接立即释放到连接池中,以供其他用户使用。

这样,不仅大大提高了数据库连接的使用效率,使得大量用户可以共享较少的数据库连接,而且省去了建立连接的时间。

我们以Tomcat7数据库连接池配置sqlserver2008。

TomcatJDBC连接池提供对多种数据库的支持。

前提要修改tomcat服务器目录下面的conf中的Context.xml配置文件和程序中的Web.xml文件,代码中以如下方式实现:

Context c = new InitialContext();

DataSource ds = (DataSource)c.lookup("java:

comp/env/jdbc/books");

conn = ds.getConnection();

5、动态页面的实现(CSS+动态js脚本)

JS的作用是制作动.态网页效果等,是提高用户体验的利器!

而CSS是定义网页样式,让网页元素更好的表现给用户,好的的网页表现形式也能提高用户体验!

js可以使网页的功能更加丰富,给网页添加更多实时的、动态的、交互的容。

当服务端需要对数据进行验证时,使用javascript可以在客户端验证数据,不需要把数据传到服务器端再传回来,比较节省时间。

你可以把网页里的容隐藏起来,然后当鼠标放到某个地方的时候把隐藏的容显示出来,就像这个页面右上角的”我的知道“那个菜单做的事情。

网页里的下拉菜单基本上都使用js完成。

当你查看表格的时候,表格的容很多,你可以使用js给每一行数据设置不同的颜色以示区分,也可以用js完成鼠标指到表格上表格就变色的功能。

6、批量信息图表统计

程序以javascript实现将数据库中动态数据以图表形式显示在页面上,利用ajax将实现更好的用户体验。

这样做减轻了服务端的压力。

不过,这种方式的确定是客户端变得庞大。

而且其实现原理很复杂,基本是div实现点阵字原理(一点点画上去的)来实现的。

效率就显得不够快。

和原来用jfreechart比较,感觉jfreechart不好的地方是他总是先生成图。

然后利用src来显示,其效率也不怎么高。

不过服务器好的话,客户端就轻松。

7、中文字符串相似度检测的实现

Levenshtein距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。

许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫LevenshteinDistance算法。

在程序中,为实现题目相似度匹配功能,我采用了LevenshteinDistance算法和最长公共子序列算法LCS(LongestCommonSubsequence)相结合的方式,计算预上报题目名称和已发布题目的相似百分度。

经过大量数据测试,发现计算结果大于60%题目存在较为明显的相似,故将结果定为相似度大于60%无法上报。

核心代码如下:

//LCSalgorithm最长公共子序列算法

privatestaticintlongestCommonSubstringLength(StringS1,StringS2){

returnlongestCommonSubstrings(S1,S2,0).toString().length();

}

privatestaticCollectionlongestCommonSubstrings(StringS1,StringS2,intminimumLength){

Collectionindexes=newArrayList();

intMax=minimumLength;

for(inti=0;i

for(intj=0;j

intx=0;

inty=Math.min(S1.length()-i,S2.length()-j);

while(x

x++;

}

if(x>Max){

Max=x;

indexes=newArrayList();

indexes.add(i);

}elseif(x==Max){

indexes.add(i);

}

}

}

Collectionresults=newHashSet();

for(Integeri:

indexes){

results.add(S1.substring(i,(i+Max)));

}

returnresults;

}

//LevenshteinDistance算法实现

publicstaticdoublegetEditDistance(Strings,Stringt){

intd[][];//matrix

intn;//lengthofs

intm;//lengthoft

inti;//iteratesthroughs

intj;//iteratesthrought

chars_i;//ithcharacterofs

chart_j;//jthcharacteroft

intcost;//cost

intdistance;//editdistance

doublesimilarity;

//Step1

n=s.length();

m=t.length();

Stringss=s+s;

intlen=longestCommonSubstringLength(ss,t);

if(len>s.length())len=s.length();

len*=2;

//Prevent100%similaritybetweenastringandits

//cyclicallyshiftedversion(e.g."aircon"and"conair")

if(len==s.length()+t.length()&&s.length()==t.length()){

len--;

similarity=len/((s.length()+t.length())*1.0)*100;

returnsimilarity;

}else{

if(n==0){

returnm;

}

if(m==0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2