1组 需求分析报告
一、 团队基本情况
1.1 团队整体计划安排
-
10.20-10.31
-
确定选题及协商分工
-
基础学习及前期准备
-
完成接口设计及数据库搭建
-
完成UI设计并实现至少5个页面布局
-
-
11.1-11.8
-
完成75%目标检测等算法的代码编写
-
前端完成所有页面布局设计
-
后端实现50%基础接口
-
选择指定场景拍摄视频对功能进行黑盒测试
-
-
11.9-11.20
-
后端基本实现所有基础接口
-
基本实现所有算法的功能
-
前后端完成对接
-
完成Alpha版本并发布,编写产品相关文案
-
-
11.21-11.27
-
根据特殊场景对算法进行优化处理
-
对产品进行性能维护及BUG修复
-
根据用户体验完成Beta版本并发布
-
完成相关文案总结
-
1.2 团队分工
Ø 产品经理:
-
王业震:
产品统筹需求分析
任务分发
进度管理
Ø 项目开发人员:
-
黄志翔:
安卓端开发
-
郑浩彬:
后端搭建
YoloV5
算法实现 -
毛长江:
DeepSort
算法实现YoloV5
算法实现 -
张静:
OpenPose
算法实现 -
王业震:
Insightface
算法实现
Ø 美工:
- 施可婳
Ø 视频制作与宣传:
- 陈志良
1.3 团队贡献评估
成员 | 本次作业工作 | 贡献度 |
---|---|---|
王业震 | 团队基本情况的撰写,需求报告的撰写,UML图的制作 | 15% |
郑浩彬 | 界面原型的设计,UML图的制作,验收标准的撰写 | 18% |
毛长江 | 汇报ppt的制作,汇报讲稿的撰写,UML图的制作 | 18% |
黄志翔 | 项目展示视频的制作,界面原型的制作,燃尽图思维导图的制作,UML图的制作 | 18% |
张静 | 汇报ppt的制作,UML图的制作 | 15% |
陈志良 | 需求报告的撰写 | 8% |
施可婳 | 学习进度条的制作 | 8% |
1.4 项目思维导图与燃尽图
图1 项目思维导图
图2 燃尽图
二、 UML部分
2.1 用户登录部分
-
负责人:张静
-
描述:该部分用于本产品的登录、身份验证。
-
该部分面临的问题:不同用户具有不同的权限,需要分别进行管理。
-
解决的问题:使用gateway对用户的访问的进行拦截,通过传入的参数以及对应的token对相应用户的权限进行判断,实现不同权限间的管理。
-
附:(该部分的所有UML图)
图3 登录界面活动图
图4 登录界面类图
图5 登录界面用例图
图6 登录界面状态图
图7 登录界面ER图
2.2 视频实时监测部分
-
负责人:郑浩彬、黄志翔
-
描述:该部分用于将用户所要监管的视频源传入,并使用yolov5等算法进行分析处理。
-
该部分面临的问题:将视频分割成帧进行检测的速度受网络带宽限制以及GPU算力限制,有时难以保证时效性。
-
解决的问题:对算法中的参数矩阵进行微调,可适当减少神经网络神经元的数量,牺牲部分准确性换取更高时效性;尽可能使用更先进的流媒体服务器。
-
附:(该部分的所有UML图)
图8 视频实时检测活动图
图9 视频实时监测类图
图10 视频实时监测用例图
图11 视频实时监测状态图
图12 视频实时监测ER图
2.3 日志记录部分
-
负责人:毛长江
-
描述:该部分用于将监管区域中的行人及垃圾桶状态的日志信息进行保存。
-
该部分面临的问题:相邻时段之间信息重复性大,冗余度高,易造成后端数据库无效数据过多,负荷过重。
-
解决的问题:对于无异常的状态下,加大数据记录之间的间隔(前端可展示,但后端选择性记录)。
-
附:(该部分的所有UML图)
图13 日志记录部分活动图
图14 日志记录部分类图
图15 日志记录部分用例图
图16 日志记录部分状态图
图17 日志记录部分ER图
2.4 意见反馈部分
-
负责人:王业震
-
描述:该部分可以让用户在使用产品的过程中,提供反馈意见,以便我们后续对产品更新迭代,为用户提供更好的体验。
-
该部分面临的问题:先前的设计仅设计了一个单一的反馈通道,难以对意见分类型处理。
-
解决的问题:将意见模块划分为四个通道:夸赞、吐槽、建议、求助,对于不同的意见类型,处理的优先级不同。
-
附:(该部分的所有UML图)
图18 意见反馈活动图
图19 意见反馈类图
图20 意见反馈用例图
图21 意见反馈状态图
图22 意见反馈ER图
三、 作业记录相关
3.1 UML设计工具的选择、选择理由和使用后对工具的评价
-
本次作业使用的
UML
工具是Visual Paradigm
-
选择的理由:
- 可以将任意
Visio
图纸合并到UML
图 - 即时将源代码,二进制文件和可执行文件转换到模型
- 可以自动图表布局
- 可以将任意
-
评价:官方都说比
visio
更好用,那就不多说了。界面简洁明了,花费更少的时间,做更多的图!
3.2 遇到的困难及解决方法
-
困难描述1:大家都没怎么画过
UML
图,并且绘图工具繁多,不知选择哪个。 -
解决方案1:在组内成员黄志翔的建议下,我们都选择了Visual Paradigm来画图。至于怎么画,那只能说:学才能会,不学就不会。
-
困难描述2:对于一款基于监控管理的软件来说,实时性无疑是放在首位的,其他模块的困难其实都无伤大雅,如何做到又快又好,是我们组一直在深究的点。
-
解决方案2:为了更高的处理速度,尝试过微改神经网络神经元的个数,适度降低百万级别的参数量。
3.3 学习进度条
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 400 | 400 | 5 | 5 | 完成了团队选题,进行了需求分析、行业市场分析、前景分析、痛点分析,初步规划了市场营销方案,学习了基于深度学习的YoloV5目标检测算法、基于Insightface算法的人脸识别技术及基于MTCNN算法的人脸检测技术、基于深度学习的动作识别技术、基于YoloV5及DeepSort算法的目标跟踪技术 |
2 | 1000 | 1400 | 12 | 17 | 进一步完成了需求分析,制定了整体计划安排,完成了团队分工,绘制了思维导图、UML图,实现了原型的初步设计以及验收验证标准的制定,并学习了Openpose算法 |
四、 项目展示视频
https://www.bilibili.com/video/BV1B44y1i7mt?spm_id_from=444.41.0.0