提问回顾以及个人总结
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2020春季计算机学院软件工程(罗杰 任健) |
这个作业的要求在哪里 | 提问回顾与个人总结 |
我在这个课程的目标是 | 学习软件开发的过程,团队之间的写作 |
这个作业在那个具体方面帮我实现目标 | 解答开始时提出的问题,进行个人总结 |
作业正文 | 如下 |
一、第一次作业提问链接
软件工程个人博客作业
二、问题解答
为什么所有的单元测试中都要再额外生成一个测试模块?
从团队项目的开发过程可以明白测试模块的重要性,测试模块可以实现测试的自动化,并且可以将测试数据保留下来,以便在将来对程序进行扩展后,可以进行回归测试。
结对编程的合作模式
我从结对编程中更加了解了关于结对编程的合作模式,关于整体的架构,应该在最初时两人就设计好,在该架构下进行驾驶员和领航员的角色互换。此外,由于两人共同编写代码,所以每一行代码应该由2人共同讨论后得出,故不会出现互换角色读不懂对方代码的情况。
用户需求是否该全部实现
从团队项目的开发中我了解了这些关于用户需求的问题。我认为用户需求首先应该分析实现的可能性,应该尽可能的实现用户需求。并且我发现一般提大量需求的用户大多都对产品的研发有一定经验,所以提出的需求大多都是可以实现的。
创新者都是一马当先?
这个问题我还是无法回答,但我认为应当坚持在某一领域内不断进行研究,才能在领域内有所突破。
要成为领域的专家,才能创新?
该问题我同样无法回答,但我相信如果能创新,则一定可以称得上为领域内的专家。
三、学到的知识点
需求
软件开发前期的需求分析是至关重要的,在前期做好需求分析,可以使开发具有目的性,就不会产生“不知道下一步该做什么”的问题。
设计
在设计方面不仅仅是功能的实现,还包括整体架构、UI设计、界面统一等等。我们小组在进行项目开发时整体架构设计的很好,将功能进行模块化分割,使得开发和整合格外简单。但没有做好UI的设计,使得我们在beta阶段进行了大量UI的优化和统一。
实现
实现过程要进行团队合作,成员之间多交流。比如每日例会,可以分享一些自己学到的东西,或者和其他组员一起探讨一下遇到的问题,这样可以大大提高开发的效率。
测试
测试不仅有功能的测试,还需要进行适配。比如对于我们的APP,不同的android版本,不同的手机型号都可能会对软件或UI产生影响。这些都应当在测试过程中发现并进行改进。
发布
要事先想好发布的形式、发布的平台,对不同的平台进行调研,是否需要申请开发者账号、专利证书等。如果开发完成后再进行这些工作,会耽误很长时间。
维护
在发布后要不断对软件进行维护,因为会不断的有新用户增添新的需求,要保证软件进行更新后不会出现新的问题,同时也要保证原有功能的正确性。
四、个人理解与心得
软件开发是一个十分漫长且艰苦的过程,但是当软件开发完成后,看着有用户使用我所开发的软件,获得的成就感也是无与伦比的。
在团队项目开发过程中,我学会了团队开发的合作模式,明白了如何能够让我们的团队更加高效的完成任务,同时我明白了沟通是解决问题的最好方法。此外我也学会了一些软件开发的工程能力,比如代码管理、模块测试、Android相关的一些知识,这些都对我后续进行软件开发有着巨大帮助。
最后感谢老师与助教一学期的教导与指点,感谢我的结对伙伴与团队项目伙伴的帮助。