影评网站:需求改进与系统设计
影评网站:需求改进与系统设计
一.需求改进
1.1用户的痛
1.1.1调查访问
1
2
3
4
5
1.1.2针对痛点改进
痛点 | 修改 | |
---|---|---|
问题一 | 直接找高评分的电影不方便 | 在主页添加排行榜 |
问题二 | 必须注册才能访问使用户体验差 | 添加游客身份访问网站 |
问题三 | 不知道网站的访问量和在线人数 | 管理员添加查看访问量和在线人数功能 |
问题四 | 写影评后还要等待审核才能看到,降低用户体验兴趣 | 写影评不用审核直接发表,发表后管理员再审核 |
1.2需求规格说明书改进
1.2.1说明书初稿不足
项目功能不足:
-
无排行榜
-
无查看在线人数功能
-
无查看访问量功能
-
无游客身份访问
-
影评需要审核后才展示
说明书内容不足:
- 人员分工不详细
- 任务时间安排不详细
1.2.2改进内容
功能:
分工安排:
1.2.3场景模拟
-
场景一
小明想要知道有哪些高评价还看的电影,于是百度了“高分电影”,搜出了好多电影,然后他一个一个地百度这些电影看相关的资料资讯,可把他累坏了。最后小明选了一部去观看,但是发现看完之后发现这部似乎名不副实...看来回答问题的那个人的口味并不太和小明的一样。
-
场景二
小明打开了影评网站,发现不用登陆注册也能访问网站,省了很多麻烦事。他找到高分电影排行榜,轻松地看到了这些由综合多人评分的高分电影的资料,看到了很多人的影评。然后他选了其中一部评分高,影评评价大多都是夸赞,而且电影的故事梗概吸引了他的电影去观看。结果看完后发现电影确实很好看,于是他注册了一个账号也为这部电影写下了影评。提交影评后,小明看着立马展现在网页上的自己的影评,他心满意足地离开了。
1.3四个象限
1.4任务分解WBS
任务按1.2.2图片以页面为单位分解
时间分配:
任务 | 负责人员(前端,后台) | 时间 |
---|---|---|
首页 | 麦狄龙,陈鸿畅 | 3天 |
搜索电影 | 马志鹏,罗泉水 | 2天 |
登录注册 | 邱彬,陈鸿畅 | 3天 |
用户个人中心 | 麦狄龙、马志鹏,陈鸿畅 | 4天 |
管理员个人中心 | 麦狄龙、马志鹏、邱彬,罗泉水 | 4天 |
二.系统设计
2.1架构设计
2.2数据库初步设计(待修改)
2.2.1首页展示内容表
CREATE TABLE `display_films` (
`rotation` tinyint(4) NOT NULL DEFAULT '0' COMMENT '1代表轮播图,0不是',
`film_name` varchar(20) DEFAULT NULL,
`content` varchar(10) DEFAULT NULL COMMENT '简介',
`img_src` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
2.2.2反馈表
CREATE TABLE `feedback` (
`feedback_id` smallint(5) NOT NULL AUTO_INCREMENT,
`user_id` smallint(7) DEFAULT NULL,
`user_name` varchar(9) DEFAULT NULL,
`creat_date` datetime DEFAULT NULL,
`text` varchar(140) NOT NULL,
PRIMARY KEY (`feedback_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
2.2.3电影表
CREATE TABLE `film` (
`film_id` smallint(5) unsigned zerofill NOT NULL AUTO_INCREMENT,
`film_name` varchar(20) NOT NULL,
`rating` float unsigned DEFAULT NULL COMMENT '评分',
`director` varchar(20) DEFAULT NULL COMMENT '导演',
`writer` varchar(20) DEFAULT NULL COMMENT '编剧',
`performer` varchar(20) DEFAULT NULL,
`genre` varchar(20) DEFAULT NULL COMMENT '题材',
`area` varchar(20) DEFAULT NULL COMMENT '制片国家或地区',
`language` varchar(10) DEFAULT NULL,
`duration` varchar(10) DEFAULT NULL COMMENT '片长',
`synopsis` varchar(300) DEFAULT NULL COMMENT '概要',
`release_date` varchar(10) DEFAULT NULL,
`image_source` varchar(100) DEFAULT NULL COMMENT '海报图片地址',
PRIMARY KEY (`film_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
2.2.4影评表
CREATE TABLE `review` (
`review_id` smallint(5) unsigned zerofill NOT NULL AUTO_INCREMENT,
`check` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否审核',
`pass` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否通过',
`rating` float DEFAULT NULL,
`user_name` varchar(9) DEFAULT NULL,
`user_id` mediumint(7) DEFAULT NULL,
`film_name` varchar(20) NOT NULL,
`film_id` smallint(5) DEFAULT NULL,
`creat_date` datetime DEFAULT NULL,
`title` varchar(15) NOT NULL,
`text` varchar(140) NOT NULL,
`likes` smallint(5) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`review_id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8
2.2.5用户表
CREATE TABLE `user` (
`user_id` mediumint(7) unsigned NOT NULL AUTO_INCREMENT,
`user_name` varchar(9) NOT NULL,
`password` varchar(8) NOT NULL,
`power` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '0用户 1管理员',
`regist_date` datetime NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2020002 DEFAULT CHARSET=utf8
三.Alpha任务分配计划
3.1待实现的功能项
依据项目组能提供的总时间、功能模块的优先级以及模块之间的依赖关系,在Product Backlog中选取待实现的功能项。
根据前期的需求分析和项目计划,对博客的功能进行优先级排序。
第一优先级:登录注册、首页展示、搜索功能、特定电影页面、评分写影评
第二优先级:管理员中心、普通用户个人中心
我们选择第一优先级的功能作为Alpha版本的待实现功能
3.2任务分解及认领
对已选择的功能项再做进一步分解,分解为1-10小时左右的任务,构成Sprint Backlog。在PM的协助下,编码的同学对任务进行认领。
- 罗泉水:撰写博客,建立敏捷开发团队,编写后台功能接口:搜索功能、特定电影页面、评分写影评
- 陈鸿畅:实现后台接口功能:登录注册、首页展示
- 麦狄龙:设计前端页面,编写前端代码:首页展示
- 马志鹏:编写前端代码:搜索功能、特定电影页面、评分写影评
- 邱彬:编写前端代码:登录注册
3.3冲刺计划
以甘特图的方式拟定迭代冲刺计划。
四.测试计划
测试计划和测试总纲主要说明产品是什么,要做什么样的测试,时间安排如何,谁负责什么方面,各种资源在哪里。
4.1.引言
4.1.1 项目背景
本测试计划旨在说明系统测试的基本需求,界定测试范围,指导测试设计及边界,使测试人员能够更好地进行测试。
4.1.2 有关项目人员组成
- PM: 罗泉水
- 开发人员:所有人
- 测试人员:所有人
4.2.任务概述
4.2.1 测试范围
主要针对本项目的功能性需求和非功能性需求进行测试。
- 功能性需求:包括本项目的《需求规格说明文档》中的所有功能描述
- 非功能性需求:性能、可靠性、可维护性
4.3.测试策略
4.3.1 测试人员分工
测试人员 | 测试分工 |
---|---|
罗泉水 | 系统功能需求 |
邱彬 | 系统可靠性 |
麦狄龙 | 系统性能 |
马志鹏、陈鸿畅 | 系统可维护性 |
4.3.2 测试方法
- 系统功能需求:黑盒测试+手动测试
- 系统非功能需求:白盒测试+临界测试+压力测试
4.3.3 测试阶段计划
由于本项目有两个迭代周期,所以准备在每个迭代周期结束前两天集中安排测试。
人员分工见上3.1,Alpha版本测试起止时间为2020.5.23-2020.5.24
4.4.测试资源
4.4.1 硬件资源需求
- 一台可联网的Windows电脑
- 一部可联网的手机
4.4.2软件资源需求
具有可正常上网的浏览器
4.4.3测试人员需求
充分了解本项目的功能需求和非功能需求,有一定的软件测试知识基础,了解软件测试流程
4.5.风险评估
人力方面:充足
时间方面:一般,如不能按计划完成项目开发则可能会压缩测试时间
环境方面:暂无风险
资源方面:充足