团队作业3--需求改进&系统设计
需求&原型改进
需求修改
- 用户调查:
- 下面是我们的用户调查表格
- 我们通过调查发现,很多同学仍然会选择在晚上学习,对于他们来说,晚上的学习效率反而比白天高,而夜间看博客日间模式会导致眼睛容易疲劳,于是我们认为应该设置一个夜间模式。
- 提出的问题&建议:
- 忘记密码后在原来的功能下是没办法进行任何操作的,所以需要增加密码找回功能,在注册账号的时候要求绑定手机号的,忘记密码后可通过手机号验证身份找回并修改密码。
- 为了能有更高的用户活跃度,我们决定应该再增加推送功能,通过推送优质博客,吸引用户点击并打开app进行阅读,以此增加用户活跃度
- 原型改进:
- 增加夜间模式
- 增加消息推送
- 增加手机号绑定
- 增加密码找回功能
- 新架构图
修改需求规格说明书
已在上周随笔进行更新
功能分析四个象限
外围功能 | 杀手功能 | |
---|---|---|
必要功能 | 首页数据展示,个人界面的个人资料修改,采用“抵消” | 个人界面的登录注册,博客圈查看/发表博客,查看时博客进行的操作(查看,收藏,点赞,评论,分享,采用“差异化”) |
辅助功能 | 个人界面中对已收藏文章的操作(查看,删除),主界面中查看/搜索博客,),个人界面中对已发表的博客进行操作(查看,修改,删除),采用维持方法 | 消息推送,个人界面的忘记密码,绑定手机 ,黑夜模式 ,采用“维持”或者“不做” |
维持——以最低成本维持此功能。
抵消——快速地达到“足够好”、“和竞争对手差不多”。
优化——花大力气做到并保持行业最好。
差异化——产生同类产品比不了的功能或优势。
不做——砍掉一个功能也是一个办法,我们并不一定要做所有的功能。
项目进度计划
任务分解WBS
对具体的功能需求做出调整,并把树洞,时间胶囊功能调整到第二版,海岛功能调整到第三版。调整后的项目进度计划如下:
功能 | 功能详情 | 所属版本 |
---|---|---|
登陆 | 1.安卓登陆页面搭建2.后台登陆接口实现 | Alpha 1.0 |
主页面开发 | 1.安卓主页面页面搭建2.后台文章列表请求接口实现 | Alpha 1.0 |
博客圈 | 1.安卓博客圈页面展示2.后台个人文章列表请求接口实现 | Alpha 2.0 |
文章详情 | 1.安卓文章详情页面展示2.后台文章详情数据请求接口实现 | Alpha 2.0 |
发表博客 | 1.安卓发表博客页面搭建2.后台发表个人文章接口实现 | Alpha 3.0 |
项目进度计划
第一周
- 组建团队,创建团队博客小组,互相熟悉各自的擅长技术。
- 选定题目,角色分配,团队介绍。
- 预估技术难度,分析实现可能性。
- 制定计划,规定好团队贡献分规则。
第二周
- 初步学习需要的相关技术
- 设计需求文档,确定具体的功能需求
- 搭建平台,架构设计,原型设计。
第三周
- 继续学习完相关知识。
- 后台完成数据结构部建模,构建数据库,初步编写api接口文档。
- 移动端开始搭建项目架构,完成项目基本框架。
- 移动端设计ui。
第四周
- 后台给出完成接口文档,并初步完善功能。
- 移动端根据api设计代码,初步完成软件编写。
- 完善各部分功能。
- 各组成员确定完成的具体时间。
第五周
- 各组完成所有预计的功能。
- 开始进行完整的项目测试
- 根据测试结果进行调整,修补bug。
第六周
- 用户反馈,调试bug。
- 测试改进部分功能。
- 发布说明,测试报告,展示博客,项目管理。
第七周
- 项目事后总结分析。
系统设计
后端架构设计
目的
本文档将从构架方面对系统进行综合概述,其中会使用多种不同的构架视图来描述软件系统的各个方面,记录并表述已对系统的构架方面作出的重要决策。
范围
该设计用于广东靓仔6强选手正在开发中的ourblog项目。ourblog项目是一款能在手机端使用的博客应用。
架构表示方式
本文档通过以下一系列视图来表示ourblog的软件架构:用例视图,部署视图,数据视图
架构目标和约束
1、本系统在开发过程中有如下设计约束:开发语言为Java,采用关系型数据库存放数据。
2、有用户必须在保证网络连接的情况下可通过互联网访问系统
3、系统必须保证数据的安全访问,用户需通过用户名和密码来进行身份验证,同时对数据的访问要进行授权验证
用例视图
部署视图
User Client
用户主要通过APP来访问系统,暂时只支持安卓系统
Server
应用服务器运行ourblog系统,采用nginx对用户请求进行分流,同时搭建服务器集群进行负载均衡。
DB Server
数据库服务器运行MYSQL数据库
数据视图
数据库ER图:
user表:
列名 | 注释 | 类型 |
---|---|---|
username | 用户名 | varchar(20) |
password | 密码 | varchar(20) |
邮箱 | varchar(20) | |
phone | 电话 | varchar(20) |
code | 登录状态 | int |
blog表:
列名 | 注释 | 类型 |
---|---|---|
title | 文章标题 | varchar(50) |
content | 文章内容 | text |
imageurl | 图片 | varchar(50) |
移动端架构设计
Alpha任务分配计划
Product Backlog
甘特图
测试计划
引言
- 项目背景
本文档用于广东靓仔六强选手正在开发中的ourblog项目。ourblog是一个给用户提供知识信息浏览、交流等功能的手机app
-
使用人群
项目经理、产品开发、测试人员
-
测试方式
软件测试的W模型
测试范围
-
功能测试模块
主界面模块、文章详情模块、博客圈模块、发表博客模块、个人界面模块
-
兼容性测试
基于app开发,对多钟Android手机测试
-
压力测试
对数据的承载量测试
-
安全测试
对系统的安全性能进行测试
测试策略
功能测试
需要对以下功能进行测试
功能 | 详细描述 |
---|---|
登录注册 | 用户使用帐号密码登录 用户注册一个账号 用户选择忘记密码 |
浏览博客园内容 | 游客/用户可以看到他人发表的博客内容 游客/用户可以通过关键词搜索有关的博客 |
对博客进行操作 | 用户可以收藏他人发表的博客 用户可以点赞他人发表的博客/评论 用户可以分享博客到其它APP上 用户可以评论他人博客或对评论进行回复 用户可以编辑博客内容并进行发表 |
个人资料修改 | 用户可以修改自己的昵称 用户可以修改自己的头像 用户可以对自己的详细信息(如生日)进行修改 用户可以修改绑定的手机号 |
对自己发表的博客进行修改 | 用户可以在个人界面中找到自己已发表进行修改 |
管理收藏的博客 | 用户可以在个人界面找到自己收藏的博客 用户可以取消收藏博客 |
试图发现以下几类错误:
·是否有不正确或遗漏的功能
·在接口上,能否正确地输入与输出
·访问外部信息是否有错
·界面是否会出错
·初始化与终止是否会出错
系统兼容性测试
对于移动端的用户,用不同的Android手机进行测试
性能压力测试
采用apache的开源测试工具jmeter,通过http协议发送访问请求,收集服务器响应速度,监控服务器运行状态和资源耗用情况
安全测试
用acunentix测试,测试人员模拟非法入侵,采用各种方法冲破防线。记录各项攻击数据,
测试资源
-
测试人员
后端测试人员:黄清山、邓富荣、周立、钟俊豪
前段测试人员:郑焕、黄梓浩
-
测试环境
手机:Android手机
网络环境:3G/4G移动网络、Wifi
-
测试工具
Jmeter、Acunentix
-
测试服务器
阿里云服务器
进度安排
任务 | 时间 | 人员 | 预期工作量 |
---|---|---|---|
编写测试计划 | 2020.05.19 | 钟俊豪 | 4小时 |
测试计划的修改 | 全程 | 全体 | 暂无 |
第一轮功能测试 | 2020.06.05 | 郑焕、黄梓浩 | 24小时 |
性能测试、回归测试 | 2020.06.10 | 周立、黄清山 | 2小时 |
发布前内测 | 2020.06.12 | 全体 | 2小时 |
测试报告总结 | 2020.06.13 | 邓富荣 | 4小时 |
合计 | 发布后 | 约两天 |
输出文档
《项目测试计划书》
《项目测试报告书》
发布标准
·完成所有的测试类型
·没有影响用户正常使用的
·bug 通过压力测试并且设计符合用户