提问回顾与个人总结

提问回顾与个人总结

项目 内容
这个作业属于那个课程 班级博客
这个作业的要求在哪里 作业要求
我在这个课程的目标是 学习软件工程相关知识,锻炼软件开发能力。
这个作业在哪个具体方面帮我实现目标 回顾、反思、总结
作业正文 作业正文

1.第一次作业链接

第一次博客作业

2.对以前疑问的解答

关于第四章结对编程的疑问

在目前的网络授课环境下,结对编程的沟通成本更高了,会不会导致效率下降?在初学入门与空间隔离的条件下,如何保证结对编程的效率呢?

​ 在结对编程和团队编程中,在任务规划分配好之后,大家通过腾讯会议交流的效率还是很高的。当然也碰到过不愿意交流的同学,这种情况,好像也没什么办法。

关于第六章敏捷编流程的疑问

6.2节中对敏捷流程各部分会碰到的问题做了总结。但似乎并没有给出部分问题的解法。若团队成员基本都是初见软件工程,一个最直观的问题是:在之后的团队流程中,如何得到各个流程的量化评价?

注意到书中链接10提供了Scrum视频培训,但限于时间因素,还没来得及全部观看。

(注:阅读后续章节发现有部分解释,但仍偏理论,并且也并未给出具体量化)

在实际的敏捷流程中,我们通过详细制定团队贡献分说明来进行量化评价,最后的效果也还不错,比较好的对各个成员的贡献做出了评价。

关于第9章项目经理的疑问

PM做开发和测试之外的所有事情。

书中对PM的职责进行了详细的描述,并对如何做好PM给出了一定的建议。但实际情况下,初入门的PM是否真的能完成这么多的职责?这个职位在课设中是否真的有意义,而不是沦为一个挂名职位呢?另外,作为组内程序员,在出现问题甚至矛盾时,如何配合PM完成各项工作?

以本团队PM为例,我认为他很好的完成的PM的各项任务,督促并带领团队实现了alpha/beta阶段。因此前两个问题得到了解答。

关于第三个问题,实际开发过程比较顺利,并没有出现矛盾。至于出现的问题,尽可能在自己时间、能力范围内对其进行解决。

3.产生的新问题

​ 课程中的团队在开发过程中,由于诸多因素的影响(当然主要是其他课程的任务),对于一些知识(比如代码开发的pr流程等等),可能不愿再投入时间、精力成本。

​ 我能理解课程团队对于软件工程课程的设计,博客作业也都是配套且必须的,删去某一篇都会让流程不够完整。但是对于2学分的课程来说,任务量确实有些多。室友选择的另外一个老师的软工课,我没记错应该五月中旬才开始正式开发。不同老师课程之间的任务量差距相差较大,每个班级的平均分数最后应该也差不多。

​ 当然课程整体对我来说也有很多启发,我通过课程也了解了软件工程和前后端开发的许多知识。

4.软件工程中学到的知识点

  1. 需求

    基于NABCD分析了解用户痛点。

  2. 设计

    通过技术规格与功能规格设计对软件进行基本约束,通过NABCD分析在不同阶段对其进行修改、补全与实现。

  3. 实现

    django restful 后端开发以及前端基于bootstrap/jquery/restful api的开发。

  4. 测试

    python自动化测试工具,在pr之前应当通过回归测试。

  5. 发布

    整个发布流程以及针对用户的宣传步骤。

  6. 维护

    服务器部署相关知识,根据用户反馈维护软件并修改可能存在的bug。

5.个人理解与心得

个人项目

​ 个人项目是交点求解程序,主要是为了让同学们熟悉个人开发流程,让同学们对软件工程有一个基本的认识。

结对项目

​ 结对项目是我对合作的首次尝试,实际实现中,由于疫情影响并没有完全按照课程所要求的领航员、驾驶员模式,而是对GUI和核心代码进行分工,比较快速的进行实现。

团队项目

​ 团队项目比较完整的体验了软件工程的各个阶段,由于alpha阶段缺乏人手,因此不得已将项目网站的技术栈都了解了一遍,从前端到后端开发,到项目部署的各个细节,都比较清楚。现在再去回顾,alpha阶段主要是对往届代码的理解以及对团队工作流程的熟悉,效率较低,整体实现的功能较少,beta阶段在熟悉了工作流程后,在较为细致的分工下,团队开发的效率高了不少。

posted @ 2020-06-12 12:10  PandapanQAQ  阅读(138)  评论(6编辑  收藏  举报