首页 > 技术文章 > BUAA-软件工程-个人总结与心得

monokuma 原文

提问回顾以及个人总结

项目 内容
这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健)
这个作业的要求在哪里 提问回顾与个人总结
我在这个课程的目标是 学习软件开发的过程,团队之间的写作
这个作业在那个具体方面帮我实现目标 解答开始时提出的问题,进行个人总结
作业正文 如下

一、第一次作业提问链接

软件工程个人博客作业

二、问题解答

为什么所有的单元测试中都要再额外生成一个测试模块?

从团队项目的开发过程可以明白测试模块的重要性,测试模块可以实现测试的自动化,并且可以将测试数据保留下来,以便在将来对程序进行扩展后,可以进行回归测试。

结对编程的合作模式

我从结对编程中更加了解了关于结对编程的合作模式,关于整体的架构,应该在最初时两人就设计好,在该架构下进行驾驶员和领航员的角色互换。此外,由于两人共同编写代码,所以每一行代码应该由2人共同讨论后得出,故不会出现互换角色读不懂对方代码的情况。

用户需求是否该全部实现

从团队项目的开发中我了解了这些关于用户需求的问题。我认为用户需求首先应该分析实现的可能性,应该尽可能的实现用户需求。并且我发现一般提大量需求的用户大多都对产品的研发有一定经验,所以提出的需求大多都是可以实现的。

创新者都是一马当先?

这个问题我还是无法回答,但我认为应当坚持在某一领域内不断进行研究,才能在领域内有所突破。

要成为领域的专家,才能创新?

该问题我同样无法回答,但我相信如果能创新,则一定可以称得上为领域内的专家。

三、学到的知识点

需求

软件开发前期的需求分析是至关重要的,在前期做好需求分析,可以使开发具有目的性,就不会产生“不知道下一步该做什么”的问题。

设计

在设计方面不仅仅是功能的实现,还包括整体架构、UI设计、界面统一等等。我们小组在进行项目开发时整体架构设计的很好,将功能进行模块化分割,使得开发和整合格外简单。但没有做好UI的设计,使得我们在beta阶段进行了大量UI的优化和统一。

实现

实现过程要进行团队合作,成员之间多交流。比如每日例会,可以分享一些自己学到的东西,或者和其他组员一起探讨一下遇到的问题,这样可以大大提高开发的效率。

测试

测试不仅有功能的测试,还需要进行适配。比如对于我们的APP,不同的android版本,不同的手机型号都可能会对软件或UI产生影响。这些都应当在测试过程中发现并进行改进。

发布

要事先想好发布的形式、发布的平台,对不同的平台进行调研,是否需要申请开发者账号、专利证书等。如果开发完成后再进行这些工作,会耽误很长时间。

维护

在发布后要不断对软件进行维护,因为会不断的有新用户增添新的需求,要保证软件进行更新后不会出现新的问题,同时也要保证原有功能的正确性。

四、个人理解与心得

软件开发是一个十分漫长且艰苦的过程,但是当软件开发完成后,看着有用户使用我所开发的软件,获得的成就感也是无与伦比的。

在团队项目开发过程中,我学会了团队开发的合作模式,明白了如何能够让我们的团队更加高效的完成任务,同时我明白了沟通是解决问题的最好方法。此外我也学会了一些软件开发的工程能力,比如代码管理、模块测试、Android相关的一些知识,这些都对我后续进行软件开发有着巨大帮助。

最后感谢老师与助教一学期的教导与指点,感谢我的结对伙伴与团队项目伙伴的帮助。

推荐阅读