博客
关于我
大三上学期实训——基于SpringBoot的电影后台管理系统
阅读量:607 次
发布时间:2019-03-12

本文共 2232 字,大约阅读时间需要 7 分钟。

电影后台管理系统文档

系统需求分析

产品非功能需求

用户需求

本系统设计建立在用户需求之上,通过对用户需求的分析,可以更好地实现系统,明确系统的设计方向。

随着社会的不断发展,越来越多的年轻人选择通过观看电影来娱乐。同时,网络上的各种电影网站也越来越多。年轻人也已经习惯通过网络来访问和查看最新的电影。在这一背景下,我们开发了一个电影后台管理系统。通过对用户需求的调研,我们确定了以下主要模块:新闻管理模块、电影管理模块、分类信息管理模块和标签信息管理模块。同时,为了确保安全性,不允许随便进行注册。

可用性需求

本产品采用SpringBoot框架进行开发。前端使用layui后台模板框架,设计了简单易用的操作界面。为了避免用户误操作,对输入框添加了误操作提示,并在前后台进行了数据校验。同时,提供了多条件搜索功能,以便用户快速查找并操作。

性能需求

在保持界面美观的同时,优化了系统性能。通过对MySQL语句进行调优,尽量为用户提供良好的访问体验。

可维护性和扩展性需求

采用Java开发,使用SpringBoot2 + SpringMvc5 + Mybatis3框架。基于MVC设计模式,解耦程度高,便于系统的维护与扩展。

安全性需求

采用正则表达式对用户输入进行过滤。对数据库连接信息采取了XML配置方式,避免用户 Easily break the database。对增删改操作添加了事务控制,确保操作的安全性。

功能需求

登录功能

  • 对用户输入进行校验,例如用户名长度和密码长度需要符合规范。
  • 对账号和密码进行校验,错误时提示相应信息。
  • 密码正确跳转至首页。
  • 提供记住密码功能,无需下次填写。
  • 验证码功能,用户需要输入验证码才能登录。

退出功能

用户登录后可以进入首页,若完成工作后退出,服务器端会清除session数据。

新闻管理

  • 浏览所有新闻信息。
  • 多条件组合查询,并根据查询条件分页展示。
  • 删除特定新闻信息。
  • 修改新闻内容、标签、分类等信息(不允许修改id)。
  • 新增新闻信息,新闻编辑使用富文本编辑器。 -预览新闻内容。

修改密码功能

用户可修改密码,密码格式有限制,且新密码与旧密码不能相同。

电影管理

  • 展示所有电影信息,支持分页展示。
  • 多条件组合查询,例如根据电影名称查询。
  • 删除、批量删除电影信息。
  • 修改或新增电影信息。
  • 上传与电影相关的图片和视频。 -预览电影内容。

分类和标签信息管理

  • 展示分类或标签基本信息。
  • 查询分类或标签,支持模糊查询。
  • 删除关联的标签或分类及相关信息。
  • 修改分类或标签信息(不允许修改id)。
  • 插入新分类或新标签,需符合规则。

MD5密码加密功能

采用MD5算法对密码进行加密处理,确保用户信息安全。

系统设计

可行性分析

调查分析

系统开发的初始阶段,必须对现有系统进行详尽调查,明确用户需求,确保新系统功能与用户要求相符。通过对业务流程的分析,可以了解用户对新闻、电影、分类或标签的操作方式和需求,确保开发的系统能够满足实际应用需求。

必要性分析

随着科技进步,娱乐方式趋多元化,越来越多的人通过观看电影度过闲暇时间。优质电影平台的选择成为重要课题。电影后台管理系统为电影管理者提供了一个管理平台,能够对电影信息进行全面管理和操作。

数据库设计

系统数据库设计包含六张表:blog表、blog_tags表、movie表、type表、user表和tag表。

  • blog表存储新闻基本信息。
  • blog_tags表关联新闻和标签。
  • movie表存储电影基本信息。
  • type表存储分类信息。
  • tag表存储标签信息。
  • user表存储管理员基本信息。

通过外键约束确保表的完整性和一致性。

项目结构设计

采用经典的SSM框架(SpringBoot + SpringMvc + Mybatis),遵循MVC设计模式,进行分层设计。使用Mybatis逆向工程生成mapper文件,提高开发效率。项目通过Maven进行管理,controller、mapper、service等包分别存放不同的功能模块。

设计模式

本项目采用多种经典设计模式,如观察者模式、中介者模式、单例模式、装饰器模式等,以确保系统的可读性、可维护性和可扩展性。

通信协议

采用HTTP协议,使用JSON数据传输。设计了JsonResult类,包含msg、code、data、count四个属性,用于统一前后端交互。

系统实现

登录功能

通过SpringMVC和Thymeleaf进行实现,采用B/S架构,支持记住密码和验证码功能。

浏览所有新闻信息

客户端使用layui框架,通过 AJAX 请求传递参数,实现多条件搜索和分页展示。

多条件组合查询

后端使用PageHelper插件实现分页,前端通过传递page和limit参数实现分页计算。

测试

使用Junit5框架进行单元测试,覆盖率较高。通过基本路径测试和条件覆盖测试等方法确保系统稳定性。

项目总结

通过本项目掌握了SSM框架的使用方法,了解了面向对象编程思想的重要性。SpringBoot的大量自动配置功能,简化了配置管理,提高了开发效率。本项目也暴露了一些问题,如单元测试的重要性和组员协作中的沟通问题。

实训感想

本次实训通过设计电影后台管理系统,学到了SSM框架的配置与使用,巩固了面向对象编程思想的理解。认识到Java语言中发现问题和解决问题的能力的重要性,对后续学习和工作有重要指导意义。

转载地址:http://wgwaz.baihongyu.com/

你可能感兴趣的文章
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>
mysql where中如何判断不为空
查看>>
MySQL Workbench 使用手册:从入门到精通
查看>>
MySQL Workbench 数据库建模详解:从设计到实践
查看>>
MySQL Workbench 数据建模全解析:从基础到实践
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
MySQL —— 视图
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>