团队作业3—需求改进&系统设计
团队作业3—需求改进&系统设计
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 软件工程 |
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 需求改进+系统设计 |
PART 01 需求&原型改进(20分)
1.1 课堂启发
-
课堂讨论问题
-
问题:项目进展较慢
停止基础知识的深入学习,加快动手进度。
-
问题:目前软件功能比较单一
通过用户调查,添加些功能提升用户体验。
-
问题:软件使用流程说明不足
进一步改善需求说明书并构建典型场景阐明使用流程。
-
-
与目标用户沟通之后的改进
-
典型用户调查
信息 描述 性别 男 年龄 21 职业 学生 收入 暂无 身份 广工计算机学院大三学生 知识层次和能力 本科在读,对软件应用比较熟悉 使用目的 查找喜欢的电影 用户偏好 电影库存多,介绍详细 典型场景 无聊时查找电影观看 典型描述 根据电影推荐查找电影观看 信息 描述 性别 女 年龄 19 职业 学生 收入 暂无 身份 广工外国语学院大二学生 知识层次和能力 本科在读,对软件应用比较熟悉 使用目的 观看一些电影介绍 用户偏好 电影介绍生动多元 典型场景 老师要求写影评作业 典型描述 观看电影影评以及查找类似电影 信息 描述 性别 女 年龄 45 职业 某公司部门主管 收入 1.5w/月 身份 上班族 知识层次和能力 本科学历,较少网上冲浪 使用目的 找电影看 用户偏好 操作方便且简单 典型场景 下班无聊看电影 典型描述 根据电影推荐查找电影观看 调查过程图片:
-
用户需求分析
需求 方案 用户在使用电影推荐软件的过程中,希望能够更看到电影更多元化的展示。 1. 增加一些专业影评:
增加这部分主要出于让用户可以更加全面了解某一部电影的目的,同时使得用户能够从多个角度去了解某一部电影。
2. 增加查看电影截图功能:
原本只能查看电影封面不足以让用户大致了解某一部电影视觉风格。所以通过截取一些电影的图片来完善这部分。大多数用户在使用电影推荐软件的最终目的都是观看电影 提供电影在线观看或者下载链接:
出于提高用户体验感的目的。如果用户对某一部电影感兴趣,可以直接点击提供的链接进行观看或下载,节省了用户获取电影资源的时间。
-
1.2 完善需求规格说明书
-
改进说明
-
修改部分 修改内容 一、总体概述→2. 软件功能 根据用户需求增加了软件功能。 一、总体概述→3. 用户分析 根据调查加入了用户画像 一、总体概述→4. 模块构成 添加了各个模块的说明,使模块功能及意义更加清晰 三、系统设计→1. 系统架构设计 添加了系统架构设计图,使需求说明更加清晰 三、系统设计→1. 数据库设计 添加了数据库设计ER图
-
-
完善后需求规格说明书
-
用户场景构建
- 背景
- 典型用户:学生小宋
- 用户需求:闲暇时间想要找一些电影看。
- 场景
- 小宋打开电影推荐网页准备查找电影,首先她输入了账号和密码注册了一个账号,接着输入账号和密码,登录了账号。
- 小宋点开电影推荐板块,系统提示选择几个小宋喜欢的电影,小宋点击选好了自己喜欢的电影,系统根据小宋的偏好推荐了一些电影。
- 小宋点击浏览了系统推荐电影的影评以及电影截图,选取了自己感兴趣的电影,点击系统提供的电影链接开始观看。
- 背景
1.3 功能分析
外围功能 | 杀手功能 | |
---|---|---|
必要需求 | 第二象限:电影搜索功能 | 第一象限:登录注册系统;电影信息存储以及展示;电影推荐系统实现 |
辅助需求 | 第三象限:用户个人信息的增删改查 | 第四象限:界面优化,应该简单易用 |
1.4 项目进度计划
-
任务分解WBS
-
项目进度计划
时间 安排 10.25-10.31 组队、选题、团队博客 11.1-11.7 需求规格说明书初步设定原型队员任务安排 11.8-11.14 团队讨论——最佳原型改进架构设计,WBS,团队成员估计各自任务所需时间测试计划 11.15-11.28 团队项目Alpha任务分配计划连续7天的Alpha敏捷冲刺,7篇每日Scrum Meeting博客+代码提交 11.29-12.5 用户反馈+测试计划改进团队Alpha阶段个人总结团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 12.6-12.12 团队项目Alpha博客:事后分析
PART 02 系统设计
2.1 系统架构设计
本项目需要实现的是基于协同过滤算法的爬虫电影推荐系统,需要解决电影信息的收集,推荐算法的实现和更加简洁的图形化界面。
根据组内成员对需求的分析,得出下图系统架构图。当中各个模块分别对应本系统的各个需求。
2.2 数据库设计
E-R图如下所示
PART 03 Alpha任务分配计划
3.1 Product Backlog & Sprint Backlog
依据项目组能提供的总时间、功能模块的优先级以及模块之间的依赖关系,在Product Backlog中选取待实现的功能项。
Product Backlog | Sprint Backlog |
---|---|
爬虫模块 | 爬取电影的类别、页面停留的时长、影评参与程度以及对电影的评分等数据 |
推荐算法模块 | 基于推荐算法给用户推荐其可能喜欢的电影。 |
数据存储模块 | 把爬虫爬取的数据导入到本地文件夹和数据库 |
用户登陆模块 | 跟数据库交互实现用户登录功能 |
ui界面模块 | 呈现用户的个人信息、修改密码选项以及按推送算法结果呈现该用户可能喜欢的电影 |
3.2 功能项任务分配
对已选择的功能项再做进一步分解,分解为1-10小时左右的任务,构成Sprint Backlog。在PM的协助下,编码的同学对任务进行认领。
任务 | 负责人 | 预计耗时 |
---|---|---|
爬虫 | 徐国涛、潘百林、林俊斌 | 4h |
爬虫数据存储 | 徐国涛、潘百林、林俊斌 | 2h |
数据清洗 | 潘百林 | 4h |
推荐算法相似度模块 | 潘百林 | 2h |
推荐算法推荐模块 | 潘百林 | 6h |
用户登录API | 徐国涛、谭清允 | 1h |
UI设计 | 马悦 | 2h |
测试 | 曾聿昊 | - |
总结 | - | - |
3.3 迭代冲刺计划(甘特图)
PART 04 测试计划(10分)
任务 | 负责人 | 预计耗时 |
---|---|---|
测试程序功能是否正常 | 曾聿昊 | 1天 |
测试程序健壮性 | 曾聿昊 | 1天 |
测试系统稳定性 | 曾聿昊 | 1天 |
测试程序与文档之间是否有差异 | 曾聿昊 | 1天 |
测试任务 | 测试标准 |
---|---|
功能测试 | 程序是否能按照预期完成正常的功能 |
健壮性测试 | 程序是否能对异常情况做出正确的处理 |
稳定性测试 | 程序是否能在各种各样的情况下正常运行 |
文档测试 | 程序的具体操作与文档是否有不符 |