全文总字数:5677字
1. 研究目的与意义(文献综述)
1.课题背景和意义
随着计算机网络的发展,上网变得轻而易举,我们可以在任何时间任何地点在网络上观看我们想看的电视剧和电影,极大促进了生活的便利。这是科技高度发展,生活变得丰富和便利的时代,但这也是信息爆炸的时代。面对着网上纷繁复杂的各种资源,我们常常面对着绵绵不绝的电视剧封面发呆,或者被华美封面的电影吸引进去看了一半却发现是部烂片。这是一个快餐时代,生活节奏的加快使得我们并没有那么多空余时间去一个个鉴别哪些值得看,所以我们需要别人的推荐和分享。
对多数人做选择最有效的帮助,其实来自亲友和同事。随意的一两句推荐,不但传递了他们自己真实的感受,也包含了对你口味的判断和随之而行的筛选。他们不会向单身汉推荐育儿大全,也不会给老妈带回赤裸特工。遗憾的是,你我所有的亲友加起来,听过看过的仍然有限。而且,口味最类似的人却往往是陌路。
2. 研究的基本内容与方案
2.研究内容
2.1 网站管理方面
在本影评网站,管理员能够通过管理系统进行管理用户和管理文章两大功能:
(1) 在文章资源方面,管理员可以进行查询文章、增加文章、修改文章、删除文章;
(2) 在用户管理方面,管理员可以进行增加用户,删除用户、修改用户、查询用户。
2.2 用户需求方面
在本影评网站,用户能够实现的详细功能描述如下:
(1) 如果是新用户,那么用户可以通过登陆系统进行用户注册,然后再登陆。如果老用户忘记了自己的密码,可以点击登陆界面的忘记密码进行密码找回,同时用户还可以修改自己的个人信息。
(2) 用户登陆网站之后可以在网站内搜素查看自己想要查找的影视的详情,评论和评分,同时也可以对影视进行评论。
2.3 网站概要设计目标
关于本影评网站,研究内容如下:
(1) 本影评网站的开发主要包括前端web程序的开发设计和后端数据库的建立、连接和维护两个方面。
(2) 开发的前端网页要求美观整洁,容易使用,用户不用太多的学习成本就可以掌握网站上相关的简单操作,同时也要具备完善的功能。建立的数据库要求安全性高,可维护性高,明确表与表直接的联系,符合一定范式,方便后期维护。
(3) 以满足用户需求为目标,形成一个表面上看是一个评论(影评)网站,但实际上却提供了电影推荐和以共同兴趣交友等多种服务功能,它更像一个集BLOG、交友、小组、收藏于一体的新型社区社交网络。
3.研究方法
3.1网站用户
(1) 管理员
本网站管理员在登陆后,能够对资源、用户进行增查改删操作。
(2) 普通用户(包含超级会员用户)
本网站普通用户登陆后,可以在主页选择自己想要的资源进行点击超链接查看,然后能够对资源进行详情查看简介、评分和评论。
3.2项目环境
表1项目环境表
| 网站名字 | 乐享网 |
| 需求概述 | 一个电影、电视剧在线评论评分网站 |
| 开发环境 | IDEA 2018.2.2 MAVEN 3.6.0 MySQL 5.5.58 JDK 1.8.0_211 Tomcat 7.0.94 Windows 10/Mac OSX |
| 运行环境 | JDK 1.8.0_211 MySQL 5.5 Tomcat 7.0.94 CentOS Linux release 7.4.1708 (Core) |
| 项目规格 | 2.1人月 |
3.3设计开发的非功能性需求
表2非功能需求表
| 非功能需求 | 属性 | 要求 |
| 性能需求 | 响应时间 | 用户做出操作后响应时间小于1.5秒 |
| 吞吐量 | 系统至少能同时处理100名用户操作 | |
| 资源利用率 | 资源利用率至少90% | |
| 安全性 | 确保网站100%时间安全运行 | |
| 保密性 | 防泄漏 | 100%绝不能泄露用户信息 |
| 权限控制 | 100%的用户分角色控制用户权限 | |
| 防攻击 | 能够防御95%的攻击 | |
| 可维护性 | 模块性 | 网站架构做到100%模块管理 |
| 可复用性 | 至少10%设计代码能够重用 | |
| 易分析性 | 网站源码至少80%易分析 | |
| 可靠性 | 容错性 | 能容纳70%非常规操作 |
| 易恢复性 | 错误发生时能恢复网站90%数据 | |
| 成熟性 | 发布版本为稳定版,技术成熟 | |
| 易用性 | 易学习性 | 80%新用户能够1分钟上手网站操作 |
| 易操作性 | 90%网站操作容易实现 | |
| 用户错误防御机制 | 能够预防用户80%错误操作带来的损失 | |
| 用户界面美观 | 80%用户对界面满意 |
3.4开发阶段
3.4.1 搭建开发环境阶段
首先根据适合的版本,分别依次安装JDK、IDEA、Tomcat、Maven、MySQL即SQLYog开发环境,并按照本机环境配置。
3.4.2 系统需求分析阶段
首先确定本次项目主题是“在线影视评论推荐网站”,然后分析网站的功能需求和非功能性需求。功能模块主要分为登陆界面、主页、用户信息,分为电影、电视剧两个资源页面。然后思考查找,评论、查看个人信息的功能的大概实现方法。
3.4.3 功能实现阶段
首先设计并创建数据库,然后搭建SSM(Spring Spring MVC MyBatis)框架,然后再先实现简单的系统功能,如用户注册、用户登录。对于管理员登陆后,它的主要功能是能够对用户和资源进行增删查改;对于普通用户(包括超级会员),能够根据主页查看资源详情页,然后在资源详情页进行查看资源信息、评论,并且能够对资源进行收藏,这些操作,可以根据SSM框架进行实现。
3.4.4系统调试与测试阶段
首先在开发过程中,对系统进行调试,然后系统开发完后,对系统各个模块进行黑盒测试和白盒测试,主要包括功能测试、安全测试、性能测试,并根据测试结果进行再一次改进,然后在发布测试版,进行用户体验,再根据用户体验反馈,再一次改进,最后将网站上传到服务器,发布最终版本。
3.5 技术路线
3.5.1 网站技术
(1) Tomcat服务器
“HTTP is the protocol that allows web servers and browsers to send and receive data over the Internet. It is a request and response protocol.”[1]
“Both servlet containers can process simple servlets as well as static resources.”[1]
因此我们使用HTTP协议对Tomcat服务器网站资源进行请求访问。
(2) SSM框架
“One of the most amazing things that Spring and Spring Boot do is to automatically provide all of the foundational plumbing for an application, leaving you as a developer to focus primarily on the logic that’s unique to your application.”[2]
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。它可以然我们在开发过程中更专注于主要的逻辑实现,并且帮助我们构造松散耦合的应用。
但“Spring可以做很多事情,但当你把他拆开查看其核心部分时,Spring的主要特点仅仅是依赖注入和面向切面编程。”[3]
因此,我们需要另外两个部分Spring和MyBatis。
“MyBatis是支持普通SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs映射成数据库中的记录。”[4]因此在本系统中,我们可以用来进行数据库交互。
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。
因此在整个框架中,它们之间的逻辑联系是:页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
(3) 页面设计
“在Web早期,HTML是一个很有限的语言,它几乎完全有用于描述段落、超链接和标题的结构化元素组成”[5]。因此,在进行页面设计,我们不能仅仅使用HTML,可以结合JSP(Java Server Pages)、JS(JavaScript)、CSS(Cascading Style Sheets)进行页面功能响应和板式设计。
3. 研究计划与安排
研究进度安排
表3开发进度安排表
| 项目题目的确定 | 3天 |
| 进行需求分析 | 5天 |
| 进行数据库设计和连接 | 7天 |
| 网站前端设计和排版 | 15天 |
| 网站程序设计、功能实现 | 18天 |
| 编写毕业论文 | 10天 |
| 答辩 | 1天 |
4. 参考文献(12篇以上)
参考文献
[1] kurniawan, budi,deck, paul. how tomcat works: a guide to developing your own java servlet container[m].montreal, canada: brainy software,2004.
[2] craig walls.spring in action[m].greenwich,america: manning publications co,2019.
[3]buurlage jan-willem,marone federica,pelt danil m,palenstijn willem jan,stampanoni marco,batenburg k joost,schlepütz christian m. real-time reconstruction and visualisation towards dynamic feedback control during time-resolved tomography experiments at tomcat.[j]. scientific reports,2019,9(1).
