团队作业2——《需求规格说明书》

发布时间 2023-11-01 10:34:33作者: yuLLin
这个作业属于哪个课程
软件工程
这个作业要求在哪里
团队作业2——《需求规格说明书》
这个作业的目标 团队项目:通过需求分析形成需求规格说明书,熟悉团队协作方式

团队成员
学号
博客园主页
GitHub
徐宗韬(组长) 3121004802
yuLLin
yulinnn
冯浩天 3121004779
FHTgduthomework
FHTHomeworkAtgdut
朱正东 3121004806
Momota
momotaaa
黄皓坤 3121004783
jiaoqud86
jiaoqud86

队名:硬工队
团队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的使用技巧。
黄皓坤 进一步加深了对图像处理技术的理解,培养了与团队间协作的能力。