🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。
- 代码可以私聊博主获取。🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
- 《Springboot网站项目》400套
- 《ssm网站项目》800套
- 《小程序项目》300套
- 《App项目》500套
- 《python网站项目》600套
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目演示
摘要
随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理,交易等,而且过程简单、快捷。同样的,在人们的工作生活中,也就需要互联网技术来方便人们的日常工作生活,实现工作办公的自动化处理,实现信息化,无纸化办公。
本课题在充分研究了在Ssm框架基础上,采用B/S模式,以Java为开发语言,MyEclipse为开发工具,MySQL为数据管理平台,实现的内容主要包括首页,个人中心,用户管理,电子资源管理,资源列表管理,资源日志管理,我的收藏管理,系统管理等功能。
关键词:电子资源管理;Java;Ssm
1 绪论
1.1课题研究的背景
随着电子技术的普及和快速发展,线上管理系统被广泛的使用,有很多事业单位和商业机构都在实现电子信息化管理,电子资源管理也不例外,由比较传统的人工管理转向了电子化、信息化、系统化的管理。
传统的电子资源管理,一开始都是手工记录,然后将手工记录的文档进行存档;随着电脑的普及,电子资源管理演变成了手工记录后,输入电脑进行存档。传统的管理方式,对管理者来说工作量大。而且这种电子资源管理的方式,容易出现遗失或因为失误输入错误的信息等。在这些基础上,我把用Ssm为框架的电子资源管理系统作为我的毕业设计,希望可以解决传统电子资源管理中出现的问题,简化工作人员的压力,也可以方便管理员进行系统化、电子化的管理。
1.2课题研究的内容
研究的基本内容:本设计主要是实现一个电子资源管理系统,实现电子资源的自动化、信息化管理。系统的主要的设计原则是:以实际应用为核心,重点突出“实用、易用、简洁、稳定”的优点。既能够注重到实效,满足现实用户的实际需要,也能够为系统以后的升级和扩展留有一定的余地。在技术设计的实现上,突出“实现合理、结构清晰、简单易懂”的特点。
本系统的主要目的在于加速信息化进程,充分利用计算机技术和现代通讯的手段面向国家、或其他地区的服务。建立信息交流平台,方便信息资源的共享,加强各个部门之间的交流。提高整体的办公效率,为管理员以及用户提供辅助的电子资源管理服务。本系统将最大程度地提高整体的工作效率和工作质量,降低管理和工作的成本,改善工作的环境和条件,提高管理和决策的自动化和科学化水平。帮助管理者节省费用,减少中间环节,优化业务流程,提高整体效率,促进管理的进步。
1.3系统开发的意义
随着互联网技术的发展,人们的生活无处不在的受到互联网技术影响,而互联网技术给人们生活带来的便利是不言而喻的。对于现代化的电子资源管理管理系统而言,它的目的并不是减少管理者的工作量,而是让用户们从繁琐的电子资源管理过程中解脱出来,这样就可以提高电子资源管理的效率,服务于更多的群众,所以开发本系统是十分有意义的。
1.4初步设计方法与实施方案
软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S结构成为最佳之选。使用B/S结构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常运行该系统,而且后期维护及二次修改较为容易,符合要求。
操作系统方案:Windows10操作系统,该系统是目前微软公司推出的最新系统,目前大多数市面上的电脑都使用该系统,并且该系统功能完善,兼容性好。开发工具:选用My Eclipse、Java开发技术。
1.5论文结构
本论文主要划分成七大章节,具体内容如下:
第一部分为绪论,对系统的主要内容,主要介绍了目前电脑技术发展背景、电子资源管理管理行业发展意义和初步设计方法与实施方案。
第二部分为相关技术简介,系统主要使用了java技术, b/s模式和myspl数据库,并对此做了介绍。
第三部分为系统分析,主要分析了软件设计所需要的功能。
第四部分为系统设计,主要进行了系统的架构设计、数据库设计等。
第五部分为系统详细设计。
第六部分为系统调试与测试,利用测试方法进行可行性测试、性能测试、系统测试等。
第七部分为总结与致谢,主要总结了程序设计的完成过程及完成情况,比对完成设计过程中施以援手的同学和老师表达中心的感谢和祝愿。
2相关技术介绍
2.1 Java语言简介
Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景,它是面向对象的,分布式的,动态的,具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样,但是它面向对象的技术更加彻底,因为Java要求将所有的内容都必须封装成类,把类作为程序的基本单位。由于不允许类外有变量、方法。 Java语言的分布式体现在数据分布和操作分布,它是面向网络的语言,可以处理TCP/IP协议,它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的,使得Java可以动态的维护程序。Java不支持指针,对内存访问的所有操作都是通过对象实例化实现的,这样就避免了指针操作中易产生的错误,同时也预防了病毒对系统的破坏和威胁。
Java语言的编程风格与C语言非常接近,它继承了C++面向对象技术的核心,它面世之后发展迅速,非常流行,对高级C语言形成了很大的冲击。业内人士称之为“一次编译、到处执行”。当然java也有缺点,在每次执行编译后,字节码都需要消耗一定的时间,在某些程度上降低了性能。但是这并不影响java成为此次设计语言的选择。Java语言简单易学,使用它的编程时间短,功能性强,开发者学习起来更简便、更快。Java的主要特性有以下几个:
1.面向对象
面向对象有四个特点:封装、继承、多态、抽象。抽象是指忽略一个问题中的次要部分,关注主要部分。多态是指对同一种消息做出的不同反应。继承是指在原有的父类方法基础上增加自己独有的方法,而不改变原来父类。
2.平台无关性、
Java编译出来的是字节码,直接由虚拟机执行。在任何平台上,只要有Java虚拟机,Java代码都能运行。
3.可靠性和安全性
Java对内存的访问都必须通过对象的实例变量来实现,避免了指针中出现的错误。
4. 多线程
Java提供了多线程功能,利用编程实现同一时间同时工作的功能。
2.2B/S架构
B/S的系统是通过能上网的电脑就可以使用,它最大的优点是不需要安装专门的软件,首先浏览器向服务器发出请求,然后服务器处理请求把信息再返回给浏览器。不需要再次对数据进行存取与计算数据,只要负责显示数据来降低要求,如果说客户端像个“瘦子”,而服务器会越来越“胖”。B/S体系结构与C/S体系结构相比,最大的不同是:B/S体系的应用软件使用网络浏览器作为与用户交互的平台,而C/S则需要开发专用的应用程序。
图2-1 B/S结构图
2.3 MySQL介绍
在软件项目,通过经营性数据的数据库,可以保证其安全,独立和数据一致,访问数据的系统来提供,所以有效减少时间程序员开发应用程序。
MySQL可以支持多线程,可以方便使用系统的资源,提高运行的速度。并提供odbc、jdbc和tcp/ ip,以各种形式连接到MySQL; 功能方面表现欠缺,规模小,但对于这个系统就足够了。
因为MySQL是源代码对外开放的,所以任何人都可以通过相应的方法下载,并根据个性化需求进行修改。 由于MySQL的速度,可靠性和适应性,MySQL受到重视。
MySQL虽然功能可能不是很强大,但由于其开源,广泛传播,导致很多人都意识到这个数据库。
2.4 Ssm框架
开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。
3系统需求分析
3.1可行性分析
可行性分析是系统开发过程中的重要的一步,可行性研究是指在开发系统时,先对整体系统的所有的需求,所需要使用的技术和在开发时候需要用到的方法,以及开发所需要的人员,资金等各方面的综合考虑之后,再对该系统是否符合实际开发的要求进行评估,满足实际要求之后再进行实际的开发工作。一般的可行性分析包括:技术可行性、经济可行性可行性等;
研究的目的就是使用最小的代价和最短的时间来确定问题是否能够完善解决。该系统的可行性分析主要包括以下几个方面的内容。
3.1.1经济可行性分析
电子资源管理管理系统,主要面向的是电脑用户,成本并不高,对于系统的维护和调试,只需要一个人就可以完成,所以在人力方面,投入的也很少。虽然说人力和资金的投入并不多,但是面临的收益是十分可观的。
3.1.2技术可行性分析
电子资源管理系统的开发使用了比较成熟的企业级项目开发的模式。使用MyEclipse作为开发工具,数据库使用MySQL。以Java技术为基本,使用Ssm框架搭建工程环境,结合自身的实际项目开发能力,完全可以开发出比较完善的电子资源管理系统。
3.2需求分析
3.2.1功能需求分析
根据一般电子资源管理管理系统的功能需求分析,本系统的功能模块如下:
(1)在个人中心,管理员可以修改自己的用户名和登录密码。
(2)在用户管理模块中,可以查看用户的信息。
(3)在管理员模块中,管理员可以新增电子资源管理信息,也能进行修改、删除等。
3.2.2系统性能需求分析
对系统性能进行分析,可对系统反应度、界面简洁清晰度、储存能性、易学性和稳定性进行分析。
系统反应度:同时上万人在线时反应时间应该在两三秒以内。
界面简洁清晰:系统界面要求简单明了,操作简单,用户操作容易上手。
储存性能高:电子资源管理系统中需要存储的信息有很多,所以对系统的存储量要求很高,因此数据库就应该很强大,才能保证信息能安全稳定的进行存储;
易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。
稳定性:要求电子资源管理系统运行要稳定,界面清楚、字体清晰等。
3.3系统流程的分析
由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以用户功能权限下的系统业务流程来分析,如下图所展示:
3.3.1用户管理的流程
3.3.2个人中心管理流程
图3-2 个人中心管理流程
3.3.3登录流程
图3-3 登录流程
3.4系统现状分析
系统使用用户的数量直接决定了用户信息管理者的工作量,毫无疑问,系统管理者的工作量较大较繁琐。通过前期的调研总结出系统现有的对用户管理工作状况如下分析:
缺少统筹规划,如果一个系统在信息化管理中缺少综合性、系统性、整体性,那不可避免的需要投入大量人力物力来规划整理信息。引入信息化管理方式无疑可以达到节省信息管理成本的目的不仅减少资源浪费还可以使电子资源管理信息的管理变得井井有条,成为市场竞争中的一大优势。
要循序渐进,心急吃不了热豆腐,任何事情都不可能一蹴而就,就算信息管理系统也一样,要让系统发挥最大效率还是应该多调研,多听取用户和管理者的意见,并进行必要的统筹规划,有组织有目的地设计系统功能,团结各个部门发挥主观能动性。
(1)信息安全措施不到位
隐私权神圣不可侵犯,这是中华人民共和国宪法赋予我们的权利,人和人都不能侵犯我们的正当权益,而网络用户信息管理存在极大安全隐患,信息泄露的案列不在少数,加强信息安全措施是完善网络信息管理过程中不可避免的一环。
(2)资源不能充分共享
资源共享是网络的一大特点,没有共享就没有社交,网络也就失去了他应有的魅力,如果能够实现用户信息共享,无疑对于今后的发展存在不可或缺的帮助。
(3)现有系统可扩展性不高。
如今科学技术发展飞速,随着而来的就是技术更新,那势必会给软件更新带来挑战,因此,系统必须具备良好的开放性和可扩充性,为了不落后于时代,这是必备特色之一。
基于上述分析,电子资源管理系统应该切合实际,做到确实有效,集体表现为:一是系统能够整理并集合归类用户信息,防止用户信息混乱,难以整理;二是系统要安全稳定,不能泄露用户信息,造成隐私泄露,不仅伤害用户利益更是对经营者名誉的损毁;三是系统要具有良好的开放性,不仅要方便定期的维护维修,更要方便及时增加新功能,保证先进的时代契合性。经过详细的讨论论证,确定系统的总体要求。
4系统总体设计与实现
4.1总体设计
电子资源管理系统采用了结构化开发的方法。这种开发方法的优点是控制性比较强,开发过程中采用了结构化和模块化的设计思想,自顶向下,从总体到部分,合理划分系统的结构和模块。结构化开发时使用模块式开发,各模块之间互不影响,方便系统的开发与管理。
本系统的设计是基于 B/S架构的三层体系结构,也就是浏览器和服务器结构。计算机技术发展的速度非常快,以前的设计结构都以C/S的模式为主,也就是客户端和服务端模式。但随着网页技术的发展,越来越多的用户习惯于使用浏览器。现在的网页技术可以在浏览器中实现非常漂亮的效果,以前的单一低调的客户端页面已经无法满足用户的需求。在B/S这种结构下,技术人员可以很轻松的设计出用户所需要的工作界面,页面代码通过浏览器进行解析展示,在浏览器中不做过多的事务逻辑的处理。主要的事务逻辑放在服务端进行处理。这样用户的电脑就不会承载过多的东西,只需要浏览器展示即可。对于开发人员也很方便进行系统的维护和升级。开发人员只需要在服务端进行系统的维护就可以了。使用Java这样的跨平台性非常好的语言,这样的开发模式更加的方便,高效。本系统合理的进行了模块划分和组合,因此由于各个模块之间基本上是相互独立的,所以每个模块都可以独立的被解释、执行、调试和修改,让繁琐的系统设计工作简单化。系统总体设计图如下图4-1所示:
图4-1系统总体设计图
4.2数据库设计
4.2.1概念模型设计
数据可设计要遵循职责分离原则,即在设计时应该要考虑系统独立性,即每个系统之间互不干预不能混乱数据表和系统关系。
数据库命名也要遵循一定规范,否则容易混淆,数据库字段名要尽量做到与表名类似,多使用小写英文字母和下划线来命名并尽量使用简单单词。
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
用户注册实体图如图4-2所示:
图4-2用户注册实体图
资源列表实体图如图4-3所示:
图4-3资源列表助实体图
4.2.2物理模型设计
根据上诉的逻辑模型设计,下面给出物理模型的设计,如下表:
表4-1:编目检查
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| wenjianmingcheng | varchar | 200 | 文件名称 | ||
| shujukubianma | varchar | 200 | 数据库编码 | ||
| shujukumingcheng | varchar | 200 | 数据库名称 | ||
| fenlei | varchar | 200 | 分类 | ||
| yonghuzhanghao | varchar | 200 | 用户账号 | ||
| yonghuxingming | varchar | 200 | 用户姓名 | ||
| tijiaoshenpishijian | date | 提交审批时间 |
表4-2:资源列表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| wenjianmingcheng | varchar | 200 | 文件名称 | ||
| shujukubianhao | varchar | 200 | 数据库编号 | ||
| shujukumingcheng | varchar | 200 | 数据库名称 | ||
| fenlei | varchar | 200 | 分类 | ||
| zhuangtai | varchar | 200 | 状态 | ||
| shangchuanshijian | date | 上传时间 |
表4-3:资源检索
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| dankujiansuo | varchar | 200 | 单库检索 | ||
| duokujiansuo | varchar | 200 | 多库检索 |
表4-4:资源标引
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| shuhao | varchar | 200 | 书号 | ||
| shuming | varchar | 200 | 书名 | ||
| zuozhe | varchar | 200 | 作者 | ||
| qitazerenzhe | varchar | 200 | 其他责任者 | ||
| chubanshe | varchar | 200 | 出版社 | ||
| banci | varchar | 200 | 版次 | ||
| chubanshijian | datetime | 出版时间 | |||
| yeshu | varchar | 200 | 页数 | ||
| yuyan | varchar | 200 | 语言 | ||
| fenlei | varchar | 200 | 分类 | ||
| fengmian | varchar | 200 | 封面 | ||
| guanjianzi | varchar | 200 | 关键字 | ||
| zhaiyao | longtext | 4294967295 | 摘要 | ||
| sfsh | varchar | 200 | 是否审核 | 否 | |
| shhf | longtext | 4294967295 | 审核回复 |
表4-5:用户
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| yonghuzhanghao | varchar | 200 | 用户账号 | ||
| yonghuxingming | varchar | 200 | 用户姓名 | ||
| mima | varchar | 200 | 密码 | ||
| xingbie | varchar | 200 | 性别 | ||
| lianxifangshi | varchar | 200 | 联系方式 | ||
| touxiang | varchar | 200 | 头像 |
表4-6:系统日志
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| shujukubianma | varchar | 200 | 数据库编码 | ||
| shujukumingcheng | varchar | 200 | 数据库名称 | ||
| fenleifangfa | varchar | 200 | 分类方法 | ||
| wenjian | varchar | 200 | 文件 | ||
| yonghuzhanghao | varchar | 200 | 用户账号 | ||
| yonghuxingming | varchar | 200 | 用户姓名 | ||
| shijian | date | 时间 |
表4-7:用户表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| username | varchar | 100 | 用户名 | ||
| password | varchar | 100 | 密码 | ||
| role | varchar | 100 | 角色 | 管理员 | |
| addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-8:token表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| userid | bigint | 用户id | |||
| username | varchar | 100 | 用户名 | ||
| tablename | varchar | 100 | 表名 | ||
| role | varchar | 100 | 角色 | ||
| token | varchar | 200 | 密码 | ||
| addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
| expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-9:数据库名称
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| dianzitushu | varchar | 200 | 电子图书 | ||
| qikan | varchar | 200 | 期刊 | ||
| wenxian | varchar | 200 | 文献 | ||
| lunwen | varchar | 200 | 论文 | ||
| biaozhun | varchar | 200 | 标准 | ||
| zhuankan | varchar | 200 | 专刊 | ||
| moban | varchar | 200 | 模板 | ||
| gongju | varchar | 200 | 工具 | ||
| huiyi | varchar | 200 | 会议 |
表4-10:数据库
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| shujukubianma | varchar | 200 | 数据库编码 | ||
| shujukumingcheng | varchar | 200 | 数据库名称 | ||
| yonghuzhanghao | varchar | 200 | 用户账号 | ||
| yonghuxingming | varchar | 200 | 用户姓名 | ||
| chuangjianshijian | varchar | 200 | 创建时间 | ||
| fenleifangfa | varchar | 200 | 分类方法 | ||
| shuliang | int | 数量 | |||
| miaoshu | varchar | 200 | 描述 |
表4-11:配置文件
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| name | varchar | 100 | 配置参数名称 | ||
| value | varchar | 100 | 配置参数值 |
表4-12:资源上传
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| shujukubianma | varchar | 200 | 数据库编码 | ||
| shujukumingcheng | varchar | 200 | 数据库名称 | ||
| fenleifangfa | varchar | 200 | 分类方法 | ||
| miaoshu | varchar | 200 | 描述 | ||
| wenjianmingcheng | varchar | 200 | 文件名称 | ||
| wenjian | varchar | 200 | 文件 | ||
| chuangjianshijian | date | 创建时间 | |||
| shuliang | int | 数量 | |||
| yonghuzhanghao | varchar | 200 | 用户账号 | ||
| yonghuxingming | varchar | 200 | 用户姓名 | ||
| sfsh | varchar | 200 | 是否审核 | 否 | |
| shhf | longtext | 4294967295 | 审核回复 |
5 系统功能的详细设计与实现
5.1系统功能模块
电子资源管理系统,在系统首页可以查看首页,电子资源,资源列表,个人中心,后台管理等内容,并进行详细操作;如图5-1所示。
图5-1系统首页界面图
用户注册,在用户注册页面通过填写用户账号,用户姓名,密码,确认密码,联系方式等信息进行注册操作,如图5-2所示。
图5-2用户注册界面图
资源列表,在资源列表页面可以查看资源编号,资源名称,资源类型,用户账号,用户姓名,发布时间,音频等内容,并进行赞一下,踩一下,点我收藏等操作,如图5-3所示。
图5-3资源列表界面图
个人中心,在个人中心页面通过填写用户账号,用户姓名,密码,性别,联系方式,图片等内容进行更新信息操作,并对我的收藏进行详细操作;如图5-4所示。
图5-4个人中心界面图
5.2管理员功能模块
系统登录,用户进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图5-5所示。
图5-5系统登录界面图
5.2.1管理员功能模块
管理员登录系统后,可以对首页,个人中心,用户管理,电子资源管理,资源列表管理,资源日志管理,我的收藏管理,系统管理等功能进行相应的操作管理,如图5-6所示。
图5-6管理员功能界面图
用户管理,在用户管理页面可以对索引,用户账号,用户姓名,性别,联系方式,头像等内容进行详情,修改和删除等操作,如图5-7所示。
图5-7用户管理界面图
电子资源管理,在电子资源管理页面可以对索引,资源编号,资源名称,资源类型,简介,规格,图片等信息进行详情,修改和删除等操作,如图5-8所示。
图5-8电子资源管理界面图
资源列表管理,在资源列表管理页面可以对索引,资源编号,资源名称,资源类型,规格,音频,图片,用户账号,用户姓名,发布时间等内容进行详情,资源日志,修改,查看评论和删除等操作,如图5-9所示。
图5-9资源列表管理界面图
资源日志管理,在资源日志管理页面可以对索引,资源编号,资源名称,资源类型,视频,音频,图片,用户账号,用户姓名,发布时间,备注等内容进行详情,修改,查看评论和删除等操作,如图5-10所示。
图5-10资源日志管理界面图
5.2.2用户功能模块
用户登录进入电子资源管理系统可以对首页,个人中心,电子资源管理,资源列表管理,资源日志管理,我的收藏管理等功能进行相应操作,如图5-11所示。
图5-11用户功能界面图
资源列表管理,在资源列表管理页面可以对索引,资源编号,资源名称,资源类型,规格,音频,图片,用户账号,用户姓名,发布时间等内容进行详情,资源日志,修改,查看评论和删除等操作,如图5-12所示。
图5-12资源列表管理界面图
6 系统测试
系统测试是软件开发过程中最后一步,但也是不可或缺的重要的一步,没有人可以保证一次性编写完成的系统不会出错,而系统测试就是将自己开发的系统成为成品前的最后一步。在测试过程中需要进行严谨细致的测试,要尽可能全面地在不同情况下运行该系统,排除一切出现错误的可能。该系统的系统测试主要包括功能测试,可用性测试,维护测试,性能测试等部分,测试结果如下:
6.1功能测试
功能测试主要包括五项内容,分别是适用性,准确性,可操作性,依从性和安全性。系统的功能测试表如下所示:
表6-1 系统功能测试
6.2可用性测试
可用性测试用于检测系统的可操作性、可理解性、可学习性等方面内容。具体测试方面如下所示。
表6-2系统可用性测试
6.3维护测试
由于篇幅的原因,本节给出系统部分功能的维护测试用例。具体测试方面如表6-3所示。
表6-3系统用例测试
6.4性能测试
性能测试:通过模拟系统运行环境来测试系统能否能达到预期效果。性能测试的主要技术方针是对系统运行速度,网络反应时间和支持并发节点数。
1)系统运行速度:得益于B/S架构,该系统能在不同配置电脑上运行并无明显卡顿,滞后,完全符合客户要求。
2)网络反应时间:网络反应时间主要包括网络最小反应时间,平均反应时间和最大反应时间三个参数值。经过测试,在正常网络运营状态下,局域网内反应时间三参数为:1/2/5s,外网反应时间三参数为3/7/12s,符合客户需求,属于用户心理可承受范围。
3)支持并发节点数:经过模拟环境测试,本系统在并发节点达45个时,网络运营速度会发生较大波动,延迟时间10秒左右,符合客户需求。
6.5测试结果分析
经过对上述测试结果分析,本系统能够在不同电脑上使用运行,具备一定安全性,用户信息不易泄露,能够日后再增删功能,能够实现所有功能,产品运行性能良好,能达到毕业设计要求。
7结论
到此为止,电子资源管理系统已经基本完成,本系统主要使用了Java技术Ssm框架技术,结合JSPM工作流引擎以及功能强大的MySQL数据库管理工具。系统实现了首页,个人中心,用户管理,电子资源管理,资源列表管理,资源日志管理,我的收藏管理,系统管理等功能的管理,完成了系统设计任务的所有要求。
在这次毕业设计的过程中,我理解了更多的关于电子资源管理的内容,学会了如何将现实中需求转化成系统的功能,在摸索学习过程中不断的提高自己的代码能力,以前开发都只开发一些业务逻辑的功能,从未接触过一个整体系统的设计与实现,这次毕业设计,我一边学习一边思考设计,最终既学会了一般的系统功能设计也完成了毕业设计。当然,在这次毕业设计的过程中我遇到了很多的困难,很多的问题。在遇到困难的时候我没有逃避,自觉的查找相关资料加强学习,自己解决的不了的问题就咨询身边的同学和老师。身边的同学和老师都非常的热情,友好,对待我的问题都很热情帮我解决,所以在此,我非常的感谢他们。是他们的支持与帮助,才使我顺利的完成这次毕业设计。
参考文献
[1] 张伟.Java程序设计详解:东南大学出版社,2014.3
[2] 杨卫兵,王伟,崔毅. JavaWeb编程详解:东南大学出版社,2014.3
[3] 陈雄华,林开雄.Spring3.0就这么简单:人民邮电出版社,2013.1
[4] 李刚.轻量级Java EE企业应用实践(第3版) [M]. 电子工业出版社. 2011.3
[5] 蔡剑,景楠.Java Web应用开发[M].高等教育出版社.2005.1
[6] 常建功.Java Web典型模块与项目实战大全[M].北京:清华大学出版社,2011.1
[7] 韩京宇.Web技术教程.人民邮电出版社.2014.12
[8] 张海,黄建昌.Java Web主流框架整合[M].清华大学出版社.2010.2
[9] 刘增杰,张少军.MySQL 5.5从零开始学.清华大学出版社.2012.1
[10] 霍斯特曼, 科内尔.Java核心技术(卷1): 基础知识(原书第9版) [M]. 人民邮电出版社, 2014.
[11] 林龙. JSP+Servlet+Tomcat应用开发从零开始学[M]. 机械工业出版社, 2015.
[12] 栾颖.Java高级编程与应用 .清华大学出版社.2014.12
[13] 张志锋, 朱颢东.Java Web技术整合应用与项目实战[M]. 清华大学出版社,2013.
[14] 王剑南. 软件B/S前台开发[M]. 清华大学出版社, 2012.
[15] 西尔伯沙茨. 数据库系统概念[M]. 机械工业出版社,2012.
[16] 常建功.Java Web典型模块与项目实战大全[M]. 人民邮电出版社, 2011.
[17] 杨晓军, 秦方.MVC Web开发学习实录[M]. 机械工业出版社, 2011.
[18] 伊雯雯. 基于MVC的Java Web开发项目式教程[M]. 人民邮电出版社, 2014.
[19] 高洪岩. Java EE核心框架实战[M]. 机械工业出版社[M]. 清华大学出版社, 2014.
[20] 陈丹丹, 卢瀚. 学通Java Web的24堂课[M]. 机械工业出版社, 2011.
[21] 丁旭. 基于B/S架构的软件项目实训:JSP [M]. 清华大学出版社, 2011.
核心代码展示
/**
* 公告通知
* 后端接口
* @author
* @email
* @date 2021-03-09 11:33:59
*/
@RestController
@RequestMapping("/news")
public class NewsController {
@Autowired
private NewsService newsService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( NewsEntity news){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
return R.ok().put("data", newsService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查询公告通知成功").put("data", newsView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody NewsEntity news, HttpServletRequest request){
//ValidatorUtils.validateEntity(news);
newsService.updateById(news);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
newsService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = newsService.selectCount(wrapper);
return R.ok().put("count", count);
}
}






154

被折叠的 条评论
为什么被折叠?



