学生综合管理系统论文 定稿.docx
- 文档编号:8031106
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:34
- 大小:608.84KB
学生综合管理系统论文 定稿.docx
《学生综合管理系统论文 定稿.docx》由会员分享,可在线阅读,更多相关《学生综合管理系统论文 定稿.docx(34页珍藏版)》请在冰豆网上搜索。
学生综合管理系统论文学生综合管理系统论文定稿定稿四川师范大学本科毕业论文四川师范大学学生资助管理系统学生姓名陈燕鹏院系名称数学与软件科学学院专业名称信息与计算科学班级2010级5班学号2010060501指导教师陈涛完成时间2014年5月1日四川师范大学学生资助管理系统信息与计算科学专业本科生陈燕鹏指导教师陈涛摘要在互联网技术日新月异的今天,越来越多的企业和政府部门将自身的业务与互联网技术相结合;这不仅为企业和政府部门提高了效率减轻了成本,也在很多方面为人们的生活提供了极大的便利。
在这里,我将展示一个基于java语言开发的一个四川师范大学学生资助管理系统。
本系统旨在为学校提供一个灵活的信息发布平台和为同学们提供一个简明的资助信息获取渠道。
在技术上,采用了许多开源免费的新技术和框架,例如EXTJSXX的UEditor等;数据库采用的是小巧而强大的mysql;主体框架是熟悉的SSH2。
关键词:
JAVASCRIPTJAVAB/S模式EXTJSUEditorSichuanNormalUniversityStudentFinancialAssistanceManagementSystemInformationandComputingScienceUndergraduateChenYanpengSupervisorChenTaoAbstractInInternettechnologychangerapidlytoday,moreandmoreenterprisesandgovernmentdepartmentswillserviceandInternettechnologythecombination;thisisnotonlyfortheenterprisesandgovernmentdepartmentstoimprovetheefficiency,reducedthecost,butalsoinmanyaspectshaveprovidedgreatconvenienceforpeopleslife.Here,IwillshowabasedontheJavalanguagetodevelopaSichuanNormalUniversitystudentfinancialassistancemanagementsystem.Thesystemisdesignedtoprovideaflexibleinformationforschoolpublishingplatformandprovidesaconciseinformationaboutfinancialaidforstudentstoaccess.Inthetechnology,usingmanyopensourceandfreenewtechnologiesandframeworks,suchasEXTJS,UEditoretc.DatabaseusesiscompactandpowerfulMySQL;themainframeisthefamiliarSSH2.Keywords:
JAVASCRIPTJAVAB/SPatternEXTJSUEditor目录摘要IABSTRACTII目录1绪论11.1选题的背景与意义11.2所做的主要工作12系统开发涉及到的相关工具和技术简要介绍22.1JAVA22.2Javascript22.4Css22.5Sql22.6Xml22.7SSH232.8JSP32.9JQuery32.10ExtJs32.11UEditor33系统分析和设计43.1系统角色43.2网站总体结构设计43.3系统用例图53.4数据库分析与设计74系统详细设计114.1系统设计模式114.2功能模块设计124.3系统代码实现175结束语33参考文献34致谢35四川师范大学学生资助管理系统1绪论1.1选题的背景与意义选题的背景与意义20世纪90年代以来,随着计算机技术、通信技术的日益发展与融合,特别是Internet在一系列技术突破支持下的广泛应用和日益完善,信息技术革命的影响已由纯科技领域向市场竞争和企业管理各领域全面转变。
无处不在、形形色色、大大小小的信息系统和主导现代社会发展的支柱信息产业,成为信息化社会的重要标志。
为了加快信息化社会的建设,社会上的企业和政府部门都在加紧对各自信息化平台的建设。
大学学生资助管理系统的建设正是为了迎合信息化社会的建设,为广大师生提供一个便利的服务平台。
1.2所做的主要工作所做的主要工作首先,需要明确学生资助管理系统的目的,即对该系统进行需求分析。
在明确目的之后,再对系统进行数据库设计和系统设计。
在完成系统部分的设计之后,由于这是一个b/s的系统,还需要对网页的布局进行平面设计。
最后,在按照设计要求进行编码,实现系统。
本系统的设计目的在于为学校的教职员工提供安全灵活的信息发布平台,通过权限管理审核管理以及便捷的文档编辑管理系统,进而让系统的使用者非常方便非常容易的操作系统;同时,使用系统的同学们,通过系统的检索功能,也可以非常容易的检索到自己需要的信息。
本系统采用的语言包括javajavascripthtmlcssjsonsqlxml等。
主体框架是SSH2(spring+struts2+hibernate)的传统组合,数据库是的是小巧而强大的mysql数据库,前端页面大部分是使用JSP(JavaServerPages)页面,后台管理界面使用了javascript的一种框架ExtJs,编辑界面采用的是国人开发的XX的UEditor编辑器。
2系统开发涉及到的相关工具和技术简要介绍2.1JAVA本次开发主要语言,是由Sun公司于1995年5月推出的一种可以跨平台应用软件的面向对象的程序设计语言。
2.2JavascriptJavascript是一种基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言。
2.3Htmlhtml即超文本标记语言,网页的主要构成。
2.4CssCSS(层叠样式表)即级联样式表。
通过CSS我们可以更好的展示我们的页面,可以为用户提供更好的视觉体验。
2.5Sql结构化查询语言(StructuredQueryLanguage)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
在项目中,我们将主要采用它的变种HQL(HibernateQueryLanguage)语言。
2.6Xml可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。
在项目中,它的主要作用是配置文件。
2.7SSH2SSH2在J2EE项目中表示了3种框架,即Spring+Struts2+Hibernate。
此次项目的主体框架。
2.8JSPJSP(JavaServerPages)是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准。
部分页面将采用JSP技术演示。
2.9JQueryJquery是一个优秀的Javascript框架(目前最流行的)。
由于其优异的性能,很多其它的Javascript框架都会基于Jquery进行开发,例如本次项目中采用的Ueditor(Web版),就会包含一个Jquery文件。
2.10ExtJsExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。
我的后台几乎全部是通过ExtJs进行开发的,并且这种框架非常适合各种管理系统的开发。
目前ExtJS仍是免费开源的(当然,商用是收费的)。
2.11UEditorUEditor是由XXWEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量、可定制、用户体验优秀等特点。
开源基于BSD协议,所有源代码在协议允许范围内可自由修改和使用。
XXUEditor的推出,可以帮助不少网站开者在开发富文本编辑器所遇到的难题,节约开发者因开发富文本编辑器所需要的大量时间,有效降低了企业的开发成本。
在这里,我特别推荐使用Ueditor,在对比多款在线编辑器之后,XX的Ueditor绝对是很棒的一款产品。
尤其是它非常的符合国人的使用习惯,而且XX的一系列产品都是中文的API(学习和使用非常方便),功能齐全(兼容各种多媒体文件的展示),以及方便的各种XX的服务。
3系统分析和设计3.1系统角色在这个系统中,我们可以粗略的得到两个系统角色,一个是对系统进行维护和发布信息的系统管理员,另一个这是浏览信息的用户,其系统角色图如图1:
图1系统角色图3.2网站总体结构设计学生资助信息管理系统的主要目的是提供一个信息的共享平台,人们可以通过该平台发布和获取需要的信息。
为管理人员定制的后台信息管理系统,该系统是整个资助信息管理系统的核心所在,系统的设计如下:
(1)登录系统:
验证管理员的身份,并注册管理员的管理级别
(2)权限管理系统:
通过管理员的管理级别,提供相应的服务,并且过滤超出管理权限的操作(3)文章管理系统:
文章的编辑,文章的增删改查,文章的审核发布功能(4)下载文件管理系统:
文件的上传,增删改查,审核及发布功能(5)首页特效图片的管理系统:
对首页的特效图片进行维护,同样有上传,增删改查,审核发布功能;以及关联首页图片和指定的文章(6)以及管理员信息管理系统:
对管理员的信息进行维护,新增管理员,删除管理员,修改管理员的权限为浏览信息的用户制作前台浏览界面系统,包括:
(1)文章的浏览界面
(2)文件的下载界面(3)文章的搜索功能(4)分类查看文章的功能本系统功能模块图如图所示:
图2系统功能模块图3.3系统用例图系统的两个角色,系统管理员和用户。
其中系统管理员承担着文章,下载文件,首页图片和管理员信息的管理工作;而用户,则享有文章的浏览搜索分类查看,及文件下载的功能。
用户和系统管理员的用例图分别如下方图3和图4所示:
图3系统管理员用例图图4信息浏览用户用例图3.4数据库分析与设计3.4.1数据库概念设计数据库概念设计本系统的实体包括:
管理员、文章、下载文件、图片。
其实体间的E-R图如下方图5所示:
图5系统总体E-R图3.4.2数据库设计数据库设计根据上述的E-R图我将数据库概念设计中的四个实体转化为四个相应的数据库表,分别命名为admin,article,data和pic,数据库则命名为zzgl。
下面我将详细的介绍数据库中的四个表和具体意义:
管理员信息表(admin):
管理员信息表字段名称数据类型可否为空说明admin_idVarchar(200)N登录帐号(主键)admin_nameVarchar(200)N管理员的名称admin_pswVarchar(200)N密码admin_levelInt(10)N权限等级管理员信息表中的admin_id是登录用的,而admin_name则是显示用的;这里需要特别说明的是我的管理员级别的设定admin_level。
管理员级别有四个分别是0,1,2,3;其中0级别的管理员只拥有数据登入的权限,而1级别的管理员要多出一个审核数据的权限,2级别的管理员可以向前台发布数据并且拥有前两个级别的所有权限,至于3级别的管理员则是超级管理员,新增对管理员的信息进行操作功能。
文章信息表(article):
文章信息表字段名称数据类型可否为空说明article_nameVarchar(200)N文章名(主键)article_adrVarchar(400)N文章存储地址article_datedateN最后修改日期article_typeVarchar(200)N文章类型article_authorVarchar(200)N作者article_childrenTypeVarchar(200)Y来源page_viewsInt(10)N浏览次数isPublishedInt(10)N是否发布isCheckedInt(10)N是否审核mainPageVarchar(200)Y在主页的显示栏目关于IsPublished和isChecked这两个属性,应该是布尔类型的,但是mysql数据库并没有提供boolean类型而是用tinyInt中的0,1代表boolean类型的false和true。
mainPage是表示在主页中显示的栏目,如果为空则不显示,如果超过六个(主页的每个栏目空间有限,最多只能显示六个)则会覆盖掉最旧的一个。
以文章名为主键,在这里是欠考虑了,在后期造成了很多麻烦;虽然麻烦都解决了,但是依旧存在隐患。
article_adr这个属性就是当初写工程时知识的欠缺造成的一个结果。
这个属性的意思是把文章(一串很长的字符串,并且带有特殊字符)通过java的io功能,输出到指定位置的txt文档中,并且在数据库中用article_adr属性存储文件的地址。
这的确是一个解决方案,但是最近我在研究大文本的存储时找到了一个更好的方案:
在各种数据库中,他们几乎都会提供blob和text/clob属性,而text/clob就是特地用来存储大文本的属性(在mysql中是text)。
下载文件信息表(data):
下载文件信息表字段名称数据类型可否为空说明data_nameVarchar(200)N文件名(主键)data_datedateN上传日期data_authorVarchar(200)N作者data_adrVarchar(200)N文件存储地址data_sourceVarchar(200)N来源downloadsInt(10)N下载次数isPublishedInt(10)N是否发布isCheckedInt(10)N是否审核上述的下载文件信息表和文章信息表比较类似。
图片信息表(pic):
图片信息表字段名称数据类型可否为空说明pic_nameVarchar(200)N图片名(主键)pic_infoVarchar(200)Y图片信息introductionVarchar(200)Y图片简介pic_adrVarchar(200)N存储地址isCheckedInt(10)N是否审核isPublishedInt(10)N是否发布article_nameVarchar(200)Y被关联文章名article_adrVarchar(200)Y被关联文章地址在首页,会有几张不断滚动的特效图片,点击图片就能跳转到与图片关联的文章,记录文章的属性就是article_name和article_adr;pic_info和introduction比较类似,都是图片的简介,但一个是题目一个是内容。
4系统详细设计4.1系统设计模式本系统采用的是传统的SSH2框架进行开发工作,在这个框架中,我们可以非常清晰的了解系统的工作模式。
SSH2是spring+struts2+hibernate这3个开源框架的简称,框架之间各自完成各自的工作,或者也可以用其他的框架代替,它们是松耦合的。
Spring框架,可以说spring在它们中最不容易代替的框架,它最重要的功能就是依赖注入功能,通过ioc(控制反转)容器来管理各个bean的创建,取代了原来传统的构造器创建实例的方法,降低了系统的耦合度。
Struts2框架,可以简单的把它归类到MVC模式中的C(controller)层。
Hibernate框架,是个重量级的orm(对象关系映射)框架。
Hibernate大大简化了对数据库的操作,同时也为程序员提供了更方便的对象服务。
我们可以把它归类于MVC3层之外的持久层。
JSP,MVC中的表现层。
Javabean,POJO(plainoldjavaobject)即简单的java对象,MVC中的模型层。
所以,系统运行流程可以表现如图6所示:
图64.2功能模块设计系统可以分为前台和后台两个部分。
前台主要是为浏览信息的用户提供检索浏览等服务,后台则是为管理员提供对信息的管理服务。
我将后台系统又分为四个大的模块,分别是:
文章信息管理模块、下载文件信息管理模块、图片信息管理模块和管理员信息管理模块。
其中,文章信息管理模块的功能包括为管理员提供文章的编辑功能,文章的增删改查,文章的审核与发布功能;下载文件信息管理模块的功能包括为管理员提供文件的上传功能,文件的增删改查,审核和发布功能;图片信息管理模块的功能包括为管理员提供图片的新增功能,图片的增删改查,审核和发布功能和与文章关联的功能;管理员信息管理模块则是为管理员提供管理员信息的修改功能,删除功能和新增管理员功能。
4.2.1文文章信息管理模块章信息管理模块文章信息管理模块的工作流程如下所示,首先用户必须先登录系统,同时系统会为成功登录系统的管理员注册管理员级别(某些操作要求高级权限);然后用户会来到文章目录界面;在该界面,管理员可以选择相应的操作;当所有操作执行完毕后,回到目录界面。
这里需要指出的是,审核后才能发布,撤销发布之后才能撤销审核;审核和发布及对应操作都需要相应的权限。
图74.2.2下载文件信息管理模块下载文件信息管理模块图84.2.3图片信息管理模块图片信息管理模块图94.2.4管理员信息管理模块管理员信息管理模块图104.3系统代码实现本系统的代码分为后台服务器端代码和前台extjs的javascript代码,在展示的时候,我将只会贴出比较关键的代码。
4.3.1数据库连接实现数据库连接实现系统连接数据库仍然使用的是jdbc,但是由于使用了hibernate作为持久层,我将贴出连接几个关键的配置文件:
Hibernate的映射xml文件:
Hibernate的配置xml文件:
org.hibernate.dialect.MySQLDialectjdbc:
mysql:
/localhost:
3306/zzgltrueUTF-8root123com.mysql.jdbc.Driverzzgltrueupdateorg.hibernate.connection.C3P0ConnectionProvider205201001202true4.3.2主页设计主页设计说明:
主页及其他用户显示界面都同意采用盒式布局模式。
在主页可以将内容其大略分为以下几个部分:
1.导航及搜索部分:
快速的跳转到用户所需要的模块,和快速的通过文章的标题关键字对文章进行搜索。
2.特效图片部分:
通过点击滚动图片,可以迅速跳转到与图片相关联的文章。
3.最新消息部分:
按照最后修改(发布)的顺序,在主页的最新消息部分显示这些最新的内容。
4.分块内容部分:
显示每个分类的指定文章(通过后台修改需要显示的部分)。
5.外部链接部分:
可以链接其他相关网站。
头部:
图11下部:
图12由于主页的代码有四百多行就不贴出来了,主页的代码结构大致如下所示:
4.3.3文章浏览界面文章浏览界面说明:
该页面的功能主要是以显示文章的内容为主。
通过强大的Ueditor功能,我们甚至能够在页面中添加包括图像,声音,影像等多媒体文件,也可以直接在页面中添加附件提供下载的功能。
无图的:
图13有图的:
图14文章的显示部分代码如下:
$data.article_name【信息来源:
$data.article_childrenType|浏览量:
$times次|发布时间:
$data.jsonDate】$article4.3.4目录及翻页界面目录及翻页界面说明:
该页面的功能主要是以显示文章的目录为主,提供了翻页,跳转指定页数和导航到指定文章的功能。
图15翻页和跳转的代码:
当前第$page.currentPage页,共$page.pageCount页,每页显示$page.pageSize条记录首页上一页首页上一页下一页尾页下一页尾页跳转到页functioncheck()varval=document.getElementById(currentPage).value;varmax=$page.pageCount;if(valmax)alert(你输入的值太大了!
提交失败);returnfalse;elsereturntrue;4.3.5后台登陆界面后台登陆界面说明:
该界面为登录验证部分。
如果验证未通过,将不会加载管理部分的界面。
图16以下是extjs的代码:
/登录界面,弱登录失败,则不会进入主界面functionstart()varloginform=Ext.create(Ext.form.Panel,url:
login,height:
200,width:
300,items:
margin:
1001010,fieldLabel:
用户名,xtype:
textfield,name:
id,allowBlank:
true,margin:
1001010,fieldLabel:
密码,xtype:
textfield,name:
password,inputType:
password,allowBlank:
true,buttons:
text:
重置,handler:
function()loginform.getForm().reset();,text:
提交,handler:
function()varform=loginform.getForm();if(form.isValid()form.submit(success:
function(form,action)createPanel();Ext.getCmp(startWindow).close();,failure:
function(form,action)Ext.Msg.alert(Failed,action.result.msg);););Ext.create(Ext.window.Window,title:
登录,height:
200,width:
300,id:
startWindow,layout:
fit,items:
loginform).show();4.3.6文章管理界面文章管理界面说明:
该界面提供文章管理的功能,我们将从以下几个部分进行说明:
1.文章检索部分:
通过文章检索的功能,我们可以快速的定位需要管理的文章。
2.管理部分:
(1)删除:
删除已有的文章,但是被发布后的文章不能被删除。
(2)新增:
新建一篇新的文章,新建好的文章的初始状态为未发布,未审核。
(3)审核和取消审核:
只有通过审核的文章才能被发布,而已经发布的文章不能被取消审核。
(4)发布和取消发布:
发布后的文章才能被外部用户浏览。
只有审核后的文章才能被发布,只有取消发布后的文章才能被取消审核。
(5)修改:
通过修改可以更新文章的内容。
图17以下是extjs的代码:
/将搜索和表格显示panel放入这个panel里面vararticlePanel=Ext.create(Ext.panel.Panel,layout:
bor
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生综合管理系统论文 定稿 学生 综合 管理 系统 论文