博主介绍:✌全网粉丝10W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌
技术栈介绍:我是程序员阿龙,提供一年售后,免费修改服务
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
系统介绍:
对报刊订阅的管理进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的报刊订阅管理系统。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员和用户两种角色,主要包含个人中心、用户管理、报刊类型管理、新闻信息管理、报刊信息管理、报刊订阅管理、系统管理等功能。
系统开发主要在 Windows 平台下进行,采用支持跨平台的java语言开发完成,因此可以运行在任意开发环境下。系统采用mysql数据库和B/S结构的方式,按照ssm框架进行开发。
开发系统介绍:
2.1开发工具
本平台开发使用到的工具包括Tomcat,MySQL和Vision,下边对它们进行简单的介绍。
(1)Tomcat;Java Web应用程序开发中常用的应用服务器,我们可以将自己开发好的项目部署到Tomcat中进行运行测试,重点是Tomcat体积很小,不需要复杂的安装和配置,下载之后可以直接使用,非常方便。
(2)MySQL数据库;MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。MySQL谁最流行的关系型数据库管理系统之一,在Web应用方面,MySQL是最好的RDBMS(关系型数据库管理系统)应用软件之一。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小,速度快,总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
(3)Vision;Office办公组件之一,安装之后,可以用来绘制相应的图形,帮助我们更好的理解平台的情况,建立对平台清晰的认识,是开发中最常使用的建模工具。
2.2 开发技术
本平台在后台使用Java语言实现跨平台的处理,以B/S的结构方式以及ssm框架进行开发,数据库使用MySQL。
2.2.1 Java语言
Java是一种在Web应用开发中得到广泛使用的脚本语言,经常被用来对用户的相关行为做出反应。它还具有面向对象的设计能力,使设计开发过程更加直观和模块化,并在HTML基础上进行交互Web页面的开发[9]。这种脚本语言的问世,使用户与页面之间的实时、动态交互成为现实,丰富了页面的内容,增强了页面的活力。另外,Java技术也被广泛地运用于该系统,比如对用户输入的数据进行检测,以保证其有效性。Java技术[10]可以在不依赖Web服务程序的基础上在本地客户机上运行。从而有效地解决了因网络速度所带来的迟缓问题,使用户能够更加顺畅、快捷地进行访问。一些功能,比如用户的数据输入,可以通过JavaScript这样的客户语言来完成。该系统采用Java客户机进行用户身份认证,确保了系统的安全性和可靠性。
2.2.2 JSP技术介绍
JSP技术本身是一种脚本语言,JSP全称java server page(java服务页),JSP在使用时不能直接被客户端浏览器直接运行,它只能被服务器运行解析,其本质上JSP是一个Servlet,但看上去更像一个HTML,相比较JSP更适合编写服务器端运行页面。它与HTML的最大区别,就是JSP在客户端浏览器中查看源码是看不到的。简单地说,JSP就是在HTML的基础上加了JAVA代码。JSP还拥有九大内置对象,可以更好地对网页进行开发。
2.2.3 ssm框架
SSM框架是指 Spring、Spring MVC和MyBatis三大框架的有机结合,是在SSH后发展的较为主流的Java EE框架,SSM 框架可以快速搭建各种不同类型的企业级应用系统。
1、Spring框架:
Spring是一个包含核心容器、Spring AOP、Spring ORM、Spring Web等组成模块,为简化企业复杂开发而设计的后端开源框架,利用Meta Data指定系统Bean应用后台对象进行实例化、配置和组装,以上控制反转IOC操作,均在Spring容器框架中完成。
- Spring MVC框架:
Spring MVC开源框架同属于Spring框架,它基于MVC设计模式,其主要的作用是降低了视图与业务逻辑的双向耦合。前端发起的所有服务请求都会到后端的控制器Controller中进行相应的逻辑处理。
3、MyBatis框架:
MyBatis 是一款优秀的持久层框架。与用传统JDBC进行数据库管理不同的是,它会自动对输入参数和输出结果进行映射,同时,它让开发者仅关注SQL本身,无需创建连接和statement对象。在完成SQL语句查询、执行后,MyBatis会将返回的ResultSet对象,转换成Java对象。因此方便获取、写出 SQL语句的执行结果,才是MyBatis框架技术的核心竞争力。
2.2.4 B/S架构
B/S结构就是指平台客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分平台搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的平台搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且平台需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
3需求分析
在软件的生命周期中,需求分析是其中关键的一环。需求分析过程中不仅要对平台应该实现的功能提出准确和完善的请求,还要考虑需求的可行性。需求分析对设计和实现一个平台具有决定性的重大意义。只有充分完整的需求分析才能为后续的平台开发过程和实现成果奠定基础。
3.1 需求描述
根据日常实际需要,一方面需要在平台中实现基础信息的管理,同时还需要结合实际情况的需要,提供报刊订阅功能,方便报刊订阅管理工作的展开,综合考虑,本套平台应该满足如下要求:
首先,在系统中需要实现对基础信息,包括用户管理、报刊类型管理、新闻信息管理、报刊信息管理、报刊订阅管理、系统管理等信息的管理,这些是系统的基础信息和系统中其他内容密切相关。
然后,平台中需要实现对用户的管理,允许管理员对用户进行必要的设置,同时要避免管理员对个人信息进行操作,保障用户的信息安全。
3.2 系统角色需求分析
综合报刊订阅管理经历和对网上信息归纳整理的结果,在实际应用中,将用户分为两种:管理员和用户两个角色。其中用户角色可以操作的内容是有限的,管理员可以进行的操作最多。了解系统用户的分类以及可以进行的操作,对于接下来实现相关的功能具有重要的意义。
3.3 系统功能需求分析
(1)系统的通用功能包括用户登录和密码修改,是两个角色共同需要使用的功能,用例分析如图3-1所示
图3-1 系统通用功能用例分析图
(2)管理员可以对个人中心、用户管理、报刊类型管理、新闻信息管理、报刊信息管理、报刊订阅管理、系统管理等进行基本的信息管理。其用例分析如图3-2所示(3) 用户可以对个人中心和报刊订阅管理进行操作,用例分析如图3-3所示
系统设计:
4. 详细设计与实现
4. 系统测试
4.1 测试目的
在报刊订阅管理系统正式投入使用前,我们可以通过对报刊订阅管理系统的检测,找出其中的问题和不足,并对其进行进一步的修正与完善,从而提高平台的优化水平和整体性能。系统测试是软件开发的必经之路,为系统实现的完整性、系统性能的可靠性提供保障。系统测试主要包括两种方法,一种是检查软件的每一个功能是否能够正常使用的黑盒测试,另一种检测软件编码过程中错误的白盒测试。
首先,本系统采用了白盒测试技术,对代码中出现的问题进行了修正,提高了代码的准确度。由于黑盒测试中使用了大量的测试用例,以下将列举一些主要的黑盒测试用例。
4.2 测试用例
(1)登录测试
登录功能是用户进入系统的校验窗口,其中需要填写的信息包括用户账号和用户密码,下面将根据此功能设计具体测试用例来验证登录功能的实现与否。具体测试用例见表6-1。
表6-1 登录功能测试用例
|---------|---------|----------------|--------------|------|
| 用例序号 | 用例描述 | 测试步骤 | 期望输出 | 测试结果 |
| Test_01 | 页面展示 | 浏览器输入登录地址 | 进入登录页面 | 成功 |
| Test_02 | 账号非空检验 | 账号为空,点击"登录"按钮 | 提示"用户账号必须输入" | 成功 |
| Test_03 | 账号存在性检验 | 输入不存在的账号 | 提示"输入的账号不存在" | 成功 |
| Test_04 | 密码非空检验 | 输入正确的账号,密码为空 | 提示"用户密码必须输入" | 成功 |
| Test_05 | 密码正确性检验 | 输入正确的账号和不正确的密码 | 提示"输入的密码错误" | 成功 |
| Test_06 | 登录成功检验 | 输入正确的账号和密码 | 登录成功,进入首页 | 成功 |
(2)修改密码测试
更改密码功能需要用户输入原始密码、修改后的密码、修改后的确认密码,方可更换密码。具体测试用例见表6-2。
表6-2 修改密码测试用例
|---------|--------------|----------------------------------------|---------------|------|
| 用例序号 | 用例描述 | 测试步骤 | 期望输出 | 测试结果 |
| Test_01 | 页面跳转 | 点击"密码修改"按钮 | 进入密码修改页面 | 成功 |
| Test_02 | 原始密码非空检验 | 原始密码为空,点击"提交"按钮 | 提示"原始密码必须输入" | 成功 |
| Test_03 | 原始密码正确性检验 | 输入错误原始密码 | 提示"原始密码输入错误" | 成功 |
| Test_04 | 修改密码非空检验 | 输入正确的原始密码,修改密码为空,点击"提交"按钮 | 提示"修改密码必须输入" | 成功 |
| Test_05 | 确认密码非空检验 | 输入正确的原始密码,修改密码非空,确认密码为空,点击"提交"按钮 | 提示"确认密码必须输入" | 成功 |
| Test_06 | 两次新密码输入一致性检验 | 输入正确的原始密码,修改密码非空,确认密码与修改密码不一致,点击"提交"按钮 | 提示"两次密码输入不一致" | 成功 |
| Test_07 | 修改成功检验 | 输入正确的原始密码,修改密码非空,确认密码与修改密码一致,点击"提交"按钮 | 提示"处理成功" | 成功 |
为什么选择我:
我的程序阿龙, 博主本身从事教育软件辅导、有丰富的编程能力和水平、累积给上千名同学进行辅导、全网累积粉丝超过10W。是CSDN特邀作者、博客专家、新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流和合作。
源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏👇🏻