读《现代软件工程——构建之法》有感
通过第一节课对软件工程这门学科有了初步认识之后,结合老师安排的内容完成这一次的博客内容。
首先说一下通过读《现代软件工程——构建之法》之后我的一些感触,之前在上王治和老师的《数据结构》这门课程的时候老师提到过“人文情怀”这个词,在读这本书的时候我觉得《构建之法》这本书就可以用“人文情怀”这个词来形容,首先作者邹欣在前言部分对一些配合过他、帮助过他、鼓励过他的老师及同学们提出了感谢并且讲到了这本书的版本内容的改进与完善,具有很好的架构,而且这本书不同于我们之前学习过的专业课本,没有大篇幅的讲解一些晦涩难懂的专业概念,而是用一些通俗的语言以及幽默生动的人物对话的方式来讲解相关内容,非常的有代入感,在读的过程中不会让我感到枯燥乏味,而是乐于继续来欣赏这本书。由于时间的原因我在对本书前两章的内容进行了细致的阅读,第三章到第十七章的内容进行了大致的浏览后,找到了5个准备从课程学习中找到答案的问题 :
(1)作为一个缺乏软件开发经验的学生,如何在一学期的有限时间的学习中能够提升和完善自己(是更注重于概念知识的掌握理解还是项目的实践)?
(2)在第二章“个人技术和流程”中提到为了让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能够得到稳定的、量化的保证,我们采用单元测试的方法,但是怎么样才能写好一个单元测试呢?或者说因为我们在之前的学习和程序的编写中没有涉及到类似于这样的程序,怎么样来写一个单元测试呢?
(3)在第五章“团队和流程”的学习中,我想如果作为一个团队的带头人,在书中给出的那么多的团队模式(例如主治医师模式、明星模式、社区模式)中,什么样的团队模式能够更好的发挥自己团队成员的优势和增强团队凝聚力以及如果团队中有成员没有按时完成自己的任务,要通过什么样的方法来弥补和按时来完成这个项目。
(4)在第十章“典型用户和场景”以及第十二章“用户体验”中怎么样来定义用户?如果将所有可能使用该软件的用户都考虑其中,那么什么样的软件才能满足所有用户的需求?还是说我们只需要分析重点用户的需求及想法,那么从典型用户到场景的分析中我们怎么能准确地找到所有的可能场景?
(5)在第十六章“IT行业的创新”中作者说到,阿基米德通过在洗浴城里泡澡发现了浮力定律,牛顿被一颗苹果偶然砸到头上而揭示了万有引力等理论,而阿基米德和牛顿的成功是在有深厚的相关领域基础的前提下并经过长时间的思考提出的,作为当代大学生,我们或许没有那么深厚的文化积累,难道我们就不具备创新的能力么?而且,现在提出的“大众创业,万众创新”的口号中我们究竟怎么做才是能在响应社会发展的同时又不盲目跟风?我们在有一个自己的创新想法时要怎么才能验证自己想法的可行性以及将这一想法付诸实践。
在之后的学习中会更加认真的分析本书中的内容、完成好自己的学习任务并结合实践操作,不断提高自己的专业技能和实践能力提出自己的反思。