团队作业2——《需求规格说明书》
这个作业属于哪个课程 | |
---|---|
这个作业要求在哪里 | |
这个作业的目标 | 团队项目:通过需求分析形成需求规格说明书,熟悉团队协作方式 |
团队成员 | |||
---|---|---|---|
徐宗韬(组长) | 3121004802 | ||
冯浩天 | 3121004779 | ||
朱正东 | 3121004806 | ||
黄皓坤 | 3121004783 |
队名:硬工队
团队GitHub:VividImages
1 需求规格说明书
1.1 引言
1.1.1 本说明书的编写目的
本说明书为项目Vivid Images的需求规格说明书,开发团队为广东工业大学硬工队。
本说明书是需求分析的产物,旨在为本项目的目标用户与将要满足的用户需求产生共同的理解,作为整体的方向指导项目的开发,是团队整个开发流程的基础和指南。
1.1.2 项目描述
实现一个拥有GUI的基于OpenCV的图像处理软件。
1.1.3 项目面向用户
对于图像风格化处理、图像拼接和图像水印等图像处理功能有需求的大学生和公司职员。
1.1.4 预期用户量
预期的用户数量为50-100,优先在大学同学之间进行小范围测试。
1.2 面向用户的需求分析
当今时代,各式各样图片的获取变得轻而易举,与此同时,人们对于方便、快捷、高效的图像处理的需求也日益高涨。随着经济社会的发展,除了工作需要之外,人们乐于抒发自身的个性和风格偏好,其中的一个重要方式就是对自己拍得或制作的图像进行个性化处理,以此作为自我表达的途径,由此也带来了一些突出的痛点:图像处理软件的风格化效果不够丰富,有时无法满足用户的个性抒发;图像处理软件只能逐个对照片进行风格化处理,处理效率低下;图像处理软件作用单一,需要一个整合了各种图像处理功能的软件以提高工作效率。针对这些需求,本项目开发的图像处理系统将实现:包含图像风格化处理、图像拼接和图像水印功能,各种功能需求一体化;集成各式各样的风格化效果(如毛玻璃、漫画滤镜等),从而满足用户的多样化个性需求;拥有简单明了的用户界面,可以简单快捷地进行图像批量风格化处理,从而减少用户的操作量、提高工作效率。
1.3 功能模块设计
1.4 技术需求和项目开发环境
- 技术需求:UI设计,机器学习,图像风格化算法
- 编程语言:Python
- IDE:PyCharm
- 依赖库:PyQt,Numpy,OpenCV-Contrib-Python
1.5 系统真实性、可用性和价值分析
真实性 | 本系统集成多种图像风格化效果、图像拼接和图像水印功能,现实生活中应用场景广泛、需求较大,并且技术上可以实现。 |
可用性 | 对于普通用户而言,本系统的用户界面简单明了、易于使用;本系统所实现的风格化处理功能面向的用户广泛,既可以确保用户日常生活中的娱乐体验和个性化表达,也可以满足工作中简单的图像处理需求;本系统还包含图像拼接和图像水印功能,常用图像处理功能一体化,方便快捷。 |
项目价值 | 本项目针对图像处理多样化需求,抓住实际使用中的痛点、着重改善用户体验,可以帮助用户方便、快捷、高效地处理图片。 |
2 团队计划
2.1 原时间安排
第9周 | 1.团队组队、团队博客 |
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第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.2 校正后时间安排
队员之间协商后,根据本周任务完成情况和团队自身情况,校正时间安排如下:
第9周 | 1.团队组队、团队博客 |
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第10周 | 1.需求规格说明书 |
2.确定项目功能模块和实现方法,估计任务难度并学习必要的技术 | |
3.平台环境搭建完成、初步架构设计和搭建 | |
4.对用户界面和交互逻辑进行初步设计 | |
第11周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
2.WBS, 团队成员估计各自任务所需时间 | |
3.完成编码规范,进行初步编码 | |
4.测试计划 | |
第12、13周 | 1. 团队项目Alpha任务分配计划 |
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
第14周 | 1.用户反馈+测试计划改进 |
2. 团队Alpha阶段个人总结 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第15周 | 1. 团队项目Alpha博客:事后分析 |
2.3 使用GitHub Issues管理项目开发
项目仓库GitHub:VividImages/Project_VividImages。
3 其他
3.1 项目分工
徐宗韬 | 开发,PM | 负责UI交互逻辑设计、历史记录功能开发、项目计划制定和报告撰写 |
冯浩天 | 开发,PM | 负责图像拼接和添加水印模块开发、流程管理以及项目需求和实现方法的把控 |
朱正东 | 开发,测试,架构 | 负责图像风格化处理模块开发、测试优化和架构设计 |
黄皓坤 | 开发,测试,架构 | 负责UI交互逻辑设计、测试优化和架构设计 |
3.2 本周的任务分配和完成情况
撰写博客 | 徐宗韬 | 已完成 |
搭建环境 | 徐宗韬,黄皓坤,朱正东,冯浩天 | 已完成 |
确定系统功能模块 | 徐宗韬,冯浩天 | 已完成 |
学习PyQt | 徐宗韬,黄皓坤 | 即将完成学习目标 |
学习OpenCV | 朱正东,冯浩天 | 即将完成学习目标 |
学习Numpy | 徐宗韬,黄皓坤,朱正东,冯浩天 | 已完成 |
对GUI进行初步设计 | 徐宗韬,黄皓坤,冯浩天 | 已完成 |
工作总结 | 徐宗韬,黄皓坤,朱正东,冯浩天 | 已完成 |
3.3 队员感想
徐宗韬 | 通过与队员的交流,有了比较深入的合作体验,并且学习了解了一些线上团队协作的方式,体会到了团队合作所蕴含的能量。 |
冯浩天 | 在项目中提高了编程能力与项目统筹能力,学会了与团队成员分析、解决问题。 |
朱正东 | 学习OpenCV主要是要学习其中的功能,同时复现一些代码,了解其中数学原理,如学习到的Sift和Surf,ORB等算法就利用到了高斯金字塔和图像卷积等操作。学习OpenCV需要一定的基础知识和实践经验,通过不断地实践和探索,结合官方文档和社区资源,从而逐步掌握OpenCV的使用技巧。 |
黄皓坤 | 进一步加深了对图像处理技术的理解,培养了与团队间协作的能力。 |