121
社区成员




这个作业属于哪个课程 | 2302软件工程 |
---|---|
这个作业要求在哪里 | 团队作业——beta冲刺+事后诸葛亮 |
团队名称 | 爱背单词不摆烂 |
团队置顶随笔 | 爱背单词不摆烂——Beta阶段置顶集合随笔 |
这个作业的目标 | alpha阶段问题总结随笔 |
其他参考文献 | 《构建之法》 |
1.我们的软件要解决什么问题?是否定义的很清楚?是否对典型用户和典型场景有清晰的描述?
(1)解决问题与定义:
我们的软件是一款搭载AI大模型的背单词app,旨在给用户提供一个适合的单词背诵工具,提供了多词库的学习、ai问答以及ai测试题目等功能。能够让用户在背诵的同时,通过ai问答和测试反馈自己的学习情况。
(2)典型用户:
我们的app面向的典型用户是中学生、大学生、留学生等对于英语单词背诵有需求的用户。
(3)典型场景:
场景1:用户A是一名大学生,他需要报考英语四六级,于是他使用我们的app进行单词的背诵,并在背诵完后通过ai出题测试检验自己的单词水平。
场景2:用户B是一名将要出国留学的学生,他需要通过雅思托福考试,他不仅要通过笔试还要通过口语考试,在背诵单词的同时,他与ai进行语音交流锻炼自己的口语水平。
2.我们达到目标了么(原计划的功能做到了几个?按照原计划交付时间交付了么?)
(1)原计划的功能基本实现,ai语音系统还未完成,且项目还有一些部分需要完善。
(2)按照原计划以基本完成。
3.和上一个阶段相比,团队软件工程的质量提高了么? 在什么地方有提高,具体提高了多少,如何衡量的?
和上一阶段相比,团队软件工程质量有了显著的提高。软件工程质量提高了10%,在alpha冲刺中,我们细化了每个成员的分工任务。通过分工我们可以合理完成每个人的进度,以推进团队项目进展。同时,我们引入站立式会议,即使沟通交流,发现问题,保证进展顺利。通过成员的任务完成情况,我们估计了软件工程质量提高了大致10%。
4.有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
(1)有的程序错误发现较晚:部分软件测试需要和开发同时进行,通过及时反馈以发现程序问题并及时改进,确保程序的正确性。
(2)程序开发和预期效果有落差:加强开发人员之间的交流,确保程序整体性。
1.是否有充足的时间来做计划?
我们团队事先对每个成员有过一个大致的角色定位,所以在计划安排上时间是比较充足的。
2.团队在计划阶段是如何解决同事们对于计划的不同意见的?
团队事先对每个成员进行了一个角色定位,根据每个人掌握的技术安排成员的职责,当遇到不同意见时,团队会召开会议,来讨论大家不同的意见,最后通过一个大家都能接受的决定。
3.你原计划的工作是否最后都做完了?如果有没做完的,为什么?
原计划的工作都已完成。
4.有没有发现你做了一些事后来看来没必要或没多大价值的事?
我们团队成员都是按照计划执行,每日的任务也都有完成,并没有出现这样的情况。
5.是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
我们项目的整个过程都按照计划进行,进展很顺利,并没有出现意外。
6.在计划中有没有留下缓冲区,缓冲区有作用吗?
我们在计划中留了缓冲区,减少程序出现的bug。
7.将来的计划会做什么修改?(例如:缓冲区的定义,加班)
:在每个重要任务预留额外的时间,以应对潜在的问题。
1.每个相关的员工都及时知道了变更的消息?
每个成员都能及时知道变更的消息。我们通过会议或者通讯私聊的方式确保每个成员都能在第一时间得知变更。
2.我们采用了什么办法决定“推迟”和“必须实现”的功能?
采用成员会议的形式。
3.项目的出口条件(Exit Criteria-什么叫“做好了”)有清晰的定义么?
(1)项目实现了所规定的所有满足用户的需求,并且达到了预期。
(2)项目通过了一系列的测试和验证 ,确保软件的质量符合标准。
4.对于可能的变更是否能制定应急计划?
答案是能的,若出现变更,我们会及时召开小组会议确保项目正常进行。
5.员工是否能够有效地处理意料之外的工作请求?
员工能够有效处理意料之外的工作,团队成员之间能够做到互帮互助 。
我们事先通过了解每个成员所擅长的技能来安排角色分配任务,如果遇到一些新的知识点我们会给成员有宽裕的时间学习来应付未来的安排,做到了人尽其才。
团队若遇到问题,成员之间能做到互帮互助,及时解决问题。
若是两三个成员之间出现合作问题,我们会让出现问题的同学一起开会交流以解决问题,若是出现较大的问题,我们会召开全体组员会议以确保后续的进展能顺利进行。
1.设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计工作在团队前期就开始进行,刚开始的需求分析、概要设计 、系统设计是由所有成员一起讨论设计的,到了原型阶段则交给了我们组内的两名成员分别设计我们软件的前台和后台。
2.设计工作有没有碰到模棱两可的情况,团队是如何解决的?
我们团队在设计后台功能的初期,无法确定后台的所有功能,以及某功能是否具有实用性,经过我们团队不断会议讨论之后解决了设计过程中的问题。
3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
团队运用了apipost对软件的每个接口进行了测试,也在测试中发现了问题并解决。
4.什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug?为什么我们在设计/开发的时候没有想到这些情况?
之前软件在文章列表展示中出现了一些问题,产生的原因在于前后端技术员的沟通不及时。
5.代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
代码复审由每位负责编写的成员进行,并且严格执行了代码规范。
1.团队是否有一个测试计划?为什么没有?
团队有测试计划。
2.是否进行了正式的验收测试?
团队有专门的测试人员针对app端和web端进行验收。
3.团队是否有测试工具来帮助测试?很多团队用大量低效率的手动测试,请提出改进计划:至少一个方面的测试要用自动化的测试工具,自动化的测试结果报告,比较测试结果的差异,等等。
团队通过apipost针对软件所有的接口进行测试。在beta阶段,会针对软件的一些方面做一些压力测试。
初始级
规范阶段。
完善我们软件目前的一些功能。