提问回顾与个人总结

时间:2020-06-17 16:15:50   收藏:0   阅读:51

问题回顾

问题一:单元测试是否只能由程序的作者进行编写?

问题二:只要助于程序逻辑的清晰体现,什么方法都可以使用,包括goto?

问题三:关于结对编程方式的疑惑

问题四:关于程序员和项目经理的交流

问题五:作为软件开发公司如何平衡所谓的bug与改进空间

产生的新问题

学习到的知识点

需求

以前我认为需求分析只是一个很简单的步骤,但学完本课程并在团队项目中实践后,我认识到软件需求分析是整个项目中至关重要的一环。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础,其实很多项目的失败,最后都可以归结到需求分析的失败。在我们的社团项目中,我们主要与社联的人员进行交流,充分了解了他们的需求后才开始设计。在具体实践中,可以采用NABCD的需求分析法。

设计

设计是软件开发的基础,也直接决定了项目代码的质量。在设计阶段需要考虑使用什么框架,团队成员对于不同框架的学习成本等诸多问题。同时,功能规格文档,技术文档,代码规范文档也是必不可少的。有了规范的设计文档,在项目实际进展时才能做到有条不紊,随着项目规模的不断增大,这一方面也显得越发重要。

实现

首先,良好的分工是项目正常实现的基础。我们团队将主要工作划分为前端和后端两部分,每个人负责某一具体的功能。其次,良好的沟通是项目实现的催化剂,会使得工作变得更加容易,我们团队会在每天一次的例会上交流个人进展,遇到困难也可以互相讨论帮助。我个人在团队项目中主要负责前端代码的编写,学习了react.js框架,并熟悉了antd组件库的使用,对网页端代码的编写实现有了更为深入的理解。

测试

在开发的过程中,每个开发人员都需要编写自己负责部分的单元测试,优秀的测试可以及时发现程序中的问题,让程序在发布之前尽可能多的去除bug,使产品的稳定性,实用性,可靠性都得到提高。除此之外,随着项目规模的增大,仅靠人工测试已经不足以满足要求,学习使用一些成熟的测试工具也是必不可少的。

发布

发布阶段体会到的至关重要的一点就是一定要提前了解相关平台的规则并预留出足够的时间以保证发布阶段的顺利进行,且发布阶段的工作不仅仅是简单的上传代码,对产品进行适当的宣传推广也很重要,要尽可能让更多人使用我们的产品,这有助于收集用户反馈,对后续的版本进行更好的维护。

维护

产品发布并不是软件工程的终点,对产品持久的维护与优化也是必不可少的,这是决定产品寿命的关键。在维护阶段,一方面要根据收集到的用户反馈进行针对性优化,修复bug并完善相关功能。另一方面,维护工作不应该总是被动地等待用户提出要求后才进行,应进行主动的预防性维护,不断提高测试的质量,重点关注未来将要发生变化或调整的部分,通过预防性维护为未来的修改与调整奠定更好的基础。

理解和心得

一学期的软工课已经到了尾声,感觉收获还是很多的,主要有以下几点:

我相信在软工课上学到的知识今后能够得到进一步的实践,成为一份宝贵的财富。

原文:https://www.cnblogs.com/KSMLighter/p/13152753.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!