目 录
目 录
摘 要
ABSTRACT
1 绪论
1.1 课题背景
1.2 研究现状
1.3 研究内容
2 系统开发环境
2.1 vue技术
2.2 JAVA技术
2.3 MYSQL数据库
2.4 B/S结构
2.5 SSM框架技术
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 操作可行性
3.1.3 经济可行性
3.1.4 法律可行性
3.2 系统性能分析
3.3 系统功能分析
3.3.1 角色需求
3.3.2 功能需求
3.4 系统流程分析
3.4.1 注册流程
3.4.2 登录流程
4 系统设计
4.1 系统概要设计
4.2 系统结构设计
4.3 数据库设计
4.3.1 数据库表设计
5 系统的实现
5.1 功能模块的实现
5.1用户信息管理
5.2 科研项目管理
5.3留言板管理
5.1公告信息管理
6 系统测试
6.1 测试定义
6.2 测试目的
6.3 测试方法
6.4 测试分析
7 结论
致谢
参考文献
摘 要
身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得到提升,而读书就是人们获得精神享受非常重要的途径。为了满足人们随时随地只要有网络就可以看书的要求,科研经费管理系统被开发研究了出来。
本文主要描述了该科研经费管理系统的具体开发过程,在SSM框架的基础上,采用vue技术和MYSQL数据库,使该科研经费管理系统具有很好的稳定性和安全性。本设计重点从系统概述、系统分析、系统设计、数据库设计、系统测试和总结这几个方面对该科研经费管理系统进行阐述,用户通过该科研经费管理系统可以查询自己喜欢的信息。
该科研经费管理系统不仅能够稳定的运行,快捷方便的操作,界面简洁清晰,而且功能齐全,实用性强。
关键词:科研经费管理系统,SSM框架,系统分析,数据库设计
ABSTRACT
In the network age, with the continuous maturity and improvement of the development of the network system, people's life has also undergone great changes. While pursuing a higher material life, people are also thinking about how to improve their spiritual connotation, and reading is a very important way for people to enjoy their spirit. In order to meet the requirement that people can read books whenever and wherever they have the Internet, the campus lost and found applet has been developed and studied.
This paper mainly describes the specific development process of the campus lost and found applet. Based on the SSM framework, Vue technology and MySQL database are used to make the campus lost and found applet have good stability and security. This design focuses on the campus lost and found applet from the aspects of system overview, system analysis, system design, database design, system test and summary. Users can query their favorite information through the campus lost and found applet.
The campus lost and found applet can not only run stably, operate quickly and conveniently, have a concise and clear interface, but also have complete functions and strong practicability.
Keywords:Campus lost and found applet, SSM framework, system analysis, database design
身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化。目前,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得到提升,而读书就是人们获得精神享受非常重要的途径[1]。纸质版的书籍比较沉重,携带不方便,而由于手机、平板不仅能够储存大量的书籍信息数据,而且重量轻,可随身携带,因此现在的人们更愿意通过手机、平板等来进行在线阅读[2]。由此,开发一款科研经费管理系统非常符合人们阅读的需求。
过去人们看书需要到书店或者图书馆,而现在只要有网络,人们就可以通过手机、平板或电脑想什么时候看书就可以什么时候看,想看什么样的书就可以看什么样的书,非常的方便,并且人们把平时的闲碎时间全部利用起来进行阅读,使阅读效率大大提高,生活也变得丰富多彩起来。另外,通过科研经费管理系统,想要阅读哪本书,搜索下就能够快速找到,并且还可以对书籍进行归类、统计和规范管理。该科研经费管理系统的界面非常清晰,使用简单,识字的人们都可以使用,并且它的功能齐全,能够满足各种各样的人的要求。
本文不仅从需求分析、设计分析、功能分析对该电子书在线系统进行了全面的分析,而且还从开发背景、开发环境、目标、流程、数据库、系统维护对该科研经费管理系统进行了总体的规划和设计。该科研经费管理系统利用vue技术和MYSQL数据库进行开发,具有很好的稳定性和可发展性。
国外信息技术的发展步伐一直没有停止,源源不断的计算机应用软件被研发出来,并且软件技术也在不断迭代,目前世界各国的软件行业都已新兴了起来[3-5]。
与国外相比,我国信息技术的发展相对晚一些,不过后面,经过我们的不断追赶,我国的信息技术已经有了很大的进步,我国对现有的软件开发技术进行了细致的专研,目前我国已经能够独立的开发系统,并且也已经将这些软件系统应用于人们的生活中和各行各业中,目前,软件行业是我国非常受欢迎的行业[6-9]。
信息数字化使人们的各种信息能够快速传播,使人们的各种信息能够得到充分利用,同时,也大大宣传了信息数字化背后的软件系统[10-12]。软件开发团队的能力越来越强,开发技术功能越来越强大,软件系统大大提高了信息处理的效率,节省了处理者的处理时间。在阅读书籍方面,人们阅读纸质版的书籍,现在已经显得有些过时[13-14]。利用目前的软件开发技术开发出一款科研经费管理系统能够大大的满足人们的阅读需求,人们通过该科研经费管理系统能够快速查找、在线阅读自己喜欢的书籍,并且也大大提高了人们阅读的效率。
本论文主要阐述了该科研经费管理系统的开发技术、系统需求分析、系统设计、系统功能实现和系统测试。为了开发该系统,我在下面花费了很多功夫和心思,例如,到图书馆阅读vue技术、MYSQL数据库等方面的编程书籍,又在网上搜索了很多别人做的相类似的系统,将他们比较好的设计理念应用到自己的设计当中,最后才有了现在的成果。
本论文主要分为7部分,包括:
一、绪论:阐述了该系统的背景技术、研究现状和开发意义;
二、相关技术:介绍了开发该系统所用到的各种技术;
三、系统需求分析:阐述了开发该系统的可行性分析和功能需求分析;
四、系统设计:阐述了该系统的功能模块设计和数据库设计;
五、系统实现:展示了该系统的主要功能模块界面;
六、系统测试:对开发出的该系统进行测试;
七、系统总结:总结开发该系统的整个工作过程。
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动
Vue.js目前最火的的一个前端框架,三大主流前端框架之一。
Vue.js是一套构建用户界面的框架(一套完整的解决方案,对项目侵入性大,中途 需要跟换框架则需要重构整个项目),只关注视图层,易上手,有配套的第三方类库。提高开发效率,帮助减少不必要的dom操作;双向数据绑定,通过框架提供的指 令,前端只需要关注业务逻辑,不再关心dom如何渲染。
-
- JAVA技术
Java编程语言具有跨平台、分布式、可移植等多种特性,很多平台Java都能运行,世界各地都能够运行Java编写的程序。1995年,开发出了JAVA编程语言。JAVA编程语言具有多种特性,例如:简单、安全、可移植、鲁棒性(Robust)、编写能效高、线程多等。在互联网飞速发展的时代,Java编程语言应用也越来越普遍[19]。它的特点具有:
一、面向对象:JAVA适用于分布式环境,JAVA能够完全面向对象,包括对象的设计及联系;
二、分布式:JAVA工作的同时,带动其他计算节点工作,只要有网络,就可以访问其他对象;
三、健壮性:JAVA能够自动处理垃圾和异常,并且机制类型强;
四、安全性:当指针和内存被删除时,非法的内存就可以避免。
数据库在每个网站的开发中都是必不可少的,过去数据库只具有数据的保存和管理功能,但随着后来的不断更新和迭代,目前的数据库不仅能够进行数据的处理,而且还能够储存不计其数的数据[20]。
该科研经费管理系统所使用的就是MYSQL数据库,当初是微软公司开发出的MYSQL数据库。MYSQL数据库总共建立了十几个相对应的表,它们之间独立联系,数据库和程序是密不可分的[21]。
MYSQL数据库的特点包括:能够应用于多种操作系统中;查询SQL时优化了算法,搜索速度提高的不少;还可以进行数据库的管理、控制、优化等操作;一个数据库可以记录不计其数的数据。数据库就是用来存放数据的,要是以存储方式划分数据库的话,我们就会发现数本次开发系统用MySQL数据库来保存数据信息,MySQL实质是RDBMS,他的源代码开放高,在网上随便都能搜到,数据库管理的语言采用SQL(结构化查询语言)进行数据管理,下面我们就简单介绍SQL语句的一些常用用法。通常我们要创建一个数据库时就会使用“CREATE DATABASE ”命令开头,使用某个数据库时就会以“use+数据库名称”命令,如果想要查看数据库里面数据表就会使用到“SHOW TABLES”命令,当然我们在操作数据表内容时也会使用到某些命令,比如删除就用“drop”,清空就用“delete from”,更新数据就用“update”,需要加入数据的话可以用“insert into ”等命令,这些就是SQL查询语句的惯用语法。这次采用mysql数据库还是源于它备受关注的实用性和可靠性,它里面的大部分功能一般的系统都还用不完,况且mysql小巧但它功能比较齐全,是一般系统软件的开发首选。MySQL开放的源代码通过360安全浏览器可以快速下载下来,程序员可以对这些免费的代码根据自身需求进行个性化定制操作。为了我们能够更好地使用MySQL,平时我们需要多加维护,有空的时候还是多多查看一些二进制日志、错误日志、常规查询日志等日志,它们能够帮助我们进行性能分析以及DBA检查,除了这个还需要注意每间隔一定时间就要更新缓冲区和缓存,这样能够降低碎片,利用OPTIMIZETABLE命令让数据表进行重新组织,还能节省许多空间避免空间浪费。
当前比较流行的网络化结构模式是B/S(浏览器/服务器)结构,它能够在服务器上面集中系统的所有核心功能,使系统开发人员的工作变得简单,并且开发出的系统也更容易使用和后期维护。用于比较熟悉的浏览器有360浏览器、谷歌浏览器、QQ浏览器等,用于比较熟悉的数据库有sqlserver、mysql数据库等,上边这些数据库和浏览器都可以安装在客户端上。B/S结构没有什么限制,并且还不需要专门的安装软件,只要笔记本、电脑有网络就能够访问系统。采用B/S结构开发的程序,比较好维护,只需要在客户端就可处理,不需要非得在服务器上处理,并且跟用户的交互性比较好,刷新浏览器就可进行数据信息的实时更新[22]。B/S架构如图2-1所示:
该科研经费管理系统是基于Spring、SpringMVC、Mybatis框架开发出来的。
2004年,Spring 框架才第一次亮相,后面也进行了很多次的更新。Spring框架包括SpringCore、Spring AOP、Spring ORM、Spring DAO、Spring Web Flow、Spring Context和Spring Web MVC等七个模块,企业应用程序就是通过这七个模块气筒不同的平台来进行开发的,Spring Web MVC中的各个元素之间形成了松散耦合[23-25]。
本次系统开发在系统框架设计上面采用了目前主流的企业级的SSM框架,相比SSH框架来说,SSM框架在现实应用中也运用得很广泛,SSM框架其实是Spring和Spring MVC以及MyBatis这三个部分首字母的缩写,SSM框架在搭建许多比较大型的企业级别的系统时基本能够胜任。Spring在2003年的时候比较流行,他是一个基于Java开发的轻量级别的开源框架,它主要能够简化企业在进行应用程序开发上面的复杂步骤,通常Spring在进行Java应用开发过程中大多数都是基于服务器端进行开发操作。Spring MVC能够支持Spring的特性,让开发变得更加简单规范。 Spring MVC通过简单分离控制器,分派器,模型对象还有进行程序处理对象的角色这四部分内容,使得它们变得更加容易进行定制处理。MyBatis其实是Java开发上面的持久层框架,这个框架它能够帮助开发者进行数据信息的增加,删除,修改,查询的管理操作。下面将展示SSM与三层架构的关系图。
图2-2 SSM与三层架构的关系图
开发者在进行开发系统之前,都需要进行可行性分析,保证该系统能够被成功开发出来。
开发该科研经费管理系统所采用的技术是vue和MYSQL数据库。计算机专业的学生在学校期间已经比较系统的学习了很多编程方面的知识,同时也接触了很多编程软件,所以在技术开发方面还是比较有信心的。
该科研经费管理系统的界面简洁清楚,操作简单,用户一看就会操作。操作界面上每一步都有提示,用户只要按照提示进行操作就可以了。该科研经费管理系统具有操作可行性。
我现在还是一名学生,还没有一份稳定的经济收入,所以我会将开发程序的成本控制在自己所能接受的范围内。我所使用的开发软件、数据库还有设计界面用的photoshop软件都是在网上免费下载的,另外程序编写阶段所用到的源代码也是在网上免费得到的,现在在网上能下载很多有用的、免费的东西,所以开发该系统基本不花钱,具有经济可行性。
我是通过图书馆、百度文库、百度网页等获得的开发该科研经费管理系统所需要用到的资料和软件,都是采用的合法渠道,另外源代码和论文内容都是我自己一字一字写出来的,没有抄袭别人的,具有法律可行性。
通过上述的技术可行性、操作可行性、经济可行性以及法律可行性分析,可以看出,该科研经费管理系统完全可以进行顺利开发。
二、易学性:该科研经费管理系统使用起来非常简单,用户一看就会,不需要进行专门的培训,非常好上手,使用个一两次就能够熟练操作;
三、数据要求:录入的数据准确可靠,能够及时进行更新,可以独立保存,删除一些不需要的数据;
四、稳定性:该科研经费管理系统能够稳定的运行,界面清晰明了;
五、可靠性:该科研经费管理系统安装有拦截器,可以对病毒等进行拦截,并且还对信息进行了保护措施,用户可以放心使用。
该科研经费管理系统主要为管理员和用户两类用户角色提供需求,管理员在后台可以对系统进行全面管理,用户在前台可以进行查看系统信息,注册登录,查询书籍,评论,下载书籍等操作。
用户静态结构如图3-1所示。
图3-1 用户静态结构图
该科研经费管理系统具有完善的功能,界面一目了然,用户一看就会操作,管理员功能模块和用户功能模块是该系统的两大主要功能模块,其功能需求具体如下:
管理员的功能需求:
管理员在后台可以全面管理系统,管理员的功能主要包括用户管理、新闻管理、书籍管理和评论管理等。
用户的功能需求:
用户在没有注册之前,进入网站,用户的主要功能包括查看网站首页、公告信息、书籍分类和书籍信息,用户在注册登录后进入网站,用户的主要功能包括书籍评论、加入书架、书籍下载、个人信息管理、我的书架和我的留言。
用户注册之后才可以登录系统,用户注册流程如图3-2所示:
图3-2 注册流程图
用户需要登录系统之后,才可以进行书籍评论、书籍下载等操作。而管理员也只有登录系统之后,可以对系统各个方面的内容进行管理,不受任何限制。用户登录流程如图3-3所示。
图3-3 登录流程图
本文通过B/S结构(Browser/Server,浏览器/服务器结构)开发的该科研经费管理系统,B/S结构的优点很多,例如:开发容易、强的共享性、便于维护等,只要有网络,用户可以随时随地进行使用。
系统工作原理如图4-1所示。
图4-1 系统工作原理图
系统结构设计就像一个树状结构一样,一个树干有很多分支,大任务相当于树干,小任务相当于树枝,只有需求分析信息弄清楚之后,才能保证每个小任务都能实现目标,对初步设计好的系统再进行不断优化,最终得到一个具体现实的系统结构。
管理员功能模块和用户功能模块是该科研经费管理系统的两大部分,系统结构如图4-2所示。
图4-2 系统结构图
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.3.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是用户实体和其具备的属性。
图4.1 用户实体属性图
(2)下图是商品信息实体和其具备的属性。
图4.2 商品信息实体属性图
(3)下图是公告信息实体和其具备的属性。
图4.3 公告信息实体属性图
(4)下图是字典表实体和其具备的属性。
(5)下图是留言版实体和其具备的属性。
图4.5 留言版实体属性图
(6)下图是购物车实体和其具备的属性。
图4.6 购物车实体属性图
(7)下图是经费申请审核实体和其具备的属性。
图4.7 经费申请审核实体属性图
(8)下图是科研项目实体和其具备的属性。
图4.8 科研项目实体属性图
(9)下图是商品评价实体和其具备的属性。
图4.9 商品评价实体属性图
(10)下图是商品订单实体和其具备的属性。
图4.10 商品订单实体属性图
(11)下图是用户表实体和其具备的属性。
(12)下图是收货地址实体和其具备的属性。
图4.12 收货地址实体属性图
-
-
- 数据库表设计
-
采用MYSQL数据库对该科研经费管理系统的数据进行存储,数据库中所包括的各个数据库表的详细信息如下所示:
表4.1字典表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 编码 | 是 |
5 | index_name | String | 编码名字 | 是 |
6 | super_id | Integer | 父字段id | 是 |
7 | beizhu | String | 备注 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.2经费申请审核表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | keyanxiangmu_id | Integer | 科研 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | jingfeishenqing_shuliang | BigDecimal | 申请经费数量 | 是 |
5 | shenqingyuanyin_text | String | 申请原因 | 是 |
6 | jingfeishenqing_yesno_types | Integer | 审核结果 | 是 |
7 | shenheyijian_text | String | 审核意见 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.3科研项目表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | keyanxiangmu_uuid_number | String | 科研编号 | 是 |
3 | keyanxiangmu_name | String | 科研名称 | 是 |
4 | keyanxiangmu_types | Integer | 科研类型 | 是 |
5 | keyanxiangmu_yusuan | BigDecimal | 科研预算 | 是 |
6 | keyanxiangmu_file | String | 附件 | 是 |
7 | insert_time | Date | 开始时间 | 是 |
8 | yonghu_id | Integer | 用户 | 是 |
9 | keyanxiangmu_yesno_types | Integer | 审核结果 | 是 |
10 | shenheyijian_text | String | 审核意见 | 是 |
11 | keyanxiangmu_content | String | 资料详情 | 是 |
12 | keyanxiangmu_delete | Integer | 假删 | 是 |
13 | create_time | Date | 创建时间 | 是 |
表4.4留言版表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | yonghu_id | Integer | 用户 | 是 |
3 | liuyan_name | String | 留言标题 | 是 |
4 | liuyan_text | String | 留言内容 | 是 |
5 | reply_text | String | 回复内容 | 是 |
6 | insert_time | Date | 留言时间 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.5公告信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | news_name | String | 公告信息标题 | 是 |
3 | news_types | Integer | 公告信息类型 | 是 |
4 | news_photo | String | 公告信息图片 | 是 |
5 | insert_time | Date | 公告信息时间 | 是 |
6 | news_content | String | 公告信息详情 | 是 |
7 | news_delete | Integer | 假删 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.6用户表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | yonghu_name | String | 用户姓名 | 是 |
3 | yonghu_id_number | String | 身份证号 | 是 |
4 | yonghu_phone | String | 手机号 | 是 |
5 | yonghu_photo | String | 照片 | 是 |
6 | yonghu_delete | Integer | 假删 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.7用户表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | username | String | 用户名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
源码获取