构建之法读后感
最近十多年来软件产业和互联网产业的迅猛发展,给众多的计算机和软件专业的学生们提供了用武之地,同时也对大学软件工程的教育提出了挑战。而软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的。在在这本书前,我对软件工程的认识仅仅局限于软件 = 程序 + 软件工程。此前写软件或者说程序,就只是写程序,最多会考虑到数据结构的知识,很少会用到软件工程,但是随着学习的深入,代码量的累积,如果还是和以 前一样只是关心程序只要是可用的,实际可运行的,那么就没有意义了,这样的程序写出来也是没有价值的,首先,软件工程不仅仅就只是涉及到计算机或者软件方 面的知识,相反,软件工程涉及了很对其他学科的知识,比如:管理学、数学、工业设计等等学科,一个合格的软件开发人员如果只是懂得怎样去写程序,那么嗨仅 仅只是初级阶段,更高级的应该是从一个更加高级的层面上去考虑更多的东西,如整个软件的架构。软件工程的目标是生产具有正确性、可用性以及开销合宜的产品。软件工程过程是生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程并不只是一个简单的开发项目的过程。其主要包括开发过程、运作过程、维护过程。而它们又覆盖了需求、设计、实现、确认以及维护等活动。
翻阅着《构建之法》,加深了曾经对对软件工程的了解,也明白了单元测试和回归测试对软件开发的重要性。在软件开发的过程中, 一个团队是需要一定的流程来管理开发活动,每个工程师在软件生命周期所做的工作也应该有一个流程,所以个人软件开发流程也是极其重要的。每个工程师在成长的道路上都是辛苦的,但是付出越多回报自然也就越多,要想成为一个初级的软件工程师,就要积累多一点与软件开发相关的知识,提升自己的能力并且要积累问题领域的知识和经验等等。
而从这本书中,我还了解到了在完成项目的过程中,一个好的团队和一个好的合作伙伴也是极其重要的,如果你想要开发一个大的并且好的软件,单单靠你自己是不行的,这时我们就需要一个好的团队或者伙伴和我们一起完成任务,我认为一个好的并且适合我们自己的合作伙伴必须是一个和我们自己实力相当的、并且我们之间有默契的伙伴。
但我仍有以下问题,希望在未来的学习生涯中获得解答:
1.做软件都要做一个需求分析,那么应该怎么样去了解到大众真正的需求呢?
2.第四章说到,合作都有可能走到解体阶段,这种情况可以避免吗?
3.第五章介绍了这么多种的团队模式,哪种模式会比较适合于大多数的团队呢?
4.团队合作模式和开发流程的关系密切?两者能否脱离?
5.在单元测试中,一定要要求代码覆盖率达到100%吗?