项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2023北航软件工程 |
这个作业的要求在哪里 | 团队项目-Alpha阶段项目展示 |
我在这个课程的目标是 | 学习软件工程技术,完成团队开发流程 |
这个作业在哪个具体方面帮助我实现目标 | Alpha阶段开发 |
一、项目亮点
项目管理
团队是如何进行项目管理的?
我们使用coding平台作为代码仓库与项目协作管理平台。项目采用前后端分离模式开发,使用两个issues集合,分别进行前后端的任务计划与管理
这是coding的任务协作看板,具有两个对进度管理很有用的功能:
-
支持为任务增加父子的层级关联,整个任务看板可以以树状视图展现,利于将不同方面的父任务,划分更细粒度的子任务,体现敏捷开发的原则。
-
能够自动生成任务的甘特图,在任务进度管理时能够清晰直观地复盘与规划。
此外,coding平台支持多种基于代码仓库的数据统计版块,为我们在进行贡献分分配的任务量衡量方面提供了一定的参考依据。
团队的成员如何分工协作的?有什么经验教训?
团队分工主要从每个人的擅长部分出发, 前端四位同学发挥了每个人的优势,包括架构设计与仓库管理、设计复杂的视图与交互功能,设计精美的宣传页与轮播图,调整每个页面的布局与UI样式,后端有三位同学,分别负责运维和前后端对接、GPT部署与数据库的构建,还有编写高覆盖的单元测试。
姓名 | 分工 | 经验教训 |
---|---|---|
lzh | PM、运维 | 应该在项目前期对项目整体安全性方面做更多功课 |
wyy | 前端开发 | 在开发过程中要时刻考虑用户体验和易用性,避免过度复杂化设计 |
lyq | 前端开发 | 注意相对布局以及功能设计使用的完备性、安全性,布局以及功能要以用户为出发点 |
xzh | 前端开发 | 前后端开始编写代码前约定好数据格式与接口格式,并且注意功能的可拓展性;注意相对布局以及不同屏幕比例的适配 |
ljh | 前端开发 | 在设计前后端API的调用规范时缺少对安全性的考虑 |
zya | 后端开发 | 数据库与api设计应与前端充分沟通,减少后期反复修改 |
zl | 后端开发 | 应严格约束ChatGPT输出格式并进行后处理;应对爬虫得到数据进行多重过滤 |
团队成员如何沟通和对接的?有什么记录留存?
(一)例会
项目的前期讨论与个人开发阶段,主要进行线上会议,讨论本阶段开发问题,明确下阶段任务。我们留存了五次线上会议的录屏,帮助不能参会的同学了解项目进展,同时用来进行会议总结。
项目的前后端对接与部署阶段,进行两次全员线下的集中开发,沟通效率比较高,线下推进比较顺利。
(二)前后端对接
apifox接口管理与测试,一共完成52个接口文档,约束前后端接口的规范性。同时在开发初期,前后端使用它进行各自的测试,避免开发调试时进度不统一的问题,保证了个人开发的代码在交付到对接阶段时,都是经过充分调试的、可信赖的代码,保证了代码对接阶段的高效
团队项目的实际进展如何(拷贝那些 scrum 过程中的燃尽图即可)?在项目管理中,scrum的燃尽图是如何真实反映项目的状态的?或者燃尽图美化了状态?
从燃尽图能看出来,我们团队的项目进展是比较平稳推进的,基本与燃尽图的理想曲线符合,没有出现项目后期补天的情况,首先是感谢团队成员都有优秀的进度把控意识,以及印证了我们团队在前面的项目管理方面的介绍,是合理并且适合我们团队的。
后期实际进展与理想进展曲线出现一定偏离,经过反思是因为项目从个人开发转向对接阶段时,由于前后端部署与数据库的构建需要一定的学习与试错成本,拖延了一定的进度。
在任务中,我们存在issue的实时增删,包括增加新需求引入的新issue,以及对于一些不合理/重复/放入beta阶段的issue的删除。在Alpha阶段整体完成后,结合coding平台对issue的每日完成记录,去掉上述因素影响后,最终Alpha阶段项目的燃尽图较为合理。
用户场景与特色功能
预期的典型用户场景
姓名 | 小新 |
---|---|
用户身份 | 大一新生 |
年龄 | 18 |
用户所占市场比例 | 20% |
用户情况/个人英语水平 | 刚完成高中学业不久,高考英语水平 |
用户动机 | 脱离中学教育模式,开始自学英语 |
使用习惯 | 没有固定规律,有时间学英语时就用 |
支付意愿 | 学生群体付费意愿较低 |
产品期望 | 能够辅助培养自己自学英语的水平 |
应用情景 | 场景:有时间时学习一些新单词 收获:掌握单词释义,同时通过语境等加深印象 |
姓名 | 谷哥 |
---|---|
用户身份 | 即将出国的外企员工 |
年龄 | 30 |
用户所占市场比例 | 15% |
用户情况/个人英语水平 | 有一定的英语基础,日常工作中有英语使用需求 |
用户动机 | 满足商务会话、日常会话需求 |
使用习惯 | 平时日常巩固,要出国前适当突击 |
支付意愿 | 如果对英语水平(尤其是口语)有所提升则愿意消费 |
产品期望 | 提升口语水平,能够熟练进行日常英语会话 |
应用情景1 | 场景:学习商务中可能用到的词汇以及进行对应的对话训练 收获:熟悉商务对话 |
应用情景2 | 场景:日常常用词学习与训练 收获:锻炼日常英语交流能力 |
姓名 | 阿美 |
---|---|
用户身份 | 有美国留学意愿的学生 |
年龄 | 20 |
用户所占市场比例 | 25% |
用户情况/个人英语水平 | 大学四级/六级水平 |
用户动机 | 满足出国的英语要求 |
使用习惯 | 有规划的每日使用学习 |
支付意愿 | 愿意支付一定费用(和出国求学比消费较少) |
产品期望 | 满足托福等应试要求,并培养英语会话水平 |
应用情景1 | 场景:学习单词时同时学习阅读写作时对应的语境 收获:掌握单词在具体语境下的使用,从而提高GRE成绩 |
应用情景2 | 场景:通过对话学习单词的使用 收获:能够将单词运用到日常学习交流中 |
姓名 | 吕笑 |
---|---|
用户身份 | 初入某领域的科研人员 |
年龄 | 22 |
用户所占市场比例 | 5% |
用户情况/个人英语水平 | 英语水平能够满足日常使用和基础阅读, 但是对相关文献中的专业领域内的专有名词比较生疏 |
用户动机 | 更好的更快速的理解记忆领域内的专有名词以及用法 |
使用习惯 | 在阅读文献时边阅读边搜索专有名词,在闲暇时间能够整理理解单词本中的 |
支付意愿 | 学生收入有限,支付意愿比较低 |
产品期望 | 能够掌握领域内比较常见的专有名词,阅读文献时没有阅读障碍 |
应用情景1 | 情景:阅读一篇文献时,边阅读边搜索专有名词并添加到单词本 收获:整理一部分专有单词,能够及时复习以便更好的理解文献 |
应用情景2 | 情景:在闲暇时间生成领域内其他专有单词更深入的了解领域内专有名词。 收获:更快速的适应科研工作 |
姓名 | 马田 |
---|---|
用户身份 | 应对考试的学生 |
年龄 | 21 |
用户所占市场比例 | 25% |
用户情况/个人英语水平 | 英语水平较差,但是可以有比较长的时间周期内坚持学习和练习的意愿,希望能提高自己的英语水平 |
用户动机 | 提升阅读写作听力等应试方面的能力 |
使用习惯 | 会每天投入固定时间练习英语 |
支付意愿 | 学生收入有限,支付意愿比较低 |
产品期望 | 能够高效练习英语并最终提高英语成绩 |
应用情景1 | 情景:背单词时同时背诵近义词、反义词等相关词汇 收获:背诵更多的单词并加深单词的印象 |
应用情景2 | 情景:用已经背诵过的单词生成相关测试,检验背单词的效果同时练习阅读能力 收获:更深刻的记忆单词,并提高了阅读能力 |
应用情景3 | 情景:生成范文 收获:提高写作能力 |
姓名 | 田黑土 |
---|---|
用户身份 | 英语专业学生,有未来继续从事相关领域学习研究的意愿 |
年龄 | 20 |
用户所占市场比例 | 10% |
用户情况/个人英语水平 | 专业四级 |
用户动机 | 1.满足各类应试需求 2.提高英语阅读、写作等综合水平(非应试需求) 3.满足研究需要 |
使用习惯 | 每天会投入较长时间学习英语,但需求比较琐碎,使用某一特定功能(比如背单词)的时长不定 |
支付意愿 | 学生收入有限,支付意愿比较低,但在所需功能/资源必要且较为优惠(如软件词库专业性较强,市面上没有其他可替代资源或价格明显低于类似资源)的情况下愿意支付 |
产品期望 | 有语言学专业词汇等学科专业性较强的词库、CATTI热点词条等针对(受众相对较小的)应试需求的词库;有记忆曲线和默写测试功能,但复习和默写功能可自愿开启(即不需要每天先复习后才能学新词/学到的词默写检查后才能开始学下一个);可背记词组,但词组在复习时可以与单词分开(比如单词可能需要默写但词组很长又基本都是认识的词,默写很浪费时间);有词根词缀、语境记忆、联想记忆等多维助记法;对于原版只有顺序版的词书,可自主选择随机乱序排列;最好可以用户自主创建词库并共享 |
应用情景1 | 情景: 阅读英文原著时,利用单词app查找生词并加入生词本 收获:借助语境增大词汇量,积累原汁原味的英文表达 |
应用情景2 | 英语写作中利用单词app查找表达某一含义(如含有某些关键词)的例句 收获:使英文表达更地道 |
杀手级功能
(一)有留学意愿的学生
-
用户动机:锻炼出国的英语要求
-
产品期望:培养英语交流能力,满足托福等应试要求
-
使用场景:通过对话学习单词的使用,能够将单词结合真实语境,运用到日常学习交流中。为了通过托福等考试需要储备大量单词,学习单词时结合同义词反义词能够高效扩充词汇量
杀手级功能1:同义词、反义词辨析,随机例句
在右侧的卡片上我们引入了同义词、反义词以及非固定的单词例句等功能以供用户加深对单词的理解。也可以点击不再学习标记该单词为简单词。
杀手级功能2:智能学习助手对话功能
平台展现了智能学习助手Kaleido这一虚拟形象,用户可以在此处与Kaleido进行试试交流对话。
(二)初入某领域的科研人员
- 用户动机:希望掌握某一细分领域的学术单词
- 产品期望:有所学领域的学术词单,支持自定义增删
- 使用场景:定制化词单,例如相关文献中的专业领域内的专有名词,使用情景是阅读文献时,边阅读边搜索专有名词并添加到单词本
杀手级功能3:个性化词单定制
在词单界面中用户可以拉取平台提供的优秀词单,可以自己导入想学习的单词完成个性化定制,平台会基于后端数据库为用户生成一份属于自己的词单。
(三)需要四六级考试的本科生
- 用户动机:提高阅读写作方面的应试能力
- 产品期望:背的四六级单词能结合阅读场景学习;提供长难句分析和作文评价
- 使用场景:用已经背诵过的四六级单词生成相关测试,在文章中检验背单词的效果,同时练习阅读长难句能力。写完一篇作文,对作文的语法错误检查与写作思路评价。
杀手级功能4:基于OpenAI的智能单词复习模式:
-
故事模式:基于今日学习单词生成文章,在语境中复习单词
左侧会展示用户今日学习单词,点击选择部分单词即可由小助手生成包含该单词的故事,帮助用户在故事及语境中复习单词。
在阅读故事时遇到不理解的句子时,鼠标选中这句话,小助手会为用户分析这句话的中文释义以及长难句的句式结构分析,帮助用户提高阅读理解能力。
-
单词复习:给出一段短文,以完形填空的形式填入单词,加深对单词的掌握程度
背诵部分但此后进入单词复习模式,小助手会自动为用户选择今日学习生词,生成完形填空段落,让用户在真实语境下复习理解单词义
用户可以在文段中填入右侧单词,点击提交查看作答情况与正确答案
-
阅读分析:根据所选段落进行分析,给出中文释义、句式结构和语法分析
-
写作指导:根据上传的短文进行点评,并打出评分,基于写作指导
用户可以在左侧卡片键入作文或者使用文件导入作文后,点击开始分析,小助手会为用户评分,并给出对于文章的点评及建议。
鼠标选择某一句话,也可以为用户呈现句式结构的分析。
竞品对比与分析
- 同义词、反义词: 市面上大多数背单词软件只提供了单词配套例句,并不支持同义词反义词辨析(不背单词有近义词辨析),而在雅思托福中需要重视同义词、反义词的学习需求,现有平台无法满足。
- 个性化词单: 在调研过程中,有34%的同学认为现有平台的词库设置并不合理,需要更专业化的词库,超过85%的同学对个性化生词本有兴趣。现有平台由于词库有限等原因,无法支持用户的个性化词库功能,在这里,我们计划采用“数据库查找+网络爬取”的形式对用户想导入的词单进行生成,并在这一过程中逐渐扩大平台词库,实现了个性化定制功能。
- 对话功能: chatGPT是一项极具应用潜力的新技术,我们把握住了这一技术,打造了基于chatGPT的平台智慧小助手Kaleido,可以提供口语练习,英语学习指导等功能。
- 复习模式: 现有单词平台还局限于一组单词学习完成后的复习展示,较为枯燥,效果也不尽人意,我们的平台使用OpenAI的服务打造了智能的单词复习模式,可以在具体语境中练习巩固单词,提高学习的趣味性和复习的效果。
项目发布后真正符合用户需求了吗?列出目标用户使用产品的过程和评价。
目标用户1:北航人工智能专业大四学生,保研后未来的研究方向为计算机视觉
- 使用过程:总使用时间为15分钟,自己创建了人工智能的相关词单并体验了单词学习功能、单词复习功能和复习模式中的故事模式。
- 评价:很好用~自己创建词单进行学习的功能很棒,可以把专业领域中遇到的的单词汇总起来进行学习。但是如果可以支持能直接从导入的文章里提取相关单词,或者直接创建某个领域的相关词单就更方便了。
目标用户2:中国传媒大学网络与新媒体专业大二学生,计划准备接下来的六级考试
- 使用过程:总使用时间为20分钟,使用了官方提供的六级词单,并体验了单词学习功能、单词复习功能和复习模式中的故事模式。
- 评价:感觉整体界面设计与排版还是有改进空间,但是功能设计的很有意思。尤其是单词复习采用了完形填空的形式,用户可以把单词放入上下文进行复习,同时还考察了时态、单复数等等,还能巩固拼写,比一般的单词软件的复习模式高效很多,对于有备考需求的学生来说非常实用。
目标用户3:北航计算机专业大三学生,计划出国留学
- 使用过程:总使用时间为30分钟,使用了官方提供的六级词单,并体验了单词学习功能、单词复习功能、复习模式中的阅读写作和智能对话功能。
- 评价:体验的特色功能真的很不错,拓宽了英语单词学习软件的边界,对于我们这种出国党来说很好用。我尝试把自己写的托福作文上传到阅读写作界面,得到了非常详细的点评和修改意见,这完全可以代替一般的作文打分网站甚至是人工评分。还有对话功能来练习口语也非常不错,非常期待你们之后可以支持语音输入和输出。不过我体验下来觉得一些功能的响应时间有点太长了,不知道能不能进行优化。
软件工程质量
项目有完善的文档吗,是否有约定代码规范?
项目有完整的Git仓库管理规范,已发布到博客:团队Git规范
依照此规范,我们在开发期间保证了分支树与提交信息的清晰,能够保证进行项目进度管理时及时准确地了解到团队成员的代码推进进度,及时了解到相关页面的功能变更,出现错误后易于版本回退。
项目是否采用了CI/CD,并说明理由。
项目采用了CICD,对于开发环境,成员在并入dev分支后会自动触发开发环境的CICD,将变动更新到开发环境的项目,使成员能及时看到推送代码在开发环境的变动。
对于生产环境,由于需要谨慎测试后才能进行版本发布,所以生产环境的CICD采用前后端仓库管理员在复审代码通过后,手动点击触发生产环境的CICD。
采用CICD能够减少从开发到交付的时间,极大程度减轻运维的负担,更好地体现敏捷开发的原则。
项目是否有单元测试,测试用例数目,代码覆盖率等。
使用Django框架的测试模块编写单元测试,对所有输出稳定的api的正常功能与异常情况编写了对应的单元测试,(其中去除了登陆注册、gpt交互功能的不稳定输出、每日学习单词的随机生成三类API)并全部通过。以下为32个测试点的测试情况。
用户日活
项目发布时团队做了哪些努力来推广项目?
- 朋友圈推广
鉴于HelloWord主要受众是大学生,所以宣发的首要途径是团队成员在朋友圈内宣传邀请同学参与HelloWord的试用。我们编写统一文案与配图,并建立讨论群,邀请用户们进群以便于更加细致的介绍项目和听取用户们的反馈。文案内容重点突出我们的定位、特色功能和使用方式,同时注意宣传所需要的趣味性和吸引力。
QQ群最终有50人参与体验,并积极提出意见。宣发群涉及不同学校不同年级不同专业,用户有多方面需求,同时,以计算机专业的同学居多。在广泛调研其他专业用户使用体验的同时,计算机专业的同学能够在安全性、运行编译角度提出更专业的建议。
-
录制产品使用与介绍视频,发布在视频网站,宣传功能的完备性以及创意性。
视频链接
二、项目与团队总结
项目管理
团队成员的简介和个人博客地址
成员 | 头像 | 自我介绍 | 个人博客 |
---|---|---|---|
李子涵 | 自我迭代中的PM,试图绑架一位幸运队友帮我写文档 | https://blog.csdn.net/mmmusel | |
徐子航 | 渡杰 | https://blog.csdn.net/xzh20373284 | |
李京昊 | 想写出不用debug的代码 | https://blog.csdn.net/li__jh | |
王永瑶 | 我想睡觉觉啊 | https://blog.csdn.net/kazeya | |
吕元秋 | 乐观积极且上进⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄ | https://blog.csdn.net/weixin_57687900 | |
朱彦安 | 努力学习的后端开发小透明 | https://blog.csdn.net/weixin_58188728 | |
卓乐 | 和bug势不两立 | https://blog.csdn.net/deftntxz |
团队如何平衡 时间/质量/资源 争取如期完成任务的?
-
lzh:
- 合理分工,每个人承担自己熟悉的工作,最大化团队的效率
- 动态调度,对于不合理的需求从alpha阶段移除,对于新增需求灵活分配给任务完成进度较快的成员
-
zl:
- 及时沟通,遇到问题及时与负责的前/后端成员进行沟通交流
- 从各种渠道获取需要的资源、教程等内容,包括咨询ChatGPT
-
xzh:
- 约定好接口规范,尽量减少不必要的重复工作,交付前做好测试
- 积极沟通,和大家共同解决困难
-
ljh:
- 建立前端代码规范,方便前端成员彼此阅读代码。
- 及时和同伴沟通,避免等待和重复工作。
成员在Alpha阶段的角色和具体贡献
依照每名成员在Alpha期间的贡献,以及贡献分转让原则,最终贡献分如下:
姓名 | 具体贡献 | 最终折合贡献分 |
---|---|---|
lzh | PM、服务器运维、后端开发 | 51 |
wyy | 复习功能页面开发 | 50 |
lyq | 聊天页面开发、UI美化 | 47 |
xzh | 单词页面开发、宣传页面 | 49 |
ljh | 词单页面开发、架构设计 | 48 |
zya | 后端开发、单元测试 | 52 |
zl | GPT部署、单词数据库 | 53 |
特色功能
团队自我评价
成员/功能 | 同义词、反义词 | 个性化词单 | 对话功能 | 复习模式 |
---|---|---|---|---|
lzh | 9 | 10 | 9 | 9.5 |
ljh | 9 | 8 | 9 | 9 |
wyy | 9 | 8 | 9 | 9.5 |
xzh | 9 | 9 | 8 | 9.5 |
lyq | 10 | 10 | 9.5 | 10 |
zl | 9 | 8 | 8 | 9 |
zya | 9 | 9 | 9 | 10 |
用户评价
- chat功能点对学习英语来说比较新颖而且比较有用,实时反馈比较有趣
- 感觉单词数据库挺大的,复习学过的单词的时候发现一个单词的例句不是固定的,感觉比较有意思,让人复习的时候还能有点新意
- 那三个复习功能挺有趣的,之前没太见过,尝试了一下挺好用,就是有点慢
- 作文生成的分析文档全英文,存在一些生僻词,但是可以选中进行分析内容的翻译,感觉这两个功能搭配到一起非常有效,照顾了用户的体验感受
用户场景
项目开发前的目标
在开发前,我们的既定目标是完成一款个性化、智能化的单词学习软件。本软件首先要具备一个单词学习软件的所有基本内容,即最基础的单词学习和一个较为完整的单词数据库;同时也要具备本软件的特色功能,即智能化、个性化的相关功能,如故事模式、对话模式、阅读模式等等。
预期的功能描述
背单词
- 模式预设
- 用户可以任意选择一个词单进行学习
- 用户可以查看词单的学习进度,并设置每日学习单词数量
- 用户可以选择本次学习的主题,本次学习将根据该主题为用户提供复习内容
- 单词记忆
- 按组学习单词,每个单词提供发音、释义、同义词反义词、例句等内容
- 每组组单词完成学习后出现复习界面,根据本组单词与预设主题智能生成短文/填空
智能助手
- 智能助手实现
- 在用户界面显示英语学习小助手 Kaleido 形象,可以与用户交互,提供各种功能模块入口
智能词单
- 词单创建
- 通过导入文章或声明词单场景,用户可以手动创建一个新词单
- 用户也可以直接浏览词单库,搜索并选择词单库已有词单进行创建,如托福、雅思单词
- 词单编辑
- 用户可以合并多个词单,也可以删除词单
- 用户可以在词单中添加、删除单词
- 用户可以修改词单中任意单词的任意属性,如例句、同义词反义词
- 词单使用
- 用户可以选择词单内单词进行复习,支持多种复习模式
- 故事模式:根据选定词汇生成一段故事,利用上下文语境帮助用户理解词义
- 拼写模式:类似传统单词记忆拼写,强化用户对单词记忆
- 刷题模式:为有备考需求用户提供完形填空、单项多项选择题加强用户对于单词释义、同义词反义词的理解
- 用户可以选择词单内单词进行复习,支持多种复习模式
单词应用
- 对话模式
- 用户与小助手进行英语对话
- 阅读模式
- 支持对用户上传的长难句进行分析
- 支持对用户上传的阅读内容进行解析,并给出题目的分析与答案
- 写作模式
- 支持用户给定写作题目进行范文生成
- 支持对用户上传的文章进行点评分析,指出文章错误并给出修改意见
项目发布的功能(拷贝发布文档),在哪里发布了软件。
1、平台概述
项目发布在 sayhelloword.com 官网。
HelloWord是一款简洁智能的背诵单词、学习英语的软件。个性化词单、智能分析与问答,让背单词学习英语的过程不再枯燥。Come and join us! Let’s say “Hello,Word!” to Kaleido ~
2、登录注册界面
- 注册界面
该页面引导首次使用HelloWord的用户进行平台注册,完成邮箱、用户名、密码等设置和验证后即可加入平台,和广大英语爱好者一起进行学习探索。
- 登录界面
已经拥有账号的用户可以通过这一页面进行登录,开启独特的HelloWord之旅
3、单词背诵
完成登陆后,首先来到的便是词单界面,也是我们平台的核心功能界面,下面让我们一起踏上学习之旅。
- 词单界面
词单界面左侧,为新用户贴心地初始化了《新用户词单》。每一个词单卡片包含词单名、词单作者、单词数量,以及词单学习进度。正在学习的词单由卡片的右下角的绿色打勾icon标识。
点击不同词单,词单界面右侧展示了所选词单的单词列表。下方提供翻页栏以及切换单词书功能。
在词单界面中用户可以拉取平台提供的优秀词单,可以自己导入想学习的单词完成个性化定制,平台会基于后端数据库为用户生成一份属于自己的词单。
如果词单学习完成可以点击编辑单词本进行删除。单词的学习记录仍然会保存。
在这一页面中我们还贴心的设置了今日小目标进度条,用户可以自行设置,起到督促学习的作用
- 单词学习页面
选择单词书后平台将会根据用户的历史学习情况以及生词比例来提供今日新词,每次会提供一组单词进行学习,完成该组学习后更新用户学习状态,并提供新的单词。
每次背诵新单词会首先遮盖单词详细信息,用来检测用户对单词的掌握,可以点击认识或者不认识来记录学习状态,点击后显示单词全部信息。在右侧的卡片上我们人性化的引入了同义词、反义词以及非固定的单词例句等功能以供用户加深对单词的理解。也可以点击不再学习标记该单词为简单词。
完成一组单词的学习后会跳转到单词复习页面帮助用户来回顾所学习的单词,完全掌握后点击“学习下一组单词”的按钮可以获取新一组单词进行学习。
4、复习模式
复习模式中包含一下三个功能,故事模式、阅读写作,以及单词复习,以轮播图的形式展现。在这里智能小助手为用户提供私人定制服务,帮助您徜徉学海。点击对应卡片即可跳转到对应的复习模式。
- 故事模式
左侧会展示用户今日学习单词,点击选择部分单词即可由小助手生成包含该单词的故事,帮助用户在故事及语境中复习单词。
在阅读故事时遇到不理解的句子时,鼠标选中这句话,小助手会为用户分析这句话的中文释义以及长难句的句式结构分析,帮助用户提高阅读理解能力。
支持将小助手生成的故事与句式分析导出为文件
- 单词复习
背诵部分但此后进入单词复习模式,小助手会自动为用户选择今日学习生词,生成完形填空段落,让用户在真实语境下复习理解单词义
用户可以在文段中填入右侧单词,点击提交查看作答情况与正确答案
- 阅读写作
用户可以在左侧卡片键入作文或者使用文件导入作文后,点击开始分析,小助手会为用户评分,并给出对于文章的点评及建议。
鼠标选择某一句话,也可以为用户呈现句式结构的分析。
5、智能学习助手
平台展现了智能学习助手Kaleido这一虚拟形象,用户可以在此处与Kaleido进行试试交流对话。
6、个人主页 & 帮助界面
- 个人主页
该页面为用户的个人主页,展示了用户的历史学习记录以及个人信息。在该页面可以修改昵称、密码、退出登录。此外,平台还提供了用户标签的功能,便于在学习过程中为用户提供更具个性化的帮助。
- 帮助页面
为了方便用户对于平台的使用,我们绘制了帮助页面。用户在这里可以查看各部分功能,查看常见问题,反馈使用信息,联系平台开发者……我们致力于为大家提供最优质的英语学习平台。
用户在该页面可以查看平台功能,快速上手玩转平台。
在这一部分,我们提供了常见问题解答,帮助用户快速解决使用难题。
此外,在之前的页面中,部分功能右上角的问号icon支持点击跳转到帮助页面的对应栏目,帮助新用户了解本平台功能。
用户可以指出平台的功能Bug或者提出宝贵的意见。欢迎大家和我们共同来维护HelloWord平台。
最后是开发人员展示,HelloWord平台还在起步阶段,可能还有很多需求无法满足,欢迎大家联系我们进行技术交流。
项目发布后是否满足了全部典型场景?剩下的为何没有满足?
项目发布后满足了用户的基本需求和大部分典型场景,但是并仍有一些典型场景尚未满足。
- 对于英语口语有较大需求的用户(典型用户中的即将出国的外企员工),由于Alpha阶段时间较紧,我们将更多精力放在基础功能和主要特色功能的实现上,尚未加入其他模态,如语音、图像的功能实现。
- 对于某一领域单词有特殊需求的用户(典型用户中初入某领域的科研人员),由于时间问题我们仅支持用户从官方词单和自己导入单词来创建新的词单,尚未支持通过导入文章或给定关键词来智能生成文章。主要原因是Alpha阶段的工作量较大,但是后端已实现对应的功能,Beta阶段只需与前端对接即可。
用户日活
(1) 软件的日活跃用户量是否达到了预先定义的数量?(2) 如果没有达到,你们觉得可能是什么样的原因导致的?(3)你们认为还有什么指标可以佐证你们的软件对用户“有用”?
(1)软件共50+人参与体验,背单词功能共计90+人次、复习单词功能共计120+人次、智能对话功能共计360+人次。
(2)
① 宣传范围比较小,具有使用需求的受众占比小,用户使用量不大
② 宣传活动主要在五一假期中进行,用户们外出游玩,学习时间少,对软件需求小
③ 软件还待完善,需要更趣味性的功能来吸引更多的用户
(3)
① 活跃用户的使用数据,如文本分析、智能对话等功能的使用数据。宣传范围比较小,有使用需求的客户比较少,所以有需求的用户的使用量同样可以证明软件的有效性。
② 用户的交流与反馈数据。考虑到部分用户可能还不够了解我们的软件,虽未能使用软件但是在交流了解过程中可以便于他们日后使用该软件
③ 官方网站的浏览量。可能部分用户在宣发时间并没有使用需求,提前了解我们的项目以供日后使用
是否有用户在功能改进上有所反馈?可以提供用户反馈的截屏。
在用户试用过后提出的功能反馈主要分为两个方面:
-
第一方面是与用户个人信息有关,为了便于用户更加方便的使用自己的账号,某使用用户建议我们增加找回密码和更换邮箱的功能;
-
第二方面与软件功能有关,为了给用户提供更好的使用体验感以及增强功能的实用性与便利性,有使用用户建议我们增加单词查询功能和历史记录的查询(包括背诵过的单词、分析过的文章、历史记录的关键字查询),同时还可以增加是否乱序以及设为背诵词单提示以完善单词背诵功能。
是否有用户在Bug上有所反馈?有什么样的bug?这是预料之中的还是没想到的?
bug描述 | 会造成的影响 | 处理方式 |
---|---|---|
判断邮箱验证码的API和注册API没有封装成原子操作 | 会影响软件的安全性,容易被恶意攻击 | 在Beta阶段进行修改 |
gpt有次数限制的服务没加锁 | 导致请求服务期间可以无限调用,影响软件的使用安全性 | 在Beta阶段进行修改 |
完形填空复习单词的界面中,如果有重复单词,答案展示以及判读会不正确 | 影响用户的使用体验感,不能够正确顺利的完成本组单词的练习 | 在Beta阶段进行修改 |
完形填空复习单词的界面刷新界面后会换一组题,但是不能再继续填写作答 | 复现概率不太大,但还是会影响用户的使用体验感 | 在Beta阶段进行修改 |
个人信息界面上传头像失败 | 不影响基本功能的使用,对用户体验感的影响不太大 | 在Beta阶段进行修改 |
注册登录界面报错后重新修改信息报错不会消息 | 不影响基本功能的使用,对用户体验感的影响不太大 | 在Beta阶段进行修改 |
智能问答界面时间格式不太准确 | 不影响基本功能的使用,对用户体验感的影响不太大 | 在Beta阶段进行修改 |
验证码在前端生成与处理 | 会被扒出来验证码而被hack,影响软件的安全性 | 在Beta阶段进行修改 |
各个接口权限设置不到位,用户可以调用API修改其他用户的个人信息以及使用其权限次数 | 严重影响软件和用户账号的安全性 | 在Beta阶段进行修改 |
软件工程质量
项目是否有出现代码混乱,没有注释,没有详细文档的问题?明年的同学继续开发这个项目,会不会出现以上抱怨?如果一个新学生在一台新机器上想编译并运行你的项目, 请问能顺利完成么?有什么样的文档能指导新学生?
项目采用前后端分离的开发模式, 前后端均有requirements.txt用于环境构建,能够使项目被接手继续开发。
前后端的项目架构均依照目录规范 进行,目录与项目的各个页面一一对应,有良好的解耦性。
学到的经验和教训:整个团队在Alpha阶段学到了什么,对软件工程有什么样的经验教训,Beta阶段有什么大体计划?
在Alpha开发期间,我们基本实现了项目计划中的所有功能,学到了如何敏捷开发与交付一个较为可靠的软件项目,经验教训是对于软件的安全性还需要更加完备的管理。Beta阶段首先将进一步完善软件的安全性,然后考虑将用户标签融入到英语学习的词单、单词、应用场景中,为用户提供更加个性化的英语学习内容。具体内容将在在后续的alpha总结文档与beta计划文档中具体展开。