作为软件工程专业的一员,我觉得自己并没有学习到太多跟专业有关的知识,甚至不是很清楚的了解“软件工程”这一词的意思,每逢家中的长辈问学的什么专业,我都需要用很白化的词语解释,就是开发游戏的软件,纯属敷衍了事。因为本人自己也不太清楚。
本学期有一门课程叫——软件测试,可此课程居然有两本教材,后经老师介绍后,才知道《构建之法——现在软件工程》这本书由我们自己去阅读。起初由于无聊,我把《构建之法——现在软件工程》这本书拿出来看,没想到根本停不下来,它把软件开发方法讲得清晰有趣,书中还遇用许多故事来解释某些不易被理解的专业用语。总之,相见恨晚。
《构建之法——现在软件工程》从基本概念到职业规划,从瀑布模型到敏捷开发,从软件测试到质量保证,从代码规范到用户体验,只要是软件开发会涉及的方面,这本书都涉及了绝对的一站式体验,充分强调“人”在软件开发中起到的作用。这本书介绍了软件工程师的成长,代码规范,团队和流程,敏捷流程,需求分析,项目经理,用户体验,软件测试,IT行业的创新,软件设计与实现等,让我们全面了解软件工程的专业知识,每一章节后面还有练习与讨论,让我们能更加熟练的记住这些知识。文章中还会出现一些问题,然后下面会有一些软件工程师的回答,他们的回答都非常有趣,让原本枯燥的词汇变得生动有趣。
开头,我不是说过自己不懂软件工程是什么?这本书就很清楚的解释了。软件工程是把系统的,有序的,可量化的方法应用到软件开发,运营和维护上的过程。软件工程包括下列的领域:软件需求分析,软件设计,软件构建,软件测试和软件维护。软件工程还和大量的学科相关:计算机科学,计算机工程,管理学,数学,项目管理学,质量管理,软件人体工学,系统工程,工业设计和用户界面设计。瞬间觉得自己的专业高大上,能掌握得好,前途一片光明。
分享我在《构建之法——现在软件工程》中看到的一个例子,“小强”大扫荡,皱老师用小强大扫荡来解释Bug Bash。就是一般是安排出一段时间,这段时间里所有测试人员都放下手里的事情,专心找某种类型的小强。然后结束时,统计并奖励找到最多和最厉害的小强的员工。做这种活动,如果运用得当,会带来这样的功效:鼓励大家做探索性的测试,开阔思路,鼓励测试队伍学习并应用新的测试方法。
问题:什么是虚函数?
想做软件经理要有哪些技能?
设计负载是什么意思?
团队模式和团队的开发模式有什么关系?
IT行业创新指哪些方面?
如何定义软件的质量?
`