| 这个作业属于哪个课程 | 2021春软件工程实践S班 |
|---|---|
| 这个作业要求在哪里 | 团队作业六——Beta冲刺+事后诸葛亮 |
| 这个作业的目标 | alpha阶段问题总结 |
1. 设想和目标
作为随机组,我们的开发目标是指定目标:开发软件工程实践课程的评分系统。能实现使用该系统来对软件工程实践课程作业进行评分和各项统计,减轻助教的评分工作,提高评分效率,节省时间。
1.1 预期功能标准
- 前端
- 完成各项评分界面
- 完成各个用户角色的管理界面
- 与后端实现正常的数据交互
- 后端
- 实现各项成绩统计的逻辑处理和数据处理
- 完成各种角色管理的相关逻辑和数据管理
- 与前端实现正常的数据交互
1.2 实际的进展
- 前端:页面都已完成,但数据交互存在一些问题。
- 后端:大部分逻辑完成,交互测试也进行了大部分,但没有与前端达到预期的交互。
2. Alpha阶段计划
2.1 后端
| 日期 | 任务 |
|---|---|
| 5.1 | 班级管理,团队管理Service编写 |
| 5.2 | 布置作业,处理评审表Service编写 |
| 5.3 | 布置作业,处理评审表Service编写 |
| 5.4 | 博客评分Service编写 |
| 5.5 | 博客评分Service编写 |
| 5.6 | 得分统计编写 |
| 5.7 | 得分统计编写 |
| 5.8 | 查缺补漏,测试阶段 |
| 5.9 | 查缺补漏,测试阶段 |
| 5.10 | 查缺补漏,测试阶段 |
2.2 前端
| 日期 | 任务 |
|---|---|
| 5.1 | 登陆注册静态页面编写,多角色界面拆分 |
| 5.2 | 评分界面编写 |
| 5.3 | 其他静态界面编写 |
| 5.4 | 交互逻辑编写 |
| 5.5 | 交互逻辑编写 |
| 5.6 | 交互逻辑编写 |
| 5.7 | 交互逻辑编写 |
| 5.8 | 查缺补漏,测试阶段 |
| 5.9 | 查缺补漏,测试阶段 |
| 5.10 | 查缺补漏,测试阶段 |
3. 资源
3.1 人力资源分配
我们组没有真正意义上的PM,只是拆成前后端小组,更多采用前后端小组组长协商讨论来得出计划。由于人员组成上的一些原因,我们组实际上是八个人在工作,前端原本的4人变成3人,所以导致我们的前端实施较为困难,进度上也比较吃力。任务分配方面一般采用划分定制出几个任务,然后组内队员依据自己的能力范围自行选择。
3.2 任务时间和其他资源分配
任务时间只划定大的范围,然后具体时间分配由个人自行完成,具有较大的弹性,并阶段性汇报任务完成情况。组内资源基本都可共享,具有较高的整体团队性,同时也提高了资源利用率。
4. 设计/实现
4.1 设计工作在什么时候,由谁来完成?是合适的时间,合适的人吗?
设计工作在alpha冲刺前的软工实践作业中完成。由全组人员完成,前后端小组分别完成各自相关部分的设计工作。需求部分相关的分析设计工作是由全组人员讨论完成,前端独立设计部分主要是原型设计,后端独立设计部分最主要数据库设计和系统设计。
4.2 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
设计工作中碰到模棱两可的情况,一般会将问题抛出来讨论解决,小问题容易解决的开个腾讯会议或者在QQ群中直接解决,较大的问题直接线下开会解决,并在文档中记录讨论的结果和一些详细细节,防止后续工作出现方向上的偏差。
4.3 我们学到了什么?如果历史重来一遍,我们会怎样改进
最大的收获在于深刻意识到设计的重要性。一个好的软件是设计出来的,有良好的设计才能使后续的所有工作事半功倍,而且才能稳步推进。相信很多人在实际接触大的项目之前或多或少都会有轻设计,重编码的想法和观念,但接触过后才会慢慢认识到设计的重要性。还有一个较大的收获是管理的重要性,凡是团队类的事情,我相信管理都是非常至关重要的。如果历史重来一遍,我们会在设计和管理上投入更多精力。
5. 测试/发布
5.1 团队是否有一个测试计划
我们小组一直的测略都是单元测试紧跟自己的代码函数,尽量实现代码函数和相关单元测试的先后脚产出。接着是集成测试,主要是前后端的对接,我们的计划是在实现前后端大部分的任务后统一进行对接集成测试。
5.2 是否进行了正式的验收测试
项目还在开发中,未进行正式的验收测试。
5.3 团队是否有测试工具来帮助测试?
后端使用postman进行模拟测试。
前端采用模拟请求mockjs。
6. 团队的角色,管理,合作
6.1 团队的每个角色是如何确定的,是不是人尽其才
随机组队后,每个人自行选择开发前端或者后端,再各自定出一个小组的leader。大家都在各自想要的方向上,而且初始人数比例4:5,较为合理。
6.2 团队成员之间有相互帮助吗?
团队内的氛围较好,有适当的竞争气氛,但合作气氛更为浓烈,经常互通有无,大家都不会吝啬相互帮助。先学会的同学带动后学会的,有问题都抛出来一起解决。
6.3 6.3 当初出现项目管理,合作方面问题,团队成员如何解决?
一般先向组长汇报,能直接解决就直接解决,否则就抛出来集思广益,共同协商解决。
7. 总结
7.1 项目文档的质量如何提高
由项目编写者编写后,负责人进一步审核,之后公布于组内共同再次审核。
7.2 对于人的领导和管理,有什么具体可以改进的地方
加强对组内人员的监督和管理,更加实时透明化组员工作进度,形成一种鞭策效应。