规格需求说明书
1.引言
1.1编写目的
本文详细描述课堂助学软件Learn in fun的需求。文中结合产品部分使用人群建议及开发方需求,整理出可靠的需求清单,为今后的开发工作提供依据。
1.2开发目的及意义
本软件开发目的是在windows平台上搭建一个兼具游戏性和教育意义的软件,主要目标使用者为配备了多媒体平台的小学。软件通过简单的游戏能让老师简单地调动学生的课堂积极性,并且让学生学习的过程减少枯燥程度
2.功能性需求
功能需求如图:
![]
详情参阅《Learn in fun软件原型设计》
3.外部接口需求
3.1硬件接口需求
- 本软件需运行于搭载windows10系统的个人电脑上
- 软件要求最好搭配教室多媒体平台硬件使用,包括白板,投影仪
3.2软件接口需求
- 操作系统:本软件运行于windows10系统,其他平台暂不支持
- 运行本软件的个人电脑需预安装windows10版本的讲述人语言库
- 开发工具:本软件基于Unity2019.3.2开发
- 编程语言:C#
4.其他需求类
4.1界面需求
美术资源及UI资源由开发团队美术负责人决定,具体布局需求参阅《Learn in fun软件原型设计》
5.假定与约束
- 开发过程中出现问题,则询问产品经理,产品经理进行协调
- 软件功能需求可能会由于获取到部分使用人群新的建议而更新,但由产品经理决定是否保留
- 开发止于软件工程作业结束
用户量分析
根据获得信息,一座小县城中,小学一个年级大约有200个班,且全配备多媒体平台。
产品目标为刚开始学习英语的小学三、四年级。
若全县所有目标班使用我们的产品,假设一个班40名学生,一名教师教两个班,则有16000名学生,200名教师受益。
算上转化率与推广能力,预计用户量为10个班,即:
5名老师,400名学生
系统意义分析
- 真实性:unity提供成熟的制作游戏方式
- 可用性:项目想法来源于小学教师建议,为现实实际需求
- 价值:为小学教师提供一个新的课堂游戏方式,充分利用学校多媒体平台
团队任务管理
- 代码管理 - github网址
https://github.com/WuHuAirport - tower任务截图
时间计划表
tower日历截图所示
团队责任与分工
成员姓名 | 软工角色 | 团队责任 |
---|---|---|
张伟景 | 产品经理 | 协调团队工作,对作业任务进行整理分配,整理博客工具人 |
黄常旺 | 开发 | 负责制作整合美术、音乐等资源 |
吴宗东 | 开发 | 程序,负责实现功能 |
谢浩杰 | 开发 | 程序,负责整合代码,管理代码库,定制规范,实现功能 |
黄杰 | 测试 | 指定测试计划,对软件进行测试,漏洞整理 |
成员任务完成情况及感想
谢浩杰 开发
分配的任务及完成情况
编写代码规范 - 已完成
学习必要技术 - 已完成
- Unity相关知识
- C#
- windows语言库
个人感想
由于之前学习实践过Unity引擎项目及C#相关知识,所以学习必要技术方面轻松了一点,上网搜索了些Unity和C#代码规范相关资料,博客,并结合自身经验写了一份代码规范,团队分工分配工作比单独一个人干完所有工作比起来更有团队感。
黄常旺 开发
分配的任务及完成情况
熟悉代码规范 - 已完成
学习必要技术 - 未完成
- Unity相关知识
- C#
- windows语言库
个人感想
学习一门新语言确实挺麻烦的,再加上自己本身并不怎么勤劳和聪明,但是团队工作不能落下,所以还是要多通宵开开车,再努力学习才行。
黄杰 测试
分配的任务及完成情况
指定测试计划 - 未完成
学习必要技术 - 未完成
- Unity单元测试
- .NET单元测试
个人感想
组队初期立下FLAG要做测试人员,找测试相关的学习资料时发现测试方面的知识面非常丰富,但是能够快速上手的文章较少,多是偏向理论层面的文章。测试这个工作听起来非常酷,但是工作内容对技术要求比较高,需要快速学习项目相关的技术。刚刚步入测试技术的学习,图形化的部分暂时只会做手工测试,希望不会拖累团队的进度。
张伟景 产品经理
分配的任务及完成情况
设计原型 - 已完成
编写需求规划说明书 - 已完成
编写团队博客 - 已完成
分配团队任务 - 已完成
学习必要技术 - 未完成
- 编写各种文档
- 团队管理方法
个人感想
本以为产品经理是一个主管理的好活,真正做起来还不如写代码轻松。主要是一些东西从来没有接触过,比如文档,需求说明书之类的。平时积累的主要是技术方面的东西,现在完全排不上用场,心有余而力不足。但积累过技术方面的东西也让我分配任务时游刃有余,也算是有点用处。
吴宗东 开发
分配的任务及完成情况
编写成员PSP表格 - 未完成
学习必要技术 - 未完成
- unity3D存储
- unity3DUI
个人感想
学习新知识总是快乐的,虽然还是有点半蒙半懂,能按照示例做出结果,但是还不算灵活运用。
Learn in fun原型设计
开始界面
开始游戏按钮:
转到使用单词界面(模式选择界面待定)
词库设置按钮:
转到词库设置页面
退出游戏按钮:
退出游戏
高级需求
游戏设置:音量,分辨率,全屏等
词库设置界面
单词输入框:
输入单词,并在添加过的单词中筛选(类似于词典),结果在词库搜索框中输出,当输入框中的东西改变时,搜索框的结果同步刷新
词库搜索框:
上下滑动
用于显示输入框的搜索结果
每一个“查询结果单词”都是一个可以选中的按钮
搜索框中的内容会跟随输入框的改变而刷新
当输入框中没有内容(或为默认内容)时,搜索框显示词库中所有的单词
添加按钮:
将输入框中的单词放入加入词库
如果词库中有相同的单词,按钮不可用
删除按钮:
将在搜索框中选中的单词从库中删除
如果没有单词被选中,按钮不可用
删除时会出现提示框,罗列所有选中的单词,并询问是否删除
完成按钮:
返回开始界面
模式选择界面(待定)
使用单词界面
搜索框:
输入单词,并在添加过的单词中筛选(类似于词典),结果在词库搜索框中输出,当输入框中的东西改变时,搜索框的结果同步刷新
搜索单词框:
上下滑动
用于显示输入框的搜索结果
每一个“查询结果单词”都是一个可以点击的按钮,单击按钮则将该单词置入游戏中会用到的单词库
搜索框中的内容会跟随输入框的改变而刷新
当输入框中没有内容(或为默认内容)时,搜索框显示词库中所有的单词
已经在备选单词库存在的单词的按钮不可用
游戏中用到的单词框:
上下滑动
用于显示会在游戏中使用到的单词
每一个单词旁边有一个红叉,点击红叉则将该单词从备选单词库移除
此框有默认存档功能,默认为上一次的设置
如果上一次的单词从词库移除,则从备选库移除
返回按钮:
返回上一个界面(开始界面)
开始游戏按钮(其实是打错了):
如果单词备选库单词不为6个及以上,发出提示,且不进入下一个界面
转到游戏开始前界面
游戏开始前界面
返回按钮:
返回使用单词界面
备选单词数(3-5):
每一波会出现的单词数
反应秒数(待定):
选择单词的时间限制
波数(大于0)(5-10):
单词波数
开始游戏按钮:
转到游戏界面
游戏界面
分数:
当前选择正确的次数*5
波数:
显示形式:当前波数/总波数
单词:
每一波单词从屏幕下方飘上来,持续一段时间,然后飘走,此为一波
女性人头立绘:
就图个好看,假装是她在读单词
游戏流程
候选单词从屏幕下方飘上来,并且系统播放正确单词的语言
单词在屏幕中间停留一段时间
单击单词:
如果正确,爆出好看的粒子效果,分数增加,其他气球飘上去
如果错误,爆出不好看的粒子效果,分数不变,正确的气球变色,持续一小段时间,然后所有气球飘上去
超过设定时间,所有气球飘上去
然后下一波,直到完成所有波数
波数完成后,显示一个好看的Complete,然后跳转到游戏结算界面
游戏结算界面
波数:
总波数
正确个数:
选择正确的分数
分数:
总的分数
再来一次:
重玩
重选词库:
跳转至使用单词界面
选择模式(待定)
其他可选按钮
退出游戏(退出游戏)
返回主标题(开始界面)
游戏参数设置(游戏开始前界面)