自从读了《构建之法》这本书后,让我感触良多。首先作为一名软件工程专业的学员我并不大了解什么是软件工程的真正含义,在我看来”计算机科学与技术“、”软件工程“之类的学科应该多是关于计算机编程相关的专业,毕业后就业的方向好像也大同小异。但通过对《构建之法》的全文通读我了解到了计算机科学与软件工程的侧重点是不一样的计算机科学研究长期的、客观真理,而软件工程则侧重于短期的实际结果。
对于软件相关专业的我们来说,学习了很多的专业课程,像算法,数据结构,编译原理,软件工程等。很多学生都会有这样的疑问:我学了这么多的课程有什么用呢?在工作中有多少会真正被应用到呢?也就是说,大家都觉得理论和实践之间有着不可逾越的鸿沟。邹欣老师的《构建之法:现代软件工程》一书很好地,并且巧妙的将理论和实践结合了起来。
整本书主要介绍了软件测试、软件工程师的成长、编写代码的规范、团队合作开发软件的重要性、还有开发软件项目的总体流程、IT的发展创新等等,使得整本书的内容丰富多彩,不会像一般的软件工程书那样,千篇一律,太生硬呆板,而这本书的内容给读者一种欢快的阅读体会,能让人更加的快速去接受里面的内容,并吸收为自己所用;并且里面的内容都举例生活中的例子,使人看上去更加的了解其实软件工程就在我们的身边。
软件工程牵涉的范围广泛,对于即将投身IT行业的学生而言,软件工程的内容又非常重要。但是,大学生们普遍反映软件工程的课程比较空洞,乏味。一个很重要的原因是教材知识干巴巴地讲述理论和原则。看了这本《构建之法:现代软件工程》,感觉对于软件工程这门课程不再那么的空洞,作者把软件开发方法讲得清晰有趣实用,对于许多对软件开发有兴趣的同学,又燃起了更大的兴趣与热情。不再是软件工程所讨论的代码量巨大,涉及人数众多,项目需求多变,抛开软件工程也能完成,甚至更快捷。绝大部分软件都是由多人合作完成的,大家的工作相互有依赖关系。软件的很多错误是来源于程序员对模块功能的误解,疏忽或者不了解模块的变化。单元测试就是一个有效的解决方案。软件开发流程不只是团队的流程,还包括个人开发流程。在软件工程的语境里,“敏捷流程”是一系列价值观和方法论的集合。从2001年开始,一些软件界的专家开始倡导“敏捷”的价值观和流程。人们为了解决现实社会和生活中的各种问题,要求助于软件。软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,不同的项目需要不同的手段。《构建之法:现代软件工程》是理论和实践相结合。讲现代理论,同时讲体现理论的工具。
我认为与绝大部分介绍软件工程或者项目管理的书籍非常不同的一点,就是邹老师非常强调“人”在软件开发中起到的作用。在上这门软件工程时,我们抱怨作业比别的课程多,还要写博客,但我们应该“风物长宜放眼量”,在以后的工作岗位上,我们就会感谢当时从课程中的获益。
问题:
1.怎么才能算一个好的单元测试?
2.软件开发的质量是如何衡量的?
3.如何获取用户需求?
4.什么时候适合选择敏捷,敏捷的方法论到底是什么?
5.如果我以后要做软件测试这块,从现在起我最主要的是掌握那些方面的内容。