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

发布时间 2023-11-02 16:36:42作者: toasty
所属课程 软件工程
作业要求 团队项目
作业目标 了解团队成员、确定选题、计划后续项目安排
github链接 OpenGL-MiniEngine

需求规格说明书

一、引言

1.1 项目描述

基于OpenGL的3D场景绘制渲染与交互界面:
本系统主要面向于初学图形学与人机交互的同学,通过开源的方式为初学者提供一个较为轻量、易解读的图形交互界面。

  • 产品名称:MiniEngine
  • 项目背景:对于初学者而言,目前互联网上的学习资源良莠不齐,查询时费心费力,本项目意在通过制作一个体量较小的图像引擎为初学者提供帮助。
  • 产品类型:Windows桌面应用程序
  • 界面语言:英文/中文
  • Github链接

1.2 编写目的

为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。

1.3 阅读对象

本《需求规格说明书》的阅读对象是:

  • 开发组成员
  • 测试组成员
  • 团队授权可阅读本文档的其他人员

二、需求概述

2.1 面向用户分析

2.1.1 用户特征

使用图形引擎的大学生一般是计算机科学、软件工程、游戏设计等相关专业的学生,他们对图形学、游戏开发、虚拟现实等领域有浓厚的兴趣和热情,希望通过使用图形引擎来实现自己的创意和想法,或者完成课程作业和毕业设计。他们的年龄一般在18-25岁之间,性别比例可能男生多于女生,地域分布可能以发达国家和地区为主。

2.1.2 用户需求

使用图形引擎的大学生的主要需求是能够快速、方便、高效地开发出高质量的图形应用或游戏,同时能够学习和掌握图形编程的基本原理和技巧。他们需要一个功能强大、性能优良、文档完善、社区活跃的图形引擎,提供丰富的资源和工具,以及友好的用户界面和交互方式。

2.1.3 用户行为

使用图形引擎的大学生的典型行为是在网上搜索和下载图形引擎,阅读官方文档和教程,观看视频教程和案例演示,参与社区讨论和交流,编写代码和脚本,调试和运行程序,测试和优化性能,发布和分享作品等。他们可能会根据自己的喜好和需求选择不同的图形引擎,比如虚幻引擎等。他们可能会花费几个小时到几个月不等的时间来完成一个项目,取决于项目的复杂度和难度。

2.1.4 用户画像

姓名 性别 年龄 专业 兴趣 目标 图形引擎
小明 20 软件工程 游戏开发 做一个3D射击游戏 虚幻引擎
小红 21 计算机科学 图形学 做一个数据可视化应用 Three.js
小李 22 游戏设计 虚拟现实 做一个VR体验项目 Unity

2.2 需求分析

2.2.1 具体功能

  • 查看特定格式的3D模型
  • 对3D模型添加光照效果
  • 实现对场景与模型的交互
  • 程序使用教程

2.2.2 意义分析

真实: 对于初学者而言,目前互联网上的学习资源良莠不齐,查询时费心费力,即使网络上比较成熟的开源图形交互软件都有较完整的文档,但体量较大,抽丝剥茧实属不易。

可用:开发程序的同学都是这学期初接触OpenGL的新手,故更能理解初学者不解之处,可以在适当的地方补充注解,更适合作为教学项目。

有价值:开源项目在大学生群体中越来越受欢迎,很多学生通过参与开源项目来提升编程技能、了解业界技术、结识良师益友、展示个人能力。也希望这个项目能唤起更多同学对开源项目的热情,为国内的开源生态增添活力。

2.3 技术需求

2.3.1 图形学基础知识

技术项 具体技术
编程语言 C++
引擎库 OpenGL
代码版本控制 Git

2.3.2 界面交互

技术项 具体技术
编程语言 C++
原型设计软件 墨刀/Axure

2.3 预期用户数量

早期在同级同学内推广,预期有200人试用本应用程序。

三、分工设计

3.1 分工

姓名 学号 团队分工 本周任务
潘俊羽 3121005138 开发、文档编写 参与讨论编写需求规格说明书、提交个人感想、技术学习
石云欣 3221004809 设计产品需求、文档编写 参与讨论编写需求规格说明书、编写博客、技术学习
杨恒 3121005146 开发、文档编写 参与讨论编写需求规格说明书、提交个人感想、技术学习
游烽 3121005148 测试、文档编写 参与讨论编写需求规格说明书、提交个人感想、技术学习
沈纪康 3121004750 开发、文档编写 参与讨论编写需求规格说明书、提交个人感想、技术学习
罗寰宇 3121005137 管理项目进度、文档编写 参与讨论编写需求规格说明书、提交个人感想、技术学习

3.2 时间安排表

3.2.1 新旧时间安排表

旧时间 旧任务 新时间 新任务
第9周 1.团队组队、团队博客 第9周 1.团队组队、团队博客
2.团队介绍、成员展示、角色分配、选题确定 2.团队介绍、成员展示、角色分配、选题确定
第10周 1.需求规格说明书 第10周 1.需求规格说明书
2.原型设计,队员估计任务难度并学习必要的技术 2.原型设计,队员估计任务难度并学习必要的技术
3.编码规范完成、平台环境搭建完成、初步架构搭建 3.编码规范完成、平台环境搭建完成、初步架构搭建
第11周 1.原型改进(给目标用户展现原型,并进一步理解需求) 第11周 1.原型改进(给目标用户展现原型,并进一步理解需求)
2.架构设计,WBS, 团队成员估计各自任务所需时间 2.架构设计,WBS, 团队成员估计各自任务所需时间
3.测试计划 3.测试计划
4.确定应用程序界面设计
5.成员继续学习技术
第12、13周 1. 团队项目Alpha任务分配计划 第12、13周 1. 团队项目Alpha任务分配计划
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交(预计时间为11.16-11.23)
3.改进测试计划
第14周 1.用户反馈+测试计划改进 第14周 1. 用户反馈+测试计划改进
2. 团队Alpha阶段个人总结 2. 团队Alpha阶段个人总结
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理
第15周 1. 团队项目Alpha博客:事后分析 第15周 1. 团队项目Alpha博客:事后分析

3.2.2 修正算法

  • 实际情况
    考虑到大家的学习进度,适当延长了学习时间、缩短了开发时间,同时根据课程及考试安排,进行更加人性化的时间安排,给大家留出充足的个人发展时间。
  • 对时间和任务进行细化

3.3 issues截图

四、总结

4.1 成员个人感想

姓名 学号 任务完成情况 个人感想
潘俊羽 3121005138 已完成 第一次接触详细设计文档,对于其中需求分析的部分很有感触,能够细化开发的模块和过程对开发来说是很有效率的一件事。
通过issues功能能够直观看到项目的问题和进度,可以控制好开发的时间流程,也是很有效率的。
石云欣 3221004809 已完成 需求规格说明书的内容覆盖面还挺广的,感觉像技术岗和营销岗的结合。下周就要开始正式开发了,很期待最后的成品。
杨恒 3121005146 已完成
游烽 3121005148 已完成
沈纪康 3121004750 已完成
罗寰宇 3121005137 已完成