团队作业2—需求规格说明书
团队作业2——需求规格说明书
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 通过需求分析形成需求规格说明书,并建立和初步熟悉团队git的协作方式 |
PART 01 需求规格说明书
一、总体概述
-
软件概述
一款基于网络爬虫的电影信息采集及相关内容推荐系统,为广大热爱电影的用户提供更加简洁的电影信息资源呈现和高效的电影推荐系统
主要实现:
- 强大的信息采集系统
- 更加简洁的电影信息呈现
- 更加精确高效的电影推荐系统
-
软件功能
功能 详细描述 登录注册 使用账号密码登录 用户根据系统要求地信息格式注册一个账号 电影信息存储 用户登陆后开始爬取电影信息,存入数据库中 电影信息展示 制作美观接受度高的UI界面:将爬取到的信息以可视化的方式呈现 电影搜索 用户在输入框中输入电影的名字,系统将最佳匹配的结果返回 用户个人页面 呈现用户的个人信息、修改密码选项以及呈现该用户喜欢的电影 推荐电影 根据点击的电影的类别、页面停留的时长、影评参与程度以及对电影的评分等行为分析,基于推荐算法给用户推荐其可能喜欢的电影。 -
用户分析
本产品主要面向喜欢刷豆瓣的电影爱好者。豆瓣集中了许多爱好电影的粉丝并且提供了良好的交流环境,我们的用户主要是经常使用豆瓣参与电影评分撰写影评以及通过豆瓣参考电影的用户。
-
模块构成
- 爬虫模块
- 推荐算法模块
- 数据存储模块
- 用户登陆模块
- ui界面模块
二、 技术分析
-
开发技术选型
技术项 具体技术 算法推荐 Python3.8.0、基于物品的协同过滤算法 爬虫 Scrapy、Xpath和Request等库 页面展示 PyQt5 数据库 MySQL 8.0 代码版本控制 Git 推荐电影 根据用户的行为,基于推荐算法给用户推荐其可能喜欢的电影 -
性能需求
- 系统的响应时间RT应该在200ms以内
- 系统应该至少能够承载两万条以上的爬取信息记录
- 系统应该至少能够承载一千个以上的**总用户量
PART 02 预期用户数量
直至期末达到100+
PART 03 阐述系统的:真实性、可用性以及价值所在
- 真实性:我们团队技术栈齐全,对算法的学习有热情,而且队员们很有信心可以把算法可以落实到项目代码中。
- 可用性:主要面向大学生群体,学习成本低,并且用户可以及时给到我们产品反馈,帮助我们修改。
- 价值&情怀:如今互联网时代,每个人都会接触到大量的信息流,这接触到的信息和推荐算法密不可分。所以我们决定开发一个基于协同过滤算法的爬虫电影推荐系统,可以根据每个人的爱好推荐相对应的电影,不用在豆瓣一个个看影评。
PART 04 github-issue
-
将团队的任务计划添加到码云的团队项目issues里面
已添加,点击
-
团队项目issues截图
PART 05 项目时间安排表
-
时间安排1.0版本
时间 内容 1.团队组队、团队博客 2.团队介绍、成员展示、角色分配、选题确定 第10周 1.需求规格说明书 2.原型设计,队员估计任务难度并学习必要的技术 3.编码规范完成、平台环境搭建完成、初步架构搭建 第11周 1.原型改进(给目标用户展现原型,并进一步理解需求) 2.架构设计,WBS, 团队成员估计各自任务所需时间 3.测试计划 第12、13周 1. 团队项目Alpha任务分配计划 2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 第14周 1.用户反馈+测试计划改进 2. 团队Alpha阶段个人总结 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 第15周 1. 团队项目Alpha博客:事后分析 -
时间安排2.0
时间 安排 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 06 其他
一、团队分工
职务 | 分工 |
---|---|
产品设计 | 张伟龙、马悦 |
界面开发 | 马悦 |
后台开发 | 徐国涛、谭清允 |
爬虫开发 | 徐国涛、潘百林、林俊斌 |
推荐算法开发 | 潘百林 |
软件测试 | 曾聿昊 |
二、完成情况与个人感想
徐国涛
-
完成情况
- 后台:之前学过tkinter,但是想尝试新的库,所以正在入门PyQt5。
- 爬虫:之前学过爬虫,但是没爬过电影信息,正在复习爬虫。
-
个人感想
个人进度比较慢,还在学习过程中,希望自己能尽快提高效率开始项目的开发。
马悦
-
完成情况
- 产品设计:目前产品的基础功能以及规划以及设计好啦~在进一步思考优化。
- 界面设计:有了初步的界面框架,正在美化。
-
个人感想
在小组合作的过程中真的非常需要沟通!合作的过程中发现线下沟通的效率会比线上沟通效率高很多。我第一次进行团队项目担任界面设计的角色,发现做界面并不是想象中的画一张图就好了,而是需要考虑到开发人员的制作过程中需要的参数,然后把这些参数标明,才比较方便可以开发。
潘百林
-
完成情况
已经初步分析完成所需要的项目技术要求并开始学习。
-
个人感想
这是第一次真正参与到大型项目当中,希望能够在这个项目中扮演好自己的角色并从中学到新知识
张伟龙
-
完成情况
- 需求规格说明书 — 已完成
- 与队友积极交流各模块需求 — 已完成
-
个人感想
写需求规格说明个人感觉对整个项目会有更宏观的把控,并且可以暂时分好几个类别的内容需求。然后是兄弟们都好强,一起干活干劲十足。
谭清允
-
完成情况
- 后台:在学习python后台开发逻辑
-
个人感想
团队之间很需要沟通和交流。
曾聿昊
-
完成情况
- 熟悉程序流程 ---- 完成
- 编写测试样例 ---- 完成
-
个人感想
团队开发,与其他队友交流进度很重要,熟悉与自己的对接的队友才可以更好的完成自己的部分
林俊斌
-
完成情况
正在学习爬虫知识以及应对反爬机制的方法
-
个人感想
以前学过一些这方面的知识,不过处理实际问题会有非预期的错误,通过项目继续学习!